From f9625fd38082d8a12cde3fcaad6e369677b0c12d Mon Sep 17 00:00:00 2001 From: Nikola Hristov Date: Tue, 23 Jul 2024 08:33:19 +0300 Subject: [PATCH 001/112] --- Target/{manifest_Bx1J8SJr.mjs.map => manifest_DX8lLGcN.mjs.map} | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) rename Target/{manifest_Bx1J8SJr.mjs.map => manifest_DX8lLGcN.mjs.map} (99%) diff --git a/Target/manifest_Bx1J8SJr.mjs.map b/Target/manifest_DX8lLGcN.mjs.map similarity index 99% rename from Target/manifest_Bx1J8SJr.mjs.map rename to Target/manifest_DX8lLGcN.mjs.map index ccee9dbc..c5527978 100644 --- a/Target/manifest_Bx1J8SJr.mjs.map +++ b/Target/manifest_DX8lLGcN.mjs.map @@ -1 +1 @@ -{"version":3,"file":"manifest_Bx1J8SJr.mjs","sources":["../../../../../node_modules/astro/dist/core/logger/core.js","../../../../../node_modules/astro/dist/core/routing/manifest/generator.js","../../../../../node_modules/astro/dist/core/routing/manifest/serialization.js","../../../../../node_modules/astro/dist/core/app/common.js"],"sourcesContent":["import { blue, bold, dim, red, yellow } from \"kleur/colors\";\nimport stringWidth from \"string-width\";\nconst dateTimeFormat = new Intl.DateTimeFormat([], {\n hour: \"2-digit\",\n minute: \"2-digit\",\n second: \"2-digit\",\n hour12: false\n});\nconst levels = {\n debug: 20,\n info: 30,\n warn: 40,\n error: 50,\n silent: 90\n};\nfunction log(opts, level, label, message, newLine = true) {\n const logLevel = opts.level;\n const dest = opts.dest;\n const event = {\n label,\n level,\n message,\n newLine\n };\n if (!isLogLevelEnabled(logLevel, level)) {\n return;\n }\n dest.write(event);\n}\nfunction isLogLevelEnabled(configuredLogLevel, level) {\n return levels[configuredLogLevel] <= levels[level];\n}\nfunction info(opts, label, message, newLine = true) {\n return log(opts, \"info\", label, message, newLine);\n}\nfunction warn(opts, label, message, newLine = true) {\n return log(opts, \"warn\", label, message, newLine);\n}\nfunction error(opts, label, message, newLine = true) {\n return log(opts, \"error\", label, message, newLine);\n}\nfunction table(opts, columns) {\n return function logTable(logFn, ...input) {\n const message = columns.map((len, i) => padStr(input[i].toString(), len)).join(\" \");\n logFn(opts, null, message);\n };\n}\nfunction debug(...args) {\n if (\"_astroGlobalDebug\" in globalThis) {\n globalThis._astroGlobalDebug(...args);\n }\n}\nfunction padStr(str, len) {\n const strLen = stringWidth(str);\n if (strLen > len) {\n return str.substring(0, len - 3) + \"...\";\n }\n const spaces = Array.from({ length: len - strLen }, () => \" \").join(\"\");\n return str + spaces;\n}\nfunction getEventPrefix({ level, label }) {\n const timestamp = `${dateTimeFormat.format(/* @__PURE__ */ new Date())}`;\n const prefix = [];\n if (level === \"error\" || level === \"warn\") {\n prefix.push(bold(timestamp));\n prefix.push(`[${level.toUpperCase()}]`);\n } else {\n prefix.push(timestamp);\n }\n if (label) {\n prefix.push(`[${label}]`);\n }\n if (level === \"error\") {\n return red(prefix.join(\" \"));\n }\n if (level === \"warn\") {\n return yellow(prefix.join(\" \"));\n }\n if (prefix.length === 1) {\n return dim(prefix[0]);\n }\n return dim(prefix[0]) + \" \" + blue(prefix.splice(1).join(\" \"));\n}\nlet defaultLogLevel;\nif (typeof process !== \"undefined\") {\n let proc = process;\n if (\"argv\" in proc && Array.isArray(proc.argv)) {\n if (proc.argv.includes(\"--verbose\")) {\n defaultLogLevel = \"debug\";\n } else if (proc.argv.includes(\"--silent\")) {\n defaultLogLevel = \"silent\";\n } else {\n defaultLogLevel = \"info\";\n }\n } else {\n defaultLogLevel = \"info\";\n }\n} else {\n defaultLogLevel = \"info\";\n}\nfunction timerMessage(message, startTime = Date.now()) {\n let timeDiff = Date.now() - startTime;\n let timeDisplay = timeDiff < 750 ? `${Math.round(timeDiff)}ms` : `${(timeDiff / 1e3).toFixed(1)}s`;\n return `${message} ${dim(timeDisplay)}`;\n}\nclass Logger {\n options;\n constructor(options) {\n this.options = options;\n }\n info(label, message, newLine = true) {\n info(this.options, label, message, newLine);\n }\n warn(label, message, newLine = true) {\n warn(this.options, label, message, newLine);\n }\n error(label, message, newLine = true) {\n error(this.options, label, message, newLine);\n }\n debug(label, ...messages) {\n debug(label, ...messages);\n }\n level() {\n return this.options.level;\n }\n forkIntegrationLogger(label) {\n return new AstroIntegrationLogger(this.options, label);\n }\n}\nclass AstroIntegrationLogger {\n options;\n label;\n constructor(logging, label) {\n this.options = logging;\n this.label = label;\n }\n /**\n * Creates a new logger instance with a new label, but the same log options.\n */\n fork(label) {\n return new AstroIntegrationLogger(this.options, label);\n }\n info(message) {\n info(this.options, this.label, message);\n }\n warn(message) {\n warn(this.options, this.label, message);\n }\n error(message) {\n error(this.options, this.label, message);\n }\n debug(message) {\n debug(this.label, message);\n }\n}\nexport {\n AstroIntegrationLogger,\n Logger,\n dateTimeFormat,\n debug,\n defaultLogLevel,\n error,\n getEventPrefix,\n info,\n isLogLevelEnabled,\n levels,\n log,\n table,\n timerMessage,\n warn\n};\n","import { compile } from \"path-to-regexp\";\nfunction sanitizeParams(params) {\n return Object.fromEntries(\n Object.entries(params).map(([key, value]) => {\n if (typeof value === \"string\") {\n return [key, value.normalize().replace(/#/g, \"%23\").replace(/\\?/g, \"%3F\")];\n }\n return [key, value];\n })\n );\n}\nfunction getRouteGenerator(segments, addTrailingSlash) {\n const template = segments.map((segment) => {\n return \"/\" + segment.map((part) => {\n if (part.spread) {\n return `:${part.content.slice(3)}(.*)?`;\n } else if (part.dynamic) {\n return `:${part.content}`;\n } else {\n return part.content.normalize().replace(/\\?/g, \"%3F\").replace(/#/g, \"%23\").replace(/%5B/g, \"[\").replace(/%5D/g, \"]\").replace(/[.*+?^${}()|[\\]\\\\]/g, \"\\\\$&\");\n }\n }).join(\"\");\n }).join(\"\");\n let trailing = \"\";\n if (addTrailingSlash === \"always\" && segments.length) {\n trailing = \"/\";\n }\n const toPath = compile(template + trailing);\n return (params) => {\n const sanitizedParams = sanitizeParams(params);\n const path = toPath(sanitizedParams);\n return path || \"/\";\n };\n}\nexport {\n getRouteGenerator\n};\n","import { getRouteGenerator } from \"./generator.js\";\nfunction serializeRouteData(routeData, trailingSlash) {\n return {\n ...routeData,\n generate: void 0,\n pattern: routeData.pattern.source,\n redirectRoute: routeData.redirectRoute ? serializeRouteData(routeData.redirectRoute, trailingSlash) : void 0,\n fallbackRoutes: routeData.fallbackRoutes.map((fallbackRoute) => {\n return serializeRouteData(fallbackRoute, trailingSlash);\n }),\n _meta: { trailingSlash }\n };\n}\nfunction deserializeRouteData(rawRouteData) {\n return {\n route: rawRouteData.route,\n type: rawRouteData.type,\n pattern: new RegExp(rawRouteData.pattern),\n params: rawRouteData.params,\n component: rawRouteData.component,\n generate: getRouteGenerator(rawRouteData.segments, rawRouteData._meta.trailingSlash),\n pathname: rawRouteData.pathname || void 0,\n segments: rawRouteData.segments,\n prerender: rawRouteData.prerender,\n redirect: rawRouteData.redirect,\n redirectRoute: rawRouteData.redirectRoute ? deserializeRouteData(rawRouteData.redirectRoute) : void 0,\n fallbackRoutes: rawRouteData.fallbackRoutes.map((fallback) => {\n return deserializeRouteData(fallback);\n }),\n isIndex: rawRouteData.isIndex\n };\n}\nexport {\n deserializeRouteData,\n serializeRouteData\n};\n","import { deserializeRouteData } from \"../routing/manifest/serialization.js\";\nfunction deserializeManifest(serializedManifest) {\n const routes = [];\n for (const serializedRoute of serializedManifest.routes) {\n routes.push({\n ...serializedRoute,\n routeData: deserializeRouteData(serializedRoute.routeData)\n });\n const route = serializedRoute;\n route.routeData = deserializeRouteData(serializedRoute.routeData);\n }\n const assets = new Set(serializedManifest.assets);\n const componentMetadata = new Map(serializedManifest.componentMetadata);\n const inlinedScripts = new Map(serializedManifest.inlinedScripts);\n const clientDirectives = new Map(serializedManifest.clientDirectives);\n const serverIslandNameMap = new Map(serializedManifest.serverIslandNameMap);\n return {\n // in case user middleware exists, this no-op middleware will be reassigned (see plugin-ssr.ts)\n middleware(_, next) {\n return next();\n },\n ...serializedManifest,\n assets,\n componentMetadata,\n inlinedScripts,\n clientDirectives,\n routes,\n serverIslandNameMap\n };\n}\nexport {\n deserializeManifest\n};\n"],"names":[],"mappings":"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","x_google_ignoreList":[0,1,2,3]} \ No newline at end of file +{"version":3,"file":"manifest_DX8lLGcN.mjs","sources":["../../../../../node_modules/astro/dist/core/logger/core.js","../../../../../node_modules/astro/dist/core/routing/manifest/generator.js","../../../../../node_modules/astro/dist/core/routing/manifest/serialization.js","../../../../../node_modules/astro/dist/core/app/common.js"],"sourcesContent":["import { blue, bold, dim, red, yellow } from \"kleur/colors\";\nimport stringWidth from \"string-width\";\nconst dateTimeFormat = new Intl.DateTimeFormat([], {\n hour: \"2-digit\",\n minute: \"2-digit\",\n second: \"2-digit\",\n hour12: false\n});\nconst levels = {\n debug: 20,\n info: 30,\n warn: 40,\n error: 50,\n silent: 90\n};\nfunction log(opts, level, label, message, newLine = true) {\n const logLevel = opts.level;\n const dest = opts.dest;\n const event = {\n label,\n level,\n message,\n newLine\n };\n if (!isLogLevelEnabled(logLevel, level)) {\n return;\n }\n dest.write(event);\n}\nfunction isLogLevelEnabled(configuredLogLevel, level) {\n return levels[configuredLogLevel] <= levels[level];\n}\nfunction info(opts, label, message, newLine = true) {\n return log(opts, \"info\", label, message, newLine);\n}\nfunction warn(opts, label, message, newLine = true) {\n return log(opts, \"warn\", label, message, newLine);\n}\nfunction error(opts, label, message, newLine = true) {\n return log(opts, \"error\", label, message, newLine);\n}\nfunction table(opts, columns) {\n return function logTable(logFn, ...input) {\n const message = columns.map((len, i) => padStr(input[i].toString(), len)).join(\" \");\n logFn(opts, null, message);\n };\n}\nfunction debug(...args) {\n if (\"_astroGlobalDebug\" in globalThis) {\n globalThis._astroGlobalDebug(...args);\n }\n}\nfunction padStr(str, len) {\n const strLen = stringWidth(str);\n if (strLen > len) {\n return str.substring(0, len - 3) + \"...\";\n }\n const spaces = Array.from({ length: len - strLen }, () => \" \").join(\"\");\n return str + spaces;\n}\nfunction getEventPrefix({ level, label }) {\n const timestamp = `${dateTimeFormat.format(/* @__PURE__ */ new Date())}`;\n const prefix = [];\n if (level === \"error\" || level === \"warn\") {\n prefix.push(bold(timestamp));\n prefix.push(`[${level.toUpperCase()}]`);\n } else {\n prefix.push(timestamp);\n }\n if (label) {\n prefix.push(`[${label}]`);\n }\n if (level === \"error\") {\n return red(prefix.join(\" \"));\n }\n if (level === \"warn\") {\n return yellow(prefix.join(\" \"));\n }\n if (prefix.length === 1) {\n return dim(prefix[0]);\n }\n return dim(prefix[0]) + \" \" + blue(prefix.splice(1).join(\" \"));\n}\nlet defaultLogLevel;\nif (typeof process !== \"undefined\") {\n let proc = process;\n if (\"argv\" in proc && Array.isArray(proc.argv)) {\n if (proc.argv.includes(\"--verbose\")) {\n defaultLogLevel = \"debug\";\n } else if (proc.argv.includes(\"--silent\")) {\n defaultLogLevel = \"silent\";\n } else {\n defaultLogLevel = \"info\";\n }\n } else {\n defaultLogLevel = \"info\";\n }\n} else {\n defaultLogLevel = \"info\";\n}\nfunction timerMessage(message, startTime = Date.now()) {\n let timeDiff = Date.now() - startTime;\n let timeDisplay = timeDiff < 750 ? `${Math.round(timeDiff)}ms` : `${(timeDiff / 1e3).toFixed(1)}s`;\n return `${message} ${dim(timeDisplay)}`;\n}\nclass Logger {\n options;\n constructor(options) {\n this.options = options;\n }\n info(label, message, newLine = true) {\n info(this.options, label, message, newLine);\n }\n warn(label, message, newLine = true) {\n warn(this.options, label, message, newLine);\n }\n error(label, message, newLine = true) {\n error(this.options, label, message, newLine);\n }\n debug(label, ...messages) {\n debug(label, ...messages);\n }\n level() {\n return this.options.level;\n }\n forkIntegrationLogger(label) {\n return new AstroIntegrationLogger(this.options, label);\n }\n}\nclass AstroIntegrationLogger {\n options;\n label;\n constructor(logging, label) {\n this.options = logging;\n this.label = label;\n }\n /**\n * Creates a new logger instance with a new label, but the same log options.\n */\n fork(label) {\n return new AstroIntegrationLogger(this.options, label);\n }\n info(message) {\n info(this.options, this.label, message);\n }\n warn(message) {\n warn(this.options, this.label, message);\n }\n error(message) {\n error(this.options, this.label, message);\n }\n debug(message) {\n debug(this.label, message);\n }\n}\nexport {\n AstroIntegrationLogger,\n Logger,\n dateTimeFormat,\n debug,\n defaultLogLevel,\n error,\n getEventPrefix,\n info,\n isLogLevelEnabled,\n levels,\n log,\n table,\n timerMessage,\n warn\n};\n","import { compile } from \"path-to-regexp\";\nfunction sanitizeParams(params) {\n return Object.fromEntries(\n Object.entries(params).map(([key, value]) => {\n if (typeof value === \"string\") {\n return [key, value.normalize().replace(/#/g, \"%23\").replace(/\\?/g, \"%3F\")];\n }\n return [key, value];\n })\n );\n}\nfunction getRouteGenerator(segments, addTrailingSlash) {\n const template = segments.map((segment) => {\n return \"/\" + segment.map((part) => {\n if (part.spread) {\n return `:${part.content.slice(3)}(.*)?`;\n } else if (part.dynamic) {\n return `:${part.content}`;\n } else {\n return part.content.normalize().replace(/\\?/g, \"%3F\").replace(/#/g, \"%23\").replace(/%5B/g, \"[\").replace(/%5D/g, \"]\").replace(/[.*+?^${}()|[\\]\\\\]/g, \"\\\\$&\");\n }\n }).join(\"\");\n }).join(\"\");\n let trailing = \"\";\n if (addTrailingSlash === \"always\" && segments.length) {\n trailing = \"/\";\n }\n const toPath = compile(template + trailing);\n return (params) => {\n const sanitizedParams = sanitizeParams(params);\n const path = toPath(sanitizedParams);\n return path || \"/\";\n };\n}\nexport {\n getRouteGenerator\n};\n","import { getRouteGenerator } from \"./generator.js\";\nfunction serializeRouteData(routeData, trailingSlash) {\n return {\n ...routeData,\n generate: void 0,\n pattern: routeData.pattern.source,\n redirectRoute: routeData.redirectRoute ? serializeRouteData(routeData.redirectRoute, trailingSlash) : void 0,\n fallbackRoutes: routeData.fallbackRoutes.map((fallbackRoute) => {\n return serializeRouteData(fallbackRoute, trailingSlash);\n }),\n _meta: { trailingSlash }\n };\n}\nfunction deserializeRouteData(rawRouteData) {\n return {\n route: rawRouteData.route,\n type: rawRouteData.type,\n pattern: new RegExp(rawRouteData.pattern),\n params: rawRouteData.params,\n component: rawRouteData.component,\n generate: getRouteGenerator(rawRouteData.segments, rawRouteData._meta.trailingSlash),\n pathname: rawRouteData.pathname || void 0,\n segments: rawRouteData.segments,\n prerender: rawRouteData.prerender,\n redirect: rawRouteData.redirect,\n redirectRoute: rawRouteData.redirectRoute ? deserializeRouteData(rawRouteData.redirectRoute) : void 0,\n fallbackRoutes: rawRouteData.fallbackRoutes.map((fallback) => {\n return deserializeRouteData(fallback);\n }),\n isIndex: rawRouteData.isIndex\n };\n}\nexport {\n deserializeRouteData,\n serializeRouteData\n};\n","import { deserializeRouteData } from \"../routing/manifest/serialization.js\";\nfunction deserializeManifest(serializedManifest) {\n const routes = [];\n for (const serializedRoute of serializedManifest.routes) {\n routes.push({\n ...serializedRoute,\n routeData: deserializeRouteData(serializedRoute.routeData)\n });\n const route = serializedRoute;\n route.routeData = deserializeRouteData(serializedRoute.routeData);\n }\n const assets = new Set(serializedManifest.assets);\n const componentMetadata = new Map(serializedManifest.componentMetadata);\n const inlinedScripts = new Map(serializedManifest.inlinedScripts);\n const clientDirectives = new Map(serializedManifest.clientDirectives);\n const serverIslandNameMap = new Map(serializedManifest.serverIslandNameMap);\n return {\n // in case user middleware exists, this no-op middleware will be reassigned (see plugin-ssr.ts)\n middleware(_, next) {\n return next();\n },\n ...serializedManifest,\n assets,\n componentMetadata,\n inlinedScripts,\n clientDirectives,\n routes,\n serverIslandNameMap\n };\n}\nexport {\n deserializeManifest\n};\n"],"names":[],"mappings":"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","x_google_ignoreList":[0,1,2,3]} \ No newline at end of file From d2ba257c2580ac5a0fd8a1d86ca8543c088c2927 Mon Sep 17 00:00:00 2001 From: Nikola Hristov Date: Tue, 23 Jul 2024 11:40:13 +0300 Subject: [PATCH 002/112] --- .../{manifest_DX8lLGcN.mjs.map => manifest_DSu_atzt.mjs.map} | 2 +- package.json | 4 +++- 2 files changed, 4 insertions(+), 2 deletions(-) rename Target/{manifest_DX8lLGcN.mjs.map => manifest_DSu_atzt.mjs.map} (99%) diff --git a/Target/manifest_DX8lLGcN.mjs.map b/Target/manifest_DSu_atzt.mjs.map similarity index 99% rename from Target/manifest_DX8lLGcN.mjs.map rename to Target/manifest_DSu_atzt.mjs.map index c5527978..c427a068 100644 --- a/Target/manifest_DX8lLGcN.mjs.map +++ b/Target/manifest_DSu_atzt.mjs.map @@ -1 +1 @@ -{"version":3,"file":"manifest_DX8lLGcN.mjs","sources":["../../../../../node_modules/astro/dist/core/logger/core.js","../../../../../node_modules/astro/dist/core/routing/manifest/generator.js","../../../../../node_modules/astro/dist/core/routing/manifest/serialization.js","../../../../../node_modules/astro/dist/core/app/common.js"],"sourcesContent":["import { blue, bold, dim, red, yellow } from \"kleur/colors\";\nimport stringWidth from \"string-width\";\nconst dateTimeFormat = new Intl.DateTimeFormat([], {\n hour: \"2-digit\",\n minute: \"2-digit\",\n second: \"2-digit\",\n hour12: false\n});\nconst levels = {\n debug: 20,\n info: 30,\n warn: 40,\n error: 50,\n silent: 90\n};\nfunction log(opts, level, label, message, newLine = true) {\n const logLevel = opts.level;\n const dest = opts.dest;\n const event = {\n label,\n level,\n message,\n newLine\n };\n if (!isLogLevelEnabled(logLevel, level)) {\n return;\n }\n dest.write(event);\n}\nfunction isLogLevelEnabled(configuredLogLevel, level) {\n return levels[configuredLogLevel] <= levels[level];\n}\nfunction info(opts, label, message, newLine = true) {\n return log(opts, \"info\", label, message, newLine);\n}\nfunction warn(opts, label, message, newLine = true) {\n return log(opts, \"warn\", label, message, newLine);\n}\nfunction error(opts, label, message, newLine = true) {\n return log(opts, \"error\", label, message, newLine);\n}\nfunction table(opts, columns) {\n return function logTable(logFn, ...input) {\n const message = columns.map((len, i) => padStr(input[i].toString(), len)).join(\" \");\n logFn(opts, null, message);\n };\n}\nfunction debug(...args) {\n if (\"_astroGlobalDebug\" in globalThis) {\n globalThis._astroGlobalDebug(...args);\n }\n}\nfunction padStr(str, len) {\n const strLen = stringWidth(str);\n if (strLen > len) {\n return str.substring(0, len - 3) + \"...\";\n }\n const spaces = Array.from({ length: len - strLen }, () => \" \").join(\"\");\n return str + spaces;\n}\nfunction getEventPrefix({ level, label }) {\n const timestamp = `${dateTimeFormat.format(/* @__PURE__ */ new Date())}`;\n const prefix = [];\n if (level === \"error\" || level === \"warn\") {\n prefix.push(bold(timestamp));\n prefix.push(`[${level.toUpperCase()}]`);\n } else {\n prefix.push(timestamp);\n }\n if (label) {\n prefix.push(`[${label}]`);\n }\n if (level === \"error\") {\n return red(prefix.join(\" \"));\n }\n if (level === \"warn\") {\n return yellow(prefix.join(\" \"));\n }\n if (prefix.length === 1) {\n return dim(prefix[0]);\n }\n return dim(prefix[0]) + \" \" + blue(prefix.splice(1).join(\" \"));\n}\nlet defaultLogLevel;\nif (typeof process !== \"undefined\") {\n let proc = process;\n if (\"argv\" in proc && Array.isArray(proc.argv)) {\n if (proc.argv.includes(\"--verbose\")) {\n defaultLogLevel = \"debug\";\n } else if (proc.argv.includes(\"--silent\")) {\n defaultLogLevel = \"silent\";\n } else {\n defaultLogLevel = \"info\";\n }\n } else {\n defaultLogLevel = \"info\";\n }\n} else {\n defaultLogLevel = \"info\";\n}\nfunction timerMessage(message, startTime = Date.now()) {\n let timeDiff = Date.now() - startTime;\n let timeDisplay = timeDiff < 750 ? `${Math.round(timeDiff)}ms` : `${(timeDiff / 1e3).toFixed(1)}s`;\n return `${message} ${dim(timeDisplay)}`;\n}\nclass Logger {\n options;\n constructor(options) {\n this.options = options;\n }\n info(label, message, newLine = true) {\n info(this.options, label, message, newLine);\n }\n warn(label, message, newLine = true) {\n warn(this.options, label, message, newLine);\n }\n error(label, message, newLine = true) {\n error(this.options, label, message, newLine);\n }\n debug(label, ...messages) {\n debug(label, ...messages);\n }\n level() {\n return this.options.level;\n }\n forkIntegrationLogger(label) {\n return new AstroIntegrationLogger(this.options, label);\n }\n}\nclass AstroIntegrationLogger {\n options;\n label;\n constructor(logging, label) {\n this.options = logging;\n this.label = label;\n }\n /**\n * Creates a new logger instance with a new label, but the same log options.\n */\n fork(label) {\n return new AstroIntegrationLogger(this.options, label);\n }\n info(message) {\n info(this.options, this.label, message);\n }\n warn(message) {\n warn(this.options, this.label, message);\n }\n error(message) {\n error(this.options, this.label, message);\n }\n debug(message) {\n debug(this.label, message);\n }\n}\nexport {\n AstroIntegrationLogger,\n Logger,\n dateTimeFormat,\n debug,\n defaultLogLevel,\n error,\n getEventPrefix,\n info,\n isLogLevelEnabled,\n levels,\n log,\n table,\n timerMessage,\n warn\n};\n","import { compile } from \"path-to-regexp\";\nfunction sanitizeParams(params) {\n return Object.fromEntries(\n Object.entries(params).map(([key, value]) => {\n if (typeof value === \"string\") {\n return [key, value.normalize().replace(/#/g, \"%23\").replace(/\\?/g, \"%3F\")];\n }\n return [key, value];\n })\n );\n}\nfunction getRouteGenerator(segments, addTrailingSlash) {\n const template = segments.map((segment) => {\n return \"/\" + segment.map((part) => {\n if (part.spread) {\n return `:${part.content.slice(3)}(.*)?`;\n } else if (part.dynamic) {\n return `:${part.content}`;\n } else {\n return part.content.normalize().replace(/\\?/g, \"%3F\").replace(/#/g, \"%23\").replace(/%5B/g, \"[\").replace(/%5D/g, \"]\").replace(/[.*+?^${}()|[\\]\\\\]/g, \"\\\\$&\");\n }\n }).join(\"\");\n }).join(\"\");\n let trailing = \"\";\n if (addTrailingSlash === \"always\" && segments.length) {\n trailing = \"/\";\n }\n const toPath = compile(template + trailing);\n return (params) => {\n const sanitizedParams = sanitizeParams(params);\n const path = toPath(sanitizedParams);\n return path || \"/\";\n };\n}\nexport {\n getRouteGenerator\n};\n","import { getRouteGenerator } from \"./generator.js\";\nfunction serializeRouteData(routeData, trailingSlash) {\n return {\n ...routeData,\n generate: void 0,\n pattern: routeData.pattern.source,\n redirectRoute: routeData.redirectRoute ? serializeRouteData(routeData.redirectRoute, trailingSlash) : void 0,\n fallbackRoutes: routeData.fallbackRoutes.map((fallbackRoute) => {\n return serializeRouteData(fallbackRoute, trailingSlash);\n }),\n _meta: { trailingSlash }\n };\n}\nfunction deserializeRouteData(rawRouteData) {\n return {\n route: rawRouteData.route,\n type: rawRouteData.type,\n pattern: new RegExp(rawRouteData.pattern),\n params: rawRouteData.params,\n component: rawRouteData.component,\n generate: getRouteGenerator(rawRouteData.segments, rawRouteData._meta.trailingSlash),\n pathname: rawRouteData.pathname || void 0,\n segments: rawRouteData.segments,\n prerender: rawRouteData.prerender,\n redirect: rawRouteData.redirect,\n redirectRoute: rawRouteData.redirectRoute ? deserializeRouteData(rawRouteData.redirectRoute) : void 0,\n fallbackRoutes: rawRouteData.fallbackRoutes.map((fallback) => {\n return deserializeRouteData(fallback);\n }),\n isIndex: rawRouteData.isIndex\n };\n}\nexport {\n deserializeRouteData,\n serializeRouteData\n};\n","import { deserializeRouteData } from \"../routing/manifest/serialization.js\";\nfunction deserializeManifest(serializedManifest) {\n const routes = [];\n for (const serializedRoute of serializedManifest.routes) {\n routes.push({\n ...serializedRoute,\n routeData: deserializeRouteData(serializedRoute.routeData)\n });\n const route = serializedRoute;\n route.routeData = deserializeRouteData(serializedRoute.routeData);\n }\n const assets = new Set(serializedManifest.assets);\n const componentMetadata = new Map(serializedManifest.componentMetadata);\n const inlinedScripts = new Map(serializedManifest.inlinedScripts);\n const clientDirectives = new Map(serializedManifest.clientDirectives);\n const serverIslandNameMap = new Map(serializedManifest.serverIslandNameMap);\n return {\n // in case user middleware exists, this no-op middleware will be reassigned (see plugin-ssr.ts)\n middleware(_, next) {\n return next();\n },\n ...serializedManifest,\n assets,\n componentMetadata,\n inlinedScripts,\n clientDirectives,\n routes,\n serverIslandNameMap\n };\n}\nexport {\n deserializeManifest\n};\n"],"names":[],"mappings":"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","x_google_ignoreList":[0,1,2,3]} \ No newline at end of file +{"version":3,"file":"manifest_DSu_atzt.mjs","sources":["../../../../../node_modules/astro/dist/core/logger/core.js","../../../../../node_modules/astro/dist/core/routing/manifest/generator.js","../../../../../node_modules/astro/dist/core/routing/manifest/serialization.js","../../../../../node_modules/astro/dist/core/app/common.js"],"sourcesContent":["import { blue, bold, dim, red, yellow } from \"kleur/colors\";\nimport stringWidth from \"string-width\";\nconst dateTimeFormat = new Intl.DateTimeFormat([], {\n hour: \"2-digit\",\n minute: \"2-digit\",\n second: \"2-digit\",\n hour12: false\n});\nconst levels = {\n debug: 20,\n info: 30,\n warn: 40,\n error: 50,\n silent: 90\n};\nfunction log(opts, level, label, message, newLine = true) {\n const logLevel = opts.level;\n const dest = opts.dest;\n const event = {\n label,\n level,\n message,\n newLine\n };\n if (!isLogLevelEnabled(logLevel, level)) {\n return;\n }\n dest.write(event);\n}\nfunction isLogLevelEnabled(configuredLogLevel, level) {\n return levels[configuredLogLevel] <= levels[level];\n}\nfunction info(opts, label, message, newLine = true) {\n return log(opts, \"info\", label, message, newLine);\n}\nfunction warn(opts, label, message, newLine = true) {\n return log(opts, \"warn\", label, message, newLine);\n}\nfunction error(opts, label, message, newLine = true) {\n return log(opts, \"error\", label, message, newLine);\n}\nfunction table(opts, columns) {\n return function logTable(logFn, ...input) {\n const message = columns.map((len, i) => padStr(input[i].toString(), len)).join(\" \");\n logFn(opts, null, message);\n };\n}\nfunction debug(...args) {\n if (\"_astroGlobalDebug\" in globalThis) {\n globalThis._astroGlobalDebug(...args);\n }\n}\nfunction padStr(str, len) {\n const strLen = stringWidth(str);\n if (strLen > len) {\n return str.substring(0, len - 3) + \"...\";\n }\n const spaces = Array.from({ length: len - strLen }, () => \" \").join(\"\");\n return str + spaces;\n}\nfunction getEventPrefix({ level, label }) {\n const timestamp = `${dateTimeFormat.format(/* @__PURE__ */ new Date())}`;\n const prefix = [];\n if (level === \"error\" || level === \"warn\") {\n prefix.push(bold(timestamp));\n prefix.push(`[${level.toUpperCase()}]`);\n } else {\n prefix.push(timestamp);\n }\n if (label) {\n prefix.push(`[${label}]`);\n }\n if (level === \"error\") {\n return red(prefix.join(\" \"));\n }\n if (level === \"warn\") {\n return yellow(prefix.join(\" \"));\n }\n if (prefix.length === 1) {\n return dim(prefix[0]);\n }\n return dim(prefix[0]) + \" \" + blue(prefix.splice(1).join(\" \"));\n}\nlet defaultLogLevel;\nif (typeof process !== \"undefined\") {\n let proc = process;\n if (\"argv\" in proc && Array.isArray(proc.argv)) {\n if (proc.argv.includes(\"--verbose\")) {\n defaultLogLevel = \"debug\";\n } else if (proc.argv.includes(\"--silent\")) {\n defaultLogLevel = \"silent\";\n } else {\n defaultLogLevel = \"info\";\n }\n } else {\n defaultLogLevel = \"info\";\n }\n} else {\n defaultLogLevel = \"info\";\n}\nfunction timerMessage(message, startTime = Date.now()) {\n let timeDiff = Date.now() - startTime;\n let timeDisplay = timeDiff < 750 ? `${Math.round(timeDiff)}ms` : `${(timeDiff / 1e3).toFixed(1)}s`;\n return `${message} ${dim(timeDisplay)}`;\n}\nclass Logger {\n options;\n constructor(options) {\n this.options = options;\n }\n info(label, message, newLine = true) {\n info(this.options, label, message, newLine);\n }\n warn(label, message, newLine = true) {\n warn(this.options, label, message, newLine);\n }\n error(label, message, newLine = true) {\n error(this.options, label, message, newLine);\n }\n debug(label, ...messages) {\n debug(label, ...messages);\n }\n level() {\n return this.options.level;\n }\n forkIntegrationLogger(label) {\n return new AstroIntegrationLogger(this.options, label);\n }\n}\nclass AstroIntegrationLogger {\n options;\n label;\n constructor(logging, label) {\n this.options = logging;\n this.label = label;\n }\n /**\n * Creates a new logger instance with a new label, but the same log options.\n */\n fork(label) {\n return new AstroIntegrationLogger(this.options, label);\n }\n info(message) {\n info(this.options, this.label, message);\n }\n warn(message) {\n warn(this.options, this.label, message);\n }\n error(message) {\n error(this.options, this.label, message);\n }\n debug(message) {\n debug(this.label, message);\n }\n}\nexport {\n AstroIntegrationLogger,\n Logger,\n dateTimeFormat,\n debug,\n defaultLogLevel,\n error,\n getEventPrefix,\n info,\n isLogLevelEnabled,\n levels,\n log,\n table,\n timerMessage,\n warn\n};\n","import { compile } from \"path-to-regexp\";\nfunction sanitizeParams(params) {\n return Object.fromEntries(\n Object.entries(params).map(([key, value]) => {\n if (typeof value === \"string\") {\n return [key, value.normalize().replace(/#/g, \"%23\").replace(/\\?/g, \"%3F\")];\n }\n return [key, value];\n })\n );\n}\nfunction getRouteGenerator(segments, addTrailingSlash) {\n const template = segments.map((segment) => {\n return \"/\" + segment.map((part) => {\n if (part.spread) {\n return `:${part.content.slice(3)}(.*)?`;\n } else if (part.dynamic) {\n return `:${part.content}`;\n } else {\n return part.content.normalize().replace(/\\?/g, \"%3F\").replace(/#/g, \"%23\").replace(/%5B/g, \"[\").replace(/%5D/g, \"]\").replace(/[.*+?^${}()|[\\]\\\\]/g, \"\\\\$&\");\n }\n }).join(\"\");\n }).join(\"\");\n let trailing = \"\";\n if (addTrailingSlash === \"always\" && segments.length) {\n trailing = \"/\";\n }\n const toPath = compile(template + trailing);\n return (params) => {\n const sanitizedParams = sanitizeParams(params);\n const path = toPath(sanitizedParams);\n return path || \"/\";\n };\n}\nexport {\n getRouteGenerator\n};\n","import { getRouteGenerator } from \"./generator.js\";\nfunction serializeRouteData(routeData, trailingSlash) {\n return {\n ...routeData,\n generate: void 0,\n pattern: routeData.pattern.source,\n redirectRoute: routeData.redirectRoute ? serializeRouteData(routeData.redirectRoute, trailingSlash) : void 0,\n fallbackRoutes: routeData.fallbackRoutes.map((fallbackRoute) => {\n return serializeRouteData(fallbackRoute, trailingSlash);\n }),\n _meta: { trailingSlash }\n };\n}\nfunction deserializeRouteData(rawRouteData) {\n return {\n route: rawRouteData.route,\n type: rawRouteData.type,\n pattern: new RegExp(rawRouteData.pattern),\n params: rawRouteData.params,\n component: rawRouteData.component,\n generate: getRouteGenerator(rawRouteData.segments, rawRouteData._meta.trailingSlash),\n pathname: rawRouteData.pathname || void 0,\n segments: rawRouteData.segments,\n prerender: rawRouteData.prerender,\n redirect: rawRouteData.redirect,\n redirectRoute: rawRouteData.redirectRoute ? deserializeRouteData(rawRouteData.redirectRoute) : void 0,\n fallbackRoutes: rawRouteData.fallbackRoutes.map((fallback) => {\n return deserializeRouteData(fallback);\n }),\n isIndex: rawRouteData.isIndex\n };\n}\nexport {\n deserializeRouteData,\n serializeRouteData\n};\n","import { deserializeRouteData } from \"../routing/manifest/serialization.js\";\nfunction deserializeManifest(serializedManifest) {\n const routes = [];\n for (const serializedRoute of serializedManifest.routes) {\n routes.push({\n ...serializedRoute,\n routeData: deserializeRouteData(serializedRoute.routeData)\n });\n const route = serializedRoute;\n route.routeData = deserializeRouteData(serializedRoute.routeData);\n }\n const assets = new Set(serializedManifest.assets);\n const componentMetadata = new Map(serializedManifest.componentMetadata);\n const inlinedScripts = new Map(serializedManifest.inlinedScripts);\n const clientDirectives = new Map(serializedManifest.clientDirectives);\n const serverIslandNameMap = new Map(serializedManifest.serverIslandNameMap);\n return {\n // in case user middleware exists, this no-op middleware will be reassigned (see plugin-ssr.ts)\n middleware(_, next) {\n return next();\n },\n ...serializedManifest,\n assets,\n componentMetadata,\n inlinedScripts,\n clientDirectives,\n routes,\n serverIslandNameMap\n };\n}\nexport {\n deserializeManifest\n};\n"],"names":[],"mappings":"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","x_google_ignoreList":[0,1,2,3]} \ No newline at end of file diff --git a/package.json b/package.json index 1fc5bd26..9bd23104 100644 --- a/package.json +++ b/package.json @@ -24,7 +24,7 @@ "url": "HTTPS://PlayForm.Cloud" }, "scripts": { - "Run": "astro dev", + "Run": "astro dev --host", "prepublishOnly": "astro build" }, "dependencies": { @@ -34,10 +34,12 @@ "@playform/format": "0.0.7", "@playform/inline": "0.0.7", "@swup/body-class-plugin": "3.2.0", + "@swup/fade-theme": "2.0.1", "@swup/head-plugin": "2.2.0", "@swup/overlay-theme": "2.0.1", "@swup/preload-plugin": "3.2.10", "@swup/scroll-plugin": "3.3.2", + "@swup/slide-theme": "2.0.1", "@tailwindcss/aspect-ratio": "0.4.2", "@tailwindcss/forms": "0.5.7", "@tailwindcss/typography": "0.5.13", From e3dcf40ac8bc2228fb765b51a433c775b0f7ab47 Mon Sep 17 00:00:00 2001 From: Nikola Hristov Date: Wed, 24 Jul 2024 15:25:49 +0300 Subject: [PATCH 003/112] --- Target/{manifest_DSu_atzt.mjs.map => manifest_BN7Q4GeN.mjs.map} | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) rename Target/{manifest_DSu_atzt.mjs.map => manifest_BN7Q4GeN.mjs.map} (99%) diff --git a/Target/manifest_DSu_atzt.mjs.map b/Target/manifest_BN7Q4GeN.mjs.map similarity index 99% rename from Target/manifest_DSu_atzt.mjs.map rename to Target/manifest_BN7Q4GeN.mjs.map index c427a068..5d81b39d 100644 --- a/Target/manifest_DSu_atzt.mjs.map +++ b/Target/manifest_BN7Q4GeN.mjs.map @@ -1 +1 @@ -{"version":3,"file":"manifest_DSu_atzt.mjs","sources":["../../../../../node_modules/astro/dist/core/logger/core.js","../../../../../node_modules/astro/dist/core/routing/manifest/generator.js","../../../../../node_modules/astro/dist/core/routing/manifest/serialization.js","../../../../../node_modules/astro/dist/core/app/common.js"],"sourcesContent":["import { blue, bold, dim, red, yellow } from \"kleur/colors\";\nimport stringWidth from \"string-width\";\nconst dateTimeFormat = new Intl.DateTimeFormat([], {\n hour: \"2-digit\",\n minute: \"2-digit\",\n second: \"2-digit\",\n hour12: false\n});\nconst levels = {\n debug: 20,\n info: 30,\n warn: 40,\n error: 50,\n silent: 90\n};\nfunction log(opts, level, label, message, newLine = true) {\n const logLevel = opts.level;\n const dest = opts.dest;\n const event = {\n label,\n level,\n message,\n newLine\n };\n if (!isLogLevelEnabled(logLevel, level)) {\n return;\n }\n dest.write(event);\n}\nfunction isLogLevelEnabled(configuredLogLevel, level) {\n return levels[configuredLogLevel] <= levels[level];\n}\nfunction info(opts, label, message, newLine = true) {\n return log(opts, \"info\", label, message, newLine);\n}\nfunction warn(opts, label, message, newLine = true) {\n return log(opts, \"warn\", label, message, newLine);\n}\nfunction error(opts, label, message, newLine = true) {\n return log(opts, \"error\", label, message, newLine);\n}\nfunction table(opts, columns) {\n return function logTable(logFn, ...input) {\n const message = columns.map((len, i) => padStr(input[i].toString(), len)).join(\" \");\n logFn(opts, null, message);\n };\n}\nfunction debug(...args) {\n if (\"_astroGlobalDebug\" in globalThis) {\n globalThis._astroGlobalDebug(...args);\n }\n}\nfunction padStr(str, len) {\n const strLen = stringWidth(str);\n if (strLen > len) {\n return str.substring(0, len - 3) + \"...\";\n }\n const spaces = Array.from({ length: len - strLen }, () => \" \").join(\"\");\n return str + spaces;\n}\nfunction getEventPrefix({ level, label }) {\n const timestamp = `${dateTimeFormat.format(/* @__PURE__ */ new Date())}`;\n const prefix = [];\n if (level === \"error\" || level === \"warn\") {\n prefix.push(bold(timestamp));\n prefix.push(`[${level.toUpperCase()}]`);\n } else {\n prefix.push(timestamp);\n }\n if (label) {\n prefix.push(`[${label}]`);\n }\n if (level === \"error\") {\n return red(prefix.join(\" \"));\n }\n if (level === \"warn\") {\n return yellow(prefix.join(\" \"));\n }\n if (prefix.length === 1) {\n return dim(prefix[0]);\n }\n return dim(prefix[0]) + \" \" + blue(prefix.splice(1).join(\" \"));\n}\nlet defaultLogLevel;\nif (typeof process !== \"undefined\") {\n let proc = process;\n if (\"argv\" in proc && Array.isArray(proc.argv)) {\n if (proc.argv.includes(\"--verbose\")) {\n defaultLogLevel = \"debug\";\n } else if (proc.argv.includes(\"--silent\")) {\n defaultLogLevel = \"silent\";\n } else {\n defaultLogLevel = \"info\";\n }\n } else {\n defaultLogLevel = \"info\";\n }\n} else {\n defaultLogLevel = \"info\";\n}\nfunction timerMessage(message, startTime = Date.now()) {\n let timeDiff = Date.now() - startTime;\n let timeDisplay = timeDiff < 750 ? `${Math.round(timeDiff)}ms` : `${(timeDiff / 1e3).toFixed(1)}s`;\n return `${message} ${dim(timeDisplay)}`;\n}\nclass Logger {\n options;\n constructor(options) {\n this.options = options;\n }\n info(label, message, newLine = true) {\n info(this.options, label, message, newLine);\n }\n warn(label, message, newLine = true) {\n warn(this.options, label, message, newLine);\n }\n error(label, message, newLine = true) {\n error(this.options, label, message, newLine);\n }\n debug(label, ...messages) {\n debug(label, ...messages);\n }\n level() {\n return this.options.level;\n }\n forkIntegrationLogger(label) {\n return new AstroIntegrationLogger(this.options, label);\n }\n}\nclass AstroIntegrationLogger {\n options;\n label;\n constructor(logging, label) {\n this.options = logging;\n this.label = label;\n }\n /**\n * Creates a new logger instance with a new label, but the same log options.\n */\n fork(label) {\n return new AstroIntegrationLogger(this.options, label);\n }\n info(message) {\n info(this.options, this.label, message);\n }\n warn(message) {\n warn(this.options, this.label, message);\n }\n error(message) {\n error(this.options, this.label, message);\n }\n debug(message) {\n debug(this.label, message);\n }\n}\nexport {\n AstroIntegrationLogger,\n Logger,\n dateTimeFormat,\n debug,\n defaultLogLevel,\n error,\n getEventPrefix,\n info,\n isLogLevelEnabled,\n levels,\n log,\n table,\n timerMessage,\n warn\n};\n","import { compile } from \"path-to-regexp\";\nfunction sanitizeParams(params) {\n return Object.fromEntries(\n Object.entries(params).map(([key, value]) => {\n if (typeof value === \"string\") {\n return [key, value.normalize().replace(/#/g, \"%23\").replace(/\\?/g, \"%3F\")];\n }\n return [key, value];\n })\n );\n}\nfunction getRouteGenerator(segments, addTrailingSlash) {\n const template = segments.map((segment) => {\n return \"/\" + segment.map((part) => {\n if (part.spread) {\n return `:${part.content.slice(3)}(.*)?`;\n } else if (part.dynamic) {\n return `:${part.content}`;\n } else {\n return part.content.normalize().replace(/\\?/g, \"%3F\").replace(/#/g, \"%23\").replace(/%5B/g, \"[\").replace(/%5D/g, \"]\").replace(/[.*+?^${}()|[\\]\\\\]/g, \"\\\\$&\");\n }\n }).join(\"\");\n }).join(\"\");\n let trailing = \"\";\n if (addTrailingSlash === \"always\" && segments.length) {\n trailing = \"/\";\n }\n const toPath = compile(template + trailing);\n return (params) => {\n const sanitizedParams = sanitizeParams(params);\n const path = toPath(sanitizedParams);\n return path || \"/\";\n };\n}\nexport {\n getRouteGenerator\n};\n","import { getRouteGenerator } from \"./generator.js\";\nfunction serializeRouteData(routeData, trailingSlash) {\n return {\n ...routeData,\n generate: void 0,\n pattern: routeData.pattern.source,\n redirectRoute: routeData.redirectRoute ? serializeRouteData(routeData.redirectRoute, trailingSlash) : void 0,\n fallbackRoutes: routeData.fallbackRoutes.map((fallbackRoute) => {\n return serializeRouteData(fallbackRoute, trailingSlash);\n }),\n _meta: { trailingSlash }\n };\n}\nfunction deserializeRouteData(rawRouteData) {\n return {\n route: rawRouteData.route,\n type: rawRouteData.type,\n pattern: new RegExp(rawRouteData.pattern),\n params: rawRouteData.params,\n component: rawRouteData.component,\n generate: getRouteGenerator(rawRouteData.segments, rawRouteData._meta.trailingSlash),\n pathname: rawRouteData.pathname || void 0,\n segments: rawRouteData.segments,\n prerender: rawRouteData.prerender,\n redirect: rawRouteData.redirect,\n redirectRoute: rawRouteData.redirectRoute ? deserializeRouteData(rawRouteData.redirectRoute) : void 0,\n fallbackRoutes: rawRouteData.fallbackRoutes.map((fallback) => {\n return deserializeRouteData(fallback);\n }),\n isIndex: rawRouteData.isIndex\n };\n}\nexport {\n deserializeRouteData,\n serializeRouteData\n};\n","import { deserializeRouteData } from \"../routing/manifest/serialization.js\";\nfunction deserializeManifest(serializedManifest) {\n const routes = [];\n for (const serializedRoute of serializedManifest.routes) {\n routes.push({\n ...serializedRoute,\n routeData: deserializeRouteData(serializedRoute.routeData)\n });\n const route = serializedRoute;\n route.routeData = deserializeRouteData(serializedRoute.routeData);\n }\n const assets = new Set(serializedManifest.assets);\n const componentMetadata = new Map(serializedManifest.componentMetadata);\n const inlinedScripts = new Map(serializedManifest.inlinedScripts);\n const clientDirectives = new Map(serializedManifest.clientDirectives);\n const serverIslandNameMap = new Map(serializedManifest.serverIslandNameMap);\n return {\n // in case user middleware exists, this no-op middleware will be reassigned (see plugin-ssr.ts)\n middleware(_, next) {\n return next();\n },\n ...serializedManifest,\n assets,\n componentMetadata,\n inlinedScripts,\n clientDirectives,\n routes,\n serverIslandNameMap\n };\n}\nexport {\n deserializeManifest\n};\n"],"names":[],"mappings":";;;;;;;;AAoFA,IAAI,OAAO,OAAO,KAAK,WAAW,EAAE;AACpC,EAAE,IAAI,IAAI,GAAG,OAAO,CAAC;AACrB,EAAE,IAAI,MAAM,IAAI,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;AAClD,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAEpC,MAAM,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAE1C,MAAM,CAEN;AACL,GAEG;AACH;;AChGA,SAAS,cAAc,CAAC,MAAM,EAAE;AAChC,EAAE,OAAO,MAAM,CAAC,WAAW;AAC3B,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,KAAK;AACjD,MAAM,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;AACrC,QAAQ,OAAO,CAAC,GAAG,EAAE,KAAK,CAAC,SAAS,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC;AACnF,OAAO;AACP,MAAM,OAAO,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;AAC1B,KAAK,CAAC;AACN,GAAG,CAAC;AACJ,CAAC;AACD,SAAS,iBAAiB,CAAC,QAAQ,EAAE,gBAAgB,EAAE;AACvD,EAAE,MAAM,QAAQ,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,KAAK;AAC7C,IAAI,OAAO,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,KAAK;AACvC,MAAM,IAAI,IAAI,CAAC,MAAM,EAAE;AACvB,QAAQ,OAAO,CAAC,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;AAChD,OAAO,MAAM,IAAI,IAAI,CAAC,OAAO,EAAE;AAC/B,QAAQ,OAAO,CAAC,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;AAClC,OAAO,MAAM;AACb,QAAQ,OAAO,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,qBAAqB,EAAE,MAAM,CAAC,CAAC;AACpK,OAAO;AACP,KAAK,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AAChB,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AACd,EAAE,IAAI,QAAQ,GAAG,EAAE,CAAC;AACpB,EAAE,IAAI,gBAAgB,KAAK,QAAQ,IAAI,QAAQ,CAAC,MAAM,EAAE;AACxD,IAAI,QAAQ,GAAG,GAAG,CAAC;AACnB,GAAG;AACH,EAAE,MAAM,MAAM,GAAG,OAAO,CAAC,QAAQ,GAAG,QAAQ,CAAC,CAAC;AAC9C,EAAE,OAAO,CAAC,MAAM,KAAK;AACrB,IAAI,MAAM,eAAe,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC;AACnD,IAAI,MAAM,IAAI,GAAG,MAAM,CAAC,eAAe,CAAC,CAAC;AACzC,IAAI,OAAO,IAAI,IAAI,GAAG,CAAC;AACvB,GAAG,CAAC;AACJ;;ACpBA,SAAS,oBAAoB,CAAC,YAAY,EAAE;AAC5C,EAAE,OAAO;AACT,IAAI,KAAK,EAAE,YAAY,CAAC,KAAK;AAC7B,IAAI,IAAI,EAAE,YAAY,CAAC,IAAI;AAC3B,IAAI,OAAO,EAAE,IAAI,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC;AAC7C,IAAI,MAAM,EAAE,YAAY,CAAC,MAAM;AAC/B,IAAI,SAAS,EAAE,YAAY,CAAC,SAAS;AACrC,IAAI,QAAQ,EAAE,iBAAiB,CAAC,YAAY,CAAC,QAAQ,EAAE,YAAY,CAAC,KAAK,CAAC,aAAa,CAAC;AACxF,IAAI,QAAQ,EAAE,YAAY,CAAC,QAAQ,IAAI,KAAK,CAAC;AAC7C,IAAI,QAAQ,EAAE,YAAY,CAAC,QAAQ;AACnC,IAAI,SAAS,EAAE,YAAY,CAAC,SAAS;AACrC,IAAI,QAAQ,EAAE,YAAY,CAAC,QAAQ;AACnC,IAAI,aAAa,EAAE,YAAY,CAAC,aAAa,GAAG,oBAAoB,CAAC,YAAY,CAAC,aAAa,CAAC,GAAG,KAAK,CAAC;AACzG,IAAI,cAAc,EAAE,YAAY,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,QAAQ,KAAK;AAClE,MAAM,OAAO,oBAAoB,CAAC,QAAQ,CAAC,CAAC;AAC5C,KAAK,CAAC;AACN,IAAI,OAAO,EAAE,YAAY,CAAC,OAAO;AACjC,GAAG,CAAC;AACJ;;AC9BA,SAAS,mBAAmB,CAAC,kBAAkB,EAAE;AACjD,EAAE,MAAM,MAAM,GAAG,EAAE,CAAC;AACpB,EAAE,KAAK,MAAM,eAAe,IAAI,kBAAkB,CAAC,MAAM,EAAE;AAC3D,IAAI,MAAM,CAAC,IAAI,CAAC;AAChB,MAAM,GAAG,eAAe;AACxB,MAAM,SAAS,EAAE,oBAAoB,CAAC,eAAe,CAAC,SAAS,CAAC;AAChE,KAAK,CAAC,CAAC;AACP,IAAI,MAAM,KAAK,GAAG,eAAe,CAAC;AAClC,IAAI,KAAK,CAAC,SAAS,GAAG,oBAAoB,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;AACtE,GAAG;AACH,EAAE,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC;AACpD,EAAE,MAAM,iBAAiB,GAAG,IAAI,GAAG,CAAC,kBAAkB,CAAC,iBAAiB,CAAC,CAAC;AAC1E,EAAE,MAAM,cAAc,GAAG,IAAI,GAAG,CAAC,kBAAkB,CAAC,cAAc,CAAC,CAAC;AACpE,EAAE,MAAM,gBAAgB,GAAG,IAAI,GAAG,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,CAAC;AACxE,EAAE,MAAM,mBAAmB,GAAG,IAAI,GAAG,CAAC,kBAAkB,CAAC,mBAAmB,CAAC,CAAC;AAC9E,EAAE,OAAO;AACT;AACA,IAAI,UAAU,CAAC,CAAC,EAAE,IAAI,EAAE;AACxB,MAAM,OAAO,IAAI,EAAE,CAAC;AACpB,KAAK;AACL,IAAI,GAAG,kBAAkB;AACzB,IAAI,MAAM;AACV,IAAI,iBAAiB;AACrB,IAAI,cAAc;AAClB,IAAI,gBAAgB;AACpB,IAAI,MAAM;AACV,IAAI,mBAAmB;AACvB,GAAG,CAAC;AACJ;;;;;;","x_google_ignoreList":[0,1,2,3]} \ No newline at end of file +{"version":3,"file":"manifest_BN7Q4GeN.mjs","sources":["../../../../../node_modules/astro/dist/core/logger/core.js","../../../../../node_modules/astro/dist/core/routing/manifest/generator.js","../../../../../node_modules/astro/dist/core/routing/manifest/serialization.js","../../../../../node_modules/astro/dist/core/app/common.js"],"sourcesContent":["import { blue, bold, dim, red, yellow } from \"kleur/colors\";\nimport stringWidth from \"string-width\";\nconst dateTimeFormat = new Intl.DateTimeFormat([], {\n hour: \"2-digit\",\n minute: \"2-digit\",\n second: \"2-digit\",\n hour12: false\n});\nconst levels = {\n debug: 20,\n info: 30,\n warn: 40,\n error: 50,\n silent: 90\n};\nfunction log(opts, level, label, message, newLine = true) {\n const logLevel = opts.level;\n const dest = opts.dest;\n const event = {\n label,\n level,\n message,\n newLine\n };\n if (!isLogLevelEnabled(logLevel, level)) {\n return;\n }\n dest.write(event);\n}\nfunction isLogLevelEnabled(configuredLogLevel, level) {\n return levels[configuredLogLevel] <= levels[level];\n}\nfunction info(opts, label, message, newLine = true) {\n return log(opts, \"info\", label, message, newLine);\n}\nfunction warn(opts, label, message, newLine = true) {\n return log(opts, \"warn\", label, message, newLine);\n}\nfunction error(opts, label, message, newLine = true) {\n return log(opts, \"error\", label, message, newLine);\n}\nfunction table(opts, columns) {\n return function logTable(logFn, ...input) {\n const message = columns.map((len, i) => padStr(input[i].toString(), len)).join(\" \");\n logFn(opts, null, message);\n };\n}\nfunction debug(...args) {\n if (\"_astroGlobalDebug\" in globalThis) {\n globalThis._astroGlobalDebug(...args);\n }\n}\nfunction padStr(str, len) {\n const strLen = stringWidth(str);\n if (strLen > len) {\n return str.substring(0, len - 3) + \"...\";\n }\n const spaces = Array.from({ length: len - strLen }, () => \" \").join(\"\");\n return str + spaces;\n}\nfunction getEventPrefix({ level, label }) {\n const timestamp = `${dateTimeFormat.format(/* @__PURE__ */ new Date())}`;\n const prefix = [];\n if (level === \"error\" || level === \"warn\") {\n prefix.push(bold(timestamp));\n prefix.push(`[${level.toUpperCase()}]`);\n } else {\n prefix.push(timestamp);\n }\n if (label) {\n prefix.push(`[${label}]`);\n }\n if (level === \"error\") {\n return red(prefix.join(\" \"));\n }\n if (level === \"warn\") {\n return yellow(prefix.join(\" \"));\n }\n if (prefix.length === 1) {\n return dim(prefix[0]);\n }\n return dim(prefix[0]) + \" \" + blue(prefix.splice(1).join(\" \"));\n}\nlet defaultLogLevel;\nif (typeof process !== \"undefined\") {\n let proc = process;\n if (\"argv\" in proc && Array.isArray(proc.argv)) {\n if (proc.argv.includes(\"--verbose\")) {\n defaultLogLevel = \"debug\";\n } else if (proc.argv.includes(\"--silent\")) {\n defaultLogLevel = \"silent\";\n } else {\n defaultLogLevel = \"info\";\n }\n } else {\n defaultLogLevel = \"info\";\n }\n} else {\n defaultLogLevel = \"info\";\n}\nfunction timerMessage(message, startTime = Date.now()) {\n let timeDiff = Date.now() - startTime;\n let timeDisplay = timeDiff < 750 ? `${Math.round(timeDiff)}ms` : `${(timeDiff / 1e3).toFixed(1)}s`;\n return `${message} ${dim(timeDisplay)}`;\n}\nclass Logger {\n options;\n constructor(options) {\n this.options = options;\n }\n info(label, message, newLine = true) {\n info(this.options, label, message, newLine);\n }\n warn(label, message, newLine = true) {\n warn(this.options, label, message, newLine);\n }\n error(label, message, newLine = true) {\n error(this.options, label, message, newLine);\n }\n debug(label, ...messages) {\n debug(label, ...messages);\n }\n level() {\n return this.options.level;\n }\n forkIntegrationLogger(label) {\n return new AstroIntegrationLogger(this.options, label);\n }\n}\nclass AstroIntegrationLogger {\n options;\n label;\n constructor(logging, label) {\n this.options = logging;\n this.label = label;\n }\n /**\n * Creates a new logger instance with a new label, but the same log options.\n */\n fork(label) {\n return new AstroIntegrationLogger(this.options, label);\n }\n info(message) {\n info(this.options, this.label, message);\n }\n warn(message) {\n warn(this.options, this.label, message);\n }\n error(message) {\n error(this.options, this.label, message);\n }\n debug(message) {\n debug(this.label, message);\n }\n}\nexport {\n AstroIntegrationLogger,\n Logger,\n dateTimeFormat,\n debug,\n defaultLogLevel,\n error,\n getEventPrefix,\n info,\n isLogLevelEnabled,\n levels,\n log,\n table,\n timerMessage,\n warn\n};\n","import { compile } from \"path-to-regexp\";\nfunction sanitizeParams(params) {\n return Object.fromEntries(\n Object.entries(params).map(([key, value]) => {\n if (typeof value === \"string\") {\n return [key, value.normalize().replace(/#/g, \"%23\").replace(/\\?/g, \"%3F\")];\n }\n return [key, value];\n })\n );\n}\nfunction getRouteGenerator(segments, addTrailingSlash) {\n const template = segments.map((segment) => {\n return \"/\" + segment.map((part) => {\n if (part.spread) {\n return `:${part.content.slice(3)}(.*)?`;\n } else if (part.dynamic) {\n return `:${part.content}`;\n } else {\n return part.content.normalize().replace(/\\?/g, \"%3F\").replace(/#/g, \"%23\").replace(/%5B/g, \"[\").replace(/%5D/g, \"]\").replace(/[.*+?^${}()|[\\]\\\\]/g, \"\\\\$&\");\n }\n }).join(\"\");\n }).join(\"\");\n let trailing = \"\";\n if (addTrailingSlash === \"always\" && segments.length) {\n trailing = \"/\";\n }\n const toPath = compile(template + trailing);\n return (params) => {\n const sanitizedParams = sanitizeParams(params);\n const path = toPath(sanitizedParams);\n return path || \"/\";\n };\n}\nexport {\n getRouteGenerator\n};\n","import { getRouteGenerator } from \"./generator.js\";\nfunction serializeRouteData(routeData, trailingSlash) {\n return {\n ...routeData,\n generate: void 0,\n pattern: routeData.pattern.source,\n redirectRoute: routeData.redirectRoute ? serializeRouteData(routeData.redirectRoute, trailingSlash) : void 0,\n fallbackRoutes: routeData.fallbackRoutes.map((fallbackRoute) => {\n return serializeRouteData(fallbackRoute, trailingSlash);\n }),\n _meta: { trailingSlash }\n };\n}\nfunction deserializeRouteData(rawRouteData) {\n return {\n route: rawRouteData.route,\n type: rawRouteData.type,\n pattern: new RegExp(rawRouteData.pattern),\n params: rawRouteData.params,\n component: rawRouteData.component,\n generate: getRouteGenerator(rawRouteData.segments, rawRouteData._meta.trailingSlash),\n pathname: rawRouteData.pathname || void 0,\n segments: rawRouteData.segments,\n prerender: rawRouteData.prerender,\n redirect: rawRouteData.redirect,\n redirectRoute: rawRouteData.redirectRoute ? deserializeRouteData(rawRouteData.redirectRoute) : void 0,\n fallbackRoutes: rawRouteData.fallbackRoutes.map((fallback) => {\n return deserializeRouteData(fallback);\n }),\n isIndex: rawRouteData.isIndex\n };\n}\nexport {\n deserializeRouteData,\n serializeRouteData\n};\n","import { deserializeRouteData } from \"../routing/manifest/serialization.js\";\nfunction deserializeManifest(serializedManifest) {\n const routes = [];\n for (const serializedRoute of serializedManifest.routes) {\n routes.push({\n ...serializedRoute,\n routeData: deserializeRouteData(serializedRoute.routeData)\n });\n const route = serializedRoute;\n route.routeData = deserializeRouteData(serializedRoute.routeData);\n }\n const assets = new Set(serializedManifest.assets);\n const componentMetadata = new Map(serializedManifest.componentMetadata);\n const inlinedScripts = new Map(serializedManifest.inlinedScripts);\n const clientDirectives = new Map(serializedManifest.clientDirectives);\n const serverIslandNameMap = new Map(serializedManifest.serverIslandNameMap);\n return {\n // in case user middleware exists, this no-op middleware will be reassigned (see plugin-ssr.ts)\n middleware(_, next) {\n return next();\n },\n ...serializedManifest,\n assets,\n componentMetadata,\n inlinedScripts,\n clientDirectives,\n routes,\n serverIslandNameMap\n };\n}\nexport {\n deserializeManifest\n};\n"],"names":[],"mappings":"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","x_google_ignoreList":[0,1,2,3]} \ No newline at end of file From 68dcee1cdc39a328188b77aab0206dcccdd0f788 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 25 Jul 2024 02:00:00 +0000 Subject: [PATCH 004/112] Bump postcss from 8.4.39 to 8.4.40 Bumps [postcss](https://github.com/postcss/postcss) from 8.4.39 to 8.4.40. - [Release notes](https://github.com/postcss/postcss/releases) - [Changelog](https://github.com/postcss/postcss/blob/main/CHANGELOG.md) - [Commits](https://github.com/postcss/postcss/compare/8.4.39...8.4.40) --- updated-dependencies: - dependency-name: postcss dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 9bd23104..7a6c60d4 100644 --- a/package.json +++ b/package.json @@ -51,7 +51,7 @@ "cssnano-preset-advanced": "7.0.4", "dotenv": "16.4.5", "firebase": "10.12.4", - "postcss": "8.4.39", + "postcss": "8.4.40", "postcss-combine-duplicated-selectors": "10.0.3", "postcss-combine-media-query": "1.0.1", "postcss-import": "16.1.0", From fe8b1dedb70bdb960923b0f9d6771f2eafbb950d Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 25 Jul 2024 02:00:28 +0000 Subject: [PATCH 005/112] Bump @playform/build from 0.1.1 to 0.1.2 Bumps [@playform/build](https://github.com/PlayForm/Build) from 0.1.1 to 0.1.2. - [Release notes](https://github.com/PlayForm/Build/releases) - [Changelog](https://github.com/PlayForm/Build/blob/Current/CHANGELOG.md) - [Commits](https://github.com/PlayForm/Build/compare/v0.1.1...v0.1.2) --- updated-dependencies: - dependency-name: "@playform/build" dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 9bd23104..01d9fba9 100644 --- a/package.json +++ b/package.json @@ -29,7 +29,7 @@ }, "dependencies": { "@astrojs/sitemap": "3.1.6", - "@playform/build": "0.1.1", + "@playform/build": "0.1.2", "@playform/compress": "0.0.13", "@playform/format": "0.0.7", "@playform/inline": "0.0.7", From 120d1deb423b8baa3e72afd3212e54eef24a9519 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 25 Jul 2024 02:00:46 +0000 Subject: [PATCH 006/112] Bump @playform/inline from 0.0.7 to 0.1.0 Bumps [@playform/inline](https://github.com/PlayForm/Inline) from 0.0.7 to 0.1.0. - [Release notes](https://github.com/PlayForm/Inline/releases) - [Changelog](https://github.com/PlayForm/Inline/blob/Current/CHANGELOG.md) - [Commits](https://github.com/PlayForm/Inline/compare/v0.0.7...Inline/v0.1.0) --- updated-dependencies: - dependency-name: "@playform/inline" dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 9bd23104..c52b4d02 100644 --- a/package.json +++ b/package.json @@ -32,7 +32,7 @@ "@playform/build": "0.1.1", "@playform/compress": "0.0.13", "@playform/format": "0.0.7", - "@playform/inline": "0.0.7", + "@playform/inline": "0.1.0", "@swup/body-class-plugin": "3.2.0", "@swup/fade-theme": "2.0.1", "@swup/head-plugin": "2.2.0", From c29dd9c979b2287ddf5f8e6b9f949dfb79fb950e Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 25 Jul 2024 02:02:12 +0000 Subject: [PATCH 007/112] Bump @playform/compress from 0.0.13 to 0.1.0 Bumps [@playform/compress](https://github.com/PlayForm/Compress) from 0.0.13 to 0.1.0. - [Release notes](https://github.com/PlayForm/Compress/releases) - [Changelog](https://github.com/PlayForm/Compress/blob/Current/CHANGELOG.md) - [Commits](https://github.com/PlayForm/Compress/compare/v0.0.13...Compress/v0.1.0) --- updated-dependencies: - dependency-name: "@playform/compress" dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index c5d4f6c9..820b5d37 100644 --- a/package.json +++ b/package.json @@ -30,7 +30,7 @@ "dependencies": { "@astrojs/sitemap": "3.1.6", "@playform/build": "0.1.2", - "@playform/compress": "0.0.13", + "@playform/compress": "0.1.0", "@playform/format": "0.0.7", "@playform/inline": "0.1.0", "@swup/body-class-plugin": "3.2.0", From 8aa07cadeb3be11a8d6b530fdbdc028bfd58ad22 Mon Sep 17 00:00:00 2001 From: Nikola Hristov Date: Thu, 25 Jul 2024 12:53:02 +0300 Subject: [PATCH 008/112] --- Target/_astro/Swup.modern.BemQoQWS.js.map | 2 +- ...s.astro_astro_type_script_index_0_lang.Bvzvg9jW.js.map | 2 +- Target/_astro/index.esm.BoasBFnU.js.map | 2 +- Target/_astro/index.modern.CUPCPLSa.js.map | 2 +- Target/_astro/index.modern.DpLP8u1C.js.map | 2 +- Target/_astro/index.modern.FjGODCox.js.map | 2 +- Target/_astro/index.modern.aa8fLSdp.js.map | 2 +- Target/_astro/index.modern.ljjH5-f0.js.map | 2 +- Target/chunks/astro/server_BFaOE388.mjs.map | 2 +- Target/manifest_BN7Q4GeN.mjs.map | 1 - Target/manifest_ReiFQC_B.mjs.map | 1 + Target/pages/index.astro.mjs.map | 2 +- package.json | 8 ++++---- 13 files changed, 15 insertions(+), 15 deletions(-) delete mode 100644 Target/manifest_BN7Q4GeN.mjs.map create mode 100644 Target/manifest_ReiFQC_B.mjs.map diff --git a/Target/_astro/Swup.modern.BemQoQWS.js.map b/Target/_astro/Swup.modern.BemQoQWS.js.map index ebd927c5..ffe3b791 100644 --- a/Target/_astro/Swup.modern.BemQoQWS.js.map +++ b/Target/_astro/Swup.modern.BemQoQWS.js.map @@ -1 +1 @@ -{"version":3,"file":"Swup.modern.BemQoQWS.js","sources":["../../../../../../node_modules/delegate-it/delegate.js","../../../../../../node_modules/swup/dist/Swup.modern.js"],"sourcesContent":["/** Keeps track of raw listeners added to the base elements to avoid duplication */\nconst ledger = new WeakMap();\nfunction editLedger(wanted, baseElement, callback, setup) {\n if (!wanted && !ledger.has(baseElement)) {\n return false;\n }\n const elementMap = ledger.get(baseElement)\n ?? new WeakMap();\n ledger.set(baseElement, elementMap);\n const setups = elementMap.get(callback) ?? new Set();\n elementMap.set(callback, setups);\n const existed = setups.has(setup);\n if (wanted) {\n setups.add(setup);\n }\n else {\n setups.delete(setup);\n }\n return existed && wanted;\n}\nfunction safeClosest(event, selector) {\n let target = event.target;\n if (target instanceof Text) {\n target = target.parentElement;\n }\n if (target instanceof Element && event.currentTarget instanceof Element) {\n // `.closest()` may match ancestors of `currentTarget` but we only need its children\n const closest = target.closest(selector);\n if (closest && event.currentTarget.contains(closest)) {\n return closest;\n }\n }\n}\n// This type isn't exported as a declaration, so it needs to be duplicated above\nfunction delegate(selector, type, callback, options = {}) {\n const { signal, base = document } = options;\n if (signal?.aborted) {\n return;\n }\n // Don't pass `once` to `addEventListener` because it needs to be handled in `delegate-it`\n const { once, ...nativeListenerOptions } = options;\n // `document` should never be the base, it's just an easy way to define \"global event listeners\"\n const baseElement = base instanceof Document ? base.documentElement : base;\n // Handle the regular Element usage\n const capture = Boolean(typeof options === 'object' ? options.capture : options);\n const listenerFunction = (event) => {\n const delegateTarget = safeClosest(event, selector);\n if (delegateTarget) {\n const delegateEvent = Object.assign(event, { delegateTarget });\n callback.call(baseElement, delegateEvent);\n if (once) {\n baseElement.removeEventListener(type, listenerFunction, nativeListenerOptions);\n editLedger(false, baseElement, callback, setup);\n }\n }\n };\n const setup = JSON.stringify({ selector, type, capture });\n const isAlreadyListening = editLedger(true, baseElement, callback, setup);\n if (!isAlreadyListening) {\n baseElement.addEventListener(type, listenerFunction, nativeListenerOptions);\n }\n signal?.addEventListener('abort', () => {\n editLedger(false, baseElement, callback, setup);\n });\n}\nexport default delegate;\n","import t from\"delegate-it\";import{match as e}from\"path-to-regexp\";function i(){return i=Object.assign?Object.assign.bind():function(t){for(var e=1;eString(t).toLowerCase().replace(/[\\s/_.]+/g,\"-\").replace(/[^\\w-]+/g,\"\").replace(/--+/g,\"-\").replace(/^-+|-+$/g,\"\")||e||\"\",n=({hash:t}={})=>window.location.pathname+window.location.search+(t?window.location.hash:\"\"),o=(t,e={})=>{const s=i({url:t=t||n({hash:!0}),random:Math.random(),source:\"swup\"},e);window.history.pushState(s,\"\",t)},r=(t=null,e={})=>{t=t||n({hash:!0});const s=i({},window.history.state||{},{url:t,random:Math.random(),source:\"swup\"},e);window.history.replaceState(s,\"\",t)},a=(e,s,n,o)=>{const r=new AbortController;return o=i({},o,{signal:r.signal}),t(e,s,n,o),{destroy:()=>r.abort()}};class l extends URL{constructor(t,e=document.baseURI){super(t.toString(),e),Object.setPrototypeOf(this,l.prototype)}get url(){return this.pathname+this.search}static fromElement(t){const e=t.getAttribute(\"href\")||t.getAttribute(\"xlink:href\")||\"\";return new l(e)}static fromUrl(t){return new l(t)}}const h=(t,i)=>{try{return e(t,i)}catch(e){throw new Error(`[swup] Error parsing path \"${String(t)}\":\\n${String(e)}`)}};class c extends Error{constructor(t,e){super(t),this.url=void 0,this.status=void 0,this.aborted=void 0,this.timedOut=void 0,this.name=\"FetchError\",this.url=e.url,this.status=e.status,this.aborted=e.aborted||!1,this.timedOut=e.timedOut||!1}}async function u(t,e={}){var s;t=l.fromUrl(t).url;const{visit:n=this.visit}=e,o=i({},this.options.requestHeaders,e.headers),r=null!=(s=e.timeout)?s:this.options.timeout,a=new AbortController,{signal:h}=a;e=i({},e,{headers:o,signal:h});let u,d=!1,p=null;r&&r>0&&(p=setTimeout(()=>{d=!0,a.abort(\"timeout\")},r));try{u=await this.hooks.call(\"fetch:request\",n,{url:t,options:e},(t,{url:e,options:i})=>fetch(e,i)),p&&clearTimeout(p)}catch(e){if(d)throw this.hooks.call(\"fetch:timeout\",n,{url:t}),new c(`Request timed out: ${t}`,{url:t,timedOut:d});if(\"AbortError\"===(null==e?void 0:e.name)||h.aborted)throw new c(`Request aborted: ${t}`,{url:t,aborted:!0});throw e}const{status:m,url:w}=u,g=await u.text();if(500===m)throw this.hooks.call(\"fetch:error\",n,{status:m,response:u,url:w}),new c(`Server error: ${w}`,{status:m,url:w});if(!g)throw new c(`Empty response: ${w}`,{status:m,url:w});const{url:f}=l.fromUrl(w),v={url:f,html:g};return!n.cache.write||e.method&&\"GET\"!==e.method||t!==f||this.cache.set(v.url,v),v}class d{constructor(t){this.swup=void 0,this.pages=new Map,this.swup=t}get size(){return this.pages.size}get all(){const t=new Map;return this.pages.forEach((e,s)=>{t.set(s,i({},e))}),t}has(t){return this.pages.has(this.resolve(t))}get(t){const e=this.pages.get(this.resolve(t));return e?i({},e):e}set(t,e){e=i({},e,{url:t=this.resolve(t)}),this.pages.set(t,e),this.swup.hooks.callSync(\"cache:set\",void 0,{page:e})}update(t,e){t=this.resolve(t);const s=i({},this.get(t),e,{url:t});this.pages.set(t,s)}delete(t){this.pages.delete(this.resolve(t))}clear(){this.pages.clear(),this.swup.hooks.callSync(\"cache:clear\",void 0,void 0)}prune(t){this.pages.forEach((e,i)=>{t(i,e)&&this.delete(i)})}resolve(t){const{url:e}=l.fromUrl(t);return this.swup.resolveUrl(e)}}const p=(t,e=document)=>e.querySelector(t),m=(t,e=document)=>Array.from(e.querySelectorAll(t)),w=()=>new Promise(t=>{requestAnimationFrame(()=>{requestAnimationFrame(()=>{t()})})});function g(t){return!!t&&(\"object\"==typeof t||\"function\"==typeof t)&&\"function\"==typeof t.then}function f(t,e=[]){return new Promise((i,s)=>{const n=t(...e);g(n)?n.then(i,s):i(n)})}function v(t){var e;null==(e=t=t||document.body)||e.getBoundingClientRect()}function y(t,e){const i=null==t?void 0:t.closest(`[${e}]`);return null!=i&&i.hasAttribute(e)?(null==i?void 0:i.getAttribute(e))||!0:void 0}class k{constructor(t){this.swup=void 0,this.swupClasses=[\"to-\",\"is-changing\",\"is-rendering\",\"is-popstate\",\"is-animating\",\"is-leaving\"],this.swup=t}get selectors(){const{scope:t}=this.swup.visit.animation;return\"containers\"===t?this.swup.visit.containers:\"html\"===t?[\"html\"]:Array.isArray(t)?t:[]}get selector(){return this.selectors.join(\",\")}get targets(){return this.selector.trim()?m(this.selector):[]}add(...t){this.targets.forEach(e=>e.classList.add(...t))}remove(...t){this.targets.forEach(e=>e.classList.remove(...t))}clear(){this.targets.forEach(t=>{const e=t.className.split(\" \").filter(t=>this.isSwupClass(t));t.classList.remove(...e)})}isSwupClass(t){return this.swupClasses.some(e=>t.startsWith(e))}}class b{constructor(t,e){this.id=void 0,this.state=void 0,this.from=void 0,this.to=void 0,this.containers=void 0,this.animation=void 0,this.trigger=void 0,this.cache=void 0,this.history=void 0,this.scroll=void 0;const{to:i,from:s,hash:n,el:o,event:r}=e;this.id=Math.random(),this.state=1,this.from={url:null!=s?s:t.location.url,hash:t.location.hash},this.to={url:i,hash:n},this.containers=t.options.containers,this.animation={animate:!0,wait:!1,name:void 0,native:t.options.native,scope:t.options.animationScope,selector:t.options.animationSelector},this.trigger={el:o,event:r},this.cache={read:t.options.cache,write:t.options.cache},this.history={action:\"push\",popstate:!1,direction:void 0},this.scroll={reset:!0,target:void 0}}advance(t){this.state=7}}function S(t){return new b(this,t)}class E{constructor(t){this.swup=void 0,this.registry=new Map,this.hooks=[\"animation:out:start\",\"animation:out:await\",\"animation:out:end\",\"animation:in:start\",\"animation:in:await\",\"animation:in:end\",\"animation:skip\",\"cache:clear\",\"cache:set\",\"content:replace\",\"content:scroll\",\"enable\",\"disable\",\"fetch:request\",\"fetch:error\",\"fetch:timeout\",\"history:popstate\",\"link:click\",\"link:self\",\"link:anchor\",\"link:newtab\",\"page:load\",\"page:view\",\"scroll:top\",\"scroll:anchor\",\"visit:start\",\"visit:transition\",\"visit:abort\",\"visit:end\"],this.swup=t,this.init()}init(){this.hooks.forEach(t=>this.create(t))}create(t){this.registry.has(t)||this.registry.set(t,new Map)}exists(t){return this.registry.has(t)}get(t){const e=this.registry.get(t);if(e)return e;console.error(`Unknown hook '${t}'`)}clear(){this.registry.forEach(t=>t.clear())}on(t,e,s={}){const n=this.get(t);if(!n)return console.warn(`Hook '${t}' not found.`),()=>{};const o=i({},s,{id:n.size+1,hook:t,handler:e});return n.set(e,o),()=>this.off(t,e)}before(t,e,s={}){return this.on(t,e,i({},s,{before:!0}))}replace(t,e,s={}){return this.on(t,e,i({},s,{replace:!0}))}once(t,e,s={}){return this.on(t,e,i({},s,{once:!0}))}off(t,e){const i=this.get(t);i&&e?i.delete(e)||console.warn(`Handler for hook '${t}' not found.`):i&&i.clear()}async call(t,e,i,s){const[n,o,r]=this.parseCallArgs(t,e,i,s),{before:a,handler:l,after:h}=this.getHandlers(t,r);await this.run(a,n,o);const[c]=await this.run(l,n,o,!0);return await this.run(h,n,o),this.dispatchDomEvent(t,n,o),c}callSync(t,e,i,s){const[n,o,r]=this.parseCallArgs(t,e,i,s),{before:a,handler:l,after:h}=this.getHandlers(t,r);this.runSync(a,n,o);const[c]=this.runSync(l,n,o,!0);return this.runSync(h,n,o),this.dispatchDomEvent(t,n,o),c}parseCallArgs(t,e,i,s){return e instanceof b||\"object\"!=typeof e&&\"function\"!=typeof i?[e,i,s]:[void 0,e,i]}async run(t,e=this.swup.visit,i,s=!1){const n=[];for(const{hook:o,handler:r,defaultHandler:a,once:l}of t)if(null==e||!e.done){l&&this.off(o,r);try{const t=await f(r,[e,i,a]);n.push(t)}catch(t){if(s)throw t;console.error(`Error in hook '${o}':`,t)}}return n}runSync(t,e=this.swup.visit,i,s=!1){const n=[];for(const{hook:o,handler:r,defaultHandler:a,once:l}of t)if(null==e||!e.done){l&&this.off(o,r);try{const t=r(e,i,a);n.push(t),g(t)&&console.warn(`Swup will not await Promises in handler for synchronous hook '${o}'.`)}catch(t){if(s)throw t;console.error(`Error in hook '${o}':`,t)}}return n}getHandlers(t,e){const i=this.get(t);if(!i)return{found:!1,before:[],handler:[],after:[],replaced:!1};const s=Array.from(i.values()),n=this.sortRegistrations,o=s.filter(({before:t,replace:e})=>t&&!e).sort(n),r=s.filter(({replace:t})=>t).filter(t=>!0).sort(n),a=s.filter(({before:t,replace:e})=>!t&&!e).sort(n),l=r.length>0;let h=[];if(e&&(h=[{id:0,hook:t,handler:e}],l)){const i=r.length-1,s=t=>{const i=r[t-1];return i?(e,n)=>i.handler(e,n,s(t-1)):e};h=[{id:0,hook:t,handler:r[i].handler,defaultHandler:s(i)}]}return{found:!0,before:o,handler:h,after:a,replaced:l}}sortRegistrations(t,e){var i,s;return(null!=(i=t.priority)?i:0)-(null!=(s=e.priority)?s:0)||t.id-e.id||0}dispatchDomEvent(t,e,i){if(null!=e&&e.done)return;const s={hook:t,args:i,visit:e||this.swup.visit};document.dispatchEvent(new CustomEvent(\"swup:any\",{detail:s,bubbles:!0})),document.dispatchEvent(new CustomEvent(`swup:${t}`,{detail:s,bubbles:!0}))}}const C=t=>{if(t&&\"#\"===t.charAt(0)&&(t=t.substring(1)),!t)return null;const e=decodeURIComponent(t);let i=document.getElementById(t)||document.getElementById(e)||p(`a[name='${CSS.escape(t)}']`)||p(`a[name='${CSS.escape(e)}']`);return i||\"top\"!==t||(i=document.body),i},U=\"transition\",P=\"animation\";async function $({selector:t,elements:e}){if(!1===t&&!e)return;let i=[];if(e)i=Array.from(e);else if(t&&(i=m(t,document.body),!i.length))return void console.warn(`[swup] No elements found matching animationSelector \\`${t}\\``);const s=i.map(t=>function(t){const{type:e,timeout:i,propCount:s}=function(t){const e=window.getComputedStyle(t),i=x(e,`${U}Delay`),s=x(e,`${U}Duration`),n=A(i,s),o=x(e,`${P}Delay`),r=x(e,`${P}Duration`),a=A(o,r),l=Math.max(n,a),h=l>0?n>a?U:P:null;return{type:h,timeout:l,propCount:h?h===U?s.length:r.length:0}}(t);return!(!e||!i)&&new Promise(n=>{const o=`${e}end`,r=performance.now();let a=0;const l=()=>{t.removeEventListener(o,h),n()},h=e=>{e.target===t&&((performance.now()-r)/1e3=s&&l())};setTimeout(()=>{a0?await Promise.all(s):t&&console.warn(`[swup] No CSS animation duration defined on elements matching \\`${t}\\``)}function x(t,e){return(t[e]||\"\").split(\", \")}function A(t,e){for(;t.lengthH(e)+H(t[i])))}function H(t){return 1e3*parseFloat(t)}function V(t,e={},s={}){if(\"string\"!=typeof t)throw new Error(\"swup.navigate() requires a URL parameter\");if(this.shouldIgnoreVisit(t,{el:s.el,event:s.event}))return void window.location.assign(t);const{url:n,hash:o}=l.fromUrl(t),r=this.createVisit(i({},s,{to:n,hash:o}));this.performNavigation(r,e)}async function I(t,e={}){if(this.navigating){if(this.visit.state>=6)return t.state=2,void(this.onVisitEnd=()=>this.performNavigation(t,e));await this.hooks.call(\"visit:abort\",this.visit,void 0),delete this.visit.to.document,this.visit.state=8}this.navigating=!0,this.visit=t;const{el:i}=t.trigger;e.referrer=e.referrer||this.location.url,!1===e.animate&&(t.animation.animate=!1),t.animation.animate||this.classes.clear();const n=e.history||y(i,\"data-swup-history\");\"string\"==typeof n&&[\"push\",\"replace\"].includes(n)&&(t.history.action=n);const a=e.animation||y(i,\"data-swup-animation\");var h,c;\"string\"==typeof a&&(t.animation.name=a),\"object\"==typeof e.cache?(t.cache.read=null!=(h=e.cache.read)?h:t.cache.read,t.cache.write=null!=(c=e.cache.write)?c:t.cache.write):void 0!==e.cache&&(t.cache={read:!!e.cache,write:!!e.cache}),delete e.cache;try{await this.hooks.call(\"visit:start\",t,void 0),t.state=3;const i=this.hooks.call(\"page:load\",t,{options:e},async(t,e)=>{let i;return t.cache.read&&(i=this.cache.get(t.to.url)),e.page=i||await this.fetchPage(t.to.url,e.options),e.cache=!!i,e.page});i.then(({html:e})=>{t.advance(5),t.to.html=e,t.to.document=(new DOMParser).parseFromString(e,\"text/html\")});const n=t.to.url+t.to.hash;if(t.history.popstate||(\"replace\"===t.history.action||t.to.url===this.location.url?r(n):(this.currentHistoryIndex++,o(n,{index:this.currentHistoryIndex}))),this.location=l.fromUrl(n),t.history.popstate&&this.classes.add(\"is-popstate\"),t.animation.name&&this.classes.add(`to-${s(t.animation.name)}`),t.animation.wait&&await i,t.done)return;if(await this.hooks.call(\"visit:transition\",t,void 0,async()=>{if(!t.animation.animate)return await this.hooks.call(\"animation:skip\",void 0),void await this.renderPage(t,await i);t.advance(4),await this.animatePageOut(t),t.animation.native&&document.startViewTransition?await document.startViewTransition(async()=>await this.renderPage(t,await i)).finished:await this.renderPage(t,await i),await this.animatePageIn(t)}),t.done)return;await this.hooks.call(\"visit:end\",t,void 0,()=>this.classes.clear()),t.state=7,this.navigating=!1,this.onVisitEnd&&(this.onVisitEnd(),this.onVisitEnd=void 0)}catch(e){if(!e||null!=e&&e.aborted)return void(t.state=8);t.state=9,console.error(e),this.options.skipPopStateHandling=()=>(window.location.assign(t.to.url+t.to.hash),!0),window.history.back()}finally{delete t.to.document}}const L=async function(t){await this.hooks.call(\"animation:out:start\",t,void 0,()=>{this.classes.add(\"is-changing\",\"is-animating\",\"is-leaving\")}),await this.hooks.call(\"animation:out:await\",t,{skip:!1},(t,{skip:e})=>{if(!e)return this.awaitAnimations({selector:t.animation.selector})}),await this.hooks.call(\"animation:out:end\",t,void 0)},q=function(t){var e;const i=t.to.document;if(!i)return!1;const s=(null==(e=i.querySelector(\"title\"))?void 0:e.innerText)||\"\";document.title=s;const n=m('[data-swup-persist]:not([data-swup-persist=\"\"])'),o=t.containers.map(t=>{const e=document.querySelector(t),s=i.querySelector(t);return e&&s?(e.replaceWith(s.cloneNode(!0)),!0):(e||console.warn(`[swup] Container missing in current document: ${t}`),s||console.warn(`[swup] Container missing in incoming document: ${t}`),!1)}).filter(Boolean);return n.forEach(t=>{const e=t.getAttribute(\"data-swup-persist\"),i=p(`[data-swup-persist=\"${e}\"]`);i&&i!==t&&i.replaceWith(t)}),o.length===t.containers.length},R=function(t){const e={behavior:\"auto\"},{target:s,reset:n}=t.scroll,o=null!=s?s:t.to.hash;let r=!1;return o&&(r=this.hooks.callSync(\"scroll:anchor\",t,{hash:o,options:e},(t,{hash:e,options:i})=>{const s=this.getAnchorElement(e);return s&&s.scrollIntoView(i),!!s})),n&&!r&&(r=this.hooks.callSync(\"scroll:top\",t,{options:e},(t,{options:e})=>(window.scrollTo(i({top:0,left:0},e)),!0))),r},T=async function(t){if(t.done)return;const e=this.hooks.call(\"animation:in:await\",t,{skip:!1},(t,{skip:e})=>{if(!e)return this.awaitAnimations({selector:t.animation.selector})});await w(),await this.hooks.call(\"animation:in:start\",t,void 0,()=>{this.classes.remove(\"is-animating\")}),await e,await this.hooks.call(\"animation:in:end\",t,void 0)},N=async function(t,e){if(t.done)return;t.advance(6);const{url:i}=e;this.isSameResolvedUrl(n(),i)||(r(i),this.location=l.fromUrl(i),t.to.url=this.location.url,t.to.hash=this.location.hash),await this.hooks.call(\"content:replace\",t,{page:e},(t,{})=>{if(this.classes.remove(\"is-leaving\"),t.animation.animate&&this.classes.add(\"is-rendering\"),!this.replaceContent(t))throw new Error(\"[swup] Container mismatch, aborting\");t.animation.animate&&(this.classes.add(\"is-changing\",\"is-animating\",\"is-rendering\"),t.animation.name&&this.classes.add(`to-${s(t.animation.name)}`))}),await this.hooks.call(\"content:scroll\",t,void 0,()=>this.scrollToContent(t)),await this.hooks.call(\"page:view\",t,{url:this.location.url,title:document.title})},O=function(t){var e;if(e=t,Boolean(null==e?void 0:e.isSwupPlugin)){if(t.swup=this,!t._checkRequirements||t._checkRequirements())return t._beforeMount&&t._beforeMount(),t.mount(),this.plugins.push(t),this.plugins}else console.error(\"Not a swup plugin instance\",t)};function D(t){const e=this.findPlugin(t);if(e)return e.unmount(),e._afterUnmount&&e._afterUnmount(),this.plugins=this.plugins.filter(t=>t!==e),this.plugins;console.error(\"No such plugin\",e)}function M(t){return this.plugins.find(e=>e===t||e.name===t||e.name===`Swup${String(t)}`)}function W(t){if(\"function\"!=typeof this.options.resolveUrl)return console.warn(\"[swup] options.resolveUrl expects a callback function.\"),t;const e=this.options.resolveUrl(t);return e&&\"string\"==typeof e?e.startsWith(\"//\")||e.startsWith(\"http\")?(console.warn(\"[swup] options.resolveUrl needs to return a relative url\"),t):e:(console.warn(\"[swup] options.resolveUrl needs to return a url\"),t)}function B(t,e){return this.resolveUrl(t)===this.resolveUrl(e)}const _={animateHistoryBrowsing:!1,animationSelector:'[class*=\"transition-\"]',animationScope:\"html\",cache:!0,containers:[\"#swup\"],ignoreVisit:(t,{el:e}={})=>!(null==e||!e.closest(\"[data-no-swup]\")),linkSelector:\"a[href]\",linkToSelf:\"scroll\",native:!1,plugins:[],resolveUrl:t=>t,requestHeaders:{\"X-Requested-With\":\"swup\",Accept:\"text/html, application/xhtml+xml\"},skipPopStateHandling:t=>{var e;return\"swup\"!==(null==(e=t.state)?void 0:e.source)},timeout:0};class j{get currentPageUrl(){return this.location.url}constructor(t={}){var e,s;this.version=\"4.7.0\",this.options=void 0,this.defaults=_,this.plugins=[],this.visit=void 0,this.cache=void 0,this.hooks=void 0,this.classes=void 0,this.location=l.fromUrl(window.location.href),this.currentHistoryIndex=void 0,this.clickDelegate=void 0,this.navigating=!1,this.onVisitEnd=void 0,this.use=O,this.unuse=D,this.findPlugin=M,this.log=()=>{},this.navigate=V,this.performNavigation=I,this.createVisit=S,this.delegateEvent=a,this.fetchPage=u,this.awaitAnimations=$,this.renderPage=N,this.replaceContent=q,this.animatePageIn=T,this.animatePageOut=L,this.scrollToContent=R,this.getAnchorElement=C,this.getCurrentUrl=n,this.resolveUrl=W,this.isSameResolvedUrl=B,this.options=i({},this.defaults,t),this.handleLinkClick=this.handleLinkClick.bind(this),this.handlePopState=this.handlePopState.bind(this),this.cache=new d(this),this.classes=new k(this),this.hooks=new E(this),this.visit=this.createVisit({to:\"\"}),this.currentHistoryIndex=null!=(e=null==(s=window.history.state)?void 0:s.index)?e:1,this.enable()}async enable(){var t;const{linkSelector:e}=this.options;this.clickDelegate=this.delegateEvent(e,\"click\",this.handleLinkClick),window.addEventListener(\"popstate\",this.handlePopState),this.options.animateHistoryBrowsing&&(window.history.scrollRestoration=\"manual\"),this.options.native=this.options.native&&!!document.startViewTransition,this.options.plugins.forEach(t=>this.use(t)),\"swup\"!==(null==(t=window.history.state)?void 0:t.source)&&r(null,{index:this.currentHistoryIndex}),await w(),await this.hooks.call(\"enable\",void 0,void 0,()=>{const t=document.documentElement;t.classList.add(\"swup-enabled\"),t.classList.toggle(\"swup-native\",this.options.native)})}async destroy(){this.clickDelegate.destroy(),window.removeEventListener(\"popstate\",this.handlePopState),this.cache.clear(),this.options.plugins.forEach(t=>this.unuse(t)),await this.hooks.call(\"disable\",void 0,void 0,()=>{const t=document.documentElement;t.classList.remove(\"swup-enabled\"),t.classList.remove(\"swup-native\")}),this.hooks.clear()}shouldIgnoreVisit(t,{el:e,event:i}={}){const{origin:s,url:n,hash:o}=l.fromUrl(t);return s!==window.location.origin||!(!e||!this.triggerWillOpenNewWindow(e))||!!this.options.ignoreVisit(n+o,{el:e,event:i})}handleLinkClick(t){const e=t.delegateTarget,{href:i,url:s,hash:n}=l.fromElement(e);if(this.shouldIgnoreVisit(i,{el:e,event:t}))return;if(this.navigating&&s===this.visit.to.url)return void t.preventDefault();const o=this.createVisit({to:s,hash:n,el:e,event:t});t.metaKey||t.ctrlKey||t.shiftKey||t.altKey?this.hooks.callSync(\"link:newtab\",o,{href:i}):0===t.button&&this.hooks.callSync(\"link:click\",o,{el:e,event:t},()=>{var e;const i=null!=(e=o.from.url)?e:\"\";t.preventDefault(),s&&s!==i?this.isSameResolvedUrl(s,i)||this.performNavigation(o):n?this.hooks.callSync(\"link:anchor\",o,{hash:n},()=>{r(s+n),this.scrollToContent(o)}):this.hooks.callSync(\"link:self\",o,void 0,()=>{\"navigate\"===this.options.linkToSelf?this.performNavigation(o):(r(s),this.scrollToContent(o))})})}handlePopState(t){var e,i,s,o;const r=null!=(e=null==(i=t.state)?void 0:i.url)?e:window.location.href;if(this.options.skipPopStateHandling(t))return;if(this.isSameResolvedUrl(n(),this.location.url))return;const{url:a,hash:h}=l.fromUrl(r),c=this.createVisit({to:a,hash:h,event:t});c.history.popstate=!0;const u=null!=(s=null==(o=t.state)?void 0:o.index)?s:0;u&&u!==this.currentHistoryIndex&&(c.history.direction=u-this.currentHistoryIndex>0?\"forwards\":\"backwards\",this.currentHistoryIndex=u),c.animation.animate=!1,c.scroll.reset=!1,c.scroll.target=!1,this.options.animateHistoryBrowsing&&(c.animation.animate=!0,c.scroll.reset=!0),this.hooks.callSync(\"history:popstate\",c,{event:t},()=>{this.performNavigation(c)})}triggerWillOpenNewWindow(t){return!!t.matches('[download], [target=\"_blank\"]')}}export{l as Location,s as classify,o as createHistoryRecord,j as default,a as delegateEvent,v as forceReflow,y as getContextualAttr,n as getCurrentUrl,g as isPromise,h as matchPath,w as nextTick,p as query,m as queryAll,f as runAsPromise,r as updateHistoryRecord};\n//# sourceMappingURL=Swup.modern.js.map\n"],"names":["ledger","editLedger","wanted","baseElement","callback","setup","elementMap","setups","existed","safeClosest","event","selector","target","closest","delegate","type","options","signal","base","once","nativeListenerOptions","capture","listenerFunction","delegateTarget","delegateEvent","i","t","e","s","n","o","r","a","l$1","l","c","u","h","d","p","m","w","g","v","f","y","k","b","S","E","C","U","P","$","x","A","H","V","I","L","q","R","T","N","O","D","M","W","B","_","j"],"mappings":"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","x_google_ignoreList":[0,1]} \ No newline at end of file +{"version":3,"file":"Swup.modern.BemQoQWS.js","sources":["../../../../../../node_modules/delegate-it/delegate.js","../../node_modules/swup/dist/Swup.modern.js"],"sourcesContent":["/** Keeps track of raw listeners added to the base elements to avoid duplication */\nconst ledger = new WeakMap();\nfunction editLedger(wanted, baseElement, callback, setup) {\n if (!wanted && !ledger.has(baseElement)) {\n return false;\n }\n const elementMap = ledger.get(baseElement)\n ?? new WeakMap();\n ledger.set(baseElement, elementMap);\n const setups = elementMap.get(callback) ?? new Set();\n elementMap.set(callback, setups);\n const existed = setups.has(setup);\n if (wanted) {\n setups.add(setup);\n }\n else {\n setups.delete(setup);\n }\n return existed && wanted;\n}\nfunction safeClosest(event, selector) {\n let target = event.target;\n if (target instanceof Text) {\n target = target.parentElement;\n }\n if (target instanceof Element && event.currentTarget instanceof Element) {\n // `.closest()` may match ancestors of `currentTarget` but we only need its children\n const closest = target.closest(selector);\n if (closest && event.currentTarget.contains(closest)) {\n return closest;\n }\n }\n}\n// This type isn't exported as a declaration, so it needs to be duplicated above\nfunction delegate(selector, type, callback, options = {}) {\n const { signal, base = document } = options;\n if (signal?.aborted) {\n return;\n }\n // Don't pass `once` to `addEventListener` because it needs to be handled in `delegate-it`\n const { once, ...nativeListenerOptions } = options;\n // `document` should never be the base, it's just an easy way to define \"global event listeners\"\n const baseElement = base instanceof Document ? base.documentElement : base;\n // Handle the regular Element usage\n const capture = Boolean(typeof options === 'object' ? options.capture : options);\n const listenerFunction = (event) => {\n const delegateTarget = safeClosest(event, selector);\n if (delegateTarget) {\n const delegateEvent = Object.assign(event, { delegateTarget });\n callback.call(baseElement, delegateEvent);\n if (once) {\n baseElement.removeEventListener(type, listenerFunction, nativeListenerOptions);\n editLedger(false, baseElement, callback, setup);\n }\n }\n };\n const setup = JSON.stringify({ selector, type, capture });\n const isAlreadyListening = editLedger(true, baseElement, callback, setup);\n if (!isAlreadyListening) {\n baseElement.addEventListener(type, listenerFunction, nativeListenerOptions);\n }\n signal?.addEventListener('abort', () => {\n editLedger(false, baseElement, callback, setup);\n });\n}\nexport default delegate;\n","import t from\"delegate-it\";import{match as e}from\"path-to-regexp\";function i(){return i=Object.assign?Object.assign.bind():function(t){for(var e=1;eString(t).toLowerCase().replace(/[\\s/_.]+/g,\"-\").replace(/[^\\w-]+/g,\"\").replace(/--+/g,\"-\").replace(/^-+|-+$/g,\"\")||e||\"\",n=({hash:t}={})=>window.location.pathname+window.location.search+(t?window.location.hash:\"\"),o=(t,e={})=>{const s=i({url:t=t||n({hash:!0}),random:Math.random(),source:\"swup\"},e);window.history.pushState(s,\"\",t)},r=(t=null,e={})=>{t=t||n({hash:!0});const s=i({},window.history.state||{},{url:t,random:Math.random(),source:\"swup\"},e);window.history.replaceState(s,\"\",t)},a=(e,s,n,o)=>{const r=new AbortController;return o=i({},o,{signal:r.signal}),t(e,s,n,o),{destroy:()=>r.abort()}};class l extends URL{constructor(t,e=document.baseURI){super(t.toString(),e),Object.setPrototypeOf(this,l.prototype)}get url(){return this.pathname+this.search}static fromElement(t){const e=t.getAttribute(\"href\")||t.getAttribute(\"xlink:href\")||\"\";return new l(e)}static fromUrl(t){return new l(t)}}const h=(t,i)=>{try{return e(t,i)}catch(e){throw new Error(`[swup] Error parsing path \"${String(t)}\":\\n${String(e)}`)}};class c extends Error{constructor(t,e){super(t),this.url=void 0,this.status=void 0,this.aborted=void 0,this.timedOut=void 0,this.name=\"FetchError\",this.url=e.url,this.status=e.status,this.aborted=e.aborted||!1,this.timedOut=e.timedOut||!1}}async function u(t,e={}){var s;t=l.fromUrl(t).url;const{visit:n=this.visit}=e,o=i({},this.options.requestHeaders,e.headers),r=null!=(s=e.timeout)?s:this.options.timeout,a=new AbortController,{signal:h}=a;e=i({},e,{headers:o,signal:h});let u,d=!1,p=null;r&&r>0&&(p=setTimeout(()=>{d=!0,a.abort(\"timeout\")},r));try{u=await this.hooks.call(\"fetch:request\",n,{url:t,options:e},(t,{url:e,options:i})=>fetch(e,i)),p&&clearTimeout(p)}catch(e){if(d)throw this.hooks.call(\"fetch:timeout\",n,{url:t}),new c(`Request timed out: ${t}`,{url:t,timedOut:d});if(\"AbortError\"===(null==e?void 0:e.name)||h.aborted)throw new c(`Request aborted: ${t}`,{url:t,aborted:!0});throw e}const{status:m,url:w}=u,g=await u.text();if(500===m)throw this.hooks.call(\"fetch:error\",n,{status:m,response:u,url:w}),new c(`Server error: ${w}`,{status:m,url:w});if(!g)throw new c(`Empty response: ${w}`,{status:m,url:w});const{url:f}=l.fromUrl(w),v={url:f,html:g};return!n.cache.write||e.method&&\"GET\"!==e.method||t!==f||this.cache.set(v.url,v),v}class d{constructor(t){this.swup=void 0,this.pages=new Map,this.swup=t}get size(){return this.pages.size}get all(){const t=new Map;return this.pages.forEach((e,s)=>{t.set(s,i({},e))}),t}has(t){return this.pages.has(this.resolve(t))}get(t){const e=this.pages.get(this.resolve(t));return e?i({},e):e}set(t,e){e=i({},e,{url:t=this.resolve(t)}),this.pages.set(t,e),this.swup.hooks.callSync(\"cache:set\",void 0,{page:e})}update(t,e){t=this.resolve(t);const s=i({},this.get(t),e,{url:t});this.pages.set(t,s)}delete(t){this.pages.delete(this.resolve(t))}clear(){this.pages.clear(),this.swup.hooks.callSync(\"cache:clear\",void 0,void 0)}prune(t){this.pages.forEach((e,i)=>{t(i,e)&&this.delete(i)})}resolve(t){const{url:e}=l.fromUrl(t);return this.swup.resolveUrl(e)}}const p=(t,e=document)=>e.querySelector(t),m=(t,e=document)=>Array.from(e.querySelectorAll(t)),w=()=>new Promise(t=>{requestAnimationFrame(()=>{requestAnimationFrame(()=>{t()})})});function g(t){return!!t&&(\"object\"==typeof t||\"function\"==typeof t)&&\"function\"==typeof t.then}function f(t,e=[]){return new Promise((i,s)=>{const n=t(...e);g(n)?n.then(i,s):i(n)})}function v(t){var e;null==(e=t=t||document.body)||e.getBoundingClientRect()}function y(t,e){const i=null==t?void 0:t.closest(`[${e}]`);return null!=i&&i.hasAttribute(e)?(null==i?void 0:i.getAttribute(e))||!0:void 0}class k{constructor(t){this.swup=void 0,this.swupClasses=[\"to-\",\"is-changing\",\"is-rendering\",\"is-popstate\",\"is-animating\",\"is-leaving\"],this.swup=t}get selectors(){const{scope:t}=this.swup.visit.animation;return\"containers\"===t?this.swup.visit.containers:\"html\"===t?[\"html\"]:Array.isArray(t)?t:[]}get selector(){return this.selectors.join(\",\")}get targets(){return this.selector.trim()?m(this.selector):[]}add(...t){this.targets.forEach(e=>e.classList.add(...t))}remove(...t){this.targets.forEach(e=>e.classList.remove(...t))}clear(){this.targets.forEach(t=>{const e=t.className.split(\" \").filter(t=>this.isSwupClass(t));t.classList.remove(...e)})}isSwupClass(t){return this.swupClasses.some(e=>t.startsWith(e))}}class b{constructor(t,e){this.id=void 0,this.state=void 0,this.from=void 0,this.to=void 0,this.containers=void 0,this.animation=void 0,this.trigger=void 0,this.cache=void 0,this.history=void 0,this.scroll=void 0;const{to:i,from:s,hash:n,el:o,event:r}=e;this.id=Math.random(),this.state=1,this.from={url:null!=s?s:t.location.url,hash:t.location.hash},this.to={url:i,hash:n},this.containers=t.options.containers,this.animation={animate:!0,wait:!1,name:void 0,native:t.options.native,scope:t.options.animationScope,selector:t.options.animationSelector},this.trigger={el:o,event:r},this.cache={read:t.options.cache,write:t.options.cache},this.history={action:\"push\",popstate:!1,direction:void 0},this.scroll={reset:!0,target:void 0}}advance(t){this.state=7}}function S(t){return new b(this,t)}class E{constructor(t){this.swup=void 0,this.registry=new Map,this.hooks=[\"animation:out:start\",\"animation:out:await\",\"animation:out:end\",\"animation:in:start\",\"animation:in:await\",\"animation:in:end\",\"animation:skip\",\"cache:clear\",\"cache:set\",\"content:replace\",\"content:scroll\",\"enable\",\"disable\",\"fetch:request\",\"fetch:error\",\"fetch:timeout\",\"history:popstate\",\"link:click\",\"link:self\",\"link:anchor\",\"link:newtab\",\"page:load\",\"page:view\",\"scroll:top\",\"scroll:anchor\",\"visit:start\",\"visit:transition\",\"visit:abort\",\"visit:end\"],this.swup=t,this.init()}init(){this.hooks.forEach(t=>this.create(t))}create(t){this.registry.has(t)||this.registry.set(t,new Map)}exists(t){return this.registry.has(t)}get(t){const e=this.registry.get(t);if(e)return e;console.error(`Unknown hook '${t}'`)}clear(){this.registry.forEach(t=>t.clear())}on(t,e,s={}){const n=this.get(t);if(!n)return console.warn(`Hook '${t}' not found.`),()=>{};const o=i({},s,{id:n.size+1,hook:t,handler:e});return n.set(e,o),()=>this.off(t,e)}before(t,e,s={}){return this.on(t,e,i({},s,{before:!0}))}replace(t,e,s={}){return this.on(t,e,i({},s,{replace:!0}))}once(t,e,s={}){return this.on(t,e,i({},s,{once:!0}))}off(t,e){const i=this.get(t);i&&e?i.delete(e)||console.warn(`Handler for hook '${t}' not found.`):i&&i.clear()}async call(t,e,i,s){const[n,o,r]=this.parseCallArgs(t,e,i,s),{before:a,handler:l,after:h}=this.getHandlers(t,r);await this.run(a,n,o);const[c]=await this.run(l,n,o,!0);return await this.run(h,n,o),this.dispatchDomEvent(t,n,o),c}callSync(t,e,i,s){const[n,o,r]=this.parseCallArgs(t,e,i,s),{before:a,handler:l,after:h}=this.getHandlers(t,r);this.runSync(a,n,o);const[c]=this.runSync(l,n,o,!0);return this.runSync(h,n,o),this.dispatchDomEvent(t,n,o),c}parseCallArgs(t,e,i,s){return e instanceof b||\"object\"!=typeof e&&\"function\"!=typeof i?[e,i,s]:[void 0,e,i]}async run(t,e=this.swup.visit,i,s=!1){const n=[];for(const{hook:o,handler:r,defaultHandler:a,once:l}of t)if(null==e||!e.done){l&&this.off(o,r);try{const t=await f(r,[e,i,a]);n.push(t)}catch(t){if(s)throw t;console.error(`Error in hook '${o}':`,t)}}return n}runSync(t,e=this.swup.visit,i,s=!1){const n=[];for(const{hook:o,handler:r,defaultHandler:a,once:l}of t)if(null==e||!e.done){l&&this.off(o,r);try{const t=r(e,i,a);n.push(t),g(t)&&console.warn(`Swup will not await Promises in handler for synchronous hook '${o}'.`)}catch(t){if(s)throw t;console.error(`Error in hook '${o}':`,t)}}return n}getHandlers(t,e){const i=this.get(t);if(!i)return{found:!1,before:[],handler:[],after:[],replaced:!1};const s=Array.from(i.values()),n=this.sortRegistrations,o=s.filter(({before:t,replace:e})=>t&&!e).sort(n),r=s.filter(({replace:t})=>t).filter(t=>!0).sort(n),a=s.filter(({before:t,replace:e})=>!t&&!e).sort(n),l=r.length>0;let h=[];if(e&&(h=[{id:0,hook:t,handler:e}],l)){const i=r.length-1,s=t=>{const i=r[t-1];return i?(e,n)=>i.handler(e,n,s(t-1)):e};h=[{id:0,hook:t,handler:r[i].handler,defaultHandler:s(i)}]}return{found:!0,before:o,handler:h,after:a,replaced:l}}sortRegistrations(t,e){var i,s;return(null!=(i=t.priority)?i:0)-(null!=(s=e.priority)?s:0)||t.id-e.id||0}dispatchDomEvent(t,e,i){if(null!=e&&e.done)return;const s={hook:t,args:i,visit:e||this.swup.visit};document.dispatchEvent(new CustomEvent(\"swup:any\",{detail:s,bubbles:!0})),document.dispatchEvent(new CustomEvent(`swup:${t}`,{detail:s,bubbles:!0}))}}const C=t=>{if(t&&\"#\"===t.charAt(0)&&(t=t.substring(1)),!t)return null;const e=decodeURIComponent(t);let i=document.getElementById(t)||document.getElementById(e)||p(`a[name='${CSS.escape(t)}']`)||p(`a[name='${CSS.escape(e)}']`);return i||\"top\"!==t||(i=document.body),i},U=\"transition\",P=\"animation\";async function $({selector:t,elements:e}){if(!1===t&&!e)return;let i=[];if(e)i=Array.from(e);else if(t&&(i=m(t,document.body),!i.length))return void console.warn(`[swup] No elements found matching animationSelector \\`${t}\\``);const s=i.map(t=>function(t){const{type:e,timeout:i,propCount:s}=function(t){const e=window.getComputedStyle(t),i=x(e,`${U}Delay`),s=x(e,`${U}Duration`),n=A(i,s),o=x(e,`${P}Delay`),r=x(e,`${P}Duration`),a=A(o,r),l=Math.max(n,a),h=l>0?n>a?U:P:null;return{type:h,timeout:l,propCount:h?h===U?s.length:r.length:0}}(t);return!(!e||!i)&&new Promise(n=>{const o=`${e}end`,r=performance.now();let a=0;const l=()=>{t.removeEventListener(o,h),n()},h=e=>{e.target===t&&((performance.now()-r)/1e3=s&&l())};setTimeout(()=>{a0?await Promise.all(s):t&&console.warn(`[swup] No CSS animation duration defined on elements matching \\`${t}\\``)}function x(t,e){return(t[e]||\"\").split(\", \")}function A(t,e){for(;t.lengthH(e)+H(t[i])))}function H(t){return 1e3*parseFloat(t)}function V(t,e={},s={}){if(\"string\"!=typeof t)throw new Error(\"swup.navigate() requires a URL parameter\");if(this.shouldIgnoreVisit(t,{el:s.el,event:s.event}))return void window.location.assign(t);const{url:n,hash:o}=l.fromUrl(t),r=this.createVisit(i({},s,{to:n,hash:o}));this.performNavigation(r,e)}async function I(t,e={}){if(this.navigating){if(this.visit.state>=6)return t.state=2,void(this.onVisitEnd=()=>this.performNavigation(t,e));await this.hooks.call(\"visit:abort\",this.visit,void 0),delete this.visit.to.document,this.visit.state=8}this.navigating=!0,this.visit=t;const{el:i}=t.trigger;e.referrer=e.referrer||this.location.url,!1===e.animate&&(t.animation.animate=!1),t.animation.animate||this.classes.clear();const n=e.history||y(i,\"data-swup-history\");\"string\"==typeof n&&[\"push\",\"replace\"].includes(n)&&(t.history.action=n);const a=e.animation||y(i,\"data-swup-animation\");var h,c;\"string\"==typeof a&&(t.animation.name=a),\"object\"==typeof e.cache?(t.cache.read=null!=(h=e.cache.read)?h:t.cache.read,t.cache.write=null!=(c=e.cache.write)?c:t.cache.write):void 0!==e.cache&&(t.cache={read:!!e.cache,write:!!e.cache}),delete e.cache;try{await this.hooks.call(\"visit:start\",t,void 0),t.state=3;const i=this.hooks.call(\"page:load\",t,{options:e},async(t,e)=>{let i;return t.cache.read&&(i=this.cache.get(t.to.url)),e.page=i||await this.fetchPage(t.to.url,e.options),e.cache=!!i,e.page});i.then(({html:e})=>{t.advance(5),t.to.html=e,t.to.document=(new DOMParser).parseFromString(e,\"text/html\")});const n=t.to.url+t.to.hash;if(t.history.popstate||(\"replace\"===t.history.action||t.to.url===this.location.url?r(n):(this.currentHistoryIndex++,o(n,{index:this.currentHistoryIndex}))),this.location=l.fromUrl(n),t.history.popstate&&this.classes.add(\"is-popstate\"),t.animation.name&&this.classes.add(`to-${s(t.animation.name)}`),t.animation.wait&&await i,t.done)return;if(await this.hooks.call(\"visit:transition\",t,void 0,async()=>{if(!t.animation.animate)return await this.hooks.call(\"animation:skip\",void 0),void await this.renderPage(t,await i);t.advance(4),await this.animatePageOut(t),t.animation.native&&document.startViewTransition?await document.startViewTransition(async()=>await this.renderPage(t,await i)).finished:await this.renderPage(t,await i),await this.animatePageIn(t)}),t.done)return;await this.hooks.call(\"visit:end\",t,void 0,()=>this.classes.clear()),t.state=7,this.navigating=!1,this.onVisitEnd&&(this.onVisitEnd(),this.onVisitEnd=void 0)}catch(e){if(!e||null!=e&&e.aborted)return void(t.state=8);t.state=9,console.error(e),this.options.skipPopStateHandling=()=>(window.location.assign(t.to.url+t.to.hash),!0),window.history.back()}finally{delete t.to.document}}const L=async function(t){await this.hooks.call(\"animation:out:start\",t,void 0,()=>{this.classes.add(\"is-changing\",\"is-animating\",\"is-leaving\")}),await this.hooks.call(\"animation:out:await\",t,{skip:!1},(t,{skip:e})=>{if(!e)return this.awaitAnimations({selector:t.animation.selector})}),await this.hooks.call(\"animation:out:end\",t,void 0)},q=function(t){var e;const i=t.to.document;if(!i)return!1;const s=(null==(e=i.querySelector(\"title\"))?void 0:e.innerText)||\"\";document.title=s;const n=m('[data-swup-persist]:not([data-swup-persist=\"\"])'),o=t.containers.map(t=>{const e=document.querySelector(t),s=i.querySelector(t);return e&&s?(e.replaceWith(s.cloneNode(!0)),!0):(e||console.warn(`[swup] Container missing in current document: ${t}`),s||console.warn(`[swup] Container missing in incoming document: ${t}`),!1)}).filter(Boolean);return n.forEach(t=>{const e=t.getAttribute(\"data-swup-persist\"),i=p(`[data-swup-persist=\"${e}\"]`);i&&i!==t&&i.replaceWith(t)}),o.length===t.containers.length},R=function(t){const e={behavior:\"auto\"},{target:s,reset:n}=t.scroll,o=null!=s?s:t.to.hash;let r=!1;return o&&(r=this.hooks.callSync(\"scroll:anchor\",t,{hash:o,options:e},(t,{hash:e,options:i})=>{const s=this.getAnchorElement(e);return s&&s.scrollIntoView(i),!!s})),n&&!r&&(r=this.hooks.callSync(\"scroll:top\",t,{options:e},(t,{options:e})=>(window.scrollTo(i({top:0,left:0},e)),!0))),r},T=async function(t){if(t.done)return;const e=this.hooks.call(\"animation:in:await\",t,{skip:!1},(t,{skip:e})=>{if(!e)return this.awaitAnimations({selector:t.animation.selector})});await w(),await this.hooks.call(\"animation:in:start\",t,void 0,()=>{this.classes.remove(\"is-animating\")}),await e,await this.hooks.call(\"animation:in:end\",t,void 0)},N=async function(t,e){if(t.done)return;t.advance(6);const{url:i}=e;this.isSameResolvedUrl(n(),i)||(r(i),this.location=l.fromUrl(i),t.to.url=this.location.url,t.to.hash=this.location.hash),await this.hooks.call(\"content:replace\",t,{page:e},(t,{})=>{if(this.classes.remove(\"is-leaving\"),t.animation.animate&&this.classes.add(\"is-rendering\"),!this.replaceContent(t))throw new Error(\"[swup] Container mismatch, aborting\");t.animation.animate&&(this.classes.add(\"is-changing\",\"is-animating\",\"is-rendering\"),t.animation.name&&this.classes.add(`to-${s(t.animation.name)}`))}),await this.hooks.call(\"content:scroll\",t,void 0,()=>this.scrollToContent(t)),await this.hooks.call(\"page:view\",t,{url:this.location.url,title:document.title})},O=function(t){var e;if(e=t,Boolean(null==e?void 0:e.isSwupPlugin)){if(t.swup=this,!t._checkRequirements||t._checkRequirements())return t._beforeMount&&t._beforeMount(),t.mount(),this.plugins.push(t),this.plugins}else console.error(\"Not a swup plugin instance\",t)};function D(t){const e=this.findPlugin(t);if(e)return e.unmount(),e._afterUnmount&&e._afterUnmount(),this.plugins=this.plugins.filter(t=>t!==e),this.plugins;console.error(\"No such plugin\",e)}function M(t){return this.plugins.find(e=>e===t||e.name===t||e.name===`Swup${String(t)}`)}function W(t){if(\"function\"!=typeof this.options.resolveUrl)return console.warn(\"[swup] options.resolveUrl expects a callback function.\"),t;const e=this.options.resolveUrl(t);return e&&\"string\"==typeof e?e.startsWith(\"//\")||e.startsWith(\"http\")?(console.warn(\"[swup] options.resolveUrl needs to return a relative url\"),t):e:(console.warn(\"[swup] options.resolveUrl needs to return a url\"),t)}function B(t,e){return this.resolveUrl(t)===this.resolveUrl(e)}const _={animateHistoryBrowsing:!1,animationSelector:'[class*=\"transition-\"]',animationScope:\"html\",cache:!0,containers:[\"#swup\"],ignoreVisit:(t,{el:e}={})=>!(null==e||!e.closest(\"[data-no-swup]\")),linkSelector:\"a[href]\",linkToSelf:\"scroll\",native:!1,plugins:[],resolveUrl:t=>t,requestHeaders:{\"X-Requested-With\":\"swup\",Accept:\"text/html, application/xhtml+xml\"},skipPopStateHandling:t=>{var e;return\"swup\"!==(null==(e=t.state)?void 0:e.source)},timeout:0};class j{get currentPageUrl(){return this.location.url}constructor(t={}){var e,s;this.version=\"4.7.0\",this.options=void 0,this.defaults=_,this.plugins=[],this.visit=void 0,this.cache=void 0,this.hooks=void 0,this.classes=void 0,this.location=l.fromUrl(window.location.href),this.currentHistoryIndex=void 0,this.clickDelegate=void 0,this.navigating=!1,this.onVisitEnd=void 0,this.use=O,this.unuse=D,this.findPlugin=M,this.log=()=>{},this.navigate=V,this.performNavigation=I,this.createVisit=S,this.delegateEvent=a,this.fetchPage=u,this.awaitAnimations=$,this.renderPage=N,this.replaceContent=q,this.animatePageIn=T,this.animatePageOut=L,this.scrollToContent=R,this.getAnchorElement=C,this.getCurrentUrl=n,this.resolveUrl=W,this.isSameResolvedUrl=B,this.options=i({},this.defaults,t),this.handleLinkClick=this.handleLinkClick.bind(this),this.handlePopState=this.handlePopState.bind(this),this.cache=new d(this),this.classes=new k(this),this.hooks=new E(this),this.visit=this.createVisit({to:\"\"}),this.currentHistoryIndex=null!=(e=null==(s=window.history.state)?void 0:s.index)?e:1,this.enable()}async enable(){var t;const{linkSelector:e}=this.options;this.clickDelegate=this.delegateEvent(e,\"click\",this.handleLinkClick),window.addEventListener(\"popstate\",this.handlePopState),this.options.animateHistoryBrowsing&&(window.history.scrollRestoration=\"manual\"),this.options.native=this.options.native&&!!document.startViewTransition,this.options.plugins.forEach(t=>this.use(t)),\"swup\"!==(null==(t=window.history.state)?void 0:t.source)&&r(null,{index:this.currentHistoryIndex}),await w(),await this.hooks.call(\"enable\",void 0,void 0,()=>{const t=document.documentElement;t.classList.add(\"swup-enabled\"),t.classList.toggle(\"swup-native\",this.options.native)})}async destroy(){this.clickDelegate.destroy(),window.removeEventListener(\"popstate\",this.handlePopState),this.cache.clear(),this.options.plugins.forEach(t=>this.unuse(t)),await this.hooks.call(\"disable\",void 0,void 0,()=>{const t=document.documentElement;t.classList.remove(\"swup-enabled\"),t.classList.remove(\"swup-native\")}),this.hooks.clear()}shouldIgnoreVisit(t,{el:e,event:i}={}){const{origin:s,url:n,hash:o}=l.fromUrl(t);return s!==window.location.origin||!(!e||!this.triggerWillOpenNewWindow(e))||!!this.options.ignoreVisit(n+o,{el:e,event:i})}handleLinkClick(t){const e=t.delegateTarget,{href:i,url:s,hash:n}=l.fromElement(e);if(this.shouldIgnoreVisit(i,{el:e,event:t}))return;if(this.navigating&&s===this.visit.to.url)return void t.preventDefault();const o=this.createVisit({to:s,hash:n,el:e,event:t});t.metaKey||t.ctrlKey||t.shiftKey||t.altKey?this.hooks.callSync(\"link:newtab\",o,{href:i}):0===t.button&&this.hooks.callSync(\"link:click\",o,{el:e,event:t},()=>{var e;const i=null!=(e=o.from.url)?e:\"\";t.preventDefault(),s&&s!==i?this.isSameResolvedUrl(s,i)||this.performNavigation(o):n?this.hooks.callSync(\"link:anchor\",o,{hash:n},()=>{r(s+n),this.scrollToContent(o)}):this.hooks.callSync(\"link:self\",o,void 0,()=>{\"navigate\"===this.options.linkToSelf?this.performNavigation(o):(r(s),this.scrollToContent(o))})})}handlePopState(t){var e,i,s,o;const r=null!=(e=null==(i=t.state)?void 0:i.url)?e:window.location.href;if(this.options.skipPopStateHandling(t))return;if(this.isSameResolvedUrl(n(),this.location.url))return;const{url:a,hash:h}=l.fromUrl(r),c=this.createVisit({to:a,hash:h,event:t});c.history.popstate=!0;const u=null!=(s=null==(o=t.state)?void 0:o.index)?s:0;u&&u!==this.currentHistoryIndex&&(c.history.direction=u-this.currentHistoryIndex>0?\"forwards\":\"backwards\",this.currentHistoryIndex=u),c.animation.animate=!1,c.scroll.reset=!1,c.scroll.target=!1,this.options.animateHistoryBrowsing&&(c.animation.animate=!0,c.scroll.reset=!0),this.hooks.callSync(\"history:popstate\",c,{event:t},()=>{this.performNavigation(c)})}triggerWillOpenNewWindow(t){return!!t.matches('[download], [target=\"_blank\"]')}}export{l as Location,s as classify,o as createHistoryRecord,j as default,a as delegateEvent,v as forceReflow,y as getContextualAttr,n as getCurrentUrl,g as isPromise,h as matchPath,w as nextTick,p as query,m as queryAll,f as runAsPromise,r as updateHistoryRecord};\n//# sourceMappingURL=Swup.modern.js.map\n"],"names":["ledger","editLedger","wanted","baseElement","callback","setup","elementMap","setups","existed","safeClosest","event","selector","target","closest","delegate","type","options","signal","base","once","nativeListenerOptions","capture","listenerFunction","delegateTarget","delegateEvent","i","t","e","s","n","o","r","a","l$1","l","c","u","h","d","p","m","w","g","v","f","y","k","b","S","E","C","U","P","$","x","A","H","V","I","L","q","R","T","N","O","D","M","W","B","_","j"],"mappings":"AACA,MAAMA,EAAS,IAAI,QACnB,SAASC,EAAWC,EAAQC,EAAaC,EAAUC,EAAO,CACtD,GAAI,CAACH,GAAU,CAACF,EAAO,IAAIG,CAAW,EAClC,MAAO,GAEX,MAAMG,EAAaN,EAAO,IAAIG,CAAW,GAClC,IAAI,QACXH,EAAO,IAAIG,EAAaG,CAAU,EAClC,MAAMC,EAASD,EAAW,IAAIF,CAAQ,GAAK,IAAI,IAC/CE,EAAW,IAAIF,EAAUG,CAAM,EAC/B,MAAMC,EAAUD,EAAO,IAAIF,CAAK,EAChC,OAAIH,EACAK,EAAO,IAAIF,CAAK,EAGhBE,EAAO,OAAOF,CAAK,EAEhBG,GAAWN,CACtB,CACA,SAASO,EAAYC,EAAOC,EAAU,CAClC,IAAIC,EAASF,EAAM,OAInB,GAHIE,aAAkB,OAClBA,EAASA,EAAO,eAEhBA,aAAkB,SAAWF,EAAM,yBAAyB,QAAS,CAErE,MAAMG,EAAUD,EAAO,QAAQD,CAAQ,EACvC,GAAIE,GAAWH,EAAM,cAAc,SAASG,CAAO,EAC/C,OAAOA,CAEd,CACL,CAEA,SAASC,EAASH,EAAUI,EAAMX,EAAUY,EAAU,CAAA,EAAI,CACtD,KAAM,CAAE,OAAAC,EAAQ,KAAAC,EAAO,QAAQ,EAAKF,EACpC,GAAIC,GAAQ,QACR,OAGJ,KAAM,CAAE,KAAAE,EAAM,GAAGC,CAAqB,EAAKJ,EAErCb,EAAce,aAAgB,SAAWA,EAAK,gBAAkBA,EAEhEG,EAAU,GAAQ,OAAOL,GAAY,SAAWA,EAAQ,QAAUA,GAClEM,EAAoBZ,GAAU,CAChC,MAAMa,EAAiBd,EAAYC,EAAOC,CAAQ,EAClD,GAAIY,EAAgB,CAChB,MAAMC,EAAgB,OAAO,OAAOd,EAAO,CAAE,eAAAa,CAAc,CAAE,EAC7DnB,EAAS,KAAKD,EAAaqB,CAAa,EACpCL,IACAhB,EAAY,oBAAoBY,EAAMO,EAAkBF,CAAqB,EAC7EnB,EAAW,GAAOE,EAAaC,EAAUC,CAAK,EAErD,CACT,EACUA,EAAQ,KAAK,UAAU,CAAE,SAAAM,EAAU,KAAAI,EAAM,QAAAM,CAAO,CAAE,EAC7BpB,EAAW,GAAME,EAAaC,EAAUC,CAAK,GAEpEF,EAAY,iBAAiBY,EAAMO,EAAkBF,CAAqB,EAE9EH,GAAQ,iBAAiB,QAAS,IAAM,CACpChB,EAAW,GAAOE,EAAaC,EAAUC,CAAK,CACtD,CAAK,CACL,CChEkE,SAASoB,GAAG,CAAC,OAAOA,EAAE,OAAO,OAAO,OAAO,OAAO,KAAI,EAAG,SAASC,EAAE,CAAC,QAAQC,EAAE,EAAEA,EAAE,UAAU,OAAOA,IAAI,CAAC,IAAI,EAAE,UAAUA,CAAC,EAAE,QAAQ,KAAK,GAAG,CAAE,GAAE,eAAe,KAAK,EAAE,CAAC,IAAID,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,OAAOA,CAAC,EAAED,EAAE,MAAM,KAAK,SAAS,CAAC,CAAM,MAACG,EAAE,CAACF,EAAEC,IAAI,OAAOD,CAAC,EAAE,YAAa,EAAC,QAAQ,YAAY,GAAG,EAAE,QAAQ,WAAW,EAAE,EAAE,QAAQ,OAAO,GAAG,EAAE,QAAQ,WAAW,EAAE,GAAGC,GAAG,GAAGE,EAAE,CAAC,CAAC,KAAKH,CAAC,EAAE,CAAE,IAAG,OAAO,SAAS,SAAS,OAAO,SAAS,QAAQA,EAAE,OAAO,SAAS,KAAK,IAAII,EAAE,CAACJ,EAAEC,EAAE,CAAE,IAAG,CAAC,MAAMC,EAAEH,EAAE,CAAC,IAAIC,EAAEA,GAAGG,EAAE,CAAC,KAAK,EAAE,CAAC,EAAE,OAAO,KAAK,OAAQ,EAAC,OAAO,MAAM,EAAEF,CAAC,EAAE,OAAO,QAAQ,UAAUC,EAAE,GAAGF,CAAC,CAAC,EAAEK,EAAE,CAACL,EAAE,KAAKC,EAAE,KAAK,CAACD,EAAEA,GAAGG,EAAE,CAAC,KAAK,EAAE,CAAC,EAAE,MAAMD,EAAEH,EAAE,CAAE,EAAC,OAAO,QAAQ,OAAO,GAAG,CAAC,IAAIC,EAAE,OAAO,KAAK,OAAM,EAAG,OAAO,MAAM,EAAEC,CAAC,EAAE,OAAO,QAAQ,aAAaC,EAAE,GAAGF,CAAC,CAAC,EAAEM,EAAE,CAAC,EAAEJ,EAAEC,EAAEC,IAAI,CAAC,MAAMC,EAAE,IAAI,gBAAgB,OAAOD,EAAEL,EAAE,CAAA,EAAGK,EAAE,CAAC,OAAOC,EAAE,MAAM,CAAC,EAAEL,EAAE,EAAEE,EAAEC,EAAEC,CAAC,EAAE,CAAC,QAAQ,IAAIC,EAAE,OAAO,CAAC,EAAA,IAAAE,EAAE,MAAMC,UAAU,GAAG,CAAC,YAAY,EAAEP,EAAE,SAAS,QAAQ,CAAC,MAAM,EAAE,SAAU,EAACA,CAAC,EAAE,OAAO,eAAe,KAAKO,EAAE,SAAS,CAAC,CAAC,IAAI,KAAK,CAAC,OAAO,KAAK,SAAS,KAAK,MAAM,CAAC,OAAO,YAAY,EAAE,CAAC,MAAMP,EAAE,EAAE,aAAa,MAAM,GAAG,EAAE,aAAa,YAAY,GAAG,GAAG,OAAO,IAAIO,EAAEP,CAAC,CAAC,CAAC,OAAO,QAAQ,EAAE,CAAC,OAAO,IAAIO,EAAE,CAAC,CAAC,CAAC,EAAyH,MAAMC,UAAU,KAAK,CAAC,YAAY,EAAER,EAAE,CAAC,MAAM,CAAC,EAAE,KAAK,IAAI,OAAO,KAAK,OAAO,OAAO,KAAK,QAAQ,OAAO,KAAK,SAAS,OAAO,KAAK,KAAK,aAAa,KAAK,IAAIA,EAAE,IAAI,KAAK,OAAOA,EAAE,OAAO,KAAK,QAAQA,EAAE,SAAS,GAAG,KAAK,SAASA,EAAE,UAAU,EAAE,CAAC,CAAC,eAAeS,EAAEV,EAAEC,EAAE,GAAG,CAAC,IAAIC,EAAEF,EAAEQ,EAAE,QAAQR,CAAC,EAAE,IAAI,KAAK,CAAC,MAAMG,EAAE,KAAK,KAAK,EAAEF,EAAEG,EAAEL,EAAE,CAAA,EAAG,KAAK,QAAQ,eAAeE,EAAE,OAAO,EAAEI,GAASH,EAAED,EAAE,UAAX,KAAoBC,EAAE,KAAK,QAAQ,QAAQ,EAAE,IAAI,gBAAgB,CAAC,OAAOS,CAAC,EAAE,EAAEV,EAAEF,EAAE,CAAA,EAAGE,EAAE,CAAC,QAAQG,EAAE,OAAOO,CAAC,CAAC,EAAE,IAAID,EAAEE,EAAE,GAAGC,EAAE,KAAKR,GAAGA,EAAE,IAAIQ,EAAE,WAAW,IAAI,CAACD,EAAE,GAAG,EAAE,MAAM,SAAS,CAAC,EAAEP,CAAC,GAAG,GAAG,CAACK,EAAE,MAAM,KAAK,MAAM,KAAK,gBAAgBP,EAAE,CAAC,IAAIH,EAAE,QAAQC,CAAC,EAAE,CAACD,EAAE,CAAC,IAAIC,EAAE,QAAQF,CAAC,IAAI,MAAME,EAAEF,CAAC,CAAC,EAAEc,GAAG,aAAaA,CAAC,CAAC,OAAOZ,EAAE,CAAC,MAAGW,GAAQ,KAAK,MAAM,KAAK,gBAAgBT,EAAE,CAAC,IAAIH,CAAC,CAAC,EAAE,IAAIS,EAAE,sBAAsBT,CAAC,GAAG,CAAC,IAAIA,EAAE,SAASY,CAAC,CAAC,GAAoCX,GAAE,OAAjC,cAAwCU,EAAE,QAAc,IAAIF,EAAE,oBAAoBT,CAAC,GAAG,CAAC,IAAIA,EAAE,QAAQ,EAAE,CAAC,EAAQC,CAAC,CAAC,KAAK,CAAC,OAAOa,EAAE,IAAIC,CAAC,EAAEL,EAAEM,EAAE,MAAMN,EAAE,OAAO,GAASI,IAAN,IAAQ,MAAM,KAAK,MAAM,KAAK,cAAcX,EAAE,CAAC,OAAOW,EAAE,SAASJ,EAAE,IAAIK,CAAC,CAAC,EAAE,IAAIN,EAAE,iBAAiBM,CAAC,GAAG,CAAC,OAAOD,EAAE,IAAIC,CAAC,CAAC,EAAE,GAAG,CAACC,EAAE,MAAM,IAAIP,EAAE,mBAAmBM,CAAC,GAAG,CAAC,OAAOD,EAAE,IAAIC,CAAC,CAAC,EAAE,KAAK,CAAC,IAAI,CAAC,EAAEP,EAAE,QAAQO,CAAC,EAAEE,EAAE,CAAC,IAAI,EAAE,KAAKD,CAAC,EAAE,MAAM,CAACb,EAAE,MAAM,OAAOF,EAAE,QAAgBA,EAAE,SAAV,OAAkBD,IAAI,GAAG,KAAK,MAAM,IAAIiB,EAAE,IAAIA,CAAC,EAAEA,CAAC,CAAC,MAAML,CAAC,CAAC,YAAY,EAAE,CAAC,KAAK,KAAK,OAAO,KAAK,MAAM,IAAI,IAAI,KAAK,KAAK,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,KAAK,MAAM,IAAI,CAAC,IAAI,KAAK,CAAC,MAAM,EAAE,IAAI,IAAI,OAAO,KAAK,MAAM,QAAQ,CAACX,EAAE,IAAI,CAAC,EAAE,IAAI,EAAEF,EAAE,CAAA,EAAGE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,OAAO,KAAK,MAAM,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,MAAMA,EAAE,KAAK,MAAM,IAAI,KAAK,QAAQ,CAAC,CAAC,EAAE,OAAOA,GAAEF,EAAE,CAAA,EAAGE,CAAC,CAAG,CAAC,IAAI,EAAEA,EAAE,CAACA,EAAEF,EAAE,CAAA,EAAGE,EAAE,CAAC,IAAI,EAAE,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,KAAK,MAAM,IAAI,EAAEA,CAAC,EAAE,KAAK,KAAK,MAAM,SAAS,YAAY,OAAO,CAAC,KAAKA,CAAC,CAAC,CAAC,CAAC,OAAO,EAAEA,EAAE,CAAC,EAAE,KAAK,QAAQ,CAAC,EAAE,MAAM,EAAEF,EAAE,CAAE,EAAC,KAAK,IAAI,CAAC,EAAEE,EAAE,CAAC,IAAI,CAAC,CAAC,EAAE,KAAK,MAAM,IAAI,EAAE,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,KAAK,MAAM,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,MAAM,MAAO,EAAC,KAAK,KAAK,MAAM,SAAS,cAAc,OAAO,MAAM,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,MAAM,QAAQ,CAACA,EAAEF,IAAI,CAAC,EAAEA,EAAEE,CAAC,GAAG,KAAK,OAAOF,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,IAAIE,CAAC,EAAEO,EAAE,QAAQ,CAAC,EAAE,OAAO,KAAK,KAAK,WAAWP,CAAC,CAAC,CAAC,CAAM,MAACY,EAAE,CAACb,EAAEC,EAAE,WAAWA,EAAE,cAAcD,CAAC,EAAEc,EAAE,CAACd,EAAEC,EAAE,WAAW,MAAM,KAAKA,EAAE,iBAAiBD,CAAC,CAAC,EAAEe,EAAE,IAAI,IAAI,QAAQf,GAAG,CAAC,sBAAsB,IAAI,CAAC,sBAAsB,IAAI,CAACA,EAAG,CAAA,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,SAASgB,EAAEhB,EAAE,CAAC,MAAM,CAAC,CAACA,IAAc,OAAOA,GAAjB,UAAgC,OAAOA,GAAnB,aAAmC,OAAOA,EAAE,MAArB,UAAyB,CAAC,SAASkB,EAAElB,EAAEC,EAAE,CAAA,EAAG,CAAC,OAAO,IAAI,QAAQ,CAAC,EAAE,IAAI,CAAC,MAAM,EAAED,EAAE,GAAGC,CAAC,EAAEe,EAAE,CAAC,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAA6E,SAASG,EAAEnB,EAAEC,EAAE,CAAC,MAAM,EAAiBD,GAAE,QAAQ,IAAIC,CAAC,GAAG,EAAE,OAAa,GAAN,MAAS,EAAE,aAAaA,CAAC,EAAkB,GAAE,aAAaA,CAAC,GAAI,GAAG,MAAM,CAAC,MAAMmB,CAAC,CAAC,YAAY,EAAE,CAAC,KAAK,KAAK,OAAO,KAAK,YAAY,CAAC,MAAM,cAAc,eAAe,cAAc,eAAe,YAAY,EAAE,KAAK,KAAK,CAAC,CAAC,IAAI,WAAW,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,KAAK,KAAK,MAAM,UAAU,OAAqB,IAAf,aAAiB,KAAK,KAAK,MAAM,WAAoB,IAAT,OAAW,CAAC,MAAM,EAAE,MAAM,QAAQ,CAAC,EAAE,EAAE,CAAA,CAAE,CAAC,IAAI,UAAU,CAAC,OAAO,KAAK,UAAU,KAAK,GAAG,CAAC,CAAC,IAAI,SAAS,CAAC,OAAO,KAAK,SAAS,KAAM,EAACN,EAAE,KAAK,QAAQ,EAAE,CAAA,CAAE,CAAC,OAAO,EAAE,CAAC,KAAK,QAAQ,QAAQb,GAAGA,EAAE,UAAU,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC,KAAK,QAAQ,QAAQA,GAAGA,EAAE,UAAU,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,QAAQ,QAAQ,GAAG,CAAC,MAAMA,EAAE,EAAE,UAAU,MAAM,GAAG,EAAE,OAAOD,GAAG,KAAK,YAAYA,CAAC,CAAC,EAAE,EAAE,UAAU,OAAO,GAAGC,CAAC,CAAC,CAAC,CAAC,CAAC,YAAY,EAAE,CAAC,OAAO,KAAK,YAAY,KAAKA,GAAG,EAAE,WAAWA,CAAC,CAAC,CAAC,CAAC,CAAC,MAAMoB,CAAC,CAAC,YAAY,EAAEpB,EAAE,CAAC,KAAK,GAAG,OAAO,KAAK,MAAM,OAAO,KAAK,KAAK,OAAO,KAAK,GAAG,OAAO,KAAK,WAAW,OAAO,KAAK,UAAU,OAAO,KAAK,QAAQ,OAAO,KAAK,MAAM,OAAO,KAAK,QAAQ,OAAO,KAAK,OAAO,OAAO,KAAK,CAAC,GAAGF,EAAE,KAAKG,EAAE,KAAKC,EAAE,GAAGC,EAAE,MAAM,CAAC,EAAEH,EAAE,KAAK,GAAG,KAAK,OAAQ,EAAC,KAAK,MAAM,EAAE,KAAK,KAAK,CAAC,IAAUC,GAAI,EAAE,SAAS,IAAI,KAAK,EAAE,SAAS,IAAI,EAAE,KAAK,GAAG,CAAC,IAAIH,EAAE,KAAKI,CAAC,EAAE,KAAK,WAAW,EAAE,QAAQ,WAAW,KAAK,UAAU,CAAC,QAAQ,GAAG,KAAK,GAAG,KAAK,OAAO,OAAO,EAAE,QAAQ,OAAO,MAAM,EAAE,QAAQ,eAAe,SAAS,EAAE,QAAQ,iBAAiB,EAAE,KAAK,QAAQ,CAAC,GAAGC,EAAE,MAAM,CAAC,EAAE,KAAK,MAAM,CAAC,KAAK,EAAE,QAAQ,MAAM,MAAM,EAAE,QAAQ,KAAK,EAAE,KAAK,QAAQ,CAAC,OAAO,OAAO,SAAS,GAAG,UAAU,MAAM,EAAE,KAAK,OAAO,CAAC,MAAM,GAAG,OAAO,MAAM,CAAC,CAAC,QAAQ,EAAE,CAAC,KAAK,MAAM,IAAI,KAAK,MAAM,EAAE,CAAC,OAAO,CAAC,KAAK,MAAM,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,KAAK,OAAO,CAAC,CAAC,CAAC,SAASkB,EAAEtB,EAAE,CAAC,OAAO,IAAIqB,EAAE,KAAKrB,CAAC,CAAC,CAAC,MAAMuB,CAAC,CAAC,YAAY,EAAE,CAAC,KAAK,KAAK,OAAO,KAAK,SAAS,IAAI,IAAI,KAAK,MAAM,CAAC,sBAAsB,sBAAsB,oBAAoB,qBAAqB,qBAAqB,mBAAmB,iBAAiB,cAAc,YAAY,kBAAkB,iBAAiB,SAAS,UAAU,gBAAgB,cAAc,gBAAgB,mBAAmB,aAAa,YAAY,cAAc,cAAc,YAAY,YAAY,aAAa,gBAAgB,cAAc,mBAAmB,cAAc,WAAW,EAAE,KAAK,KAAK,EAAE,KAAK,KAAM,CAAA,CAAC,MAAM,CAAC,KAAK,MAAM,QAAQ,GAAG,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,KAAK,SAAS,IAAI,CAAC,GAAG,KAAK,SAAS,IAAI,EAAE,IAAI,GAAG,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,KAAK,SAAS,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,MAAMtB,EAAE,KAAK,SAAS,IAAI,CAAC,EAAE,GAAGA,EAAE,OAAOA,EAAE,QAAQ,MAAM,iBAAiB,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,KAAK,SAAS,QAAQ,GAAG,EAAE,MAAK,CAAE,CAAC,CAAC,GAAG,EAAEA,EAAE,EAAE,GAAG,CAAC,MAAM,EAAE,KAAK,IAAI,CAAC,EAAE,GAAG,CAAC,EAAE,OAAO,QAAQ,KAAK,SAAS,CAAC,cAAc,EAAE,IAAI,CAAE,EAAC,MAAM,EAAEF,EAAE,CAAA,EAAG,EAAE,CAAC,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQE,CAAC,CAAC,EAAE,OAAO,EAAE,IAAIA,EAAE,CAAC,EAAE,IAAI,KAAK,IAAI,EAAEA,CAAC,CAAC,CAAC,OAAO,EAAEA,EAAE,EAAE,CAAA,EAAG,CAAC,OAAO,KAAK,GAAG,EAAEA,EAAEF,EAAE,CAAE,EAAC,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAEE,EAAE,EAAE,CAAA,EAAG,CAAC,OAAO,KAAK,GAAG,EAAEA,EAAEF,EAAE,CAAE,EAAC,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,EAAEE,EAAE,EAAE,CAAE,EAAC,CAAC,OAAO,KAAK,GAAG,EAAEA,EAAEF,EAAE,CAAA,EAAG,EAAE,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,EAAEE,EAAE,CAAC,MAAMF,EAAE,KAAK,IAAI,CAAC,EAAEA,GAAGE,EAAEF,EAAE,OAAOE,CAAC,GAAG,QAAQ,KAAK,qBAAqB,CAAC,cAAc,EAAEF,GAAGA,EAAE,MAAO,CAAA,CAAC,MAAM,KAAK,EAAEE,EAAEF,EAAEG,EAAE,CAAC,KAAK,CAACC,EAAEC,EAAE,CAAC,EAAE,KAAK,cAAc,EAAEH,EAAEF,EAAEG,CAAC,EAAE,CAAC,OAAOI,EAAE,QAAQE,EAAE,MAAMG,CAAC,EAAE,KAAK,YAAY,EAAE,CAAC,EAAE,MAAM,KAAK,IAAIL,EAAEH,EAAEC,CAAC,EAAE,KAAK,CAACK,CAAC,EAAE,MAAM,KAAK,IAAID,EAAEL,EAAEC,EAAE,EAAE,EAAE,OAAO,MAAM,KAAK,IAAIO,EAAER,EAAEC,CAAC,EAAE,KAAK,iBAAiB,EAAED,EAAEC,CAAC,EAAEK,CAAC,CAAC,SAAS,EAAER,EAAEF,EAAEG,EAAE,CAAC,KAAK,CAACC,EAAEC,EAAE,CAAC,EAAE,KAAK,cAAc,EAAEH,EAAEF,EAAEG,CAAC,EAAE,CAAC,OAAOI,EAAE,QAAQE,EAAE,MAAMG,CAAC,EAAE,KAAK,YAAY,EAAE,CAAC,EAAE,KAAK,QAAQL,EAAEH,EAAEC,CAAC,EAAE,KAAK,CAACK,CAAC,EAAE,KAAK,QAAQD,EAAEL,EAAEC,EAAE,EAAE,EAAE,OAAO,KAAK,QAAQO,EAAER,EAAEC,CAAC,EAAE,KAAK,iBAAiB,EAAED,EAAEC,CAAC,EAAEK,CAAC,CAAC,cAAc,EAAER,EAAEF,EAAEG,EAAE,CAAC,OAAOD,aAAaoB,GAAa,OAAOpB,GAAjB,UAAgC,OAAOF,GAAnB,WAAqB,CAACE,EAAEF,EAAEG,CAAC,EAAE,CAAC,OAAOD,EAAEF,CAAC,CAAC,CAAC,MAAM,IAAI,EAAEE,EAAE,KAAK,KAAK,MAAMF,EAAEG,EAAE,GAAG,CAAC,MAAMC,EAAE,CAAA,EAAG,SAAS,CAAC,KAAKC,EAAE,QAAQ,EAAE,eAAeE,EAAE,KAAKE,CAAC,IAAI,EAAE,GAASP,GAAN,MAAS,CAACA,EAAE,KAAK,CAACO,GAAG,KAAK,IAAIJ,EAAE,CAAC,EAAE,GAAG,CAAC,MAAMJ,EAAE,MAAMkB,EAAE,EAAE,CAACjB,EAAEF,EAAEO,CAAC,CAAC,EAAEH,EAAE,KAAKH,CAAC,CAAC,OAAOA,EAAE,CAAC,GAAGE,EAAE,MAAMF,EAAE,QAAQ,MAAM,kBAAkBI,CAAC,KAAKJ,CAAC,CAAC,CAAC,CAAC,OAAOG,CAAC,CAAC,QAAQ,EAAEF,EAAE,KAAK,KAAK,MAAMF,EAAEG,EAAE,GAAG,CAAC,MAAMC,EAAE,CAAE,EAAC,SAAS,CAAC,KAAKC,EAAE,QAAQ,EAAE,eAAeE,EAAE,KAAKE,CAAC,IAAI,EAAE,GAASP,GAAN,MAAS,CAACA,EAAE,KAAK,CAACO,GAAG,KAAK,IAAIJ,EAAE,CAAC,EAAE,GAAG,CAAC,MAAMJ,EAAE,EAAEC,EAAEF,EAAEO,CAAC,EAAEH,EAAE,KAAKH,CAAC,EAAEgB,EAAEhB,CAAC,GAAG,QAAQ,KAAK,iEAAiEI,CAAC,IAAI,CAAC,OAAOJ,EAAE,CAAC,GAAGE,EAAE,MAAMF,EAAE,QAAQ,MAAM,kBAAkBI,CAAC,KAAKJ,CAAC,CAAC,CAAC,CAAC,OAAOG,CAAC,CAAC,YAAY,EAAEF,EAAE,CAAC,MAAMF,EAAE,KAAK,IAAI,CAAC,EAAE,GAAG,CAACA,EAAE,MAAM,CAAC,MAAM,GAAG,OAAO,CAAE,EAAC,QAAQ,GAAG,MAAM,CAAA,EAAG,SAAS,EAAE,EAAE,MAAMG,EAAE,MAAM,KAAKH,EAAE,OAAQ,CAAA,EAAEI,EAAE,KAAK,kBAAkBC,EAAEF,EAAE,OAAO,CAAC,CAAC,OAAOF,EAAE,QAAQC,CAAC,IAAID,GAAG,CAACC,CAAC,EAAE,KAAKE,CAAC,EAAE,EAAED,EAAE,OAAO,CAAC,CAAC,QAAQF,CAAC,IAAIA,CAAC,EAAE,OAAOA,GAAG,EAAE,EAAE,KAAKG,CAAC,EAAEG,EAAEJ,EAAE,OAAO,CAAC,CAAC,OAAOF,EAAE,QAAQC,CAAC,IAAI,CAACD,GAAG,CAACC,CAAC,EAAE,KAAKE,CAAC,EAAEK,EAAE,EAAE,OAAO,EAAE,IAAIG,EAAE,CAAE,EAAC,GAAGV,IAAIU,EAAE,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,QAAQV,CAAC,CAAC,EAAEO,GAAG,CAAC,MAAMT,EAAE,EAAE,OAAO,EAAEG,EAAEF,GAAG,CAAC,MAAMD,EAAE,EAAEC,EAAE,CAAC,EAAE,OAAOD,EAAE,CAACE,EAAEE,IAAIJ,EAAE,QAAQE,EAAEE,EAAED,EAAEF,EAAE,CAAC,CAAC,EAAEC,CAAC,EAAEU,EAAE,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,QAAQ,EAAEZ,CAAC,EAAE,QAAQ,eAAeG,EAAEH,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,GAAG,OAAOK,EAAE,QAAQO,EAAE,MAAML,EAAE,SAASE,CAAC,CAAC,CAAC,kBAAkB,EAAEP,EAAE,CAAC,IAAIF,EAAEG,EAAE,QAAcH,EAAE,EAAE,WAAX,KAAqBA,EAAE,KAAWG,EAAED,EAAE,WAAX,KAAqBC,EAAE,IAAI,EAAE,GAAGD,EAAE,IAAI,CAAC,CAAC,iBAAiB,EAAEA,EAAEF,EAAE,CAAC,GAASE,GAAN,MAASA,EAAE,KAAK,OAAO,MAAMC,EAAE,CAAC,KAAK,EAAE,KAAKH,EAAE,MAAME,GAAG,KAAK,KAAK,KAAK,EAAE,SAAS,cAAc,IAAI,YAAY,WAAW,CAAC,OAAOC,EAAE,QAAQ,EAAE,CAAC,CAAC,EAAE,SAAS,cAAc,IAAI,YAAY,QAAQ,CAAC,GAAG,CAAC,OAAOA,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,MAAMsB,EAAExB,GAAG,CAAC,GAAGA,GAASA,EAAE,OAAO,CAAC,IAAhB,MAAoBA,EAAEA,EAAE,UAAU,CAAC,GAAG,CAACA,EAAE,OAAO,KAAK,MAAMC,EAAE,mBAAmBD,CAAC,EAAE,IAAI,EAAE,SAAS,eAAeA,CAAC,GAAG,SAAS,eAAeC,CAAC,GAAGY,EAAE,WAAW,IAAI,OAAOb,CAAC,CAAC,IAAI,GAAGa,EAAE,WAAW,IAAI,OAAOZ,CAAC,CAAC,IAAI,EAAE,OAAO,GAAWD,IAAR,QAAY,EAAE,SAAS,MAAM,CAAC,EAAEyB,EAAE,aAAaC,EAAE,YAAY,eAAeC,EAAE,CAAC,SAAS3B,EAAE,SAASC,CAAC,EAAE,CAAC,GAAQD,IAAL,IAAQ,CAACC,EAAE,OAAO,IAAI,EAAE,CAAE,EAAC,GAAGA,EAAE,EAAE,MAAM,KAAKA,CAAC,UAAUD,IAAI,EAAEc,EAAEd,EAAE,SAAS,IAAI,EAAE,CAAC,EAAE,QAAQ,OAAO,KAAK,QAAQ,KAAK,yDAAyDA,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,IAAIA,GAAG,SAASA,EAAE,CAAC,KAAK,CAAC,KAAKC,EAAE,QAAQF,EAAE,UAAUG,CAAC,EAAE,SAASF,EAAE,CAAC,MAAMC,EAAE,OAAO,iBAAiBD,CAAC,EAAED,EAAE6B,EAAE3B,EAAE,GAAGwB,CAAC,OAAO,EAAEvB,EAAE0B,EAAE3B,EAAE,GAAGwB,CAAC,UAAU,EAAEtB,EAAE0B,EAAE9B,EAAEG,CAAC,EAAEE,EAAEwB,EAAE3B,EAAE,GAAGyB,CAAC,OAAO,EAAErB,EAAEuB,EAAE3B,EAAE,GAAGyB,CAAC,UAAU,EAAEpB,EAAEuB,EAAEzB,EAAEC,CAAC,EAAEG,EAAE,KAAK,IAAIL,EAAEG,CAAC,EAAEK,EAAEH,EAAE,EAAEL,EAAEG,EAAEmB,EAAEC,EAAE,KAAK,MAAM,CAAC,KAAKf,EAAE,QAAQH,EAAE,UAAUG,EAAEA,IAAIc,EAAEvB,EAAE,OAAOG,EAAE,OAAO,CAAC,CAAC,EAAEL,CAAC,EAAE,MAAM,EAAE,CAACC,GAAG,CAACF,IAAI,IAAI,QAAQI,GAAG,CAAC,MAAMC,EAAE,GAAGH,CAAC,MAAMI,EAAE,YAAY,IAAG,EAAG,IAAIC,EAAE,EAAE,MAAME,EAAE,IAAI,CAACR,EAAE,oBAAoBI,EAAEO,CAAC,EAAER,EAAG,CAAA,EAAEQ,EAAEV,GAAG,CAACA,EAAE,SAASD,KAAK,YAAY,IAAG,EAAGK,GAAG,IAAIJ,EAAE,aAAa,EAAEK,GAAGJ,GAAGM,EAAG,EAAC,EAAE,WAAW,IAAI,CAACF,EAAEJ,GAAGM,EAAG,CAAA,EAAET,EAAE,CAAC,EAAEC,EAAE,iBAAiBI,EAAEO,CAAC,CAAC,CAAC,CAAC,EAAEX,CAAC,CAAC,EAAE,EAAE,OAAO,OAAO,EAAE,OAAO,EAAE,MAAM,QAAQ,IAAI,CAAC,EAAEA,GAAG,QAAQ,KAAK,mEAAmEA,CAAC,IAAI,CAAC,CAAC,SAAS4B,EAAE5B,EAAEC,EAAE,CAAC,OAAOD,EAAEC,CAAC,GAAG,IAAI,MAAM,IAAI,CAAC,CAAC,SAAS4B,EAAE7B,EAAEC,EAAE,CAAC,KAAKD,EAAE,OAAOC,EAAE,QAAQD,EAAEA,EAAE,OAAOA,CAAC,EAAE,OAAO,KAAK,IAAI,GAAGC,EAAE,IAAI,CAACA,EAAEF,IAAI+B,EAAE7B,CAAC,EAAE6B,EAAE9B,EAAED,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS+B,EAAE9B,EAAE,CAAC,MAAO,KAAI,WAAWA,CAAC,CAAC,CAAC,SAAS+B,EAAE/B,EAAEC,EAAE,CAAA,EAAGC,EAAE,CAAA,EAAG,CAAC,GAAa,OAAOF,GAAjB,SAAmB,MAAM,IAAI,MAAM,0CAA0C,EAAE,GAAG,KAAK,kBAAkBA,EAAE,CAAC,GAAGE,EAAE,GAAG,MAAMA,EAAE,KAAK,CAAC,EAAE,OAAO,KAAK,OAAO,SAAS,OAAOF,CAAC,EAAE,KAAK,CAAC,IAAIG,EAAE,KAAKC,CAAC,EAAEI,EAAE,QAAQR,CAAC,EAAEK,EAAE,KAAK,YAAYN,EAAE,CAAE,EAACG,EAAE,CAAC,GAAGC,EAAE,KAAKC,CAAC,CAAC,CAAC,EAAE,KAAK,kBAAkBC,EAAEJ,CAAC,CAAC,CAAC,eAAe+B,EAAEhC,EAAEC,EAAE,CAAE,EAAC,CAAC,GAAG,KAAK,WAAW,CAAC,GAAG,KAAK,MAAM,OAAO,EAAE,OAAOD,EAAE,MAAM,EAAE,KAAK,KAAK,WAAW,IAAI,KAAK,kBAAkBA,EAAEC,CAAC,GAAG,MAAM,KAAK,MAAM,KAAK,cAAc,KAAK,MAAM,MAAM,EAAE,OAAO,KAAK,MAAM,GAAG,SAAS,KAAK,MAAM,MAAM,CAAC,CAAC,KAAK,WAAW,GAAG,KAAK,MAAMD,EAAE,KAAK,CAAC,GAAG,CAAC,EAAEA,EAAE,QAAQC,EAAE,SAASA,EAAE,UAAU,KAAK,SAAS,IAASA,EAAE,UAAP,KAAiBD,EAAE,UAAU,QAAQ,IAAIA,EAAE,UAAU,SAAS,KAAK,QAAQ,MAAK,EAAG,MAAMG,EAAEF,EAAE,SAASkB,EAAE,EAAE,mBAAmB,EAAY,OAAOhB,GAAjB,UAAoB,CAAC,OAAO,SAAS,EAAE,SAASA,CAAC,IAAIH,EAAE,QAAQ,OAAOG,GAAG,MAAMG,EAAEL,EAAE,WAAWkB,EAAE,EAAE,qBAAqB,EAAE,IAAIR,EAAEF,EAAY,OAAOH,GAAjB,WAAqBN,EAAE,UAAU,KAAKM,GAAa,OAAOL,EAAE,OAAnB,UAA0BD,EAAE,MAAM,MAAYW,EAAEV,EAAE,MAAM,OAAjB,KAAuBU,EAAEX,EAAE,MAAM,KAAKA,EAAE,MAAM,OAAaS,EAAER,EAAE,MAAM,QAAjB,KAAwBQ,EAAET,EAAE,MAAM,OAAgBC,EAAE,QAAX,SAAmBD,EAAE,MAAM,CAAC,KAAK,CAAC,CAACC,EAAE,MAAM,MAAM,CAAC,CAACA,EAAE,KAAK,GAAG,OAAOA,EAAE,MAAM,GAAG,CAAC,MAAM,KAAK,MAAM,KAAK,cAAcD,EAAE,MAAM,EAAEA,EAAE,MAAM,EAAE,MAAMD,EAAE,KAAK,MAAM,KAAK,YAAYC,EAAE,CAAC,QAAQC,CAAC,EAAE,MAAMD,EAAEC,IAAI,CAAC,IAAIF,EAAE,OAAOC,EAAE,MAAM,OAAOD,EAAE,KAAK,MAAM,IAAIC,EAAE,GAAG,GAAG,GAAGC,EAAE,KAAKF,GAAG,MAAM,KAAK,UAAUC,EAAE,GAAG,IAAIC,EAAE,OAAO,EAAEA,EAAE,MAAM,CAAC,CAACF,EAAEE,EAAE,IAAI,CAAC,EAAEF,EAAE,KAAK,CAAC,CAAC,KAAKE,CAAC,IAAI,CAACD,EAAE,QAAQ,CAAC,EAAEA,EAAE,GAAG,KAAKC,EAAED,EAAE,GAAG,SAAU,IAAI,YAAW,gBAAgBC,EAAE,WAAW,CAAC,CAAC,EAAE,MAAME,EAAEH,EAAE,GAAG,IAAIA,EAAE,GAAG,KAAwV,GAAhVA,EAAE,QAAQ,WAAuBA,EAAE,QAAQ,SAAtB,WAA8BA,EAAE,GAAG,MAAM,KAAK,SAAS,IAAIK,EAAEF,CAAC,GAAG,KAAK,sBAAsBC,EAAED,EAAE,CAAC,MAAM,KAAK,mBAAmB,CAAC,IAAI,KAAK,SAASK,EAAE,QAAQL,CAAC,EAAEH,EAAE,QAAQ,UAAU,KAAK,QAAQ,IAAI,aAAa,EAAEA,EAAE,UAAU,MAAM,KAAK,QAAQ,IAAI,MAAME,EAAEF,EAAE,UAAU,IAAI,CAAC,EAAE,EAAEA,EAAE,UAAU,MAAM,MAAMD,EAAEC,EAAE,OAAe,MAAM,KAAK,MAAM,KAAK,mBAAmBA,EAAE,OAAO,SAAS,CAAC,GAAG,CAACA,EAAE,UAAU,QAAQ,OAAO,MAAM,KAAK,MAAM,KAAK,iBAAiB,MAAM,EAAE,KAAK,MAAM,KAAK,WAAWA,EAAE,MAAMD,CAAC,EAAEC,EAAE,QAAQ,CAAC,EAAE,MAAM,KAAK,eAAeA,CAAC,EAAEA,EAAE,UAAU,QAAQ,SAAS,oBAAoB,MAAM,SAAS,oBAAoB,SAAS,MAAM,KAAK,WAAWA,EAAE,MAAMD,CAAC,CAAC,EAAE,SAAS,MAAM,KAAK,WAAWC,EAAE,MAAMD,CAAC,EAAE,MAAM,KAAK,cAAcC,CAAC,CAAC,CAAC,EAAEA,EAAE,MAAK,OAAO,MAAM,KAAK,MAAM,KAAK,YAAYA,EAAE,OAAO,IAAI,KAAK,QAAQ,MAAO,CAAA,EAAEA,EAAE,MAAM,EAAE,KAAK,WAAW,GAAG,KAAK,aAAa,KAAK,WAAU,EAAG,KAAK,WAAW,OAAO,OAAOC,EAAE,CAAC,GAAG,CAACA,GAASA,GAAN,MAASA,EAAE,QAAQ,OAAO,KAAKD,EAAE,MAAM,GAAGA,EAAE,MAAM,EAAE,QAAQ,MAAMC,CAAC,EAAE,KAAK,QAAQ,qBAAqB,KAAK,OAAO,SAAS,OAAOD,EAAE,GAAG,IAAIA,EAAE,GAAG,IAAI,EAAE,IAAI,OAAO,QAAQ,KAAM,CAAA,QAAC,CAAQ,OAAOA,EAAE,GAAG,QAAQ,CAAC,CAAC,MAAMiC,EAAE,eAAejC,EAAE,CAAC,MAAM,KAAK,MAAM,KAAK,sBAAsBA,EAAE,OAAO,IAAI,CAAC,KAAK,QAAQ,IAAI,cAAc,eAAe,YAAY,CAAC,CAAC,EAAE,MAAM,KAAK,MAAM,KAAK,sBAAsBA,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,EAAE,CAAC,KAAKC,CAAC,IAAI,CAAC,GAAG,CAACA,EAAE,OAAO,KAAK,gBAAgB,CAAC,SAAS,EAAE,UAAU,QAAQ,CAAC,CAAC,CAAC,EAAE,MAAM,KAAK,MAAM,KAAK,oBAAoBD,EAAE,MAAM,CAAC,EAAEkC,GAAE,SAASlC,EAAE,CAAC,IAAIC,EAAE,MAAM,EAAED,EAAE,GAAG,SAAS,GAAG,CAAC,EAAE,MAAM,GAAG,MAAM,IAAUC,EAAE,EAAE,cAAc,OAAO,IAAhC,KAAmC,OAAOA,EAAE,YAAY,GAAG,SAAS,MAAM,EAAE,MAAM,EAAEa,EAAE,iDAAiD,EAAE,EAAEd,EAAE,WAAW,IAAIA,GAAG,CAAC,MAAMC,EAAE,SAAS,cAAcD,CAAC,EAAEE,EAAE,EAAE,cAAcF,CAAC,EAAE,OAAOC,GAAGC,GAAGD,EAAE,YAAYC,EAAE,UAAU,EAAE,CAAC,EAAE,KAAKD,GAAG,QAAQ,KAAK,iDAAiDD,CAAC,EAAE,EAAEE,GAAG,QAAQ,KAAK,kDAAkDF,CAAC,EAAE,EAAE,GAAG,CAAC,EAAE,OAAO,OAAO,EAAE,OAAO,EAAE,QAAQA,GAAG,CAAC,MAAMC,EAAED,EAAE,aAAa,mBAAmB,EAAED,EAAEc,EAAE,uBAAuBZ,CAAC,IAAI,EAAEF,GAAGA,IAAIC,GAAGD,EAAE,YAAYC,CAAC,CAAC,CAAC,EAAE,EAAE,SAASA,EAAE,WAAW,MAAM,EAAEmC,GAAE,SAASnC,EAAE,CAAC,MAAMC,EAAE,CAAC,SAAS,MAAM,EAAE,CAAC,OAAOC,EAAE,MAAMC,CAAC,EAAEH,EAAE,OAAOI,EAAQF,GAAIF,EAAE,GAAG,KAAK,IAAIK,EAAE,GAAG,OAAOD,IAAIC,EAAE,KAAK,MAAM,SAAS,gBAAgBL,EAAE,CAAC,KAAKI,EAAE,QAAQH,CAAC,EAAE,CAACD,EAAE,CAAC,KAAKC,EAAE,QAAQF,CAAC,IAAI,CAAC,MAAMG,EAAE,KAAK,iBAAiBD,CAAC,EAAE,OAAOC,GAAGA,EAAE,eAAeH,CAAC,EAAE,CAAC,CAACG,CAAC,CAAC,GAAGC,GAAG,CAACE,IAAIA,EAAE,KAAK,MAAM,SAAS,aAAaL,EAAE,CAAC,QAAQC,CAAC,EAAE,CAACD,EAAE,CAAC,QAAQC,CAAC,KAAK,OAAO,SAASF,EAAE,CAAC,IAAI,EAAE,KAAK,CAAC,EAAEE,CAAC,CAAC,EAAE,GAAG,GAAGI,CAAC,EAAE+B,GAAE,eAAepC,EAAE,CAAC,GAAGA,EAAE,KAAK,OAAO,MAAMC,EAAE,KAAK,MAAM,KAAK,qBAAqBD,EAAE,CAAC,KAAK,EAAE,EAAE,CAACA,EAAE,CAAC,KAAKC,CAAC,IAAI,CAAC,GAAG,CAACA,EAAE,OAAO,KAAK,gBAAgB,CAAC,SAASD,EAAE,UAAU,QAAQ,CAAC,CAAC,CAAC,EAAE,MAAMe,EAAG,EAAC,MAAM,KAAK,MAAM,KAAK,qBAAqBf,EAAE,OAAO,IAAI,CAAC,KAAK,QAAQ,OAAO,cAAc,CAAC,CAAC,EAAE,MAAMC,EAAE,MAAM,KAAK,MAAM,KAAK,mBAAmBD,EAAE,MAAM,CAAC,EAAEqC,GAAE,eAAerC,EAAEC,EAAE,CAAC,GAAGD,EAAE,KAAK,OAAOA,EAAE,QAAQ,CAAC,EAAE,KAAK,CAAC,IAAI,CAAC,EAAEC,EAAE,KAAK,kBAAkBE,EAAC,EAAG,CAAC,IAAIE,EAAE,CAAC,EAAE,KAAK,SAASG,EAAE,QAAQ,CAAC,EAAER,EAAE,GAAG,IAAI,KAAK,SAAS,IAAIA,EAAE,GAAG,KAAK,KAAK,SAAS,MAAM,MAAM,KAAK,MAAM,KAAK,kBAAkBA,EAAE,CAAC,KAAKC,CAAC,EAAE,CAACD,EAAE,CAAE,IAAG,CAAC,GAAG,KAAK,QAAQ,OAAO,YAAY,EAAEA,EAAE,UAAU,SAAS,KAAK,QAAQ,IAAI,cAAc,EAAE,CAAC,KAAK,eAAeA,CAAC,EAAE,MAAM,IAAI,MAAM,qCAAqC,EAAEA,EAAE,UAAU,UAAU,KAAK,QAAQ,IAAI,cAAc,eAAe,cAAc,EAAEA,EAAE,UAAU,MAAM,KAAK,QAAQ,IAAI,MAAME,EAAEF,EAAE,UAAU,IAAI,CAAC,EAAE,EAAE,CAAC,EAAE,MAAM,KAAK,MAAM,KAAK,iBAAiBA,EAAE,OAAO,IAAI,KAAK,gBAAgBA,CAAC,CAAC,EAAE,MAAM,KAAK,MAAM,KAAK,YAAYA,EAAE,CAAC,IAAI,KAAK,SAAS,IAAI,MAAM,SAAS,KAAK,CAAC,CAAC,EAAEsC,GAAE,SAAStC,EAAE,CAAC,IAAIC,EAAE,GAAGA,EAAED,EAAE,EAAuBC,GAAE,cAAe,GAAGD,EAAE,KAAK,KAAK,CAACA,EAAE,oBAAoBA,EAAE,mBAAkB,EAAG,OAAOA,EAAE,cAAcA,EAAE,aAAc,EAACA,EAAE,MAAK,EAAG,KAAK,QAAQ,KAAKA,CAAC,EAAE,KAAK,aAAa,QAAQ,MAAM,6BAA6BA,CAAC,CAAC,EAAE,SAASuC,GAAEvC,EAAE,CAAC,MAAMC,EAAE,KAAK,WAAWD,CAAC,EAAE,GAAGC,EAAE,OAAOA,EAAE,QAAO,EAAGA,EAAE,eAAeA,EAAE,cAAa,EAAG,KAAK,QAAQ,KAAK,QAAQ,OAAOD,GAAGA,IAAIC,CAAC,EAAE,KAAK,QAAQ,QAAQ,MAAM,iBAAiBA,CAAC,CAAC,CAAC,SAASuC,GAAExC,EAAE,CAAC,OAAO,KAAK,QAAQ,KAAKC,GAAGA,IAAID,GAAGC,EAAE,OAAOD,GAAGC,EAAE,OAAO,OAAO,OAAOD,CAAC,CAAC,EAAE,CAAC,CAAC,SAASyC,GAAEzC,EAAE,CAAC,GAAe,OAAO,KAAK,QAAQ,YAAhC,WAA2C,OAAO,QAAQ,KAAK,wDAAwD,EAAEA,EAAE,MAAMC,EAAE,KAAK,QAAQ,WAAWD,CAAC,EAAE,OAAOC,GAAa,OAAOA,GAAjB,SAAmBA,EAAE,WAAW,IAAI,GAAGA,EAAE,WAAW,MAAM,GAAG,QAAQ,KAAK,0DAA0D,EAAED,GAAGC,GAAG,QAAQ,KAAK,iDAAiD,EAAED,EAAE,CAAC,SAAS0C,GAAE1C,EAAEC,EAAE,CAAC,OAAO,KAAK,WAAWD,CAAC,IAAI,KAAK,WAAWC,CAAC,CAAC,CAAC,MAAM0C,GAAE,CAAC,uBAAuB,GAAG,kBAAkB,yBAAyB,eAAe,OAAO,MAAM,GAAG,WAAW,CAAC,OAAO,EAAE,YAAY,CAAC3C,EAAE,CAAC,GAAGC,CAAC,EAAE,CAAE,IAAG,EAAQA,GAAN,MAAS,CAACA,EAAE,QAAQ,gBAAgB,GAAG,aAAa,UAAU,WAAW,SAAS,OAAO,GAAG,QAAQ,CAAA,EAAG,WAAWD,GAAGA,EAAE,eAAe,CAAC,mBAAmB,OAAO,OAAO,kCAAkC,EAAE,qBAAqBA,GAAG,CAAC,IAAIC,EAAE,QAAuBA,EAAED,EAAE,QAAX,KAAkB,OAAOC,EAAE,UAArC,MAA4C,EAAE,QAAQ,CAAC,EAAE,MAAM2C,EAAC,CAAC,IAAI,gBAAgB,CAAC,OAAO,KAAK,SAAS,GAAG,CAAC,YAAY,EAAE,CAAE,EAAC,CAAC,IAAI3C,EAAE,EAAE,KAAK,QAAQ,QAAQ,KAAK,QAAQ,OAAO,KAAK,SAAS0C,GAAE,KAAK,QAAQ,CAAA,EAAG,KAAK,MAAM,OAAO,KAAK,MAAM,OAAO,KAAK,MAAM,OAAO,KAAK,QAAQ,OAAO,KAAK,SAASnC,EAAE,QAAQ,OAAO,SAAS,IAAI,EAAE,KAAK,oBAAoB,OAAO,KAAK,cAAc,OAAO,KAAK,WAAW,GAAG,KAAK,WAAW,OAAO,KAAK,IAAI8B,GAAE,KAAK,MAAMC,GAAE,KAAK,WAAWC,GAAE,KAAK,IAAI,IAAI,CAAE,EAAC,KAAK,SAAST,EAAE,KAAK,kBAAkBC,EAAE,KAAK,YAAYV,EAAE,KAAK,cAAchB,EAAE,KAAK,UAAUI,EAAE,KAAK,gBAAgBiB,EAAE,KAAK,WAAWU,GAAE,KAAK,eAAeH,GAAE,KAAK,cAAcE,GAAE,KAAK,eAAeH,EAAE,KAAK,gBAAgBE,GAAE,KAAK,iBAAiBX,EAAE,KAAK,cAAcrB,EAAE,KAAK,WAAWsC,GAAE,KAAK,kBAAkBC,GAAE,KAAK,QAAQ3C,EAAE,CAAE,EAAC,KAAK,SAAS,CAAC,EAAE,KAAK,gBAAgB,KAAK,gBAAgB,KAAK,IAAI,EAAE,KAAK,eAAe,KAAK,eAAe,KAAK,IAAI,EAAE,KAAK,MAAM,IAAIa,EAAE,IAAI,EAAE,KAAK,QAAQ,IAAIQ,EAAE,IAAI,EAAE,KAAK,MAAM,IAAIG,EAAE,IAAI,EAAE,KAAK,MAAM,KAAK,YAAY,CAAC,GAAG,EAAE,CAAC,EAAE,KAAK,qBAA2BtB,GAAS,EAAE,OAAO,QAAQ,QAAxB,KAA+B,OAAO,EAAE,QAAjD,KAAwDA,EAAE,EAAE,KAAK,OAAQ,CAAA,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC,aAAaA,CAAC,EAAE,KAAK,QAAQ,KAAK,cAAc,KAAK,cAAcA,EAAE,QAAQ,KAAK,eAAe,EAAE,OAAO,iBAAiB,WAAW,KAAK,cAAc,EAAE,KAAK,QAAQ,yBAAyB,OAAO,QAAQ,kBAAkB,UAAU,KAAK,QAAQ,OAAO,KAAK,QAAQ,QAAQ,CAAC,CAAC,SAAS,oBAAoB,KAAK,QAAQ,QAAQ,QAAQD,GAAG,KAAK,IAAIA,CAAC,CAAC,IAAmB,EAAE,OAAO,QAAQ,QAAxB,KAA+B,OAAO,EAAE,UAAlD,QAA2DK,EAAE,KAAK,CAAC,MAAM,KAAK,mBAAmB,CAAC,EAAE,MAAMU,EAAG,EAAC,MAAM,KAAK,MAAM,KAAK,SAAS,OAAO,OAAO,IAAI,CAAC,MAAMf,EAAE,SAAS,gBAAgBA,EAAE,UAAU,IAAI,cAAc,EAAEA,EAAE,UAAU,OAAO,cAAc,KAAK,QAAQ,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,SAAS,CAAC,KAAK,cAAc,QAAO,EAAG,OAAO,oBAAoB,WAAW,KAAK,cAAc,EAAE,KAAK,MAAM,MAAO,EAAC,KAAK,QAAQ,QAAQ,QAAQ,GAAG,KAAK,MAAM,CAAC,CAAC,EAAE,MAAM,KAAK,MAAM,KAAK,UAAU,OAAO,OAAO,IAAI,CAAC,MAAM,EAAE,SAAS,gBAAgB,EAAE,UAAU,OAAO,cAAc,EAAE,EAAE,UAAU,OAAO,aAAa,CAAC,CAAC,EAAE,KAAK,MAAM,MAAK,CAAE,CAAC,kBAAkB,EAAE,CAAC,GAAGC,EAAE,MAAMF,CAAC,EAAE,CAAE,EAAC,CAAC,KAAK,CAAC,OAAOG,EAAE,IAAIC,EAAE,KAAKC,CAAC,EAAEI,EAAE,QAAQ,CAAC,EAAE,OAAON,IAAI,OAAO,SAAS,QAAQ,EAAE,CAACD,GAAG,CAAC,KAAK,yBAAyBA,CAAC,IAAI,CAAC,CAAC,KAAK,QAAQ,YAAYE,EAAEC,EAAE,CAAC,GAAGH,EAAE,MAAMF,CAAC,CAAC,CAAC,CAAC,gBAAgB,EAAE,CAAC,MAAME,EAAE,EAAE,eAAe,CAAC,KAAKF,EAAE,IAAIG,EAAE,KAAKC,CAAC,EAAEK,EAAE,YAAYP,CAAC,EAAE,GAAG,KAAK,kBAAkBF,EAAE,CAAC,GAAGE,EAAE,MAAM,CAAC,CAAC,EAAE,OAAO,GAAG,KAAK,YAAYC,IAAI,KAAK,MAAM,GAAG,IAAI,OAAO,KAAK,EAAE,eAAgB,EAAC,MAAME,EAAE,KAAK,YAAY,CAAC,GAAGF,EAAE,KAAKC,EAAE,GAAGF,EAAE,MAAM,CAAC,CAAC,EAAE,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,OAAO,KAAK,MAAM,SAAS,cAAcG,EAAE,CAAC,KAAKL,CAAC,CAAC,EAAM,EAAE,SAAN,GAAc,KAAK,MAAM,SAAS,aAAaK,EAAE,CAAC,GAAGH,EAAE,MAAM,CAAC,EAAE,IAAI,CAAC,IAAIA,EAAE,MAAMF,GAASE,EAAEG,EAAE,KAAK,MAAhB,KAAqBH,EAAE,GAAG,EAAE,eAAgB,EAACC,GAAGA,IAAIH,EAAE,KAAK,kBAAkBG,EAAEH,CAAC,GAAG,KAAK,kBAAkBK,CAAC,EAAED,EAAE,KAAK,MAAM,SAAS,cAAcC,EAAE,CAAC,KAAKD,CAAC,EAAE,IAAI,CAACE,EAAEH,EAAEC,CAAC,EAAE,KAAK,gBAAgBC,CAAC,CAAC,CAAC,EAAE,KAAK,MAAM,SAAS,YAAYA,EAAE,OAAO,IAAI,CAAc,KAAK,QAAQ,aAA1B,WAAqC,KAAK,kBAAkBA,CAAC,GAAGC,EAAEH,CAAC,EAAE,KAAK,gBAAgBE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,eAAe,EAAE,CAAC,IAAIH,EAAEF,EAAEG,EAAE,EAAE,MAAMG,GAASJ,GAASF,EAAE,EAAE,QAAX,KAAkB,OAAOA,EAAE,MAApC,KAAyCE,EAAE,OAAO,SAAS,KAAoD,GAA5C,KAAK,QAAQ,qBAAqB,CAAC,GAAY,KAAK,kBAAkBE,EAAG,EAAC,KAAK,SAAS,GAAG,EAAE,OAAO,KAAK,CAAC,IAAIG,EAAE,KAAKK,CAAC,EAAEH,EAAE,QAAQH,CAAC,EAAEI,EAAE,KAAK,YAAY,CAAC,GAAGH,EAAE,KAAKK,EAAE,MAAM,CAAC,CAAC,EAAEF,EAAE,QAAQ,SAAS,GAAG,MAAMC,GAASR,GAAS,EAAE,EAAE,QAAX,KAAkB,OAAO,EAAE,QAApC,KAA2CA,EAAE,EAAEQ,GAAGA,IAAI,KAAK,sBAAsBD,EAAE,QAAQ,UAAUC,EAAE,KAAK,oBAAoB,EAAE,WAAW,YAAY,KAAK,oBAAoBA,GAAGD,EAAE,UAAU,QAAQ,GAAGA,EAAE,OAAO,MAAM,GAAGA,EAAE,OAAO,OAAO,GAAG,KAAK,QAAQ,yBAAyBA,EAAE,UAAU,QAAQ,GAAGA,EAAE,OAAO,MAAM,IAAI,KAAK,MAAM,SAAS,mBAAmBA,EAAE,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,KAAK,kBAAkBA,CAAC,CAAC,CAAC,CAAC,CAAC,yBAAyB,EAAE,CAAC,MAAM,CAAC,CAAC,EAAE,QAAQ,+BAA+B,CAAC,CAAC","x_google_ignoreList":[0,1]} \ No newline at end of file diff --git a/Target/_astro/ViewTransitions.astro_astro_type_script_index_0_lang.Bvzvg9jW.js.map b/Target/_astro/ViewTransitions.astro_astro_type_script_index_0_lang.Bvzvg9jW.js.map index 80fb1c1d..5539b11a 100644 --- a/Target/_astro/ViewTransitions.astro_astro_type_script_index_0_lang.Bvzvg9jW.js.map +++ b/Target/_astro/ViewTransitions.astro_astro_type_script_index_0_lang.Bvzvg9jW.js.map @@ -1 +1 @@ -{"version":3,"file":"ViewTransitions.astro_astro_type_script_index_0_lang.Bvzvg9jW.js","sources":["../../../../../../node_modules/astro/dist/transitions/swap-functions.js","../../../../../../node_modules/astro/dist/transitions/events.js","../../../../../../node_modules/astro/dist/transitions/router.js"],"sourcesContent":["const PERSIST_ATTR = \"data-astro-transition-persist\";\nfunction deselectScripts(doc) {\n for (const s1 of document.scripts) {\n for (const s2 of doc.scripts) {\n if (\n // Check if the script should be rerun regardless of it being the same\n !s2.hasAttribute(\"data-astro-rerun\") && // Inline\n (!s1.src && s1.textContent === s2.textContent || // External\n s1.src && s1.type === s2.type && s1.src === s2.src)\n ) {\n s2.dataset.astroExec = \"\";\n break;\n }\n }\n }\n}\nfunction swapRootAttributes(doc) {\n const html = document.documentElement;\n const astroAttributes = [...html.attributes].filter(\n ({ name }) => (html.removeAttribute(name), name.startsWith(\"data-astro-\"))\n );\n [...doc.documentElement.attributes, ...astroAttributes].forEach(\n ({ name, value }) => html.setAttribute(name, value)\n );\n}\nfunction swapHeadElements(doc) {\n for (const el of Array.from(document.head.children)) {\n const newEl = persistedHeadElement(el, doc);\n if (newEl) {\n newEl.remove();\n } else {\n el.remove();\n }\n }\n document.head.append(...doc.head.children);\n}\nfunction swapBodyElement(newElement, oldElement) {\n oldElement.replaceWith(newElement);\n for (const el of oldElement.querySelectorAll(`[${PERSIST_ATTR}]`)) {\n const id = el.getAttribute(PERSIST_ATTR);\n const newEl = newElement.querySelector(`[${PERSIST_ATTR}=\"${id}\"]`);\n if (newEl) {\n newEl.replaceWith(el);\n if (newEl.localName === \"astro-island\" && shouldCopyProps(el)) {\n el.setAttribute(\"ssr\", \"\");\n el.setAttribute(\"props\", newEl.getAttribute(\"props\"));\n }\n }\n }\n}\nconst saveFocus = () => {\n const activeElement = document.activeElement;\n if (activeElement?.closest(`[${PERSIST_ATTR}]`)) {\n if (activeElement instanceof HTMLInputElement || activeElement instanceof HTMLTextAreaElement) {\n const start = activeElement.selectionStart;\n const end = activeElement.selectionEnd;\n return () => restoreFocus({ activeElement, start, end });\n }\n return () => restoreFocus({ activeElement });\n } else {\n return () => restoreFocus({ activeElement: null });\n }\n};\nconst restoreFocus = ({ activeElement, start, end }) => {\n if (activeElement) {\n activeElement.focus();\n if (activeElement instanceof HTMLInputElement || activeElement instanceof HTMLTextAreaElement) {\n if (typeof start === \"number\") activeElement.selectionStart = start;\n if (typeof end === \"number\") activeElement.selectionEnd = end;\n }\n }\n};\nconst persistedHeadElement = (el, newDoc) => {\n const id = el.getAttribute(PERSIST_ATTR);\n const newEl = id && newDoc.head.querySelector(`[${PERSIST_ATTR}=\"${id}\"]`);\n if (newEl) {\n return newEl;\n }\n if (el.matches(\"link[rel=stylesheet]\")) {\n const href = el.getAttribute(\"href\");\n return newDoc.head.querySelector(`link[rel=stylesheet][href=\"${href}\"]`);\n }\n return null;\n};\nconst shouldCopyProps = (el) => {\n const persistProps = el.dataset.astroTransitionPersistProps;\n return persistProps == null || persistProps === \"false\";\n};\nconst swap = (doc) => {\n deselectScripts(doc);\n swapRootAttributes(doc);\n swapHeadElements(doc);\n const restoreFocusFunction = saveFocus();\n swapBodyElement(doc.body, document.body);\n restoreFocusFunction();\n};\nexport {\n deselectScripts,\n restoreFocus,\n saveFocus,\n swap,\n swapBodyElement,\n swapHeadElements,\n swapRootAttributes\n};\n","import { updateScrollPosition } from \"./router.js\";\nimport { swap } from \"./swap-functions.js\";\nconst TRANSITION_BEFORE_PREPARATION = \"astro:before-preparation\";\nconst TRANSITION_AFTER_PREPARATION = \"astro:after-preparation\";\nconst TRANSITION_BEFORE_SWAP = \"astro:before-swap\";\nconst TRANSITION_AFTER_SWAP = \"astro:after-swap\";\nconst TRANSITION_PAGE_LOAD = \"astro:page-load\";\nconst triggerEvent = (name) => document.dispatchEvent(new Event(name));\nconst onPageLoad = () => triggerEvent(TRANSITION_PAGE_LOAD);\nclass BeforeEvent extends Event {\n from;\n to;\n direction;\n navigationType;\n sourceElement;\n info;\n newDocument;\n signal;\n constructor(type, eventInitDict, from, to, direction, navigationType, sourceElement, info, newDocument, signal) {\n super(type, eventInitDict);\n this.from = from;\n this.to = to;\n this.direction = direction;\n this.navigationType = navigationType;\n this.sourceElement = sourceElement;\n this.info = info;\n this.newDocument = newDocument;\n this.signal = signal;\n Object.defineProperties(this, {\n from: { enumerable: true },\n to: { enumerable: true, writable: true },\n direction: { enumerable: true, writable: true },\n navigationType: { enumerable: true },\n sourceElement: { enumerable: true },\n info: { enumerable: true },\n newDocument: { enumerable: true, writable: true },\n signal: { enumerable: true }\n });\n }\n}\nconst isTransitionBeforePreparationEvent = (value) => value.type === TRANSITION_BEFORE_PREPARATION;\nclass TransitionBeforePreparationEvent extends BeforeEvent {\n formData;\n loader;\n constructor(from, to, direction, navigationType, sourceElement, info, newDocument, signal, formData, loader) {\n super(\n TRANSITION_BEFORE_PREPARATION,\n { cancelable: true },\n from,\n to,\n direction,\n navigationType,\n sourceElement,\n info,\n newDocument,\n signal\n );\n this.formData = formData;\n this.loader = loader.bind(this, this);\n Object.defineProperties(this, {\n formData: { enumerable: true },\n loader: { enumerable: true, writable: true }\n });\n }\n}\nconst isTransitionBeforeSwapEvent = (value) => value.type === TRANSITION_BEFORE_SWAP;\nclass TransitionBeforeSwapEvent extends BeforeEvent {\n direction;\n viewTransition;\n swap;\n constructor(afterPreparation, viewTransition) {\n super(\n TRANSITION_BEFORE_SWAP,\n void 0,\n afterPreparation.from,\n afterPreparation.to,\n afterPreparation.direction,\n afterPreparation.navigationType,\n afterPreparation.sourceElement,\n afterPreparation.info,\n afterPreparation.newDocument,\n afterPreparation.signal\n );\n this.direction = afterPreparation.direction;\n this.viewTransition = viewTransition;\n this.swap = () => swap(this.newDocument);\n Object.defineProperties(this, {\n direction: { enumerable: true },\n viewTransition: { enumerable: true },\n swap: { enumerable: true, writable: true }\n });\n }\n}\nasync function doPreparation(from, to, direction, navigationType, sourceElement, info, signal, formData, defaultLoader) {\n const event = new TransitionBeforePreparationEvent(\n from,\n to,\n direction,\n navigationType,\n sourceElement,\n info,\n window.document,\n signal,\n formData,\n defaultLoader\n );\n if (document.dispatchEvent(event)) {\n await event.loader();\n if (!event.defaultPrevented) {\n triggerEvent(TRANSITION_AFTER_PREPARATION);\n if (event.navigationType !== \"traverse\") {\n updateScrollPosition({ scrollX, scrollY });\n }\n }\n }\n return event;\n}\nfunction doSwap(afterPreparation, viewTransition) {\n const event = new TransitionBeforeSwapEvent(afterPreparation, viewTransition);\n document.dispatchEvent(event);\n event.swap();\n return event;\n}\nexport {\n TRANSITION_AFTER_PREPARATION,\n TRANSITION_AFTER_SWAP,\n TRANSITION_BEFORE_PREPARATION,\n TRANSITION_BEFORE_SWAP,\n TRANSITION_PAGE_LOAD,\n TransitionBeforePreparationEvent,\n TransitionBeforeSwapEvent,\n doPreparation,\n doSwap,\n isTransitionBeforePreparationEvent,\n isTransitionBeforeSwapEvent,\n onPageLoad,\n triggerEvent\n};\n","import { TRANSITION_AFTER_SWAP, doPreparation, doSwap } from \"./events.js\";\nimport {\n deselectScripts,\n restoreFocus,\n saveFocus,\n swapBodyElement,\n swapHeadElements,\n swapRootAttributes\n} from \"./swap-functions.js\";\nconst inBrowser = import.meta.env.SSR === false;\nconst pushState = inBrowser && history.pushState.bind(history);\nconst replaceState = inBrowser && history.replaceState.bind(history);\nconst updateScrollPosition = (positions) => {\n if (history.state) {\n history.scrollRestoration = \"manual\";\n replaceState({ ...history.state, ...positions }, \"\");\n }\n};\nconst supportsViewTransitions = inBrowser && !!document.startViewTransition;\nconst transitionEnabledOnThisPage = () => inBrowser && !!document.querySelector('[name=\"astro-view-transitions-enabled\"]');\nconst samePage = (thisLocation, otherLocation) => thisLocation.pathname === otherLocation.pathname && thisLocation.search === otherLocation.search;\nlet mostRecentNavigation;\nlet mostRecentTransition;\nlet originalLocation;\nconst triggerEvent = (name) => document.dispatchEvent(new Event(name));\nconst onPageLoad = () => triggerEvent(\"astro:page-load\");\nconst announce = () => {\n let div = document.createElement(\"div\");\n div.setAttribute(\"aria-live\", \"assertive\");\n div.setAttribute(\"aria-atomic\", \"true\");\n div.className = \"astro-route-announcer\";\n document.body.append(div);\n setTimeout(\n () => {\n let title = document.title || document.querySelector(\"h1\")?.textContent || location.pathname;\n div.textContent = title;\n },\n // Much thought went into this magic number; the gist is that screen readers\n // need to see that the element changed and might not do so if it happens\n // too quickly.\n 60\n );\n};\nconst PERSIST_ATTR = \"data-astro-transition-persist\";\nconst DIRECTION_ATTR = \"data-astro-transition\";\nconst OLD_NEW_ATTR = \"data-astro-transition-fallback\";\nconst VITE_ID = \"data-vite-dev-id\";\nlet parser;\nlet currentHistoryIndex = 0;\nif (inBrowser) {\n if (history.state) {\n currentHistoryIndex = history.state.index;\n scrollTo({ left: history.state.scrollX, top: history.state.scrollY });\n } else if (transitionEnabledOnThisPage()) {\n replaceState({ index: currentHistoryIndex, scrollX, scrollY }, \"\");\n history.scrollRestoration = \"manual\";\n }\n}\nasync function fetchHTML(href, init) {\n try {\n const res = await fetch(href, init);\n const contentType = res.headers.get(\"content-type\") ?? \"\";\n const mediaType = contentType.split(\";\", 1)[0].trim();\n if (mediaType !== \"text/html\" && mediaType !== \"application/xhtml+xml\") {\n return null;\n }\n const html = await res.text();\n return {\n html,\n redirected: res.redirected ? res.url : void 0,\n mediaType\n };\n } catch (err) {\n return null;\n }\n}\nfunction getFallback() {\n const el = document.querySelector('[name=\"astro-view-transitions-fallback\"]');\n if (el) {\n return el.getAttribute(\"content\");\n }\n return \"animate\";\n}\nfunction runScripts() {\n let wait = Promise.resolve();\n for (const script of Array.from(document.scripts)) {\n if (script.dataset.astroExec === \"\") continue;\n const type = script.getAttribute(\"type\");\n if (type && type !== \"module\" && type !== \"text/javascript\") continue;\n const newScript = document.createElement(\"script\");\n newScript.innerHTML = script.innerHTML;\n for (const attr of script.attributes) {\n if (attr.name === \"src\") {\n const p = new Promise((r) => {\n newScript.onload = newScript.onerror = r;\n });\n wait = wait.then(() => p);\n }\n newScript.setAttribute(attr.name, attr.value);\n }\n newScript.dataset.astroExec = \"\";\n script.replaceWith(newScript);\n }\n return wait;\n}\nconst moveToLocation = (to, from, options, pageTitleForBrowserHistory, historyState) => {\n const intraPage = samePage(from, to);\n const targetPageTitle = document.title;\n document.title = pageTitleForBrowserHistory;\n let scrolledToTop = false;\n if (to.href !== location.href && !historyState) {\n if (options.history === \"replace\") {\n const current = history.state;\n replaceState(\n {\n ...options.state,\n index: current.index,\n scrollX: current.scrollX,\n scrollY: current.scrollY\n },\n \"\",\n to.href\n );\n } else {\n pushState(\n { ...options.state, index: ++currentHistoryIndex, scrollX: 0, scrollY: 0 },\n \"\",\n to.href\n );\n }\n }\n document.title = targetPageTitle;\n originalLocation = to;\n if (!intraPage) {\n scrollTo({ left: 0, top: 0, behavior: \"instant\" });\n scrolledToTop = true;\n }\n if (historyState) {\n scrollTo(historyState.scrollX, historyState.scrollY);\n } else {\n if (to.hash) {\n history.scrollRestoration = \"auto\";\n const savedState = history.state;\n location.href = to.href;\n if (!history.state) {\n replaceState(savedState, \"\");\n if (intraPage) {\n window.dispatchEvent(new PopStateEvent(\"popstate\"));\n }\n }\n } else {\n if (!scrolledToTop) {\n scrollTo({ left: 0, top: 0, behavior: \"instant\" });\n }\n }\n history.scrollRestoration = \"manual\";\n }\n};\nfunction preloadStyleLinks(newDocument) {\n const links = [];\n for (const el of newDocument.querySelectorAll(\"head link[rel=stylesheet]\")) {\n if (!document.querySelector(\n `[${PERSIST_ATTR}=\"${el.getAttribute(\n PERSIST_ATTR\n )}\"], link[rel=stylesheet][href=\"${el.getAttribute(\"href\")}\"]`\n )) {\n const c = document.createElement(\"link\");\n c.setAttribute(\"rel\", \"preload\");\n c.setAttribute(\"as\", \"style\");\n c.setAttribute(\"href\", el.getAttribute(\"href\"));\n links.push(\n new Promise((resolve) => {\n [\"load\", \"error\"].forEach((evName) => c.addEventListener(evName, resolve));\n document.head.append(c);\n })\n );\n }\n }\n return links;\n}\nasync function updateDOM(preparationEvent, options, currentTransition, historyState, fallback) {\n async function animate(phase) {\n function isInfinite(animation) {\n const effect = animation.effect;\n if (!effect || !(effect instanceof KeyframeEffect) || !effect.target) return false;\n const style = window.getComputedStyle(effect.target, effect.pseudoElement);\n return style.animationIterationCount === \"infinite\";\n }\n const currentAnimations = document.getAnimations();\n document.documentElement.setAttribute(OLD_NEW_ATTR, phase);\n const nextAnimations = document.getAnimations();\n const newAnimations = nextAnimations.filter(\n (a) => !currentAnimations.includes(a) && !isInfinite(a)\n );\n return Promise.allSettled(newAnimations.map((a) => a.finished));\n }\n if (fallback === \"animate\" && !currentTransition.transitionSkipped && !preparationEvent.signal.aborted) {\n try {\n await animate(\"old\");\n } catch (err) {\n }\n }\n const pageTitleForBrowserHistory = document.title;\n const swapEvent = doSwap(preparationEvent, currentTransition.viewTransition);\n moveToLocation(swapEvent.to, swapEvent.from, options, pageTitleForBrowserHistory, historyState);\n triggerEvent(TRANSITION_AFTER_SWAP);\n if (fallback === \"animate\") {\n if (!currentTransition.transitionSkipped && !swapEvent.signal.aborted) {\n animate(\"new\").finally(() => currentTransition.viewTransitionFinished());\n } else {\n currentTransition.viewTransitionFinished();\n }\n }\n}\nfunction abortAndRecreateMostRecentNavigation() {\n mostRecentNavigation?.controller.abort();\n return mostRecentNavigation = {\n controller: new AbortController()\n };\n}\nasync function transition(direction, from, to, options, historyState) {\n const currentNavigation = abortAndRecreateMostRecentNavigation();\n if (!transitionEnabledOnThisPage() || location.origin !== to.origin) {\n if (currentNavigation === mostRecentNavigation) mostRecentNavigation = void 0;\n location.href = to.href;\n return;\n }\n const navigationType = historyState ? \"traverse\" : options.history === \"replace\" ? \"replace\" : \"push\";\n if (navigationType !== \"traverse\") {\n updateScrollPosition({ scrollX, scrollY });\n }\n if (samePage(from, to)) {\n if (direction !== \"back\" && to.hash || direction === \"back\" && from.hash) {\n moveToLocation(to, from, options, document.title, historyState);\n if (currentNavigation === mostRecentNavigation) mostRecentNavigation = void 0;\n return;\n }\n }\n const prepEvent = await doPreparation(\n from,\n to,\n direction,\n navigationType,\n options.sourceElement,\n options.info,\n currentNavigation.controller.signal,\n options.formData,\n defaultLoader\n );\n if (prepEvent.defaultPrevented || prepEvent.signal.aborted) {\n if (currentNavigation === mostRecentNavigation) mostRecentNavigation = void 0;\n if (!prepEvent.signal.aborted) {\n location.href = to.href;\n }\n return;\n }\n async function defaultLoader(preparationEvent) {\n const href = preparationEvent.to.href;\n const init = { signal: preparationEvent.signal };\n if (preparationEvent.formData) {\n init.method = \"POST\";\n const form = preparationEvent.sourceElement instanceof HTMLFormElement ? preparationEvent.sourceElement : preparationEvent.sourceElement instanceof HTMLElement && \"form\" in preparationEvent.sourceElement ? preparationEvent.sourceElement.form : preparationEvent.sourceElement?.closest(\"form\");\n init.body = form?.attributes.getNamedItem(\"enctype\")?.value === \"application/x-www-form-urlencoded\" ? new URLSearchParams(preparationEvent.formData) : preparationEvent.formData;\n }\n const response = await fetchHTML(href, init);\n if (response === null) {\n preparationEvent.preventDefault();\n return;\n }\n if (response.redirected) {\n const redirectedTo = new URL(response.redirected);\n if (redirectedTo.origin !== preparationEvent.to.origin) {\n preparationEvent.preventDefault();\n return;\n }\n preparationEvent.to = redirectedTo;\n }\n parser ??= new DOMParser();\n preparationEvent.newDocument = parser.parseFromString(response.html, response.mediaType);\n preparationEvent.newDocument.querySelectorAll(\"noscript\").forEach((el) => el.remove());\n if (!preparationEvent.newDocument.querySelector('[name=\"astro-view-transitions-enabled\"]') && !preparationEvent.formData) {\n preparationEvent.preventDefault();\n return;\n }\n const links = preloadStyleLinks(preparationEvent.newDocument);\n links.length && !preparationEvent.signal.aborted && await Promise.all(links);\n if (import.meta.env.DEV && !preparationEvent.signal.aborted)\n await prepareForClientOnlyComponents(\n preparationEvent.newDocument,\n preparationEvent.to,\n preparationEvent.signal\n );\n }\n async function abortAndRecreateMostRecentTransition() {\n if (mostRecentTransition) {\n if (mostRecentTransition.viewTransition) {\n try {\n mostRecentTransition.viewTransition.skipTransition();\n } catch {\n }\n try {\n await mostRecentTransition.viewTransition.updateCallbackDone;\n } catch {\n }\n }\n }\n return mostRecentTransition = { transitionSkipped: false };\n }\n const currentTransition = await abortAndRecreateMostRecentTransition();\n if (prepEvent.signal.aborted) {\n if (currentNavigation === mostRecentNavigation) mostRecentNavigation = void 0;\n return;\n }\n document.documentElement.setAttribute(DIRECTION_ATTR, prepEvent.direction);\n if (supportsViewTransitions) {\n currentTransition.viewTransition = document.startViewTransition(\n async () => await updateDOM(prepEvent, options, currentTransition, historyState)\n );\n } else {\n const updateDone = (async () => {\n await Promise.resolve();\n await updateDOM(prepEvent, options, currentTransition, historyState, getFallback());\n })();\n currentTransition.viewTransition = {\n updateCallbackDone: updateDone,\n // this is about correct\n ready: updateDone,\n // good enough\n // Finished promise could have been done better: finished rejects iff updateDone does.\n // Our simulation always resolves, never rejects.\n finished: new Promise((r) => currentTransition.viewTransitionFinished = r),\n // see end of updateDOM\n skipTransition: () => {\n currentTransition.transitionSkipped = true;\n document.documentElement.removeAttribute(OLD_NEW_ATTR);\n }\n };\n }\n currentTransition.viewTransition.updateCallbackDone.finally(async () => {\n await runScripts();\n onPageLoad();\n announce();\n });\n currentTransition.viewTransition.finished.finally(() => {\n currentTransition.viewTransition = void 0;\n if (currentTransition === mostRecentTransition) mostRecentTransition = void 0;\n if (currentNavigation === mostRecentNavigation) mostRecentNavigation = void 0;\n document.documentElement.removeAttribute(DIRECTION_ATTR);\n document.documentElement.removeAttribute(OLD_NEW_ATTR);\n });\n try {\n await currentTransition.viewTransition.updateCallbackDone;\n } catch (e) {\n const err = e;\n console.log(\"[astro]\", err.name, err.message, err.stack);\n }\n}\nlet navigateOnServerWarned = false;\nasync function navigate(href, options) {\n if (inBrowser === false) {\n if (!navigateOnServerWarned) {\n const warning = new Error(\n \"The view transitions client API was called during a server side render. This may be unintentional as the navigate() function is expected to be called in response to user interactions. Please make sure that your usage is correct.\"\n );\n warning.name = \"Warning\";\n console.warn(warning);\n navigateOnServerWarned = true;\n }\n return;\n }\n await transition(\"forward\", originalLocation, new URL(href, location.href), options ?? {});\n}\nfunction onPopState(ev) {\n if (!transitionEnabledOnThisPage() && ev.state) {\n location.reload();\n return;\n }\n if (ev.state === null) {\n return;\n }\n const state = history.state;\n const nextIndex = state.index;\n const direction = nextIndex > currentHistoryIndex ? \"forward\" : \"back\";\n currentHistoryIndex = nextIndex;\n transition(direction, originalLocation, new URL(location.href), {}, state);\n}\nconst onScrollEnd = () => {\n if (history.state && (scrollX !== history.state.scrollX || scrollY !== history.state.scrollY)) {\n updateScrollPosition({ scrollX, scrollY });\n }\n};\nif (inBrowser) {\n if (supportsViewTransitions || getFallback() !== \"none\") {\n originalLocation = new URL(location.href);\n addEventListener(\"popstate\", onPopState);\n addEventListener(\"load\", onPageLoad);\n if (\"onscrollend\" in window) addEventListener(\"scrollend\", onScrollEnd);\n else {\n let intervalId, lastY, lastX, lastIndex;\n const scrollInterval = () => {\n if (lastIndex !== history.state?.index) {\n clearInterval(intervalId);\n intervalId = void 0;\n return;\n }\n if (lastY === scrollY && lastX === scrollX) {\n clearInterval(intervalId);\n intervalId = void 0;\n onScrollEnd();\n return;\n } else {\n lastY = scrollY, lastX = scrollX;\n }\n };\n addEventListener(\n \"scroll\",\n () => {\n if (intervalId !== void 0) return;\n lastIndex = history.state.index, lastY = scrollY, lastX = scrollX;\n intervalId = window.setInterval(scrollInterval, 50);\n },\n { passive: true }\n );\n }\n }\n for (const script of document.scripts) {\n script.dataset.astroExec = \"\";\n }\n}\nasync function prepareForClientOnlyComponents(newDocument, toLocation, signal) {\n if (newDocument.body.querySelector(`astro-island[client='only']`)) {\n const nextPage = document.createElement(\"iframe\");\n nextPage.src = toLocation.href;\n nextPage.style.display = \"none\";\n document.body.append(nextPage);\n nextPage.contentWindow.console = Object.keys(console).reduce((acc, key) => {\n acc[key] = () => {\n };\n return acc;\n }, {});\n await hydrationDone(nextPage);\n const nextHead = nextPage.contentDocument?.head;\n if (nextHead) {\n const viteIds = [...nextHead.querySelectorAll(`style[${VITE_ID}]`)].map(\n (style) => style.getAttribute(VITE_ID)\n );\n viteIds.forEach((id) => {\n const style = nextHead.querySelector(`style[${VITE_ID}=\"${id}\"]`);\n if (style && !newDocument.head.querySelector(`style[${VITE_ID}=\"${id}\"]`)) {\n newDocument.head.appendChild(style.cloneNode(true));\n }\n });\n }\n async function hydrationDone(loadingPage) {\n if (!signal.aborted) {\n await new Promise(\n (r) => loadingPage.contentWindow?.addEventListener(\"load\", r, { once: true })\n );\n }\n return new Promise(async (r) => {\n for (let count = 0; count <= 20; ++count) {\n if (signal.aborted) break;\n if (!loadingPage.contentDocument.body.querySelector(\"astro-island[ssr]\")) break;\n await new Promise((r2) => setTimeout(r2, 50));\n }\n r();\n });\n }\n }\n}\nexport {\n getFallback,\n navigate,\n supportsViewTransitions,\n transitionEnabledOnThisPage,\n updateScrollPosition\n};\n"],"names":["PERSIST_ATTR","deselectScripts","doc","s1","s2","swapRootAttributes","html","astroAttributes","name","value","swapHeadElements","el","newEl","persistedHeadElement","swapBodyElement","newElement","oldElement","id","shouldCopyProps","saveFocus","activeElement","start","end","restoreFocus","newDoc","href","persistProps","swap","restoreFocusFunction","TRANSITION_BEFORE_PREPARATION","TRANSITION_AFTER_PREPARATION","TRANSITION_BEFORE_SWAP","TRANSITION_AFTER_SWAP","triggerEvent","BeforeEvent","type","eventInitDict","from","to","direction","navigationType","sourceElement","info","newDocument","signal","TransitionBeforePreparationEvent","formData","loader","TransitionBeforeSwapEvent","afterPreparation","viewTransition","doPreparation","defaultLoader","event","updateScrollPosition","doSwap","pushState","replaceState","positions","supportsViewTransitions","transitionEnabledOnThisPage","samePage","thisLocation","otherLocation","mostRecentNavigation","mostRecentTransition","originalLocation","onPageLoad","announce","div","title","DIRECTION_ATTR","OLD_NEW_ATTR","parser","currentHistoryIndex","fetchHTML","init","res","mediaType","getFallback","runScripts","wait","script","newScript","attr","p","r","moveToLocation","options","pageTitleForBrowserHistory","historyState","intraPage","targetPageTitle","scrolledToTop","current","savedState","preloadStyleLinks","links","c","resolve","evName","updateDOM","preparationEvent","currentTransition","fallback","animate","phase","isInfinite","animation","effect","currentAnimations","newAnimations","a","swapEvent","abortAndRecreateMostRecentNavigation","transition","currentNavigation","prepEvent","form","response","redirectedTo","abortAndRecreateMostRecentTransition","updateDone","e","err","navigate","onPopState","ev","state","nextIndex","onScrollEnd","intervalId","lastY","lastX","lastIndex","scrollInterval"],"mappings":"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","x_google_ignoreList":[0,1,2]} \ No newline at end of file +{"version":3,"file":"ViewTransitions.astro_astro_type_script_index_0_lang.Bvzvg9jW.js","sources":["../../node_modules/astro/dist/transitions/swap-functions.js","../../node_modules/astro/dist/transitions/events.js","../../node_modules/astro/dist/transitions/router.js"],"sourcesContent":["const PERSIST_ATTR = \"data-astro-transition-persist\";\nfunction deselectScripts(doc) {\n for (const s1 of document.scripts) {\n for (const s2 of doc.scripts) {\n if (\n // Check if the script should be rerun regardless of it being the same\n !s2.hasAttribute(\"data-astro-rerun\") && // Inline\n (!s1.src && s1.textContent === s2.textContent || // External\n s1.src && s1.type === s2.type && s1.src === s2.src)\n ) {\n s2.dataset.astroExec = \"\";\n break;\n }\n }\n }\n}\nfunction swapRootAttributes(doc) {\n const html = document.documentElement;\n const astroAttributes = [...html.attributes].filter(\n ({ name }) => (html.removeAttribute(name), name.startsWith(\"data-astro-\"))\n );\n [...doc.documentElement.attributes, ...astroAttributes].forEach(\n ({ name, value }) => html.setAttribute(name, value)\n );\n}\nfunction swapHeadElements(doc) {\n for (const el of Array.from(document.head.children)) {\n const newEl = persistedHeadElement(el, doc);\n if (newEl) {\n newEl.remove();\n } else {\n el.remove();\n }\n }\n document.head.append(...doc.head.children);\n}\nfunction swapBodyElement(newElement, oldElement) {\n oldElement.replaceWith(newElement);\n for (const el of oldElement.querySelectorAll(`[${PERSIST_ATTR}]`)) {\n const id = el.getAttribute(PERSIST_ATTR);\n const newEl = newElement.querySelector(`[${PERSIST_ATTR}=\"${id}\"]`);\n if (newEl) {\n newEl.replaceWith(el);\n if (newEl.localName === \"astro-island\" && shouldCopyProps(el)) {\n el.setAttribute(\"ssr\", \"\");\n el.setAttribute(\"props\", newEl.getAttribute(\"props\"));\n }\n }\n }\n}\nconst saveFocus = () => {\n const activeElement = document.activeElement;\n if (activeElement?.closest(`[${PERSIST_ATTR}]`)) {\n if (activeElement instanceof HTMLInputElement || activeElement instanceof HTMLTextAreaElement) {\n const start = activeElement.selectionStart;\n const end = activeElement.selectionEnd;\n return () => restoreFocus({ activeElement, start, end });\n }\n return () => restoreFocus({ activeElement });\n } else {\n return () => restoreFocus({ activeElement: null });\n }\n};\nconst restoreFocus = ({ activeElement, start, end }) => {\n if (activeElement) {\n activeElement.focus();\n if (activeElement instanceof HTMLInputElement || activeElement instanceof HTMLTextAreaElement) {\n if (typeof start === \"number\") activeElement.selectionStart = start;\n if (typeof end === \"number\") activeElement.selectionEnd = end;\n }\n }\n};\nconst persistedHeadElement = (el, newDoc) => {\n const id = el.getAttribute(PERSIST_ATTR);\n const newEl = id && newDoc.head.querySelector(`[${PERSIST_ATTR}=\"${id}\"]`);\n if (newEl) {\n return newEl;\n }\n if (el.matches(\"link[rel=stylesheet]\")) {\n const href = el.getAttribute(\"href\");\n return newDoc.head.querySelector(`link[rel=stylesheet][href=\"${href}\"]`);\n }\n return null;\n};\nconst shouldCopyProps = (el) => {\n const persistProps = el.dataset.astroTransitionPersistProps;\n return persistProps == null || persistProps === \"false\";\n};\nconst swap = (doc) => {\n deselectScripts(doc);\n swapRootAttributes(doc);\n swapHeadElements(doc);\n const restoreFocusFunction = saveFocus();\n swapBodyElement(doc.body, document.body);\n restoreFocusFunction();\n};\nexport {\n deselectScripts,\n restoreFocus,\n saveFocus,\n swap,\n swapBodyElement,\n swapHeadElements,\n swapRootAttributes\n};\n","import { updateScrollPosition } from \"./router.js\";\nimport { swap } from \"./swap-functions.js\";\nconst TRANSITION_BEFORE_PREPARATION = \"astro:before-preparation\";\nconst TRANSITION_AFTER_PREPARATION = \"astro:after-preparation\";\nconst TRANSITION_BEFORE_SWAP = \"astro:before-swap\";\nconst TRANSITION_AFTER_SWAP = \"astro:after-swap\";\nconst TRANSITION_PAGE_LOAD = \"astro:page-load\";\nconst triggerEvent = (name) => document.dispatchEvent(new Event(name));\nconst onPageLoad = () => triggerEvent(TRANSITION_PAGE_LOAD);\nclass BeforeEvent extends Event {\n from;\n to;\n direction;\n navigationType;\n sourceElement;\n info;\n newDocument;\n signal;\n constructor(type, eventInitDict, from, to, direction, navigationType, sourceElement, info, newDocument, signal) {\n super(type, eventInitDict);\n this.from = from;\n this.to = to;\n this.direction = direction;\n this.navigationType = navigationType;\n this.sourceElement = sourceElement;\n this.info = info;\n this.newDocument = newDocument;\n this.signal = signal;\n Object.defineProperties(this, {\n from: { enumerable: true },\n to: { enumerable: true, writable: true },\n direction: { enumerable: true, writable: true },\n navigationType: { enumerable: true },\n sourceElement: { enumerable: true },\n info: { enumerable: true },\n newDocument: { enumerable: true, writable: true },\n signal: { enumerable: true }\n });\n }\n}\nconst isTransitionBeforePreparationEvent = (value) => value.type === TRANSITION_BEFORE_PREPARATION;\nclass TransitionBeforePreparationEvent extends BeforeEvent {\n formData;\n loader;\n constructor(from, to, direction, navigationType, sourceElement, info, newDocument, signal, formData, loader) {\n super(\n TRANSITION_BEFORE_PREPARATION,\n { cancelable: true },\n from,\n to,\n direction,\n navigationType,\n sourceElement,\n info,\n newDocument,\n signal\n );\n this.formData = formData;\n this.loader = loader.bind(this, this);\n Object.defineProperties(this, {\n formData: { enumerable: true },\n loader: { enumerable: true, writable: true }\n });\n }\n}\nconst isTransitionBeforeSwapEvent = (value) => value.type === TRANSITION_BEFORE_SWAP;\nclass TransitionBeforeSwapEvent extends BeforeEvent {\n direction;\n viewTransition;\n swap;\n constructor(afterPreparation, viewTransition) {\n super(\n TRANSITION_BEFORE_SWAP,\n void 0,\n afterPreparation.from,\n afterPreparation.to,\n afterPreparation.direction,\n afterPreparation.navigationType,\n afterPreparation.sourceElement,\n afterPreparation.info,\n afterPreparation.newDocument,\n afterPreparation.signal\n );\n this.direction = afterPreparation.direction;\n this.viewTransition = viewTransition;\n this.swap = () => swap(this.newDocument);\n Object.defineProperties(this, {\n direction: { enumerable: true },\n viewTransition: { enumerable: true },\n swap: { enumerable: true, writable: true }\n });\n }\n}\nasync function doPreparation(from, to, direction, navigationType, sourceElement, info, signal, formData, defaultLoader) {\n const event = new TransitionBeforePreparationEvent(\n from,\n to,\n direction,\n navigationType,\n sourceElement,\n info,\n window.document,\n signal,\n formData,\n defaultLoader\n );\n if (document.dispatchEvent(event)) {\n await event.loader();\n if (!event.defaultPrevented) {\n triggerEvent(TRANSITION_AFTER_PREPARATION);\n if (event.navigationType !== \"traverse\") {\n updateScrollPosition({ scrollX, scrollY });\n }\n }\n }\n return event;\n}\nfunction doSwap(afterPreparation, viewTransition) {\n const event = new TransitionBeforeSwapEvent(afterPreparation, viewTransition);\n document.dispatchEvent(event);\n event.swap();\n return event;\n}\nexport {\n TRANSITION_AFTER_PREPARATION,\n TRANSITION_AFTER_SWAP,\n TRANSITION_BEFORE_PREPARATION,\n TRANSITION_BEFORE_SWAP,\n TRANSITION_PAGE_LOAD,\n TransitionBeforePreparationEvent,\n TransitionBeforeSwapEvent,\n doPreparation,\n doSwap,\n isTransitionBeforePreparationEvent,\n isTransitionBeforeSwapEvent,\n onPageLoad,\n triggerEvent\n};\n","import { TRANSITION_AFTER_SWAP, doPreparation, doSwap } from \"./events.js\";\nimport {\n deselectScripts,\n restoreFocus,\n saveFocus,\n swapBodyElement,\n swapHeadElements,\n swapRootAttributes\n} from \"./swap-functions.js\";\nconst inBrowser = import.meta.env.SSR === false;\nconst pushState = inBrowser && history.pushState.bind(history);\nconst replaceState = inBrowser && history.replaceState.bind(history);\nconst updateScrollPosition = (positions) => {\n if (history.state) {\n history.scrollRestoration = \"manual\";\n replaceState({ ...history.state, ...positions }, \"\");\n }\n};\nconst supportsViewTransitions = inBrowser && !!document.startViewTransition;\nconst transitionEnabledOnThisPage = () => inBrowser && !!document.querySelector('[name=\"astro-view-transitions-enabled\"]');\nconst samePage = (thisLocation, otherLocation) => thisLocation.pathname === otherLocation.pathname && thisLocation.search === otherLocation.search;\nlet mostRecentNavigation;\nlet mostRecentTransition;\nlet originalLocation;\nconst triggerEvent = (name) => document.dispatchEvent(new Event(name));\nconst onPageLoad = () => triggerEvent(\"astro:page-load\");\nconst announce = () => {\n let div = document.createElement(\"div\");\n div.setAttribute(\"aria-live\", \"assertive\");\n div.setAttribute(\"aria-atomic\", \"true\");\n div.className = \"astro-route-announcer\";\n document.body.append(div);\n setTimeout(\n () => {\n let title = document.title || document.querySelector(\"h1\")?.textContent || location.pathname;\n div.textContent = title;\n },\n // Much thought went into this magic number; the gist is that screen readers\n // need to see that the element changed and might not do so if it happens\n // too quickly.\n 60\n );\n};\nconst PERSIST_ATTR = \"data-astro-transition-persist\";\nconst DIRECTION_ATTR = \"data-astro-transition\";\nconst OLD_NEW_ATTR = \"data-astro-transition-fallback\";\nconst VITE_ID = \"data-vite-dev-id\";\nlet parser;\nlet currentHistoryIndex = 0;\nif (inBrowser) {\n if (history.state) {\n currentHistoryIndex = history.state.index;\n scrollTo({ left: history.state.scrollX, top: history.state.scrollY });\n } else if (transitionEnabledOnThisPage()) {\n replaceState({ index: currentHistoryIndex, scrollX, scrollY }, \"\");\n history.scrollRestoration = \"manual\";\n }\n}\nasync function fetchHTML(href, init) {\n try {\n const res = await fetch(href, init);\n const contentType = res.headers.get(\"content-type\") ?? \"\";\n const mediaType = contentType.split(\";\", 1)[0].trim();\n if (mediaType !== \"text/html\" && mediaType !== \"application/xhtml+xml\") {\n return null;\n }\n const html = await res.text();\n return {\n html,\n redirected: res.redirected ? res.url : void 0,\n mediaType\n };\n } catch (err) {\n return null;\n }\n}\nfunction getFallback() {\n const el = document.querySelector('[name=\"astro-view-transitions-fallback\"]');\n if (el) {\n return el.getAttribute(\"content\");\n }\n return \"animate\";\n}\nfunction runScripts() {\n let wait = Promise.resolve();\n for (const script of Array.from(document.scripts)) {\n if (script.dataset.astroExec === \"\") continue;\n const type = script.getAttribute(\"type\");\n if (type && type !== \"module\" && type !== \"text/javascript\") continue;\n const newScript = document.createElement(\"script\");\n newScript.innerHTML = script.innerHTML;\n for (const attr of script.attributes) {\n if (attr.name === \"src\") {\n const p = new Promise((r) => {\n newScript.onload = newScript.onerror = r;\n });\n wait = wait.then(() => p);\n }\n newScript.setAttribute(attr.name, attr.value);\n }\n newScript.dataset.astroExec = \"\";\n script.replaceWith(newScript);\n }\n return wait;\n}\nconst moveToLocation = (to, from, options, pageTitleForBrowserHistory, historyState) => {\n const intraPage = samePage(from, to);\n const targetPageTitle = document.title;\n document.title = pageTitleForBrowserHistory;\n let scrolledToTop = false;\n if (to.href !== location.href && !historyState) {\n if (options.history === \"replace\") {\n const current = history.state;\n replaceState(\n {\n ...options.state,\n index: current.index,\n scrollX: current.scrollX,\n scrollY: current.scrollY\n },\n \"\",\n to.href\n );\n } else {\n pushState(\n { ...options.state, index: ++currentHistoryIndex, scrollX: 0, scrollY: 0 },\n \"\",\n to.href\n );\n }\n }\n document.title = targetPageTitle;\n originalLocation = to;\n if (!intraPage) {\n scrollTo({ left: 0, top: 0, behavior: \"instant\" });\n scrolledToTop = true;\n }\n if (historyState) {\n scrollTo(historyState.scrollX, historyState.scrollY);\n } else {\n if (to.hash) {\n history.scrollRestoration = \"auto\";\n const savedState = history.state;\n location.href = to.href;\n if (!history.state) {\n replaceState(savedState, \"\");\n if (intraPage) {\n window.dispatchEvent(new PopStateEvent(\"popstate\"));\n }\n }\n } else {\n if (!scrolledToTop) {\n scrollTo({ left: 0, top: 0, behavior: \"instant\" });\n }\n }\n history.scrollRestoration = \"manual\";\n }\n};\nfunction preloadStyleLinks(newDocument) {\n const links = [];\n for (const el of newDocument.querySelectorAll(\"head link[rel=stylesheet]\")) {\n if (!document.querySelector(\n `[${PERSIST_ATTR}=\"${el.getAttribute(\n PERSIST_ATTR\n )}\"], link[rel=stylesheet][href=\"${el.getAttribute(\"href\")}\"]`\n )) {\n const c = document.createElement(\"link\");\n c.setAttribute(\"rel\", \"preload\");\n c.setAttribute(\"as\", \"style\");\n c.setAttribute(\"href\", el.getAttribute(\"href\"));\n links.push(\n new Promise((resolve) => {\n [\"load\", \"error\"].forEach((evName) => c.addEventListener(evName, resolve));\n document.head.append(c);\n })\n );\n }\n }\n return links;\n}\nasync function updateDOM(preparationEvent, options, currentTransition, historyState, fallback) {\n async function animate(phase) {\n function isInfinite(animation) {\n const effect = animation.effect;\n if (!effect || !(effect instanceof KeyframeEffect) || !effect.target) return false;\n const style = window.getComputedStyle(effect.target, effect.pseudoElement);\n return style.animationIterationCount === \"infinite\";\n }\n const currentAnimations = document.getAnimations();\n document.documentElement.setAttribute(OLD_NEW_ATTR, phase);\n const nextAnimations = document.getAnimations();\n const newAnimations = nextAnimations.filter(\n (a) => !currentAnimations.includes(a) && !isInfinite(a)\n );\n return Promise.allSettled(newAnimations.map((a) => a.finished));\n }\n if (fallback === \"animate\" && !currentTransition.transitionSkipped && !preparationEvent.signal.aborted) {\n try {\n await animate(\"old\");\n } catch (err) {\n }\n }\n const pageTitleForBrowserHistory = document.title;\n const swapEvent = doSwap(preparationEvent, currentTransition.viewTransition);\n moveToLocation(swapEvent.to, swapEvent.from, options, pageTitleForBrowserHistory, historyState);\n triggerEvent(TRANSITION_AFTER_SWAP);\n if (fallback === \"animate\") {\n if (!currentTransition.transitionSkipped && !swapEvent.signal.aborted) {\n animate(\"new\").finally(() => currentTransition.viewTransitionFinished());\n } else {\n currentTransition.viewTransitionFinished();\n }\n }\n}\nfunction abortAndRecreateMostRecentNavigation() {\n mostRecentNavigation?.controller.abort();\n return mostRecentNavigation = {\n controller: new AbortController()\n };\n}\nasync function transition(direction, from, to, options, historyState) {\n const currentNavigation = abortAndRecreateMostRecentNavigation();\n if (!transitionEnabledOnThisPage() || location.origin !== to.origin) {\n if (currentNavigation === mostRecentNavigation) mostRecentNavigation = void 0;\n location.href = to.href;\n return;\n }\n const navigationType = historyState ? \"traverse\" : options.history === \"replace\" ? \"replace\" : \"push\";\n if (navigationType !== \"traverse\") {\n updateScrollPosition({ scrollX, scrollY });\n }\n if (samePage(from, to)) {\n if (direction !== \"back\" && to.hash || direction === \"back\" && from.hash) {\n moveToLocation(to, from, options, document.title, historyState);\n if (currentNavigation === mostRecentNavigation) mostRecentNavigation = void 0;\n return;\n }\n }\n const prepEvent = await doPreparation(\n from,\n to,\n direction,\n navigationType,\n options.sourceElement,\n options.info,\n currentNavigation.controller.signal,\n options.formData,\n defaultLoader\n );\n if (prepEvent.defaultPrevented || prepEvent.signal.aborted) {\n if (currentNavigation === mostRecentNavigation) mostRecentNavigation = void 0;\n if (!prepEvent.signal.aborted) {\n location.href = to.href;\n }\n return;\n }\n async function defaultLoader(preparationEvent) {\n const href = preparationEvent.to.href;\n const init = { signal: preparationEvent.signal };\n if (preparationEvent.formData) {\n init.method = \"POST\";\n const form = preparationEvent.sourceElement instanceof HTMLFormElement ? preparationEvent.sourceElement : preparationEvent.sourceElement instanceof HTMLElement && \"form\" in preparationEvent.sourceElement ? preparationEvent.sourceElement.form : preparationEvent.sourceElement?.closest(\"form\");\n init.body = form?.attributes.getNamedItem(\"enctype\")?.value === \"application/x-www-form-urlencoded\" ? new URLSearchParams(preparationEvent.formData) : preparationEvent.formData;\n }\n const response = await fetchHTML(href, init);\n if (response === null) {\n preparationEvent.preventDefault();\n return;\n }\n if (response.redirected) {\n const redirectedTo = new URL(response.redirected);\n if (redirectedTo.origin !== preparationEvent.to.origin) {\n preparationEvent.preventDefault();\n return;\n }\n preparationEvent.to = redirectedTo;\n }\n parser ??= new DOMParser();\n preparationEvent.newDocument = parser.parseFromString(response.html, response.mediaType);\n preparationEvent.newDocument.querySelectorAll(\"noscript\").forEach((el) => el.remove());\n if (!preparationEvent.newDocument.querySelector('[name=\"astro-view-transitions-enabled\"]') && !preparationEvent.formData) {\n preparationEvent.preventDefault();\n return;\n }\n const links = preloadStyleLinks(preparationEvent.newDocument);\n links.length && !preparationEvent.signal.aborted && await Promise.all(links);\n if (import.meta.env.DEV && !preparationEvent.signal.aborted)\n await prepareForClientOnlyComponents(\n preparationEvent.newDocument,\n preparationEvent.to,\n preparationEvent.signal\n );\n }\n async function abortAndRecreateMostRecentTransition() {\n if (mostRecentTransition) {\n if (mostRecentTransition.viewTransition) {\n try {\n mostRecentTransition.viewTransition.skipTransition();\n } catch {\n }\n try {\n await mostRecentTransition.viewTransition.updateCallbackDone;\n } catch {\n }\n }\n }\n return mostRecentTransition = { transitionSkipped: false };\n }\n const currentTransition = await abortAndRecreateMostRecentTransition();\n if (prepEvent.signal.aborted) {\n if (currentNavigation === mostRecentNavigation) mostRecentNavigation = void 0;\n return;\n }\n document.documentElement.setAttribute(DIRECTION_ATTR, prepEvent.direction);\n if (supportsViewTransitions) {\n currentTransition.viewTransition = document.startViewTransition(\n async () => await updateDOM(prepEvent, options, currentTransition, historyState)\n );\n } else {\n const updateDone = (async () => {\n await Promise.resolve();\n await updateDOM(prepEvent, options, currentTransition, historyState, getFallback());\n })();\n currentTransition.viewTransition = {\n updateCallbackDone: updateDone,\n // this is about correct\n ready: updateDone,\n // good enough\n // Finished promise could have been done better: finished rejects iff updateDone does.\n // Our simulation always resolves, never rejects.\n finished: new Promise((r) => currentTransition.viewTransitionFinished = r),\n // see end of updateDOM\n skipTransition: () => {\n currentTransition.transitionSkipped = true;\n document.documentElement.removeAttribute(OLD_NEW_ATTR);\n }\n };\n }\n currentTransition.viewTransition.updateCallbackDone.finally(async () => {\n await runScripts();\n onPageLoad();\n announce();\n });\n currentTransition.viewTransition.finished.finally(() => {\n currentTransition.viewTransition = void 0;\n if (currentTransition === mostRecentTransition) mostRecentTransition = void 0;\n if (currentNavigation === mostRecentNavigation) mostRecentNavigation = void 0;\n document.documentElement.removeAttribute(DIRECTION_ATTR);\n document.documentElement.removeAttribute(OLD_NEW_ATTR);\n });\n try {\n await currentTransition.viewTransition.updateCallbackDone;\n } catch (e) {\n const err = e;\n console.log(\"[astro]\", err.name, err.message, err.stack);\n }\n}\nlet navigateOnServerWarned = false;\nasync function navigate(href, options) {\n if (inBrowser === false) {\n if (!navigateOnServerWarned) {\n const warning = new Error(\n \"The view transitions client API was called during a server side render. This may be unintentional as the navigate() function is expected to be called in response to user interactions. Please make sure that your usage is correct.\"\n );\n warning.name = \"Warning\";\n console.warn(warning);\n navigateOnServerWarned = true;\n }\n return;\n }\n await transition(\"forward\", originalLocation, new URL(href, location.href), options ?? {});\n}\nfunction onPopState(ev) {\n if (!transitionEnabledOnThisPage() && ev.state) {\n location.reload();\n return;\n }\n if (ev.state === null) {\n return;\n }\n const state = history.state;\n const nextIndex = state.index;\n const direction = nextIndex > currentHistoryIndex ? \"forward\" : \"back\";\n currentHistoryIndex = nextIndex;\n transition(direction, originalLocation, new URL(location.href), {}, state);\n}\nconst onScrollEnd = () => {\n if (history.state && (scrollX !== history.state.scrollX || scrollY !== history.state.scrollY)) {\n updateScrollPosition({ scrollX, scrollY });\n }\n};\nif (inBrowser) {\n if (supportsViewTransitions || getFallback() !== \"none\") {\n originalLocation = new URL(location.href);\n addEventListener(\"popstate\", onPopState);\n addEventListener(\"load\", onPageLoad);\n if (\"onscrollend\" in window) addEventListener(\"scrollend\", onScrollEnd);\n else {\n let intervalId, lastY, lastX, lastIndex;\n const scrollInterval = () => {\n if (lastIndex !== history.state?.index) {\n clearInterval(intervalId);\n intervalId = void 0;\n return;\n }\n if (lastY === scrollY && lastX === scrollX) {\n clearInterval(intervalId);\n intervalId = void 0;\n onScrollEnd();\n return;\n } else {\n lastY = scrollY, lastX = scrollX;\n }\n };\n addEventListener(\n \"scroll\",\n () => {\n if (intervalId !== void 0) return;\n lastIndex = history.state.index, lastY = scrollY, lastX = scrollX;\n intervalId = window.setInterval(scrollInterval, 50);\n },\n { passive: true }\n );\n }\n }\n for (const script of document.scripts) {\n script.dataset.astroExec = \"\";\n }\n}\nasync function prepareForClientOnlyComponents(newDocument, toLocation, signal) {\n if (newDocument.body.querySelector(`astro-island[client='only']`)) {\n const nextPage = document.createElement(\"iframe\");\n nextPage.src = toLocation.href;\n nextPage.style.display = \"none\";\n document.body.append(nextPage);\n nextPage.contentWindow.console = Object.keys(console).reduce((acc, key) => {\n acc[key] = () => {\n };\n return acc;\n }, {});\n await hydrationDone(nextPage);\n const nextHead = nextPage.contentDocument?.head;\n if (nextHead) {\n const viteIds = [...nextHead.querySelectorAll(`style[${VITE_ID}]`)].map(\n (style) => style.getAttribute(VITE_ID)\n );\n viteIds.forEach((id) => {\n const style = nextHead.querySelector(`style[${VITE_ID}=\"${id}\"]`);\n if (style && !newDocument.head.querySelector(`style[${VITE_ID}=\"${id}\"]`)) {\n newDocument.head.appendChild(style.cloneNode(true));\n }\n });\n }\n async function hydrationDone(loadingPage) {\n if (!signal.aborted) {\n await new Promise(\n (r) => loadingPage.contentWindow?.addEventListener(\"load\", r, { once: true })\n );\n }\n return new Promise(async (r) => {\n for (let count = 0; count <= 20; ++count) {\n if (signal.aborted) break;\n if (!loadingPage.contentDocument.body.querySelector(\"astro-island[ssr]\")) break;\n await new Promise((r2) => setTimeout(r2, 50));\n }\n r();\n });\n }\n }\n}\nexport {\n getFallback,\n navigate,\n supportsViewTransitions,\n transitionEnabledOnThisPage,\n updateScrollPosition\n};\n"],"names":["PERSIST_ATTR","deselectScripts","doc","s1","s2","swapRootAttributes","html","astroAttributes","name","value","swapHeadElements","el","newEl","persistedHeadElement","swapBodyElement","newElement","oldElement","id","shouldCopyProps","saveFocus","activeElement","start","end","restoreFocus","newDoc","href","persistProps","swap","restoreFocusFunction","TRANSITION_BEFORE_PREPARATION","TRANSITION_AFTER_PREPARATION","TRANSITION_BEFORE_SWAP","TRANSITION_AFTER_SWAP","triggerEvent","BeforeEvent","type","eventInitDict","from","to","direction","navigationType","sourceElement","info","newDocument","signal","TransitionBeforePreparationEvent","formData","loader","TransitionBeforeSwapEvent","afterPreparation","viewTransition","doPreparation","defaultLoader","event","updateScrollPosition","doSwap","pushState","replaceState","positions","supportsViewTransitions","transitionEnabledOnThisPage","samePage","thisLocation","otherLocation","mostRecentNavigation","mostRecentTransition","originalLocation","onPageLoad","announce","div","title","DIRECTION_ATTR","OLD_NEW_ATTR","parser","currentHistoryIndex","fetchHTML","init","res","mediaType","getFallback","runScripts","wait","script","newScript","attr","p","r","moveToLocation","options","pageTitleForBrowserHistory","historyState","intraPage","targetPageTitle","scrolledToTop","current","savedState","preloadStyleLinks","links","c","resolve","evName","updateDOM","preparationEvent","currentTransition","fallback","animate","phase","isInfinite","animation","effect","currentAnimations","newAnimations","a","swapEvent","abortAndRecreateMostRecentNavigation","transition","currentNavigation","prepEvent","form","response","redirectedTo","abortAndRecreateMostRecentTransition","updateDone","e","err","navigate","onPopState","ev","state","nextIndex","onScrollEnd","intervalId","lastY","lastX","lastIndex","scrollInterval"],"mappings":"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","x_google_ignoreList":[0,1,2]} \ No newline at end of file diff --git a/Target/_astro/index.esm.BoasBFnU.js.map b/Target/_astro/index.esm.BoasBFnU.js.map index 64f5c123..4653eb07 100644 --- a/Target/_astro/index.esm.BoasBFnU.js.map +++ b/Target/_astro/index.esm.BoasBFnU.js.map @@ -1 +1 @@ -{"version":3,"file":"index.esm.BoasBFnU.js","sources":["../../../../../../node_modules/@firebase/util/dist/index.esm2017.js","../../../../../../node_modules/@firebase/component/dist/esm/index.esm2017.js","../../../../../../node_modules/@firebase/logger/dist/esm/index.esm2017.js","../../../../../../node_modules/idb/build/wrap-idb-value.js","../../../../../../node_modules/idb/build/index.js","../../../../../../node_modules/@firebase/app/dist/esm/index.esm2017.js","../../../../../../node_modules/firebase/app/dist/esm/index.esm.js"],"sourcesContent":["/**\r\n * @license\r\n * Copyright 2017 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n/**\r\n * @fileoverview Firebase constants. Some of these (@defines) can be overridden at compile-time.\r\n */\r\nconst CONSTANTS = {\r\n /**\r\n * @define {boolean} Whether this is the client Node.js SDK.\r\n */\r\n NODE_CLIENT: false,\r\n /**\r\n * @define {boolean} Whether this is the Admin Node.js SDK.\r\n */\r\n NODE_ADMIN: false,\r\n /**\r\n * Firebase SDK Version\r\n */\r\n SDK_VERSION: '${JSCORE_VERSION}'\r\n};\n\n/**\r\n * @license\r\n * Copyright 2017 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n/**\r\n * Throws an error if the provided assertion is falsy\r\n */\r\nconst assert = function (assertion, message) {\r\n if (!assertion) {\r\n throw assertionError(message);\r\n }\r\n};\r\n/**\r\n * Returns an Error object suitable for throwing.\r\n */\r\nconst assertionError = function (message) {\r\n return new Error('Firebase Database (' +\r\n CONSTANTS.SDK_VERSION +\r\n ') INTERNAL ASSERT FAILED: ' +\r\n message);\r\n};\n\n/**\r\n * @license\r\n * Copyright 2017 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\nconst stringToByteArray$1 = function (str) {\r\n // TODO(user): Use native implementations if/when available\r\n const out = [];\r\n let p = 0;\r\n for (let i = 0; i < str.length; i++) {\r\n let c = str.charCodeAt(i);\r\n if (c < 128) {\r\n out[p++] = c;\r\n }\r\n else if (c < 2048) {\r\n out[p++] = (c >> 6) | 192;\r\n out[p++] = (c & 63) | 128;\r\n }\r\n else if ((c & 0xfc00) === 0xd800 &&\r\n i + 1 < str.length &&\r\n (str.charCodeAt(i + 1) & 0xfc00) === 0xdc00) {\r\n // Surrogate Pair\r\n c = 0x10000 + ((c & 0x03ff) << 10) + (str.charCodeAt(++i) & 0x03ff);\r\n out[p++] = (c >> 18) | 240;\r\n out[p++] = ((c >> 12) & 63) | 128;\r\n out[p++] = ((c >> 6) & 63) | 128;\r\n out[p++] = (c & 63) | 128;\r\n }\r\n else {\r\n out[p++] = (c >> 12) | 224;\r\n out[p++] = ((c >> 6) & 63) | 128;\r\n out[p++] = (c & 63) | 128;\r\n }\r\n }\r\n return out;\r\n};\r\n/**\r\n * Turns an array of numbers into the string given by the concatenation of the\r\n * characters to which the numbers correspond.\r\n * @param bytes Array of numbers representing characters.\r\n * @return Stringification of the array.\r\n */\r\nconst byteArrayToString = function (bytes) {\r\n // TODO(user): Use native implementations if/when available\r\n const out = [];\r\n let pos = 0, c = 0;\r\n while (pos < bytes.length) {\r\n const c1 = bytes[pos++];\r\n if (c1 < 128) {\r\n out[c++] = String.fromCharCode(c1);\r\n }\r\n else if (c1 > 191 && c1 < 224) {\r\n const c2 = bytes[pos++];\r\n out[c++] = String.fromCharCode(((c1 & 31) << 6) | (c2 & 63));\r\n }\r\n else if (c1 > 239 && c1 < 365) {\r\n // Surrogate Pair\r\n const c2 = bytes[pos++];\r\n const c3 = bytes[pos++];\r\n const c4 = bytes[pos++];\r\n const u = (((c1 & 7) << 18) | ((c2 & 63) << 12) | ((c3 & 63) << 6) | (c4 & 63)) -\r\n 0x10000;\r\n out[c++] = String.fromCharCode(0xd800 + (u >> 10));\r\n out[c++] = String.fromCharCode(0xdc00 + (u & 1023));\r\n }\r\n else {\r\n const c2 = bytes[pos++];\r\n const c3 = bytes[pos++];\r\n out[c++] = String.fromCharCode(((c1 & 15) << 12) | ((c2 & 63) << 6) | (c3 & 63));\r\n }\r\n }\r\n return out.join('');\r\n};\r\n// We define it as an object literal instead of a class because a class compiled down to es5 can't\r\n// be treeshaked. https://github.com/rollup/rollup/issues/1691\r\n// Static lookup maps, lazily populated by init_()\r\nconst base64 = {\r\n /**\r\n * Maps bytes to characters.\r\n */\r\n byteToCharMap_: null,\r\n /**\r\n * Maps characters to bytes.\r\n */\r\n charToByteMap_: null,\r\n /**\r\n * Maps bytes to websafe characters.\r\n * @private\r\n */\r\n byteToCharMapWebSafe_: null,\r\n /**\r\n * Maps websafe characters to bytes.\r\n * @private\r\n */\r\n charToByteMapWebSafe_: null,\r\n /**\r\n * Our default alphabet, shared between\r\n * ENCODED_VALS and ENCODED_VALS_WEBSAFE\r\n */\r\n ENCODED_VALS_BASE: 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' + 'abcdefghijklmnopqrstuvwxyz' + '0123456789',\r\n /**\r\n * Our default alphabet. Value 64 (=) is special; it means \"nothing.\"\r\n */\r\n get ENCODED_VALS() {\r\n return this.ENCODED_VALS_BASE + '+/=';\r\n },\r\n /**\r\n * Our websafe alphabet.\r\n */\r\n get ENCODED_VALS_WEBSAFE() {\r\n return this.ENCODED_VALS_BASE + '-_.';\r\n },\r\n /**\r\n * Whether this browser supports the atob and btoa functions. This extension\r\n * started at Mozilla but is now implemented by many browsers. We use the\r\n * ASSUME_* variables to avoid pulling in the full useragent detection library\r\n * but still allowing the standard per-browser compilations.\r\n *\r\n */\r\n HAS_NATIVE_SUPPORT: typeof atob === 'function',\r\n /**\r\n * Base64-encode an array of bytes.\r\n *\r\n * @param input An array of bytes (numbers with\r\n * value in [0, 255]) to encode.\r\n * @param webSafe Boolean indicating we should use the\r\n * alternative alphabet.\r\n * @return The base64 encoded string.\r\n */\r\n encodeByteArray(input, webSafe) {\r\n if (!Array.isArray(input)) {\r\n throw Error('encodeByteArray takes an array as a parameter');\r\n }\r\n this.init_();\r\n const byteToCharMap = webSafe\r\n ? this.byteToCharMapWebSafe_\r\n : this.byteToCharMap_;\r\n const output = [];\r\n for (let i = 0; i < input.length; i += 3) {\r\n const byte1 = input[i];\r\n const haveByte2 = i + 1 < input.length;\r\n const byte2 = haveByte2 ? input[i + 1] : 0;\r\n const haveByte3 = i + 2 < input.length;\r\n const byte3 = haveByte3 ? input[i + 2] : 0;\r\n const outByte1 = byte1 >> 2;\r\n const outByte2 = ((byte1 & 0x03) << 4) | (byte2 >> 4);\r\n let outByte3 = ((byte2 & 0x0f) << 2) | (byte3 >> 6);\r\n let outByte4 = byte3 & 0x3f;\r\n if (!haveByte3) {\r\n outByte4 = 64;\r\n if (!haveByte2) {\r\n outByte3 = 64;\r\n }\r\n }\r\n output.push(byteToCharMap[outByte1], byteToCharMap[outByte2], byteToCharMap[outByte3], byteToCharMap[outByte4]);\r\n }\r\n return output.join('');\r\n },\r\n /**\r\n * Base64-encode a string.\r\n *\r\n * @param input A string to encode.\r\n * @param webSafe If true, we should use the\r\n * alternative alphabet.\r\n * @return The base64 encoded string.\r\n */\r\n encodeString(input, webSafe) {\r\n // Shortcut for Mozilla browsers that implement\r\n // a native base64 encoder in the form of \"btoa/atob\"\r\n if (this.HAS_NATIVE_SUPPORT && !webSafe) {\r\n return btoa(input);\r\n }\r\n return this.encodeByteArray(stringToByteArray$1(input), webSafe);\r\n },\r\n /**\r\n * Base64-decode a string.\r\n *\r\n * @param input to decode.\r\n * @param webSafe True if we should use the\r\n * alternative alphabet.\r\n * @return string representing the decoded value.\r\n */\r\n decodeString(input, webSafe) {\r\n // Shortcut for Mozilla browsers that implement\r\n // a native base64 encoder in the form of \"btoa/atob\"\r\n if (this.HAS_NATIVE_SUPPORT && !webSafe) {\r\n return atob(input);\r\n }\r\n return byteArrayToString(this.decodeStringToByteArray(input, webSafe));\r\n },\r\n /**\r\n * Base64-decode a string.\r\n *\r\n * In base-64 decoding, groups of four characters are converted into three\r\n * bytes. If the encoder did not apply padding, the input length may not\r\n * be a multiple of 4.\r\n *\r\n * In this case, the last group will have fewer than 4 characters, and\r\n * padding will be inferred. If the group has one or two characters, it decodes\r\n * to one byte. If the group has three characters, it decodes to two bytes.\r\n *\r\n * @param input Input to decode.\r\n * @param webSafe True if we should use the web-safe alphabet.\r\n * @return bytes representing the decoded value.\r\n */\r\n decodeStringToByteArray(input, webSafe) {\r\n this.init_();\r\n const charToByteMap = webSafe\r\n ? this.charToByteMapWebSafe_\r\n : this.charToByteMap_;\r\n const output = [];\r\n for (let i = 0; i < input.length;) {\r\n const byte1 = charToByteMap[input.charAt(i++)];\r\n const haveByte2 = i < input.length;\r\n const byte2 = haveByte2 ? charToByteMap[input.charAt(i)] : 0;\r\n ++i;\r\n const haveByte3 = i < input.length;\r\n const byte3 = haveByte3 ? charToByteMap[input.charAt(i)] : 64;\r\n ++i;\r\n const haveByte4 = i < input.length;\r\n const byte4 = haveByte4 ? charToByteMap[input.charAt(i)] : 64;\r\n ++i;\r\n if (byte1 == null || byte2 == null || byte3 == null || byte4 == null) {\r\n throw new DecodeBase64StringError();\r\n }\r\n const outByte1 = (byte1 << 2) | (byte2 >> 4);\r\n output.push(outByte1);\r\n if (byte3 !== 64) {\r\n const outByte2 = ((byte2 << 4) & 0xf0) | (byte3 >> 2);\r\n output.push(outByte2);\r\n if (byte4 !== 64) {\r\n const outByte3 = ((byte3 << 6) & 0xc0) | byte4;\r\n output.push(outByte3);\r\n }\r\n }\r\n }\r\n return output;\r\n },\r\n /**\r\n * Lazy static initialization function. Called before\r\n * accessing any of the static map variables.\r\n * @private\r\n */\r\n init_() {\r\n if (!this.byteToCharMap_) {\r\n this.byteToCharMap_ = {};\r\n this.charToByteMap_ = {};\r\n this.byteToCharMapWebSafe_ = {};\r\n this.charToByteMapWebSafe_ = {};\r\n // We want quick mappings back and forth, so we precompute two maps.\r\n for (let i = 0; i < this.ENCODED_VALS.length; i++) {\r\n this.byteToCharMap_[i] = this.ENCODED_VALS.charAt(i);\r\n this.charToByteMap_[this.byteToCharMap_[i]] = i;\r\n this.byteToCharMapWebSafe_[i] = this.ENCODED_VALS_WEBSAFE.charAt(i);\r\n this.charToByteMapWebSafe_[this.byteToCharMapWebSafe_[i]] = i;\r\n // Be forgiving when decoding and correctly decode both encodings.\r\n if (i >= this.ENCODED_VALS_BASE.length) {\r\n this.charToByteMap_[this.ENCODED_VALS_WEBSAFE.charAt(i)] = i;\r\n this.charToByteMapWebSafe_[this.ENCODED_VALS.charAt(i)] = i;\r\n }\r\n }\r\n }\r\n }\r\n};\r\n/**\r\n * An error encountered while decoding base64 string.\r\n */\r\nclass DecodeBase64StringError extends Error {\r\n constructor() {\r\n super(...arguments);\r\n this.name = 'DecodeBase64StringError';\r\n }\r\n}\r\n/**\r\n * URL-safe base64 encoding\r\n */\r\nconst base64Encode = function (str) {\r\n const utf8Bytes = stringToByteArray$1(str);\r\n return base64.encodeByteArray(utf8Bytes, true);\r\n};\r\n/**\r\n * URL-safe base64 encoding (without \".\" padding in the end).\r\n * e.g. Used in JSON Web Token (JWT) parts.\r\n */\r\nconst base64urlEncodeWithoutPadding = function (str) {\r\n // Use base64url encoding and remove padding in the end (dot characters).\r\n return base64Encode(str).replace(/\\./g, '');\r\n};\r\n/**\r\n * URL-safe base64 decoding\r\n *\r\n * NOTE: DO NOT use the global atob() function - it does NOT support the\r\n * base64Url variant encoding.\r\n *\r\n * @param str To be decoded\r\n * @return Decoded result, if possible\r\n */\r\nconst base64Decode = function (str) {\r\n try {\r\n return base64.decodeString(str, true);\r\n }\r\n catch (e) {\r\n console.error('base64Decode failed: ', e);\r\n }\r\n return null;\r\n};\n\n/**\r\n * @license\r\n * Copyright 2017 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n/**\r\n * Do a deep-copy of basic JavaScript Objects or Arrays.\r\n */\r\nfunction deepCopy(value) {\r\n return deepExtend(undefined, value);\r\n}\r\n/**\r\n * Copy properties from source to target (recursively allows extension\r\n * of Objects and Arrays). Scalar values in the target are over-written.\r\n * If target is undefined, an object of the appropriate type will be created\r\n * (and returned).\r\n *\r\n * We recursively copy all child properties of plain Objects in the source- so\r\n * that namespace- like dictionaries are merged.\r\n *\r\n * Note that the target can be a function, in which case the properties in\r\n * the source Object are copied onto it as static properties of the Function.\r\n *\r\n * Note: we don't merge __proto__ to prevent prototype pollution\r\n */\r\nfunction deepExtend(target, source) {\r\n if (!(source instanceof Object)) {\r\n return source;\r\n }\r\n switch (source.constructor) {\r\n case Date:\r\n // Treat Dates like scalars; if the target date object had any child\r\n // properties - they will be lost!\r\n const dateValue = source;\r\n return new Date(dateValue.getTime());\r\n case Object:\r\n if (target === undefined) {\r\n target = {};\r\n }\r\n break;\r\n case Array:\r\n // Always copy the array source and overwrite the target.\r\n target = [];\r\n break;\r\n default:\r\n // Not a plain Object - treat it as a scalar.\r\n return source;\r\n }\r\n for (const prop in source) {\r\n // use isValidKey to guard against prototype pollution. See https://snyk.io/vuln/SNYK-JS-LODASH-450202\r\n if (!source.hasOwnProperty(prop) || !isValidKey(prop)) {\r\n continue;\r\n }\r\n target[prop] = deepExtend(target[prop], source[prop]);\r\n }\r\n return target;\r\n}\r\nfunction isValidKey(key) {\r\n return key !== '__proto__';\r\n}\n\n/**\r\n * @license\r\n * Copyright 2022 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n/**\r\n * Polyfill for `globalThis` object.\r\n * @returns the `globalThis` object for the given environment.\r\n * @public\r\n */\r\nfunction getGlobal() {\r\n if (typeof self !== 'undefined') {\r\n return self;\r\n }\r\n if (typeof window !== 'undefined') {\r\n return window;\r\n }\r\n if (typeof global !== 'undefined') {\r\n return global;\r\n }\r\n throw new Error('Unable to locate global object.');\r\n}\n\n/**\r\n * @license\r\n * Copyright 2022 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\nconst getDefaultsFromGlobal = () => getGlobal().__FIREBASE_DEFAULTS__;\r\n/**\r\n * Attempt to read defaults from a JSON string provided to\r\n * process(.)env(.)__FIREBASE_DEFAULTS__ or a JSON file whose path is in\r\n * process(.)env(.)__FIREBASE_DEFAULTS_PATH__\r\n * The dots are in parens because certain compilers (Vite?) cannot\r\n * handle seeing that variable in comments.\r\n * See https://github.com/firebase/firebase-js-sdk/issues/6838\r\n */\r\nconst getDefaultsFromEnvVariable = () => {\r\n if (typeof process === 'undefined' || typeof process.env === 'undefined') {\r\n return;\r\n }\r\n const defaultsJsonString = process.env.__FIREBASE_DEFAULTS__;\r\n if (defaultsJsonString) {\r\n return JSON.parse(defaultsJsonString);\r\n }\r\n};\r\nconst getDefaultsFromCookie = () => {\r\n if (typeof document === 'undefined') {\r\n return;\r\n }\r\n let match;\r\n try {\r\n match = document.cookie.match(/__FIREBASE_DEFAULTS__=([^;]+)/);\r\n }\r\n catch (e) {\r\n // Some environments such as Angular Universal SSR have a\r\n // `document` object but error on accessing `document.cookie`.\r\n return;\r\n }\r\n const decoded = match && base64Decode(match[1]);\r\n return decoded && JSON.parse(decoded);\r\n};\r\n/**\r\n * Get the __FIREBASE_DEFAULTS__ object. It checks in order:\r\n * (1) if such an object exists as a property of `globalThis`\r\n * (2) if such an object was provided on a shell environment variable\r\n * (3) if such an object exists in a cookie\r\n * @public\r\n */\r\nconst getDefaults = () => {\r\n try {\r\n return (getDefaultsFromGlobal() ||\r\n getDefaultsFromEnvVariable() ||\r\n getDefaultsFromCookie());\r\n }\r\n catch (e) {\r\n /**\r\n * Catch-all for being unable to get __FIREBASE_DEFAULTS__ due\r\n * to any environment case we have not accounted for. Log to\r\n * info instead of swallowing so we can find these unknown cases\r\n * and add paths for them if needed.\r\n */\r\n console.info(`Unable to get __FIREBASE_DEFAULTS__ due to: ${e}`);\r\n return;\r\n }\r\n};\r\n/**\r\n * Returns emulator host stored in the __FIREBASE_DEFAULTS__ object\r\n * for the given product.\r\n * @returns a URL host formatted like `127.0.0.1:9999` or `[::1]:4000` if available\r\n * @public\r\n */\r\nconst getDefaultEmulatorHost = (productName) => { var _a, _b; return (_b = (_a = getDefaults()) === null || _a === void 0 ? void 0 : _a.emulatorHosts) === null || _b === void 0 ? void 0 : _b[productName]; };\r\n/**\r\n * Returns emulator hostname and port stored in the __FIREBASE_DEFAULTS__ object\r\n * for the given product.\r\n * @returns a pair of hostname and port like `[\"::1\", 4000]` if available\r\n * @public\r\n */\r\nconst getDefaultEmulatorHostnameAndPort = (productName) => {\r\n const host = getDefaultEmulatorHost(productName);\r\n if (!host) {\r\n return undefined;\r\n }\r\n const separatorIndex = host.lastIndexOf(':'); // Finding the last since IPv6 addr also has colons.\r\n if (separatorIndex <= 0 || separatorIndex + 1 === host.length) {\r\n throw new Error(`Invalid host ${host} with no separate hostname and port!`);\r\n }\r\n // eslint-disable-next-line no-restricted-globals\r\n const port = parseInt(host.substring(separatorIndex + 1), 10);\r\n if (host[0] === '[') {\r\n // Bracket-quoted `[ipv6addr]:port` => return \"ipv6addr\" (without brackets).\r\n return [host.substring(1, separatorIndex - 1), port];\r\n }\r\n else {\r\n return [host.substring(0, separatorIndex), port];\r\n }\r\n};\r\n/**\r\n * Returns Firebase app config stored in the __FIREBASE_DEFAULTS__ object.\r\n * @public\r\n */\r\nconst getDefaultAppConfig = () => { var _a; return (_a = getDefaults()) === null || _a === void 0 ? void 0 : _a.config; };\r\n/**\r\n * Returns an experimental setting on the __FIREBASE_DEFAULTS__ object (properties\r\n * prefixed by \"_\")\r\n * @public\r\n */\r\nconst getExperimentalSetting = (name) => { var _a; return (_a = getDefaults()) === null || _a === void 0 ? void 0 : _a[`_${name}`]; };\n\n/**\r\n * @license\r\n * Copyright 2017 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\nclass Deferred {\r\n constructor() {\r\n this.reject = () => { };\r\n this.resolve = () => { };\r\n this.promise = new Promise((resolve, reject) => {\r\n this.resolve = resolve;\r\n this.reject = reject;\r\n });\r\n }\r\n /**\r\n * Our API internals are not promiseified and cannot because our callback APIs have subtle expectations around\r\n * invoking promises inline, which Promises are forbidden to do. This method accepts an optional node-style callback\r\n * and returns a node-style callback which will resolve or reject the Deferred's promise.\r\n */\r\n wrapCallback(callback) {\r\n return (error, value) => {\r\n if (error) {\r\n this.reject(error);\r\n }\r\n else {\r\n this.resolve(value);\r\n }\r\n if (typeof callback === 'function') {\r\n // Attaching noop handler just in case developer wasn't expecting\r\n // promises\r\n this.promise.catch(() => { });\r\n // Some of our callbacks don't expect a value and our own tests\r\n // assert that the parameter length is 1\r\n if (callback.length === 1) {\r\n callback(error);\r\n }\r\n else {\r\n callback(error, value);\r\n }\r\n }\r\n };\r\n }\r\n}\n\n/**\r\n * @license\r\n * Copyright 2021 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\nfunction createMockUserToken(token, projectId) {\r\n if (token.uid) {\r\n throw new Error('The \"uid\" field is no longer supported by mockUserToken. Please use \"sub\" instead for Firebase Auth User ID.');\r\n }\r\n // Unsecured JWTs use \"none\" as the algorithm.\r\n const header = {\r\n alg: 'none',\r\n type: 'JWT'\r\n };\r\n const project = projectId || 'demo-project';\r\n const iat = token.iat || 0;\r\n const sub = token.sub || token.user_id;\r\n if (!sub) {\r\n throw new Error(\"mockUserToken must contain 'sub' or 'user_id' field!\");\r\n }\r\n const payload = Object.assign({ \r\n // Set all required fields to decent defaults\r\n iss: `https://securetoken.google.com/${project}`, aud: project, iat, exp: iat + 3600, auth_time: iat, sub, user_id: sub, firebase: {\r\n sign_in_provider: 'custom',\r\n identities: {}\r\n } }, token);\r\n // Unsecured JWTs use the empty string as a signature.\r\n const signature = '';\r\n return [\r\n base64urlEncodeWithoutPadding(JSON.stringify(header)),\r\n base64urlEncodeWithoutPadding(JSON.stringify(payload)),\r\n signature\r\n ].join('.');\r\n}\n\n/**\r\n * @license\r\n * Copyright 2017 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n/**\r\n * Returns navigator.userAgent string or '' if it's not defined.\r\n * @return user agent string\r\n */\r\nfunction getUA() {\r\n if (typeof navigator !== 'undefined' &&\r\n typeof navigator['userAgent'] === 'string') {\r\n return navigator['userAgent'];\r\n }\r\n else {\r\n return '';\r\n }\r\n}\r\n/**\r\n * Detect Cordova / PhoneGap / Ionic frameworks on a mobile device.\r\n *\r\n * Deliberately does not rely on checking `file://` URLs (as this fails PhoneGap\r\n * in the Ripple emulator) nor Cordova `onDeviceReady`, which would normally\r\n * wait for a callback.\r\n */\r\nfunction isMobileCordova() {\r\n return (typeof window !== 'undefined' &&\r\n // @ts-ignore Setting up an broadly applicable index signature for Window\r\n // just to deal with this case would probably be a bad idea.\r\n !!(window['cordova'] || window['phonegap'] || window['PhoneGap']) &&\r\n /ios|iphone|ipod|ipad|android|blackberry|iemobile/i.test(getUA()));\r\n}\r\n/**\r\n * Detect Node.js.\r\n *\r\n * @return true if Node.js environment is detected or specified.\r\n */\r\n// Node detection logic from: https://github.com/iliakan/detect-node/\r\nfunction isNode() {\r\n var _a;\r\n const forceEnvironment = (_a = getDefaults()) === null || _a === void 0 ? void 0 : _a.forceEnvironment;\r\n if (forceEnvironment === 'node') {\r\n return true;\r\n }\r\n else if (forceEnvironment === 'browser') {\r\n return false;\r\n }\r\n try {\r\n return (Object.prototype.toString.call(global.process) === '[object process]');\r\n }\r\n catch (e) {\r\n return false;\r\n }\r\n}\r\n/**\r\n * Detect Browser Environment\r\n */\r\nfunction isBrowser() {\r\n return typeof window !== 'undefined' || isWebWorker();\r\n}\r\n/**\r\n * Detect Web Worker context\r\n */\r\nfunction isWebWorker() {\r\n return (typeof WorkerGlobalScope !== 'undefined' &&\r\n typeof self !== 'undefined' &&\r\n self instanceof WorkerGlobalScope);\r\n}\r\nfunction isBrowserExtension() {\r\n const runtime = typeof chrome === 'object'\r\n ? chrome.runtime\r\n : typeof browser === 'object'\r\n ? browser.runtime\r\n : undefined;\r\n return typeof runtime === 'object' && runtime.id !== undefined;\r\n}\r\n/**\r\n * Detect React Native.\r\n *\r\n * @return true if ReactNative environment is detected.\r\n */\r\nfunction isReactNative() {\r\n return (typeof navigator === 'object' && navigator['product'] === 'ReactNative');\r\n}\r\n/** Detects Electron apps. */\r\nfunction isElectron() {\r\n return getUA().indexOf('Electron/') >= 0;\r\n}\r\n/** Detects Internet Explorer. */\r\nfunction isIE() {\r\n const ua = getUA();\r\n return ua.indexOf('MSIE ') >= 0 || ua.indexOf('Trident/') >= 0;\r\n}\r\n/** Detects Universal Windows Platform apps. */\r\nfunction isUWP() {\r\n return getUA().indexOf('MSAppHost/') >= 0;\r\n}\r\n/**\r\n * Detect whether the current SDK build is the Node version.\r\n *\r\n * @return true if it's the Node SDK build.\r\n */\r\nfunction isNodeSdk() {\r\n return CONSTANTS.NODE_CLIENT === true || CONSTANTS.NODE_ADMIN === true;\r\n}\r\n/** Returns true if we are running in Safari. */\r\nfunction isSafari() {\r\n return (!isNode() &&\r\n !!navigator.userAgent &&\r\n navigator.userAgent.includes('Safari') &&\r\n !navigator.userAgent.includes('Chrome'));\r\n}\r\n/**\r\n * This method checks if indexedDB is supported by current browser/service worker context\r\n * @return true if indexedDB is supported by current browser/service worker context\r\n */\r\nfunction isIndexedDBAvailable() {\r\n try {\r\n return typeof indexedDB === 'object';\r\n }\r\n catch (e) {\r\n return false;\r\n }\r\n}\r\n/**\r\n * This method validates browser/sw context for indexedDB by opening a dummy indexedDB database and reject\r\n * if errors occur during the database open operation.\r\n *\r\n * @throws exception if current browser/sw context can't run idb.open (ex: Safari iframe, Firefox\r\n * private browsing)\r\n */\r\nfunction validateIndexedDBOpenable() {\r\n return new Promise((resolve, reject) => {\r\n try {\r\n let preExist = true;\r\n const DB_CHECK_NAME = 'validate-browser-context-for-indexeddb-analytics-module';\r\n const request = self.indexedDB.open(DB_CHECK_NAME);\r\n request.onsuccess = () => {\r\n request.result.close();\r\n // delete database only when it doesn't pre-exist\r\n if (!preExist) {\r\n self.indexedDB.deleteDatabase(DB_CHECK_NAME);\r\n }\r\n resolve(true);\r\n };\r\n request.onupgradeneeded = () => {\r\n preExist = false;\r\n };\r\n request.onerror = () => {\r\n var _a;\r\n reject(((_a = request.error) === null || _a === void 0 ? void 0 : _a.message) || '');\r\n };\r\n }\r\n catch (error) {\r\n reject(error);\r\n }\r\n });\r\n}\r\n/**\r\n *\r\n * This method checks whether cookie is enabled within current browser\r\n * @return true if cookie is enabled within current browser\r\n */\r\nfunction areCookiesEnabled() {\r\n if (typeof navigator === 'undefined' || !navigator.cookieEnabled) {\r\n return false;\r\n }\r\n return true;\r\n}\n\n/**\r\n * @license\r\n * Copyright 2017 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n/**\r\n * @fileoverview Standardized Firebase Error.\r\n *\r\n * Usage:\r\n *\r\n * // Typescript string literals for type-safe codes\r\n * type Err =\r\n * 'unknown' |\r\n * 'object-not-found'\r\n * ;\r\n *\r\n * // Closure enum for type-safe error codes\r\n * // at-enum {string}\r\n * var Err = {\r\n * UNKNOWN: 'unknown',\r\n * OBJECT_NOT_FOUND: 'object-not-found',\r\n * }\r\n *\r\n * let errors: Map = {\r\n * 'generic-error': \"Unknown error\",\r\n * 'file-not-found': \"Could not find file: {$file}\",\r\n * };\r\n *\r\n * // Type-safe function - must pass a valid error code as param.\r\n * let error = new ErrorFactory('service', 'Service', errors);\r\n *\r\n * ...\r\n * throw error.create(Err.GENERIC);\r\n * ...\r\n * throw error.create(Err.FILE_NOT_FOUND, {'file': fileName});\r\n * ...\r\n * // Service: Could not file file: foo.txt (service/file-not-found).\r\n *\r\n * catch (e) {\r\n * assert(e.message === \"Could not find file: foo.txt.\");\r\n * if ((e as FirebaseError)?.code === 'service/file-not-found') {\r\n * console.log(\"Could not read file: \" + e['file']);\r\n * }\r\n * }\r\n */\r\nconst ERROR_NAME = 'FirebaseError';\r\n// Based on code from:\r\n// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Error#Custom_Error_Types\r\nclass FirebaseError extends Error {\r\n constructor(\r\n /** The error code for this error. */\r\n code, message, \r\n /** Custom data for this error. */\r\n customData) {\r\n super(message);\r\n this.code = code;\r\n this.customData = customData;\r\n /** The custom name for all FirebaseErrors. */\r\n this.name = ERROR_NAME;\r\n // Fix For ES5\r\n // https://github.com/Microsoft/TypeScript-wiki/blob/master/Breaking-Changes.md#extending-built-ins-like-error-array-and-map-may-no-longer-work\r\n Object.setPrototypeOf(this, FirebaseError.prototype);\r\n // Maintains proper stack trace for where our error was thrown.\r\n // Only available on V8.\r\n if (Error.captureStackTrace) {\r\n Error.captureStackTrace(this, ErrorFactory.prototype.create);\r\n }\r\n }\r\n}\r\nclass ErrorFactory {\r\n constructor(service, serviceName, errors) {\r\n this.service = service;\r\n this.serviceName = serviceName;\r\n this.errors = errors;\r\n }\r\n create(code, ...data) {\r\n const customData = data[0] || {};\r\n const fullCode = `${this.service}/${code}`;\r\n const template = this.errors[code];\r\n const message = template ? replaceTemplate(template, customData) : 'Error';\r\n // Service Name: Error message (service/code).\r\n const fullMessage = `${this.serviceName}: ${message} (${fullCode}).`;\r\n const error = new FirebaseError(fullCode, fullMessage, customData);\r\n return error;\r\n }\r\n}\r\nfunction replaceTemplate(template, data) {\r\n return template.replace(PATTERN, (_, key) => {\r\n const value = data[key];\r\n return value != null ? String(value) : `<${key}?>`;\r\n });\r\n}\r\nconst PATTERN = /\\{\\$([^}]+)}/g;\n\n/**\r\n * @license\r\n * Copyright 2017 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n/**\r\n * Evaluates a JSON string into a javascript object.\r\n *\r\n * @param {string} str A string containing JSON.\r\n * @return {*} The javascript object representing the specified JSON.\r\n */\r\nfunction jsonEval(str) {\r\n return JSON.parse(str);\r\n}\r\n/**\r\n * Returns JSON representing a javascript object.\r\n * @param {*} data Javascript object to be stringified.\r\n * @return {string} The JSON contents of the object.\r\n */\r\nfunction stringify(data) {\r\n return JSON.stringify(data);\r\n}\n\n/**\r\n * @license\r\n * Copyright 2017 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n/**\r\n * Decodes a Firebase auth. token into constituent parts.\r\n *\r\n * Notes:\r\n * - May return with invalid / incomplete claims if there's no native base64 decoding support.\r\n * - Doesn't check if the token is actually valid.\r\n */\r\nconst decode = function (token) {\r\n let header = {}, claims = {}, data = {}, signature = '';\r\n try {\r\n const parts = token.split('.');\r\n header = jsonEval(base64Decode(parts[0]) || '');\r\n claims = jsonEval(base64Decode(parts[1]) || '');\r\n signature = parts[2];\r\n data = claims['d'] || {};\r\n delete claims['d'];\r\n }\r\n catch (e) { }\r\n return {\r\n header,\r\n claims,\r\n data,\r\n signature\r\n };\r\n};\r\n/**\r\n * Decodes a Firebase auth. token and checks the validity of its time-based claims. Will return true if the\r\n * token is within the time window authorized by the 'nbf' (not-before) and 'iat' (issued-at) claims.\r\n *\r\n * Notes:\r\n * - May return a false negative if there's no native base64 decoding support.\r\n * - Doesn't check if the token is actually valid.\r\n */\r\nconst isValidTimestamp = function (token) {\r\n const claims = decode(token).claims;\r\n const now = Math.floor(new Date().getTime() / 1000);\r\n let validSince = 0, validUntil = 0;\r\n if (typeof claims === 'object') {\r\n if (claims.hasOwnProperty('nbf')) {\r\n validSince = claims['nbf'];\r\n }\r\n else if (claims.hasOwnProperty('iat')) {\r\n validSince = claims['iat'];\r\n }\r\n if (claims.hasOwnProperty('exp')) {\r\n validUntil = claims['exp'];\r\n }\r\n else {\r\n // token will expire after 24h by default\r\n validUntil = validSince + 86400;\r\n }\r\n }\r\n return (!!now &&\r\n !!validSince &&\r\n !!validUntil &&\r\n now >= validSince &&\r\n now <= validUntil);\r\n};\r\n/**\r\n * Decodes a Firebase auth. token and returns its issued at time if valid, null otherwise.\r\n *\r\n * Notes:\r\n * - May return null if there's no native base64 decoding support.\r\n * - Doesn't check if the token is actually valid.\r\n */\r\nconst issuedAtTime = function (token) {\r\n const claims = decode(token).claims;\r\n if (typeof claims === 'object' && claims.hasOwnProperty('iat')) {\r\n return claims['iat'];\r\n }\r\n return null;\r\n};\r\n/**\r\n * Decodes a Firebase auth. token and checks the validity of its format. Expects a valid issued-at time.\r\n *\r\n * Notes:\r\n * - May return a false negative if there's no native base64 decoding support.\r\n * - Doesn't check if the token is actually valid.\r\n */\r\nconst isValidFormat = function (token) {\r\n const decoded = decode(token), claims = decoded.claims;\r\n return !!claims && typeof claims === 'object' && claims.hasOwnProperty('iat');\r\n};\r\n/**\r\n * Attempts to peer into an auth token and determine if it's an admin auth token by looking at the claims portion.\r\n *\r\n * Notes:\r\n * - May return a false negative if there's no native base64 decoding support.\r\n * - Doesn't check if the token is actually valid.\r\n */\r\nconst isAdmin = function (token) {\r\n const claims = decode(token).claims;\r\n return typeof claims === 'object' && claims['admin'] === true;\r\n};\n\n/**\r\n * @license\r\n * Copyright 2017 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\nfunction contains(obj, key) {\r\n return Object.prototype.hasOwnProperty.call(obj, key);\r\n}\r\nfunction safeGet(obj, key) {\r\n if (Object.prototype.hasOwnProperty.call(obj, key)) {\r\n return obj[key];\r\n }\r\n else {\r\n return undefined;\r\n }\r\n}\r\nfunction isEmpty(obj) {\r\n for (const key in obj) {\r\n if (Object.prototype.hasOwnProperty.call(obj, key)) {\r\n return false;\r\n }\r\n }\r\n return true;\r\n}\r\nfunction map(obj, fn, contextObj) {\r\n const res = {};\r\n for (const key in obj) {\r\n if (Object.prototype.hasOwnProperty.call(obj, key)) {\r\n res[key] = fn.call(contextObj, obj[key], key, obj);\r\n }\r\n }\r\n return res;\r\n}\r\n/**\r\n * Deep equal two objects. Support Arrays and Objects.\r\n */\r\nfunction deepEqual(a, b) {\r\n if (a === b) {\r\n return true;\r\n }\r\n const aKeys = Object.keys(a);\r\n const bKeys = Object.keys(b);\r\n for (const k of aKeys) {\r\n if (!bKeys.includes(k)) {\r\n return false;\r\n }\r\n const aProp = a[k];\r\n const bProp = b[k];\r\n if (isObject(aProp) && isObject(bProp)) {\r\n if (!deepEqual(aProp, bProp)) {\r\n return false;\r\n }\r\n }\r\n else if (aProp !== bProp) {\r\n return false;\r\n }\r\n }\r\n for (const k of bKeys) {\r\n if (!aKeys.includes(k)) {\r\n return false;\r\n }\r\n }\r\n return true;\r\n}\r\nfunction isObject(thing) {\r\n return thing !== null && typeof thing === 'object';\r\n}\n\n/**\r\n * @license\r\n * Copyright 2022 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n/**\r\n * Rejects if the given promise doesn't resolve in timeInMS milliseconds.\r\n * @internal\r\n */\r\nfunction promiseWithTimeout(promise, timeInMS = 2000) {\r\n const deferredPromise = new Deferred();\r\n setTimeout(() => deferredPromise.reject('timeout!'), timeInMS);\r\n promise.then(deferredPromise.resolve, deferredPromise.reject);\r\n return deferredPromise.promise;\r\n}\n\n/**\r\n * @license\r\n * Copyright 2017 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n/**\r\n * Returns a querystring-formatted string (e.g. &arg=val&arg2=val2) from a\r\n * params object (e.g. {arg: 'val', arg2: 'val2'})\r\n * Note: You must prepend it with ? when adding it to a URL.\r\n */\r\nfunction querystring(querystringParams) {\r\n const params = [];\r\n for (const [key, value] of Object.entries(querystringParams)) {\r\n if (Array.isArray(value)) {\r\n value.forEach(arrayVal => {\r\n params.push(encodeURIComponent(key) + '=' + encodeURIComponent(arrayVal));\r\n });\r\n }\r\n else {\r\n params.push(encodeURIComponent(key) + '=' + encodeURIComponent(value));\r\n }\r\n }\r\n return params.length ? '&' + params.join('&') : '';\r\n}\r\n/**\r\n * Decodes a querystring (e.g. ?arg=val&arg2=val2) into a params object\r\n * (e.g. {arg: 'val', arg2: 'val2'})\r\n */\r\nfunction querystringDecode(querystring) {\r\n const obj = {};\r\n const tokens = querystring.replace(/^\\?/, '').split('&');\r\n tokens.forEach(token => {\r\n if (token) {\r\n const [key, value] = token.split('=');\r\n obj[decodeURIComponent(key)] = decodeURIComponent(value);\r\n }\r\n });\r\n return obj;\r\n}\r\n/**\r\n * Extract the query string part of a URL, including the leading question mark (if present).\r\n */\r\nfunction extractQuerystring(url) {\r\n const queryStart = url.indexOf('?');\r\n if (!queryStart) {\r\n return '';\r\n }\r\n const fragmentStart = url.indexOf('#', queryStart);\r\n return url.substring(queryStart, fragmentStart > 0 ? fragmentStart : undefined);\r\n}\n\n/**\r\n * @license\r\n * Copyright 2017 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n/**\r\n * @fileoverview SHA-1 cryptographic hash.\r\n * Variable names follow the notation in FIPS PUB 180-3:\r\n * http://csrc.nist.gov/publications/fips/fips180-3/fips180-3_final.pdf.\r\n *\r\n * Usage:\r\n * var sha1 = new sha1();\r\n * sha1.update(bytes);\r\n * var hash = sha1.digest();\r\n *\r\n * Performance:\r\n * Chrome 23: ~400 Mbit/s\r\n * Firefox 16: ~250 Mbit/s\r\n *\r\n */\r\n/**\r\n * SHA-1 cryptographic hash constructor.\r\n *\r\n * The properties declared here are discussed in the above algorithm document.\r\n * @constructor\r\n * @final\r\n * @struct\r\n */\r\nclass Sha1 {\r\n constructor() {\r\n /**\r\n * Holds the previous values of accumulated variables a-e in the compress_\r\n * function.\r\n * @private\r\n */\r\n this.chain_ = [];\r\n /**\r\n * A buffer holding the partially computed hash result.\r\n * @private\r\n */\r\n this.buf_ = [];\r\n /**\r\n * An array of 80 bytes, each a part of the message to be hashed. Referred to\r\n * as the message schedule in the docs.\r\n * @private\r\n */\r\n this.W_ = [];\r\n /**\r\n * Contains data needed to pad messages less than 64 bytes.\r\n * @private\r\n */\r\n this.pad_ = [];\r\n /**\r\n * @private {number}\r\n */\r\n this.inbuf_ = 0;\r\n /**\r\n * @private {number}\r\n */\r\n this.total_ = 0;\r\n this.blockSize = 512 / 8;\r\n this.pad_[0] = 128;\r\n for (let i = 1; i < this.blockSize; ++i) {\r\n this.pad_[i] = 0;\r\n }\r\n this.reset();\r\n }\r\n reset() {\r\n this.chain_[0] = 0x67452301;\r\n this.chain_[1] = 0xefcdab89;\r\n this.chain_[2] = 0x98badcfe;\r\n this.chain_[3] = 0x10325476;\r\n this.chain_[4] = 0xc3d2e1f0;\r\n this.inbuf_ = 0;\r\n this.total_ = 0;\r\n }\r\n /**\r\n * Internal compress helper function.\r\n * @param buf Block to compress.\r\n * @param offset Offset of the block in the buffer.\r\n * @private\r\n */\r\n compress_(buf, offset) {\r\n if (!offset) {\r\n offset = 0;\r\n }\r\n const W = this.W_;\r\n // get 16 big endian words\r\n if (typeof buf === 'string') {\r\n for (let i = 0; i < 16; i++) {\r\n // TODO(user): [bug 8140122] Recent versions of Safari for Mac OS and iOS\r\n // have a bug that turns the post-increment ++ operator into pre-increment\r\n // during JIT compilation. We have code that depends heavily on SHA-1 for\r\n // correctness and which is affected by this bug, so I've removed all uses\r\n // of post-increment ++ in which the result value is used. We can revert\r\n // this change once the Safari bug\r\n // (https://bugs.webkit.org/show_bug.cgi?id=109036) has been fixed and\r\n // most clients have been updated.\r\n W[i] =\r\n (buf.charCodeAt(offset) << 24) |\r\n (buf.charCodeAt(offset + 1) << 16) |\r\n (buf.charCodeAt(offset + 2) << 8) |\r\n buf.charCodeAt(offset + 3);\r\n offset += 4;\r\n }\r\n }\r\n else {\r\n for (let i = 0; i < 16; i++) {\r\n W[i] =\r\n (buf[offset] << 24) |\r\n (buf[offset + 1] << 16) |\r\n (buf[offset + 2] << 8) |\r\n buf[offset + 3];\r\n offset += 4;\r\n }\r\n }\r\n // expand to 80 words\r\n for (let i = 16; i < 80; i++) {\r\n const t = W[i - 3] ^ W[i - 8] ^ W[i - 14] ^ W[i - 16];\r\n W[i] = ((t << 1) | (t >>> 31)) & 0xffffffff;\r\n }\r\n let a = this.chain_[0];\r\n let b = this.chain_[1];\r\n let c = this.chain_[2];\r\n let d = this.chain_[3];\r\n let e = this.chain_[4];\r\n let f, k;\r\n // TODO(user): Try to unroll this loop to speed up the computation.\r\n for (let i = 0; i < 80; i++) {\r\n if (i < 40) {\r\n if (i < 20) {\r\n f = d ^ (b & (c ^ d));\r\n k = 0x5a827999;\r\n }\r\n else {\r\n f = b ^ c ^ d;\r\n k = 0x6ed9eba1;\r\n }\r\n }\r\n else {\r\n if (i < 60) {\r\n f = (b & c) | (d & (b | c));\r\n k = 0x8f1bbcdc;\r\n }\r\n else {\r\n f = b ^ c ^ d;\r\n k = 0xca62c1d6;\r\n }\r\n }\r\n const t = (((a << 5) | (a >>> 27)) + f + e + k + W[i]) & 0xffffffff;\r\n e = d;\r\n d = c;\r\n c = ((b << 30) | (b >>> 2)) & 0xffffffff;\r\n b = a;\r\n a = t;\r\n }\r\n this.chain_[0] = (this.chain_[0] + a) & 0xffffffff;\r\n this.chain_[1] = (this.chain_[1] + b) & 0xffffffff;\r\n this.chain_[2] = (this.chain_[2] + c) & 0xffffffff;\r\n this.chain_[3] = (this.chain_[3] + d) & 0xffffffff;\r\n this.chain_[4] = (this.chain_[4] + e) & 0xffffffff;\r\n }\r\n update(bytes, length) {\r\n // TODO(johnlenz): tighten the function signature and remove this check\r\n if (bytes == null) {\r\n return;\r\n }\r\n if (length === undefined) {\r\n length = bytes.length;\r\n }\r\n const lengthMinusBlock = length - this.blockSize;\r\n let n = 0;\r\n // Using local instead of member variables gives ~5% speedup on Firefox 16.\r\n const buf = this.buf_;\r\n let inbuf = this.inbuf_;\r\n // The outer while loop should execute at most twice.\r\n while (n < length) {\r\n // When we have no data in the block to top up, we can directly process the\r\n // input buffer (assuming it contains sufficient data). This gives ~25%\r\n // speedup on Chrome 23 and ~15% speedup on Firefox 16, but requires that\r\n // the data is provided in large chunks (or in multiples of 64 bytes).\r\n if (inbuf === 0) {\r\n while (n <= lengthMinusBlock) {\r\n this.compress_(bytes, n);\r\n n += this.blockSize;\r\n }\r\n }\r\n if (typeof bytes === 'string') {\r\n while (n < length) {\r\n buf[inbuf] = bytes.charCodeAt(n);\r\n ++inbuf;\r\n ++n;\r\n if (inbuf === this.blockSize) {\r\n this.compress_(buf);\r\n inbuf = 0;\r\n // Jump to the outer loop so we use the full-block optimization.\r\n break;\r\n }\r\n }\r\n }\r\n else {\r\n while (n < length) {\r\n buf[inbuf] = bytes[n];\r\n ++inbuf;\r\n ++n;\r\n if (inbuf === this.blockSize) {\r\n this.compress_(buf);\r\n inbuf = 0;\r\n // Jump to the outer loop so we use the full-block optimization.\r\n break;\r\n }\r\n }\r\n }\r\n }\r\n this.inbuf_ = inbuf;\r\n this.total_ += length;\r\n }\r\n /** @override */\r\n digest() {\r\n const digest = [];\r\n let totalBits = this.total_ * 8;\r\n // Add pad 0x80 0x00*.\r\n if (this.inbuf_ < 56) {\r\n this.update(this.pad_, 56 - this.inbuf_);\r\n }\r\n else {\r\n this.update(this.pad_, this.blockSize - (this.inbuf_ - 56));\r\n }\r\n // Add # bits.\r\n for (let i = this.blockSize - 1; i >= 56; i--) {\r\n this.buf_[i] = totalBits & 255;\r\n totalBits /= 256; // Don't use bit-shifting here!\r\n }\r\n this.compress_(this.buf_);\r\n let n = 0;\r\n for (let i = 0; i < 5; i++) {\r\n for (let j = 24; j >= 0; j -= 8) {\r\n digest[n] = (this.chain_[i] >> j) & 255;\r\n ++n;\r\n }\r\n }\r\n return digest;\r\n }\r\n}\n\n/**\r\n * Helper to make a Subscribe function (just like Promise helps make a\r\n * Thenable).\r\n *\r\n * @param executor Function which can make calls to a single Observer\r\n * as a proxy.\r\n * @param onNoObservers Callback when count of Observers goes to zero.\r\n */\r\nfunction createSubscribe(executor, onNoObservers) {\r\n const proxy = new ObserverProxy(executor, onNoObservers);\r\n return proxy.subscribe.bind(proxy);\r\n}\r\n/**\r\n * Implement fan-out for any number of Observers attached via a subscribe\r\n * function.\r\n */\r\nclass ObserverProxy {\r\n /**\r\n * @param executor Function which can make calls to a single Observer\r\n * as a proxy.\r\n * @param onNoObservers Callback when count of Observers goes to zero.\r\n */\r\n constructor(executor, onNoObservers) {\r\n this.observers = [];\r\n this.unsubscribes = [];\r\n this.observerCount = 0;\r\n // Micro-task scheduling by calling task.then().\r\n this.task = Promise.resolve();\r\n this.finalized = false;\r\n this.onNoObservers = onNoObservers;\r\n // Call the executor asynchronously so subscribers that are called\r\n // synchronously after the creation of the subscribe function\r\n // can still receive the very first value generated in the executor.\r\n this.task\r\n .then(() => {\r\n executor(this);\r\n })\r\n .catch(e => {\r\n this.error(e);\r\n });\r\n }\r\n next(value) {\r\n this.forEachObserver((observer) => {\r\n observer.next(value);\r\n });\r\n }\r\n error(error) {\r\n this.forEachObserver((observer) => {\r\n observer.error(error);\r\n });\r\n this.close(error);\r\n }\r\n complete() {\r\n this.forEachObserver((observer) => {\r\n observer.complete();\r\n });\r\n this.close();\r\n }\r\n /**\r\n * Subscribe function that can be used to add an Observer to the fan-out list.\r\n *\r\n * - We require that no event is sent to a subscriber sychronously to their\r\n * call to subscribe().\r\n */\r\n subscribe(nextOrObserver, error, complete) {\r\n let observer;\r\n if (nextOrObserver === undefined &&\r\n error === undefined &&\r\n complete === undefined) {\r\n throw new Error('Missing Observer.');\r\n }\r\n // Assemble an Observer object when passed as callback functions.\r\n if (implementsAnyMethods(nextOrObserver, [\r\n 'next',\r\n 'error',\r\n 'complete'\r\n ])) {\r\n observer = nextOrObserver;\r\n }\r\n else {\r\n observer = {\r\n next: nextOrObserver,\r\n error,\r\n complete\r\n };\r\n }\r\n if (observer.next === undefined) {\r\n observer.next = noop;\r\n }\r\n if (observer.error === undefined) {\r\n observer.error = noop;\r\n }\r\n if (observer.complete === undefined) {\r\n observer.complete = noop;\r\n }\r\n const unsub = this.unsubscribeOne.bind(this, this.observers.length);\r\n // Attempt to subscribe to a terminated Observable - we\r\n // just respond to the Observer with the final error or complete\r\n // event.\r\n if (this.finalized) {\r\n // eslint-disable-next-line @typescript-eslint/no-floating-promises\r\n this.task.then(() => {\r\n try {\r\n if (this.finalError) {\r\n observer.error(this.finalError);\r\n }\r\n else {\r\n observer.complete();\r\n }\r\n }\r\n catch (e) {\r\n // nothing\r\n }\r\n return;\r\n });\r\n }\r\n this.observers.push(observer);\r\n return unsub;\r\n }\r\n // Unsubscribe is synchronous - we guarantee that no events are sent to\r\n // any unsubscribed Observer.\r\n unsubscribeOne(i) {\r\n if (this.observers === undefined || this.observers[i] === undefined) {\r\n return;\r\n }\r\n delete this.observers[i];\r\n this.observerCount -= 1;\r\n if (this.observerCount === 0 && this.onNoObservers !== undefined) {\r\n this.onNoObservers(this);\r\n }\r\n }\r\n forEachObserver(fn) {\r\n if (this.finalized) {\r\n // Already closed by previous event....just eat the additional values.\r\n return;\r\n }\r\n // Since sendOne calls asynchronously - there is no chance that\r\n // this.observers will become undefined.\r\n for (let i = 0; i < this.observers.length; i++) {\r\n this.sendOne(i, fn);\r\n }\r\n }\r\n // Call the Observer via one of it's callback function. We are careful to\r\n // confirm that the observe has not been unsubscribed since this asynchronous\r\n // function had been queued.\r\n sendOne(i, fn) {\r\n // Execute the callback asynchronously\r\n // eslint-disable-next-line @typescript-eslint/no-floating-promises\r\n this.task.then(() => {\r\n if (this.observers !== undefined && this.observers[i] !== undefined) {\r\n try {\r\n fn(this.observers[i]);\r\n }\r\n catch (e) {\r\n // Ignore exceptions raised in Observers or missing methods of an\r\n // Observer.\r\n // Log error to console. b/31404806\r\n if (typeof console !== 'undefined' && console.error) {\r\n console.error(e);\r\n }\r\n }\r\n }\r\n });\r\n }\r\n close(err) {\r\n if (this.finalized) {\r\n return;\r\n }\r\n this.finalized = true;\r\n if (err !== undefined) {\r\n this.finalError = err;\r\n }\r\n // Proxy is no longer needed - garbage collect references\r\n // eslint-disable-next-line @typescript-eslint/no-floating-promises\r\n this.task.then(() => {\r\n this.observers = undefined;\r\n this.onNoObservers = undefined;\r\n });\r\n }\r\n}\r\n/** Turn synchronous function into one called asynchronously. */\r\n// eslint-disable-next-line @typescript-eslint/ban-types\r\nfunction async(fn, onError) {\r\n return (...args) => {\r\n Promise.resolve(true)\r\n .then(() => {\r\n fn(...args);\r\n })\r\n .catch((error) => {\r\n if (onError) {\r\n onError(error);\r\n }\r\n });\r\n };\r\n}\r\n/**\r\n * Return true if the object passed in implements any of the named methods.\r\n */\r\nfunction implementsAnyMethods(obj, methods) {\r\n if (typeof obj !== 'object' || obj === null) {\r\n return false;\r\n }\r\n for (const method of methods) {\r\n if (method in obj && typeof obj[method] === 'function') {\r\n return true;\r\n }\r\n }\r\n return false;\r\n}\r\nfunction noop() {\r\n // do nothing\r\n}\n\n/**\r\n * @license\r\n * Copyright 2017 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n/**\r\n * Check to make sure the appropriate number of arguments are provided for a public function.\r\n * Throws an error if it fails.\r\n *\r\n * @param fnName The function name\r\n * @param minCount The minimum number of arguments to allow for the function call\r\n * @param maxCount The maximum number of argument to allow for the function call\r\n * @param argCount The actual number of arguments provided.\r\n */\r\nconst validateArgCount = function (fnName, minCount, maxCount, argCount) {\r\n let argError;\r\n if (argCount < minCount) {\r\n argError = 'at least ' + minCount;\r\n }\r\n else if (argCount > maxCount) {\r\n argError = maxCount === 0 ? 'none' : 'no more than ' + maxCount;\r\n }\r\n if (argError) {\r\n const error = fnName +\r\n ' failed: Was called with ' +\r\n argCount +\r\n (argCount === 1 ? ' argument.' : ' arguments.') +\r\n ' Expects ' +\r\n argError +\r\n '.';\r\n throw new Error(error);\r\n }\r\n};\r\n/**\r\n * Generates a string to prefix an error message about failed argument validation\r\n *\r\n * @param fnName The function name\r\n * @param argName The name of the argument\r\n * @return The prefix to add to the error thrown for validation.\r\n */\r\nfunction errorPrefix(fnName, argName) {\r\n return `${fnName} failed: ${argName} argument `;\r\n}\r\n/**\r\n * @param fnName\r\n * @param argumentNumber\r\n * @param namespace\r\n * @param optional\r\n */\r\nfunction validateNamespace(fnName, namespace, optional) {\r\n if (optional && !namespace) {\r\n return;\r\n }\r\n if (typeof namespace !== 'string') {\r\n //TODO: I should do more validation here. We only allow certain chars in namespaces.\r\n throw new Error(errorPrefix(fnName, 'namespace') + 'must be a valid firebase namespace.');\r\n }\r\n}\r\nfunction validateCallback(fnName, argumentName, \r\n// eslint-disable-next-line @typescript-eslint/ban-types\r\ncallback, optional) {\r\n if (optional && !callback) {\r\n return;\r\n }\r\n if (typeof callback !== 'function') {\r\n throw new Error(errorPrefix(fnName, argumentName) + 'must be a valid function.');\r\n }\r\n}\r\nfunction validateContextObject(fnName, argumentName, context, optional) {\r\n if (optional && !context) {\r\n return;\r\n }\r\n if (typeof context !== 'object' || context === null) {\r\n throw new Error(errorPrefix(fnName, argumentName) + 'must be a valid context object.');\r\n }\r\n}\n\n/**\r\n * @license\r\n * Copyright 2017 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n// Code originally came from goog.crypt.stringToUtf8ByteArray, but for some reason they\r\n// automatically replaced '\\r\\n' with '\\n', and they didn't handle surrogate pairs,\r\n// so it's been modified.\r\n// Note that not all Unicode characters appear as single characters in JavaScript strings.\r\n// fromCharCode returns the UTF-16 encoding of a character - so some Unicode characters\r\n// use 2 characters in Javascript. All 4-byte UTF-8 characters begin with a first\r\n// character in the range 0xD800 - 0xDBFF (the first character of a so-called surrogate\r\n// pair).\r\n// See http://www.ecma-international.org/ecma-262/5.1/#sec-15.1.3\r\n/**\r\n * @param {string} str\r\n * @return {Array}\r\n */\r\nconst stringToByteArray = function (str) {\r\n const out = [];\r\n let p = 0;\r\n for (let i = 0; i < str.length; i++) {\r\n let c = str.charCodeAt(i);\r\n // Is this the lead surrogate in a surrogate pair?\r\n if (c >= 0xd800 && c <= 0xdbff) {\r\n const high = c - 0xd800; // the high 10 bits.\r\n i++;\r\n assert(i < str.length, 'Surrogate pair missing trail surrogate.');\r\n const low = str.charCodeAt(i) - 0xdc00; // the low 10 bits.\r\n c = 0x10000 + (high << 10) + low;\r\n }\r\n if (c < 128) {\r\n out[p++] = c;\r\n }\r\n else if (c < 2048) {\r\n out[p++] = (c >> 6) | 192;\r\n out[p++] = (c & 63) | 128;\r\n }\r\n else if (c < 65536) {\r\n out[p++] = (c >> 12) | 224;\r\n out[p++] = ((c >> 6) & 63) | 128;\r\n out[p++] = (c & 63) | 128;\r\n }\r\n else {\r\n out[p++] = (c >> 18) | 240;\r\n out[p++] = ((c >> 12) & 63) | 128;\r\n out[p++] = ((c >> 6) & 63) | 128;\r\n out[p++] = (c & 63) | 128;\r\n }\r\n }\r\n return out;\r\n};\r\n/**\r\n * Calculate length without actually converting; useful for doing cheaper validation.\r\n * @param {string} str\r\n * @return {number}\r\n */\r\nconst stringLength = function (str) {\r\n let p = 0;\r\n for (let i = 0; i < str.length; i++) {\r\n const c = str.charCodeAt(i);\r\n if (c < 128) {\r\n p++;\r\n }\r\n else if (c < 2048) {\r\n p += 2;\r\n }\r\n else if (c >= 0xd800 && c <= 0xdbff) {\r\n // Lead surrogate of a surrogate pair. The pair together will take 4 bytes to represent.\r\n p += 4;\r\n i++; // skip trail surrogate.\r\n }\r\n else {\r\n p += 3;\r\n }\r\n }\r\n return p;\r\n};\n\n/**\r\n * @license\r\n * Copyright 2022 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n/**\r\n * Copied from https://stackoverflow.com/a/2117523\r\n * Generates a new uuid.\r\n * @public\r\n */\r\nconst uuidv4 = function () {\r\n return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, c => {\r\n const r = (Math.random() * 16) | 0, v = c === 'x' ? r : (r & 0x3) | 0x8;\r\n return v.toString(16);\r\n });\r\n};\n\n/**\r\n * @license\r\n * Copyright 2019 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n/**\r\n * The amount of milliseconds to exponentially increase.\r\n */\r\nconst DEFAULT_INTERVAL_MILLIS = 1000;\r\n/**\r\n * The factor to backoff by.\r\n * Should be a number greater than 1.\r\n */\r\nconst DEFAULT_BACKOFF_FACTOR = 2;\r\n/**\r\n * The maximum milliseconds to increase to.\r\n *\r\n *

Visible for testing\r\n */\r\nconst MAX_VALUE_MILLIS = 4 * 60 * 60 * 1000; // Four hours, like iOS and Android.\r\n/**\r\n * The percentage of backoff time to randomize by.\r\n * See\r\n * http://go/safe-client-behavior#step-1-determine-the-appropriate-retry-interval-to-handle-spike-traffic\r\n * for context.\r\n *\r\n *

Visible for testing\r\n */\r\nconst RANDOM_FACTOR = 0.5;\r\n/**\r\n * Based on the backoff method from\r\n * https://github.com/google/closure-library/blob/master/closure/goog/math/exponentialbackoff.js.\r\n * Extracted here so we don't need to pass metadata and a stateful ExponentialBackoff object around.\r\n */\r\nfunction calculateBackoffMillis(backoffCount, intervalMillis = DEFAULT_INTERVAL_MILLIS, backoffFactor = DEFAULT_BACKOFF_FACTOR) {\r\n // Calculates an exponentially increasing value.\r\n // Deviation: calculates value from count and a constant interval, so we only need to save value\r\n // and count to restore state.\r\n const currBaseValue = intervalMillis * Math.pow(backoffFactor, backoffCount);\r\n // A random \"fuzz\" to avoid waves of retries.\r\n // Deviation: randomFactor is required.\r\n const randomWait = Math.round(\r\n // A fraction of the backoff value to add/subtract.\r\n // Deviation: changes multiplication order to improve readability.\r\n RANDOM_FACTOR *\r\n currBaseValue *\r\n // A random float (rounded to int by Math.round above) in the range [-1, 1]. Determines\r\n // if we add or subtract.\r\n (Math.random() - 0.5) *\r\n 2);\r\n // Limits backoff to max to avoid effectively permanent backoff.\r\n return Math.min(MAX_VALUE_MILLIS, currBaseValue + randomWait);\r\n}\n\n/**\r\n * @license\r\n * Copyright 2020 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n/**\r\n * Provide English ordinal letters after a number\r\n */\r\nfunction ordinal(i) {\r\n if (!Number.isFinite(i)) {\r\n return `${i}`;\r\n }\r\n return i + indicator(i);\r\n}\r\nfunction indicator(i) {\r\n i = Math.abs(i);\r\n const cent = i % 100;\r\n if (cent >= 10 && cent <= 20) {\r\n return 'th';\r\n }\r\n const dec = i % 10;\r\n if (dec === 1) {\r\n return 'st';\r\n }\r\n if (dec === 2) {\r\n return 'nd';\r\n }\r\n if (dec === 3) {\r\n return 'rd';\r\n }\r\n return 'th';\r\n}\n\n/**\r\n * @license\r\n * Copyright 2021 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\nfunction getModularInstance(service) {\r\n if (service && service._delegate) {\r\n return service._delegate;\r\n }\r\n else {\r\n return service;\r\n }\r\n}\n\nexport { CONSTANTS, DecodeBase64StringError, Deferred, ErrorFactory, FirebaseError, MAX_VALUE_MILLIS, RANDOM_FACTOR, Sha1, areCookiesEnabled, assert, assertionError, async, base64, base64Decode, base64Encode, base64urlEncodeWithoutPadding, calculateBackoffMillis, contains, createMockUserToken, createSubscribe, decode, deepCopy, deepEqual, deepExtend, errorPrefix, extractQuerystring, getDefaultAppConfig, getDefaultEmulatorHost, getDefaultEmulatorHostnameAndPort, getDefaults, getExperimentalSetting, getGlobal, getModularInstance, getUA, isAdmin, isBrowser, isBrowserExtension, isElectron, isEmpty, isIE, isIndexedDBAvailable, isMobileCordova, isNode, isNodeSdk, isReactNative, isSafari, isUWP, isValidFormat, isValidTimestamp, isWebWorker, issuedAtTime, jsonEval, map, ordinal, promiseWithTimeout, querystring, querystringDecode, safeGet, stringLength, stringToByteArray, stringify, uuidv4, validateArgCount, validateCallback, validateContextObject, validateIndexedDBOpenable, validateNamespace };\n//# sourceMappingURL=index.esm2017.js.map\n","import { Deferred } from '@firebase/util';\n\n/**\r\n * Component for service name T, e.g. `auth`, `auth-internal`\r\n */\r\nclass Component {\r\n /**\r\n *\r\n * @param name The public service name, e.g. app, auth, firestore, database\r\n * @param instanceFactory Service factory responsible for creating the public interface\r\n * @param type whether the service provided by the component is public or private\r\n */\r\n constructor(name, instanceFactory, type) {\r\n this.name = name;\r\n this.instanceFactory = instanceFactory;\r\n this.type = type;\r\n this.multipleInstances = false;\r\n /**\r\n * Properties to be added to the service namespace\r\n */\r\n this.serviceProps = {};\r\n this.instantiationMode = \"LAZY\" /* InstantiationMode.LAZY */;\r\n this.onInstanceCreated = null;\r\n }\r\n setInstantiationMode(mode) {\r\n this.instantiationMode = mode;\r\n return this;\r\n }\r\n setMultipleInstances(multipleInstances) {\r\n this.multipleInstances = multipleInstances;\r\n return this;\r\n }\r\n setServiceProps(props) {\r\n this.serviceProps = props;\r\n return this;\r\n }\r\n setInstanceCreatedCallback(callback) {\r\n this.onInstanceCreated = callback;\r\n return this;\r\n }\r\n}\n\n/**\r\n * @license\r\n * Copyright 2019 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\nconst DEFAULT_ENTRY_NAME = '[DEFAULT]';\n\n/**\r\n * @license\r\n * Copyright 2019 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n/**\r\n * Provider for instance for service name T, e.g. 'auth', 'auth-internal'\r\n * NameServiceMapping[T] is an alias for the type of the instance\r\n */\r\nclass Provider {\r\n constructor(name, container) {\r\n this.name = name;\r\n this.container = container;\r\n this.component = null;\r\n this.instances = new Map();\r\n this.instancesDeferred = new Map();\r\n this.instancesOptions = new Map();\r\n this.onInitCallbacks = new Map();\r\n }\r\n /**\r\n * @param identifier A provider can provide mulitple instances of a service\r\n * if this.component.multipleInstances is true.\r\n */\r\n get(identifier) {\r\n // if multipleInstances is not supported, use the default name\r\n const normalizedIdentifier = this.normalizeInstanceIdentifier(identifier);\r\n if (!this.instancesDeferred.has(normalizedIdentifier)) {\r\n const deferred = new Deferred();\r\n this.instancesDeferred.set(normalizedIdentifier, deferred);\r\n if (this.isInitialized(normalizedIdentifier) ||\r\n this.shouldAutoInitialize()) {\r\n // initialize the service if it can be auto-initialized\r\n try {\r\n const instance = this.getOrInitializeService({\r\n instanceIdentifier: normalizedIdentifier\r\n });\r\n if (instance) {\r\n deferred.resolve(instance);\r\n }\r\n }\r\n catch (e) {\r\n // when the instance factory throws an exception during get(), it should not cause\r\n // a fatal error. We just return the unresolved promise in this case.\r\n }\r\n }\r\n }\r\n return this.instancesDeferred.get(normalizedIdentifier).promise;\r\n }\r\n getImmediate(options) {\r\n var _a;\r\n // if multipleInstances is not supported, use the default name\r\n const normalizedIdentifier = this.normalizeInstanceIdentifier(options === null || options === void 0 ? void 0 : options.identifier);\r\n const optional = (_a = options === null || options === void 0 ? void 0 : options.optional) !== null && _a !== void 0 ? _a : false;\r\n if (this.isInitialized(normalizedIdentifier) ||\r\n this.shouldAutoInitialize()) {\r\n try {\r\n return this.getOrInitializeService({\r\n instanceIdentifier: normalizedIdentifier\r\n });\r\n }\r\n catch (e) {\r\n if (optional) {\r\n return null;\r\n }\r\n else {\r\n throw e;\r\n }\r\n }\r\n }\r\n else {\r\n // In case a component is not initialized and should/can not be auto-initialized at the moment, return null if the optional flag is set, or throw\r\n if (optional) {\r\n return null;\r\n }\r\n else {\r\n throw Error(`Service ${this.name} is not available`);\r\n }\r\n }\r\n }\r\n getComponent() {\r\n return this.component;\r\n }\r\n setComponent(component) {\r\n if (component.name !== this.name) {\r\n throw Error(`Mismatching Component ${component.name} for Provider ${this.name}.`);\r\n }\r\n if (this.component) {\r\n throw Error(`Component for ${this.name} has already been provided`);\r\n }\r\n this.component = component;\r\n // return early without attempting to initialize the component if the component requires explicit initialization (calling `Provider.initialize()`)\r\n if (!this.shouldAutoInitialize()) {\r\n return;\r\n }\r\n // if the service is eager, initialize the default instance\r\n if (isComponentEager(component)) {\r\n try {\r\n this.getOrInitializeService({ instanceIdentifier: DEFAULT_ENTRY_NAME });\r\n }\r\n catch (e) {\r\n // when the instance factory for an eager Component throws an exception during the eager\r\n // initialization, it should not cause a fatal error.\r\n // TODO: Investigate if we need to make it configurable, because some component may want to cause\r\n // a fatal error in this case?\r\n }\r\n }\r\n // Create service instances for the pending promises and resolve them\r\n // NOTE: if this.multipleInstances is false, only the default instance will be created\r\n // and all promises with resolve with it regardless of the identifier.\r\n for (const [instanceIdentifier, instanceDeferred] of this.instancesDeferred.entries()) {\r\n const normalizedIdentifier = this.normalizeInstanceIdentifier(instanceIdentifier);\r\n try {\r\n // `getOrInitializeService()` should always return a valid instance since a component is guaranteed. use ! to make typescript happy.\r\n const instance = this.getOrInitializeService({\r\n instanceIdentifier: normalizedIdentifier\r\n });\r\n instanceDeferred.resolve(instance);\r\n }\r\n catch (e) {\r\n // when the instance factory throws an exception, it should not cause\r\n // a fatal error. We just leave the promise unresolved.\r\n }\r\n }\r\n }\r\n clearInstance(identifier = DEFAULT_ENTRY_NAME) {\r\n this.instancesDeferred.delete(identifier);\r\n this.instancesOptions.delete(identifier);\r\n this.instances.delete(identifier);\r\n }\r\n // app.delete() will call this method on every provider to delete the services\r\n // TODO: should we mark the provider as deleted?\r\n async delete() {\r\n const services = Array.from(this.instances.values());\r\n await Promise.all([\r\n ...services\r\n .filter(service => 'INTERNAL' in service) // legacy services\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n .map(service => service.INTERNAL.delete()),\r\n ...services\r\n .filter(service => '_delete' in service) // modularized services\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n .map(service => service._delete())\r\n ]);\r\n }\r\n isComponentSet() {\r\n return this.component != null;\r\n }\r\n isInitialized(identifier = DEFAULT_ENTRY_NAME) {\r\n return this.instances.has(identifier);\r\n }\r\n getOptions(identifier = DEFAULT_ENTRY_NAME) {\r\n return this.instancesOptions.get(identifier) || {};\r\n }\r\n initialize(opts = {}) {\r\n const { options = {} } = opts;\r\n const normalizedIdentifier = this.normalizeInstanceIdentifier(opts.instanceIdentifier);\r\n if (this.isInitialized(normalizedIdentifier)) {\r\n throw Error(`${this.name}(${normalizedIdentifier}) has already been initialized`);\r\n }\r\n if (!this.isComponentSet()) {\r\n throw Error(`Component ${this.name} has not been registered yet`);\r\n }\r\n const instance = this.getOrInitializeService({\r\n instanceIdentifier: normalizedIdentifier,\r\n options\r\n });\r\n // resolve any pending promise waiting for the service instance\r\n for (const [instanceIdentifier, instanceDeferred] of this.instancesDeferred.entries()) {\r\n const normalizedDeferredIdentifier = this.normalizeInstanceIdentifier(instanceIdentifier);\r\n if (normalizedIdentifier === normalizedDeferredIdentifier) {\r\n instanceDeferred.resolve(instance);\r\n }\r\n }\r\n return instance;\r\n }\r\n /**\r\n *\r\n * @param callback - a function that will be invoked after the provider has been initialized by calling provider.initialize().\r\n * The function is invoked SYNCHRONOUSLY, so it should not execute any longrunning tasks in order to not block the program.\r\n *\r\n * @param identifier An optional instance identifier\r\n * @returns a function to unregister the callback\r\n */\r\n onInit(callback, identifier) {\r\n var _a;\r\n const normalizedIdentifier = this.normalizeInstanceIdentifier(identifier);\r\n const existingCallbacks = (_a = this.onInitCallbacks.get(normalizedIdentifier)) !== null && _a !== void 0 ? _a : new Set();\r\n existingCallbacks.add(callback);\r\n this.onInitCallbacks.set(normalizedIdentifier, existingCallbacks);\r\n const existingInstance = this.instances.get(normalizedIdentifier);\r\n if (existingInstance) {\r\n callback(existingInstance, normalizedIdentifier);\r\n }\r\n return () => {\r\n existingCallbacks.delete(callback);\r\n };\r\n }\r\n /**\r\n * Invoke onInit callbacks synchronously\r\n * @param instance the service instance`\r\n */\r\n invokeOnInitCallbacks(instance, identifier) {\r\n const callbacks = this.onInitCallbacks.get(identifier);\r\n if (!callbacks) {\r\n return;\r\n }\r\n for (const callback of callbacks) {\r\n try {\r\n callback(instance, identifier);\r\n }\r\n catch (_a) {\r\n // ignore errors in the onInit callback\r\n }\r\n }\r\n }\r\n getOrInitializeService({ instanceIdentifier, options = {} }) {\r\n let instance = this.instances.get(instanceIdentifier);\r\n if (!instance && this.component) {\r\n instance = this.component.instanceFactory(this.container, {\r\n instanceIdentifier: normalizeIdentifierForFactory(instanceIdentifier),\r\n options\r\n });\r\n this.instances.set(instanceIdentifier, instance);\r\n this.instancesOptions.set(instanceIdentifier, options);\r\n /**\r\n * Invoke onInit listeners.\r\n * Note this.component.onInstanceCreated is different, which is used by the component creator,\r\n * while onInit listeners are registered by consumers of the provider.\r\n */\r\n this.invokeOnInitCallbacks(instance, instanceIdentifier);\r\n /**\r\n * Order is important\r\n * onInstanceCreated() should be called after this.instances.set(instanceIdentifier, instance); which\r\n * makes `isInitialized()` return true.\r\n */\r\n if (this.component.onInstanceCreated) {\r\n try {\r\n this.component.onInstanceCreated(this.container, instanceIdentifier, instance);\r\n }\r\n catch (_a) {\r\n // ignore errors in the onInstanceCreatedCallback\r\n }\r\n }\r\n }\r\n return instance || null;\r\n }\r\n normalizeInstanceIdentifier(identifier = DEFAULT_ENTRY_NAME) {\r\n if (this.component) {\r\n return this.component.multipleInstances ? identifier : DEFAULT_ENTRY_NAME;\r\n }\r\n else {\r\n return identifier; // assume multiple instances are supported before the component is provided.\r\n }\r\n }\r\n shouldAutoInitialize() {\r\n return (!!this.component &&\r\n this.component.instantiationMode !== \"EXPLICIT\" /* InstantiationMode.EXPLICIT */);\r\n }\r\n}\r\n// undefined should be passed to the service factory for the default instance\r\nfunction normalizeIdentifierForFactory(identifier) {\r\n return identifier === DEFAULT_ENTRY_NAME ? undefined : identifier;\r\n}\r\nfunction isComponentEager(component) {\r\n return component.instantiationMode === \"EAGER\" /* InstantiationMode.EAGER */;\r\n}\n\n/**\r\n * @license\r\n * Copyright 2019 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n/**\r\n * ComponentContainer that provides Providers for service name T, e.g. `auth`, `auth-internal`\r\n */\r\nclass ComponentContainer {\r\n constructor(name) {\r\n this.name = name;\r\n this.providers = new Map();\r\n }\r\n /**\r\n *\r\n * @param component Component being added\r\n * @param overwrite When a component with the same name has already been registered,\r\n * if overwrite is true: overwrite the existing component with the new component and create a new\r\n * provider with the new component. It can be useful in tests where you want to use different mocks\r\n * for different tests.\r\n * if overwrite is false: throw an exception\r\n */\r\n addComponent(component) {\r\n const provider = this.getProvider(component.name);\r\n if (provider.isComponentSet()) {\r\n throw new Error(`Component ${component.name} has already been registered with ${this.name}`);\r\n }\r\n provider.setComponent(component);\r\n }\r\n addOrOverwriteComponent(component) {\r\n const provider = this.getProvider(component.name);\r\n if (provider.isComponentSet()) {\r\n // delete the existing provider from the container, so we can register the new component\r\n this.providers.delete(component.name);\r\n }\r\n this.addComponent(component);\r\n }\r\n /**\r\n * getProvider provides a type safe interface where it can only be called with a field name\r\n * present in NameServiceMapping interface.\r\n *\r\n * Firebase SDKs providing services should extend NameServiceMapping interface to register\r\n * themselves.\r\n */\r\n getProvider(name) {\r\n if (this.providers.has(name)) {\r\n return this.providers.get(name);\r\n }\r\n // create a Provider for a service that hasn't registered with Firebase\r\n const provider = new Provider(name, this);\r\n this.providers.set(name, provider);\r\n return provider;\r\n }\r\n getProviders() {\r\n return Array.from(this.providers.values());\r\n }\r\n}\n\nexport { Component, ComponentContainer, Provider };\n//# sourceMappingURL=index.esm2017.js.map\n","/**\r\n * @license\r\n * Copyright 2017 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n/**\r\n * A container for all of the Logger instances\r\n */\r\nconst instances = [];\r\n/**\r\n * The JS SDK supports 5 log levels and also allows a user the ability to\r\n * silence the logs altogether.\r\n *\r\n * The order is a follows:\r\n * DEBUG < VERBOSE < INFO < WARN < ERROR\r\n *\r\n * All of the log types above the current log level will be captured (i.e. if\r\n * you set the log level to `INFO`, errors will still be logged, but `DEBUG` and\r\n * `VERBOSE` logs will not)\r\n */\r\nvar LogLevel;\r\n(function (LogLevel) {\r\n LogLevel[LogLevel[\"DEBUG\"] = 0] = \"DEBUG\";\r\n LogLevel[LogLevel[\"VERBOSE\"] = 1] = \"VERBOSE\";\r\n LogLevel[LogLevel[\"INFO\"] = 2] = \"INFO\";\r\n LogLevel[LogLevel[\"WARN\"] = 3] = \"WARN\";\r\n LogLevel[LogLevel[\"ERROR\"] = 4] = \"ERROR\";\r\n LogLevel[LogLevel[\"SILENT\"] = 5] = \"SILENT\";\r\n})(LogLevel || (LogLevel = {}));\r\nconst levelStringToEnum = {\r\n 'debug': LogLevel.DEBUG,\r\n 'verbose': LogLevel.VERBOSE,\r\n 'info': LogLevel.INFO,\r\n 'warn': LogLevel.WARN,\r\n 'error': LogLevel.ERROR,\r\n 'silent': LogLevel.SILENT\r\n};\r\n/**\r\n * The default log level\r\n */\r\nconst defaultLogLevel = LogLevel.INFO;\r\n/**\r\n * By default, `console.debug` is not displayed in the developer console (in\r\n * chrome). To avoid forcing users to have to opt-in to these logs twice\r\n * (i.e. once for firebase, and once in the console), we are sending `DEBUG`\r\n * logs to the `console.log` function.\r\n */\r\nconst ConsoleMethod = {\r\n [LogLevel.DEBUG]: 'log',\r\n [LogLevel.VERBOSE]: 'log',\r\n [LogLevel.INFO]: 'info',\r\n [LogLevel.WARN]: 'warn',\r\n [LogLevel.ERROR]: 'error'\r\n};\r\n/**\r\n * The default log handler will forward DEBUG, VERBOSE, INFO, WARN, and ERROR\r\n * messages on to their corresponding console counterparts (if the log method\r\n * is supported by the current log level)\r\n */\r\nconst defaultLogHandler = (instance, logType, ...args) => {\r\n if (logType < instance.logLevel) {\r\n return;\r\n }\r\n const now = new Date().toISOString();\r\n const method = ConsoleMethod[logType];\r\n if (method) {\r\n console[method](`[${now}] ${instance.name}:`, ...args);\r\n }\r\n else {\r\n throw new Error(`Attempted to log a message with an invalid logType (value: ${logType})`);\r\n }\r\n};\r\nclass Logger {\r\n /**\r\n * Gives you an instance of a Logger to capture messages according to\r\n * Firebase's logging scheme.\r\n *\r\n * @param name The name that the logs will be associated with\r\n */\r\n constructor(name) {\r\n this.name = name;\r\n /**\r\n * The log level of the given Logger instance.\r\n */\r\n this._logLevel = defaultLogLevel;\r\n /**\r\n * The main (internal) log handler for the Logger instance.\r\n * Can be set to a new function in internal package code but not by user.\r\n */\r\n this._logHandler = defaultLogHandler;\r\n /**\r\n * The optional, additional, user-defined log handler for the Logger instance.\r\n */\r\n this._userLogHandler = null;\r\n /**\r\n * Capture the current instance for later use\r\n */\r\n instances.push(this);\r\n }\r\n get logLevel() {\r\n return this._logLevel;\r\n }\r\n set logLevel(val) {\r\n if (!(val in LogLevel)) {\r\n throw new TypeError(`Invalid value \"${val}\" assigned to \\`logLevel\\``);\r\n }\r\n this._logLevel = val;\r\n }\r\n // Workaround for setter/getter having to be the same type.\r\n setLogLevel(val) {\r\n this._logLevel = typeof val === 'string' ? levelStringToEnum[val] : val;\r\n }\r\n get logHandler() {\r\n return this._logHandler;\r\n }\r\n set logHandler(val) {\r\n if (typeof val !== 'function') {\r\n throw new TypeError('Value assigned to `logHandler` must be a function');\r\n }\r\n this._logHandler = val;\r\n }\r\n get userLogHandler() {\r\n return this._userLogHandler;\r\n }\r\n set userLogHandler(val) {\r\n this._userLogHandler = val;\r\n }\r\n /**\r\n * The functions below are all based on the `console` interface\r\n */\r\n debug(...args) {\r\n this._userLogHandler && this._userLogHandler(this, LogLevel.DEBUG, ...args);\r\n this._logHandler(this, LogLevel.DEBUG, ...args);\r\n }\r\n log(...args) {\r\n this._userLogHandler &&\r\n this._userLogHandler(this, LogLevel.VERBOSE, ...args);\r\n this._logHandler(this, LogLevel.VERBOSE, ...args);\r\n }\r\n info(...args) {\r\n this._userLogHandler && this._userLogHandler(this, LogLevel.INFO, ...args);\r\n this._logHandler(this, LogLevel.INFO, ...args);\r\n }\r\n warn(...args) {\r\n this._userLogHandler && this._userLogHandler(this, LogLevel.WARN, ...args);\r\n this._logHandler(this, LogLevel.WARN, ...args);\r\n }\r\n error(...args) {\r\n this._userLogHandler && this._userLogHandler(this, LogLevel.ERROR, ...args);\r\n this._logHandler(this, LogLevel.ERROR, ...args);\r\n }\r\n}\r\nfunction setLogLevel(level) {\r\n instances.forEach(inst => {\r\n inst.setLogLevel(level);\r\n });\r\n}\r\nfunction setUserLogHandler(logCallback, options) {\r\n for (const instance of instances) {\r\n let customLogLevel = null;\r\n if (options && options.level) {\r\n customLogLevel = levelStringToEnum[options.level];\r\n }\r\n if (logCallback === null) {\r\n instance.userLogHandler = null;\r\n }\r\n else {\r\n instance.userLogHandler = (instance, level, ...args) => {\r\n const message = args\r\n .map(arg => {\r\n if (arg == null) {\r\n return null;\r\n }\r\n else if (typeof arg === 'string') {\r\n return arg;\r\n }\r\n else if (typeof arg === 'number' || typeof arg === 'boolean') {\r\n return arg.toString();\r\n }\r\n else if (arg instanceof Error) {\r\n return arg.message;\r\n }\r\n else {\r\n try {\r\n return JSON.stringify(arg);\r\n }\r\n catch (ignored) {\r\n return null;\r\n }\r\n }\r\n })\r\n .filter(arg => arg)\r\n .join(' ');\r\n if (level >= (customLogLevel !== null && customLogLevel !== void 0 ? customLogLevel : instance.logLevel)) {\r\n logCallback({\r\n level: LogLevel[level].toLowerCase(),\r\n message,\r\n args,\r\n type: instance.name\r\n });\r\n }\r\n };\r\n }\r\n }\r\n}\n\nexport { LogLevel, Logger, setLogLevel, setUserLogHandler };\n//# sourceMappingURL=index.esm2017.js.map\n","const instanceOfAny = (object, constructors) => constructors.some((c) => object instanceof c);\n\nlet idbProxyableTypes;\nlet cursorAdvanceMethods;\n// This is a function to prevent it throwing up in node environments.\nfunction getIdbProxyableTypes() {\n return (idbProxyableTypes ||\n (idbProxyableTypes = [\n IDBDatabase,\n IDBObjectStore,\n IDBIndex,\n IDBCursor,\n IDBTransaction,\n ]));\n}\n// This is a function to prevent it throwing up in node environments.\nfunction getCursorAdvanceMethods() {\n return (cursorAdvanceMethods ||\n (cursorAdvanceMethods = [\n IDBCursor.prototype.advance,\n IDBCursor.prototype.continue,\n IDBCursor.prototype.continuePrimaryKey,\n ]));\n}\nconst cursorRequestMap = new WeakMap();\nconst transactionDoneMap = new WeakMap();\nconst transactionStoreNamesMap = new WeakMap();\nconst transformCache = new WeakMap();\nconst reverseTransformCache = new WeakMap();\nfunction promisifyRequest(request) {\n const promise = new Promise((resolve, reject) => {\n const unlisten = () => {\n request.removeEventListener('success', success);\n request.removeEventListener('error', error);\n };\n const success = () => {\n resolve(wrap(request.result));\n unlisten();\n };\n const error = () => {\n reject(request.error);\n unlisten();\n };\n request.addEventListener('success', success);\n request.addEventListener('error', error);\n });\n promise\n .then((value) => {\n // Since cursoring reuses the IDBRequest (*sigh*), we cache it for later retrieval\n // (see wrapFunction).\n if (value instanceof IDBCursor) {\n cursorRequestMap.set(value, request);\n }\n // Catching to avoid \"Uncaught Promise exceptions\"\n })\n .catch(() => { });\n // This mapping exists in reverseTransformCache but doesn't doesn't exist in transformCache. This\n // is because we create many promises from a single IDBRequest.\n reverseTransformCache.set(promise, request);\n return promise;\n}\nfunction cacheDonePromiseForTransaction(tx) {\n // Early bail if we've already created a done promise for this transaction.\n if (transactionDoneMap.has(tx))\n return;\n const done = new Promise((resolve, reject) => {\n const unlisten = () => {\n tx.removeEventListener('complete', complete);\n tx.removeEventListener('error', error);\n tx.removeEventListener('abort', error);\n };\n const complete = () => {\n resolve();\n unlisten();\n };\n const error = () => {\n reject(tx.error || new DOMException('AbortError', 'AbortError'));\n unlisten();\n };\n tx.addEventListener('complete', complete);\n tx.addEventListener('error', error);\n tx.addEventListener('abort', error);\n });\n // Cache it for later retrieval.\n transactionDoneMap.set(tx, done);\n}\nlet idbProxyTraps = {\n get(target, prop, receiver) {\n if (target instanceof IDBTransaction) {\n // Special handling for transaction.done.\n if (prop === 'done')\n return transactionDoneMap.get(target);\n // Polyfill for objectStoreNames because of Edge.\n if (prop === 'objectStoreNames') {\n return target.objectStoreNames || transactionStoreNamesMap.get(target);\n }\n // Make tx.store return the only store in the transaction, or undefined if there are many.\n if (prop === 'store') {\n return receiver.objectStoreNames[1]\n ? undefined\n : receiver.objectStore(receiver.objectStoreNames[0]);\n }\n }\n // Else transform whatever we get back.\n return wrap(target[prop]);\n },\n set(target, prop, value) {\n target[prop] = value;\n return true;\n },\n has(target, prop) {\n if (target instanceof IDBTransaction &&\n (prop === 'done' || prop === 'store')) {\n return true;\n }\n return prop in target;\n },\n};\nfunction replaceTraps(callback) {\n idbProxyTraps = callback(idbProxyTraps);\n}\nfunction wrapFunction(func) {\n // Due to expected object equality (which is enforced by the caching in `wrap`), we\n // only create one new func per func.\n // Edge doesn't support objectStoreNames (booo), so we polyfill it here.\n if (func === IDBDatabase.prototype.transaction &&\n !('objectStoreNames' in IDBTransaction.prototype)) {\n return function (storeNames, ...args) {\n const tx = func.call(unwrap(this), storeNames, ...args);\n transactionStoreNamesMap.set(tx, storeNames.sort ? storeNames.sort() : [storeNames]);\n return wrap(tx);\n };\n }\n // Cursor methods are special, as the behaviour is a little more different to standard IDB. In\n // IDB, you advance the cursor and wait for a new 'success' on the IDBRequest that gave you the\n // cursor. It's kinda like a promise that can resolve with many values. That doesn't make sense\n // with real promises, so each advance methods returns a new promise for the cursor object, or\n // undefined if the end of the cursor has been reached.\n if (getCursorAdvanceMethods().includes(func)) {\n return function (...args) {\n // Calling the original function with the proxy as 'this' causes ILLEGAL INVOCATION, so we use\n // the original object.\n func.apply(unwrap(this), args);\n return wrap(cursorRequestMap.get(this));\n };\n }\n return function (...args) {\n // Calling the original function with the proxy as 'this' causes ILLEGAL INVOCATION, so we use\n // the original object.\n return wrap(func.apply(unwrap(this), args));\n };\n}\nfunction transformCachableValue(value) {\n if (typeof value === 'function')\n return wrapFunction(value);\n // This doesn't return, it just creates a 'done' promise for the transaction,\n // which is later returned for transaction.done (see idbObjectHandler).\n if (value instanceof IDBTransaction)\n cacheDonePromiseForTransaction(value);\n if (instanceOfAny(value, getIdbProxyableTypes()))\n return new Proxy(value, idbProxyTraps);\n // Return the same value back if we're not going to transform it.\n return value;\n}\nfunction wrap(value) {\n // We sometimes generate multiple promises from a single IDBRequest (eg when cursoring), because\n // IDB is weird and a single IDBRequest can yield many responses, so these can't be cached.\n if (value instanceof IDBRequest)\n return promisifyRequest(value);\n // If we've already transformed this value before, reuse the transformed value.\n // This is faster, but it also provides object equality.\n if (transformCache.has(value))\n return transformCache.get(value);\n const newValue = transformCachableValue(value);\n // Not all types are transformed.\n // These may be primitive types, so they can't be WeakMap keys.\n if (newValue !== value) {\n transformCache.set(value, newValue);\n reverseTransformCache.set(newValue, value);\n }\n return newValue;\n}\nconst unwrap = (value) => reverseTransformCache.get(value);\n\nexport { reverseTransformCache as a, instanceOfAny as i, replaceTraps as r, unwrap as u, wrap as w };\n","import { w as wrap, r as replaceTraps } from './wrap-idb-value.js';\nexport { u as unwrap, w as wrap } from './wrap-idb-value.js';\n\n/**\n * Open a database.\n *\n * @param name Name of the database.\n * @param version Schema version.\n * @param callbacks Additional callbacks.\n */\nfunction openDB(name, version, { blocked, upgrade, blocking, terminated } = {}) {\n const request = indexedDB.open(name, version);\n const openPromise = wrap(request);\n if (upgrade) {\n request.addEventListener('upgradeneeded', (event) => {\n upgrade(wrap(request.result), event.oldVersion, event.newVersion, wrap(request.transaction), event);\n });\n }\n if (blocked) {\n request.addEventListener('blocked', (event) => blocked(\n // Casting due to https://github.com/microsoft/TypeScript-DOM-lib-generator/pull/1405\n event.oldVersion, event.newVersion, event));\n }\n openPromise\n .then((db) => {\n if (terminated)\n db.addEventListener('close', () => terminated());\n if (blocking) {\n db.addEventListener('versionchange', (event) => blocking(event.oldVersion, event.newVersion, event));\n }\n })\n .catch(() => { });\n return openPromise;\n}\n/**\n * Delete a database.\n *\n * @param name Name of the database.\n */\nfunction deleteDB(name, { blocked } = {}) {\n const request = indexedDB.deleteDatabase(name);\n if (blocked) {\n request.addEventListener('blocked', (event) => blocked(\n // Casting due to https://github.com/microsoft/TypeScript-DOM-lib-generator/pull/1405\n event.oldVersion, event));\n }\n return wrap(request).then(() => undefined);\n}\n\nconst readMethods = ['get', 'getKey', 'getAll', 'getAllKeys', 'count'];\nconst writeMethods = ['put', 'add', 'delete', 'clear'];\nconst cachedMethods = new Map();\nfunction getMethod(target, prop) {\n if (!(target instanceof IDBDatabase &&\n !(prop in target) &&\n typeof prop === 'string')) {\n return;\n }\n if (cachedMethods.get(prop))\n return cachedMethods.get(prop);\n const targetFuncName = prop.replace(/FromIndex$/, '');\n const useIndex = prop !== targetFuncName;\n const isWrite = writeMethods.includes(targetFuncName);\n if (\n // Bail if the target doesn't exist on the target. Eg, getAll isn't in Edge.\n !(targetFuncName in (useIndex ? IDBIndex : IDBObjectStore).prototype) ||\n !(isWrite || readMethods.includes(targetFuncName))) {\n return;\n }\n const method = async function (storeName, ...args) {\n // isWrite ? 'readwrite' : undefined gzipps better, but fails in Edge :(\n const tx = this.transaction(storeName, isWrite ? 'readwrite' : 'readonly');\n let target = tx.store;\n if (useIndex)\n target = target.index(args.shift());\n // Must reject if op rejects.\n // If it's a write operation, must reject if tx.done rejects.\n // Must reject with op rejection first.\n // Must resolve with op value.\n // Must handle both promises (no unhandled rejections)\n return (await Promise.all([\n target[targetFuncName](...args),\n isWrite && tx.done,\n ]))[0];\n };\n cachedMethods.set(prop, method);\n return method;\n}\nreplaceTraps((oldTraps) => ({\n ...oldTraps,\n get: (target, prop, receiver) => getMethod(target, prop) || oldTraps.get(target, prop, receiver),\n has: (target, prop) => !!getMethod(target, prop) || oldTraps.has(target, prop),\n}));\n\nexport { deleteDB, openDB };\n","import { Component, ComponentContainer } from '@firebase/component';\nimport { Logger, setUserLogHandler, setLogLevel as setLogLevel$1 } from '@firebase/logger';\nimport { ErrorFactory, getDefaultAppConfig, deepEqual, isBrowser, isWebWorker, FirebaseError, base64urlEncodeWithoutPadding, isIndexedDBAvailable, validateIndexedDBOpenable } from '@firebase/util';\nexport { FirebaseError } from '@firebase/util';\nimport { openDB } from 'idb';\n\n/**\r\n * @license\r\n * Copyright 2019 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\nclass PlatformLoggerServiceImpl {\r\n constructor(container) {\r\n this.container = container;\r\n }\r\n // In initial implementation, this will be called by installations on\r\n // auth token refresh, and installations will send this string.\r\n getPlatformInfoString() {\r\n const providers = this.container.getProviders();\r\n // Loop through providers and get library/version pairs from any that are\r\n // version components.\r\n return providers\r\n .map(provider => {\r\n if (isVersionServiceProvider(provider)) {\r\n const service = provider.getImmediate();\r\n return `${service.library}/${service.version}`;\r\n }\r\n else {\r\n return null;\r\n }\r\n })\r\n .filter(logString => logString)\r\n .join(' ');\r\n }\r\n}\r\n/**\r\n *\r\n * @param provider check if this provider provides a VersionService\r\n *\r\n * NOTE: Using Provider<'app-version'> is a hack to indicate that the provider\r\n * provides VersionService. The provider is not necessarily a 'app-version'\r\n * provider.\r\n */\r\nfunction isVersionServiceProvider(provider) {\r\n const component = provider.getComponent();\r\n return (component === null || component === void 0 ? void 0 : component.type) === \"VERSION\" /* ComponentType.VERSION */;\r\n}\n\nconst name$p = \"@firebase/app\";\nconst version$1 = \"0.10.7\";\n\n/**\r\n * @license\r\n * Copyright 2019 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\nconst logger = new Logger('@firebase/app');\n\nconst name$o = \"@firebase/app-compat\";\n\nconst name$n = \"@firebase/analytics-compat\";\n\nconst name$m = \"@firebase/analytics\";\n\nconst name$l = \"@firebase/app-check-compat\";\n\nconst name$k = \"@firebase/app-check\";\n\nconst name$j = \"@firebase/auth\";\n\nconst name$i = \"@firebase/auth-compat\";\n\nconst name$h = \"@firebase/database\";\n\nconst name$g = \"@firebase/database-compat\";\n\nconst name$f = \"@firebase/functions\";\n\nconst name$e = \"@firebase/functions-compat\";\n\nconst name$d = \"@firebase/installations\";\n\nconst name$c = \"@firebase/installations-compat\";\n\nconst name$b = \"@firebase/messaging\";\n\nconst name$a = \"@firebase/messaging-compat\";\n\nconst name$9 = \"@firebase/performance\";\n\nconst name$8 = \"@firebase/performance-compat\";\n\nconst name$7 = \"@firebase/remote-config\";\n\nconst name$6 = \"@firebase/remote-config-compat\";\n\nconst name$5 = \"@firebase/storage\";\n\nconst name$4 = \"@firebase/storage-compat\";\n\nconst name$3 = \"@firebase/firestore\";\n\nconst name$2 = \"@firebase/vertexai-preview\";\n\nconst name$1 = \"@firebase/firestore-compat\";\n\nconst name = \"firebase\";\nconst version = \"10.12.4\";\n\n/**\r\n * @license\r\n * Copyright 2019 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n/**\r\n * The default app name\r\n *\r\n * @internal\r\n */\r\nconst DEFAULT_ENTRY_NAME = '[DEFAULT]';\r\nconst PLATFORM_LOG_STRING = {\r\n [name$p]: 'fire-core',\r\n [name$o]: 'fire-core-compat',\r\n [name$m]: 'fire-analytics',\r\n [name$n]: 'fire-analytics-compat',\r\n [name$k]: 'fire-app-check',\r\n [name$l]: 'fire-app-check-compat',\r\n [name$j]: 'fire-auth',\r\n [name$i]: 'fire-auth-compat',\r\n [name$h]: 'fire-rtdb',\r\n [name$g]: 'fire-rtdb-compat',\r\n [name$f]: 'fire-fn',\r\n [name$e]: 'fire-fn-compat',\r\n [name$d]: 'fire-iid',\r\n [name$c]: 'fire-iid-compat',\r\n [name$b]: 'fire-fcm',\r\n [name$a]: 'fire-fcm-compat',\r\n [name$9]: 'fire-perf',\r\n [name$8]: 'fire-perf-compat',\r\n [name$7]: 'fire-rc',\r\n [name$6]: 'fire-rc-compat',\r\n [name$5]: 'fire-gcs',\r\n [name$4]: 'fire-gcs-compat',\r\n [name$3]: 'fire-fst',\r\n [name$1]: 'fire-fst-compat',\r\n [name$2]: 'fire-vertex',\r\n 'fire-js': 'fire-js',\r\n [name]: 'fire-js-all'\r\n};\n\n/**\r\n * @license\r\n * Copyright 2019 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n/**\r\n * @internal\r\n */\r\nconst _apps = new Map();\r\n/**\r\n * @internal\r\n */\r\nconst _serverApps = new Map();\r\n/**\r\n * Registered components.\r\n *\r\n * @internal\r\n */\r\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\r\nconst _components = new Map();\r\n/**\r\n * @param component - the component being added to this app's container\r\n *\r\n * @internal\r\n */\r\nfunction _addComponent(app, component) {\r\n try {\r\n app.container.addComponent(component);\r\n }\r\n catch (e) {\r\n logger.debug(`Component ${component.name} failed to register with FirebaseApp ${app.name}`, e);\r\n }\r\n}\r\n/**\r\n *\r\n * @internal\r\n */\r\nfunction _addOrOverwriteComponent(app, component) {\r\n app.container.addOrOverwriteComponent(component);\r\n}\r\n/**\r\n *\r\n * @param component - the component to register\r\n * @returns whether or not the component is registered successfully\r\n *\r\n * @internal\r\n */\r\nfunction _registerComponent(component) {\r\n const componentName = component.name;\r\n if (_components.has(componentName)) {\r\n logger.debug(`There were multiple attempts to register component ${componentName}.`);\r\n return false;\r\n }\r\n _components.set(componentName, component);\r\n // add the component to existing app instances\r\n for (const app of _apps.values()) {\r\n _addComponent(app, component);\r\n }\r\n for (const serverApp of _serverApps.values()) {\r\n _addComponent(serverApp, component);\r\n }\r\n return true;\r\n}\r\n/**\r\n *\r\n * @param app - FirebaseApp instance\r\n * @param name - service name\r\n *\r\n * @returns the provider for the service with the matching name\r\n *\r\n * @internal\r\n */\r\nfunction _getProvider(app, name) {\r\n const heartbeatController = app.container\r\n .getProvider('heartbeat')\r\n .getImmediate({ optional: true });\r\n if (heartbeatController) {\r\n void heartbeatController.triggerHeartbeat();\r\n }\r\n return app.container.getProvider(name);\r\n}\r\n/**\r\n *\r\n * @param app - FirebaseApp instance\r\n * @param name - service name\r\n * @param instanceIdentifier - service instance identifier in case the service supports multiple instances\r\n *\r\n * @internal\r\n */\r\nfunction _removeServiceInstance(app, name, instanceIdentifier = DEFAULT_ENTRY_NAME) {\r\n _getProvider(app, name).clearInstance(instanceIdentifier);\r\n}\r\n/**\r\n *\r\n * @param obj - an object of type FirebaseApp or FirebaseOptions.\r\n *\r\n * @returns true if the provide object is of type FirebaseApp.\r\n *\r\n * @internal\r\n */\r\nfunction _isFirebaseApp(obj) {\r\n return obj.options !== undefined;\r\n}\r\n/**\r\n *\r\n * @param obj - an object of type FirebaseApp.\r\n *\r\n * @returns true if the provided object is of type FirebaseServerAppImpl.\r\n *\r\n * @internal\r\n */\r\nfunction _isFirebaseServerApp(obj) {\r\n return obj.settings !== undefined;\r\n}\r\n/**\r\n * Test only\r\n *\r\n * @internal\r\n */\r\nfunction _clearComponents() {\r\n _components.clear();\r\n}\n\n/**\r\n * @license\r\n * Copyright 2019 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\nconst ERRORS = {\r\n [\"no-app\" /* AppError.NO_APP */]: \"No Firebase App '{$appName}' has been created - \" +\r\n 'call initializeApp() first',\r\n [\"bad-app-name\" /* AppError.BAD_APP_NAME */]: \"Illegal App name: '{$appName}'\",\r\n [\"duplicate-app\" /* AppError.DUPLICATE_APP */]: \"Firebase App named '{$appName}' already exists with different options or config\",\r\n [\"app-deleted\" /* AppError.APP_DELETED */]: \"Firebase App named '{$appName}' already deleted\",\r\n [\"server-app-deleted\" /* AppError.SERVER_APP_DELETED */]: 'Firebase Server App has been deleted',\r\n [\"no-options\" /* AppError.NO_OPTIONS */]: 'Need to provide options, when not being deployed to hosting via source.',\r\n [\"invalid-app-argument\" /* AppError.INVALID_APP_ARGUMENT */]: 'firebase.{$appName}() takes either no argument or a ' +\r\n 'Firebase App instance.',\r\n [\"invalid-log-argument\" /* AppError.INVALID_LOG_ARGUMENT */]: 'First argument to `onLog` must be null or a function.',\r\n [\"idb-open\" /* AppError.IDB_OPEN */]: 'Error thrown when opening IndexedDB. Original error: {$originalErrorMessage}.',\r\n [\"idb-get\" /* AppError.IDB_GET */]: 'Error thrown when reading from IndexedDB. Original error: {$originalErrorMessage}.',\r\n [\"idb-set\" /* AppError.IDB_WRITE */]: 'Error thrown when writing to IndexedDB. Original error: {$originalErrorMessage}.',\r\n [\"idb-delete\" /* AppError.IDB_DELETE */]: 'Error thrown when deleting from IndexedDB. Original error: {$originalErrorMessage}.',\r\n [\"finalization-registry-not-supported\" /* AppError.FINALIZATION_REGISTRY_NOT_SUPPORTED */]: 'FirebaseServerApp deleteOnDeref field defined but the JS runtime does not support FinalizationRegistry.',\r\n [\"invalid-server-app-environment\" /* AppError.INVALID_SERVER_APP_ENVIRONMENT */]: 'FirebaseServerApp is not for use in browser environments.'\r\n};\r\nconst ERROR_FACTORY = new ErrorFactory('app', 'Firebase', ERRORS);\n\n/**\r\n * @license\r\n * Copyright 2019 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\nclass FirebaseAppImpl {\r\n constructor(options, config, container) {\r\n this._isDeleted = false;\r\n this._options = Object.assign({}, options);\r\n this._config = Object.assign({}, config);\r\n this._name = config.name;\r\n this._automaticDataCollectionEnabled =\r\n config.automaticDataCollectionEnabled;\r\n this._container = container;\r\n this.container.addComponent(new Component('app', () => this, \"PUBLIC\" /* ComponentType.PUBLIC */));\r\n }\r\n get automaticDataCollectionEnabled() {\r\n this.checkDestroyed();\r\n return this._automaticDataCollectionEnabled;\r\n }\r\n set automaticDataCollectionEnabled(val) {\r\n this.checkDestroyed();\r\n this._automaticDataCollectionEnabled = val;\r\n }\r\n get name() {\r\n this.checkDestroyed();\r\n return this._name;\r\n }\r\n get options() {\r\n this.checkDestroyed();\r\n return this._options;\r\n }\r\n get config() {\r\n this.checkDestroyed();\r\n return this._config;\r\n }\r\n get container() {\r\n return this._container;\r\n }\r\n get isDeleted() {\r\n return this._isDeleted;\r\n }\r\n set isDeleted(val) {\r\n this._isDeleted = val;\r\n }\r\n /**\r\n * This function will throw an Error if the App has already been deleted -\r\n * use before performing API actions on the App.\r\n */\r\n checkDestroyed() {\r\n if (this.isDeleted) {\r\n throw ERROR_FACTORY.create(\"app-deleted\" /* AppError.APP_DELETED */, { appName: this._name });\r\n }\r\n }\r\n}\n\n/**\r\n * @license\r\n * Copyright 2023 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\nclass FirebaseServerAppImpl extends FirebaseAppImpl {\r\n constructor(options, serverConfig, name, container) {\r\n // Build configuration parameters for the FirebaseAppImpl base class.\r\n const automaticDataCollectionEnabled = serverConfig.automaticDataCollectionEnabled !== undefined\r\n ? serverConfig.automaticDataCollectionEnabled\r\n : false;\r\n // Create the FirebaseAppSettings object for the FirebaseAppImp constructor.\r\n const config = {\r\n name,\r\n automaticDataCollectionEnabled\r\n };\r\n if (options.apiKey !== undefined) {\r\n // Construct the parent FirebaseAppImp object.\r\n super(options, config, container);\r\n }\r\n else {\r\n const appImpl = options;\r\n super(appImpl.options, config, container);\r\n }\r\n // Now construct the data for the FirebaseServerAppImpl.\r\n this._serverConfig = Object.assign({ automaticDataCollectionEnabled }, serverConfig);\r\n this._finalizationRegistry = null;\r\n if (typeof FinalizationRegistry !== 'undefined') {\r\n this._finalizationRegistry = new FinalizationRegistry(() => {\r\n this.automaticCleanup();\r\n });\r\n }\r\n this._refCount = 0;\r\n this.incRefCount(this._serverConfig.releaseOnDeref);\r\n // Do not retain a hard reference to the dref object, otherwise the FinalizationRegisry\r\n // will never trigger.\r\n this._serverConfig.releaseOnDeref = undefined;\r\n serverConfig.releaseOnDeref = undefined;\r\n registerVersion(name$p, version$1, 'serverapp');\r\n }\r\n toJSON() {\r\n return undefined;\r\n }\r\n get refCount() {\r\n return this._refCount;\r\n }\r\n // Increment the reference count of this server app. If an object is provided, register it\r\n // with the finalization registry.\r\n incRefCount(obj) {\r\n if (this.isDeleted) {\r\n return;\r\n }\r\n this._refCount++;\r\n if (obj !== undefined && this._finalizationRegistry !== null) {\r\n this._finalizationRegistry.register(obj, this);\r\n }\r\n }\r\n // Decrement the reference count.\r\n decRefCount() {\r\n if (this.isDeleted) {\r\n return 0;\r\n }\r\n return --this._refCount;\r\n }\r\n // Invoked by the FinalizationRegistry callback to note that this app should go through its\r\n // reference counts and delete itself if no reference count remain. The coordinating logic that\r\n // handles this is in deleteApp(...).\r\n automaticCleanup() {\r\n void deleteApp(this);\r\n }\r\n get settings() {\r\n this.checkDestroyed();\r\n return this._serverConfig;\r\n }\r\n /**\r\n * This function will throw an Error if the App has already been deleted -\r\n * use before performing API actions on the App.\r\n */\r\n checkDestroyed() {\r\n if (this.isDeleted) {\r\n throw ERROR_FACTORY.create(\"server-app-deleted\" /* AppError.SERVER_APP_DELETED */);\r\n }\r\n }\r\n}\n\n/**\r\n * @license\r\n * Copyright 2019 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n/**\r\n * The current SDK version.\r\n *\r\n * @public\r\n */\r\nconst SDK_VERSION = version;\r\nfunction initializeApp(_options, rawConfig = {}) {\r\n let options = _options;\r\n if (typeof rawConfig !== 'object') {\r\n const name = rawConfig;\r\n rawConfig = { name };\r\n }\r\n const config = Object.assign({ name: DEFAULT_ENTRY_NAME, automaticDataCollectionEnabled: false }, rawConfig);\r\n const name = config.name;\r\n if (typeof name !== 'string' || !name) {\r\n throw ERROR_FACTORY.create(\"bad-app-name\" /* AppError.BAD_APP_NAME */, {\r\n appName: String(name)\r\n });\r\n }\r\n options || (options = getDefaultAppConfig());\r\n if (!options) {\r\n throw ERROR_FACTORY.create(\"no-options\" /* AppError.NO_OPTIONS */);\r\n }\r\n const existingApp = _apps.get(name);\r\n if (existingApp) {\r\n // return the existing app if options and config deep equal the ones in the existing app.\r\n if (deepEqual(options, existingApp.options) &&\r\n deepEqual(config, existingApp.config)) {\r\n return existingApp;\r\n }\r\n else {\r\n throw ERROR_FACTORY.create(\"duplicate-app\" /* AppError.DUPLICATE_APP */, { appName: name });\r\n }\r\n }\r\n const container = new ComponentContainer(name);\r\n for (const component of _components.values()) {\r\n container.addComponent(component);\r\n }\r\n const newApp = new FirebaseAppImpl(options, config, container);\r\n _apps.set(name, newApp);\r\n return newApp;\r\n}\r\nfunction initializeServerApp(_options, _serverAppConfig) {\r\n if (isBrowser() && !isWebWorker()) {\r\n // FirebaseServerApp isn't designed to be run in browsers.\r\n throw ERROR_FACTORY.create(\"invalid-server-app-environment\" /* AppError.INVALID_SERVER_APP_ENVIRONMENT */);\r\n }\r\n if (_serverAppConfig.automaticDataCollectionEnabled === undefined) {\r\n _serverAppConfig.automaticDataCollectionEnabled = false;\r\n }\r\n let appOptions;\r\n if (_isFirebaseApp(_options)) {\r\n appOptions = _options.options;\r\n }\r\n else {\r\n appOptions = _options;\r\n }\r\n // Build an app name based on a hash of the configuration options.\r\n const nameObj = Object.assign(Object.assign({}, _serverAppConfig), appOptions);\r\n // However, Do not mangle the name based on releaseOnDeref, since it will vary between the\r\n // construction of FirebaseServerApp instances. For example, if the object is the request headers.\r\n if (nameObj.releaseOnDeref !== undefined) {\r\n delete nameObj.releaseOnDeref;\r\n }\r\n const hashCode = (s) => {\r\n return [...s].reduce((hash, c) => (Math.imul(31, hash) + c.charCodeAt(0)) | 0, 0);\r\n };\r\n if (_serverAppConfig.releaseOnDeref !== undefined) {\r\n if (typeof FinalizationRegistry === 'undefined') {\r\n throw ERROR_FACTORY.create(\"finalization-registry-not-supported\" /* AppError.FINALIZATION_REGISTRY_NOT_SUPPORTED */, {});\r\n }\r\n }\r\n const nameString = '' + hashCode(JSON.stringify(nameObj));\r\n const existingApp = _serverApps.get(nameString);\r\n if (existingApp) {\r\n existingApp.incRefCount(_serverAppConfig.releaseOnDeref);\r\n return existingApp;\r\n }\r\n const container = new ComponentContainer(nameString);\r\n for (const component of _components.values()) {\r\n container.addComponent(component);\r\n }\r\n const newApp = new FirebaseServerAppImpl(appOptions, _serverAppConfig, nameString, container);\r\n _serverApps.set(nameString, newApp);\r\n return newApp;\r\n}\r\n/**\r\n * Retrieves a {@link @firebase/app#FirebaseApp} instance.\r\n *\r\n * When called with no arguments, the default app is returned. When an app name\r\n * is provided, the app corresponding to that name is returned.\r\n *\r\n * An exception is thrown if the app being retrieved has not yet been\r\n * initialized.\r\n *\r\n * @example\r\n * ```javascript\r\n * // Return the default app\r\n * const app = getApp();\r\n * ```\r\n *\r\n * @example\r\n * ```javascript\r\n * // Return a named app\r\n * const otherApp = getApp(\"otherApp\");\r\n * ```\r\n *\r\n * @param name - Optional name of the app to return. If no name is\r\n * provided, the default is `\"[DEFAULT]\"`.\r\n *\r\n * @returns The app corresponding to the provided app name.\r\n * If no app name is provided, the default app is returned.\r\n *\r\n * @public\r\n */\r\nfunction getApp(name = DEFAULT_ENTRY_NAME) {\r\n const app = _apps.get(name);\r\n if (!app && name === DEFAULT_ENTRY_NAME && getDefaultAppConfig()) {\r\n return initializeApp();\r\n }\r\n if (!app) {\r\n throw ERROR_FACTORY.create(\"no-app\" /* AppError.NO_APP */, { appName: name });\r\n }\r\n return app;\r\n}\r\n/**\r\n * A (read-only) array of all initialized apps.\r\n * @public\r\n */\r\nfunction getApps() {\r\n return Array.from(_apps.values());\r\n}\r\n/**\r\n * Renders this app unusable and frees the resources of all associated\r\n * services.\r\n *\r\n * @example\r\n * ```javascript\r\n * deleteApp(app)\r\n * .then(function() {\r\n * console.log(\"App deleted successfully\");\r\n * })\r\n * .catch(function(error) {\r\n * console.log(\"Error deleting app:\", error);\r\n * });\r\n * ```\r\n *\r\n * @public\r\n */\r\nasync function deleteApp(app) {\r\n let cleanupProviders = false;\r\n const name = app.name;\r\n if (_apps.has(name)) {\r\n cleanupProviders = true;\r\n _apps.delete(name);\r\n }\r\n else if (_serverApps.has(name)) {\r\n const firebaseServerApp = app;\r\n if (firebaseServerApp.decRefCount() <= 0) {\r\n _serverApps.delete(name);\r\n cleanupProviders = true;\r\n }\r\n }\r\n if (cleanupProviders) {\r\n await Promise.all(app.container\r\n .getProviders()\r\n .map(provider => provider.delete()));\r\n app.isDeleted = true;\r\n }\r\n}\r\n/**\r\n * Registers a library's name and version for platform logging purposes.\r\n * @param library - Name of 1p or 3p library (e.g. firestore, angularfire)\r\n * @param version - Current version of that library.\r\n * @param variant - Bundle variant, e.g., node, rn, etc.\r\n *\r\n * @public\r\n */\r\nfunction registerVersion(libraryKeyOrName, version, variant) {\r\n var _a;\r\n // TODO: We can use this check to whitelist strings when/if we set up\r\n // a good whitelist system.\r\n let library = (_a = PLATFORM_LOG_STRING[libraryKeyOrName]) !== null && _a !== void 0 ? _a : libraryKeyOrName;\r\n if (variant) {\r\n library += `-${variant}`;\r\n }\r\n const libraryMismatch = library.match(/\\s|\\//);\r\n const versionMismatch = version.match(/\\s|\\//);\r\n if (libraryMismatch || versionMismatch) {\r\n const warning = [\r\n `Unable to register library \"${library}\" with version \"${version}\":`\r\n ];\r\n if (libraryMismatch) {\r\n warning.push(`library name \"${library}\" contains illegal characters (whitespace or \"/\")`);\r\n }\r\n if (libraryMismatch && versionMismatch) {\r\n warning.push('and');\r\n }\r\n if (versionMismatch) {\r\n warning.push(`version name \"${version}\" contains illegal characters (whitespace or \"/\")`);\r\n }\r\n logger.warn(warning.join(' '));\r\n return;\r\n }\r\n _registerComponent(new Component(`${library}-version`, () => ({ library, version }), \"VERSION\" /* ComponentType.VERSION */));\r\n}\r\n/**\r\n * Sets log handler for all Firebase SDKs.\r\n * @param logCallback - An optional custom log handler that executes user code whenever\r\n * the Firebase SDK makes a logging call.\r\n *\r\n * @public\r\n */\r\nfunction onLog(logCallback, options) {\r\n if (logCallback !== null && typeof logCallback !== 'function') {\r\n throw ERROR_FACTORY.create(\"invalid-log-argument\" /* AppError.INVALID_LOG_ARGUMENT */);\r\n }\r\n setUserLogHandler(logCallback, options);\r\n}\r\n/**\r\n * Sets log level for all Firebase SDKs.\r\n *\r\n * All of the log types above the current log level are captured (i.e. if\r\n * you set the log level to `info`, errors are logged, but `debug` and\r\n * `verbose` logs are not).\r\n *\r\n * @public\r\n */\r\nfunction setLogLevel(logLevel) {\r\n setLogLevel$1(logLevel);\r\n}\n\n/**\r\n * @license\r\n * Copyright 2021 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\nconst DB_NAME = 'firebase-heartbeat-database';\r\nconst DB_VERSION = 1;\r\nconst STORE_NAME = 'firebase-heartbeat-store';\r\nlet dbPromise = null;\r\nfunction getDbPromise() {\r\n if (!dbPromise) {\r\n dbPromise = openDB(DB_NAME, DB_VERSION, {\r\n upgrade: (db, oldVersion) => {\r\n // We don't use 'break' in this switch statement, the fall-through\r\n // behavior is what we want, because if there are multiple versions between\r\n // the old version and the current version, we want ALL the migrations\r\n // that correspond to those versions to run, not only the last one.\r\n // eslint-disable-next-line default-case\r\n switch (oldVersion) {\r\n case 0:\r\n try {\r\n db.createObjectStore(STORE_NAME);\r\n }\r\n catch (e) {\r\n // Safari/iOS browsers throw occasional exceptions on\r\n // db.createObjectStore() that may be a bug. Avoid blocking\r\n // the rest of the app functionality.\r\n console.warn(e);\r\n }\r\n }\r\n }\r\n }).catch(e => {\r\n throw ERROR_FACTORY.create(\"idb-open\" /* AppError.IDB_OPEN */, {\r\n originalErrorMessage: e.message\r\n });\r\n });\r\n }\r\n return dbPromise;\r\n}\r\nasync function readHeartbeatsFromIndexedDB(app) {\r\n try {\r\n const db = await getDbPromise();\r\n const tx = db.transaction(STORE_NAME);\r\n const result = await tx.objectStore(STORE_NAME).get(computeKey(app));\r\n // We already have the value but tx.done can throw,\r\n // so we need to await it here to catch errors\r\n await tx.done;\r\n return result;\r\n }\r\n catch (e) {\r\n if (e instanceof FirebaseError) {\r\n logger.warn(e.message);\r\n }\r\n else {\r\n const idbGetError = ERROR_FACTORY.create(\"idb-get\" /* AppError.IDB_GET */, {\r\n originalErrorMessage: e === null || e === void 0 ? void 0 : e.message\r\n });\r\n logger.warn(idbGetError.message);\r\n }\r\n }\r\n}\r\nasync function writeHeartbeatsToIndexedDB(app, heartbeatObject) {\r\n try {\r\n const db = await getDbPromise();\r\n const tx = db.transaction(STORE_NAME, 'readwrite');\r\n const objectStore = tx.objectStore(STORE_NAME);\r\n await objectStore.put(heartbeatObject, computeKey(app));\r\n await tx.done;\r\n }\r\n catch (e) {\r\n if (e instanceof FirebaseError) {\r\n logger.warn(e.message);\r\n }\r\n else {\r\n const idbGetError = ERROR_FACTORY.create(\"idb-set\" /* AppError.IDB_WRITE */, {\r\n originalErrorMessage: e === null || e === void 0 ? void 0 : e.message\r\n });\r\n logger.warn(idbGetError.message);\r\n }\r\n }\r\n}\r\nfunction computeKey(app) {\r\n return `${app.name}!${app.options.appId}`;\r\n}\n\n/**\r\n * @license\r\n * Copyright 2021 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\nconst MAX_HEADER_BYTES = 1024;\r\n// 30 days\r\nconst STORED_HEARTBEAT_RETENTION_MAX_MILLIS = 30 * 24 * 60 * 60 * 1000;\r\nclass HeartbeatServiceImpl {\r\n constructor(container) {\r\n this.container = container;\r\n /**\r\n * In-memory cache for heartbeats, used by getHeartbeatsHeader() to generate\r\n * the header string.\r\n * Stores one record per date. This will be consolidated into the standard\r\n * format of one record per user agent string before being sent as a header.\r\n * Populated from indexedDB when the controller is instantiated and should\r\n * be kept in sync with indexedDB.\r\n * Leave public for easier testing.\r\n */\r\n this._heartbeatsCache = null;\r\n const app = this.container.getProvider('app').getImmediate();\r\n this._storage = new HeartbeatStorageImpl(app);\r\n this._heartbeatsCachePromise = this._storage.read().then(result => {\r\n this._heartbeatsCache = result;\r\n return result;\r\n });\r\n }\r\n /**\r\n * Called to report a heartbeat. The function will generate\r\n * a HeartbeatsByUserAgent object, update heartbeatsCache, and persist it\r\n * to IndexedDB.\r\n * Note that we only store one heartbeat per day. So if a heartbeat for today is\r\n * already logged, subsequent calls to this function in the same day will be ignored.\r\n */\r\n async triggerHeartbeat() {\r\n var _a, _b;\r\n const platformLogger = this.container\r\n .getProvider('platform-logger')\r\n .getImmediate();\r\n // This is the \"Firebase user agent\" string from the platform logger\r\n // service, not the browser user agent.\r\n const agent = platformLogger.getPlatformInfoString();\r\n const date = getUTCDateString();\r\n if (((_a = this._heartbeatsCache) === null || _a === void 0 ? void 0 : _a.heartbeats) == null) {\r\n this._heartbeatsCache = await this._heartbeatsCachePromise;\r\n // If we failed to construct a heartbeats cache, then return immediately.\r\n if (((_b = this._heartbeatsCache) === null || _b === void 0 ? void 0 : _b.heartbeats) == null) {\r\n return;\r\n }\r\n }\r\n // Do not store a heartbeat if one is already stored for this day\r\n // or if a header has already been sent today.\r\n if (this._heartbeatsCache.lastSentHeartbeatDate === date ||\r\n this._heartbeatsCache.heartbeats.some(singleDateHeartbeat => singleDateHeartbeat.date === date)) {\r\n return;\r\n }\r\n else {\r\n // There is no entry for this date. Create one.\r\n this._heartbeatsCache.heartbeats.push({ date, agent });\r\n }\r\n // Remove entries older than 30 days.\r\n this._heartbeatsCache.heartbeats = this._heartbeatsCache.heartbeats.filter(singleDateHeartbeat => {\r\n const hbTimestamp = new Date(singleDateHeartbeat.date).valueOf();\r\n const now = Date.now();\r\n return now - hbTimestamp <= STORED_HEARTBEAT_RETENTION_MAX_MILLIS;\r\n });\r\n return this._storage.overwrite(this._heartbeatsCache);\r\n }\r\n /**\r\n * Returns a base64 encoded string which can be attached to the heartbeat-specific header directly.\r\n * It also clears all heartbeats from memory as well as in IndexedDB.\r\n *\r\n * NOTE: Consuming product SDKs should not send the header if this method\r\n * returns an empty string.\r\n */\r\n async getHeartbeatsHeader() {\r\n var _a;\r\n if (this._heartbeatsCache === null) {\r\n await this._heartbeatsCachePromise;\r\n }\r\n // If it's still null or the array is empty, there is no data to send.\r\n if (((_a = this._heartbeatsCache) === null || _a === void 0 ? void 0 : _a.heartbeats) == null ||\r\n this._heartbeatsCache.heartbeats.length === 0) {\r\n return '';\r\n }\r\n const date = getUTCDateString();\r\n // Extract as many heartbeats from the cache as will fit under the size limit.\r\n const { heartbeatsToSend, unsentEntries } = extractHeartbeatsForHeader(this._heartbeatsCache.heartbeats);\r\n const headerString = base64urlEncodeWithoutPadding(JSON.stringify({ version: 2, heartbeats: heartbeatsToSend }));\r\n // Store last sent date to prevent another being logged/sent for the same day.\r\n this._heartbeatsCache.lastSentHeartbeatDate = date;\r\n if (unsentEntries.length > 0) {\r\n // Store any unsent entries if they exist.\r\n this._heartbeatsCache.heartbeats = unsentEntries;\r\n // This seems more likely than emptying the array (below) to lead to some odd state\r\n // since the cache isn't empty and this will be called again on the next request,\r\n // and is probably safest if we await it.\r\n await this._storage.overwrite(this._heartbeatsCache);\r\n }\r\n else {\r\n this._heartbeatsCache.heartbeats = [];\r\n // Do not wait for this, to reduce latency.\r\n void this._storage.overwrite(this._heartbeatsCache);\r\n }\r\n return headerString;\r\n }\r\n}\r\nfunction getUTCDateString() {\r\n const today = new Date();\r\n // Returns date format 'YYYY-MM-DD'\r\n return today.toISOString().substring(0, 10);\r\n}\r\nfunction extractHeartbeatsForHeader(heartbeatsCache, maxSize = MAX_HEADER_BYTES) {\r\n // Heartbeats grouped by user agent in the standard format to be sent in\r\n // the header.\r\n const heartbeatsToSend = [];\r\n // Single date format heartbeats that are not sent.\r\n let unsentEntries = heartbeatsCache.slice();\r\n for (const singleDateHeartbeat of heartbeatsCache) {\r\n // Look for an existing entry with the same user agent.\r\n const heartbeatEntry = heartbeatsToSend.find(hb => hb.agent === singleDateHeartbeat.agent);\r\n if (!heartbeatEntry) {\r\n // If no entry for this user agent exists, create one.\r\n heartbeatsToSend.push({\r\n agent: singleDateHeartbeat.agent,\r\n dates: [singleDateHeartbeat.date]\r\n });\r\n if (countBytes(heartbeatsToSend) > maxSize) {\r\n // If the header would exceed max size, remove the added heartbeat\r\n // entry and stop adding to the header.\r\n heartbeatsToSend.pop();\r\n break;\r\n }\r\n }\r\n else {\r\n heartbeatEntry.dates.push(singleDateHeartbeat.date);\r\n // If the header would exceed max size, remove the added date\r\n // and stop adding to the header.\r\n if (countBytes(heartbeatsToSend) > maxSize) {\r\n heartbeatEntry.dates.pop();\r\n break;\r\n }\r\n }\r\n // Pop unsent entry from queue. (Skipped if adding the entry exceeded\r\n // quota and the loop breaks early.)\r\n unsentEntries = unsentEntries.slice(1);\r\n }\r\n return {\r\n heartbeatsToSend,\r\n unsentEntries\r\n };\r\n}\r\nclass HeartbeatStorageImpl {\r\n constructor(app) {\r\n this.app = app;\r\n this._canUseIndexedDBPromise = this.runIndexedDBEnvironmentCheck();\r\n }\r\n async runIndexedDBEnvironmentCheck() {\r\n if (!isIndexedDBAvailable()) {\r\n return false;\r\n }\r\n else {\r\n return validateIndexedDBOpenable()\r\n .then(() => true)\r\n .catch(() => false);\r\n }\r\n }\r\n /**\r\n * Read all heartbeats.\r\n */\r\n async read() {\r\n const canUseIndexedDB = await this._canUseIndexedDBPromise;\r\n if (!canUseIndexedDB) {\r\n return { heartbeats: [] };\r\n }\r\n else {\r\n const idbHeartbeatObject = await readHeartbeatsFromIndexedDB(this.app);\r\n if (idbHeartbeatObject === null || idbHeartbeatObject === void 0 ? void 0 : idbHeartbeatObject.heartbeats) {\r\n return idbHeartbeatObject;\r\n }\r\n else {\r\n return { heartbeats: [] };\r\n }\r\n }\r\n }\r\n // overwrite the storage with the provided heartbeats\r\n async overwrite(heartbeatsObject) {\r\n var _a;\r\n const canUseIndexedDB = await this._canUseIndexedDBPromise;\r\n if (!canUseIndexedDB) {\r\n return;\r\n }\r\n else {\r\n const existingHeartbeatsObject = await this.read();\r\n return writeHeartbeatsToIndexedDB(this.app, {\r\n lastSentHeartbeatDate: (_a = heartbeatsObject.lastSentHeartbeatDate) !== null && _a !== void 0 ? _a : existingHeartbeatsObject.lastSentHeartbeatDate,\r\n heartbeats: heartbeatsObject.heartbeats\r\n });\r\n }\r\n }\r\n // add heartbeats\r\n async add(heartbeatsObject) {\r\n var _a;\r\n const canUseIndexedDB = await this._canUseIndexedDBPromise;\r\n if (!canUseIndexedDB) {\r\n return;\r\n }\r\n else {\r\n const existingHeartbeatsObject = await this.read();\r\n return writeHeartbeatsToIndexedDB(this.app, {\r\n lastSentHeartbeatDate: (_a = heartbeatsObject.lastSentHeartbeatDate) !== null && _a !== void 0 ? _a : existingHeartbeatsObject.lastSentHeartbeatDate,\r\n heartbeats: [\r\n ...existingHeartbeatsObject.heartbeats,\r\n ...heartbeatsObject.heartbeats\r\n ]\r\n });\r\n }\r\n }\r\n}\r\n/**\r\n * Calculate bytes of a HeartbeatsByUserAgent array after being wrapped\r\n * in a platform logging header JSON object, stringified, and converted\r\n * to base 64.\r\n */\r\nfunction countBytes(heartbeatsCache) {\r\n // base64 has a restricted set of characters, all of which should be 1 byte.\r\n return base64urlEncodeWithoutPadding(\r\n // heartbeatsCache wrapper properties\r\n JSON.stringify({ version: 2, heartbeats: heartbeatsCache })).length;\r\n}\n\n/**\r\n * @license\r\n * Copyright 2019 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\nfunction registerCoreComponents(variant) {\r\n _registerComponent(new Component('platform-logger', container => new PlatformLoggerServiceImpl(container), \"PRIVATE\" /* ComponentType.PRIVATE */));\r\n _registerComponent(new Component('heartbeat', container => new HeartbeatServiceImpl(container), \"PRIVATE\" /* ComponentType.PRIVATE */));\r\n // Register `app` package.\r\n registerVersion(name$p, version$1, variant);\r\n // BUILD_TARGET will be replaced by values like esm5, esm2017, cjs5, etc during the compilation\r\n registerVersion(name$p, version$1, 'esm2017');\r\n // Register platform SDK identifier (no version).\r\n registerVersion('fire-js', '');\r\n}\n\n/**\r\n * Firebase App\r\n *\r\n * @remarks This package coordinates the communication between the different Firebase components\r\n * @packageDocumentation\r\n */\r\nregisterCoreComponents('');\n\nexport { SDK_VERSION, DEFAULT_ENTRY_NAME as _DEFAULT_ENTRY_NAME, _addComponent, _addOrOverwriteComponent, _apps, _clearComponents, _components, _getProvider, _isFirebaseApp, _isFirebaseServerApp, _registerComponent, _removeServiceInstance, _serverApps, deleteApp, getApp, getApps, initializeApp, initializeServerApp, onLog, registerVersion, setLogLevel };\n//# sourceMappingURL=index.esm2017.js.map\n","import { registerVersion } from '@firebase/app';\nexport * from '@firebase/app';\n\nvar name = \"firebase\";\nvar version = \"10.12.4\";\n\n/**\r\n * @license\r\n * Copyright 2020 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\nregisterVersion(name, version, 'app');\n//# sourceMappingURL=index.esm.js.map\n"],"names":["stringToByteArray$1","str","out","p","i","c","byteArrayToString","bytes","pos","c1","c2","c3","c4","u","base64","input","webSafe","byteToCharMap","output","byte1","haveByte2","byte2","haveByte3","byte3","outByte1","outByte2","outByte3","outByte4","charToByteMap","byte4","DecodeBase64StringError","base64Encode","utf8Bytes","base64urlEncodeWithoutPadding","base64Decode","getGlobal","getDefaultsFromGlobal","getDefaultsFromEnvVariable","define_process_env_default","defaultsJsonString","getDefaultsFromCookie","match","decoded","getDefaults","e","getDefaultAppConfig","_a","Deferred","resolve","reject","callback","error","value","isIndexedDBAvailable","validateIndexedDBOpenable","preExist","DB_CHECK_NAME","request","ERROR_NAME","FirebaseError","code","message","customData","ErrorFactory","service","serviceName","errors","data","fullCode","template","replaceTemplate","fullMessage","PATTERN","_","key","deepEqual","a","b","aKeys","bKeys","k","aProp","bProp","isObject","thing","Component","name","instanceFactory","type","mode","multipleInstances","props","DEFAULT_ENTRY_NAME","Provider","container","identifier","normalizedIdentifier","deferred","instance","options","optional","component","isComponentEager","instanceIdentifier","instanceDeferred","services","opts","normalizedDeferredIdentifier","existingCallbacks","existingInstance","callbacks","normalizeIdentifierForFactory","ComponentContainer","provider","LogLevel","levelStringToEnum","defaultLogLevel","ConsoleMethod","defaultLogHandler","logType","args","now","method","Logger","val","instanceOfAny","object","constructors","idbProxyableTypes","cursorAdvanceMethods","getIdbProxyableTypes","getCursorAdvanceMethods","cursorRequestMap","transactionDoneMap","transactionStoreNamesMap","transformCache","reverseTransformCache","promisifyRequest","promise","unlisten","success","wrap","cacheDonePromiseForTransaction","tx","done","complete","idbProxyTraps","target","prop","receiver","replaceTraps","wrapFunction","func","storeNames","unwrap","transformCachableValue","newValue","openDB","version","blocked","upgrade","blocking","terminated","openPromise","event","db","readMethods","writeMethods","cachedMethods","getMethod","targetFuncName","useIndex","isWrite","storeName","oldTraps","PlatformLoggerServiceImpl","isVersionServiceProvider","logString","name$p","version$1","logger","name$o","name$n","name$m","name$l","name$k","name$j","name$i","name$h","name$g","name$f","name$e","name$d","name$c","name$b","name$a","name$9","name$8","name$7","name$6","name$5","name$4","name$3","name$2","name$1","PLATFORM_LOG_STRING","_apps","_serverApps","_components","_addComponent","app","_registerComponent","componentName","serverApp","ERRORS","ERROR_FACTORY","FirebaseAppImpl","config","initializeApp","_options","rawConfig","existingApp","newApp","registerVersion","libraryKeyOrName","variant","library","libraryMismatch","versionMismatch","warning","DB_NAME","DB_VERSION","STORE_NAME","dbPromise","getDbPromise","oldVersion","readHeartbeatsFromIndexedDB","result","computeKey","idbGetError","writeHeartbeatsToIndexedDB","heartbeatObject","MAX_HEADER_BYTES","STORED_HEARTBEAT_RETENTION_MAX_MILLIS","HeartbeatServiceImpl","HeartbeatStorageImpl","_b","agent","date","getUTCDateString","singleDateHeartbeat","hbTimestamp","heartbeatsToSend","unsentEntries","extractHeartbeatsForHeader","headerString","heartbeatsCache","maxSize","heartbeatEntry","hb","countBytes","idbHeartbeatObject","heartbeatsObject","existingHeartbeatsObject","registerCoreComponents"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,5,6]} \ No newline at end of file +{"version":3,"file":"index.esm.BoasBFnU.js","sources":["../../../../../../node_modules/@firebase/util/dist/index.esm2017.js","../../../../../../node_modules/@firebase/component/dist/esm/index.esm2017.js","../../../../../../node_modules/@firebase/logger/dist/esm/index.esm2017.js","../../../../../../node_modules/idb/build/wrap-idb-value.js","../../../../../../node_modules/idb/build/index.js","../../../../../../node_modules/@firebase/app/dist/esm/index.esm2017.js","../../node_modules/firebase/app/dist/esm/index.esm.js"],"sourcesContent":["/**\r\n * @license\r\n * Copyright 2017 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n/**\r\n * @fileoverview Firebase constants. Some of these (@defines) can be overridden at compile-time.\r\n */\r\nconst CONSTANTS = {\r\n /**\r\n * @define {boolean} Whether this is the client Node.js SDK.\r\n */\r\n NODE_CLIENT: false,\r\n /**\r\n * @define {boolean} Whether this is the Admin Node.js SDK.\r\n */\r\n NODE_ADMIN: false,\r\n /**\r\n * Firebase SDK Version\r\n */\r\n SDK_VERSION: '${JSCORE_VERSION}'\r\n};\n\n/**\r\n * @license\r\n * Copyright 2017 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n/**\r\n * Throws an error if the provided assertion is falsy\r\n */\r\nconst assert = function (assertion, message) {\r\n if (!assertion) {\r\n throw assertionError(message);\r\n }\r\n};\r\n/**\r\n * Returns an Error object suitable for throwing.\r\n */\r\nconst assertionError = function (message) {\r\n return new Error('Firebase Database (' +\r\n CONSTANTS.SDK_VERSION +\r\n ') INTERNAL ASSERT FAILED: ' +\r\n message);\r\n};\n\n/**\r\n * @license\r\n * Copyright 2017 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\nconst stringToByteArray$1 = function (str) {\r\n // TODO(user): Use native implementations if/when available\r\n const out = [];\r\n let p = 0;\r\n for (let i = 0; i < str.length; i++) {\r\n let c = str.charCodeAt(i);\r\n if (c < 128) {\r\n out[p++] = c;\r\n }\r\n else if (c < 2048) {\r\n out[p++] = (c >> 6) | 192;\r\n out[p++] = (c & 63) | 128;\r\n }\r\n else if ((c & 0xfc00) === 0xd800 &&\r\n i + 1 < str.length &&\r\n (str.charCodeAt(i + 1) & 0xfc00) === 0xdc00) {\r\n // Surrogate Pair\r\n c = 0x10000 + ((c & 0x03ff) << 10) + (str.charCodeAt(++i) & 0x03ff);\r\n out[p++] = (c >> 18) | 240;\r\n out[p++] = ((c >> 12) & 63) | 128;\r\n out[p++] = ((c >> 6) & 63) | 128;\r\n out[p++] = (c & 63) | 128;\r\n }\r\n else {\r\n out[p++] = (c >> 12) | 224;\r\n out[p++] = ((c >> 6) & 63) | 128;\r\n out[p++] = (c & 63) | 128;\r\n }\r\n }\r\n return out;\r\n};\r\n/**\r\n * Turns an array of numbers into the string given by the concatenation of the\r\n * characters to which the numbers correspond.\r\n * @param bytes Array of numbers representing characters.\r\n * @return Stringification of the array.\r\n */\r\nconst byteArrayToString = function (bytes) {\r\n // TODO(user): Use native implementations if/when available\r\n const out = [];\r\n let pos = 0, c = 0;\r\n while (pos < bytes.length) {\r\n const c1 = bytes[pos++];\r\n if (c1 < 128) {\r\n out[c++] = String.fromCharCode(c1);\r\n }\r\n else if (c1 > 191 && c1 < 224) {\r\n const c2 = bytes[pos++];\r\n out[c++] = String.fromCharCode(((c1 & 31) << 6) | (c2 & 63));\r\n }\r\n else if (c1 > 239 && c1 < 365) {\r\n // Surrogate Pair\r\n const c2 = bytes[pos++];\r\n const c3 = bytes[pos++];\r\n const c4 = bytes[pos++];\r\n const u = (((c1 & 7) << 18) | ((c2 & 63) << 12) | ((c3 & 63) << 6) | (c4 & 63)) -\r\n 0x10000;\r\n out[c++] = String.fromCharCode(0xd800 + (u >> 10));\r\n out[c++] = String.fromCharCode(0xdc00 + (u & 1023));\r\n }\r\n else {\r\n const c2 = bytes[pos++];\r\n const c3 = bytes[pos++];\r\n out[c++] = String.fromCharCode(((c1 & 15) << 12) | ((c2 & 63) << 6) | (c3 & 63));\r\n }\r\n }\r\n return out.join('');\r\n};\r\n// We define it as an object literal instead of a class because a class compiled down to es5 can't\r\n// be treeshaked. https://github.com/rollup/rollup/issues/1691\r\n// Static lookup maps, lazily populated by init_()\r\nconst base64 = {\r\n /**\r\n * Maps bytes to characters.\r\n */\r\n byteToCharMap_: null,\r\n /**\r\n * Maps characters to bytes.\r\n */\r\n charToByteMap_: null,\r\n /**\r\n * Maps bytes to websafe characters.\r\n * @private\r\n */\r\n byteToCharMapWebSafe_: null,\r\n /**\r\n * Maps websafe characters to bytes.\r\n * @private\r\n */\r\n charToByteMapWebSafe_: null,\r\n /**\r\n * Our default alphabet, shared between\r\n * ENCODED_VALS and ENCODED_VALS_WEBSAFE\r\n */\r\n ENCODED_VALS_BASE: 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' + 'abcdefghijklmnopqrstuvwxyz' + '0123456789',\r\n /**\r\n * Our default alphabet. Value 64 (=) is special; it means \"nothing.\"\r\n */\r\n get ENCODED_VALS() {\r\n return this.ENCODED_VALS_BASE + '+/=';\r\n },\r\n /**\r\n * Our websafe alphabet.\r\n */\r\n get ENCODED_VALS_WEBSAFE() {\r\n return this.ENCODED_VALS_BASE + '-_.';\r\n },\r\n /**\r\n * Whether this browser supports the atob and btoa functions. This extension\r\n * started at Mozilla but is now implemented by many browsers. We use the\r\n * ASSUME_* variables to avoid pulling in the full useragent detection library\r\n * but still allowing the standard per-browser compilations.\r\n *\r\n */\r\n HAS_NATIVE_SUPPORT: typeof atob === 'function',\r\n /**\r\n * Base64-encode an array of bytes.\r\n *\r\n * @param input An array of bytes (numbers with\r\n * value in [0, 255]) to encode.\r\n * @param webSafe Boolean indicating we should use the\r\n * alternative alphabet.\r\n * @return The base64 encoded string.\r\n */\r\n encodeByteArray(input, webSafe) {\r\n if (!Array.isArray(input)) {\r\n throw Error('encodeByteArray takes an array as a parameter');\r\n }\r\n this.init_();\r\n const byteToCharMap = webSafe\r\n ? this.byteToCharMapWebSafe_\r\n : this.byteToCharMap_;\r\n const output = [];\r\n for (let i = 0; i < input.length; i += 3) {\r\n const byte1 = input[i];\r\n const haveByte2 = i + 1 < input.length;\r\n const byte2 = haveByte2 ? input[i + 1] : 0;\r\n const haveByte3 = i + 2 < input.length;\r\n const byte3 = haveByte3 ? input[i + 2] : 0;\r\n const outByte1 = byte1 >> 2;\r\n const outByte2 = ((byte1 & 0x03) << 4) | (byte2 >> 4);\r\n let outByte3 = ((byte2 & 0x0f) << 2) | (byte3 >> 6);\r\n let outByte4 = byte3 & 0x3f;\r\n if (!haveByte3) {\r\n outByte4 = 64;\r\n if (!haveByte2) {\r\n outByte3 = 64;\r\n }\r\n }\r\n output.push(byteToCharMap[outByte1], byteToCharMap[outByte2], byteToCharMap[outByte3], byteToCharMap[outByte4]);\r\n }\r\n return output.join('');\r\n },\r\n /**\r\n * Base64-encode a string.\r\n *\r\n * @param input A string to encode.\r\n * @param webSafe If true, we should use the\r\n * alternative alphabet.\r\n * @return The base64 encoded string.\r\n */\r\n encodeString(input, webSafe) {\r\n // Shortcut for Mozilla browsers that implement\r\n // a native base64 encoder in the form of \"btoa/atob\"\r\n if (this.HAS_NATIVE_SUPPORT && !webSafe) {\r\n return btoa(input);\r\n }\r\n return this.encodeByteArray(stringToByteArray$1(input), webSafe);\r\n },\r\n /**\r\n * Base64-decode a string.\r\n *\r\n * @param input to decode.\r\n * @param webSafe True if we should use the\r\n * alternative alphabet.\r\n * @return string representing the decoded value.\r\n */\r\n decodeString(input, webSafe) {\r\n // Shortcut for Mozilla browsers that implement\r\n // a native base64 encoder in the form of \"btoa/atob\"\r\n if (this.HAS_NATIVE_SUPPORT && !webSafe) {\r\n return atob(input);\r\n }\r\n return byteArrayToString(this.decodeStringToByteArray(input, webSafe));\r\n },\r\n /**\r\n * Base64-decode a string.\r\n *\r\n * In base-64 decoding, groups of four characters are converted into three\r\n * bytes. If the encoder did not apply padding, the input length may not\r\n * be a multiple of 4.\r\n *\r\n * In this case, the last group will have fewer than 4 characters, and\r\n * padding will be inferred. If the group has one or two characters, it decodes\r\n * to one byte. If the group has three characters, it decodes to two bytes.\r\n *\r\n * @param input Input to decode.\r\n * @param webSafe True if we should use the web-safe alphabet.\r\n * @return bytes representing the decoded value.\r\n */\r\n decodeStringToByteArray(input, webSafe) {\r\n this.init_();\r\n const charToByteMap = webSafe\r\n ? this.charToByteMapWebSafe_\r\n : this.charToByteMap_;\r\n const output = [];\r\n for (let i = 0; i < input.length;) {\r\n const byte1 = charToByteMap[input.charAt(i++)];\r\n const haveByte2 = i < input.length;\r\n const byte2 = haveByte2 ? charToByteMap[input.charAt(i)] : 0;\r\n ++i;\r\n const haveByte3 = i < input.length;\r\n const byte3 = haveByte3 ? charToByteMap[input.charAt(i)] : 64;\r\n ++i;\r\n const haveByte4 = i < input.length;\r\n const byte4 = haveByte4 ? charToByteMap[input.charAt(i)] : 64;\r\n ++i;\r\n if (byte1 == null || byte2 == null || byte3 == null || byte4 == null) {\r\n throw new DecodeBase64StringError();\r\n }\r\n const outByte1 = (byte1 << 2) | (byte2 >> 4);\r\n output.push(outByte1);\r\n if (byte3 !== 64) {\r\n const outByte2 = ((byte2 << 4) & 0xf0) | (byte3 >> 2);\r\n output.push(outByte2);\r\n if (byte4 !== 64) {\r\n const outByte3 = ((byte3 << 6) & 0xc0) | byte4;\r\n output.push(outByte3);\r\n }\r\n }\r\n }\r\n return output;\r\n },\r\n /**\r\n * Lazy static initialization function. Called before\r\n * accessing any of the static map variables.\r\n * @private\r\n */\r\n init_() {\r\n if (!this.byteToCharMap_) {\r\n this.byteToCharMap_ = {};\r\n this.charToByteMap_ = {};\r\n this.byteToCharMapWebSafe_ = {};\r\n this.charToByteMapWebSafe_ = {};\r\n // We want quick mappings back and forth, so we precompute two maps.\r\n for (let i = 0; i < this.ENCODED_VALS.length; i++) {\r\n this.byteToCharMap_[i] = this.ENCODED_VALS.charAt(i);\r\n this.charToByteMap_[this.byteToCharMap_[i]] = i;\r\n this.byteToCharMapWebSafe_[i] = this.ENCODED_VALS_WEBSAFE.charAt(i);\r\n this.charToByteMapWebSafe_[this.byteToCharMapWebSafe_[i]] = i;\r\n // Be forgiving when decoding and correctly decode both encodings.\r\n if (i >= this.ENCODED_VALS_BASE.length) {\r\n this.charToByteMap_[this.ENCODED_VALS_WEBSAFE.charAt(i)] = i;\r\n this.charToByteMapWebSafe_[this.ENCODED_VALS.charAt(i)] = i;\r\n }\r\n }\r\n }\r\n }\r\n};\r\n/**\r\n * An error encountered while decoding base64 string.\r\n */\r\nclass DecodeBase64StringError extends Error {\r\n constructor() {\r\n super(...arguments);\r\n this.name = 'DecodeBase64StringError';\r\n }\r\n}\r\n/**\r\n * URL-safe base64 encoding\r\n */\r\nconst base64Encode = function (str) {\r\n const utf8Bytes = stringToByteArray$1(str);\r\n return base64.encodeByteArray(utf8Bytes, true);\r\n};\r\n/**\r\n * URL-safe base64 encoding (without \".\" padding in the end).\r\n * e.g. Used in JSON Web Token (JWT) parts.\r\n */\r\nconst base64urlEncodeWithoutPadding = function (str) {\r\n // Use base64url encoding and remove padding in the end (dot characters).\r\n return base64Encode(str).replace(/\\./g, '');\r\n};\r\n/**\r\n * URL-safe base64 decoding\r\n *\r\n * NOTE: DO NOT use the global atob() function - it does NOT support the\r\n * base64Url variant encoding.\r\n *\r\n * @param str To be decoded\r\n * @return Decoded result, if possible\r\n */\r\nconst base64Decode = function (str) {\r\n try {\r\n return base64.decodeString(str, true);\r\n }\r\n catch (e) {\r\n console.error('base64Decode failed: ', e);\r\n }\r\n return null;\r\n};\n\n/**\r\n * @license\r\n * Copyright 2017 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n/**\r\n * Do a deep-copy of basic JavaScript Objects or Arrays.\r\n */\r\nfunction deepCopy(value) {\r\n return deepExtend(undefined, value);\r\n}\r\n/**\r\n * Copy properties from source to target (recursively allows extension\r\n * of Objects and Arrays). Scalar values in the target are over-written.\r\n * If target is undefined, an object of the appropriate type will be created\r\n * (and returned).\r\n *\r\n * We recursively copy all child properties of plain Objects in the source- so\r\n * that namespace- like dictionaries are merged.\r\n *\r\n * Note that the target can be a function, in which case the properties in\r\n * the source Object are copied onto it as static properties of the Function.\r\n *\r\n * Note: we don't merge __proto__ to prevent prototype pollution\r\n */\r\nfunction deepExtend(target, source) {\r\n if (!(source instanceof Object)) {\r\n return source;\r\n }\r\n switch (source.constructor) {\r\n case Date:\r\n // Treat Dates like scalars; if the target date object had any child\r\n // properties - they will be lost!\r\n const dateValue = source;\r\n return new Date(dateValue.getTime());\r\n case Object:\r\n if (target === undefined) {\r\n target = {};\r\n }\r\n break;\r\n case Array:\r\n // Always copy the array source and overwrite the target.\r\n target = [];\r\n break;\r\n default:\r\n // Not a plain Object - treat it as a scalar.\r\n return source;\r\n }\r\n for (const prop in source) {\r\n // use isValidKey to guard against prototype pollution. See https://snyk.io/vuln/SNYK-JS-LODASH-450202\r\n if (!source.hasOwnProperty(prop) || !isValidKey(prop)) {\r\n continue;\r\n }\r\n target[prop] = deepExtend(target[prop], source[prop]);\r\n }\r\n return target;\r\n}\r\nfunction isValidKey(key) {\r\n return key !== '__proto__';\r\n}\n\n/**\r\n * @license\r\n * Copyright 2022 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n/**\r\n * Polyfill for `globalThis` object.\r\n * @returns the `globalThis` object for the given environment.\r\n * @public\r\n */\r\nfunction getGlobal() {\r\n if (typeof self !== 'undefined') {\r\n return self;\r\n }\r\n if (typeof window !== 'undefined') {\r\n return window;\r\n }\r\n if (typeof global !== 'undefined') {\r\n return global;\r\n }\r\n throw new Error('Unable to locate global object.');\r\n}\n\n/**\r\n * @license\r\n * Copyright 2022 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\nconst getDefaultsFromGlobal = () => getGlobal().__FIREBASE_DEFAULTS__;\r\n/**\r\n * Attempt to read defaults from a JSON string provided to\r\n * process(.)env(.)__FIREBASE_DEFAULTS__ or a JSON file whose path is in\r\n * process(.)env(.)__FIREBASE_DEFAULTS_PATH__\r\n * The dots are in parens because certain compilers (Vite?) cannot\r\n * handle seeing that variable in comments.\r\n * See https://github.com/firebase/firebase-js-sdk/issues/6838\r\n */\r\nconst getDefaultsFromEnvVariable = () => {\r\n if (typeof process === 'undefined' || typeof process.env === 'undefined') {\r\n return;\r\n }\r\n const defaultsJsonString = process.env.__FIREBASE_DEFAULTS__;\r\n if (defaultsJsonString) {\r\n return JSON.parse(defaultsJsonString);\r\n }\r\n};\r\nconst getDefaultsFromCookie = () => {\r\n if (typeof document === 'undefined') {\r\n return;\r\n }\r\n let match;\r\n try {\r\n match = document.cookie.match(/__FIREBASE_DEFAULTS__=([^;]+)/);\r\n }\r\n catch (e) {\r\n // Some environments such as Angular Universal SSR have a\r\n // `document` object but error on accessing `document.cookie`.\r\n return;\r\n }\r\n const decoded = match && base64Decode(match[1]);\r\n return decoded && JSON.parse(decoded);\r\n};\r\n/**\r\n * Get the __FIREBASE_DEFAULTS__ object. It checks in order:\r\n * (1) if such an object exists as a property of `globalThis`\r\n * (2) if such an object was provided on a shell environment variable\r\n * (3) if such an object exists in a cookie\r\n * @public\r\n */\r\nconst getDefaults = () => {\r\n try {\r\n return (getDefaultsFromGlobal() ||\r\n getDefaultsFromEnvVariable() ||\r\n getDefaultsFromCookie());\r\n }\r\n catch (e) {\r\n /**\r\n * Catch-all for being unable to get __FIREBASE_DEFAULTS__ due\r\n * to any environment case we have not accounted for. Log to\r\n * info instead of swallowing so we can find these unknown cases\r\n * and add paths for them if needed.\r\n */\r\n console.info(`Unable to get __FIREBASE_DEFAULTS__ due to: ${e}`);\r\n return;\r\n }\r\n};\r\n/**\r\n * Returns emulator host stored in the __FIREBASE_DEFAULTS__ object\r\n * for the given product.\r\n * @returns a URL host formatted like `127.0.0.1:9999` or `[::1]:4000` if available\r\n * @public\r\n */\r\nconst getDefaultEmulatorHost = (productName) => { var _a, _b; return (_b = (_a = getDefaults()) === null || _a === void 0 ? void 0 : _a.emulatorHosts) === null || _b === void 0 ? void 0 : _b[productName]; };\r\n/**\r\n * Returns emulator hostname and port stored in the __FIREBASE_DEFAULTS__ object\r\n * for the given product.\r\n * @returns a pair of hostname and port like `[\"::1\", 4000]` if available\r\n * @public\r\n */\r\nconst getDefaultEmulatorHostnameAndPort = (productName) => {\r\n const host = getDefaultEmulatorHost(productName);\r\n if (!host) {\r\n return undefined;\r\n }\r\n const separatorIndex = host.lastIndexOf(':'); // Finding the last since IPv6 addr also has colons.\r\n if (separatorIndex <= 0 || separatorIndex + 1 === host.length) {\r\n throw new Error(`Invalid host ${host} with no separate hostname and port!`);\r\n }\r\n // eslint-disable-next-line no-restricted-globals\r\n const port = parseInt(host.substring(separatorIndex + 1), 10);\r\n if (host[0] === '[') {\r\n // Bracket-quoted `[ipv6addr]:port` => return \"ipv6addr\" (without brackets).\r\n return [host.substring(1, separatorIndex - 1), port];\r\n }\r\n else {\r\n return [host.substring(0, separatorIndex), port];\r\n }\r\n};\r\n/**\r\n * Returns Firebase app config stored in the __FIREBASE_DEFAULTS__ object.\r\n * @public\r\n */\r\nconst getDefaultAppConfig = () => { var _a; return (_a = getDefaults()) === null || _a === void 0 ? void 0 : _a.config; };\r\n/**\r\n * Returns an experimental setting on the __FIREBASE_DEFAULTS__ object (properties\r\n * prefixed by \"_\")\r\n * @public\r\n */\r\nconst getExperimentalSetting = (name) => { var _a; return (_a = getDefaults()) === null || _a === void 0 ? void 0 : _a[`_${name}`]; };\n\n/**\r\n * @license\r\n * Copyright 2017 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\nclass Deferred {\r\n constructor() {\r\n this.reject = () => { };\r\n this.resolve = () => { };\r\n this.promise = new Promise((resolve, reject) => {\r\n this.resolve = resolve;\r\n this.reject = reject;\r\n });\r\n }\r\n /**\r\n * Our API internals are not promiseified and cannot because our callback APIs have subtle expectations around\r\n * invoking promises inline, which Promises are forbidden to do. This method accepts an optional node-style callback\r\n * and returns a node-style callback which will resolve or reject the Deferred's promise.\r\n */\r\n wrapCallback(callback) {\r\n return (error, value) => {\r\n if (error) {\r\n this.reject(error);\r\n }\r\n else {\r\n this.resolve(value);\r\n }\r\n if (typeof callback === 'function') {\r\n // Attaching noop handler just in case developer wasn't expecting\r\n // promises\r\n this.promise.catch(() => { });\r\n // Some of our callbacks don't expect a value and our own tests\r\n // assert that the parameter length is 1\r\n if (callback.length === 1) {\r\n callback(error);\r\n }\r\n else {\r\n callback(error, value);\r\n }\r\n }\r\n };\r\n }\r\n}\n\n/**\r\n * @license\r\n * Copyright 2021 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\nfunction createMockUserToken(token, projectId) {\r\n if (token.uid) {\r\n throw new Error('The \"uid\" field is no longer supported by mockUserToken. Please use \"sub\" instead for Firebase Auth User ID.');\r\n }\r\n // Unsecured JWTs use \"none\" as the algorithm.\r\n const header = {\r\n alg: 'none',\r\n type: 'JWT'\r\n };\r\n const project = projectId || 'demo-project';\r\n const iat = token.iat || 0;\r\n const sub = token.sub || token.user_id;\r\n if (!sub) {\r\n throw new Error(\"mockUserToken must contain 'sub' or 'user_id' field!\");\r\n }\r\n const payload = Object.assign({ \r\n // Set all required fields to decent defaults\r\n iss: `https://securetoken.google.com/${project}`, aud: project, iat, exp: iat + 3600, auth_time: iat, sub, user_id: sub, firebase: {\r\n sign_in_provider: 'custom',\r\n identities: {}\r\n } }, token);\r\n // Unsecured JWTs use the empty string as a signature.\r\n const signature = '';\r\n return [\r\n base64urlEncodeWithoutPadding(JSON.stringify(header)),\r\n base64urlEncodeWithoutPadding(JSON.stringify(payload)),\r\n signature\r\n ].join('.');\r\n}\n\n/**\r\n * @license\r\n * Copyright 2017 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n/**\r\n * Returns navigator.userAgent string or '' if it's not defined.\r\n * @return user agent string\r\n */\r\nfunction getUA() {\r\n if (typeof navigator !== 'undefined' &&\r\n typeof navigator['userAgent'] === 'string') {\r\n return navigator['userAgent'];\r\n }\r\n else {\r\n return '';\r\n }\r\n}\r\n/**\r\n * Detect Cordova / PhoneGap / Ionic frameworks on a mobile device.\r\n *\r\n * Deliberately does not rely on checking `file://` URLs (as this fails PhoneGap\r\n * in the Ripple emulator) nor Cordova `onDeviceReady`, which would normally\r\n * wait for a callback.\r\n */\r\nfunction isMobileCordova() {\r\n return (typeof window !== 'undefined' &&\r\n // @ts-ignore Setting up an broadly applicable index signature for Window\r\n // just to deal with this case would probably be a bad idea.\r\n !!(window['cordova'] || window['phonegap'] || window['PhoneGap']) &&\r\n /ios|iphone|ipod|ipad|android|blackberry|iemobile/i.test(getUA()));\r\n}\r\n/**\r\n * Detect Node.js.\r\n *\r\n * @return true if Node.js environment is detected or specified.\r\n */\r\n// Node detection logic from: https://github.com/iliakan/detect-node/\r\nfunction isNode() {\r\n var _a;\r\n const forceEnvironment = (_a = getDefaults()) === null || _a === void 0 ? void 0 : _a.forceEnvironment;\r\n if (forceEnvironment === 'node') {\r\n return true;\r\n }\r\n else if (forceEnvironment === 'browser') {\r\n return false;\r\n }\r\n try {\r\n return (Object.prototype.toString.call(global.process) === '[object process]');\r\n }\r\n catch (e) {\r\n return false;\r\n }\r\n}\r\n/**\r\n * Detect Browser Environment\r\n */\r\nfunction isBrowser() {\r\n return typeof window !== 'undefined' || isWebWorker();\r\n}\r\n/**\r\n * Detect Web Worker context\r\n */\r\nfunction isWebWorker() {\r\n return (typeof WorkerGlobalScope !== 'undefined' &&\r\n typeof self !== 'undefined' &&\r\n self instanceof WorkerGlobalScope);\r\n}\r\nfunction isBrowserExtension() {\r\n const runtime = typeof chrome === 'object'\r\n ? chrome.runtime\r\n : typeof browser === 'object'\r\n ? browser.runtime\r\n : undefined;\r\n return typeof runtime === 'object' && runtime.id !== undefined;\r\n}\r\n/**\r\n * Detect React Native.\r\n *\r\n * @return true if ReactNative environment is detected.\r\n */\r\nfunction isReactNative() {\r\n return (typeof navigator === 'object' && navigator['product'] === 'ReactNative');\r\n}\r\n/** Detects Electron apps. */\r\nfunction isElectron() {\r\n return getUA().indexOf('Electron/') >= 0;\r\n}\r\n/** Detects Internet Explorer. */\r\nfunction isIE() {\r\n const ua = getUA();\r\n return ua.indexOf('MSIE ') >= 0 || ua.indexOf('Trident/') >= 0;\r\n}\r\n/** Detects Universal Windows Platform apps. */\r\nfunction isUWP() {\r\n return getUA().indexOf('MSAppHost/') >= 0;\r\n}\r\n/**\r\n * Detect whether the current SDK build is the Node version.\r\n *\r\n * @return true if it's the Node SDK build.\r\n */\r\nfunction isNodeSdk() {\r\n return CONSTANTS.NODE_CLIENT === true || CONSTANTS.NODE_ADMIN === true;\r\n}\r\n/** Returns true if we are running in Safari. */\r\nfunction isSafari() {\r\n return (!isNode() &&\r\n !!navigator.userAgent &&\r\n navigator.userAgent.includes('Safari') &&\r\n !navigator.userAgent.includes('Chrome'));\r\n}\r\n/**\r\n * This method checks if indexedDB is supported by current browser/service worker context\r\n * @return true if indexedDB is supported by current browser/service worker context\r\n */\r\nfunction isIndexedDBAvailable() {\r\n try {\r\n return typeof indexedDB === 'object';\r\n }\r\n catch (e) {\r\n return false;\r\n }\r\n}\r\n/**\r\n * This method validates browser/sw context for indexedDB by opening a dummy indexedDB database and reject\r\n * if errors occur during the database open operation.\r\n *\r\n * @throws exception if current browser/sw context can't run idb.open (ex: Safari iframe, Firefox\r\n * private browsing)\r\n */\r\nfunction validateIndexedDBOpenable() {\r\n return new Promise((resolve, reject) => {\r\n try {\r\n let preExist = true;\r\n const DB_CHECK_NAME = 'validate-browser-context-for-indexeddb-analytics-module';\r\n const request = self.indexedDB.open(DB_CHECK_NAME);\r\n request.onsuccess = () => {\r\n request.result.close();\r\n // delete database only when it doesn't pre-exist\r\n if (!preExist) {\r\n self.indexedDB.deleteDatabase(DB_CHECK_NAME);\r\n }\r\n resolve(true);\r\n };\r\n request.onupgradeneeded = () => {\r\n preExist = false;\r\n };\r\n request.onerror = () => {\r\n var _a;\r\n reject(((_a = request.error) === null || _a === void 0 ? void 0 : _a.message) || '');\r\n };\r\n }\r\n catch (error) {\r\n reject(error);\r\n }\r\n });\r\n}\r\n/**\r\n *\r\n * This method checks whether cookie is enabled within current browser\r\n * @return true if cookie is enabled within current browser\r\n */\r\nfunction areCookiesEnabled() {\r\n if (typeof navigator === 'undefined' || !navigator.cookieEnabled) {\r\n return false;\r\n }\r\n return true;\r\n}\n\n/**\r\n * @license\r\n * Copyright 2017 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n/**\r\n * @fileoverview Standardized Firebase Error.\r\n *\r\n * Usage:\r\n *\r\n * // Typescript string literals for type-safe codes\r\n * type Err =\r\n * 'unknown' |\r\n * 'object-not-found'\r\n * ;\r\n *\r\n * // Closure enum for type-safe error codes\r\n * // at-enum {string}\r\n * var Err = {\r\n * UNKNOWN: 'unknown',\r\n * OBJECT_NOT_FOUND: 'object-not-found',\r\n * }\r\n *\r\n * let errors: Map = {\r\n * 'generic-error': \"Unknown error\",\r\n * 'file-not-found': \"Could not find file: {$file}\",\r\n * };\r\n *\r\n * // Type-safe function - must pass a valid error code as param.\r\n * let error = new ErrorFactory('service', 'Service', errors);\r\n *\r\n * ...\r\n * throw error.create(Err.GENERIC);\r\n * ...\r\n * throw error.create(Err.FILE_NOT_FOUND, {'file': fileName});\r\n * ...\r\n * // Service: Could not file file: foo.txt (service/file-not-found).\r\n *\r\n * catch (e) {\r\n * assert(e.message === \"Could not find file: foo.txt.\");\r\n * if ((e as FirebaseError)?.code === 'service/file-not-found') {\r\n * console.log(\"Could not read file: \" + e['file']);\r\n * }\r\n * }\r\n */\r\nconst ERROR_NAME = 'FirebaseError';\r\n// Based on code from:\r\n// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Error#Custom_Error_Types\r\nclass FirebaseError extends Error {\r\n constructor(\r\n /** The error code for this error. */\r\n code, message, \r\n /** Custom data for this error. */\r\n customData) {\r\n super(message);\r\n this.code = code;\r\n this.customData = customData;\r\n /** The custom name for all FirebaseErrors. */\r\n this.name = ERROR_NAME;\r\n // Fix For ES5\r\n // https://github.com/Microsoft/TypeScript-wiki/blob/master/Breaking-Changes.md#extending-built-ins-like-error-array-and-map-may-no-longer-work\r\n Object.setPrototypeOf(this, FirebaseError.prototype);\r\n // Maintains proper stack trace for where our error was thrown.\r\n // Only available on V8.\r\n if (Error.captureStackTrace) {\r\n Error.captureStackTrace(this, ErrorFactory.prototype.create);\r\n }\r\n }\r\n}\r\nclass ErrorFactory {\r\n constructor(service, serviceName, errors) {\r\n this.service = service;\r\n this.serviceName = serviceName;\r\n this.errors = errors;\r\n }\r\n create(code, ...data) {\r\n const customData = data[0] || {};\r\n const fullCode = `${this.service}/${code}`;\r\n const template = this.errors[code];\r\n const message = template ? replaceTemplate(template, customData) : 'Error';\r\n // Service Name: Error message (service/code).\r\n const fullMessage = `${this.serviceName}: ${message} (${fullCode}).`;\r\n const error = new FirebaseError(fullCode, fullMessage, customData);\r\n return error;\r\n }\r\n}\r\nfunction replaceTemplate(template, data) {\r\n return template.replace(PATTERN, (_, key) => {\r\n const value = data[key];\r\n return value != null ? String(value) : `<${key}?>`;\r\n });\r\n}\r\nconst PATTERN = /\\{\\$([^}]+)}/g;\n\n/**\r\n * @license\r\n * Copyright 2017 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n/**\r\n * Evaluates a JSON string into a javascript object.\r\n *\r\n * @param {string} str A string containing JSON.\r\n * @return {*} The javascript object representing the specified JSON.\r\n */\r\nfunction jsonEval(str) {\r\n return JSON.parse(str);\r\n}\r\n/**\r\n * Returns JSON representing a javascript object.\r\n * @param {*} data Javascript object to be stringified.\r\n * @return {string} The JSON contents of the object.\r\n */\r\nfunction stringify(data) {\r\n return JSON.stringify(data);\r\n}\n\n/**\r\n * @license\r\n * Copyright 2017 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n/**\r\n * Decodes a Firebase auth. token into constituent parts.\r\n *\r\n * Notes:\r\n * - May return with invalid / incomplete claims if there's no native base64 decoding support.\r\n * - Doesn't check if the token is actually valid.\r\n */\r\nconst decode = function (token) {\r\n let header = {}, claims = {}, data = {}, signature = '';\r\n try {\r\n const parts = token.split('.');\r\n header = jsonEval(base64Decode(parts[0]) || '');\r\n claims = jsonEval(base64Decode(parts[1]) || '');\r\n signature = parts[2];\r\n data = claims['d'] || {};\r\n delete claims['d'];\r\n }\r\n catch (e) { }\r\n return {\r\n header,\r\n claims,\r\n data,\r\n signature\r\n };\r\n};\r\n/**\r\n * Decodes a Firebase auth. token and checks the validity of its time-based claims. Will return true if the\r\n * token is within the time window authorized by the 'nbf' (not-before) and 'iat' (issued-at) claims.\r\n *\r\n * Notes:\r\n * - May return a false negative if there's no native base64 decoding support.\r\n * - Doesn't check if the token is actually valid.\r\n */\r\nconst isValidTimestamp = function (token) {\r\n const claims = decode(token).claims;\r\n const now = Math.floor(new Date().getTime() / 1000);\r\n let validSince = 0, validUntil = 0;\r\n if (typeof claims === 'object') {\r\n if (claims.hasOwnProperty('nbf')) {\r\n validSince = claims['nbf'];\r\n }\r\n else if (claims.hasOwnProperty('iat')) {\r\n validSince = claims['iat'];\r\n }\r\n if (claims.hasOwnProperty('exp')) {\r\n validUntil = claims['exp'];\r\n }\r\n else {\r\n // token will expire after 24h by default\r\n validUntil = validSince + 86400;\r\n }\r\n }\r\n return (!!now &&\r\n !!validSince &&\r\n !!validUntil &&\r\n now >= validSince &&\r\n now <= validUntil);\r\n};\r\n/**\r\n * Decodes a Firebase auth. token and returns its issued at time if valid, null otherwise.\r\n *\r\n * Notes:\r\n * - May return null if there's no native base64 decoding support.\r\n * - Doesn't check if the token is actually valid.\r\n */\r\nconst issuedAtTime = function (token) {\r\n const claims = decode(token).claims;\r\n if (typeof claims === 'object' && claims.hasOwnProperty('iat')) {\r\n return claims['iat'];\r\n }\r\n return null;\r\n};\r\n/**\r\n * Decodes a Firebase auth. token and checks the validity of its format. Expects a valid issued-at time.\r\n *\r\n * Notes:\r\n * - May return a false negative if there's no native base64 decoding support.\r\n * - Doesn't check if the token is actually valid.\r\n */\r\nconst isValidFormat = function (token) {\r\n const decoded = decode(token), claims = decoded.claims;\r\n return !!claims && typeof claims === 'object' && claims.hasOwnProperty('iat');\r\n};\r\n/**\r\n * Attempts to peer into an auth token and determine if it's an admin auth token by looking at the claims portion.\r\n *\r\n * Notes:\r\n * - May return a false negative if there's no native base64 decoding support.\r\n * - Doesn't check if the token is actually valid.\r\n */\r\nconst isAdmin = function (token) {\r\n const claims = decode(token).claims;\r\n return typeof claims === 'object' && claims['admin'] === true;\r\n};\n\n/**\r\n * @license\r\n * Copyright 2017 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\nfunction contains(obj, key) {\r\n return Object.prototype.hasOwnProperty.call(obj, key);\r\n}\r\nfunction safeGet(obj, key) {\r\n if (Object.prototype.hasOwnProperty.call(obj, key)) {\r\n return obj[key];\r\n }\r\n else {\r\n return undefined;\r\n }\r\n}\r\nfunction isEmpty(obj) {\r\n for (const key in obj) {\r\n if (Object.prototype.hasOwnProperty.call(obj, key)) {\r\n return false;\r\n }\r\n }\r\n return true;\r\n}\r\nfunction map(obj, fn, contextObj) {\r\n const res = {};\r\n for (const key in obj) {\r\n if (Object.prototype.hasOwnProperty.call(obj, key)) {\r\n res[key] = fn.call(contextObj, obj[key], key, obj);\r\n }\r\n }\r\n return res;\r\n}\r\n/**\r\n * Deep equal two objects. Support Arrays and Objects.\r\n */\r\nfunction deepEqual(a, b) {\r\n if (a === b) {\r\n return true;\r\n }\r\n const aKeys = Object.keys(a);\r\n const bKeys = Object.keys(b);\r\n for (const k of aKeys) {\r\n if (!bKeys.includes(k)) {\r\n return false;\r\n }\r\n const aProp = a[k];\r\n const bProp = b[k];\r\n if (isObject(aProp) && isObject(bProp)) {\r\n if (!deepEqual(aProp, bProp)) {\r\n return false;\r\n }\r\n }\r\n else if (aProp !== bProp) {\r\n return false;\r\n }\r\n }\r\n for (const k of bKeys) {\r\n if (!aKeys.includes(k)) {\r\n return false;\r\n }\r\n }\r\n return true;\r\n}\r\nfunction isObject(thing) {\r\n return thing !== null && typeof thing === 'object';\r\n}\n\n/**\r\n * @license\r\n * Copyright 2022 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n/**\r\n * Rejects if the given promise doesn't resolve in timeInMS milliseconds.\r\n * @internal\r\n */\r\nfunction promiseWithTimeout(promise, timeInMS = 2000) {\r\n const deferredPromise = new Deferred();\r\n setTimeout(() => deferredPromise.reject('timeout!'), timeInMS);\r\n promise.then(deferredPromise.resolve, deferredPromise.reject);\r\n return deferredPromise.promise;\r\n}\n\n/**\r\n * @license\r\n * Copyright 2017 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n/**\r\n * Returns a querystring-formatted string (e.g. &arg=val&arg2=val2) from a\r\n * params object (e.g. {arg: 'val', arg2: 'val2'})\r\n * Note: You must prepend it with ? when adding it to a URL.\r\n */\r\nfunction querystring(querystringParams) {\r\n const params = [];\r\n for (const [key, value] of Object.entries(querystringParams)) {\r\n if (Array.isArray(value)) {\r\n value.forEach(arrayVal => {\r\n params.push(encodeURIComponent(key) + '=' + encodeURIComponent(arrayVal));\r\n });\r\n }\r\n else {\r\n params.push(encodeURIComponent(key) + '=' + encodeURIComponent(value));\r\n }\r\n }\r\n return params.length ? '&' + params.join('&') : '';\r\n}\r\n/**\r\n * Decodes a querystring (e.g. ?arg=val&arg2=val2) into a params object\r\n * (e.g. {arg: 'val', arg2: 'val2'})\r\n */\r\nfunction querystringDecode(querystring) {\r\n const obj = {};\r\n const tokens = querystring.replace(/^\\?/, '').split('&');\r\n tokens.forEach(token => {\r\n if (token) {\r\n const [key, value] = token.split('=');\r\n obj[decodeURIComponent(key)] = decodeURIComponent(value);\r\n }\r\n });\r\n return obj;\r\n}\r\n/**\r\n * Extract the query string part of a URL, including the leading question mark (if present).\r\n */\r\nfunction extractQuerystring(url) {\r\n const queryStart = url.indexOf('?');\r\n if (!queryStart) {\r\n return '';\r\n }\r\n const fragmentStart = url.indexOf('#', queryStart);\r\n return url.substring(queryStart, fragmentStart > 0 ? fragmentStart : undefined);\r\n}\n\n/**\r\n * @license\r\n * Copyright 2017 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n/**\r\n * @fileoverview SHA-1 cryptographic hash.\r\n * Variable names follow the notation in FIPS PUB 180-3:\r\n * http://csrc.nist.gov/publications/fips/fips180-3/fips180-3_final.pdf.\r\n *\r\n * Usage:\r\n * var sha1 = new sha1();\r\n * sha1.update(bytes);\r\n * var hash = sha1.digest();\r\n *\r\n * Performance:\r\n * Chrome 23: ~400 Mbit/s\r\n * Firefox 16: ~250 Mbit/s\r\n *\r\n */\r\n/**\r\n * SHA-1 cryptographic hash constructor.\r\n *\r\n * The properties declared here are discussed in the above algorithm document.\r\n * @constructor\r\n * @final\r\n * @struct\r\n */\r\nclass Sha1 {\r\n constructor() {\r\n /**\r\n * Holds the previous values of accumulated variables a-e in the compress_\r\n * function.\r\n * @private\r\n */\r\n this.chain_ = [];\r\n /**\r\n * A buffer holding the partially computed hash result.\r\n * @private\r\n */\r\n this.buf_ = [];\r\n /**\r\n * An array of 80 bytes, each a part of the message to be hashed. Referred to\r\n * as the message schedule in the docs.\r\n * @private\r\n */\r\n this.W_ = [];\r\n /**\r\n * Contains data needed to pad messages less than 64 bytes.\r\n * @private\r\n */\r\n this.pad_ = [];\r\n /**\r\n * @private {number}\r\n */\r\n this.inbuf_ = 0;\r\n /**\r\n * @private {number}\r\n */\r\n this.total_ = 0;\r\n this.blockSize = 512 / 8;\r\n this.pad_[0] = 128;\r\n for (let i = 1; i < this.blockSize; ++i) {\r\n this.pad_[i] = 0;\r\n }\r\n this.reset();\r\n }\r\n reset() {\r\n this.chain_[0] = 0x67452301;\r\n this.chain_[1] = 0xefcdab89;\r\n this.chain_[2] = 0x98badcfe;\r\n this.chain_[3] = 0x10325476;\r\n this.chain_[4] = 0xc3d2e1f0;\r\n this.inbuf_ = 0;\r\n this.total_ = 0;\r\n }\r\n /**\r\n * Internal compress helper function.\r\n * @param buf Block to compress.\r\n * @param offset Offset of the block in the buffer.\r\n * @private\r\n */\r\n compress_(buf, offset) {\r\n if (!offset) {\r\n offset = 0;\r\n }\r\n const W = this.W_;\r\n // get 16 big endian words\r\n if (typeof buf === 'string') {\r\n for (let i = 0; i < 16; i++) {\r\n // TODO(user): [bug 8140122] Recent versions of Safari for Mac OS and iOS\r\n // have a bug that turns the post-increment ++ operator into pre-increment\r\n // during JIT compilation. We have code that depends heavily on SHA-1 for\r\n // correctness and which is affected by this bug, so I've removed all uses\r\n // of post-increment ++ in which the result value is used. We can revert\r\n // this change once the Safari bug\r\n // (https://bugs.webkit.org/show_bug.cgi?id=109036) has been fixed and\r\n // most clients have been updated.\r\n W[i] =\r\n (buf.charCodeAt(offset) << 24) |\r\n (buf.charCodeAt(offset + 1) << 16) |\r\n (buf.charCodeAt(offset + 2) << 8) |\r\n buf.charCodeAt(offset + 3);\r\n offset += 4;\r\n }\r\n }\r\n else {\r\n for (let i = 0; i < 16; i++) {\r\n W[i] =\r\n (buf[offset] << 24) |\r\n (buf[offset + 1] << 16) |\r\n (buf[offset + 2] << 8) |\r\n buf[offset + 3];\r\n offset += 4;\r\n }\r\n }\r\n // expand to 80 words\r\n for (let i = 16; i < 80; i++) {\r\n const t = W[i - 3] ^ W[i - 8] ^ W[i - 14] ^ W[i - 16];\r\n W[i] = ((t << 1) | (t >>> 31)) & 0xffffffff;\r\n }\r\n let a = this.chain_[0];\r\n let b = this.chain_[1];\r\n let c = this.chain_[2];\r\n let d = this.chain_[3];\r\n let e = this.chain_[4];\r\n let f, k;\r\n // TODO(user): Try to unroll this loop to speed up the computation.\r\n for (let i = 0; i < 80; i++) {\r\n if (i < 40) {\r\n if (i < 20) {\r\n f = d ^ (b & (c ^ d));\r\n k = 0x5a827999;\r\n }\r\n else {\r\n f = b ^ c ^ d;\r\n k = 0x6ed9eba1;\r\n }\r\n }\r\n else {\r\n if (i < 60) {\r\n f = (b & c) | (d & (b | c));\r\n k = 0x8f1bbcdc;\r\n }\r\n else {\r\n f = b ^ c ^ d;\r\n k = 0xca62c1d6;\r\n }\r\n }\r\n const t = (((a << 5) | (a >>> 27)) + f + e + k + W[i]) & 0xffffffff;\r\n e = d;\r\n d = c;\r\n c = ((b << 30) | (b >>> 2)) & 0xffffffff;\r\n b = a;\r\n a = t;\r\n }\r\n this.chain_[0] = (this.chain_[0] + a) & 0xffffffff;\r\n this.chain_[1] = (this.chain_[1] + b) & 0xffffffff;\r\n this.chain_[2] = (this.chain_[2] + c) & 0xffffffff;\r\n this.chain_[3] = (this.chain_[3] + d) & 0xffffffff;\r\n this.chain_[4] = (this.chain_[4] + e) & 0xffffffff;\r\n }\r\n update(bytes, length) {\r\n // TODO(johnlenz): tighten the function signature and remove this check\r\n if (bytes == null) {\r\n return;\r\n }\r\n if (length === undefined) {\r\n length = bytes.length;\r\n }\r\n const lengthMinusBlock = length - this.blockSize;\r\n let n = 0;\r\n // Using local instead of member variables gives ~5% speedup on Firefox 16.\r\n const buf = this.buf_;\r\n let inbuf = this.inbuf_;\r\n // The outer while loop should execute at most twice.\r\n while (n < length) {\r\n // When we have no data in the block to top up, we can directly process the\r\n // input buffer (assuming it contains sufficient data). This gives ~25%\r\n // speedup on Chrome 23 and ~15% speedup on Firefox 16, but requires that\r\n // the data is provided in large chunks (or in multiples of 64 bytes).\r\n if (inbuf === 0) {\r\n while (n <= lengthMinusBlock) {\r\n this.compress_(bytes, n);\r\n n += this.blockSize;\r\n }\r\n }\r\n if (typeof bytes === 'string') {\r\n while (n < length) {\r\n buf[inbuf] = bytes.charCodeAt(n);\r\n ++inbuf;\r\n ++n;\r\n if (inbuf === this.blockSize) {\r\n this.compress_(buf);\r\n inbuf = 0;\r\n // Jump to the outer loop so we use the full-block optimization.\r\n break;\r\n }\r\n }\r\n }\r\n else {\r\n while (n < length) {\r\n buf[inbuf] = bytes[n];\r\n ++inbuf;\r\n ++n;\r\n if (inbuf === this.blockSize) {\r\n this.compress_(buf);\r\n inbuf = 0;\r\n // Jump to the outer loop so we use the full-block optimization.\r\n break;\r\n }\r\n }\r\n }\r\n }\r\n this.inbuf_ = inbuf;\r\n this.total_ += length;\r\n }\r\n /** @override */\r\n digest() {\r\n const digest = [];\r\n let totalBits = this.total_ * 8;\r\n // Add pad 0x80 0x00*.\r\n if (this.inbuf_ < 56) {\r\n this.update(this.pad_, 56 - this.inbuf_);\r\n }\r\n else {\r\n this.update(this.pad_, this.blockSize - (this.inbuf_ - 56));\r\n }\r\n // Add # bits.\r\n for (let i = this.blockSize - 1; i >= 56; i--) {\r\n this.buf_[i] = totalBits & 255;\r\n totalBits /= 256; // Don't use bit-shifting here!\r\n }\r\n this.compress_(this.buf_);\r\n let n = 0;\r\n for (let i = 0; i < 5; i++) {\r\n for (let j = 24; j >= 0; j -= 8) {\r\n digest[n] = (this.chain_[i] >> j) & 255;\r\n ++n;\r\n }\r\n }\r\n return digest;\r\n }\r\n}\n\n/**\r\n * Helper to make a Subscribe function (just like Promise helps make a\r\n * Thenable).\r\n *\r\n * @param executor Function which can make calls to a single Observer\r\n * as a proxy.\r\n * @param onNoObservers Callback when count of Observers goes to zero.\r\n */\r\nfunction createSubscribe(executor, onNoObservers) {\r\n const proxy = new ObserverProxy(executor, onNoObservers);\r\n return proxy.subscribe.bind(proxy);\r\n}\r\n/**\r\n * Implement fan-out for any number of Observers attached via a subscribe\r\n * function.\r\n */\r\nclass ObserverProxy {\r\n /**\r\n * @param executor Function which can make calls to a single Observer\r\n * as a proxy.\r\n * @param onNoObservers Callback when count of Observers goes to zero.\r\n */\r\n constructor(executor, onNoObservers) {\r\n this.observers = [];\r\n this.unsubscribes = [];\r\n this.observerCount = 0;\r\n // Micro-task scheduling by calling task.then().\r\n this.task = Promise.resolve();\r\n this.finalized = false;\r\n this.onNoObservers = onNoObservers;\r\n // Call the executor asynchronously so subscribers that are called\r\n // synchronously after the creation of the subscribe function\r\n // can still receive the very first value generated in the executor.\r\n this.task\r\n .then(() => {\r\n executor(this);\r\n })\r\n .catch(e => {\r\n this.error(e);\r\n });\r\n }\r\n next(value) {\r\n this.forEachObserver((observer) => {\r\n observer.next(value);\r\n });\r\n }\r\n error(error) {\r\n this.forEachObserver((observer) => {\r\n observer.error(error);\r\n });\r\n this.close(error);\r\n }\r\n complete() {\r\n this.forEachObserver((observer) => {\r\n observer.complete();\r\n });\r\n this.close();\r\n }\r\n /**\r\n * Subscribe function that can be used to add an Observer to the fan-out list.\r\n *\r\n * - We require that no event is sent to a subscriber sychronously to their\r\n * call to subscribe().\r\n */\r\n subscribe(nextOrObserver, error, complete) {\r\n let observer;\r\n if (nextOrObserver === undefined &&\r\n error === undefined &&\r\n complete === undefined) {\r\n throw new Error('Missing Observer.');\r\n }\r\n // Assemble an Observer object when passed as callback functions.\r\n if (implementsAnyMethods(nextOrObserver, [\r\n 'next',\r\n 'error',\r\n 'complete'\r\n ])) {\r\n observer = nextOrObserver;\r\n }\r\n else {\r\n observer = {\r\n next: nextOrObserver,\r\n error,\r\n complete\r\n };\r\n }\r\n if (observer.next === undefined) {\r\n observer.next = noop;\r\n }\r\n if (observer.error === undefined) {\r\n observer.error = noop;\r\n }\r\n if (observer.complete === undefined) {\r\n observer.complete = noop;\r\n }\r\n const unsub = this.unsubscribeOne.bind(this, this.observers.length);\r\n // Attempt to subscribe to a terminated Observable - we\r\n // just respond to the Observer with the final error or complete\r\n // event.\r\n if (this.finalized) {\r\n // eslint-disable-next-line @typescript-eslint/no-floating-promises\r\n this.task.then(() => {\r\n try {\r\n if (this.finalError) {\r\n observer.error(this.finalError);\r\n }\r\n else {\r\n observer.complete();\r\n }\r\n }\r\n catch (e) {\r\n // nothing\r\n }\r\n return;\r\n });\r\n }\r\n this.observers.push(observer);\r\n return unsub;\r\n }\r\n // Unsubscribe is synchronous - we guarantee that no events are sent to\r\n // any unsubscribed Observer.\r\n unsubscribeOne(i) {\r\n if (this.observers === undefined || this.observers[i] === undefined) {\r\n return;\r\n }\r\n delete this.observers[i];\r\n this.observerCount -= 1;\r\n if (this.observerCount === 0 && this.onNoObservers !== undefined) {\r\n this.onNoObservers(this);\r\n }\r\n }\r\n forEachObserver(fn) {\r\n if (this.finalized) {\r\n // Already closed by previous event....just eat the additional values.\r\n return;\r\n }\r\n // Since sendOne calls asynchronously - there is no chance that\r\n // this.observers will become undefined.\r\n for (let i = 0; i < this.observers.length; i++) {\r\n this.sendOne(i, fn);\r\n }\r\n }\r\n // Call the Observer via one of it's callback function. We are careful to\r\n // confirm that the observe has not been unsubscribed since this asynchronous\r\n // function had been queued.\r\n sendOne(i, fn) {\r\n // Execute the callback asynchronously\r\n // eslint-disable-next-line @typescript-eslint/no-floating-promises\r\n this.task.then(() => {\r\n if (this.observers !== undefined && this.observers[i] !== undefined) {\r\n try {\r\n fn(this.observers[i]);\r\n }\r\n catch (e) {\r\n // Ignore exceptions raised in Observers or missing methods of an\r\n // Observer.\r\n // Log error to console. b/31404806\r\n if (typeof console !== 'undefined' && console.error) {\r\n console.error(e);\r\n }\r\n }\r\n }\r\n });\r\n }\r\n close(err) {\r\n if (this.finalized) {\r\n return;\r\n }\r\n this.finalized = true;\r\n if (err !== undefined) {\r\n this.finalError = err;\r\n }\r\n // Proxy is no longer needed - garbage collect references\r\n // eslint-disable-next-line @typescript-eslint/no-floating-promises\r\n this.task.then(() => {\r\n this.observers = undefined;\r\n this.onNoObservers = undefined;\r\n });\r\n }\r\n}\r\n/** Turn synchronous function into one called asynchronously. */\r\n// eslint-disable-next-line @typescript-eslint/ban-types\r\nfunction async(fn, onError) {\r\n return (...args) => {\r\n Promise.resolve(true)\r\n .then(() => {\r\n fn(...args);\r\n })\r\n .catch((error) => {\r\n if (onError) {\r\n onError(error);\r\n }\r\n });\r\n };\r\n}\r\n/**\r\n * Return true if the object passed in implements any of the named methods.\r\n */\r\nfunction implementsAnyMethods(obj, methods) {\r\n if (typeof obj !== 'object' || obj === null) {\r\n return false;\r\n }\r\n for (const method of methods) {\r\n if (method in obj && typeof obj[method] === 'function') {\r\n return true;\r\n }\r\n }\r\n return false;\r\n}\r\nfunction noop() {\r\n // do nothing\r\n}\n\n/**\r\n * @license\r\n * Copyright 2017 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n/**\r\n * Check to make sure the appropriate number of arguments are provided for a public function.\r\n * Throws an error if it fails.\r\n *\r\n * @param fnName The function name\r\n * @param minCount The minimum number of arguments to allow for the function call\r\n * @param maxCount The maximum number of argument to allow for the function call\r\n * @param argCount The actual number of arguments provided.\r\n */\r\nconst validateArgCount = function (fnName, minCount, maxCount, argCount) {\r\n let argError;\r\n if (argCount < minCount) {\r\n argError = 'at least ' + minCount;\r\n }\r\n else if (argCount > maxCount) {\r\n argError = maxCount === 0 ? 'none' : 'no more than ' + maxCount;\r\n }\r\n if (argError) {\r\n const error = fnName +\r\n ' failed: Was called with ' +\r\n argCount +\r\n (argCount === 1 ? ' argument.' : ' arguments.') +\r\n ' Expects ' +\r\n argError +\r\n '.';\r\n throw new Error(error);\r\n }\r\n};\r\n/**\r\n * Generates a string to prefix an error message about failed argument validation\r\n *\r\n * @param fnName The function name\r\n * @param argName The name of the argument\r\n * @return The prefix to add to the error thrown for validation.\r\n */\r\nfunction errorPrefix(fnName, argName) {\r\n return `${fnName} failed: ${argName} argument `;\r\n}\r\n/**\r\n * @param fnName\r\n * @param argumentNumber\r\n * @param namespace\r\n * @param optional\r\n */\r\nfunction validateNamespace(fnName, namespace, optional) {\r\n if (optional && !namespace) {\r\n return;\r\n }\r\n if (typeof namespace !== 'string') {\r\n //TODO: I should do more validation here. We only allow certain chars in namespaces.\r\n throw new Error(errorPrefix(fnName, 'namespace') + 'must be a valid firebase namespace.');\r\n }\r\n}\r\nfunction validateCallback(fnName, argumentName, \r\n// eslint-disable-next-line @typescript-eslint/ban-types\r\ncallback, optional) {\r\n if (optional && !callback) {\r\n return;\r\n }\r\n if (typeof callback !== 'function') {\r\n throw new Error(errorPrefix(fnName, argumentName) + 'must be a valid function.');\r\n }\r\n}\r\nfunction validateContextObject(fnName, argumentName, context, optional) {\r\n if (optional && !context) {\r\n return;\r\n }\r\n if (typeof context !== 'object' || context === null) {\r\n throw new Error(errorPrefix(fnName, argumentName) + 'must be a valid context object.');\r\n }\r\n}\n\n/**\r\n * @license\r\n * Copyright 2017 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n// Code originally came from goog.crypt.stringToUtf8ByteArray, but for some reason they\r\n// automatically replaced '\\r\\n' with '\\n', and they didn't handle surrogate pairs,\r\n// so it's been modified.\r\n// Note that not all Unicode characters appear as single characters in JavaScript strings.\r\n// fromCharCode returns the UTF-16 encoding of a character - so some Unicode characters\r\n// use 2 characters in Javascript. All 4-byte UTF-8 characters begin with a first\r\n// character in the range 0xD800 - 0xDBFF (the first character of a so-called surrogate\r\n// pair).\r\n// See http://www.ecma-international.org/ecma-262/5.1/#sec-15.1.3\r\n/**\r\n * @param {string} str\r\n * @return {Array}\r\n */\r\nconst stringToByteArray = function (str) {\r\n const out = [];\r\n let p = 0;\r\n for (let i = 0; i < str.length; i++) {\r\n let c = str.charCodeAt(i);\r\n // Is this the lead surrogate in a surrogate pair?\r\n if (c >= 0xd800 && c <= 0xdbff) {\r\n const high = c - 0xd800; // the high 10 bits.\r\n i++;\r\n assert(i < str.length, 'Surrogate pair missing trail surrogate.');\r\n const low = str.charCodeAt(i) - 0xdc00; // the low 10 bits.\r\n c = 0x10000 + (high << 10) + low;\r\n }\r\n if (c < 128) {\r\n out[p++] = c;\r\n }\r\n else if (c < 2048) {\r\n out[p++] = (c >> 6) | 192;\r\n out[p++] = (c & 63) | 128;\r\n }\r\n else if (c < 65536) {\r\n out[p++] = (c >> 12) | 224;\r\n out[p++] = ((c >> 6) & 63) | 128;\r\n out[p++] = (c & 63) | 128;\r\n }\r\n else {\r\n out[p++] = (c >> 18) | 240;\r\n out[p++] = ((c >> 12) & 63) | 128;\r\n out[p++] = ((c >> 6) & 63) | 128;\r\n out[p++] = (c & 63) | 128;\r\n }\r\n }\r\n return out;\r\n};\r\n/**\r\n * Calculate length without actually converting; useful for doing cheaper validation.\r\n * @param {string} str\r\n * @return {number}\r\n */\r\nconst stringLength = function (str) {\r\n let p = 0;\r\n for (let i = 0; i < str.length; i++) {\r\n const c = str.charCodeAt(i);\r\n if (c < 128) {\r\n p++;\r\n }\r\n else if (c < 2048) {\r\n p += 2;\r\n }\r\n else if (c >= 0xd800 && c <= 0xdbff) {\r\n // Lead surrogate of a surrogate pair. The pair together will take 4 bytes to represent.\r\n p += 4;\r\n i++; // skip trail surrogate.\r\n }\r\n else {\r\n p += 3;\r\n }\r\n }\r\n return p;\r\n};\n\n/**\r\n * @license\r\n * Copyright 2022 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n/**\r\n * Copied from https://stackoverflow.com/a/2117523\r\n * Generates a new uuid.\r\n * @public\r\n */\r\nconst uuidv4 = function () {\r\n return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, c => {\r\n const r = (Math.random() * 16) | 0, v = c === 'x' ? r : (r & 0x3) | 0x8;\r\n return v.toString(16);\r\n });\r\n};\n\n/**\r\n * @license\r\n * Copyright 2019 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n/**\r\n * The amount of milliseconds to exponentially increase.\r\n */\r\nconst DEFAULT_INTERVAL_MILLIS = 1000;\r\n/**\r\n * The factor to backoff by.\r\n * Should be a number greater than 1.\r\n */\r\nconst DEFAULT_BACKOFF_FACTOR = 2;\r\n/**\r\n * The maximum milliseconds to increase to.\r\n *\r\n *

Visible for testing\r\n */\r\nconst MAX_VALUE_MILLIS = 4 * 60 * 60 * 1000; // Four hours, like iOS and Android.\r\n/**\r\n * The percentage of backoff time to randomize by.\r\n * See\r\n * http://go/safe-client-behavior#step-1-determine-the-appropriate-retry-interval-to-handle-spike-traffic\r\n * for context.\r\n *\r\n *

Visible for testing\r\n */\r\nconst RANDOM_FACTOR = 0.5;\r\n/**\r\n * Based on the backoff method from\r\n * https://github.com/google/closure-library/blob/master/closure/goog/math/exponentialbackoff.js.\r\n * Extracted here so we don't need to pass metadata and a stateful ExponentialBackoff object around.\r\n */\r\nfunction calculateBackoffMillis(backoffCount, intervalMillis = DEFAULT_INTERVAL_MILLIS, backoffFactor = DEFAULT_BACKOFF_FACTOR) {\r\n // Calculates an exponentially increasing value.\r\n // Deviation: calculates value from count and a constant interval, so we only need to save value\r\n // and count to restore state.\r\n const currBaseValue = intervalMillis * Math.pow(backoffFactor, backoffCount);\r\n // A random \"fuzz\" to avoid waves of retries.\r\n // Deviation: randomFactor is required.\r\n const randomWait = Math.round(\r\n // A fraction of the backoff value to add/subtract.\r\n // Deviation: changes multiplication order to improve readability.\r\n RANDOM_FACTOR *\r\n currBaseValue *\r\n // A random float (rounded to int by Math.round above) in the range [-1, 1]. Determines\r\n // if we add or subtract.\r\n (Math.random() - 0.5) *\r\n 2);\r\n // Limits backoff to max to avoid effectively permanent backoff.\r\n return Math.min(MAX_VALUE_MILLIS, currBaseValue + randomWait);\r\n}\n\n/**\r\n * @license\r\n * Copyright 2020 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n/**\r\n * Provide English ordinal letters after a number\r\n */\r\nfunction ordinal(i) {\r\n if (!Number.isFinite(i)) {\r\n return `${i}`;\r\n }\r\n return i + indicator(i);\r\n}\r\nfunction indicator(i) {\r\n i = Math.abs(i);\r\n const cent = i % 100;\r\n if (cent >= 10 && cent <= 20) {\r\n return 'th';\r\n }\r\n const dec = i % 10;\r\n if (dec === 1) {\r\n return 'st';\r\n }\r\n if (dec === 2) {\r\n return 'nd';\r\n }\r\n if (dec === 3) {\r\n return 'rd';\r\n }\r\n return 'th';\r\n}\n\n/**\r\n * @license\r\n * Copyright 2021 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\nfunction getModularInstance(service) {\r\n if (service && service._delegate) {\r\n return service._delegate;\r\n }\r\n else {\r\n return service;\r\n }\r\n}\n\nexport { CONSTANTS, DecodeBase64StringError, Deferred, ErrorFactory, FirebaseError, MAX_VALUE_MILLIS, RANDOM_FACTOR, Sha1, areCookiesEnabled, assert, assertionError, async, base64, base64Decode, base64Encode, base64urlEncodeWithoutPadding, calculateBackoffMillis, contains, createMockUserToken, createSubscribe, decode, deepCopy, deepEqual, deepExtend, errorPrefix, extractQuerystring, getDefaultAppConfig, getDefaultEmulatorHost, getDefaultEmulatorHostnameAndPort, getDefaults, getExperimentalSetting, getGlobal, getModularInstance, getUA, isAdmin, isBrowser, isBrowserExtension, isElectron, isEmpty, isIE, isIndexedDBAvailable, isMobileCordova, isNode, isNodeSdk, isReactNative, isSafari, isUWP, isValidFormat, isValidTimestamp, isWebWorker, issuedAtTime, jsonEval, map, ordinal, promiseWithTimeout, querystring, querystringDecode, safeGet, stringLength, stringToByteArray, stringify, uuidv4, validateArgCount, validateCallback, validateContextObject, validateIndexedDBOpenable, validateNamespace };\n//# sourceMappingURL=index.esm2017.js.map\n","import { Deferred } from '@firebase/util';\n\n/**\r\n * Component for service name T, e.g. `auth`, `auth-internal`\r\n */\r\nclass Component {\r\n /**\r\n *\r\n * @param name The public service name, e.g. app, auth, firestore, database\r\n * @param instanceFactory Service factory responsible for creating the public interface\r\n * @param type whether the service provided by the component is public or private\r\n */\r\n constructor(name, instanceFactory, type) {\r\n this.name = name;\r\n this.instanceFactory = instanceFactory;\r\n this.type = type;\r\n this.multipleInstances = false;\r\n /**\r\n * Properties to be added to the service namespace\r\n */\r\n this.serviceProps = {};\r\n this.instantiationMode = \"LAZY\" /* InstantiationMode.LAZY */;\r\n this.onInstanceCreated = null;\r\n }\r\n setInstantiationMode(mode) {\r\n this.instantiationMode = mode;\r\n return this;\r\n }\r\n setMultipleInstances(multipleInstances) {\r\n this.multipleInstances = multipleInstances;\r\n return this;\r\n }\r\n setServiceProps(props) {\r\n this.serviceProps = props;\r\n return this;\r\n }\r\n setInstanceCreatedCallback(callback) {\r\n this.onInstanceCreated = callback;\r\n return this;\r\n }\r\n}\n\n/**\r\n * @license\r\n * Copyright 2019 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\nconst DEFAULT_ENTRY_NAME = '[DEFAULT]';\n\n/**\r\n * @license\r\n * Copyright 2019 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n/**\r\n * Provider for instance for service name T, e.g. 'auth', 'auth-internal'\r\n * NameServiceMapping[T] is an alias for the type of the instance\r\n */\r\nclass Provider {\r\n constructor(name, container) {\r\n this.name = name;\r\n this.container = container;\r\n this.component = null;\r\n this.instances = new Map();\r\n this.instancesDeferred = new Map();\r\n this.instancesOptions = new Map();\r\n this.onInitCallbacks = new Map();\r\n }\r\n /**\r\n * @param identifier A provider can provide mulitple instances of a service\r\n * if this.component.multipleInstances is true.\r\n */\r\n get(identifier) {\r\n // if multipleInstances is not supported, use the default name\r\n const normalizedIdentifier = this.normalizeInstanceIdentifier(identifier);\r\n if (!this.instancesDeferred.has(normalizedIdentifier)) {\r\n const deferred = new Deferred();\r\n this.instancesDeferred.set(normalizedIdentifier, deferred);\r\n if (this.isInitialized(normalizedIdentifier) ||\r\n this.shouldAutoInitialize()) {\r\n // initialize the service if it can be auto-initialized\r\n try {\r\n const instance = this.getOrInitializeService({\r\n instanceIdentifier: normalizedIdentifier\r\n });\r\n if (instance) {\r\n deferred.resolve(instance);\r\n }\r\n }\r\n catch (e) {\r\n // when the instance factory throws an exception during get(), it should not cause\r\n // a fatal error. We just return the unresolved promise in this case.\r\n }\r\n }\r\n }\r\n return this.instancesDeferred.get(normalizedIdentifier).promise;\r\n }\r\n getImmediate(options) {\r\n var _a;\r\n // if multipleInstances is not supported, use the default name\r\n const normalizedIdentifier = this.normalizeInstanceIdentifier(options === null || options === void 0 ? void 0 : options.identifier);\r\n const optional = (_a = options === null || options === void 0 ? void 0 : options.optional) !== null && _a !== void 0 ? _a : false;\r\n if (this.isInitialized(normalizedIdentifier) ||\r\n this.shouldAutoInitialize()) {\r\n try {\r\n return this.getOrInitializeService({\r\n instanceIdentifier: normalizedIdentifier\r\n });\r\n }\r\n catch (e) {\r\n if (optional) {\r\n return null;\r\n }\r\n else {\r\n throw e;\r\n }\r\n }\r\n }\r\n else {\r\n // In case a component is not initialized and should/can not be auto-initialized at the moment, return null if the optional flag is set, or throw\r\n if (optional) {\r\n return null;\r\n }\r\n else {\r\n throw Error(`Service ${this.name} is not available`);\r\n }\r\n }\r\n }\r\n getComponent() {\r\n return this.component;\r\n }\r\n setComponent(component) {\r\n if (component.name !== this.name) {\r\n throw Error(`Mismatching Component ${component.name} for Provider ${this.name}.`);\r\n }\r\n if (this.component) {\r\n throw Error(`Component for ${this.name} has already been provided`);\r\n }\r\n this.component = component;\r\n // return early without attempting to initialize the component if the component requires explicit initialization (calling `Provider.initialize()`)\r\n if (!this.shouldAutoInitialize()) {\r\n return;\r\n }\r\n // if the service is eager, initialize the default instance\r\n if (isComponentEager(component)) {\r\n try {\r\n this.getOrInitializeService({ instanceIdentifier: DEFAULT_ENTRY_NAME });\r\n }\r\n catch (e) {\r\n // when the instance factory for an eager Component throws an exception during the eager\r\n // initialization, it should not cause a fatal error.\r\n // TODO: Investigate if we need to make it configurable, because some component may want to cause\r\n // a fatal error in this case?\r\n }\r\n }\r\n // Create service instances for the pending promises and resolve them\r\n // NOTE: if this.multipleInstances is false, only the default instance will be created\r\n // and all promises with resolve with it regardless of the identifier.\r\n for (const [instanceIdentifier, instanceDeferred] of this.instancesDeferred.entries()) {\r\n const normalizedIdentifier = this.normalizeInstanceIdentifier(instanceIdentifier);\r\n try {\r\n // `getOrInitializeService()` should always return a valid instance since a component is guaranteed. use ! to make typescript happy.\r\n const instance = this.getOrInitializeService({\r\n instanceIdentifier: normalizedIdentifier\r\n });\r\n instanceDeferred.resolve(instance);\r\n }\r\n catch (e) {\r\n // when the instance factory throws an exception, it should not cause\r\n // a fatal error. We just leave the promise unresolved.\r\n }\r\n }\r\n }\r\n clearInstance(identifier = DEFAULT_ENTRY_NAME) {\r\n this.instancesDeferred.delete(identifier);\r\n this.instancesOptions.delete(identifier);\r\n this.instances.delete(identifier);\r\n }\r\n // app.delete() will call this method on every provider to delete the services\r\n // TODO: should we mark the provider as deleted?\r\n async delete() {\r\n const services = Array.from(this.instances.values());\r\n await Promise.all([\r\n ...services\r\n .filter(service => 'INTERNAL' in service) // legacy services\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n .map(service => service.INTERNAL.delete()),\r\n ...services\r\n .filter(service => '_delete' in service) // modularized services\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n .map(service => service._delete())\r\n ]);\r\n }\r\n isComponentSet() {\r\n return this.component != null;\r\n }\r\n isInitialized(identifier = DEFAULT_ENTRY_NAME) {\r\n return this.instances.has(identifier);\r\n }\r\n getOptions(identifier = DEFAULT_ENTRY_NAME) {\r\n return this.instancesOptions.get(identifier) || {};\r\n }\r\n initialize(opts = {}) {\r\n const { options = {} } = opts;\r\n const normalizedIdentifier = this.normalizeInstanceIdentifier(opts.instanceIdentifier);\r\n if (this.isInitialized(normalizedIdentifier)) {\r\n throw Error(`${this.name}(${normalizedIdentifier}) has already been initialized`);\r\n }\r\n if (!this.isComponentSet()) {\r\n throw Error(`Component ${this.name} has not been registered yet`);\r\n }\r\n const instance = this.getOrInitializeService({\r\n instanceIdentifier: normalizedIdentifier,\r\n options\r\n });\r\n // resolve any pending promise waiting for the service instance\r\n for (const [instanceIdentifier, instanceDeferred] of this.instancesDeferred.entries()) {\r\n const normalizedDeferredIdentifier = this.normalizeInstanceIdentifier(instanceIdentifier);\r\n if (normalizedIdentifier === normalizedDeferredIdentifier) {\r\n instanceDeferred.resolve(instance);\r\n }\r\n }\r\n return instance;\r\n }\r\n /**\r\n *\r\n * @param callback - a function that will be invoked after the provider has been initialized by calling provider.initialize().\r\n * The function is invoked SYNCHRONOUSLY, so it should not execute any longrunning tasks in order to not block the program.\r\n *\r\n * @param identifier An optional instance identifier\r\n * @returns a function to unregister the callback\r\n */\r\n onInit(callback, identifier) {\r\n var _a;\r\n const normalizedIdentifier = this.normalizeInstanceIdentifier(identifier);\r\n const existingCallbacks = (_a = this.onInitCallbacks.get(normalizedIdentifier)) !== null && _a !== void 0 ? _a : new Set();\r\n existingCallbacks.add(callback);\r\n this.onInitCallbacks.set(normalizedIdentifier, existingCallbacks);\r\n const existingInstance = this.instances.get(normalizedIdentifier);\r\n if (existingInstance) {\r\n callback(existingInstance, normalizedIdentifier);\r\n }\r\n return () => {\r\n existingCallbacks.delete(callback);\r\n };\r\n }\r\n /**\r\n * Invoke onInit callbacks synchronously\r\n * @param instance the service instance`\r\n */\r\n invokeOnInitCallbacks(instance, identifier) {\r\n const callbacks = this.onInitCallbacks.get(identifier);\r\n if (!callbacks) {\r\n return;\r\n }\r\n for (const callback of callbacks) {\r\n try {\r\n callback(instance, identifier);\r\n }\r\n catch (_a) {\r\n // ignore errors in the onInit callback\r\n }\r\n }\r\n }\r\n getOrInitializeService({ instanceIdentifier, options = {} }) {\r\n let instance = this.instances.get(instanceIdentifier);\r\n if (!instance && this.component) {\r\n instance = this.component.instanceFactory(this.container, {\r\n instanceIdentifier: normalizeIdentifierForFactory(instanceIdentifier),\r\n options\r\n });\r\n this.instances.set(instanceIdentifier, instance);\r\n this.instancesOptions.set(instanceIdentifier, options);\r\n /**\r\n * Invoke onInit listeners.\r\n * Note this.component.onInstanceCreated is different, which is used by the component creator,\r\n * while onInit listeners are registered by consumers of the provider.\r\n */\r\n this.invokeOnInitCallbacks(instance, instanceIdentifier);\r\n /**\r\n * Order is important\r\n * onInstanceCreated() should be called after this.instances.set(instanceIdentifier, instance); which\r\n * makes `isInitialized()` return true.\r\n */\r\n if (this.component.onInstanceCreated) {\r\n try {\r\n this.component.onInstanceCreated(this.container, instanceIdentifier, instance);\r\n }\r\n catch (_a) {\r\n // ignore errors in the onInstanceCreatedCallback\r\n }\r\n }\r\n }\r\n return instance || null;\r\n }\r\n normalizeInstanceIdentifier(identifier = DEFAULT_ENTRY_NAME) {\r\n if (this.component) {\r\n return this.component.multipleInstances ? identifier : DEFAULT_ENTRY_NAME;\r\n }\r\n else {\r\n return identifier; // assume multiple instances are supported before the component is provided.\r\n }\r\n }\r\n shouldAutoInitialize() {\r\n return (!!this.component &&\r\n this.component.instantiationMode !== \"EXPLICIT\" /* InstantiationMode.EXPLICIT */);\r\n }\r\n}\r\n// undefined should be passed to the service factory for the default instance\r\nfunction normalizeIdentifierForFactory(identifier) {\r\n return identifier === DEFAULT_ENTRY_NAME ? undefined : identifier;\r\n}\r\nfunction isComponentEager(component) {\r\n return component.instantiationMode === \"EAGER\" /* InstantiationMode.EAGER */;\r\n}\n\n/**\r\n * @license\r\n * Copyright 2019 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n/**\r\n * ComponentContainer that provides Providers for service name T, e.g. `auth`, `auth-internal`\r\n */\r\nclass ComponentContainer {\r\n constructor(name) {\r\n this.name = name;\r\n this.providers = new Map();\r\n }\r\n /**\r\n *\r\n * @param component Component being added\r\n * @param overwrite When a component with the same name has already been registered,\r\n * if overwrite is true: overwrite the existing component with the new component and create a new\r\n * provider with the new component. It can be useful in tests where you want to use different mocks\r\n * for different tests.\r\n * if overwrite is false: throw an exception\r\n */\r\n addComponent(component) {\r\n const provider = this.getProvider(component.name);\r\n if (provider.isComponentSet()) {\r\n throw new Error(`Component ${component.name} has already been registered with ${this.name}`);\r\n }\r\n provider.setComponent(component);\r\n }\r\n addOrOverwriteComponent(component) {\r\n const provider = this.getProvider(component.name);\r\n if (provider.isComponentSet()) {\r\n // delete the existing provider from the container, so we can register the new component\r\n this.providers.delete(component.name);\r\n }\r\n this.addComponent(component);\r\n }\r\n /**\r\n * getProvider provides a type safe interface where it can only be called with a field name\r\n * present in NameServiceMapping interface.\r\n *\r\n * Firebase SDKs providing services should extend NameServiceMapping interface to register\r\n * themselves.\r\n */\r\n getProvider(name) {\r\n if (this.providers.has(name)) {\r\n return this.providers.get(name);\r\n }\r\n // create a Provider for a service that hasn't registered with Firebase\r\n const provider = new Provider(name, this);\r\n this.providers.set(name, provider);\r\n return provider;\r\n }\r\n getProviders() {\r\n return Array.from(this.providers.values());\r\n }\r\n}\n\nexport { Component, ComponentContainer, Provider };\n//# sourceMappingURL=index.esm2017.js.map\n","/**\r\n * @license\r\n * Copyright 2017 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n/**\r\n * A container for all of the Logger instances\r\n */\r\nconst instances = [];\r\n/**\r\n * The JS SDK supports 5 log levels and also allows a user the ability to\r\n * silence the logs altogether.\r\n *\r\n * The order is a follows:\r\n * DEBUG < VERBOSE < INFO < WARN < ERROR\r\n *\r\n * All of the log types above the current log level will be captured (i.e. if\r\n * you set the log level to `INFO`, errors will still be logged, but `DEBUG` and\r\n * `VERBOSE` logs will not)\r\n */\r\nvar LogLevel;\r\n(function (LogLevel) {\r\n LogLevel[LogLevel[\"DEBUG\"] = 0] = \"DEBUG\";\r\n LogLevel[LogLevel[\"VERBOSE\"] = 1] = \"VERBOSE\";\r\n LogLevel[LogLevel[\"INFO\"] = 2] = \"INFO\";\r\n LogLevel[LogLevel[\"WARN\"] = 3] = \"WARN\";\r\n LogLevel[LogLevel[\"ERROR\"] = 4] = \"ERROR\";\r\n LogLevel[LogLevel[\"SILENT\"] = 5] = \"SILENT\";\r\n})(LogLevel || (LogLevel = {}));\r\nconst levelStringToEnum = {\r\n 'debug': LogLevel.DEBUG,\r\n 'verbose': LogLevel.VERBOSE,\r\n 'info': LogLevel.INFO,\r\n 'warn': LogLevel.WARN,\r\n 'error': LogLevel.ERROR,\r\n 'silent': LogLevel.SILENT\r\n};\r\n/**\r\n * The default log level\r\n */\r\nconst defaultLogLevel = LogLevel.INFO;\r\n/**\r\n * By default, `console.debug` is not displayed in the developer console (in\r\n * chrome). To avoid forcing users to have to opt-in to these logs twice\r\n * (i.e. once for firebase, and once in the console), we are sending `DEBUG`\r\n * logs to the `console.log` function.\r\n */\r\nconst ConsoleMethod = {\r\n [LogLevel.DEBUG]: 'log',\r\n [LogLevel.VERBOSE]: 'log',\r\n [LogLevel.INFO]: 'info',\r\n [LogLevel.WARN]: 'warn',\r\n [LogLevel.ERROR]: 'error'\r\n};\r\n/**\r\n * The default log handler will forward DEBUG, VERBOSE, INFO, WARN, and ERROR\r\n * messages on to their corresponding console counterparts (if the log method\r\n * is supported by the current log level)\r\n */\r\nconst defaultLogHandler = (instance, logType, ...args) => {\r\n if (logType < instance.logLevel) {\r\n return;\r\n }\r\n const now = new Date().toISOString();\r\n const method = ConsoleMethod[logType];\r\n if (method) {\r\n console[method](`[${now}] ${instance.name}:`, ...args);\r\n }\r\n else {\r\n throw new Error(`Attempted to log a message with an invalid logType (value: ${logType})`);\r\n }\r\n};\r\nclass Logger {\r\n /**\r\n * Gives you an instance of a Logger to capture messages according to\r\n * Firebase's logging scheme.\r\n *\r\n * @param name The name that the logs will be associated with\r\n */\r\n constructor(name) {\r\n this.name = name;\r\n /**\r\n * The log level of the given Logger instance.\r\n */\r\n this._logLevel = defaultLogLevel;\r\n /**\r\n * The main (internal) log handler for the Logger instance.\r\n * Can be set to a new function in internal package code but not by user.\r\n */\r\n this._logHandler = defaultLogHandler;\r\n /**\r\n * The optional, additional, user-defined log handler for the Logger instance.\r\n */\r\n this._userLogHandler = null;\r\n /**\r\n * Capture the current instance for later use\r\n */\r\n instances.push(this);\r\n }\r\n get logLevel() {\r\n return this._logLevel;\r\n }\r\n set logLevel(val) {\r\n if (!(val in LogLevel)) {\r\n throw new TypeError(`Invalid value \"${val}\" assigned to \\`logLevel\\``);\r\n }\r\n this._logLevel = val;\r\n }\r\n // Workaround for setter/getter having to be the same type.\r\n setLogLevel(val) {\r\n this._logLevel = typeof val === 'string' ? levelStringToEnum[val] : val;\r\n }\r\n get logHandler() {\r\n return this._logHandler;\r\n }\r\n set logHandler(val) {\r\n if (typeof val !== 'function') {\r\n throw new TypeError('Value assigned to `logHandler` must be a function');\r\n }\r\n this._logHandler = val;\r\n }\r\n get userLogHandler() {\r\n return this._userLogHandler;\r\n }\r\n set userLogHandler(val) {\r\n this._userLogHandler = val;\r\n }\r\n /**\r\n * The functions below are all based on the `console` interface\r\n */\r\n debug(...args) {\r\n this._userLogHandler && this._userLogHandler(this, LogLevel.DEBUG, ...args);\r\n this._logHandler(this, LogLevel.DEBUG, ...args);\r\n }\r\n log(...args) {\r\n this._userLogHandler &&\r\n this._userLogHandler(this, LogLevel.VERBOSE, ...args);\r\n this._logHandler(this, LogLevel.VERBOSE, ...args);\r\n }\r\n info(...args) {\r\n this._userLogHandler && this._userLogHandler(this, LogLevel.INFO, ...args);\r\n this._logHandler(this, LogLevel.INFO, ...args);\r\n }\r\n warn(...args) {\r\n this._userLogHandler && this._userLogHandler(this, LogLevel.WARN, ...args);\r\n this._logHandler(this, LogLevel.WARN, ...args);\r\n }\r\n error(...args) {\r\n this._userLogHandler && this._userLogHandler(this, LogLevel.ERROR, ...args);\r\n this._logHandler(this, LogLevel.ERROR, ...args);\r\n }\r\n}\r\nfunction setLogLevel(level) {\r\n instances.forEach(inst => {\r\n inst.setLogLevel(level);\r\n });\r\n}\r\nfunction setUserLogHandler(logCallback, options) {\r\n for (const instance of instances) {\r\n let customLogLevel = null;\r\n if (options && options.level) {\r\n customLogLevel = levelStringToEnum[options.level];\r\n }\r\n if (logCallback === null) {\r\n instance.userLogHandler = null;\r\n }\r\n else {\r\n instance.userLogHandler = (instance, level, ...args) => {\r\n const message = args\r\n .map(arg => {\r\n if (arg == null) {\r\n return null;\r\n }\r\n else if (typeof arg === 'string') {\r\n return arg;\r\n }\r\n else if (typeof arg === 'number' || typeof arg === 'boolean') {\r\n return arg.toString();\r\n }\r\n else if (arg instanceof Error) {\r\n return arg.message;\r\n }\r\n else {\r\n try {\r\n return JSON.stringify(arg);\r\n }\r\n catch (ignored) {\r\n return null;\r\n }\r\n }\r\n })\r\n .filter(arg => arg)\r\n .join(' ');\r\n if (level >= (customLogLevel !== null && customLogLevel !== void 0 ? customLogLevel : instance.logLevel)) {\r\n logCallback({\r\n level: LogLevel[level].toLowerCase(),\r\n message,\r\n args,\r\n type: instance.name\r\n });\r\n }\r\n };\r\n }\r\n }\r\n}\n\nexport { LogLevel, Logger, setLogLevel, setUserLogHandler };\n//# sourceMappingURL=index.esm2017.js.map\n","const instanceOfAny = (object, constructors) => constructors.some((c) => object instanceof c);\n\nlet idbProxyableTypes;\nlet cursorAdvanceMethods;\n// This is a function to prevent it throwing up in node environments.\nfunction getIdbProxyableTypes() {\n return (idbProxyableTypes ||\n (idbProxyableTypes = [\n IDBDatabase,\n IDBObjectStore,\n IDBIndex,\n IDBCursor,\n IDBTransaction,\n ]));\n}\n// This is a function to prevent it throwing up in node environments.\nfunction getCursorAdvanceMethods() {\n return (cursorAdvanceMethods ||\n (cursorAdvanceMethods = [\n IDBCursor.prototype.advance,\n IDBCursor.prototype.continue,\n IDBCursor.prototype.continuePrimaryKey,\n ]));\n}\nconst cursorRequestMap = new WeakMap();\nconst transactionDoneMap = new WeakMap();\nconst transactionStoreNamesMap = new WeakMap();\nconst transformCache = new WeakMap();\nconst reverseTransformCache = new WeakMap();\nfunction promisifyRequest(request) {\n const promise = new Promise((resolve, reject) => {\n const unlisten = () => {\n request.removeEventListener('success', success);\n request.removeEventListener('error', error);\n };\n const success = () => {\n resolve(wrap(request.result));\n unlisten();\n };\n const error = () => {\n reject(request.error);\n unlisten();\n };\n request.addEventListener('success', success);\n request.addEventListener('error', error);\n });\n promise\n .then((value) => {\n // Since cursoring reuses the IDBRequest (*sigh*), we cache it for later retrieval\n // (see wrapFunction).\n if (value instanceof IDBCursor) {\n cursorRequestMap.set(value, request);\n }\n // Catching to avoid \"Uncaught Promise exceptions\"\n })\n .catch(() => { });\n // This mapping exists in reverseTransformCache but doesn't doesn't exist in transformCache. This\n // is because we create many promises from a single IDBRequest.\n reverseTransformCache.set(promise, request);\n return promise;\n}\nfunction cacheDonePromiseForTransaction(tx) {\n // Early bail if we've already created a done promise for this transaction.\n if (transactionDoneMap.has(tx))\n return;\n const done = new Promise((resolve, reject) => {\n const unlisten = () => {\n tx.removeEventListener('complete', complete);\n tx.removeEventListener('error', error);\n tx.removeEventListener('abort', error);\n };\n const complete = () => {\n resolve();\n unlisten();\n };\n const error = () => {\n reject(tx.error || new DOMException('AbortError', 'AbortError'));\n unlisten();\n };\n tx.addEventListener('complete', complete);\n tx.addEventListener('error', error);\n tx.addEventListener('abort', error);\n });\n // Cache it for later retrieval.\n transactionDoneMap.set(tx, done);\n}\nlet idbProxyTraps = {\n get(target, prop, receiver) {\n if (target instanceof IDBTransaction) {\n // Special handling for transaction.done.\n if (prop === 'done')\n return transactionDoneMap.get(target);\n // Polyfill for objectStoreNames because of Edge.\n if (prop === 'objectStoreNames') {\n return target.objectStoreNames || transactionStoreNamesMap.get(target);\n }\n // Make tx.store return the only store in the transaction, or undefined if there are many.\n if (prop === 'store') {\n return receiver.objectStoreNames[1]\n ? undefined\n : receiver.objectStore(receiver.objectStoreNames[0]);\n }\n }\n // Else transform whatever we get back.\n return wrap(target[prop]);\n },\n set(target, prop, value) {\n target[prop] = value;\n return true;\n },\n has(target, prop) {\n if (target instanceof IDBTransaction &&\n (prop === 'done' || prop === 'store')) {\n return true;\n }\n return prop in target;\n },\n};\nfunction replaceTraps(callback) {\n idbProxyTraps = callback(idbProxyTraps);\n}\nfunction wrapFunction(func) {\n // Due to expected object equality (which is enforced by the caching in `wrap`), we\n // only create one new func per func.\n // Edge doesn't support objectStoreNames (booo), so we polyfill it here.\n if (func === IDBDatabase.prototype.transaction &&\n !('objectStoreNames' in IDBTransaction.prototype)) {\n return function (storeNames, ...args) {\n const tx = func.call(unwrap(this), storeNames, ...args);\n transactionStoreNamesMap.set(tx, storeNames.sort ? storeNames.sort() : [storeNames]);\n return wrap(tx);\n };\n }\n // Cursor methods are special, as the behaviour is a little more different to standard IDB. In\n // IDB, you advance the cursor and wait for a new 'success' on the IDBRequest that gave you the\n // cursor. It's kinda like a promise that can resolve with many values. That doesn't make sense\n // with real promises, so each advance methods returns a new promise for the cursor object, or\n // undefined if the end of the cursor has been reached.\n if (getCursorAdvanceMethods().includes(func)) {\n return function (...args) {\n // Calling the original function with the proxy as 'this' causes ILLEGAL INVOCATION, so we use\n // the original object.\n func.apply(unwrap(this), args);\n return wrap(cursorRequestMap.get(this));\n };\n }\n return function (...args) {\n // Calling the original function with the proxy as 'this' causes ILLEGAL INVOCATION, so we use\n // the original object.\n return wrap(func.apply(unwrap(this), args));\n };\n}\nfunction transformCachableValue(value) {\n if (typeof value === 'function')\n return wrapFunction(value);\n // This doesn't return, it just creates a 'done' promise for the transaction,\n // which is later returned for transaction.done (see idbObjectHandler).\n if (value instanceof IDBTransaction)\n cacheDonePromiseForTransaction(value);\n if (instanceOfAny(value, getIdbProxyableTypes()))\n return new Proxy(value, idbProxyTraps);\n // Return the same value back if we're not going to transform it.\n return value;\n}\nfunction wrap(value) {\n // We sometimes generate multiple promises from a single IDBRequest (eg when cursoring), because\n // IDB is weird and a single IDBRequest can yield many responses, so these can't be cached.\n if (value instanceof IDBRequest)\n return promisifyRequest(value);\n // If we've already transformed this value before, reuse the transformed value.\n // This is faster, but it also provides object equality.\n if (transformCache.has(value))\n return transformCache.get(value);\n const newValue = transformCachableValue(value);\n // Not all types are transformed.\n // These may be primitive types, so they can't be WeakMap keys.\n if (newValue !== value) {\n transformCache.set(value, newValue);\n reverseTransformCache.set(newValue, value);\n }\n return newValue;\n}\nconst unwrap = (value) => reverseTransformCache.get(value);\n\nexport { reverseTransformCache as a, instanceOfAny as i, replaceTraps as r, unwrap as u, wrap as w };\n","import { w as wrap, r as replaceTraps } from './wrap-idb-value.js';\nexport { u as unwrap, w as wrap } from './wrap-idb-value.js';\n\n/**\n * Open a database.\n *\n * @param name Name of the database.\n * @param version Schema version.\n * @param callbacks Additional callbacks.\n */\nfunction openDB(name, version, { blocked, upgrade, blocking, terminated } = {}) {\n const request = indexedDB.open(name, version);\n const openPromise = wrap(request);\n if (upgrade) {\n request.addEventListener('upgradeneeded', (event) => {\n upgrade(wrap(request.result), event.oldVersion, event.newVersion, wrap(request.transaction), event);\n });\n }\n if (blocked) {\n request.addEventListener('blocked', (event) => blocked(\n // Casting due to https://github.com/microsoft/TypeScript-DOM-lib-generator/pull/1405\n event.oldVersion, event.newVersion, event));\n }\n openPromise\n .then((db) => {\n if (terminated)\n db.addEventListener('close', () => terminated());\n if (blocking) {\n db.addEventListener('versionchange', (event) => blocking(event.oldVersion, event.newVersion, event));\n }\n })\n .catch(() => { });\n return openPromise;\n}\n/**\n * Delete a database.\n *\n * @param name Name of the database.\n */\nfunction deleteDB(name, { blocked } = {}) {\n const request = indexedDB.deleteDatabase(name);\n if (blocked) {\n request.addEventListener('blocked', (event) => blocked(\n // Casting due to https://github.com/microsoft/TypeScript-DOM-lib-generator/pull/1405\n event.oldVersion, event));\n }\n return wrap(request).then(() => undefined);\n}\n\nconst readMethods = ['get', 'getKey', 'getAll', 'getAllKeys', 'count'];\nconst writeMethods = ['put', 'add', 'delete', 'clear'];\nconst cachedMethods = new Map();\nfunction getMethod(target, prop) {\n if (!(target instanceof IDBDatabase &&\n !(prop in target) &&\n typeof prop === 'string')) {\n return;\n }\n if (cachedMethods.get(prop))\n return cachedMethods.get(prop);\n const targetFuncName = prop.replace(/FromIndex$/, '');\n const useIndex = prop !== targetFuncName;\n const isWrite = writeMethods.includes(targetFuncName);\n if (\n // Bail if the target doesn't exist on the target. Eg, getAll isn't in Edge.\n !(targetFuncName in (useIndex ? IDBIndex : IDBObjectStore).prototype) ||\n !(isWrite || readMethods.includes(targetFuncName))) {\n return;\n }\n const method = async function (storeName, ...args) {\n // isWrite ? 'readwrite' : undefined gzipps better, but fails in Edge :(\n const tx = this.transaction(storeName, isWrite ? 'readwrite' : 'readonly');\n let target = tx.store;\n if (useIndex)\n target = target.index(args.shift());\n // Must reject if op rejects.\n // If it's a write operation, must reject if tx.done rejects.\n // Must reject with op rejection first.\n // Must resolve with op value.\n // Must handle both promises (no unhandled rejections)\n return (await Promise.all([\n target[targetFuncName](...args),\n isWrite && tx.done,\n ]))[0];\n };\n cachedMethods.set(prop, method);\n return method;\n}\nreplaceTraps((oldTraps) => ({\n ...oldTraps,\n get: (target, prop, receiver) => getMethod(target, prop) || oldTraps.get(target, prop, receiver),\n has: (target, prop) => !!getMethod(target, prop) || oldTraps.has(target, prop),\n}));\n\nexport { deleteDB, openDB };\n","import { Component, ComponentContainer } from '@firebase/component';\nimport { Logger, setUserLogHandler, setLogLevel as setLogLevel$1 } from '@firebase/logger';\nimport { ErrorFactory, getDefaultAppConfig, deepEqual, isBrowser, isWebWorker, FirebaseError, base64urlEncodeWithoutPadding, isIndexedDBAvailable, validateIndexedDBOpenable } from '@firebase/util';\nexport { FirebaseError } from '@firebase/util';\nimport { openDB } from 'idb';\n\n/**\r\n * @license\r\n * Copyright 2019 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\nclass PlatformLoggerServiceImpl {\r\n constructor(container) {\r\n this.container = container;\r\n }\r\n // In initial implementation, this will be called by installations on\r\n // auth token refresh, and installations will send this string.\r\n getPlatformInfoString() {\r\n const providers = this.container.getProviders();\r\n // Loop through providers and get library/version pairs from any that are\r\n // version components.\r\n return providers\r\n .map(provider => {\r\n if (isVersionServiceProvider(provider)) {\r\n const service = provider.getImmediate();\r\n return `${service.library}/${service.version}`;\r\n }\r\n else {\r\n return null;\r\n }\r\n })\r\n .filter(logString => logString)\r\n .join(' ');\r\n }\r\n}\r\n/**\r\n *\r\n * @param provider check if this provider provides a VersionService\r\n *\r\n * NOTE: Using Provider<'app-version'> is a hack to indicate that the provider\r\n * provides VersionService. The provider is not necessarily a 'app-version'\r\n * provider.\r\n */\r\nfunction isVersionServiceProvider(provider) {\r\n const component = provider.getComponent();\r\n return (component === null || component === void 0 ? void 0 : component.type) === \"VERSION\" /* ComponentType.VERSION */;\r\n}\n\nconst name$p = \"@firebase/app\";\nconst version$1 = \"0.10.7\";\n\n/**\r\n * @license\r\n * Copyright 2019 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\nconst logger = new Logger('@firebase/app');\n\nconst name$o = \"@firebase/app-compat\";\n\nconst name$n = \"@firebase/analytics-compat\";\n\nconst name$m = \"@firebase/analytics\";\n\nconst name$l = \"@firebase/app-check-compat\";\n\nconst name$k = \"@firebase/app-check\";\n\nconst name$j = \"@firebase/auth\";\n\nconst name$i = \"@firebase/auth-compat\";\n\nconst name$h = \"@firebase/database\";\n\nconst name$g = \"@firebase/database-compat\";\n\nconst name$f = \"@firebase/functions\";\n\nconst name$e = \"@firebase/functions-compat\";\n\nconst name$d = \"@firebase/installations\";\n\nconst name$c = \"@firebase/installations-compat\";\n\nconst name$b = \"@firebase/messaging\";\n\nconst name$a = \"@firebase/messaging-compat\";\n\nconst name$9 = \"@firebase/performance\";\n\nconst name$8 = \"@firebase/performance-compat\";\n\nconst name$7 = \"@firebase/remote-config\";\n\nconst name$6 = \"@firebase/remote-config-compat\";\n\nconst name$5 = \"@firebase/storage\";\n\nconst name$4 = \"@firebase/storage-compat\";\n\nconst name$3 = \"@firebase/firestore\";\n\nconst name$2 = \"@firebase/vertexai-preview\";\n\nconst name$1 = \"@firebase/firestore-compat\";\n\nconst name = \"firebase\";\nconst version = \"10.12.4\";\n\n/**\r\n * @license\r\n * Copyright 2019 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n/**\r\n * The default app name\r\n *\r\n * @internal\r\n */\r\nconst DEFAULT_ENTRY_NAME = '[DEFAULT]';\r\nconst PLATFORM_LOG_STRING = {\r\n [name$p]: 'fire-core',\r\n [name$o]: 'fire-core-compat',\r\n [name$m]: 'fire-analytics',\r\n [name$n]: 'fire-analytics-compat',\r\n [name$k]: 'fire-app-check',\r\n [name$l]: 'fire-app-check-compat',\r\n [name$j]: 'fire-auth',\r\n [name$i]: 'fire-auth-compat',\r\n [name$h]: 'fire-rtdb',\r\n [name$g]: 'fire-rtdb-compat',\r\n [name$f]: 'fire-fn',\r\n [name$e]: 'fire-fn-compat',\r\n [name$d]: 'fire-iid',\r\n [name$c]: 'fire-iid-compat',\r\n [name$b]: 'fire-fcm',\r\n [name$a]: 'fire-fcm-compat',\r\n [name$9]: 'fire-perf',\r\n [name$8]: 'fire-perf-compat',\r\n [name$7]: 'fire-rc',\r\n [name$6]: 'fire-rc-compat',\r\n [name$5]: 'fire-gcs',\r\n [name$4]: 'fire-gcs-compat',\r\n [name$3]: 'fire-fst',\r\n [name$1]: 'fire-fst-compat',\r\n [name$2]: 'fire-vertex',\r\n 'fire-js': 'fire-js',\r\n [name]: 'fire-js-all'\r\n};\n\n/**\r\n * @license\r\n * Copyright 2019 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n/**\r\n * @internal\r\n */\r\nconst _apps = new Map();\r\n/**\r\n * @internal\r\n */\r\nconst _serverApps = new Map();\r\n/**\r\n * Registered components.\r\n *\r\n * @internal\r\n */\r\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\r\nconst _components = new Map();\r\n/**\r\n * @param component - the component being added to this app's container\r\n *\r\n * @internal\r\n */\r\nfunction _addComponent(app, component) {\r\n try {\r\n app.container.addComponent(component);\r\n }\r\n catch (e) {\r\n logger.debug(`Component ${component.name} failed to register with FirebaseApp ${app.name}`, e);\r\n }\r\n}\r\n/**\r\n *\r\n * @internal\r\n */\r\nfunction _addOrOverwriteComponent(app, component) {\r\n app.container.addOrOverwriteComponent(component);\r\n}\r\n/**\r\n *\r\n * @param component - the component to register\r\n * @returns whether or not the component is registered successfully\r\n *\r\n * @internal\r\n */\r\nfunction _registerComponent(component) {\r\n const componentName = component.name;\r\n if (_components.has(componentName)) {\r\n logger.debug(`There were multiple attempts to register component ${componentName}.`);\r\n return false;\r\n }\r\n _components.set(componentName, component);\r\n // add the component to existing app instances\r\n for (const app of _apps.values()) {\r\n _addComponent(app, component);\r\n }\r\n for (const serverApp of _serverApps.values()) {\r\n _addComponent(serverApp, component);\r\n }\r\n return true;\r\n}\r\n/**\r\n *\r\n * @param app - FirebaseApp instance\r\n * @param name - service name\r\n *\r\n * @returns the provider for the service with the matching name\r\n *\r\n * @internal\r\n */\r\nfunction _getProvider(app, name) {\r\n const heartbeatController = app.container\r\n .getProvider('heartbeat')\r\n .getImmediate({ optional: true });\r\n if (heartbeatController) {\r\n void heartbeatController.triggerHeartbeat();\r\n }\r\n return app.container.getProvider(name);\r\n}\r\n/**\r\n *\r\n * @param app - FirebaseApp instance\r\n * @param name - service name\r\n * @param instanceIdentifier - service instance identifier in case the service supports multiple instances\r\n *\r\n * @internal\r\n */\r\nfunction _removeServiceInstance(app, name, instanceIdentifier = DEFAULT_ENTRY_NAME) {\r\n _getProvider(app, name).clearInstance(instanceIdentifier);\r\n}\r\n/**\r\n *\r\n * @param obj - an object of type FirebaseApp or FirebaseOptions.\r\n *\r\n * @returns true if the provide object is of type FirebaseApp.\r\n *\r\n * @internal\r\n */\r\nfunction _isFirebaseApp(obj) {\r\n return obj.options !== undefined;\r\n}\r\n/**\r\n *\r\n * @param obj - an object of type FirebaseApp.\r\n *\r\n * @returns true if the provided object is of type FirebaseServerAppImpl.\r\n *\r\n * @internal\r\n */\r\nfunction _isFirebaseServerApp(obj) {\r\n return obj.settings !== undefined;\r\n}\r\n/**\r\n * Test only\r\n *\r\n * @internal\r\n */\r\nfunction _clearComponents() {\r\n _components.clear();\r\n}\n\n/**\r\n * @license\r\n * Copyright 2019 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\nconst ERRORS = {\r\n [\"no-app\" /* AppError.NO_APP */]: \"No Firebase App '{$appName}' has been created - \" +\r\n 'call initializeApp() first',\r\n [\"bad-app-name\" /* AppError.BAD_APP_NAME */]: \"Illegal App name: '{$appName}'\",\r\n [\"duplicate-app\" /* AppError.DUPLICATE_APP */]: \"Firebase App named '{$appName}' already exists with different options or config\",\r\n [\"app-deleted\" /* AppError.APP_DELETED */]: \"Firebase App named '{$appName}' already deleted\",\r\n [\"server-app-deleted\" /* AppError.SERVER_APP_DELETED */]: 'Firebase Server App has been deleted',\r\n [\"no-options\" /* AppError.NO_OPTIONS */]: 'Need to provide options, when not being deployed to hosting via source.',\r\n [\"invalid-app-argument\" /* AppError.INVALID_APP_ARGUMENT */]: 'firebase.{$appName}() takes either no argument or a ' +\r\n 'Firebase App instance.',\r\n [\"invalid-log-argument\" /* AppError.INVALID_LOG_ARGUMENT */]: 'First argument to `onLog` must be null or a function.',\r\n [\"idb-open\" /* AppError.IDB_OPEN */]: 'Error thrown when opening IndexedDB. Original error: {$originalErrorMessage}.',\r\n [\"idb-get\" /* AppError.IDB_GET */]: 'Error thrown when reading from IndexedDB. Original error: {$originalErrorMessage}.',\r\n [\"idb-set\" /* AppError.IDB_WRITE */]: 'Error thrown when writing to IndexedDB. Original error: {$originalErrorMessage}.',\r\n [\"idb-delete\" /* AppError.IDB_DELETE */]: 'Error thrown when deleting from IndexedDB. Original error: {$originalErrorMessage}.',\r\n [\"finalization-registry-not-supported\" /* AppError.FINALIZATION_REGISTRY_NOT_SUPPORTED */]: 'FirebaseServerApp deleteOnDeref field defined but the JS runtime does not support FinalizationRegistry.',\r\n [\"invalid-server-app-environment\" /* AppError.INVALID_SERVER_APP_ENVIRONMENT */]: 'FirebaseServerApp is not for use in browser environments.'\r\n};\r\nconst ERROR_FACTORY = new ErrorFactory('app', 'Firebase', ERRORS);\n\n/**\r\n * @license\r\n * Copyright 2019 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\nclass FirebaseAppImpl {\r\n constructor(options, config, container) {\r\n this._isDeleted = false;\r\n this._options = Object.assign({}, options);\r\n this._config = Object.assign({}, config);\r\n this._name = config.name;\r\n this._automaticDataCollectionEnabled =\r\n config.automaticDataCollectionEnabled;\r\n this._container = container;\r\n this.container.addComponent(new Component('app', () => this, \"PUBLIC\" /* ComponentType.PUBLIC */));\r\n }\r\n get automaticDataCollectionEnabled() {\r\n this.checkDestroyed();\r\n return this._automaticDataCollectionEnabled;\r\n }\r\n set automaticDataCollectionEnabled(val) {\r\n this.checkDestroyed();\r\n this._automaticDataCollectionEnabled = val;\r\n }\r\n get name() {\r\n this.checkDestroyed();\r\n return this._name;\r\n }\r\n get options() {\r\n this.checkDestroyed();\r\n return this._options;\r\n }\r\n get config() {\r\n this.checkDestroyed();\r\n return this._config;\r\n }\r\n get container() {\r\n return this._container;\r\n }\r\n get isDeleted() {\r\n return this._isDeleted;\r\n }\r\n set isDeleted(val) {\r\n this._isDeleted = val;\r\n }\r\n /**\r\n * This function will throw an Error if the App has already been deleted -\r\n * use before performing API actions on the App.\r\n */\r\n checkDestroyed() {\r\n if (this.isDeleted) {\r\n throw ERROR_FACTORY.create(\"app-deleted\" /* AppError.APP_DELETED */, { appName: this._name });\r\n }\r\n }\r\n}\n\n/**\r\n * @license\r\n * Copyright 2023 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\nclass FirebaseServerAppImpl extends FirebaseAppImpl {\r\n constructor(options, serverConfig, name, container) {\r\n // Build configuration parameters for the FirebaseAppImpl base class.\r\n const automaticDataCollectionEnabled = serverConfig.automaticDataCollectionEnabled !== undefined\r\n ? serverConfig.automaticDataCollectionEnabled\r\n : false;\r\n // Create the FirebaseAppSettings object for the FirebaseAppImp constructor.\r\n const config = {\r\n name,\r\n automaticDataCollectionEnabled\r\n };\r\n if (options.apiKey !== undefined) {\r\n // Construct the parent FirebaseAppImp object.\r\n super(options, config, container);\r\n }\r\n else {\r\n const appImpl = options;\r\n super(appImpl.options, config, container);\r\n }\r\n // Now construct the data for the FirebaseServerAppImpl.\r\n this._serverConfig = Object.assign({ automaticDataCollectionEnabled }, serverConfig);\r\n this._finalizationRegistry = null;\r\n if (typeof FinalizationRegistry !== 'undefined') {\r\n this._finalizationRegistry = new FinalizationRegistry(() => {\r\n this.automaticCleanup();\r\n });\r\n }\r\n this._refCount = 0;\r\n this.incRefCount(this._serverConfig.releaseOnDeref);\r\n // Do not retain a hard reference to the dref object, otherwise the FinalizationRegisry\r\n // will never trigger.\r\n this._serverConfig.releaseOnDeref = undefined;\r\n serverConfig.releaseOnDeref = undefined;\r\n registerVersion(name$p, version$1, 'serverapp');\r\n }\r\n toJSON() {\r\n return undefined;\r\n }\r\n get refCount() {\r\n return this._refCount;\r\n }\r\n // Increment the reference count of this server app. If an object is provided, register it\r\n // with the finalization registry.\r\n incRefCount(obj) {\r\n if (this.isDeleted) {\r\n return;\r\n }\r\n this._refCount++;\r\n if (obj !== undefined && this._finalizationRegistry !== null) {\r\n this._finalizationRegistry.register(obj, this);\r\n }\r\n }\r\n // Decrement the reference count.\r\n decRefCount() {\r\n if (this.isDeleted) {\r\n return 0;\r\n }\r\n return --this._refCount;\r\n }\r\n // Invoked by the FinalizationRegistry callback to note that this app should go through its\r\n // reference counts and delete itself if no reference count remain. The coordinating logic that\r\n // handles this is in deleteApp(...).\r\n automaticCleanup() {\r\n void deleteApp(this);\r\n }\r\n get settings() {\r\n this.checkDestroyed();\r\n return this._serverConfig;\r\n }\r\n /**\r\n * This function will throw an Error if the App has already been deleted -\r\n * use before performing API actions on the App.\r\n */\r\n checkDestroyed() {\r\n if (this.isDeleted) {\r\n throw ERROR_FACTORY.create(\"server-app-deleted\" /* AppError.SERVER_APP_DELETED */);\r\n }\r\n }\r\n}\n\n/**\r\n * @license\r\n * Copyright 2019 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n/**\r\n * The current SDK version.\r\n *\r\n * @public\r\n */\r\nconst SDK_VERSION = version;\r\nfunction initializeApp(_options, rawConfig = {}) {\r\n let options = _options;\r\n if (typeof rawConfig !== 'object') {\r\n const name = rawConfig;\r\n rawConfig = { name };\r\n }\r\n const config = Object.assign({ name: DEFAULT_ENTRY_NAME, automaticDataCollectionEnabled: false }, rawConfig);\r\n const name = config.name;\r\n if (typeof name !== 'string' || !name) {\r\n throw ERROR_FACTORY.create(\"bad-app-name\" /* AppError.BAD_APP_NAME */, {\r\n appName: String(name)\r\n });\r\n }\r\n options || (options = getDefaultAppConfig());\r\n if (!options) {\r\n throw ERROR_FACTORY.create(\"no-options\" /* AppError.NO_OPTIONS */);\r\n }\r\n const existingApp = _apps.get(name);\r\n if (existingApp) {\r\n // return the existing app if options and config deep equal the ones in the existing app.\r\n if (deepEqual(options, existingApp.options) &&\r\n deepEqual(config, existingApp.config)) {\r\n return existingApp;\r\n }\r\n else {\r\n throw ERROR_FACTORY.create(\"duplicate-app\" /* AppError.DUPLICATE_APP */, { appName: name });\r\n }\r\n }\r\n const container = new ComponentContainer(name);\r\n for (const component of _components.values()) {\r\n container.addComponent(component);\r\n }\r\n const newApp = new FirebaseAppImpl(options, config, container);\r\n _apps.set(name, newApp);\r\n return newApp;\r\n}\r\nfunction initializeServerApp(_options, _serverAppConfig) {\r\n if (isBrowser() && !isWebWorker()) {\r\n // FirebaseServerApp isn't designed to be run in browsers.\r\n throw ERROR_FACTORY.create(\"invalid-server-app-environment\" /* AppError.INVALID_SERVER_APP_ENVIRONMENT */);\r\n }\r\n if (_serverAppConfig.automaticDataCollectionEnabled === undefined) {\r\n _serverAppConfig.automaticDataCollectionEnabled = false;\r\n }\r\n let appOptions;\r\n if (_isFirebaseApp(_options)) {\r\n appOptions = _options.options;\r\n }\r\n else {\r\n appOptions = _options;\r\n }\r\n // Build an app name based on a hash of the configuration options.\r\n const nameObj = Object.assign(Object.assign({}, _serverAppConfig), appOptions);\r\n // However, Do not mangle the name based on releaseOnDeref, since it will vary between the\r\n // construction of FirebaseServerApp instances. For example, if the object is the request headers.\r\n if (nameObj.releaseOnDeref !== undefined) {\r\n delete nameObj.releaseOnDeref;\r\n }\r\n const hashCode = (s) => {\r\n return [...s].reduce((hash, c) => (Math.imul(31, hash) + c.charCodeAt(0)) | 0, 0);\r\n };\r\n if (_serverAppConfig.releaseOnDeref !== undefined) {\r\n if (typeof FinalizationRegistry === 'undefined') {\r\n throw ERROR_FACTORY.create(\"finalization-registry-not-supported\" /* AppError.FINALIZATION_REGISTRY_NOT_SUPPORTED */, {});\r\n }\r\n }\r\n const nameString = '' + hashCode(JSON.stringify(nameObj));\r\n const existingApp = _serverApps.get(nameString);\r\n if (existingApp) {\r\n existingApp.incRefCount(_serverAppConfig.releaseOnDeref);\r\n return existingApp;\r\n }\r\n const container = new ComponentContainer(nameString);\r\n for (const component of _components.values()) {\r\n container.addComponent(component);\r\n }\r\n const newApp = new FirebaseServerAppImpl(appOptions, _serverAppConfig, nameString, container);\r\n _serverApps.set(nameString, newApp);\r\n return newApp;\r\n}\r\n/**\r\n * Retrieves a {@link @firebase/app#FirebaseApp} instance.\r\n *\r\n * When called with no arguments, the default app is returned. When an app name\r\n * is provided, the app corresponding to that name is returned.\r\n *\r\n * An exception is thrown if the app being retrieved has not yet been\r\n * initialized.\r\n *\r\n * @example\r\n * ```javascript\r\n * // Return the default app\r\n * const app = getApp();\r\n * ```\r\n *\r\n * @example\r\n * ```javascript\r\n * // Return a named app\r\n * const otherApp = getApp(\"otherApp\");\r\n * ```\r\n *\r\n * @param name - Optional name of the app to return. If no name is\r\n * provided, the default is `\"[DEFAULT]\"`.\r\n *\r\n * @returns The app corresponding to the provided app name.\r\n * If no app name is provided, the default app is returned.\r\n *\r\n * @public\r\n */\r\nfunction getApp(name = DEFAULT_ENTRY_NAME) {\r\n const app = _apps.get(name);\r\n if (!app && name === DEFAULT_ENTRY_NAME && getDefaultAppConfig()) {\r\n return initializeApp();\r\n }\r\n if (!app) {\r\n throw ERROR_FACTORY.create(\"no-app\" /* AppError.NO_APP */, { appName: name });\r\n }\r\n return app;\r\n}\r\n/**\r\n * A (read-only) array of all initialized apps.\r\n * @public\r\n */\r\nfunction getApps() {\r\n return Array.from(_apps.values());\r\n}\r\n/**\r\n * Renders this app unusable and frees the resources of all associated\r\n * services.\r\n *\r\n * @example\r\n * ```javascript\r\n * deleteApp(app)\r\n * .then(function() {\r\n * console.log(\"App deleted successfully\");\r\n * })\r\n * .catch(function(error) {\r\n * console.log(\"Error deleting app:\", error);\r\n * });\r\n * ```\r\n *\r\n * @public\r\n */\r\nasync function deleteApp(app) {\r\n let cleanupProviders = false;\r\n const name = app.name;\r\n if (_apps.has(name)) {\r\n cleanupProviders = true;\r\n _apps.delete(name);\r\n }\r\n else if (_serverApps.has(name)) {\r\n const firebaseServerApp = app;\r\n if (firebaseServerApp.decRefCount() <= 0) {\r\n _serverApps.delete(name);\r\n cleanupProviders = true;\r\n }\r\n }\r\n if (cleanupProviders) {\r\n await Promise.all(app.container\r\n .getProviders()\r\n .map(provider => provider.delete()));\r\n app.isDeleted = true;\r\n }\r\n}\r\n/**\r\n * Registers a library's name and version for platform logging purposes.\r\n * @param library - Name of 1p or 3p library (e.g. firestore, angularfire)\r\n * @param version - Current version of that library.\r\n * @param variant - Bundle variant, e.g., node, rn, etc.\r\n *\r\n * @public\r\n */\r\nfunction registerVersion(libraryKeyOrName, version, variant) {\r\n var _a;\r\n // TODO: We can use this check to whitelist strings when/if we set up\r\n // a good whitelist system.\r\n let library = (_a = PLATFORM_LOG_STRING[libraryKeyOrName]) !== null && _a !== void 0 ? _a : libraryKeyOrName;\r\n if (variant) {\r\n library += `-${variant}`;\r\n }\r\n const libraryMismatch = library.match(/\\s|\\//);\r\n const versionMismatch = version.match(/\\s|\\//);\r\n if (libraryMismatch || versionMismatch) {\r\n const warning = [\r\n `Unable to register library \"${library}\" with version \"${version}\":`\r\n ];\r\n if (libraryMismatch) {\r\n warning.push(`library name \"${library}\" contains illegal characters (whitespace or \"/\")`);\r\n }\r\n if (libraryMismatch && versionMismatch) {\r\n warning.push('and');\r\n }\r\n if (versionMismatch) {\r\n warning.push(`version name \"${version}\" contains illegal characters (whitespace or \"/\")`);\r\n }\r\n logger.warn(warning.join(' '));\r\n return;\r\n }\r\n _registerComponent(new Component(`${library}-version`, () => ({ library, version }), \"VERSION\" /* ComponentType.VERSION */));\r\n}\r\n/**\r\n * Sets log handler for all Firebase SDKs.\r\n * @param logCallback - An optional custom log handler that executes user code whenever\r\n * the Firebase SDK makes a logging call.\r\n *\r\n * @public\r\n */\r\nfunction onLog(logCallback, options) {\r\n if (logCallback !== null && typeof logCallback !== 'function') {\r\n throw ERROR_FACTORY.create(\"invalid-log-argument\" /* AppError.INVALID_LOG_ARGUMENT */);\r\n }\r\n setUserLogHandler(logCallback, options);\r\n}\r\n/**\r\n * Sets log level for all Firebase SDKs.\r\n *\r\n * All of the log types above the current log level are captured (i.e. if\r\n * you set the log level to `info`, errors are logged, but `debug` and\r\n * `verbose` logs are not).\r\n *\r\n * @public\r\n */\r\nfunction setLogLevel(logLevel) {\r\n setLogLevel$1(logLevel);\r\n}\n\n/**\r\n * @license\r\n * Copyright 2021 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\nconst DB_NAME = 'firebase-heartbeat-database';\r\nconst DB_VERSION = 1;\r\nconst STORE_NAME = 'firebase-heartbeat-store';\r\nlet dbPromise = null;\r\nfunction getDbPromise() {\r\n if (!dbPromise) {\r\n dbPromise = openDB(DB_NAME, DB_VERSION, {\r\n upgrade: (db, oldVersion) => {\r\n // We don't use 'break' in this switch statement, the fall-through\r\n // behavior is what we want, because if there are multiple versions between\r\n // the old version and the current version, we want ALL the migrations\r\n // that correspond to those versions to run, not only the last one.\r\n // eslint-disable-next-line default-case\r\n switch (oldVersion) {\r\n case 0:\r\n try {\r\n db.createObjectStore(STORE_NAME);\r\n }\r\n catch (e) {\r\n // Safari/iOS browsers throw occasional exceptions on\r\n // db.createObjectStore() that may be a bug. Avoid blocking\r\n // the rest of the app functionality.\r\n console.warn(e);\r\n }\r\n }\r\n }\r\n }).catch(e => {\r\n throw ERROR_FACTORY.create(\"idb-open\" /* AppError.IDB_OPEN */, {\r\n originalErrorMessage: e.message\r\n });\r\n });\r\n }\r\n return dbPromise;\r\n}\r\nasync function readHeartbeatsFromIndexedDB(app) {\r\n try {\r\n const db = await getDbPromise();\r\n const tx = db.transaction(STORE_NAME);\r\n const result = await tx.objectStore(STORE_NAME).get(computeKey(app));\r\n // We already have the value but tx.done can throw,\r\n // so we need to await it here to catch errors\r\n await tx.done;\r\n return result;\r\n }\r\n catch (e) {\r\n if (e instanceof FirebaseError) {\r\n logger.warn(e.message);\r\n }\r\n else {\r\n const idbGetError = ERROR_FACTORY.create(\"idb-get\" /* AppError.IDB_GET */, {\r\n originalErrorMessage: e === null || e === void 0 ? void 0 : e.message\r\n });\r\n logger.warn(idbGetError.message);\r\n }\r\n }\r\n}\r\nasync function writeHeartbeatsToIndexedDB(app, heartbeatObject) {\r\n try {\r\n const db = await getDbPromise();\r\n const tx = db.transaction(STORE_NAME, 'readwrite');\r\n const objectStore = tx.objectStore(STORE_NAME);\r\n await objectStore.put(heartbeatObject, computeKey(app));\r\n await tx.done;\r\n }\r\n catch (e) {\r\n if (e instanceof FirebaseError) {\r\n logger.warn(e.message);\r\n }\r\n else {\r\n const idbGetError = ERROR_FACTORY.create(\"idb-set\" /* AppError.IDB_WRITE */, {\r\n originalErrorMessage: e === null || e === void 0 ? void 0 : e.message\r\n });\r\n logger.warn(idbGetError.message);\r\n }\r\n }\r\n}\r\nfunction computeKey(app) {\r\n return `${app.name}!${app.options.appId}`;\r\n}\n\n/**\r\n * @license\r\n * Copyright 2021 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\nconst MAX_HEADER_BYTES = 1024;\r\n// 30 days\r\nconst STORED_HEARTBEAT_RETENTION_MAX_MILLIS = 30 * 24 * 60 * 60 * 1000;\r\nclass HeartbeatServiceImpl {\r\n constructor(container) {\r\n this.container = container;\r\n /**\r\n * In-memory cache for heartbeats, used by getHeartbeatsHeader() to generate\r\n * the header string.\r\n * Stores one record per date. This will be consolidated into the standard\r\n * format of one record per user agent string before being sent as a header.\r\n * Populated from indexedDB when the controller is instantiated and should\r\n * be kept in sync with indexedDB.\r\n * Leave public for easier testing.\r\n */\r\n this._heartbeatsCache = null;\r\n const app = this.container.getProvider('app').getImmediate();\r\n this._storage = new HeartbeatStorageImpl(app);\r\n this._heartbeatsCachePromise = this._storage.read().then(result => {\r\n this._heartbeatsCache = result;\r\n return result;\r\n });\r\n }\r\n /**\r\n * Called to report a heartbeat. The function will generate\r\n * a HeartbeatsByUserAgent object, update heartbeatsCache, and persist it\r\n * to IndexedDB.\r\n * Note that we only store one heartbeat per day. So if a heartbeat for today is\r\n * already logged, subsequent calls to this function in the same day will be ignored.\r\n */\r\n async triggerHeartbeat() {\r\n var _a, _b;\r\n const platformLogger = this.container\r\n .getProvider('platform-logger')\r\n .getImmediate();\r\n // This is the \"Firebase user agent\" string from the platform logger\r\n // service, not the browser user agent.\r\n const agent = platformLogger.getPlatformInfoString();\r\n const date = getUTCDateString();\r\n if (((_a = this._heartbeatsCache) === null || _a === void 0 ? void 0 : _a.heartbeats) == null) {\r\n this._heartbeatsCache = await this._heartbeatsCachePromise;\r\n // If we failed to construct a heartbeats cache, then return immediately.\r\n if (((_b = this._heartbeatsCache) === null || _b === void 0 ? void 0 : _b.heartbeats) == null) {\r\n return;\r\n }\r\n }\r\n // Do not store a heartbeat if one is already stored for this day\r\n // or if a header has already been sent today.\r\n if (this._heartbeatsCache.lastSentHeartbeatDate === date ||\r\n this._heartbeatsCache.heartbeats.some(singleDateHeartbeat => singleDateHeartbeat.date === date)) {\r\n return;\r\n }\r\n else {\r\n // There is no entry for this date. Create one.\r\n this._heartbeatsCache.heartbeats.push({ date, agent });\r\n }\r\n // Remove entries older than 30 days.\r\n this._heartbeatsCache.heartbeats = this._heartbeatsCache.heartbeats.filter(singleDateHeartbeat => {\r\n const hbTimestamp = new Date(singleDateHeartbeat.date).valueOf();\r\n const now = Date.now();\r\n return now - hbTimestamp <= STORED_HEARTBEAT_RETENTION_MAX_MILLIS;\r\n });\r\n return this._storage.overwrite(this._heartbeatsCache);\r\n }\r\n /**\r\n * Returns a base64 encoded string which can be attached to the heartbeat-specific header directly.\r\n * It also clears all heartbeats from memory as well as in IndexedDB.\r\n *\r\n * NOTE: Consuming product SDKs should not send the header if this method\r\n * returns an empty string.\r\n */\r\n async getHeartbeatsHeader() {\r\n var _a;\r\n if (this._heartbeatsCache === null) {\r\n await this._heartbeatsCachePromise;\r\n }\r\n // If it's still null or the array is empty, there is no data to send.\r\n if (((_a = this._heartbeatsCache) === null || _a === void 0 ? void 0 : _a.heartbeats) == null ||\r\n this._heartbeatsCache.heartbeats.length === 0) {\r\n return '';\r\n }\r\n const date = getUTCDateString();\r\n // Extract as many heartbeats from the cache as will fit under the size limit.\r\n const { heartbeatsToSend, unsentEntries } = extractHeartbeatsForHeader(this._heartbeatsCache.heartbeats);\r\n const headerString = base64urlEncodeWithoutPadding(JSON.stringify({ version: 2, heartbeats: heartbeatsToSend }));\r\n // Store last sent date to prevent another being logged/sent for the same day.\r\n this._heartbeatsCache.lastSentHeartbeatDate = date;\r\n if (unsentEntries.length > 0) {\r\n // Store any unsent entries if they exist.\r\n this._heartbeatsCache.heartbeats = unsentEntries;\r\n // This seems more likely than emptying the array (below) to lead to some odd state\r\n // since the cache isn't empty and this will be called again on the next request,\r\n // and is probably safest if we await it.\r\n await this._storage.overwrite(this._heartbeatsCache);\r\n }\r\n else {\r\n this._heartbeatsCache.heartbeats = [];\r\n // Do not wait for this, to reduce latency.\r\n void this._storage.overwrite(this._heartbeatsCache);\r\n }\r\n return headerString;\r\n }\r\n}\r\nfunction getUTCDateString() {\r\n const today = new Date();\r\n // Returns date format 'YYYY-MM-DD'\r\n return today.toISOString().substring(0, 10);\r\n}\r\nfunction extractHeartbeatsForHeader(heartbeatsCache, maxSize = MAX_HEADER_BYTES) {\r\n // Heartbeats grouped by user agent in the standard format to be sent in\r\n // the header.\r\n const heartbeatsToSend = [];\r\n // Single date format heartbeats that are not sent.\r\n let unsentEntries = heartbeatsCache.slice();\r\n for (const singleDateHeartbeat of heartbeatsCache) {\r\n // Look for an existing entry with the same user agent.\r\n const heartbeatEntry = heartbeatsToSend.find(hb => hb.agent === singleDateHeartbeat.agent);\r\n if (!heartbeatEntry) {\r\n // If no entry for this user agent exists, create one.\r\n heartbeatsToSend.push({\r\n agent: singleDateHeartbeat.agent,\r\n dates: [singleDateHeartbeat.date]\r\n });\r\n if (countBytes(heartbeatsToSend) > maxSize) {\r\n // If the header would exceed max size, remove the added heartbeat\r\n // entry and stop adding to the header.\r\n heartbeatsToSend.pop();\r\n break;\r\n }\r\n }\r\n else {\r\n heartbeatEntry.dates.push(singleDateHeartbeat.date);\r\n // If the header would exceed max size, remove the added date\r\n // and stop adding to the header.\r\n if (countBytes(heartbeatsToSend) > maxSize) {\r\n heartbeatEntry.dates.pop();\r\n break;\r\n }\r\n }\r\n // Pop unsent entry from queue. (Skipped if adding the entry exceeded\r\n // quota and the loop breaks early.)\r\n unsentEntries = unsentEntries.slice(1);\r\n }\r\n return {\r\n heartbeatsToSend,\r\n unsentEntries\r\n };\r\n}\r\nclass HeartbeatStorageImpl {\r\n constructor(app) {\r\n this.app = app;\r\n this._canUseIndexedDBPromise = this.runIndexedDBEnvironmentCheck();\r\n }\r\n async runIndexedDBEnvironmentCheck() {\r\n if (!isIndexedDBAvailable()) {\r\n return false;\r\n }\r\n else {\r\n return validateIndexedDBOpenable()\r\n .then(() => true)\r\n .catch(() => false);\r\n }\r\n }\r\n /**\r\n * Read all heartbeats.\r\n */\r\n async read() {\r\n const canUseIndexedDB = await this._canUseIndexedDBPromise;\r\n if (!canUseIndexedDB) {\r\n return { heartbeats: [] };\r\n }\r\n else {\r\n const idbHeartbeatObject = await readHeartbeatsFromIndexedDB(this.app);\r\n if (idbHeartbeatObject === null || idbHeartbeatObject === void 0 ? void 0 : idbHeartbeatObject.heartbeats) {\r\n return idbHeartbeatObject;\r\n }\r\n else {\r\n return { heartbeats: [] };\r\n }\r\n }\r\n }\r\n // overwrite the storage with the provided heartbeats\r\n async overwrite(heartbeatsObject) {\r\n var _a;\r\n const canUseIndexedDB = await this._canUseIndexedDBPromise;\r\n if (!canUseIndexedDB) {\r\n return;\r\n }\r\n else {\r\n const existingHeartbeatsObject = await this.read();\r\n return writeHeartbeatsToIndexedDB(this.app, {\r\n lastSentHeartbeatDate: (_a = heartbeatsObject.lastSentHeartbeatDate) !== null && _a !== void 0 ? _a : existingHeartbeatsObject.lastSentHeartbeatDate,\r\n heartbeats: heartbeatsObject.heartbeats\r\n });\r\n }\r\n }\r\n // add heartbeats\r\n async add(heartbeatsObject) {\r\n var _a;\r\n const canUseIndexedDB = await this._canUseIndexedDBPromise;\r\n if (!canUseIndexedDB) {\r\n return;\r\n }\r\n else {\r\n const existingHeartbeatsObject = await this.read();\r\n return writeHeartbeatsToIndexedDB(this.app, {\r\n lastSentHeartbeatDate: (_a = heartbeatsObject.lastSentHeartbeatDate) !== null && _a !== void 0 ? _a : existingHeartbeatsObject.lastSentHeartbeatDate,\r\n heartbeats: [\r\n ...existingHeartbeatsObject.heartbeats,\r\n ...heartbeatsObject.heartbeats\r\n ]\r\n });\r\n }\r\n }\r\n}\r\n/**\r\n * Calculate bytes of a HeartbeatsByUserAgent array after being wrapped\r\n * in a platform logging header JSON object, stringified, and converted\r\n * to base 64.\r\n */\r\nfunction countBytes(heartbeatsCache) {\r\n // base64 has a restricted set of characters, all of which should be 1 byte.\r\n return base64urlEncodeWithoutPadding(\r\n // heartbeatsCache wrapper properties\r\n JSON.stringify({ version: 2, heartbeats: heartbeatsCache })).length;\r\n}\n\n/**\r\n * @license\r\n * Copyright 2019 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\nfunction registerCoreComponents(variant) {\r\n _registerComponent(new Component('platform-logger', container => new PlatformLoggerServiceImpl(container), \"PRIVATE\" /* ComponentType.PRIVATE */));\r\n _registerComponent(new Component('heartbeat', container => new HeartbeatServiceImpl(container), \"PRIVATE\" /* ComponentType.PRIVATE */));\r\n // Register `app` package.\r\n registerVersion(name$p, version$1, variant);\r\n // BUILD_TARGET will be replaced by values like esm5, esm2017, cjs5, etc during the compilation\r\n registerVersion(name$p, version$1, 'esm2017');\r\n // Register platform SDK identifier (no version).\r\n registerVersion('fire-js', '');\r\n}\n\n/**\r\n * Firebase App\r\n *\r\n * @remarks This package coordinates the communication between the different Firebase components\r\n * @packageDocumentation\r\n */\r\nregisterCoreComponents('');\n\nexport { SDK_VERSION, DEFAULT_ENTRY_NAME as _DEFAULT_ENTRY_NAME, _addComponent, _addOrOverwriteComponent, _apps, _clearComponents, _components, _getProvider, _isFirebaseApp, _isFirebaseServerApp, _registerComponent, _removeServiceInstance, _serverApps, deleteApp, getApp, getApps, initializeApp, initializeServerApp, onLog, registerVersion, setLogLevel };\n//# sourceMappingURL=index.esm2017.js.map\n","import { registerVersion } from '@firebase/app';\nexport * from '@firebase/app';\n\nvar name = \"firebase\";\nvar version = \"10.12.4\";\n\n/**\r\n * @license\r\n * Copyright 2020 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\nregisterVersion(name, version, 'app');\n//# sourceMappingURL=index.esm.js.map\n"],"names":["stringToByteArray$1","str","out","p","i","c","byteArrayToString","bytes","pos","c1","c2","c3","c4","u","base64","input","webSafe","byteToCharMap","output","byte1","haveByte2","byte2","haveByte3","byte3","outByte1","outByte2","outByte3","outByte4","charToByteMap","byte4","DecodeBase64StringError","base64Encode","utf8Bytes","base64urlEncodeWithoutPadding","base64Decode","getGlobal","getDefaultsFromGlobal","getDefaultsFromEnvVariable","define_process_env_default","defaultsJsonString","getDefaultsFromCookie","match","decoded","getDefaults","e","getDefaultAppConfig","_a","Deferred","resolve","reject","callback","error","value","isIndexedDBAvailable","validateIndexedDBOpenable","preExist","DB_CHECK_NAME","request","ERROR_NAME","FirebaseError","code","message","customData","ErrorFactory","service","serviceName","errors","data","fullCode","template","replaceTemplate","fullMessage","PATTERN","_","key","deepEqual","a","b","aKeys","bKeys","k","aProp","bProp","isObject","thing","Component","name","instanceFactory","type","mode","multipleInstances","props","DEFAULT_ENTRY_NAME","Provider","container","identifier","normalizedIdentifier","deferred","instance","options","optional","component","isComponentEager","instanceIdentifier","instanceDeferred","services","opts","normalizedDeferredIdentifier","existingCallbacks","existingInstance","callbacks","normalizeIdentifierForFactory","ComponentContainer","provider","LogLevel","levelStringToEnum","defaultLogLevel","ConsoleMethod","defaultLogHandler","logType","args","now","method","Logger","val","instanceOfAny","object","constructors","idbProxyableTypes","cursorAdvanceMethods","getIdbProxyableTypes","getCursorAdvanceMethods","cursorRequestMap","transactionDoneMap","transactionStoreNamesMap","transformCache","reverseTransformCache","promisifyRequest","promise","unlisten","success","wrap","cacheDonePromiseForTransaction","tx","done","complete","idbProxyTraps","target","prop","receiver","replaceTraps","wrapFunction","func","storeNames","unwrap","transformCachableValue","newValue","openDB","version","blocked","upgrade","blocking","terminated","openPromise","event","db","readMethods","writeMethods","cachedMethods","getMethod","targetFuncName","useIndex","isWrite","storeName","oldTraps","PlatformLoggerServiceImpl","isVersionServiceProvider","logString","name$p","version$1","logger","name$o","name$n","name$m","name$l","name$k","name$j","name$i","name$h","name$g","name$f","name$e","name$d","name$c","name$b","name$a","name$9","name$8","name$7","name$6","name$5","name$4","name$3","name$2","name$1","PLATFORM_LOG_STRING","_apps","_serverApps","_components","_addComponent","app","_registerComponent","componentName","serverApp","ERRORS","ERROR_FACTORY","FirebaseAppImpl","config","initializeApp","_options","rawConfig","existingApp","newApp","registerVersion","libraryKeyOrName","variant","library","libraryMismatch","versionMismatch","warning","DB_NAME","DB_VERSION","STORE_NAME","dbPromise","getDbPromise","oldVersion","readHeartbeatsFromIndexedDB","result","computeKey","idbGetError","writeHeartbeatsToIndexedDB","heartbeatObject","MAX_HEADER_BYTES","STORED_HEARTBEAT_RETENTION_MAX_MILLIS","HeartbeatServiceImpl","HeartbeatStorageImpl","_b","agent","date","getUTCDateString","singleDateHeartbeat","hbTimestamp","heartbeatsToSend","unsentEntries","extractHeartbeatsForHeader","headerString","heartbeatsCache","maxSize","heartbeatEntry","hb","countBytes","idbHeartbeatObject","heartbeatsObject","existingHeartbeatsObject","registerCoreComponents"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,5,6]} \ No newline at end of file diff --git a/Target/_astro/index.modern.CUPCPLSa.js.map b/Target/_astro/index.modern.CUPCPLSa.js.map index ac03b323..f5ded62b 100644 --- a/Target/_astro/index.modern.CUPCPLSa.js.map +++ b/Target/_astro/index.modern.CUPCPLSa.js.map @@ -1 +1 @@ -{"version":3,"file":"index.modern.CUPCPLSa.js","sources":["../../../../../../node_modules/@swup/preload-plugin/dist/index.modern.js"],"sourcesContent":["import e from\"@swup/plugin\";import{Location as t,getCurrentUrl as s}from\"swup\";function r(){return r=Object.assign?Object.assign.bind():function(e){for(var t=1;tsetTimeout(e,1)),a=[\"preloadVisibleLinks\"];class l extends e{constructor(e={}){var s;super(),s=this,this.name=\"SwupPreloadPlugin\",this.requires={swup:\">=4.5\"},this.defaults={throttle:5,preloadInitialPage:!0,preloadHoveredLinks:!0,preloadVisibleLinks:{enabled:!1,threshold:.2,delay:500,containers:[\"body\"],ignore:()=>!1}},this.options=void 0,this.queue=void 0,this.preloadObserver=void 0,this.preloadPromises=new Map,this.mouseEnterDelegate=void 0,this.touchStartDelegate=void 0,this.focusDelegate=void 0,this.onPageLoad=(e,t,s)=>{const{url:r}=e.to;return r&&this.preloadPromises.has(r)?this.preloadPromises.get(r):s(e,t)},this.onMouseEnter=async function(e){if(e.target!==e.delegateTarget)return;if(!o())return;const r=e.delegateTarget;if(!i(r))return;const{url:n,hash:a}=t.fromElement(r),l=s.swup.createVisit({to:n,hash:a,el:r,event:e});s.swup.hooks.callSync(\"link:hover\",l,{el:r,event:e}),s.preload(r,{priority:!0})},this.onTouchStart=e=>{if(o())return;const t=e.delegateTarget;i(t)&&this.preload(t,{priority:!0})},this.onFocus=e=>{const t=e.delegateTarget;i(t)&&this.preload(t,{priority:!0})};const{preloadVisibleLinks:n}=e,l=function(e,t){if(null==e)return{};var s,r,o={},i=Object.keys(e);for(r=0;r=0||(o[s]=e[s]);return o}(e,a);this.options=r({},this.defaults,l),\"object\"==typeof n?this.options.preloadVisibleLinks=r({},this.options.preloadVisibleLinks,{enabled:!0},n):this.options.preloadVisibleLinks.enabled=Boolean(n),this.preload=this.preload.bind(this),this.queue=function(e=1){const t=[],s=[];let r=0,o=0;function i(){o0&&((s.shift()||t.shift()||(()=>{}))(),r--,o++)}return{add:function(e,o=!1){if(e.__queued){if(!o)return;{const s=t.indexOf(e);if(s>=0){const e=t.splice(s,1);r-=e.length}}}e.__queued=!0,(o?s:t).push(e),r++,r<=1&&i()},next:function(){o--,i()}}}(this.options.throttle)}mount(){const e=this.swup;e.options.cache?(e.hooks.create(\"page:preload\"),e.hooks.create(\"link:hover\"),e.preload=this.preload,e.preloadLinks=this.preloadLinks,this.replace(\"page:load\",this.onPageLoad),this.preloadLinks(),this.on(\"page:view\",()=>this.preloadLinks()),this.options.preloadVisibleLinks.enabled&&(this.preloadVisibleLinks(),this.on(\"page:view\",()=>this.preloadVisibleLinks())),this.options.preloadHoveredLinks&&this.preloadLinksOnAttention(),this.options.preloadInitialPage&&this.preload(s())):console.warn(\"SwupPreloadPlugin: swup cache needs to be enabled for preloading\")}unmount(){var e,t,s;this.swup.preload=void 0,this.swup.preloadLinks=void 0,this.preloadPromises.clear(),null==(e=this.mouseEnterDelegate)||e.destroy(),null==(t=this.touchStartDelegate)||t.destroy(),null==(s=this.focusDelegate)||s.destroy(),this.stopPreloadingVisibleLinks()}async preload(e,s={}){var r;let o,n;const a=null!=(r=s.priority)&&r;if(Array.isArray(e))return Promise.all(e.map(e=>this.preload(e)));if(i(e))n=e,({href:o}=t.fromElement(e));else{if(\"string\"!=typeof e)return;o=e}if(!o)return;if(this.preloadPromises.has(o))return this.preloadPromises.get(o);if(!this.shouldPreload(o,{el:n}))return;const l=new Promise(e=>{this.queue.add(()=>{this.performPreload(o).catch(()=>{}).then(t=>e(t)).finally(()=>{this.queue.next(),this.preloadPromises.delete(o)})},a)});return this.preloadPromises.set(o,l),l}preloadLinks(){n(()=>{Array.from(document.querySelectorAll(\"a[data-swup-preload], [data-swup-preload-all] a\")).forEach(e=>this.preload(e))})}preloadLinksOnAttention(){const{swup:e}=this,{linkSelector:t}=e.options,s={passive:!0,capture:!0};this.mouseEnterDelegate=e.delegateEvent(t,\"mouseenter\",this.onMouseEnter,s),this.touchStartDelegate=e.delegateEvent(t,\"touchstart\",this.onTouchStart,s),this.focusDelegate=e.delegateEvent(t,\"focus\",this.onFocus,s)}preloadVisibleLinks(){if(this.preloadObserver)return void this.preloadObserver.update();const{threshold:e,delay:s,containers:r}=this.options.preloadVisibleLinks;this.preloadObserver=function({threshold:e,delay:s,containers:r,callback:o,filter:i}){const a=new Map,l=new IntersectionObserver(e=>{e.forEach(e=>{e.isIntersecting?h(e.target):d(e.target)})},{threshold:e}),h=e=>{var r;const{href:i}=t.fromElement(e),n=null!=(r=a.get(i))?r:new Set;a.set(i,n),n.add(e),setTimeout(()=>{const t=a.get(i);null!=t&&t.size&&(o(e),l.unobserve(e),t.delete(e))},s)},d=e=>{var s;const{href:r}=t.fromElement(e);null==(s=a.get(r))||s.delete(e)},u=()=>{n(()=>{const e=r.map(e=>`${e} a[*|href]`).join(\", \");Array.from(document.querySelectorAll(e)).filter(e=>i(e)).forEach(e=>l.observe(e))})};return{start:()=>u(),stop:()=>l.disconnect(),update:()=>(a.clear(),u())}}({threshold:e,delay:s,containers:r,callback:e=>this.preload(e),filter:e=>{if(this.options.preloadVisibleLinks.ignore(e))return!1;if(!e.matches(this.swup.options.linkSelector))return!1;const{href:s}=t.fromElement(e);return this.shouldPreload(s,{el:e})}}),this.preloadObserver.start()}stopPreloadingVisibleLinks(){this.preloadObserver&&this.preloadObserver.stop()}shouldPreload(e,{el:r}={}){const{url:o,href:i}=t.fromUrl(e);return!(!function(){if(navigator.connection){var e;if(navigator.connection.saveData)return!1;if(null!=(e=navigator.connection.effectiveType)&&e.endsWith(\"2g\"))return!1}return!0}()||this.swup.cache.has(o)||this.preloadPromises.has(o)||this.swup.shouldIgnoreVisit(i,{el:r})||r&&this.swup.resolveUrl(o)===this.swup.resolveUrl(s()))}async performPreload(e){var s=this;const{url:r}=t.fromUrl(e),o=this.swup.createVisit({to:r}),i=await this.swup.hooks.call(\"page:preload\",o,{url:r},async function(t,r){return r.page=await s.swup.fetchPage(e,{visit:t}),r.page});return i}}export{l as default};\n//# sourceMappingURL=index.modern.js.map\n"],"names":["r","e","t","s","o","i","n","a","l","h","d","u"],"mappings":"uHAA+E,SAASA,GAAG,CAAC,OAAOA,EAAE,OAAO,OAAO,OAAO,OAAO,KAAI,EAAG,SAASC,EAAE,CAAC,QAAQC,EAAE,EAAEA,EAAE,UAAU,OAAOA,IAAI,CAAC,IAAIC,EAAE,UAAUD,CAAC,EAAE,QAAQF,KAAKG,EAAE,OAAO,UAAU,eAAe,KAAKA,EAAEH,CAAC,IAAIC,EAAED,CAAC,EAAEG,EAAEH,CAAC,EAAE,CAAC,OAAOC,CAAC,EAAED,EAAE,MAAM,KAAK,SAAS,CAAC,CAAC,SAASI,GAAG,CAAC,OAAO,OAAO,WAAW,gBAAgB,EAAE,OAAO,CAAC,SAASC,EAAEJ,EAAE,CAAC,MAAM,CAAC,CAACA,IAAIA,aAAa,mBAAmBA,aAAa,YAAY,CAAC,MAAMK,EAAE,OAAO,sBAAsBL,GAAG,WAAWA,EAAE,CAAC,GAAGM,EAAE,CAAC,qBAAqB,EAAE,MAAMC,UAAUP,CAAC,CAAC,YAAY,EAAE,CAAE,EAAC,CAAC,IAAIE,EAAE,MAAK,EAAGA,EAAE,KAAK,KAAK,KAAK,oBAAoB,KAAK,SAAS,CAAC,KAAK,OAAO,EAAE,KAAK,SAAS,CAAC,SAAS,EAAE,mBAAmB,GAAG,oBAAoB,GAAG,oBAAoB,CAAC,QAAQ,GAAG,UAAU,GAAG,MAAM,IAAI,WAAW,CAAC,MAAM,EAAE,OAAO,IAAI,EAAE,CAAC,EAAE,KAAK,QAAQ,OAAO,KAAK,MAAM,OAAO,KAAK,gBAAgB,OAAO,KAAK,gBAAgB,IAAI,IAAI,KAAK,mBAAmB,OAAO,KAAK,mBAAmB,OAAO,KAAK,cAAc,OAAO,KAAK,WAAW,CAACF,EAAEC,EAAEC,IAAI,CAAC,KAAK,CAAC,IAAIH,CAAC,EAAEC,EAAE,GAAG,OAAOD,GAAG,KAAK,gBAAgB,IAAIA,CAAC,EAAE,KAAK,gBAAgB,IAAIA,CAAC,EAAEG,EAAEF,EAAEC,CAAC,CAAC,EAAE,KAAK,aAAa,eAAeD,EAAE,CAAuC,GAAnCA,EAAE,SAASA,EAAE,gBAAyB,CAACG,EAAC,EAAG,OAAO,MAAM,EAAEH,EAAE,eAAe,GAAG,CAACI,EAAE,CAAC,EAAE,OAAO,KAAK,CAAC,IAAIC,EAAE,KAAKC,CAAC,EAAEL,EAAE,YAAY,CAAC,EAAE,EAAEC,EAAE,KAAK,YAAY,CAAC,GAAGG,EAAE,KAAKC,EAAE,GAAG,EAAE,MAAMN,CAAC,CAAC,EAAEE,EAAE,KAAK,MAAM,SAAS,aAAa,EAAE,CAAC,GAAG,EAAE,MAAMF,CAAC,CAAC,EAAEE,EAAE,QAAQ,EAAE,CAAC,SAAS,EAAE,CAAC,CAAC,EAAE,KAAK,aAAaF,GAAG,CAAC,GAAGG,IAAI,OAAO,MAAMF,EAAED,EAAE,eAAeI,EAAEH,CAAC,GAAG,KAAK,QAAQA,EAAE,CAAC,SAAS,EAAE,CAAC,CAAC,EAAE,KAAK,QAAQD,GAAG,CAAC,MAAMC,EAAED,EAAE,eAAeI,EAAEH,CAAC,GAAG,KAAK,QAAQA,EAAE,CAAC,SAAS,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,oBAAoBI,CAAC,EAAE,EAAEE,EAAE,SAASP,EAAEC,EAAE,CAAC,GAASD,GAAN,KAAQ,MAAM,CAAA,EAAG,IAAIE,EAAEH,EAAEI,EAAE,CAAE,EAACC,EAAE,OAAO,KAAKJ,CAAC,EAAE,IAAID,EAAE,EAAEA,EAAEK,EAAE,OAAOL,IAAIE,EAAE,QAAQC,EAAEE,EAAEL,CAAC,CAAC,GAAG,IAAII,EAAED,CAAC,EAAEF,EAAEE,CAAC,GAAG,OAAOC,CAAC,EAAE,EAAEG,CAAC,EAAE,KAAK,QAAQP,EAAE,CAAE,EAAC,KAAK,SAASQ,CAAC,EAAY,OAAOF,GAAjB,SAAmB,KAAK,QAAQ,oBAAoBN,EAAE,CAAA,EAAG,KAAK,QAAQ,oBAAoB,CAAC,QAAQ,EAAE,EAAEM,CAAC,EAAE,KAAK,QAAQ,oBAAoB,QAAQ,EAAQA,EAAG,KAAK,QAAQ,KAAK,QAAQ,KAAK,IAAI,EAAE,KAAK,MAAM,SAASL,EAAE,EAAE,CAAC,MAAMC,EAAE,CAAA,EAAGC,EAAE,CAAA,EAAG,IAAIH,EAAE,EAAEI,EAAE,EAAE,SAASC,GAAG,CAACD,EAAEH,GAAGD,EAAE,KAAKG,EAAE,MAAO,GAAED,EAAE,MAAK,IAAK,IAAI,CAAE,IAAI,EAACF,IAAII,IAAI,CAAC,MAAM,CAAC,IAAI,SAASH,EAAEG,EAAE,GAAG,CAAC,GAAGH,EAAE,SAAS,CAAC,GAAG,CAACG,EAAE,OAAO,CAAC,MAAMD,EAAED,EAAE,QAAQD,CAAC,EAAE,GAAGE,GAAG,EAAE,CAAC,MAAMF,EAAEC,EAAE,OAAOC,EAAE,CAAC,EAAEH,GAAGC,EAAE,MAAM,CAAC,CAAC,CAACA,EAAE,SAAS,IAAIG,EAAED,EAAED,GAAG,KAAKD,CAAC,EAAED,IAAIA,GAAG,GAAGK,EAAC,CAAE,EAAE,KAAK,UAAU,CAACD,IAAIC,EAAC,CAAE,CAAC,CAAC,EAAE,KAAK,QAAQ,QAAQ,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,KAAK,KAAK,EAAE,QAAQ,OAAO,EAAE,MAAM,OAAO,cAAc,EAAE,EAAE,MAAM,OAAO,YAAY,EAAE,EAAE,QAAQ,KAAK,QAAQ,EAAE,aAAa,KAAK,aAAa,KAAK,QAAQ,YAAY,KAAK,UAAU,EAAE,KAAK,aAAc,EAAC,KAAK,GAAG,YAAY,IAAI,KAAK,aAAY,CAAE,EAAE,KAAK,QAAQ,oBAAoB,UAAU,KAAK,oBAAmB,EAAG,KAAK,GAAG,YAAY,IAAI,KAAK,oBAAqB,CAAA,GAAG,KAAK,QAAQ,qBAAqB,KAAK,wBAAuB,EAAG,KAAK,QAAQ,oBAAoB,KAAK,QAAQF,EAAC,CAAE,GAAG,QAAQ,KAAK,kEAAkE,CAAC,CAAC,SAAS,CAAC,IAAI,EAAED,EAAE,EAAE,KAAK,KAAK,QAAQ,OAAO,KAAK,KAAK,aAAa,OAAO,KAAK,gBAAgB,MAAK,GAAU,EAAE,KAAK,qBAAd,MAAmC,EAAE,QAAO,GAAUA,EAAE,KAAK,qBAAd,MAAmCA,EAAE,QAAS,GAAQ,EAAE,KAAK,gBAAd,MAA8B,EAAE,QAAO,EAAG,KAAK,2BAA4B,CAAA,CAAC,MAAM,QAAQ,EAAEC,EAAE,CAAA,EAAG,CAAC,IAAIH,EAAE,IAAII,EAAEE,EAAE,MAAMC,GAASP,EAAEG,EAAE,WAAX,MAAsBH,EAAE,GAAG,MAAM,QAAQ,CAAC,EAAE,OAAO,QAAQ,IAAI,EAAE,IAAIC,GAAG,KAAK,QAAQA,CAAC,CAAC,CAAC,EAAE,GAAGI,EAAE,CAAC,EAAEC,EAAE,EAAG,CAAC,KAAKF,CAAC,EAAEF,EAAE,YAAY,CAAC,MAAO,CAAC,GAAa,OAAO,GAAjB,SAAmB,OAAOE,EAAE,CAAC,CAAC,GAAG,CAACA,EAAE,OAAO,GAAG,KAAK,gBAAgB,IAAIA,CAAC,EAAE,OAAO,KAAK,gBAAgB,IAAIA,CAAC,EAAE,GAAG,CAAC,KAAK,cAAcA,EAAE,CAAC,GAAGE,CAAC,CAAC,EAAE,OAAO,MAAME,EAAE,IAAI,QAAQP,GAAG,CAAC,KAAK,MAAM,IAAI,IAAI,CAAC,KAAK,eAAeG,CAAC,EAAE,MAAM,IAAI,CAAE,CAAA,EAAE,KAAKF,GAAGD,EAAEC,CAAC,CAAC,EAAE,QAAQ,IAAI,CAAC,KAAK,MAAM,KAAM,EAAC,KAAK,gBAAgB,OAAOE,CAAC,CAAC,CAAC,CAAC,EAAEG,CAAC,CAAC,CAAC,EAAE,OAAO,KAAK,gBAAgB,IAAIH,EAAEI,CAAC,EAAEA,CAAC,CAAC,cAAc,CAACF,EAAE,IAAI,CAAC,MAAM,KAAK,SAAS,iBAAiB,iDAAiD,CAAC,EAAE,QAAQ,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,yBAAyB,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC,aAAaJ,CAAC,EAAE,EAAE,QAAQ,EAAE,CAAC,QAAQ,GAAG,QAAQ,EAAE,EAAE,KAAK,mBAAmB,EAAE,cAAcA,EAAE,aAAa,KAAK,aAAa,CAAC,EAAE,KAAK,mBAAmB,EAAE,cAAcA,EAAE,aAAa,KAAK,aAAa,CAAC,EAAE,KAAK,cAAc,EAAE,cAAcA,EAAE,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,qBAAqB,CAAC,GAAG,KAAK,gBAAgB,OAAO,KAAK,KAAK,gBAAgB,OAAM,EAAG,KAAK,CAAC,UAAU,EAAE,MAAMC,EAAE,WAAWH,CAAC,EAAE,KAAK,QAAQ,oBAAoB,KAAK,gBAAgB,SAAS,CAAC,UAAUC,EAAE,MAAME,EAAE,WAAW,EAAE,SAASC,EAAE,OAAOC,CAAC,EAAE,CAAC,MAAME,EAAE,IAAI,IAAIC,EAAE,IAAI,qBAAqBP,GAAG,CAACA,EAAE,QAAQA,GAAG,CAACA,EAAE,eAAeQ,EAAER,EAAE,MAAM,EAAES,EAAET,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,UAAUA,CAAC,CAAC,EAAEQ,EAAER,GAAG,CAAC,IAAID,EAAE,KAAK,CAAC,KAAKK,CAAC,EAAEH,EAAE,YAAYD,CAAC,EAAEK,GAASN,EAAEO,EAAE,IAAIF,CAAC,IAAhB,KAAmBL,EAAE,IAAI,IAAIO,EAAE,IAAIF,EAAEC,CAAC,EAAEA,EAAE,IAAIL,CAAC,EAAE,WAAW,IAAI,CAAC,MAAMC,EAAEK,EAAE,IAAIF,CAAC,EAAQH,GAAN,MAASA,EAAE,OAAOE,EAAEH,CAAC,EAAEO,EAAE,UAAUP,CAAC,EAAEC,EAAE,OAAOD,CAAC,EAAE,EAAEE,CAAC,CAAC,EAAEO,EAAET,GAAG,CAAC,IAAIE,EAAE,KAAK,CAAC,KAAKH,CAAC,EAAEE,EAAE,YAAYD,CAAC,GAASE,EAAEI,EAAE,IAAIP,CAAC,IAAhB,MAAoBG,EAAE,OAAOF,CAAC,CAAC,EAAEU,EAAE,IAAI,CAACL,EAAE,IAAI,CAAC,MAAML,EAAE,EAAE,IAAIA,GAAG,GAAGA,CAAC,YAAY,EAAE,KAAK,IAAI,EAAE,MAAM,KAAK,SAAS,iBAAiBA,CAAC,CAAC,EAAE,OAAOA,GAAGI,EAAEJ,CAAC,CAAC,EAAE,QAAQA,GAAGO,EAAE,QAAQP,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,MAAM,IAAIU,EAAC,EAAG,KAAK,IAAIH,EAAE,WAAY,EAAC,OAAO,KAAKD,EAAE,MAAO,EAACI,EAAC,EAAG,CAAC,EAAE,CAAC,UAAU,EAAE,MAAMR,EAAE,WAAWH,EAAE,SAASC,GAAG,KAAK,QAAQA,CAAC,EAAE,OAAOA,GAAG,CAAwD,GAApD,KAAK,QAAQ,oBAAoB,OAAOA,CAAC,GAAc,CAACA,EAAE,QAAQ,KAAK,KAAK,QAAQ,YAAY,EAAE,MAAM,GAAG,KAAK,CAAC,KAAKE,CAAC,EAAED,EAAE,YAAYD,CAAC,EAAE,OAAO,KAAK,cAAcE,EAAE,CAAC,GAAGF,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,gBAAgB,MAAK,CAAE,CAAC,4BAA4B,CAAC,KAAK,iBAAiB,KAAK,gBAAgB,KAAI,CAAE,CAAC,cAAc,EAAE,CAAC,GAAGD,CAAC,EAAE,CAAE,EAAC,CAAC,KAAK,CAAC,IAAII,EAAE,KAAK,CAAC,EAAEF,EAAE,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC,UAAU,CAAC,GAAG,UAAU,WAAW,CAAC,IAAID,EAA4C,GAAvC,UAAU,WAAW,WAA4BA,EAAE,UAAU,WAAW,gBAA9B,MAA8CA,EAAE,SAAS,IAAI,EAAE,MAAM,EAAE,CAAC,MAAM,EAAE,EAAG,GAAE,KAAK,KAAK,MAAM,IAAIG,CAAC,GAAG,KAAK,gBAAgB,IAAIA,CAAC,GAAG,KAAK,KAAK,kBAAkB,EAAE,CAAC,GAAGJ,CAAC,CAAC,GAAGA,GAAG,KAAK,KAAK,WAAWI,CAAC,IAAI,KAAK,KAAK,WAAWD,EAAG,CAAA,EAAE,CAAC,MAAM,eAAe,EAAE,CAAC,IAAIA,EAAE,KAAK,KAAK,CAAC,IAAIH,CAAC,EAAEE,EAAE,QAAQ,CAAC,EAAEE,EAAE,KAAK,KAAK,YAAY,CAAC,GAAGJ,CAAC,CAAC,EAAuI,OAAnI,MAAM,KAAK,KAAK,MAAM,KAAK,eAAeI,EAAE,CAAC,IAAIJ,CAAC,EAAE,eAAeE,EAAEF,EAAE,CAAC,OAAOA,EAAE,KAAK,MAAMG,EAAE,KAAK,UAAU,EAAE,CAAC,MAAMD,CAAC,CAAC,EAAEF,EAAE,IAAI,CAAC,CAAU,CAAC","x_google_ignoreList":[0]} \ No newline at end of file +{"version":3,"file":"index.modern.CUPCPLSa.js","sources":["../../node_modules/@swup/preload-plugin/dist/index.modern.js"],"sourcesContent":["import e from\"@swup/plugin\";import{Location as t,getCurrentUrl as s}from\"swup\";function r(){return r=Object.assign?Object.assign.bind():function(e){for(var t=1;tsetTimeout(e,1)),a=[\"preloadVisibleLinks\"];class l extends e{constructor(e={}){var s;super(),s=this,this.name=\"SwupPreloadPlugin\",this.requires={swup:\">=4.5\"},this.defaults={throttle:5,preloadInitialPage:!0,preloadHoveredLinks:!0,preloadVisibleLinks:{enabled:!1,threshold:.2,delay:500,containers:[\"body\"],ignore:()=>!1}},this.options=void 0,this.queue=void 0,this.preloadObserver=void 0,this.preloadPromises=new Map,this.mouseEnterDelegate=void 0,this.touchStartDelegate=void 0,this.focusDelegate=void 0,this.onPageLoad=(e,t,s)=>{const{url:r}=e.to;return r&&this.preloadPromises.has(r)?this.preloadPromises.get(r):s(e,t)},this.onMouseEnter=async function(e){if(e.target!==e.delegateTarget)return;if(!o())return;const r=e.delegateTarget;if(!i(r))return;const{url:n,hash:a}=t.fromElement(r),l=s.swup.createVisit({to:n,hash:a,el:r,event:e});s.swup.hooks.callSync(\"link:hover\",l,{el:r,event:e}),s.preload(r,{priority:!0})},this.onTouchStart=e=>{if(o())return;const t=e.delegateTarget;i(t)&&this.preload(t,{priority:!0})},this.onFocus=e=>{const t=e.delegateTarget;i(t)&&this.preload(t,{priority:!0})};const{preloadVisibleLinks:n}=e,l=function(e,t){if(null==e)return{};var s,r,o={},i=Object.keys(e);for(r=0;r=0||(o[s]=e[s]);return o}(e,a);this.options=r({},this.defaults,l),\"object\"==typeof n?this.options.preloadVisibleLinks=r({},this.options.preloadVisibleLinks,{enabled:!0},n):this.options.preloadVisibleLinks.enabled=Boolean(n),this.preload=this.preload.bind(this),this.queue=function(e=1){const t=[],s=[];let r=0,o=0;function i(){o0&&((s.shift()||t.shift()||(()=>{}))(),r--,o++)}return{add:function(e,o=!1){if(e.__queued){if(!o)return;{const s=t.indexOf(e);if(s>=0){const e=t.splice(s,1);r-=e.length}}}e.__queued=!0,(o?s:t).push(e),r++,r<=1&&i()},next:function(){o--,i()}}}(this.options.throttle)}mount(){const e=this.swup;e.options.cache?(e.hooks.create(\"page:preload\"),e.hooks.create(\"link:hover\"),e.preload=this.preload,e.preloadLinks=this.preloadLinks,this.replace(\"page:load\",this.onPageLoad),this.preloadLinks(),this.on(\"page:view\",()=>this.preloadLinks()),this.options.preloadVisibleLinks.enabled&&(this.preloadVisibleLinks(),this.on(\"page:view\",()=>this.preloadVisibleLinks())),this.options.preloadHoveredLinks&&this.preloadLinksOnAttention(),this.options.preloadInitialPage&&this.preload(s())):console.warn(\"SwupPreloadPlugin: swup cache needs to be enabled for preloading\")}unmount(){var e,t,s;this.swup.preload=void 0,this.swup.preloadLinks=void 0,this.preloadPromises.clear(),null==(e=this.mouseEnterDelegate)||e.destroy(),null==(t=this.touchStartDelegate)||t.destroy(),null==(s=this.focusDelegate)||s.destroy(),this.stopPreloadingVisibleLinks()}async preload(e,s={}){var r;let o,n;const a=null!=(r=s.priority)&&r;if(Array.isArray(e))return Promise.all(e.map(e=>this.preload(e)));if(i(e))n=e,({href:o}=t.fromElement(e));else{if(\"string\"!=typeof e)return;o=e}if(!o)return;if(this.preloadPromises.has(o))return this.preloadPromises.get(o);if(!this.shouldPreload(o,{el:n}))return;const l=new Promise(e=>{this.queue.add(()=>{this.performPreload(o).catch(()=>{}).then(t=>e(t)).finally(()=>{this.queue.next(),this.preloadPromises.delete(o)})},a)});return this.preloadPromises.set(o,l),l}preloadLinks(){n(()=>{Array.from(document.querySelectorAll(\"a[data-swup-preload], [data-swup-preload-all] a\")).forEach(e=>this.preload(e))})}preloadLinksOnAttention(){const{swup:e}=this,{linkSelector:t}=e.options,s={passive:!0,capture:!0};this.mouseEnterDelegate=e.delegateEvent(t,\"mouseenter\",this.onMouseEnter,s),this.touchStartDelegate=e.delegateEvent(t,\"touchstart\",this.onTouchStart,s),this.focusDelegate=e.delegateEvent(t,\"focus\",this.onFocus,s)}preloadVisibleLinks(){if(this.preloadObserver)return void this.preloadObserver.update();const{threshold:e,delay:s,containers:r}=this.options.preloadVisibleLinks;this.preloadObserver=function({threshold:e,delay:s,containers:r,callback:o,filter:i}){const a=new Map,l=new IntersectionObserver(e=>{e.forEach(e=>{e.isIntersecting?h(e.target):d(e.target)})},{threshold:e}),h=e=>{var r;const{href:i}=t.fromElement(e),n=null!=(r=a.get(i))?r:new Set;a.set(i,n),n.add(e),setTimeout(()=>{const t=a.get(i);null!=t&&t.size&&(o(e),l.unobserve(e),t.delete(e))},s)},d=e=>{var s;const{href:r}=t.fromElement(e);null==(s=a.get(r))||s.delete(e)},u=()=>{n(()=>{const e=r.map(e=>`${e} a[*|href]`).join(\", \");Array.from(document.querySelectorAll(e)).filter(e=>i(e)).forEach(e=>l.observe(e))})};return{start:()=>u(),stop:()=>l.disconnect(),update:()=>(a.clear(),u())}}({threshold:e,delay:s,containers:r,callback:e=>this.preload(e),filter:e=>{if(this.options.preloadVisibleLinks.ignore(e))return!1;if(!e.matches(this.swup.options.linkSelector))return!1;const{href:s}=t.fromElement(e);return this.shouldPreload(s,{el:e})}}),this.preloadObserver.start()}stopPreloadingVisibleLinks(){this.preloadObserver&&this.preloadObserver.stop()}shouldPreload(e,{el:r}={}){const{url:o,href:i}=t.fromUrl(e);return!(!function(){if(navigator.connection){var e;if(navigator.connection.saveData)return!1;if(null!=(e=navigator.connection.effectiveType)&&e.endsWith(\"2g\"))return!1}return!0}()||this.swup.cache.has(o)||this.preloadPromises.has(o)||this.swup.shouldIgnoreVisit(i,{el:r})||r&&this.swup.resolveUrl(o)===this.swup.resolveUrl(s()))}async performPreload(e){var s=this;const{url:r}=t.fromUrl(e),o=this.swup.createVisit({to:r}),i=await this.swup.hooks.call(\"page:preload\",o,{url:r},async function(t,r){return r.page=await s.swup.fetchPage(e,{visit:t}),r.page});return i}}export{l as default};\n//# sourceMappingURL=index.modern.js.map\n"],"names":["r","e","t","s","o","i","n","a","l","h","d","u"],"mappings":"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","x_google_ignoreList":[0]} \ No newline at end of file diff --git a/Target/_astro/index.modern.DpLP8u1C.js.map b/Target/_astro/index.modern.DpLP8u1C.js.map index 6e9abe3d..6da7c625 100644 --- a/Target/_astro/index.modern.DpLP8u1C.js.map +++ b/Target/_astro/index.modern.DpLP8u1C.js.map @@ -1 +1 @@ -{"version":3,"file":"index.modern.DpLP8u1C.js","sources":["../../../../../../node_modules/@swup/theme/dist/index.modern.js","../../../../../../node_modules/@swup/overlay-theme/dist/index.modern.js"],"sourcesContent":["import e from\"@swup/plugin\";class t extends e{constructor(...e){super(...e),this._originalAnimationSelectorOption=\"\",this._addedStyleElements=[],this._addedHTMLContent=[],this._classNameAddedToElements=[],this._addClassNameToElement=()=>{this._classNameAddedToElements.forEach(e=>{Array.from(document.querySelectorAll(e.selector)).forEach(t=>{t.classList.add(`swup-transition-${e.name}`)})})}}_beforeMount(){this._originalAnimationSelectorOption=String(this.swup.options.animationSelector),this.swup.options.animationSelector='[class*=\"swup-transition-\"]',this.swup.hooks.on(\"content:replace\",this._addClassNameToElement)}_afterUnmount(){this.swup.options.animationSelector=this._originalAnimationSelectorOption,this._addedStyleElements.forEach(e=>{e.outerHTML=\"\"}),this._addedStyleElements=[],this._addedHTMLContent.forEach(e=>{e.outerHTML=\"\"}),this._addedHTMLContent=[],this._classNameAddedToElements.forEach(e=>{Array.from(document.querySelectorAll(e.selector)).forEach(e=>{e.className.split(\" \").forEach(t=>{new RegExp(\"^swup-transition-\").test(t)&&e.classList.remove(t)})})}),this.swup.hooks.off(\"content:replace\",this._addClassNameToElement)}applyStyles(e){const t=document.createElement(\"style\");t.setAttribute(\"data-swup-theme\",\"\"),t.appendChild(document.createTextNode(e)),document.head.prepend(t),this._addedStyleElements.push(t)}applyHTML(e){const t=document.createElement(\"div\");t.innerHTML=e,document.body.appendChild(t),this._addedHTMLContent.push(t)}addClassName(e,t){this._classNameAddedToElements.push({selector:e,name:t}),this._addClassNameToElement()}}export{t as default};\n//# sourceMappingURL=index.modern.js.map\n","import a from\"@swup/theme\";function t(){return t=Object.assign?Object.assign.bind():function(a){for(var t=1;t\\n\\t\\t`}}export{e as default};\n//# sourceMappingURL=index.modern.js.map\n"],"names":["e","t","a","r"],"mappings":"qDAA4B,cAAgBA,CAAC,CAAC,eAAeA,EAAE,CAAC,MAAM,GAAGA,CAAC,EAAE,KAAK,iCAAiC,GAAG,KAAK,oBAAoB,GAAG,KAAK,kBAAkB,GAAG,KAAK,0BAA0B,GAAG,KAAK,uBAAuB,IAAI,CAAC,KAAK,0BAA0B,QAAQ,GAAG,CAAC,MAAM,KAAK,SAAS,iBAAiB,EAAE,QAAQ,CAAC,EAAE,QAAQC,GAAG,CAACA,EAAE,UAAU,IAAI,mBAAmB,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,KAAK,iCAAiC,OAAO,KAAK,KAAK,QAAQ,iBAAiB,EAAE,KAAK,KAAK,QAAQ,kBAAkB,8BAA8B,KAAK,KAAK,MAAM,GAAG,kBAAkB,KAAK,sBAAsB,CAAC,CAAC,eAAe,CAAC,KAAK,KAAK,QAAQ,kBAAkB,KAAK,iCAAiC,KAAK,oBAAoB,QAAQD,GAAG,CAACA,EAAE,UAAU,EAAE,CAAC,EAAE,KAAK,oBAAoB,CAAA,EAAG,KAAK,kBAAkB,QAAQA,GAAG,CAACA,EAAE,UAAU,EAAE,CAAC,EAAE,KAAK,kBAAkB,CAAE,EAAC,KAAK,0BAA0B,QAAQA,GAAG,CAAC,MAAM,KAAK,SAAS,iBAAiBA,EAAE,QAAQ,CAAC,EAAE,QAAQ,GAAG,CAAC,EAAE,UAAU,MAAM,GAAG,EAAE,QAAQC,GAAG,CAAC,IAAI,OAAO,mBAAmB,EAAE,KAAKA,CAAC,GAAG,EAAE,UAAU,OAAOA,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,KAAK,MAAM,IAAI,kBAAkB,KAAK,sBAAsB,CAAC,CAAC,YAAYD,EAAE,CAAC,MAAMC,EAAE,SAAS,cAAc,OAAO,EAAEA,EAAE,aAAa,kBAAkB,EAAE,EAAEA,EAAE,YAAY,SAAS,eAAeD,CAAC,CAAC,EAAE,SAAS,KAAK,QAAQC,CAAC,EAAE,KAAK,oBAAoB,KAAKA,CAAC,CAAC,CAAC,UAAUD,EAAE,CAAC,MAAMC,EAAE,SAAS,cAAc,KAAK,EAAEA,EAAE,UAAUD,EAAE,SAAS,KAAK,YAAYC,CAAC,EAAE,KAAK,kBAAkB,KAAKA,CAAC,CAAC,CAAC,aAAaD,EAAEC,EAAE,CAAC,KAAK,0BAA0B,KAAK,CAAC,SAASD,EAAE,KAAKC,CAAC,CAAC,EAAE,KAAK,uBAAsB,CAAE,CAAC,ECAvgD,SAASA,GAAG,CAAC,OAAOA,EAAE,OAAO,OAAO,OAAO,OAAO,KAAM,EAAC,SAASC,EAAE,CAAC,QAAQ,EAAE,EAAE,EAAE,UAAU,OAAO,IAAI,CAAC,IAAI,EAAE,UAAU,CAAC,EAAE,QAAQC,KAAK,GAAG,CAAA,GAAI,eAAe,KAAK,EAAEA,CAAC,IAAID,EAAEC,CAAC,EAAE,EAAEA,CAAC,EAAE,CAAC,OAAOD,CAAC,EAAED,EAAE,MAAM,KAAK,SAAS,CAAC,CAAC,MAAMD,UAAUE,CAAC,CAAC,YAAYA,EAAE,CAAA,EAAG,CAAC,GAAG,MAAK,EAAG,KAAK,KAAK,mBAAmB,KAAK,SAAS,CAAC,UAAU,WAAW,MAAM,OAAO,SAAS,MAAM,EAAE,KAAK,WAAW,CAAC,UAAU,WAAW,SAAS,WAAW,EAAE,KAAK,QAAQD,EAAE,CAAE,EAAC,KAAK,SAASC,CAAC,EAAE,CAAC,KAAK,WAAW,SAAS,KAAK,QAAQ,SAAS,EAAE,MAAM,IAAI,MAAM,sBAAsB,SAAS,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,YAAY,63GAA63G,EAAE,KAAK,UAAU,KAAK,cAAa,CAAE,CAAC,CAAC,eAAe,CAAC,KAAK,CAAC,UAAUA,CAAC,EAAE,KAAK,QAAQ,MAAM;AAAA;AAAA;AAAA,sBAAkFA,CAAC;AAAA,wCAAyD,KAAK,QAAQ,QAAtB,OAA4B,KAAK,QAAQ,MAAM,SAAS,kCAA2C,KAAK,QAAQ,WAAtB,OAA+B,GAAG,KAAK,QAAQ,QAAQ,KAAK,SAAS;AAAA;AAAA,GAAyB,CAAC","x_google_ignoreList":[0,1]} \ No newline at end of file +{"version":3,"file":"index.modern.DpLP8u1C.js","sources":["../../../../../../node_modules/@swup/theme/dist/index.modern.js","../../node_modules/@swup/overlay-theme/dist/index.modern.js"],"sourcesContent":["import e from\"@swup/plugin\";class t extends e{constructor(...e){super(...e),this._originalAnimationSelectorOption=\"\",this._addedStyleElements=[],this._addedHTMLContent=[],this._classNameAddedToElements=[],this._addClassNameToElement=()=>{this._classNameAddedToElements.forEach(e=>{Array.from(document.querySelectorAll(e.selector)).forEach(t=>{t.classList.add(`swup-transition-${e.name}`)})})}}_beforeMount(){this._originalAnimationSelectorOption=String(this.swup.options.animationSelector),this.swup.options.animationSelector='[class*=\"swup-transition-\"]',this.swup.hooks.on(\"content:replace\",this._addClassNameToElement)}_afterUnmount(){this.swup.options.animationSelector=this._originalAnimationSelectorOption,this._addedStyleElements.forEach(e=>{e.outerHTML=\"\"}),this._addedStyleElements=[],this._addedHTMLContent.forEach(e=>{e.outerHTML=\"\"}),this._addedHTMLContent=[],this._classNameAddedToElements.forEach(e=>{Array.from(document.querySelectorAll(e.selector)).forEach(e=>{e.className.split(\" \").forEach(t=>{new RegExp(\"^swup-transition-\").test(t)&&e.classList.remove(t)})})}),this.swup.hooks.off(\"content:replace\",this._addClassNameToElement)}applyStyles(e){const t=document.createElement(\"style\");t.setAttribute(\"data-swup-theme\",\"\"),t.appendChild(document.createTextNode(e)),document.head.prepend(t),this._addedStyleElements.push(t)}applyHTML(e){const t=document.createElement(\"div\");t.innerHTML=e,document.body.appendChild(t),this._addedHTMLContent.push(t)}addClassName(e,t){this._classNameAddedToElements.push({selector:e,name:t}),this._addClassNameToElement()}}export{t as default};\n//# sourceMappingURL=index.modern.js.map\n","import a from\"@swup/theme\";function t(){return t=Object.assign?Object.assign.bind():function(a){for(var t=1;t\\n\\t\\t`}}export{e as default};\n//# sourceMappingURL=index.modern.js.map\n"],"names":["e","t","a","r"],"mappings":"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","x_google_ignoreList":[0,1]} \ No newline at end of file diff --git a/Target/_astro/index.modern.FjGODCox.js.map b/Target/_astro/index.modern.FjGODCox.js.map index 8a49dde5..9ff11a55 100644 --- a/Target/_astro/index.modern.FjGODCox.js.map +++ b/Target/_astro/index.modern.FjGODCox.js.map @@ -1 +1 @@ -{"version":3,"file":"index.modern.FjGODCox.js","sources":["../../../../../../node_modules/@swup/head-plugin/dist/index.modern.js"],"sourcesContent":["import e from\"@swup/plugin\";function t(){return t=Object.assign?Object.assign.bind():function(e){for(var t=1;t=4.6\"},this.defaults={persistTags:!1,persistAssets:!1,awaitAssets:!1,timeout:3e3},this.options=void 0,this.updateHead=async function(e,{page:{}}){const t=e.to.document,{removed:i,added:a}=function(e,t,{shouldPersist:r=(()=>!1)}={}){const o=Array.from(e.children),i=Array.from(t.children),a=(l=o,i.reduce((e,t,s)=>(l.some(e=>n(t,e))||e.push({el:t,index:s}),e),[]));var l;const u=function(e,t){return e.reduce((e,s)=>(t.some(e=>n(s,e))||e.push({el:s}),e),[])}(o,i);return u.reverse().filter(({el:e})=>s(e)).filter(({el:e})=>!r(e)).forEach(({el:t})=>e.removeChild(t)),a.filter(({el:e})=>s(e)).forEach(({el:t,index:s=0})=>{e.insertBefore(t.cloneNode(!0),e.children[s+1]||null)}),{removed:u.map(({el:e})=>e),added:a.map(({el:e})=>e)}}(document.head,t.head,{shouldPersist:e=>o.isPersistentTag(e)});o.swup.log(`Removed ${i.length} / added ${a.length} tags in head`);const l=(u=document.documentElement).lang!==(c=t.documentElement).lang?(u.lang=c.lang,u.lang):null;var u,c;if(l&&o.swup.log(`Updated lang attribute: ${l}`),o.options.awaitAssets){const e=function(e,t=0){return e.filter(r).map(e=>function(e,t=0){const s=t=>{(({href:e})=>Array.from(document.styleSheets).map(({href:e})=>e).includes(e))(e)?t():setTimeout(()=>s(t),10)};return new Promise(e=>{s(e),t>0&&setTimeout(e,t)})}(e,t))}(a,o.options.timeout);e.length&&(o.swup.log(`Waiting for ${e.length} assets to load`),await Promise.all(e))}},this.options=t({},this.defaults,e),this.options.persistAssets&&!this.options.persistTags&&(this.options.persistTags=\"link[rel=stylesheet], script[src], style\")}mount(){this.before(\"content:replace\",this.updateHead)}isPersistentTag(e){const{persistTags:t}=this.options;return\"function\"==typeof t?t(e):\"string\"==typeof t?e.matches(t):Boolean(t)}}export{o as default};\n//# sourceMappingURL=index.modern.js.map\n"],"names":["t","e","s","n","r","o","i","a","l","u","c"],"mappings":"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","x_google_ignoreList":[0]} \ No newline at end of file +{"version":3,"file":"index.modern.FjGODCox.js","sources":["../../node_modules/@swup/head-plugin/dist/index.modern.js"],"sourcesContent":["import e from\"@swup/plugin\";function t(){return t=Object.assign?Object.assign.bind():function(e){for(var t=1;t=4.6\"},this.defaults={persistTags:!1,persistAssets:!1,awaitAssets:!1,timeout:3e3},this.options=void 0,this.updateHead=async function(e,{page:{}}){const t=e.to.document,{removed:i,added:a}=function(e,t,{shouldPersist:r=(()=>!1)}={}){const o=Array.from(e.children),i=Array.from(t.children),a=(l=o,i.reduce((e,t,s)=>(l.some(e=>n(t,e))||e.push({el:t,index:s}),e),[]));var l;const u=function(e,t){return e.reduce((e,s)=>(t.some(e=>n(s,e))||e.push({el:s}),e),[])}(o,i);return u.reverse().filter(({el:e})=>s(e)).filter(({el:e})=>!r(e)).forEach(({el:t})=>e.removeChild(t)),a.filter(({el:e})=>s(e)).forEach(({el:t,index:s=0})=>{e.insertBefore(t.cloneNode(!0),e.children[s+1]||null)}),{removed:u.map(({el:e})=>e),added:a.map(({el:e})=>e)}}(document.head,t.head,{shouldPersist:e=>o.isPersistentTag(e)});o.swup.log(`Removed ${i.length} / added ${a.length} tags in head`);const l=(u=document.documentElement).lang!==(c=t.documentElement).lang?(u.lang=c.lang,u.lang):null;var u,c;if(l&&o.swup.log(`Updated lang attribute: ${l}`),o.options.awaitAssets){const e=function(e,t=0){return e.filter(r).map(e=>function(e,t=0){const s=t=>{(({href:e})=>Array.from(document.styleSheets).map(({href:e})=>e).includes(e))(e)?t():setTimeout(()=>s(t),10)};return new Promise(e=>{s(e),t>0&&setTimeout(e,t)})}(e,t))}(a,o.options.timeout);e.length&&(o.swup.log(`Waiting for ${e.length} assets to load`),await Promise.all(e))}},this.options=t({},this.defaults,e),this.options.persistAssets&&!this.options.persistTags&&(this.options.persistTags=\"link[rel=stylesheet], script[src], style\")}mount(){this.before(\"content:replace\",this.updateHead)}isPersistentTag(e){const{persistTags:t}=this.options;return\"function\"==typeof t?t(e):\"string\"==typeof t?e.matches(t):Boolean(t)}}export{o as default};\n//# sourceMappingURL=index.modern.js.map\n"],"names":["t","e","s","n","r","o","i","a","l","u","c"],"mappings":"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","x_google_ignoreList":[0]} \ No newline at end of file diff --git a/Target/_astro/index.modern.aa8fLSdp.js.map b/Target/_astro/index.modern.aa8fLSdp.js.map index 279c9a1e..94e05c10 100644 --- a/Target/_astro/index.modern.aa8fLSdp.js.map +++ b/Target/_astro/index.modern.aa8fLSdp.js.map @@ -1 +1 @@ -{"version":3,"file":"index.modern.aa8fLSdp.js","sources":["../../../../../../node_modules/@swup/body-class-plugin/dist/index.modern.js"],"sourcesContent":["import s from\"@swup/plugin\";function t(){return t=Object.assign?Object.assign.bind():function(s){for(var t=1;t=4.6\"},this.defaults={prefix:\"\"},this.options=void 0,this.updateBodyClass=s=>{this.updateClassNames(document.body,s.to.document.body)},this.options=t({},this.defaults,s)}mount(){this.on(\"content:replace\",this.updateBodyClass)}updateClassNames(s,t){const i=[...s.classList].filter(s=>this.isValidClassName(s)),a=[...t.classList].filter(s=>this.isValidClassName(s));s.classList.remove(...i),s.classList.add(...a)}isValidClassName(s){return s&&s.startsWith(this.options.prefix)}}export{i as default};\n//# sourceMappingURL=index.modern.js.map\n"],"names":["t","s","i","a"],"mappings":"+CAA4B,SAASA,GAAG,CAAC,OAAOA,EAAE,OAAO,OAAO,OAAO,OAAO,KAAM,EAAC,SAASC,EAAE,CAAC,QAAQD,EAAE,EAAEA,EAAE,UAAU,OAAOA,IAAI,CAAC,IAAIE,EAAE,UAAUF,CAAC,EAAE,QAAQ,KAAKE,EAAE,OAAO,UAAU,eAAe,KAAKA,EAAE,CAAC,IAAID,EAAE,CAAC,EAAEC,EAAE,CAAC,EAAE,CAAC,OAAOD,CAAC,EAAED,EAAE,MAAM,KAAK,SAAS,CAAC,CAAC,MAAME,UAAUD,CAAC,CAAC,YAAY,EAAE,CAAA,EAAG,CAAC,MAAO,EAAC,KAAK,KAAK,sBAAsB,KAAK,SAAS,CAAC,KAAK,OAAO,EAAE,KAAK,SAAS,CAAC,OAAO,EAAE,EAAE,KAAK,QAAQ,OAAO,KAAK,gBAAgBA,GAAG,CAAC,KAAK,iBAAiB,SAAS,KAAKA,EAAE,GAAG,SAAS,IAAI,CAAC,EAAE,KAAK,QAAQD,EAAE,CAAE,EAAC,KAAK,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,GAAG,kBAAkB,KAAK,eAAe,CAAC,CAAC,iBAAiB,EAAE,EAAE,CAAC,MAAME,EAAE,CAAC,GAAG,EAAE,SAAS,EAAE,OAAOD,GAAG,KAAK,iBAAiBA,CAAC,CAAC,EAAEE,EAAE,CAAC,GAAG,EAAE,SAAS,EAAE,OAAOF,GAAG,KAAK,iBAAiBA,CAAC,CAAC,EAAE,EAAE,UAAU,OAAO,GAAGC,CAAC,EAAE,EAAE,UAAU,IAAI,GAAGC,CAAC,CAAC,CAAC,iBAAiB,EAAE,CAAC,OAAO,GAAG,EAAE,WAAW,KAAK,QAAQ,MAAM,CAAC,CAAC","x_google_ignoreList":[0]} \ No newline at end of file +{"version":3,"file":"index.modern.aa8fLSdp.js","sources":["../../node_modules/@swup/body-class-plugin/dist/index.modern.js"],"sourcesContent":["import s from\"@swup/plugin\";function t(){return t=Object.assign?Object.assign.bind():function(s){for(var t=1;t=4.6\"},this.defaults={prefix:\"\"},this.options=void 0,this.updateBodyClass=s=>{this.updateClassNames(document.body,s.to.document.body)},this.options=t({},this.defaults,s)}mount(){this.on(\"content:replace\",this.updateBodyClass)}updateClassNames(s,t){const i=[...s.classList].filter(s=>this.isValidClassName(s)),a=[...t.classList].filter(s=>this.isValidClassName(s));s.classList.remove(...i),s.classList.add(...a)}isValidClassName(s){return s&&s.startsWith(this.options.prefix)}}export{i as default};\n//# sourceMappingURL=index.modern.js.map\n"],"names":["t","s","i","a"],"mappings":"+CAA4B,SAASA,GAAG,CAAC,OAAOA,EAAE,OAAO,OAAO,OAAO,OAAO,KAAM,EAAC,SAASC,EAAE,CAAC,QAAQD,EAAE,EAAEA,EAAE,UAAU,OAAOA,IAAI,CAAC,IAAIE,EAAE,UAAUF,CAAC,EAAE,QAAQ,KAAKE,EAAE,OAAO,UAAU,eAAe,KAAKA,EAAE,CAAC,IAAID,EAAE,CAAC,EAAEC,EAAE,CAAC,EAAE,CAAC,OAAOD,CAAC,EAAED,EAAE,MAAM,KAAK,SAAS,CAAC,CAAC,MAAME,UAAUD,CAAC,CAAC,YAAY,EAAE,CAAA,EAAG,CAAC,MAAO,EAAC,KAAK,KAAK,sBAAsB,KAAK,SAAS,CAAC,KAAK,OAAO,EAAE,KAAK,SAAS,CAAC,OAAO,EAAE,EAAE,KAAK,QAAQ,OAAO,KAAK,gBAAgBA,GAAG,CAAC,KAAK,iBAAiB,SAAS,KAAKA,EAAE,GAAG,SAAS,IAAI,CAAC,EAAE,KAAK,QAAQD,EAAE,CAAE,EAAC,KAAK,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,GAAG,kBAAkB,KAAK,eAAe,CAAC,CAAC,iBAAiB,EAAE,EAAE,CAAC,MAAME,EAAE,CAAC,GAAG,EAAE,SAAS,EAAE,OAAOD,GAAG,KAAK,iBAAiBA,CAAC,CAAC,EAAEE,EAAE,CAAC,GAAG,EAAE,SAAS,EAAE,OAAOF,GAAG,KAAK,iBAAiBA,CAAC,CAAC,EAAE,EAAE,UAAU,OAAO,GAAGC,CAAC,EAAE,EAAE,UAAU,IAAI,GAAGC,CAAC,CAAC,CAAC,iBAAiB,EAAE,CAAC,OAAO,GAAG,EAAE,WAAW,KAAK,QAAQ,MAAM,CAAC,CAAC","x_google_ignoreList":[0]} \ No newline at end of file diff --git a/Target/_astro/index.modern.ljjH5-f0.js.map b/Target/_astro/index.modern.ljjH5-f0.js.map index 8f1003f4..d8e52abf 100644 --- a/Target/_astro/index.modern.ljjH5-f0.js.map +++ b/Target/_astro/index.modern.ljjH5-f0.js.map @@ -1 +1 @@ -{"version":3,"file":"index.modern.ljjH5-f0.js","sources":["../../../../../../node_modules/scrl/dist/index.modern.js","../../../../../../node_modules/@swup/scroll-plugin/dist/index.modern.js"],"sourcesContent":["function t(){return t=Object.assign?Object.assign.bind():function(t){for(var i=1;i{if(t&&t.nodeType)this._targetPositionY=Math.round(t.getBoundingClientRect().top+window.pageYOffset);else{if(parseInt(this._targetPositionY)!==this._targetPositionY)return void console.error(\"Argument must be a number or an element.\");this._targetPositionY=Math.round(t)}this._targetPositionY>document.documentElement.scrollHeight-window.innerHeight&&(this._targetPositionY=document.documentElement.scrollHeight-window.innerHeight),this._positionY=document.body.scrollTop||document.documentElement.scrollTop,this._direction=this._positionY>this._targetPositionY?-1:1,this._targetPositionYWithOffset=this._targetPositionY+this._direction,this._velocityY=0,this._positionY!==this._targetPositionY?(this.options.onStart(),this._animate()):this.options.onAlreadyAtPositions()},this._animate=()=>{this._update(),this._render(),1===this._direction&&this._targetPositionY>this._positionY||-1===this._direction&&this._targetPositionY{const t=this._targetPositionYWithOffset-this._positionY;return this._velocityY+=t*this.options.acceleration,this._velocityY*=this.options.friction,this._positionY+=this._velocityY,Math.abs(t)},this._render=()=>{window.scrollTo(0,this._positionY)},this.options=t({},{onAlreadyAtPositions:()=>{},onCancel:()=>{},onEnd:()=>{},onStart:()=>{},onTick:()=>{},friction:.7,acceleration:.04},i),i&&i.friction&&(this.options.friction=1-i.friction),window.addEventListener(\"mousewheel\",t=>{this._raf&&(this.options.onCancel(),cancelAnimationFrame(this._raf),this._raf=null)},{passive:!0})}}export{i as default};\n//# sourceMappingURL=index.modern.js.map\n","import t from\"@swup/plugin\";import{queryAll as o}from\"swup\";import s from\"scrl\";function e(){return e=Object.assign?Object.assign.bind():function(t){for(var o=1;o=4.2.0\"},this.scrl=void 0,this.defaults={doScrollingRightAway:!1,animateScroll:{betweenPages:!0,samePageWithHash:!0,samePage:!0},scrollFriction:.3,scrollAcceleration:.04,getAnchorElement:void 0,offset:0,scrollContainers:\"[data-swup-scroll-container]\",shouldResetScrollPosition:()=>!0,markScrollTarget:!1},this.options=void 0,this.cachedScrollPositions={},this.previousScrollRestoration=void 0,this.currentCacheKey=void 0,this.getAnchorElement=(t=\"\")=>\"function\"==typeof this.options.getAnchorElement?this.options.getAnchorElement(t):this.swup.getAnchorElement(t),this.getOffset=t=>t?\"function\"==typeof this.options.offset?parseInt(String(this.options.offset(t)),10):parseInt(String(this.options.offset),10):0,this.onBeforeLinkToSelf=t=>{t.scroll.animate=this.shouldAnimate(\"samePage\")},this.handleScrollToTop=t=>{var o,s;return null==(o=(s=this.swup).scrollTo)||o.call(s,0,t.scroll.animate),!0},this.onBeforeLinkToAnchor=t=>{t.scroll.animate=this.shouldAnimate(\"samePageWithHash\")},this.handleScrollToAnchor=(t,{hash:o})=>this.maybeScrollToAnchor(o,t.scroll.animate),this.onBeforeVisitStart=t=>{t.scroll.scrolledToContent=!1,t.scroll.animate=this.shouldAnimate(\"betweenPages\")},this.onVisitStart=t=>{var o;this.cacheScrollPositions(t.from.url),this.maybeResetScrollPositions(t);const s=null!=(o=t.scroll.target)?o:t.to.hash;t.scroll.animate&&this.options.doScrollingRightAway&&!s&&this.doScrollingBetweenPages(t)},this.handleScrollToContent=t=>{t.scroll.scrolledToContent||this.doScrollingBetweenPages(t),this.restoreScrollContainers(t.to.url)},this.doScrollingBetweenPages=t=>{var o,s;if(t.history.popstate&&!t.animation.animate)return;const e=null!=(o=t.scroll.target)?o:t.to.hash;if(e&&this.maybeScrollToAnchor(e,t.scroll.animate))return;if(!t.scroll.reset)return;const l=this.getCachedScrollPositions(t.to.url),r=(null==l||null==(s=l.window)?void 0:s.top)||0;requestAnimationFrame(()=>{var o,s;return null==(o=(s=this.swup).scrollTo)?void 0:o.call(s,r,t.scroll.animate)}),t.scroll.scrolledToContent=!0},this.maybeResetScrollPositions=t=>{const{popstate:o}=t.history,{url:s}=t.to,{el:e}=t.trigger;o||e&&!this.options.shouldResetScrollPosition(e)||this.resetScrollPositions(s)},this.options=e({},this.defaults,t)}mount(){const t=this.swup;t.hooks.create(\"scroll:start\"),t.hooks.create(\"scroll:end\");const o=this.swup.createVisit({to:this.swup.currentPageUrl});this.scrl=new s({onStart:()=>t.hooks.callSync(\"scroll:start\",o,void 0),onEnd:()=>t.hooks.callSync(\"scroll:end\",o,void 0),onCancel:()=>t.hooks.callSync(\"scroll:end\",o,void 0),friction:this.options.scrollFriction,acceleration:this.options.scrollAcceleration}),t.scrollTo=(s,e=!0)=>{e?this.scrl.scrollTo(s):(t.hooks.callSync(\"scroll:start\",o,void 0),window.scrollTo(0,s),t.hooks.callSync(\"scroll:end\",o,void 0))},this.previousScrollRestoration=window.history.scrollRestoration,t.options.animateHistoryBrowsing&&(window.history.scrollRestoration=\"manual\"),this.updateScrollTarget=this.updateScrollTarget.bind(this),this.options.markScrollTarget&&(window.addEventListener(\"popstate\",this.updateScrollTarget),window.addEventListener(\"hashchange\",this.updateScrollTarget),this.on(\"page:view\",this.updateScrollTarget),this.on(\"link:anchor\",this.updateScrollTarget),this.on(\"link:self\",this.updateScrollTarget),this.updateScrollTarget()),this.before(\"visit:start\",this.onBeforeVisitStart,{priority:-1}),this.on(\"visit:start\",this.onVisitStart,{priority:1}),this.replace(\"content:scroll\",this.handleScrollToContent),this.before(\"link:self\",this.onBeforeLinkToSelf,{priority:-1}),this.replace(\"scroll:top\",this.handleScrollToTop),this.before(\"link:anchor\",this.onBeforeLinkToAnchor,{priority:-1}),this.replace(\"scroll:anchor\",this.handleScrollToAnchor)}unmount(){super.unmount(),this.previousScrollRestoration&&(window.history.scrollRestoration=this.previousScrollRestoration),window.removeEventListener(\"popstate\",this.updateScrollTarget),window.removeEventListener(\"hashchange\",this.updateScrollTarget),this.cachedScrollPositions={},delete this.swup.scrollTo,delete this.scrl}shouldAnimate(t){return\"boolean\"==typeof this.options.animateScroll?this.options.animateScroll:this.options.animateScroll[t]}maybeScrollToAnchor(t,o=!1){var s,e;if(!t)return!1;const l=this.getAnchorElement(t);if(!l)return console.warn(`Anchor target ${t} not found`),!1;if(!(l instanceof Element))return console.warn(`Anchor target ${t} is not a DOM node`),!1;const{top:r}=l.getBoundingClientRect(),i=r+window.scrollY-this.getOffset(l);return null==(s=(e=this.swup).scrollTo)||s.call(e,i,o),!0}cacheScrollPositions(t){const s=this.swup.resolveUrl(t),e=o(this.options.scrollContainers).map(t=>({top:t.scrollTop,left:t.scrollLeft})),l={window:{top:window.scrollY,left:window.scrollX},containers:e};this.cachedScrollPositions[s]=l}resetScrollPositions(t){const o=this.swup.resolveUrl(t);delete this.cachedScrollPositions[o]}getCachedScrollPositions(t){const o=this.swup.resolveUrl(t);return this.cachedScrollPositions[o]}restoreScrollContainers(t){const s=this.getCachedScrollPositions(t);s&&0!==s.containers.length&&o(this.options.scrollContainers).forEach((t,o)=>{const e=s.containers[o];null!=e&&(t.scrollTop=e.top,t.scrollLeft=e.left)})}updateScrollTarget(){var t;const{hash:o}=window.location,s=document.querySelector(\"[data-swup-scroll-target]\");let e=this.getAnchorElement(o);e instanceof HTMLBodyElement&&(e=null),s!==e&&(null==s||s.removeAttribute(\"data-swup-scroll-target\"),null==(t=e)||t.setAttribute(\"data-swup-scroll-target\",\"\"))}}export{l as default};\n//# sourceMappingURL=index.modern.js.map\n"],"names":["t","i","o","e","s","l","r"],"mappings":"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","x_google_ignoreList":[0,1]} \ No newline at end of file +{"version":3,"file":"index.modern.ljjH5-f0.js","sources":["../../../../../../node_modules/scrl/dist/index.modern.js","../../node_modules/@swup/scroll-plugin/dist/index.modern.js"],"sourcesContent":["function t(){return t=Object.assign?Object.assign.bind():function(t){for(var i=1;i{if(t&&t.nodeType)this._targetPositionY=Math.round(t.getBoundingClientRect().top+window.pageYOffset);else{if(parseInt(this._targetPositionY)!==this._targetPositionY)return void console.error(\"Argument must be a number or an element.\");this._targetPositionY=Math.round(t)}this._targetPositionY>document.documentElement.scrollHeight-window.innerHeight&&(this._targetPositionY=document.documentElement.scrollHeight-window.innerHeight),this._positionY=document.body.scrollTop||document.documentElement.scrollTop,this._direction=this._positionY>this._targetPositionY?-1:1,this._targetPositionYWithOffset=this._targetPositionY+this._direction,this._velocityY=0,this._positionY!==this._targetPositionY?(this.options.onStart(),this._animate()):this.options.onAlreadyAtPositions()},this._animate=()=>{this._update(),this._render(),1===this._direction&&this._targetPositionY>this._positionY||-1===this._direction&&this._targetPositionY{const t=this._targetPositionYWithOffset-this._positionY;return this._velocityY+=t*this.options.acceleration,this._velocityY*=this.options.friction,this._positionY+=this._velocityY,Math.abs(t)},this._render=()=>{window.scrollTo(0,this._positionY)},this.options=t({},{onAlreadyAtPositions:()=>{},onCancel:()=>{},onEnd:()=>{},onStart:()=>{},onTick:()=>{},friction:.7,acceleration:.04},i),i&&i.friction&&(this.options.friction=1-i.friction),window.addEventListener(\"mousewheel\",t=>{this._raf&&(this.options.onCancel(),cancelAnimationFrame(this._raf),this._raf=null)},{passive:!0})}}export{i as default};\n//# sourceMappingURL=index.modern.js.map\n","import t from\"@swup/plugin\";import{queryAll as o}from\"swup\";import s from\"scrl\";function e(){return e=Object.assign?Object.assign.bind():function(t){for(var o=1;o=4.2.0\"},this.scrl=void 0,this.defaults={doScrollingRightAway:!1,animateScroll:{betweenPages:!0,samePageWithHash:!0,samePage:!0},scrollFriction:.3,scrollAcceleration:.04,getAnchorElement:void 0,offset:0,scrollContainers:\"[data-swup-scroll-container]\",shouldResetScrollPosition:()=>!0,markScrollTarget:!1},this.options=void 0,this.cachedScrollPositions={},this.previousScrollRestoration=void 0,this.currentCacheKey=void 0,this.getAnchorElement=(t=\"\")=>\"function\"==typeof this.options.getAnchorElement?this.options.getAnchorElement(t):this.swup.getAnchorElement(t),this.getOffset=t=>t?\"function\"==typeof this.options.offset?parseInt(String(this.options.offset(t)),10):parseInt(String(this.options.offset),10):0,this.onBeforeLinkToSelf=t=>{t.scroll.animate=this.shouldAnimate(\"samePage\")},this.handleScrollToTop=t=>{var o,s;return null==(o=(s=this.swup).scrollTo)||o.call(s,0,t.scroll.animate),!0},this.onBeforeLinkToAnchor=t=>{t.scroll.animate=this.shouldAnimate(\"samePageWithHash\")},this.handleScrollToAnchor=(t,{hash:o})=>this.maybeScrollToAnchor(o,t.scroll.animate),this.onBeforeVisitStart=t=>{t.scroll.scrolledToContent=!1,t.scroll.animate=this.shouldAnimate(\"betweenPages\")},this.onVisitStart=t=>{var o;this.cacheScrollPositions(t.from.url),this.maybeResetScrollPositions(t);const s=null!=(o=t.scroll.target)?o:t.to.hash;t.scroll.animate&&this.options.doScrollingRightAway&&!s&&this.doScrollingBetweenPages(t)},this.handleScrollToContent=t=>{t.scroll.scrolledToContent||this.doScrollingBetweenPages(t),this.restoreScrollContainers(t.to.url)},this.doScrollingBetweenPages=t=>{var o,s;if(t.history.popstate&&!t.animation.animate)return;const e=null!=(o=t.scroll.target)?o:t.to.hash;if(e&&this.maybeScrollToAnchor(e,t.scroll.animate))return;if(!t.scroll.reset)return;const l=this.getCachedScrollPositions(t.to.url),r=(null==l||null==(s=l.window)?void 0:s.top)||0;requestAnimationFrame(()=>{var o,s;return null==(o=(s=this.swup).scrollTo)?void 0:o.call(s,r,t.scroll.animate)}),t.scroll.scrolledToContent=!0},this.maybeResetScrollPositions=t=>{const{popstate:o}=t.history,{url:s}=t.to,{el:e}=t.trigger;o||e&&!this.options.shouldResetScrollPosition(e)||this.resetScrollPositions(s)},this.options=e({},this.defaults,t)}mount(){const t=this.swup;t.hooks.create(\"scroll:start\"),t.hooks.create(\"scroll:end\");const o=this.swup.createVisit({to:this.swup.currentPageUrl});this.scrl=new s({onStart:()=>t.hooks.callSync(\"scroll:start\",o,void 0),onEnd:()=>t.hooks.callSync(\"scroll:end\",o,void 0),onCancel:()=>t.hooks.callSync(\"scroll:end\",o,void 0),friction:this.options.scrollFriction,acceleration:this.options.scrollAcceleration}),t.scrollTo=(s,e=!0)=>{e?this.scrl.scrollTo(s):(t.hooks.callSync(\"scroll:start\",o,void 0),window.scrollTo(0,s),t.hooks.callSync(\"scroll:end\",o,void 0))},this.previousScrollRestoration=window.history.scrollRestoration,t.options.animateHistoryBrowsing&&(window.history.scrollRestoration=\"manual\"),this.updateScrollTarget=this.updateScrollTarget.bind(this),this.options.markScrollTarget&&(window.addEventListener(\"popstate\",this.updateScrollTarget),window.addEventListener(\"hashchange\",this.updateScrollTarget),this.on(\"page:view\",this.updateScrollTarget),this.on(\"link:anchor\",this.updateScrollTarget),this.on(\"link:self\",this.updateScrollTarget),this.updateScrollTarget()),this.before(\"visit:start\",this.onBeforeVisitStart,{priority:-1}),this.on(\"visit:start\",this.onVisitStart,{priority:1}),this.replace(\"content:scroll\",this.handleScrollToContent),this.before(\"link:self\",this.onBeforeLinkToSelf,{priority:-1}),this.replace(\"scroll:top\",this.handleScrollToTop),this.before(\"link:anchor\",this.onBeforeLinkToAnchor,{priority:-1}),this.replace(\"scroll:anchor\",this.handleScrollToAnchor)}unmount(){super.unmount(),this.previousScrollRestoration&&(window.history.scrollRestoration=this.previousScrollRestoration),window.removeEventListener(\"popstate\",this.updateScrollTarget),window.removeEventListener(\"hashchange\",this.updateScrollTarget),this.cachedScrollPositions={},delete this.swup.scrollTo,delete this.scrl}shouldAnimate(t){return\"boolean\"==typeof this.options.animateScroll?this.options.animateScroll:this.options.animateScroll[t]}maybeScrollToAnchor(t,o=!1){var s,e;if(!t)return!1;const l=this.getAnchorElement(t);if(!l)return console.warn(`Anchor target ${t} not found`),!1;if(!(l instanceof Element))return console.warn(`Anchor target ${t} is not a DOM node`),!1;const{top:r}=l.getBoundingClientRect(),i=r+window.scrollY-this.getOffset(l);return null==(s=(e=this.swup).scrollTo)||s.call(e,i,o),!0}cacheScrollPositions(t){const s=this.swup.resolveUrl(t),e=o(this.options.scrollContainers).map(t=>({top:t.scrollTop,left:t.scrollLeft})),l={window:{top:window.scrollY,left:window.scrollX},containers:e};this.cachedScrollPositions[s]=l}resetScrollPositions(t){const o=this.swup.resolveUrl(t);delete this.cachedScrollPositions[o]}getCachedScrollPositions(t){const o=this.swup.resolveUrl(t);return this.cachedScrollPositions[o]}restoreScrollContainers(t){const s=this.getCachedScrollPositions(t);s&&0!==s.containers.length&&o(this.options.scrollContainers).forEach((t,o)=>{const e=s.containers[o];null!=e&&(t.scrollTop=e.top,t.scrollLeft=e.left)})}updateScrollTarget(){var t;const{hash:o}=window.location,s=document.querySelector(\"[data-swup-scroll-target]\");let e=this.getAnchorElement(o);e instanceof HTMLBodyElement&&(e=null),s!==e&&(null==s||s.removeAttribute(\"data-swup-scroll-target\"),null==(t=e)||t.setAttribute(\"data-swup-scroll-target\",\"\"))}}export{l as default};\n//# sourceMappingURL=index.modern.js.map\n"],"names":["t","i","o","e","s","l","r"],"mappings":"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","x_google_ignoreList":[0,1]} \ No newline at end of file diff --git a/Target/chunks/astro/server_BFaOE388.mjs.map b/Target/chunks/astro/server_BFaOE388.mjs.map index a78fd5f6..edc60b19 100644 --- a/Target/chunks/astro/server_BFaOE388.mjs.map +++ b/Target/chunks/astro/server_BFaOE388.mjs.map @@ -1 +1 @@ -{"version":3,"file":"server_BFaOE388.mjs","sources":["../../../../../../../node_modules/astro/dist/core/errors/errors-data.js","../../../../../../../node_modules/astro/dist/core/errors/utils.js","../../../../../../../node_modules/astro/dist/core/errors/printer.js","../../../../../../../node_modules/astro/dist/core/errors/errors.js","../../../../../../../node_modules/astro/dist/runtime/server/astro-component.js","../../../../../../../node_modules/astro/dist/core/constants.js","../../../../../../../node_modules/astro/dist/runtime/server/astro-global.js","../../../../../../../node_modules/astro/dist/runtime/server/util.js","../../../../../../../node_modules/astro/dist/runtime/server/escape.js","../../../../../../../node_modules/astro/dist/runtime/server/render/instruction.js","../../../../../../../node_modules/astro/dist/runtime/server/serialize.js","../../../../../../../node_modules/astro/dist/runtime/server/hydration.js","../../../../../../../node_modules/astro/dist/runtime/server/shorthash.js","../../../../../../../node_modules/astro/dist/runtime/server/render/astro/factory.js","../../../../../../../node_modules/astro/dist/runtime/server/render/astro/head-and-content.js","../../../../../../../node_modules/astro/dist/runtime/server/astro-island.prebuilt-dev.js","../../../../../../../node_modules/astro/dist/runtime/server/astro-island.prebuilt.js","../../../../../../../node_modules/astro/dist/runtime/server/scripts.js","../../../../../../../node_modules/astro/dist/runtime/server/render/util.js","../../../../../../../node_modules/astro/dist/runtime/server/render/head.js","../../../../../../../node_modules/astro/dist/runtime/server/render/astro/render-template.js","../../../../../../../node_modules/astro/dist/runtime/server/render/slot.js","../../../../../../../node_modules/astro/dist/runtime/server/render/common.js","../../../../../../../node_modules/astro/dist/runtime/server/render/any.js","../../../../../../../node_modules/astro/dist/runtime/server/render/astro/instance.js","../../../../../../../node_modules/astro/dist/runtime/server/render/dom.js","../../../../../../../node_modules/astro/dist/runtime/server/render/server-islands.js","../../../../../../../node_modules/astro/dist/runtime/server/render/component.js","../../../../../../../node_modules/astro/dist/runtime/server/render/script.js","../../../../../../../node_modules/astro/dist/runtime/server/transition.js","../../../../../../../node_modules/astro/dist/runtime/server/index.js"],"sourcesContent":["const UnknownCompilerError = {\n name: \"UnknownCompilerError\",\n title: \"Unknown compiler error.\",\n hint: \"This is almost always a problem with the Astro compiler, not your code. Please open an issue at https://astro.build/issues/compiler.\"\n};\nconst StaticRedirectNotAvailable = {\n name: \"StaticRedirectNotAvailable\",\n title: \"`Astro.redirect` is not available in static mode.\",\n message: \"Redirects are only available when using `output: 'server'` or `output: 'hybrid'`. Update your Astro config if you need SSR features.\",\n hint: \"See https://docs.astro.build/en/guides/server-side-rendering/ for more information on how to enable SSR.\"\n};\nconst ClientAddressNotAvailable = {\n name: \"ClientAddressNotAvailable\",\n title: \"`Astro.clientAddress` is not available in current adapter.\",\n message: (adapterName) => `\\`Astro.clientAddress\\` is not available in the \\`${adapterName}\\` adapter. File an issue with the adapter to add support.`\n};\nconst PrerenderClientAddressNotAvailable = {\n name: \"PrerenderClientAddressNotAvailable\",\n title: \"`Astro.clientAddress` cannot be used inside prerendered routes.\",\n message: `\\`Astro.clientAddress\\` cannot be used inside prerendered routes`\n};\nconst StaticClientAddressNotAvailable = {\n name: \"StaticClientAddressNotAvailable\",\n title: \"`Astro.clientAddress` is not available in static mode.\",\n message: \"`Astro.clientAddress` is only available when using `output: 'server'` or `output: 'hybrid'`. Update your Astro config if you need SSR features.\",\n hint: \"See https://docs.astro.build/en/guides/server-side-rendering/ for more information on how to enable SSR.\"\n};\nconst NoMatchingStaticPathFound = {\n name: \"NoMatchingStaticPathFound\",\n title: \"No static path found for requested path.\",\n message: (pathName) => `A \\`getStaticPaths()\\` route pattern was matched, but no matching static path was found for requested path \\`${pathName}\\`.`,\n hint: (possibleRoutes) => `Possible dynamic routes being matched: ${possibleRoutes.join(\", \")}.`\n};\nconst OnlyResponseCanBeReturned = {\n name: \"OnlyResponseCanBeReturned\",\n title: \"Invalid type returned by Astro page.\",\n message: (route, returnedValue) => `Route \\`${route ? route : \"\"}\\` returned a \\`${returnedValue}\\`. Only a [Response](https://developer.mozilla.org/en-US/docs/Web/API/Response) can be returned from Astro files.`,\n hint: \"See https://docs.astro.build/en/guides/server-side-rendering/#response for more information.\"\n};\nconst MissingMediaQueryDirective = {\n name: \"MissingMediaQueryDirective\",\n title: \"Missing value for `client:media` directive.\",\n message: 'Media query not provided for `client:media` directive. A media query similar to `client:media=\"(max-width: 600px)\"` must be provided'\n};\nconst NoMatchingRenderer = {\n name: \"NoMatchingRenderer\",\n title: \"No matching renderer found.\",\n message: (componentName, componentExtension, plural, validRenderersCount) => `Unable to render \\`${componentName}\\`.\n\n${validRenderersCount > 0 ? `There ${plural ? \"are\" : \"is\"} ${validRenderersCount} renderer${plural ? \"s\" : \"\"} configured in your \\`astro.config.mjs\\` file,\nbut ${plural ? \"none were\" : \"it was not\"} able to server-side render \\`${componentName}\\`.` : `No valid renderer was found ${componentExtension ? `for the \\`.${componentExtension}\\` file extension.` : `for this file extension.`}`}`,\n hint: (probableRenderers) => `Did you mean to enable the ${probableRenderers} integration?\n\nSee https://docs.astro.build/en/guides/framework-components/ for more information on how to install and configure integrations.`\n};\nconst NoClientEntrypoint = {\n name: \"NoClientEntrypoint\",\n title: \"No client entrypoint specified in renderer.\",\n message: (componentName, clientDirective, rendererName) => `\\`${componentName}\\` component has a \\`client:${clientDirective}\\` directive, but no client entrypoint was provided by \\`${rendererName}\\`.`,\n hint: \"See https://docs.astro.build/en/reference/integrations-reference/#addrenderer-option for more information on how to configure your renderer.\"\n};\nconst NoClientOnlyHint = {\n name: \"NoClientOnlyHint\",\n title: \"Missing hint on client:only directive.\",\n message: (componentName) => `Unable to render \\`${componentName}\\`. When using the \\`client:only\\` hydration strategy, Astro needs a hint to use the correct renderer.`,\n hint: (probableRenderers) => `Did you mean to pass \\`client:only=\"${probableRenderers}\"\\`? See https://docs.astro.build/en/reference/directives-reference/#clientonly for more information on client:only`\n};\nconst InvalidGetStaticPathParam = {\n name: \"InvalidGetStaticPathParam\",\n title: \"Invalid value returned by a `getStaticPaths` path.\",\n message: (paramType) => `Invalid params given to \\`getStaticPaths\\` path. Expected an \\`object\\`, got \\`${paramType}\\``,\n hint: \"See https://docs.astro.build/en/reference/api-reference/#getstaticpaths for more information on getStaticPaths.\"\n};\nconst InvalidGetStaticPathsEntry = {\n name: \"InvalidGetStaticPathsEntry\",\n title: \"Invalid entry inside getStaticPath's return value\",\n message: (entryType) => `Invalid entry returned by getStaticPaths. Expected an object, got \\`${entryType}\\``,\n hint: \"If you're using a `.map` call, you might be looking for `.flatMap()` instead. See https://docs.astro.build/en/reference/api-reference/#getstaticpaths for more information on getStaticPaths.\"\n};\nconst InvalidGetStaticPathsReturn = {\n name: \"InvalidGetStaticPathsReturn\",\n title: \"Invalid value returned by getStaticPaths.\",\n message: (returnType) => `Invalid type returned by \\`getStaticPaths\\`. Expected an \\`array\\`, got \\`${returnType}\\``,\n hint: \"See https://docs.astro.build/en/reference/api-reference/#getstaticpaths for more information on getStaticPaths.\"\n};\nconst GetStaticPathsRemovedRSSHelper = {\n name: \"GetStaticPathsRemovedRSSHelper\",\n title: \"getStaticPaths RSS helper is not available anymore.\",\n message: \"The RSS helper has been removed from `getStaticPaths`. Try the new @astrojs/rss package instead.\",\n hint: \"See https://docs.astro.build/en/guides/rss/ for more information.\"\n};\nconst GetStaticPathsExpectedParams = {\n name: \"GetStaticPathsExpectedParams\",\n title: \"Missing params property on `getStaticPaths` route.\",\n message: \"Missing or empty required `params` property on `getStaticPaths` route.\",\n hint: \"See https://docs.astro.build/en/reference/api-reference/#getstaticpaths for more information on getStaticPaths.\"\n};\nconst GetStaticPathsInvalidRouteParam = {\n name: \"GetStaticPathsInvalidRouteParam\",\n title: \"Invalid value for `getStaticPaths` route parameter.\",\n message: (key, value, valueType) => `Invalid getStaticPaths route parameter for \\`${key}\\`. Expected undefined, a string or a number, received \\`${valueType}\\` (\\`${value}\\`)`,\n hint: \"See https://docs.astro.build/en/reference/api-reference/#getstaticpaths for more information on getStaticPaths.\"\n};\nconst GetStaticPathsRequired = {\n name: \"GetStaticPathsRequired\",\n title: \"`getStaticPaths()` function required for dynamic routes.\",\n message: \"`getStaticPaths()` function is required for dynamic routes. Make sure that you `export` a `getStaticPaths` function from your dynamic route.\",\n hint: `See https://docs.astro.build/en/guides/routing/#dynamic-routes for more information on dynamic routes.\n\nAlternatively, set \\`output: \"server\"\\` or \\`output: \"hybrid\"\\` in your Astro config file to switch to a non-static server build. This error can also occur if using \\`export const prerender = true;\\`.\nSee https://docs.astro.build/en/guides/server-side-rendering/ for more information on non-static rendering.`\n};\nconst ReservedSlotName = {\n name: \"ReservedSlotName\",\n title: \"Invalid slot name.\",\n message: (slotName) => `Unable to create a slot named \\`${slotName}\\`. \\`${slotName}\\` is a reserved slot name. Please update the name of this slot.`\n};\nconst NoAdapterInstalled = {\n name: \"NoAdapterInstalled\",\n title: \"Cannot use Server-side Rendering without an adapter.\",\n message: `Cannot use \\`output: 'server'\\` or \\`output: 'hybrid'\\` without an adapter. Please install and configure the appropriate server adapter for your final deployment.`,\n hint: \"See https://docs.astro.build/en/guides/server-side-rendering/ for more information.\"\n};\nconst NoMatchingImport = {\n name: \"NoMatchingImport\",\n title: \"No import found for component.\",\n message: (componentName) => `Could not render \\`${componentName}\\`. No matching import has been found for \\`${componentName}\\`.`,\n hint: \"Please make sure the component is properly imported.\"\n};\nconst InvalidPrerenderExport = {\n name: \"InvalidPrerenderExport\",\n title: \"Invalid prerender export.\",\n message(prefix, suffix, isHydridOutput) {\n const defaultExpectedValue = isHydridOutput ? \"false\" : \"true\";\n let msg = `A \\`prerender\\` export has been detected, but its value cannot be statically analyzed.`;\n if (prefix !== \"const\") msg += `\nExpected \\`const\\` declaration but got \\`${prefix}\\`.`;\n if (suffix !== \"true\")\n msg += `\nExpected \\`${defaultExpectedValue}\\` value but got \\`${suffix}\\`.`;\n return msg;\n },\n hint: \"Mutable values declared at runtime are not supported. Please make sure to use exactly `export const prerender = true`.\"\n};\nconst InvalidComponentArgs = {\n name: \"InvalidComponentArgs\",\n title: \"Invalid component arguments.\",\n message: (name) => `Invalid arguments passed to${name ? ` <${name}>` : \"\"} component.`,\n hint: \"Astro components cannot be rendered directly via function call, such as `Component()` or `{items.map(Component)}`.\"\n};\nconst PageNumberParamNotFound = {\n name: \"PageNumberParamNotFound\",\n title: \"Page number param not found.\",\n message: (paramName) => `[paginate()] page number param \\`${paramName}\\` not found in your filepath.`,\n hint: \"Rename your file to `[page].astro` or `[...page].astro`.\"\n};\nconst ImageMissingAlt = {\n name: \"ImageMissingAlt\",\n title: 'Image missing required \"alt\" property.',\n message: 'Image missing \"alt\" property. \"alt\" text is required to describe important images on the page.',\n hint: 'Use an empty string (\"\") for decorative images.'\n};\nconst InvalidImageService = {\n name: \"InvalidImageService\",\n title: \"Error while loading image service.\",\n message: \"There was an error loading the configured image service. Please see the stack trace for more information.\"\n};\nconst MissingImageDimension = {\n name: \"MissingImageDimension\",\n title: \"Missing image dimensions\",\n message: (missingDimension, imageURL) => `Missing ${missingDimension === \"both\" ? \"width and height attributes\" : `${missingDimension} attribute`} for ${imageURL}. When using remote images, both dimensions are required unless in order to avoid CLS.`,\n hint: \"If your image is inside your `src` folder, you probably meant to import it instead. See [the Imports guide for more information](https://docs.astro.build/en/guides/imports/#other-assets). You can also use `inferSize={true}` for remote images to get the original dimensions.\"\n};\nconst FailedToFetchRemoteImageDimensions = {\n name: \"FailedToFetchRemoteImageDimensions\",\n title: \"Failed to retrieve remote image dimensions\",\n message: (imageURL) => `Failed to get the dimensions for ${imageURL}.`,\n hint: \"Verify your remote image URL is accurate, and that you are not using `inferSize` with a file located in your `public/` folder.\"\n};\nconst UnsupportedImageFormat = {\n name: \"UnsupportedImageFormat\",\n title: \"Unsupported image format\",\n message: (format, imagePath, supportedFormats) => `Received unsupported format \\`${format}\\` from \\`${imagePath}\\`. Currently only ${supportedFormats.join(\n \", \"\n )} are supported by our image services.`,\n hint: \"Using an `img` tag directly instead of the `Image` component might be what you're looking for.\"\n};\nconst UnsupportedImageConversion = {\n name: \"UnsupportedImageConversion\",\n title: \"Unsupported image conversion\",\n message: \"Converting between vector (such as SVGs) and raster (such as PNGs and JPEGs) images is not currently supported.\"\n};\nconst PrerenderDynamicEndpointPathCollide = {\n name: \"PrerenderDynamicEndpointPathCollide\",\n title: \"Prerendered dynamic endpoint has path collision.\",\n message: (pathname) => `Could not render \\`${pathname}\\` with an \\`undefined\\` param as the generated path will collide during prerendering. Prevent passing \\`undefined\\` as \\`params\\` for the endpoint's \\`getStaticPaths()\\` function, or add an additional extension to the endpoint's filename.`,\n hint: (filename) => `Rename \\`${filename}\\` to \\`${filename.replace(/\\.(?:js|ts)/, (m) => `.json` + m)}\\``\n};\nconst ExpectedImage = {\n name: \"ExpectedImage\",\n title: \"Expected src to be an image.\",\n message: (src, typeofOptions, fullOptions) => `Expected \\`src\\` property for \\`getImage\\` or \\`\\` to be either an ESM imported image or a string with the path of a remote image. Received \\`${src}\\` (type: \\`${typeofOptions}\\`).\n\nFull serialized options received: \\`${fullOptions}\\`.`,\n hint: \"This error can often happen because of a wrong path. Make sure the path to your image is correct. If you're passing an async function, make sure to call and await it.\"\n};\nconst ExpectedImageOptions = {\n name: \"ExpectedImageOptions\",\n title: \"Expected image options.\",\n message: (options) => `Expected getImage() parameter to be an object. Received \\`${options}\\`.`\n};\nconst ExpectedNotESMImage = {\n name: \"ExpectedNotESMImage\",\n title: \"Expected image options, not an ESM-imported image.\",\n message: \"An ESM-imported image cannot be passed directly to `getImage()`. Instead, pass an object with the image in the `src` property.\",\n hint: \"Try changing `getImage(myImage)` to `getImage({ src: myImage })`\"\n};\nconst IncompatibleDescriptorOptions = {\n name: \"IncompatibleDescriptorOptions\",\n title: \"Cannot set both `densities` and `widths`\",\n message: \"Only one of `densities` or `widths` can be specified. In most cases, you'll probably want to use only `widths` if you require specific widths.\",\n hint: \"Those attributes are used to construct a `srcset` attribute, which cannot have both `x` and `w` descriptors.\"\n};\nconst ImageNotFound = {\n name: \"ImageNotFound\",\n title: \"Image not found.\",\n message: (imagePath) => `Could not find requested image \\`${imagePath}\\`. Does it exist?`,\n hint: \"This is often caused by a typo in the image path. Please make sure the file exists, and is spelled correctly.\"\n};\nconst NoImageMetadata = {\n name: \"NoImageMetadata\",\n title: \"Could not process image metadata.\",\n message: (imagePath) => `Could not process image metadata${imagePath ? ` for \\`${imagePath}\\`` : \"\"}.`,\n hint: \"This is often caused by a corrupted or malformed image. Re-exporting the image from your image editor may fix this issue.\"\n};\nconst MarkdownImageNotFound = {\n name: \"MarkdownImageNotFound\",\n title: \"Image not found.\",\n message: (imagePath, fullImagePath) => `Could not find requested image \\`${imagePath}\\`${fullImagePath ? ` at \\`${fullImagePath}\\`.` : \".\"}`,\n hint: \"This is often caused by a typo in the image path. Please make sure the file exists, and is spelled correctly.\"\n};\nconst CouldNotTransformImage = {\n name: \"CouldNotTransformImage\",\n title: \"Could not transform image.\",\n message: (imagePath) => `Could not transform image \\`${imagePath}\\`. See the stack trace for more information.`,\n hint: \"This is often caused by a corrupted or malformed image. Re-exporting the image from your image editor may fix this issue.\"\n};\nconst ResponseSentError = {\n name: \"ResponseSentError\",\n title: \"Unable to set response.\",\n message: \"The response has already been sent to the browser and cannot be altered.\"\n};\nconst MiddlewareNoDataOrNextCalled = {\n name: \"MiddlewareNoDataOrNextCalled\",\n title: \"The middleware didn't return a `Response`.\",\n message: \"Make sure your middleware returns a `Response` object, either directly or by returning the `Response` from calling the `next` function.\"\n};\nconst MiddlewareNotAResponse = {\n name: \"MiddlewareNotAResponse\",\n title: \"The middleware returned something that is not a `Response` object.\",\n message: \"Any data returned from middleware must be a valid `Response` object.\"\n};\nconst EndpointDidNotReturnAResponse = {\n name: \"EndpointDidNotReturnAResponse\",\n title: \"The endpoint did not return a `Response`.\",\n message: \"An endpoint must return either a `Response`, or a `Promise` that resolves with a `Response`.\"\n};\nconst LocalsNotAnObject = {\n name: \"LocalsNotAnObject\",\n title: \"Value assigned to `locals` is not accepted.\",\n message: \"`locals` can only be assigned to an object. Other values like numbers, strings, etc. are not accepted.\",\n hint: \"If you tried to remove some information from the `locals` object, try to use `delete` or set the property to `undefined`.\"\n};\nconst AstroResponseHeadersReassigned = {\n name: \"AstroResponseHeadersReassigned\",\n title: \"`Astro.response.headers` must not be reassigned.\",\n message: \"Individual headers can be added to and removed from `Astro.response.headers`, but it must not be replaced with another instance of `Headers` altogether.\",\n hint: \"Consider using `Astro.response.headers.add()`, and `Astro.response.headers.delete()`.\"\n};\nconst MiddlewareCantBeLoaded = {\n name: \"MiddlewareCantBeLoaded\",\n title: \"Can't load the middleware.\",\n message: \"An unknown error was thrown while loading your middleware.\"\n};\nconst LocalImageUsedWrongly = {\n name: \"LocalImageUsedWrongly\",\n title: \"Local images must be imported.\",\n message: (imageFilePath) => `\\`Image\\`'s and \\`getImage\\`'s \\`src\\` parameter must be an imported image or an URL, it cannot be a string filepath. Received \\`${imageFilePath}\\`.`,\n hint: \"If you want to use an image from your `src` folder, you need to either import it or if the image is coming from a content collection, use the [image() schema helper](https://docs.astro.build/en/guides/images/#images-in-content-collections). See https://docs.astro.build/en/guides/images/#src-required for more information on the `src` property.\"\n};\nconst AstroGlobUsedOutside = {\n name: \"AstroGlobUsedOutside\",\n title: \"Astro.glob() used outside of an Astro file.\",\n message: (globStr) => `\\`Astro.glob(${globStr})\\` can only be used in \\`.astro\\` files. \\`import.meta.glob(${globStr})\\` can be used instead to achieve a similar result.`,\n hint: \"See Vite's documentation on `import.meta.glob` for more information: https://vitejs.dev/guide/features.html#glob-import\"\n};\nconst AstroGlobNoMatch = {\n name: \"AstroGlobNoMatch\",\n title: \"Astro.glob() did not match any files.\",\n message: (globStr) => `\\`Astro.glob(${globStr})\\` did not return any matching files.`,\n hint: \"Check the pattern for typos.\"\n};\nconst RedirectWithNoLocation = {\n name: \"RedirectWithNoLocation\",\n title: \"A redirect must be given a location with the `Location` header.\"\n};\nconst InvalidDynamicRoute = {\n name: \"InvalidDynamicRoute\",\n title: \"Invalid dynamic route.\",\n message: (route, invalidParam, received) => `The ${invalidParam} param for route ${route} is invalid. Received **${received}**.`\n};\nconst MissingSharp = {\n name: \"MissingSharp\",\n title: \"Could not find Sharp.\",\n message: \"Could not find Sharp. Please install Sharp (`sharp`) manually into your project or migrate to another image service.\",\n hint: \"See Sharp's installation instructions for more information: https://sharp.pixelplumbing.com/install. If you are not relying on `astro:assets` to optimize, transform, or process any images, you can configure a passthrough image service instead of installing Sharp. See https://docs.astro.build/en/reference/errors/missing-sharp for more information.\\n\\nSee https://docs.astro.build/en/guides/images/#default-image-service for more information on how to migrate to another image service.\"\n};\nconst UnknownViteError = {\n name: \"UnknownViteError\",\n title: \"Unknown Vite Error.\"\n};\nconst FailedToLoadModuleSSR = {\n name: \"FailedToLoadModuleSSR\",\n title: \"Could not import file.\",\n message: (importName) => `Could not import \\`${importName}\\`.`,\n hint: \"This is often caused by a typo in the import path. Please make sure the file exists.\"\n};\nconst InvalidGlob = {\n name: \"InvalidGlob\",\n title: \"Invalid glob pattern.\",\n message: (globPattern) => `Invalid glob pattern: \\`${globPattern}\\`. Glob patterns must start with './', '../' or '/'.`,\n hint: \"See https://docs.astro.build/en/guides/imports/#glob-patterns for more information on supported glob patterns.\"\n};\nconst FailedToFindPageMapSSR = {\n name: \"FailedToFindPageMapSSR\",\n title: \"Astro couldn't find the correct page to render\",\n message: \"Astro couldn't find the correct page to render, probably because it wasn't correctly mapped for SSR usage. This is an internal error. Please file an issue.\"\n};\nconst MissingLocale = {\n name: \"MissingLocaleError\",\n title: \"The provided locale does not exist.\",\n message: (locale) => `The locale/path \\`${locale}\\` does not exist in the configured \\`i18n.locales\\`.`\n};\nconst MissingIndexForInternationalization = {\n name: \"MissingIndexForInternationalizationError\",\n title: \"Index page not found.\",\n message: (defaultLocale) => `Could not find index page. A root index page is required in order to create a redirect to the index URL of the default locale. (\\`/${defaultLocale}\\`)`,\n hint: (src) => `Create an index page (\\`index.astro, index.md, etc.\\`) in \\`${src}\\`.`\n};\nconst IncorrectStrategyForI18n = {\n name: \"IncorrectStrategyForI18n\",\n title: \"You can't use the current function with the current strategy\",\n message: (functionName) => `The function \\`${functionName}\\` can only be used when the \\`i18n.routing.strategy\\` is set to \\`\"manual\"\\`.`\n};\nconst NoPrerenderedRoutesWithDomains = {\n name: \"NoPrerenderedRoutesWithDomains\",\n title: \"Prerendered routes aren't supported when internationalization domains are enabled.\",\n message: (component) => `Static pages aren't yet supported with multiple domains. To enable this feature, you must disable prerendering for the page ${component}`\n};\nconst MissingMiddlewareForInternationalization = {\n name: \"MissingMiddlewareForInternationalization\",\n title: \"Enabled manual internationalization routing without having a middleware.\",\n message: \"Your configuration setting `i18n.routing: 'manual'` requires you to provide your own i18n `middleware` file.\"\n};\nconst RewriteEncounteredAnError = {\n name: \"RewriteEncounteredAnError\",\n title: \"Astro couldn't find the route to rewrite, or if was found but it emitted an error during the rendering phase.\",\n message: (route, stack) => `The route ${route} that you tried to render doesn't exist, or it emitted an error during the rendering phase. ${stack ? stack : \"\"}.`\n};\nconst CantRenderPage = {\n name: \"CantRenderPage\",\n title: \"Astro can't render the route.\",\n message: \"Astro cannot find any content to render for this route. There is no file or redirect associated with this route.\",\n hint: \"If you expect to find a route here, this may be an Astro bug. Please file an issue/restart the dev server\"\n};\nconst UnhandledRejection = {\n name: \"UnhandledRejection\",\n title: \"Unhandled rejection\",\n message: (stack) => `Astro detected an unhandled rejection. Here's the stack trace:\n${stack}`,\n hint: \"Make sure your promises all have an `await` or a `.catch()` handler.\"\n};\nconst i18nNotEnabled = {\n name: \"i18nNotEnabled\",\n title: \"i18n Not Enabled\",\n message: \"The `astro:i18n` module can not be used without enabling i18n in your Astro config.\",\n hint: \"See https://docs.astro.build/en/guides/internationalization for a guide on setting up i18n.\"\n};\nconst i18nNoLocaleFoundInPath = {\n name: \"i18nNoLocaleFoundInPath\",\n title: \"The path doesn't contain any locale\",\n message: \"You tried to use an i18n utility on a path that doesn't contain any locale. You can use `pathHasLocale` first to determine if the path has a locale.\"\n};\nconst RouteNotFound = {\n name: \"RouteNotFound\",\n title: \"Route not found.\",\n message: `Astro could not find a route that matches the one you requested.`\n};\nconst EnvInvalidVariables = {\n name: \"EnvInvalidVariables\",\n title: \"Invalid Environment Variables\",\n message: (errors) => `The following environment variables defined in \\`experimental.env.schema\\` are invalid:\n\n${errors.map((err) => `- ${err}`).join(\"\\n\")}\n`\n};\nconst EnvUnsupportedGetSecret = {\n name: \"EnvUnsupportedGetSecret\",\n title: \"Unsupported astro:env getSecret\",\n message: \"`astro:env/server` exported function `getSecret` is not supported by your adapter.\"\n};\nconst ServerOnlyModule = {\n name: \"ServerOnlyModule\",\n title: \"Module is only available server-side\",\n message: (name) => `The \"${name}\" module is only available server-side.`\n};\nconst RewriteWithBodyUsed = {\n name: \"RewriteWithBodyUsed\",\n title: \"Cannot use Astro.rewrite after the request body has been read\",\n message: \"Astro.rewrite() cannot be used if the request body has already been read. If you need to read the body, first clone the request.\"\n};\nconst UnknownCSSError = {\n name: \"UnknownCSSError\",\n title: \"Unknown CSS Error.\"\n};\nconst CSSSyntaxError = {\n name: \"CSSSyntaxError\",\n title: \"CSS Syntax Error.\"\n};\nconst UnknownMarkdownError = {\n name: \"UnknownMarkdownError\",\n title: \"Unknown Markdown Error.\"\n};\nconst MarkdownFrontmatterParseError = {\n name: \"MarkdownFrontmatterParseError\",\n title: \"Failed to parse Markdown frontmatter.\"\n};\nconst InvalidFrontmatterInjectionError = {\n name: \"InvalidFrontmatterInjectionError\",\n title: \"Invalid frontmatter injection.\",\n message: 'A remark or rehype plugin attempted to inject invalid frontmatter. Ensure \"astro.frontmatter\" is set to a valid JSON object that is not `null` or `undefined`.',\n hint: \"See the frontmatter injection docs https://docs.astro.build/en/guides/markdown-content/#modifying-frontmatter-programmatically for more information.\"\n};\nconst MdxIntegrationMissingError = {\n name: \"MdxIntegrationMissingError\",\n title: \"MDX integration missing.\",\n message: (file) => `Unable to render ${file}. Ensure that the \\`@astrojs/mdx\\` integration is installed.`,\n hint: \"See the MDX integration docs for installation and usage instructions: https://docs.astro.build/en/guides/integrations-guide/mdx/\"\n};\nconst UnknownConfigError = {\n name: \"UnknownConfigError\",\n title: \"Unknown configuration error.\"\n};\nconst ConfigNotFound = {\n name: \"ConfigNotFound\",\n title: \"Specified configuration file not found.\",\n message: (configFile) => `Unable to resolve \\`--config \"${configFile}\"\\`. Does the file exist?`\n};\nconst ConfigLegacyKey = {\n name: \"ConfigLegacyKey\",\n title: \"Legacy configuration detected.\",\n message: (legacyConfigKey) => `Legacy configuration detected: \\`${legacyConfigKey}\\`.`,\n hint: \"Please update your configuration to the new format.\\nSee https://astro.build/config for more information.\"\n};\nconst UnknownCLIError = {\n name: \"UnknownCLIError\",\n title: \"Unknown CLI Error.\"\n};\nconst GenerateContentTypesError = {\n name: \"GenerateContentTypesError\",\n title: \"Failed to generate content types.\",\n message: (errorMessage) => `\\`astro sync\\` command failed to generate content collection types: ${errorMessage}`,\n hint: \"Check your `src/content/config.*` file for typos.\"\n};\nconst UnknownContentCollectionError = {\n name: \"UnknownContentCollectionError\",\n title: \"Unknown Content Collection Error.\"\n};\nconst InvalidContentEntryFrontmatterError = {\n name: \"InvalidContentEntryFrontmatterError\",\n title: \"Content entry frontmatter does not match schema.\",\n message(collection, entryId, error) {\n return [\n `**${String(collection)} \\u2192 ${String(\n entryId\n )}** frontmatter does not match collection schema.`,\n ...error.errors.map((zodError) => zodError.message)\n ].join(\"\\n\");\n },\n hint: \"See https://docs.astro.build/en/guides/content-collections/ for more information on content schemas.\"\n};\nconst InvalidContentEntrySlugError = {\n name: \"InvalidContentEntrySlugError\",\n title: \"Invalid content entry slug.\",\n message(collection, entryId) {\n return `${String(collection)} \\u2192 ${String(\n entryId\n )} has an invalid slug. \\`slug\\` must be a string.`;\n },\n hint: \"See https://docs.astro.build/en/guides/content-collections/ for more on the `slug` field.\"\n};\nconst ContentSchemaContainsSlugError = {\n name: \"ContentSchemaContainsSlugError\",\n title: \"Content Schema should not contain `slug`.\",\n message: (collectionName) => `A content collection schema should not contain \\`slug\\` since it is reserved for slug generation. Remove this from your ${collectionName} collection schema.`,\n hint: \"See https://docs.astro.build/en/guides/content-collections/ for more on the `slug` field.\"\n};\nconst CollectionDoesNotExistError = {\n name: \"CollectionDoesNotExistError\",\n title: \"Collection does not exist\",\n message: (collectionName) => `The collection **${collectionName}** does not exist. Ensure a collection directory with this name exists.`,\n hint: \"See https://docs.astro.build/en/guides/content-collections/ for more on creating collections.\"\n};\nconst MixedContentDataCollectionError = {\n name: \"MixedContentDataCollectionError\",\n title: \"Content and data cannot be in same collection.\",\n message: (collectionName) => `**${collectionName}** contains a mix of content and data entries. All entries must be of the same type.`,\n hint: \"Store data entries in a new collection separate from your content collection.\"\n};\nconst ContentCollectionTypeMismatchError = {\n name: \"ContentCollectionTypeMismatchError\",\n title: \"Collection contains entries of a different type.\",\n message: (collection, expectedType, actualType) => `${collection} contains ${expectedType} entries, but is configured as a ${actualType} collection.`\n};\nconst DataCollectionEntryParseError = {\n name: \"DataCollectionEntryParseError\",\n title: \"Data collection entry failed to parse.\",\n message(entryId, errorMessage) {\n return `**${entryId}** failed to parse: ${errorMessage}`;\n },\n hint: \"Ensure your data entry is an object with valid JSON (for `.json` entries) or YAML (for `.yaml` entries).\"\n};\nconst DuplicateContentEntrySlugError = {\n name: \"DuplicateContentEntrySlugError\",\n title: \"Duplicate content entry slug.\",\n message(collection, slug, preExisting, alsoFound) {\n return `**${collection}** contains multiple entries with the same slug: \\`${slug}\\`. Slugs must be unique.\n\nEntries: \n- ${preExisting}\n- ${alsoFound}`;\n }\n};\nconst ActionsWithoutServerOutputError = {\n name: \"ActionsWithoutServerOutputError\",\n title: \"Actions must be used with server output.\",\n message: \"Actions enabled without setting a server build output. A server is required to create callable backend functions. To deploy routes to a server, add a server adapter to your astro config.\",\n hint: \"Learn about on-demand rendering: https://docs.astro.build/en/basics/rendering-modes/#on-demand-rendered\"\n};\nconst UnsupportedConfigTransformError = {\n name: \"UnsupportedConfigTransformError\",\n title: \"Unsupported transform in content config.\",\n message: (parseError) => `\\`transform()\\` functions in your content config must return valid JSON, or data types compatible with the devalue library (including Dates, Maps, and Sets).\nFull error: ${parseError}`,\n hint: \"See the devalue library for all supported types: https://github.com/rich-harris/devalue\"\n};\nconst UnknownError = { name: \"UnknownError\", title: \"Unknown Error.\" };\nexport {\n ActionsWithoutServerOutputError,\n AstroGlobNoMatch,\n AstroGlobUsedOutside,\n AstroResponseHeadersReassigned,\n CSSSyntaxError,\n CantRenderPage,\n ClientAddressNotAvailable,\n CollectionDoesNotExistError,\n ConfigLegacyKey,\n ConfigNotFound,\n ContentCollectionTypeMismatchError,\n ContentSchemaContainsSlugError,\n CouldNotTransformImage,\n DataCollectionEntryParseError,\n DuplicateContentEntrySlugError,\n EndpointDidNotReturnAResponse,\n EnvInvalidVariables,\n EnvUnsupportedGetSecret,\n ExpectedImage,\n ExpectedImageOptions,\n ExpectedNotESMImage,\n FailedToFetchRemoteImageDimensions,\n FailedToFindPageMapSSR,\n FailedToLoadModuleSSR,\n GenerateContentTypesError,\n GetStaticPathsExpectedParams,\n GetStaticPathsInvalidRouteParam,\n GetStaticPathsRemovedRSSHelper,\n GetStaticPathsRequired,\n ImageMissingAlt,\n ImageNotFound,\n IncompatibleDescriptorOptions,\n IncorrectStrategyForI18n,\n InvalidComponentArgs,\n InvalidContentEntryFrontmatterError,\n InvalidContentEntrySlugError,\n InvalidDynamicRoute,\n InvalidFrontmatterInjectionError,\n InvalidGetStaticPathParam,\n InvalidGetStaticPathsEntry,\n InvalidGetStaticPathsReturn,\n InvalidGlob,\n InvalidImageService,\n InvalidPrerenderExport,\n LocalImageUsedWrongly,\n LocalsNotAnObject,\n MarkdownFrontmatterParseError,\n MarkdownImageNotFound,\n MdxIntegrationMissingError,\n MiddlewareCantBeLoaded,\n MiddlewareNoDataOrNextCalled,\n MiddlewareNotAResponse,\n MissingImageDimension,\n MissingIndexForInternationalization,\n MissingLocale,\n MissingMediaQueryDirective,\n MissingMiddlewareForInternationalization,\n MissingSharp,\n MixedContentDataCollectionError,\n NoAdapterInstalled,\n NoClientEntrypoint,\n NoClientOnlyHint,\n NoImageMetadata,\n NoMatchingImport,\n NoMatchingRenderer,\n NoMatchingStaticPathFound,\n NoPrerenderedRoutesWithDomains,\n OnlyResponseCanBeReturned,\n PageNumberParamNotFound,\n PrerenderClientAddressNotAvailable,\n PrerenderDynamicEndpointPathCollide,\n RedirectWithNoLocation,\n ReservedSlotName,\n ResponseSentError,\n RewriteEncounteredAnError,\n RewriteWithBodyUsed,\n RouteNotFound,\n ServerOnlyModule,\n StaticClientAddressNotAvailable,\n StaticRedirectNotAvailable,\n UnhandledRejection,\n UnknownCLIError,\n UnknownCSSError,\n UnknownCompilerError,\n UnknownConfigError,\n UnknownContentCollectionError,\n UnknownError,\n UnknownMarkdownError,\n UnknownViteError,\n UnsupportedConfigTransformError,\n UnsupportedImageConversion,\n UnsupportedImageFormat,\n i18nNoLocaleFoundInPath,\n i18nNotEnabled\n};\n","function positionAt(offset, text) {\n const lineOffsets = getLineOffsets(text);\n offset = Math.max(0, Math.min(text.length, offset));\n let low = 0;\n let high = lineOffsets.length;\n if (high === 0) {\n return {\n line: 0,\n column: offset\n };\n }\n while (low <= high) {\n const mid = Math.floor((low + high) / 2);\n const lineOffset = lineOffsets[mid];\n if (lineOffset === offset) {\n return {\n line: mid,\n column: 0\n };\n } else if (offset > lineOffset) {\n low = mid + 1;\n } else {\n high = mid - 1;\n }\n }\n const line = low - 1;\n return { line, column: offset - lineOffsets[line] };\n}\nfunction getLineOffsets(text) {\n const lineOffsets = [];\n let isLineStart = true;\n for (let i = 0; i < text.length; i++) {\n if (isLineStart) {\n lineOffsets.push(i);\n isLineStart = false;\n }\n const ch = text.charAt(i);\n isLineStart = ch === \"\\r\" || ch === \"\\n\";\n if (ch === \"\\r\" && i + 1 < text.length && text.charAt(i + 1) === \"\\n\") {\n i++;\n }\n }\n if (isLineStart && text.length > 0) {\n lineOffsets.push(text.length);\n }\n return lineOffsets;\n}\nfunction isYAMLException(err) {\n return err instanceof Error && err.name === \"YAMLException\";\n}\nfunction formatYAMLException(e) {\n return {\n name: e.name,\n id: e.mark.name,\n loc: { file: e.mark.name, line: e.mark.line + 1, column: e.mark.column },\n message: e.reason,\n stack: e.stack ?? \"\"\n };\n}\nfunction createSafeError(err) {\n if (err instanceof Error || err?.name && err.message) {\n return err;\n } else {\n const error = new Error(JSON.stringify(err));\n error.hint = `To get as much information as possible from your errors, make sure to throw Error objects instead of \\`${typeof err}\\`. See https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Error for more information.`;\n return error;\n }\n}\nfunction normalizeLF(code) {\n return code.replace(/\\r\\n|\\r(?!\\n)|\\n/g, \"\\n\");\n}\nexport {\n createSafeError,\n formatYAMLException,\n isYAMLException,\n normalizeLF,\n positionAt\n};\n","import { normalizeLF } from \"./utils.js\";\nfunction codeFrame(src, loc) {\n if (!loc || loc.line === void 0 || loc.column === void 0) {\n return \"\";\n }\n const lines = normalizeLF(src).split(\"\\n\").map((ln) => ln.replace(/\\t/g, \" \"));\n const visibleLines = [];\n for (let n = -2; n <= 2; n++) {\n if (lines[loc.line + n]) visibleLines.push(loc.line + n);\n }\n let gutterWidth = 0;\n for (const lineNo of visibleLines) {\n let w = `> ${lineNo}`;\n if (w.length > gutterWidth) gutterWidth = w.length;\n }\n let output = \"\";\n for (const lineNo of visibleLines) {\n const isFocusedLine = lineNo === loc.line - 1;\n output += isFocusedLine ? \"> \" : \" \";\n output += `${lineNo + 1} | ${lines[lineNo]}\n`;\n if (isFocusedLine)\n output += `${Array.from({ length: gutterWidth }).join(\" \")} | ${Array.from({\n length: loc.column\n }).join(\" \")}^\n`;\n }\n return output;\n}\nexport {\n codeFrame\n};\n","import { codeFrame } from \"./printer.js\";\nfunction isAstroError(e) {\n return e instanceof AstroError;\n}\nclass AstroError extends Error {\n loc;\n title;\n hint;\n frame;\n type = \"AstroError\";\n constructor(props, options) {\n const { name, title, message, stack, location, hint, frame } = props;\n super(message, options);\n this.title = title;\n this.name = name;\n if (message) this.message = message;\n this.stack = stack ? stack : this.stack;\n this.loc = location;\n this.hint = hint;\n this.frame = frame;\n }\n setLocation(location) {\n this.loc = location;\n }\n setName(name) {\n this.name = name;\n }\n setMessage(message) {\n this.message = message;\n }\n setHint(hint) {\n this.hint = hint;\n }\n setFrame(source, location) {\n this.frame = codeFrame(source, location);\n }\n static is(err) {\n return err.type === \"AstroError\";\n }\n}\nclass CompilerError extends AstroError {\n type = \"CompilerError\";\n constructor(props, options) {\n super(props, options);\n }\n static is(err) {\n return err.type === \"CompilerError\";\n }\n}\nclass CSSError extends AstroError {\n type = \"CSSError\";\n static is(err) {\n return err.type === \"CSSError\";\n }\n}\nclass MarkdownError extends AstroError {\n type = \"MarkdownError\";\n static is(err) {\n return err.type === \"MarkdownError\";\n }\n}\nclass InternalError extends AstroError {\n type = \"InternalError\";\n static is(err) {\n return err.type === \"InternalError\";\n }\n}\nclass AggregateError extends AstroError {\n type = \"AggregateError\";\n errors;\n // Despite being a collection of errors, AggregateError still needs to have a main error attached to it\n // This is because Vite expects every thrown errors handled during HMR to be, well, Error and have a message\n constructor(props, options) {\n super(props, options);\n this.errors = props.errors;\n }\n static is(err) {\n return err.type === \"AggregateError\";\n }\n}\nconst astroConfigZodErrors = /* @__PURE__ */ new WeakSet();\nfunction isAstroConfigZodError(error) {\n return astroConfigZodErrors.has(error);\n}\nfunction trackAstroConfigZodError(error) {\n astroConfigZodErrors.add(error);\n}\nclass AstroUserError extends Error {\n type = \"AstroUserError\";\n /**\n * A message that explains to the user how they can fix the error.\n */\n hint;\n name = \"AstroUserError\";\n constructor(message, hint) {\n super();\n this.message = message;\n this.hint = hint;\n }\n static is(err) {\n return err.type === \"AstroUserError\";\n }\n}\nexport {\n AggregateError,\n AstroError,\n AstroUserError,\n CSSError,\n CompilerError,\n InternalError,\n MarkdownError,\n isAstroConfigZodError,\n isAstroError,\n trackAstroConfigZodError\n};\n","import { AstroError, AstroErrorData } from \"../../core/errors/index.js\";\nfunction validateArgs(args) {\n if (args.length !== 3) return false;\n if (!args[0] || typeof args[0] !== \"object\") return false;\n return true;\n}\nfunction baseCreateComponent(cb, moduleId, propagation) {\n const name = moduleId?.split(\"/\").pop()?.replace(\".astro\", \"\") ?? \"\";\n const fn = (...args) => {\n if (!validateArgs(args)) {\n throw new AstroError({\n ...AstroErrorData.InvalidComponentArgs,\n message: AstroErrorData.InvalidComponentArgs.message(name)\n });\n }\n return cb(...args);\n };\n Object.defineProperty(fn, \"name\", { value: name, writable: false });\n fn.isAstroComponentFactory = true;\n fn.moduleId = moduleId;\n fn.propagation = propagation;\n return fn;\n}\nfunction createComponentWithOptions(opts) {\n const cb = baseCreateComponent(opts.factory, opts.moduleId, opts.propagation);\n return cb;\n}\nfunction createComponent(arg1, moduleId, propagation) {\n if (typeof arg1 === \"function\") {\n return baseCreateComponent(arg1, moduleId, propagation);\n } else {\n return createComponentWithOptions(arg1);\n }\n}\nexport {\n createComponent\n};\n","const ASTRO_VERSION = \"4.12.2\";\nconst REROUTE_DIRECTIVE_HEADER = \"X-Astro-Reroute\";\nconst REWRITE_DIRECTIVE_HEADER_KEY = \"X-Astro-Rewrite\";\nconst REWRITE_DIRECTIVE_HEADER_VALUE = \"yes\";\nconst ROUTE_TYPE_HEADER = \"X-Astro-Route-Type\";\nconst DEFAULT_404_COMPONENT = \"astro-default-404.astro\";\nconst DEFAULT_500_COMPONENT = \"astro-default-500.astro\";\nconst REROUTABLE_STATUS_CODES = [404, 500];\nconst clientAddressSymbol = Symbol.for(\"astro.clientAddress\");\nconst clientLocalsSymbol = Symbol.for(\"astro.locals\");\nconst responseSentSymbol = Symbol.for(\"astro.responseSent\");\nconst SUPPORTED_MARKDOWN_FILE_EXTENSIONS = [\n \".markdown\",\n \".mdown\",\n \".mkdn\",\n \".mkd\",\n \".mdwn\",\n \".md\"\n];\nconst MIDDLEWARE_PATH_SEGMENT_NAME = \"middleware\";\nexport {\n ASTRO_VERSION,\n DEFAULT_404_COMPONENT,\n DEFAULT_500_COMPONENT,\n MIDDLEWARE_PATH_SEGMENT_NAME,\n REROUTABLE_STATUS_CODES,\n REROUTE_DIRECTIVE_HEADER,\n REWRITE_DIRECTIVE_HEADER_KEY,\n REWRITE_DIRECTIVE_HEADER_VALUE,\n ROUTE_TYPE_HEADER,\n SUPPORTED_MARKDOWN_FILE_EXTENSIONS,\n clientAddressSymbol,\n clientLocalsSymbol,\n responseSentSymbol\n};\n","import { ASTRO_VERSION } from \"../../core/constants.js\";\nimport { AstroError, AstroErrorData } from \"../../core/errors/index.js\";\nfunction createAstroGlobFn() {\n const globHandler = (importMetaGlobResult) => {\n if (typeof importMetaGlobResult === \"string\") {\n throw new AstroError({\n ...AstroErrorData.AstroGlobUsedOutside,\n message: AstroErrorData.AstroGlobUsedOutside.message(JSON.stringify(importMetaGlobResult))\n });\n }\n let allEntries = [...Object.values(importMetaGlobResult)];\n if (allEntries.length === 0) {\n throw new AstroError({\n ...AstroErrorData.AstroGlobNoMatch,\n message: AstroErrorData.AstroGlobNoMatch.message(JSON.stringify(importMetaGlobResult))\n });\n }\n return Promise.all(allEntries.map((fn) => fn()));\n };\n return globHandler;\n}\nfunction createAstro(site) {\n return {\n // TODO: this is no longer necessary for `Astro.site`\n // but it somehow allows working around caching issues in content collections for some tests\n site: site ? new URL(site) : void 0,\n generator: `Astro v${ASTRO_VERSION}`,\n glob: createAstroGlobFn()\n };\n}\nexport {\n createAstro\n};\n","function isPromise(value) {\n return !!value && typeof value === \"object\" && \"then\" in value && typeof value.then === \"function\";\n}\nasync function* streamAsyncIterator(stream) {\n const reader = stream.getReader();\n try {\n while (true) {\n const { done, value } = await reader.read();\n if (done) return;\n yield value;\n }\n } finally {\n reader.releaseLock();\n }\n}\nexport {\n isPromise,\n streamAsyncIterator\n};\n","import { escape } from \"html-escaper\";\nimport { streamAsyncIterator } from \"./util.js\";\nconst escapeHTML = escape;\nclass HTMLBytes extends Uint8Array {\n}\nObject.defineProperty(HTMLBytes.prototype, Symbol.toStringTag, {\n get() {\n return \"HTMLBytes\";\n }\n});\nclass HTMLString extends String {\n get [Symbol.toStringTag]() {\n return \"HTMLString\";\n }\n}\nconst markHTMLString = (value) => {\n if (value instanceof HTMLString) {\n return value;\n }\n if (typeof value === \"string\") {\n return new HTMLString(value);\n }\n return value;\n};\nfunction isHTMLString(value) {\n return Object.prototype.toString.call(value) === \"[object HTMLString]\";\n}\nfunction markHTMLBytes(bytes) {\n return new HTMLBytes(bytes);\n}\nfunction isHTMLBytes(value) {\n return Object.prototype.toString.call(value) === \"[object HTMLBytes]\";\n}\nfunction hasGetReader(obj) {\n return typeof obj.getReader === \"function\";\n}\nasync function* unescapeChunksAsync(iterable) {\n if (hasGetReader(iterable)) {\n for await (const chunk of streamAsyncIterator(iterable)) {\n yield unescapeHTML(chunk);\n }\n } else {\n for await (const chunk of iterable) {\n yield unescapeHTML(chunk);\n }\n }\n}\nfunction* unescapeChunks(iterable) {\n for (const chunk of iterable) {\n yield unescapeHTML(chunk);\n }\n}\nfunction unescapeHTML(str) {\n if (!!str && typeof str === \"object\") {\n if (str instanceof Uint8Array) {\n return markHTMLBytes(str);\n } else if (str instanceof Response && str.body) {\n const body = str.body;\n return unescapeChunksAsync(body);\n } else if (typeof str.then === \"function\") {\n return Promise.resolve(str).then((value) => {\n return unescapeHTML(value);\n });\n } else if (str[Symbol.for(\"astro:slot-string\")]) {\n return str;\n } else if (Symbol.iterator in str) {\n return unescapeChunks(str);\n } else if (Symbol.asyncIterator in str || hasGetReader(str)) {\n return unescapeChunksAsync(str);\n }\n }\n return markHTMLString(str);\n}\nexport {\n HTMLBytes,\n HTMLString,\n escapeHTML,\n isHTMLBytes,\n isHTMLString,\n markHTMLString,\n unescapeHTML\n};\n","const RenderInstructionSymbol = Symbol.for(\"astro:render\");\nfunction createRenderInstruction(instruction) {\n return Object.defineProperty(instruction, RenderInstructionSymbol, {\n value: true\n });\n}\nfunction isRenderInstruction(chunk) {\n return chunk && typeof chunk === \"object\" && chunk[RenderInstructionSymbol];\n}\nexport {\n createRenderInstruction,\n isRenderInstruction\n};\n","const PROP_TYPE = {\n Value: 0,\n JSON: 1,\n // Actually means Array\n RegExp: 2,\n Date: 3,\n Map: 4,\n Set: 5,\n BigInt: 6,\n URL: 7,\n Uint8Array: 8,\n Uint16Array: 9,\n Uint32Array: 10\n};\nfunction serializeArray(value, metadata = {}, parents = /* @__PURE__ */ new WeakSet()) {\n if (parents.has(value)) {\n throw new Error(`Cyclic reference detected while serializing props for <${metadata.displayName} client:${metadata.hydrate}>!\n\nCyclic references cannot be safely serialized for client-side usage. Please remove the cyclic reference.`);\n }\n parents.add(value);\n const serialized = value.map((v) => {\n return convertToSerializedForm(v, metadata, parents);\n });\n parents.delete(value);\n return serialized;\n}\nfunction serializeObject(value, metadata = {}, parents = /* @__PURE__ */ new WeakSet()) {\n if (parents.has(value)) {\n throw new Error(`Cyclic reference detected while serializing props for <${metadata.displayName} client:${metadata.hydrate}>!\n\nCyclic references cannot be safely serialized for client-side usage. Please remove the cyclic reference.`);\n }\n parents.add(value);\n const serialized = Object.fromEntries(\n Object.entries(value).map(([k, v]) => {\n return [k, convertToSerializedForm(v, metadata, parents)];\n })\n );\n parents.delete(value);\n return serialized;\n}\nfunction convertToSerializedForm(value, metadata = {}, parents = /* @__PURE__ */ new WeakSet()) {\n const tag = Object.prototype.toString.call(value);\n switch (tag) {\n case \"[object Date]\": {\n return [PROP_TYPE.Date, value.toISOString()];\n }\n case \"[object RegExp]\": {\n return [PROP_TYPE.RegExp, value.source];\n }\n case \"[object Map]\": {\n return [PROP_TYPE.Map, serializeArray(Array.from(value), metadata, parents)];\n }\n case \"[object Set]\": {\n return [PROP_TYPE.Set, serializeArray(Array.from(value), metadata, parents)];\n }\n case \"[object BigInt]\": {\n return [PROP_TYPE.BigInt, value.toString()];\n }\n case \"[object URL]\": {\n return [PROP_TYPE.URL, value.toString()];\n }\n case \"[object Array]\": {\n return [PROP_TYPE.JSON, serializeArray(value, metadata, parents)];\n }\n case \"[object Uint8Array]\": {\n return [PROP_TYPE.Uint8Array, Array.from(value)];\n }\n case \"[object Uint16Array]\": {\n return [PROP_TYPE.Uint16Array, Array.from(value)];\n }\n case \"[object Uint32Array]\": {\n return [PROP_TYPE.Uint32Array, Array.from(value)];\n }\n default: {\n if (value !== null && typeof value === \"object\") {\n return [PROP_TYPE.Value, serializeObject(value, metadata, parents)];\n } else if (value === void 0) {\n return [PROP_TYPE.Value];\n } else {\n return [PROP_TYPE.Value, value];\n }\n }\n }\n}\nfunction serializeProps(props, metadata) {\n const serialized = JSON.stringify(serializeObject(props, metadata));\n return serialized;\n}\nexport {\n serializeProps\n};\n","import { AstroError, AstroErrorData } from \"../../core/errors/index.js\";\nimport { escapeHTML } from \"./escape.js\";\nimport { serializeProps } from \"./serialize.js\";\nconst transitionDirectivesToCopyOnIsland = Object.freeze([\n \"data-astro-transition-scope\",\n \"data-astro-transition-persist\",\n \"data-astro-transition-persist-props\"\n]);\nfunction extractDirectives(inputProps, clientDirectives) {\n let extracted = {\n isPage: false,\n hydration: null,\n props: {},\n propsWithoutTransitionAttributes: {}\n };\n for (const [key, value] of Object.entries(inputProps)) {\n if (key.startsWith(\"server:\")) {\n if (key === \"server:root\") {\n extracted.isPage = true;\n }\n }\n if (key.startsWith(\"client:\")) {\n if (!extracted.hydration) {\n extracted.hydration = {\n directive: \"\",\n value: \"\",\n componentUrl: \"\",\n componentExport: { value: \"\" }\n };\n }\n switch (key) {\n case \"client:component-path\": {\n extracted.hydration.componentUrl = value;\n break;\n }\n case \"client:component-export\": {\n extracted.hydration.componentExport.value = value;\n break;\n }\n case \"client:component-hydration\": {\n break;\n }\n case \"client:display-name\": {\n break;\n }\n default: {\n extracted.hydration.directive = key.split(\":\")[1];\n extracted.hydration.value = value;\n if (!clientDirectives.has(extracted.hydration.directive)) {\n const hydrationMethods = Array.from(clientDirectives.keys()).map((d) => `client:${d}`).join(\", \");\n throw new Error(\n `Error: invalid hydration directive \"${key}\". Supported hydration methods: ${hydrationMethods}`\n );\n }\n if (extracted.hydration.directive === \"media\" && typeof extracted.hydration.value !== \"string\") {\n throw new AstroError(AstroErrorData.MissingMediaQueryDirective);\n }\n break;\n }\n }\n } else {\n extracted.props[key] = value;\n if (!transitionDirectivesToCopyOnIsland.includes(key)) {\n extracted.propsWithoutTransitionAttributes[key] = value;\n }\n }\n }\n for (const sym of Object.getOwnPropertySymbols(inputProps)) {\n extracted.props[sym] = inputProps[sym];\n extracted.propsWithoutTransitionAttributes[sym] = inputProps[sym];\n }\n return extracted;\n}\nasync function generateHydrateScript(scriptOptions, metadata) {\n const { renderer, result, astroId, props, attrs } = scriptOptions;\n const { hydrate, componentUrl, componentExport } = metadata;\n if (!componentExport.value) {\n throw new AstroError({\n ...AstroErrorData.NoMatchingImport,\n message: AstroErrorData.NoMatchingImport.message(metadata.displayName)\n });\n }\n const island = {\n children: \"\",\n props: {\n // This is for HMR, probably can avoid it in prod\n uid: astroId\n }\n };\n if (attrs) {\n for (const [key, value] of Object.entries(attrs)) {\n island.props[key] = escapeHTML(value);\n }\n }\n island.props[\"component-url\"] = await result.resolve(decodeURI(componentUrl));\n if (renderer.clientEntrypoint) {\n island.props[\"component-export\"] = componentExport.value;\n island.props[\"renderer-url\"] = await result.resolve(decodeURI(renderer.clientEntrypoint));\n island.props[\"props\"] = escapeHTML(serializeProps(props, metadata));\n }\n island.props[\"ssr\"] = \"\";\n island.props[\"client\"] = hydrate;\n let beforeHydrationUrl = await result.resolve(\"astro:scripts/before-hydration.js\");\n if (beforeHydrationUrl.length) {\n island.props[\"before-hydration-url\"] = beforeHydrationUrl;\n }\n island.props[\"opts\"] = escapeHTML(\n JSON.stringify({\n name: metadata.displayName,\n value: metadata.hydrateArgs || \"\"\n })\n );\n transitionDirectivesToCopyOnIsland.forEach((name) => {\n if (typeof props[name] !== \"undefined\") {\n island.props[name] = props[name];\n }\n });\n return island;\n}\nexport {\n extractDirectives,\n generateHydrateScript\n};\n","/**\n * shortdash - https://github.com/bibig/node-shorthash\n *\n * @license\n *\n * (The MIT License)\n *\n * Copyright (c) 2013 Bibig \n *\n * Permission is hereby granted, free of charge, to any person\n * obtaining a copy of this software and associated documentation\n * files (the \"Software\"), to deal in the Software without\n * restriction, including without limitation the rights to use,\n * copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the\n * Software is furnished to do so, subject to the following\n * conditions:\n *\n * The above copyright notice and this permission notice shall be\n * included in all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\n * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES\n * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\n * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT\n * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,\n * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING\n * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR\n * OTHER DEALINGS IN THE SOFTWARE.\n */\nconst dictionary = \"0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXY\";\nconst binary = dictionary.length;\nfunction bitwise(str) {\n let hash = 0;\n if (str.length === 0) return hash;\n for (let i = 0; i < str.length; i++) {\n const ch = str.charCodeAt(i);\n hash = (hash << 5) - hash + ch;\n hash = hash & hash;\n }\n return hash;\n}\nfunction shorthash(text) {\n let num;\n let result = \"\";\n let integer = bitwise(text);\n const sign = integer < 0 ? \"Z\" : \"\";\n integer = Math.abs(integer);\n while (integer >= binary) {\n num = integer % binary;\n integer = Math.floor(integer / binary);\n result = dictionary[num] + result;\n }\n if (integer > 0) {\n result = dictionary[integer] + result;\n }\n return sign + result;\n}\nexport {\n shorthash\n};\n","function isAstroComponentFactory(obj) {\n return obj == null ? false : obj.isAstroComponentFactory === true;\n}\nfunction isAPropagatingComponent(result, factory) {\n let hint = factory.propagation || \"none\";\n if (factory.moduleId && result.componentMetadata.has(factory.moduleId) && hint === \"none\") {\n hint = result.componentMetadata.get(factory.moduleId).propagation;\n }\n return hint === \"in-tree\" || hint === \"self\";\n}\nexport {\n isAPropagatingComponent,\n isAstroComponentFactory\n};\n","const headAndContentSym = Symbol.for(\"astro.headAndContent\");\nfunction isHeadAndContent(obj) {\n return typeof obj === \"object\" && !!obj[headAndContentSym];\n}\nfunction createHeadAndContent(head, content) {\n return {\n [headAndContentSym]: true,\n head,\n content\n };\n}\nexport {\n createHeadAndContent,\n isHeadAndContent\n};\n","var astro_island_prebuilt_dev_default = `(()=>{var A=Object.defineProperty;var g=(i,o,a)=>o in i?A(i,o,{enumerable:!0,configurable:!0,writable:!0,value:a}):i[o]=a;var l=(i,o,a)=>g(i,typeof o!=\"symbol\"?o+\"\":o,a);{let i={0:t=>y(t),1:t=>a(t),2:t=>new RegExp(t),3:t=>new Date(t),4:t=>new Map(a(t)),5:t=>new Set(a(t)),6:t=>BigInt(t),7:t=>new URL(t),8:t=>new Uint8Array(t),9:t=>new Uint16Array(t),10:t=>new Uint32Array(t)},o=t=>{let[h,e]=t;return h in i?i[h](e):void 0},a=t=>t.map(o),y=t=>typeof t!=\"object\"||t===null?t:Object.fromEntries(Object.entries(t).map(([h,e])=>[h,o(e)]));class f extends HTMLElement{constructor(){super(...arguments);l(this,\"Component\");l(this,\"hydrator\");l(this,\"hydrate\",async()=>{var b;if(!this.hydrator||!this.isConnected)return;let e=(b=this.parentElement)==null?void 0:b.closest(\"astro-island[ssr]\");if(e){e.addEventListener(\"astro:hydrate\",this.hydrate,{once:!0});return}let c=this.querySelectorAll(\"astro-slot\"),n={},p=this.querySelectorAll(\"template[data-astro-template]\");for(let r of p){let s=r.closest(this.tagName);s!=null&&s.isSameNode(this)&&(n[r.getAttribute(\"data-astro-template\")||\"default\"]=r.innerHTML,r.remove())}for(let r of c){let s=r.closest(this.tagName);s!=null&&s.isSameNode(this)&&(n[r.getAttribute(\"name\")||\"default\"]=r.innerHTML)}let u;try{u=this.hasAttribute(\"props\")?y(JSON.parse(this.getAttribute(\"props\"))):{}}catch(r){let s=this.getAttribute(\"component-url\")||\"\",v=this.getAttribute(\"component-export\");throw v&&(s+=\\` (export \\${v})\\`),console.error(\\`[hydrate] Error parsing props for component \\${s}\\`,this.getAttribute(\"props\"),r),r}let d,m=this.hydrator(this);d=performance.now(),await m(this.Component,u,n,{client:this.getAttribute(\"client\")}),d&&this.setAttribute(\"client-render-time\",(performance.now()-d).toString()),this.removeAttribute(\"ssr\"),this.dispatchEvent(new CustomEvent(\"astro:hydrate\"))});l(this,\"unmount\",()=>{this.isConnected||this.dispatchEvent(new CustomEvent(\"astro:unmount\"))})}disconnectedCallback(){document.removeEventListener(\"astro:after-swap\",this.unmount),document.addEventListener(\"astro:after-swap\",this.unmount,{once:!0})}connectedCallback(){if(!this.hasAttribute(\"await-children\")||document.readyState===\"interactive\"||document.readyState===\"complete\")this.childrenConnectedCallback();else{let e=()=>{document.removeEventListener(\"DOMContentLoaded\",e),c.disconnect(),this.childrenConnectedCallback()},c=new MutationObserver(()=>{var n;((n=this.lastChild)==null?void 0:n.nodeType)===Node.COMMENT_NODE&&this.lastChild.nodeValue===\"astro:end\"&&(this.lastChild.remove(),e())});c.observe(this,{childList:!0}),document.addEventListener(\"DOMContentLoaded\",e)}}async childrenConnectedCallback(){let e=this.getAttribute(\"before-hydration-url\");e&&await import(e),this.start()}async start(){let e=JSON.parse(this.getAttribute(\"opts\")),c=this.getAttribute(\"client\");if(Astro[c]===void 0){window.addEventListener(\\`astro:\\${c}\\`,()=>this.start(),{once:!0});return}try{await Astro[c](async()=>{let n=this.getAttribute(\"renderer-url\"),[p,{default:u}]=await Promise.all([import(this.getAttribute(\"component-url\")),n?import(n):()=>()=>{}]),d=this.getAttribute(\"component-export\")||\"default\";if(!d.includes(\".\"))this.Component=p[d];else{this.Component=p;for(let m of d.split(\".\"))this.Component=this.Component[m]}return this.hydrator=u,this.hydrate},e,this)}catch(n){console.error(\\`[astro-island] Error hydrating \\${this.getAttribute(\"component-url\")}\\`,n)}}attributeChangedCallback(){this.hydrate()}}l(f,\"observedAttributes\",[\"props\"]),customElements.get(\"astro-island\")||customElements.define(\"astro-island\",f)}})();`;\nexport {\n astro_island_prebuilt_dev_default as default\n};\n","var astro_island_prebuilt_default = `(()=>{var A=Object.defineProperty;var g=(i,o,a)=>o in i?A(i,o,{enumerable:!0,configurable:!0,writable:!0,value:a}):i[o]=a;var d=(i,o,a)=>g(i,typeof o!=\"symbol\"?o+\"\":o,a);{let i={0:t=>m(t),1:t=>a(t),2:t=>new RegExp(t),3:t=>new Date(t),4:t=>new Map(a(t)),5:t=>new Set(a(t)),6:t=>BigInt(t),7:t=>new URL(t),8:t=>new Uint8Array(t),9:t=>new Uint16Array(t),10:t=>new Uint32Array(t)},o=t=>{let[l,e]=t;return l in i?i[l](e):void 0},a=t=>t.map(o),m=t=>typeof t!=\"object\"||t===null?t:Object.fromEntries(Object.entries(t).map(([l,e])=>[l,o(e)]));class y extends HTMLElement{constructor(){super(...arguments);d(this,\"Component\");d(this,\"hydrator\");d(this,\"hydrate\",async()=>{var b;if(!this.hydrator||!this.isConnected)return;let e=(b=this.parentElement)==null?void 0:b.closest(\"astro-island[ssr]\");if(e){e.addEventListener(\"astro:hydrate\",this.hydrate,{once:!0});return}let c=this.querySelectorAll(\"astro-slot\"),n={},h=this.querySelectorAll(\"template[data-astro-template]\");for(let r of h){let s=r.closest(this.tagName);s!=null&&s.isSameNode(this)&&(n[r.getAttribute(\"data-astro-template\")||\"default\"]=r.innerHTML,r.remove())}for(let r of c){let s=r.closest(this.tagName);s!=null&&s.isSameNode(this)&&(n[r.getAttribute(\"name\")||\"default\"]=r.innerHTML)}let p;try{p=this.hasAttribute(\"props\")?m(JSON.parse(this.getAttribute(\"props\"))):{}}catch(r){let s=this.getAttribute(\"component-url\")||\"\",v=this.getAttribute(\"component-export\");throw v&&(s+=\\` (export \\${v})\\`),console.error(\\`[hydrate] Error parsing props for component \\${s}\\`,this.getAttribute(\"props\"),r),r}let u;await this.hydrator(this)(this.Component,p,n,{client:this.getAttribute(\"client\")}),this.removeAttribute(\"ssr\"),this.dispatchEvent(new CustomEvent(\"astro:hydrate\"))});d(this,\"unmount\",()=>{this.isConnected||this.dispatchEvent(new CustomEvent(\"astro:unmount\"))})}disconnectedCallback(){document.removeEventListener(\"astro:after-swap\",this.unmount),document.addEventListener(\"astro:after-swap\",this.unmount,{once:!0})}connectedCallback(){if(!this.hasAttribute(\"await-children\")||document.readyState===\"interactive\"||document.readyState===\"complete\")this.childrenConnectedCallback();else{let e=()=>{document.removeEventListener(\"DOMContentLoaded\",e),c.disconnect(),this.childrenConnectedCallback()},c=new MutationObserver(()=>{var n;((n=this.lastChild)==null?void 0:n.nodeType)===Node.COMMENT_NODE&&this.lastChild.nodeValue===\"astro:end\"&&(this.lastChild.remove(),e())});c.observe(this,{childList:!0}),document.addEventListener(\"DOMContentLoaded\",e)}}async childrenConnectedCallback(){let e=this.getAttribute(\"before-hydration-url\");e&&await import(e),this.start()}async start(){let e=JSON.parse(this.getAttribute(\"opts\")),c=this.getAttribute(\"client\");if(Astro[c]===void 0){window.addEventListener(\\`astro:\\${c}\\`,()=>this.start(),{once:!0});return}try{await Astro[c](async()=>{let n=this.getAttribute(\"renderer-url\"),[h,{default:p}]=await Promise.all([import(this.getAttribute(\"component-url\")),n?import(n):()=>()=>{}]),u=this.getAttribute(\"component-export\")||\"default\";if(!u.includes(\".\"))this.Component=h[u];else{this.Component=h;for(let f of u.split(\".\"))this.Component=this.Component[f]}return this.hydrator=p,this.hydrate},e,this)}catch(n){console.error(\\`[astro-island] Error hydrating \\${this.getAttribute(\"component-url\")}\\`,n)}}attributeChangedCallback(){this.hydrate()}}d(y,\"observedAttributes\",[\"props\"]),customElements.get(\"astro-island\")||customElements.define(\"astro-island\",y)}})();`;\nexport {\n astro_island_prebuilt_default as default\n};\n","import islandScriptDev from \"./astro-island.prebuilt-dev.js\";\nimport islandScript from \"./astro-island.prebuilt.js\";\nconst ISLAND_STYLES = ``;\nfunction determineIfNeedsHydrationScript(result) {\n if (result._metadata.hasHydrationScript) {\n return false;\n }\n return result._metadata.hasHydrationScript = true;\n}\nfunction determinesIfNeedsDirectiveScript(result, directive) {\n if (result._metadata.hasDirectives.has(directive)) {\n return false;\n }\n result._metadata.hasDirectives.add(directive);\n return true;\n}\nfunction getDirectiveScriptText(result, directive) {\n const clientDirectives = result.clientDirectives;\n const clientDirective = clientDirectives.get(directive);\n if (!clientDirective) {\n throw new Error(`Unknown directive: ${directive}`);\n }\n return clientDirective;\n}\nfunction getPrescripts(result, type, directive) {\n switch (type) {\n case \"both\":\n return `${ISLAND_STYLES}`;\n case \"directive\":\n return ``;\n case null:\n break;\n }\n return \"\";\n}\nexport {\n determineIfNeedsHydrationScript,\n determinesIfNeedsDirectiveScript,\n getPrescripts\n};\n","import { clsx } from \"clsx\";\nimport { HTMLString, markHTMLString } from \"../escape.js\";\nconst voidElementNames = /^(area|base|br|col|command|embed|hr|img|input|keygen|link|meta|param|source|track|wbr)$/i;\nconst htmlBooleanAttributes = /^(?:allowfullscreen|async|autofocus|autoplay|controls|default|defer|disabled|disablepictureinpicture|disableremoteplayback|formnovalidate|hidden|loop|nomodule|novalidate|open|playsinline|readonly|required|reversed|scoped|seamless|itemscope)$/i;\nconst htmlEnumAttributes = /^(?:contenteditable|draggable|spellcheck|value)$/i;\nconst svgEnumAttributes = /^(?:autoReverse|externalResourcesRequired|focusable|preserveAlpha)$/i;\nconst AMPERSAND_REGEX = /&/g;\nconst DOUBLE_QUOTE_REGEX = /\"/g;\nconst STATIC_DIRECTIVES = /* @__PURE__ */ new Set([\"set:html\", \"set:text\"]);\nconst toIdent = (k) => k.trim().replace(/(?!^)\\b\\w|\\s+|\\W+/g, (match, index) => {\n if (/\\W/.test(match)) return \"\";\n return index === 0 ? match : match.toUpperCase();\n});\nconst toAttributeString = (value, shouldEscape = true) => shouldEscape ? String(value).replace(AMPERSAND_REGEX, \"&\").replace(DOUBLE_QUOTE_REGEX, \""\") : value;\nconst kebab = (k) => k.toLowerCase() === k ? k : k.replace(/[A-Z]/g, (match) => `-${match.toLowerCase()}`);\nconst toStyleString = (obj) => Object.entries(obj).filter(([_, v]) => typeof v === \"string\" && v.trim() || typeof v === \"number\").map(([k, v]) => {\n if (k[0] !== \"-\" && k[1] !== \"-\") return `${kebab(k)}:${v}`;\n return `${k}:${v}`;\n}).join(\";\");\nfunction defineScriptVars(vars) {\n let output = \"\";\n for (const [key, value] of Object.entries(vars)) {\n output += `const ${toIdent(key)} = ${JSON.stringify(value)?.replace(\n /<\\/script>/g,\n \"\\\\x3C/script>\"\n )};\n`;\n }\n return markHTMLString(output);\n}\nfunction formatList(values) {\n if (values.length === 1) {\n return values[0];\n }\n return `${values.slice(0, -1).join(\", \")} or ${values[values.length - 1]}`;\n}\nfunction addAttribute(value, key, shouldEscape = true) {\n if (value == null) {\n return \"\";\n }\n if (value === false) {\n if (htmlEnumAttributes.test(key) || svgEnumAttributes.test(key)) {\n return markHTMLString(` ${key}=\"false\"`);\n }\n return \"\";\n }\n if (STATIC_DIRECTIVES.has(key)) {\n console.warn(`[astro] The \"${key}\" directive cannot be applied dynamically at runtime. It will not be rendered as an attribute.\n\nMake sure to use the static attribute syntax (\\`${key}={value}\\`) instead of the dynamic spread syntax (\\`{...{ \"${key}\": value }}\\`).`);\n return \"\";\n }\n if (key === \"class:list\") {\n const listValue = toAttributeString(clsx(value), shouldEscape);\n if (listValue === \"\") {\n return \"\";\n }\n return markHTMLString(` ${key.slice(0, -5)}=\"${listValue}\"`);\n }\n if (key === \"style\" && !(value instanceof HTMLString)) {\n if (Array.isArray(value) && value.length === 2) {\n return markHTMLString(\n ` ${key}=\"${toAttributeString(`${toStyleString(value[0])};${value[1]}`, shouldEscape)}\"`\n );\n }\n if (typeof value === \"object\") {\n return markHTMLString(` ${key}=\"${toAttributeString(toStyleString(value), shouldEscape)}\"`);\n }\n }\n if (key === \"className\") {\n return markHTMLString(` class=\"${toAttributeString(value, shouldEscape)}\"`);\n }\n if (typeof value === \"string\" && value.includes(\"&\") && isHttpUrl(value)) {\n return markHTMLString(` ${key}=\"${toAttributeString(value, false)}\"`);\n }\n if (value === true && (key.startsWith(\"data-\") || htmlBooleanAttributes.test(key))) {\n return markHTMLString(` ${key}`);\n } else {\n return markHTMLString(` ${key}=\"${toAttributeString(value, shouldEscape)}\"`);\n }\n}\nfunction internalSpreadAttributes(values, shouldEscape = true) {\n let output = \"\";\n for (const [key, value] of Object.entries(values)) {\n output += addAttribute(value, key, shouldEscape);\n }\n return markHTMLString(output);\n}\nfunction renderElement(name, { props: _props, children = \"\" }, shouldEscape = true) {\n const { lang: _, \"data-astro-id\": astroId, \"define:vars\": defineVars, ...props } = _props;\n if (defineVars) {\n if (name === \"style\") {\n delete props[\"is:global\"];\n delete props[\"is:scoped\"];\n }\n if (name === \"script\") {\n delete props.hoist;\n children = defineScriptVars(defineVars) + \"\\n\" + children;\n }\n }\n if ((children == null || children == \"\") && voidElementNames.test(name)) {\n return `<${name}${internalSpreadAttributes(props, shouldEscape)}>`;\n }\n return `<${name}${internalSpreadAttributes(props, shouldEscape)}>${children}`;\n}\nconst noop = () => {\n};\nclass BufferedRenderer {\n chunks = [];\n renderPromise;\n destination;\n constructor(bufferRenderFunction) {\n this.renderPromise = bufferRenderFunction(this);\n Promise.resolve(this.renderPromise).catch(noop);\n }\n write(chunk) {\n if (this.destination) {\n this.destination.write(chunk);\n } else {\n this.chunks.push(chunk);\n }\n }\n async renderToFinalDestination(destination) {\n for (const chunk of this.chunks) {\n destination.write(chunk);\n }\n this.destination = destination;\n await this.renderPromise;\n }\n}\nfunction renderToBufferDestination(bufferRenderFunction) {\n const renderer = new BufferedRenderer(bufferRenderFunction);\n return renderer;\n}\nconst isNode = typeof process !== \"undefined\" && Object.prototype.toString.call(process) === \"[object process]\";\nconst isDeno = typeof Deno !== \"undefined\";\nfunction promiseWithResolvers() {\n let resolve, reject;\n const promise = new Promise((_resolve, _reject) => {\n resolve = _resolve;\n reject = _reject;\n });\n return {\n promise,\n resolve,\n reject\n };\n}\nconst VALID_PROTOCOLS = [\"http:\", \"https:\"];\nfunction isHttpUrl(url) {\n try {\n const parsedUrl = new URL(url);\n return VALID_PROTOCOLS.includes(parsedUrl.protocol);\n } catch {\n return false;\n }\n}\nexport {\n addAttribute,\n defineScriptVars,\n formatList,\n internalSpreadAttributes,\n isDeno,\n isNode,\n promiseWithResolvers,\n renderElement,\n renderToBufferDestination,\n toAttributeString,\n voidElementNames\n};\n","import { markHTMLString } from \"../escape.js\";\nimport { createRenderInstruction } from \"./instruction.js\";\nimport { renderElement } from \"./util.js\";\nconst uniqueElements = (item, index, all) => {\n const props = JSON.stringify(item.props);\n const children = item.children;\n return index === all.findIndex((i) => JSON.stringify(i.props) === props && i.children == children);\n};\nfunction renderAllHeadContent(result) {\n result._metadata.hasRenderedHead = true;\n const styles = Array.from(result.styles).filter(uniqueElements).map(\n (style) => style.props.rel === \"stylesheet\" ? renderElement(\"link\", style) : renderElement(\"style\", style)\n );\n result.styles.clear();\n const scripts = Array.from(result.scripts).filter(uniqueElements).map((script) => {\n return renderElement(\"script\", script, false);\n });\n const links = Array.from(result.links).filter(uniqueElements).map((link) => renderElement(\"link\", link, false));\n let content = styles.join(\"\\n\") + links.join(\"\\n\") + scripts.join(\"\\n\");\n if (result._metadata.extraHead.length > 0) {\n for (const part of result._metadata.extraHead) {\n content += part;\n }\n }\n return markHTMLString(content);\n}\nfunction renderHead() {\n return createRenderInstruction({ type: \"head\" });\n}\nfunction maybeRenderHead() {\n return createRenderInstruction({ type: \"maybe-head\" });\n}\nexport {\n maybeRenderHead,\n renderAllHeadContent,\n renderHead\n};\n","import { markHTMLString } from \"../../escape.js\";\nimport { isPromise } from \"../../util.js\";\nimport { renderChild } from \"../any.js\";\nimport { renderToBufferDestination } from \"../util.js\";\nconst renderTemplateResultSym = Symbol.for(\"astro.renderTemplateResult\");\nclass RenderTemplateResult {\n [renderTemplateResultSym] = true;\n htmlParts;\n expressions;\n error;\n constructor(htmlParts, expressions) {\n this.htmlParts = htmlParts;\n this.error = void 0;\n this.expressions = expressions.map((expression) => {\n if (isPromise(expression)) {\n return Promise.resolve(expression).catch((err) => {\n if (!this.error) {\n this.error = err;\n throw err;\n }\n });\n }\n return expression;\n });\n }\n async render(destination) {\n const expRenders = this.expressions.map((exp) => {\n return renderToBufferDestination((bufferDestination) => {\n if (exp || exp === 0) {\n return renderChild(bufferDestination, exp);\n }\n });\n });\n for (let i = 0; i < this.htmlParts.length; i++) {\n const html = this.htmlParts[i];\n const expRender = expRenders[i];\n destination.write(markHTMLString(html));\n if (expRender) {\n await expRender.renderToFinalDestination(destination);\n }\n }\n }\n}\nfunction isRenderTemplateResult(obj) {\n return typeof obj === \"object\" && !!obj[renderTemplateResultSym];\n}\nfunction renderTemplate(htmlParts, ...expressions) {\n return new RenderTemplateResult(htmlParts, expressions);\n}\nexport {\n RenderTemplateResult,\n isRenderTemplateResult,\n renderTemplate\n};\n","import { renderTemplate } from \"./astro/render-template.js\";\nimport { HTMLString, markHTMLString, unescapeHTML } from \"../escape.js\";\nimport { renderChild } from \"./any.js\";\nimport { chunkToString } from \"./common.js\";\nconst slotString = Symbol.for(\"astro:slot-string\");\nclass SlotString extends HTMLString {\n instructions;\n [slotString];\n constructor(content, instructions) {\n super(content);\n this.instructions = instructions;\n this[slotString] = true;\n }\n}\nfunction isSlotString(str) {\n return !!str[slotString];\n}\nfunction renderSlot(result, slotted, fallback) {\n if (!slotted && fallback) {\n return renderSlot(result, fallback);\n }\n return {\n async render(destination) {\n await renderChild(destination, typeof slotted === \"function\" ? slotted(result) : slotted);\n }\n };\n}\nasync function renderSlotToString(result, slotted, fallback) {\n let content = \"\";\n let instructions = null;\n const temporaryDestination = {\n write(chunk) {\n if (chunk instanceof SlotString) {\n content += chunk;\n if (chunk.instructions) {\n instructions ??= [];\n instructions.push(...chunk.instructions);\n }\n } else if (chunk instanceof Response) return;\n else if (typeof chunk === \"object\" && \"type\" in chunk && typeof chunk.type === \"string\") {\n if (instructions === null) {\n instructions = [];\n }\n instructions.push(chunk);\n } else {\n content += chunkToString(result, chunk);\n }\n }\n };\n const renderInstance = renderSlot(result, slotted, fallback);\n await renderInstance.render(temporaryDestination);\n return markHTMLString(new SlotString(content, instructions));\n}\nasync function renderSlots(result, slots = {}) {\n let slotInstructions = null;\n let children = {};\n if (slots) {\n await Promise.all(\n Object.entries(slots).map(\n ([key, value]) => renderSlotToString(result, value).then((output) => {\n if (output.instructions) {\n if (slotInstructions === null) {\n slotInstructions = [];\n }\n slotInstructions.push(...output.instructions);\n }\n children[key] = output;\n })\n )\n );\n }\n return { slotInstructions, children };\n}\nfunction createSlotValueFromString(content) {\n return function() {\n return renderTemplate`${unescapeHTML(content)}`;\n };\n}\nexport {\n SlotString,\n createSlotValueFromString,\n isSlotString,\n renderSlot,\n renderSlotToString,\n renderSlots\n};\n","import { markHTMLString } from \"../escape.js\";\nimport {\n determineIfNeedsHydrationScript,\n determinesIfNeedsDirectiveScript,\n getPrescripts\n} from \"../scripts.js\";\nimport { renderAllHeadContent } from \"./head.js\";\nimport { isRenderInstruction } from \"./instruction.js\";\nimport { isSlotString } from \"./slot.js\";\nconst Fragment = Symbol.for(\"astro:fragment\");\nconst Renderer = Symbol.for(\"astro:renderer\");\nconst encoder = new TextEncoder();\nconst decoder = new TextDecoder();\nfunction stringifyChunk(result, chunk) {\n if (isRenderInstruction(chunk)) {\n const instruction = chunk;\n switch (instruction.type) {\n case \"directive\": {\n const { hydration } = instruction;\n let needsHydrationScript = hydration && determineIfNeedsHydrationScript(result);\n let needsDirectiveScript = hydration && determinesIfNeedsDirectiveScript(result, hydration.directive);\n let prescriptType = needsHydrationScript ? \"both\" : needsDirectiveScript ? \"directive\" : null;\n if (prescriptType) {\n let prescripts = getPrescripts(result, prescriptType, hydration.directive);\n return markHTMLString(prescripts);\n } else {\n return \"\";\n }\n }\n case \"head\": {\n if (result._metadata.hasRenderedHead || result.partial) {\n return \"\";\n }\n return renderAllHeadContent(result);\n }\n case \"maybe-head\": {\n if (result._metadata.hasRenderedHead || result._metadata.headInTree || result.partial) {\n return \"\";\n }\n return renderAllHeadContent(result);\n }\n case \"renderer-hydration-script\": {\n const { rendererSpecificHydrationScripts } = result._metadata;\n const { rendererName } = instruction;\n if (!rendererSpecificHydrationScripts.has(rendererName)) {\n rendererSpecificHydrationScripts.add(rendererName);\n return instruction.render();\n }\n return \"\";\n }\n default: {\n throw new Error(`Unknown chunk type: ${chunk.type}`);\n }\n }\n } else if (chunk instanceof Response) {\n return \"\";\n } else if (isSlotString(chunk)) {\n let out = \"\";\n const c = chunk;\n if (c.instructions) {\n for (const instr of c.instructions) {\n out += stringifyChunk(result, instr);\n }\n }\n out += chunk.toString();\n return out;\n }\n return chunk.toString();\n}\nfunction chunkToString(result, chunk) {\n if (ArrayBuffer.isView(chunk)) {\n return decoder.decode(chunk);\n } else {\n return stringifyChunk(result, chunk);\n }\n}\nfunction chunkToByteArray(result, chunk) {\n if (ArrayBuffer.isView(chunk)) {\n return chunk;\n } else {\n const stringified = stringifyChunk(result, chunk);\n return encoder.encode(stringified.toString());\n }\n}\nfunction isRenderInstance(obj) {\n return !!obj && typeof obj === \"object\" && \"render\" in obj && typeof obj.render === \"function\";\n}\nexport {\n Fragment,\n Renderer,\n chunkToByteArray,\n chunkToString,\n decoder,\n encoder,\n isRenderInstance\n};\n","import { escapeHTML, isHTMLString, markHTMLString } from \"../escape.js\";\nimport { isPromise } from \"../util.js\";\nimport { isAstroComponentInstance, isRenderTemplateResult } from \"./astro/index.js\";\nimport { isRenderInstance } from \"./common.js\";\nimport { SlotString } from \"./slot.js\";\nimport { renderToBufferDestination } from \"./util.js\";\nasync function renderChild(destination, child) {\n if (isPromise(child)) {\n child = await child;\n }\n if (child instanceof SlotString) {\n destination.write(child);\n } else if (isHTMLString(child)) {\n destination.write(child);\n } else if (Array.isArray(child)) {\n const childRenders = child.map((c) => {\n return renderToBufferDestination((bufferDestination) => {\n return renderChild(bufferDestination, c);\n });\n });\n for (const childRender of childRenders) {\n if (!childRender) continue;\n await childRender.renderToFinalDestination(destination);\n }\n } else if (typeof child === \"function\") {\n await renderChild(destination, child());\n } else if (typeof child === \"string\") {\n destination.write(markHTMLString(escapeHTML(child)));\n } else if (!child && child !== 0) {\n } else if (isRenderInstance(child)) {\n await child.render(destination);\n } else if (isRenderTemplateResult(child)) {\n await child.render(destination);\n } else if (isAstroComponentInstance(child)) {\n await child.render(destination);\n } else if (ArrayBuffer.isView(child)) {\n destination.write(child);\n } else if (typeof child === \"object\" && (Symbol.asyncIterator in child || Symbol.iterator in child)) {\n for await (const value of child) {\n await renderChild(destination, value);\n }\n } else {\n destination.write(child);\n }\n}\nexport {\n renderChild\n};\n","import { isPromise } from \"../../util.js\";\nimport { renderChild } from \"../any.js\";\nimport { isAPropagatingComponent } from \"./factory.js\";\nimport { isHeadAndContent } from \"./head-and-content.js\";\nconst astroComponentInstanceSym = Symbol.for(\"astro.componentInstance\");\nclass AstroComponentInstance {\n [astroComponentInstanceSym] = true;\n result;\n props;\n slotValues;\n factory;\n returnValue;\n constructor(result, props, slots, factory) {\n this.result = result;\n this.props = props;\n this.factory = factory;\n this.slotValues = {};\n for (const name in slots) {\n let didRender = false;\n let value = slots[name](result);\n this.slotValues[name] = () => {\n if (!didRender) {\n didRender = true;\n return value;\n }\n return slots[name](result);\n };\n }\n }\n async init(result) {\n if (this.returnValue !== void 0) return this.returnValue;\n this.returnValue = this.factory(result, this.props, this.slotValues);\n if (isPromise(this.returnValue)) {\n this.returnValue.then((resolved) => {\n this.returnValue = resolved;\n }).catch(() => {\n });\n }\n return this.returnValue;\n }\n async render(destination) {\n const returnValue = await this.init(this.result);\n if (isHeadAndContent(returnValue)) {\n await returnValue.content.render(destination);\n } else {\n await renderChild(destination, returnValue);\n }\n }\n}\nfunction validateComponentProps(props, displayName) {\n if (props != null) {\n for (const prop of Object.keys(props)) {\n if (prop.startsWith(\"client:\")) {\n console.warn(\n `You are attempting to render <${displayName} ${prop} />, but ${displayName} is an Astro component. Astro components do not render in the client and should not have a hydration directive. Please use a framework component for client rendering.`\n );\n }\n }\n }\n}\nfunction createAstroComponentInstance(result, displayName, factory, props, slots = {}) {\n validateComponentProps(props, displayName);\n const instance = new AstroComponentInstance(result, props, slots, factory);\n if (isAPropagatingComponent(result, factory)) {\n result._metadata.propagators.add(instance);\n }\n return instance;\n}\nfunction isAstroComponentInstance(obj) {\n return typeof obj === \"object\" && !!obj[astroComponentInstanceSym];\n}\nexport {\n AstroComponentInstance,\n createAstroComponentInstance,\n isAstroComponentInstance\n};\n","import { markHTMLString } from \"../escape.js\";\nimport { renderSlotToString } from \"./slot.js\";\nimport { toAttributeString } from \"./util.js\";\nfunction componentIsHTMLElement(Component) {\n return typeof HTMLElement !== \"undefined\" && HTMLElement.isPrototypeOf(Component);\n}\nasync function renderHTMLElement(result, constructor, props, slots) {\n const name = getHTMLElementName(constructor);\n let attrHTML = \"\";\n for (const attr in props) {\n attrHTML += ` ${attr}=\"${toAttributeString(await props[attr])}\"`;\n }\n return markHTMLString(\n `<${name}${attrHTML}>${await renderSlotToString(result, slots?.default)}`\n );\n}\nfunction getHTMLElementName(constructor) {\n const definedName = customElements.getName(constructor);\n if (definedName) return definedName;\n const assignedName = constructor.name.replace(/^HTML|Element$/g, \"\").replace(/[A-Z]/g, \"-$&\").toLowerCase().replace(/^-/, \"html-\");\n return assignedName;\n}\nexport {\n componentIsHTMLElement,\n renderHTMLElement\n};\n","import { renderChild } from \"./any.js\";\nimport { renderSlotToString } from \"./slot.js\";\nconst internalProps = /* @__PURE__ */ new Set([\n \"server:component-path\",\n \"server:component-export\",\n \"server:component-directive\",\n \"server:defer\"\n]);\nfunction containsServerDirective(props) {\n return \"server:component-directive\" in props;\n}\nfunction safeJsonStringify(obj) {\n return JSON.stringify(obj).replace(/\\u2028/g, \"\\\\u2028\").replace(/\\u2029/g, \"\\\\u2029\").replace(//g, \"\\\\u003e\").replace(/\\//g, \"\\\\u002f\");\n}\nfunction renderServerIsland(result, _displayName, props, slots) {\n return {\n async render(destination) {\n const componentPath = props[\"server:component-path\"];\n const componentExport = props[\"server:component-export\"];\n const componentId = result.serverIslandNameMap.get(componentPath);\n if (!componentId) {\n throw new Error(`Could not find server component name`);\n }\n for (const key of Object.keys(props)) {\n if (internalProps.has(key)) {\n delete props[key];\n }\n }\n destination.write(\"\");\n const renderedSlots = {};\n for (const name in slots) {\n if (name !== \"fallback\") {\n const content = await renderSlotToString(result, slots[name]);\n renderedSlots[name] = content.toString();\n } else {\n await renderChild(destination, slots.fallback(result));\n }\n }\n const hostId = crypto.randomUUID();\n destination.write(``);\n }\n };\n}\nexport {\n containsServerDirective,\n renderServerIsland\n};\n","import { createRenderInstruction } from \"./instruction.js\";\nimport { clsx } from \"clsx\";\nimport { AstroError, AstroErrorData } from \"../../../core/errors/index.js\";\nimport { markHTMLString } from \"../escape.js\";\nimport { extractDirectives, generateHydrateScript } from \"../hydration.js\";\nimport { serializeProps } from \"../serialize.js\";\nimport { shorthash } from \"../shorthash.js\";\nimport { isPromise } from \"../util.js\";\nimport { isAstroComponentFactory } from \"./astro/factory.js\";\nimport { renderTemplate } from \"./astro/index.js\";\nimport { createAstroComponentInstance } from \"./astro/instance.js\";\nimport {\n Fragment,\n Renderer,\n chunkToString\n} from \"./common.js\";\nimport { componentIsHTMLElement, renderHTMLElement } from \"./dom.js\";\nimport { maybeRenderHead } from \"./head.js\";\nimport { containsServerDirective, renderServerIsland } from \"./server-islands.js\";\nimport { renderSlotToString, renderSlots } from \"./slot.js\";\nimport { formatList, internalSpreadAttributes, renderElement, voidElementNames } from \"./util.js\";\nconst needsHeadRenderingSymbol = Symbol.for(\"astro.needsHeadRendering\");\nconst rendererAliases = /* @__PURE__ */ new Map([[\"solid\", \"solid-js\"]]);\nconst clientOnlyValues = /* @__PURE__ */ new Set([\"solid-js\", \"react\", \"preact\", \"vue\", \"svelte\", \"lit\"]);\nfunction guessRenderers(componentUrl) {\n const extname = componentUrl?.split(\".\").pop();\n switch (extname) {\n case \"svelte\":\n return [\"@astrojs/svelte\"];\n case \"vue\":\n return [\"@astrojs/vue\"];\n case \"jsx\":\n case \"tsx\":\n return [\"@astrojs/react\", \"@astrojs/preact\", \"@astrojs/solid-js\", \"@astrojs/vue (jsx)\"];\n default:\n return [\n \"@astrojs/react\",\n \"@astrojs/preact\",\n \"@astrojs/solid-js\",\n \"@astrojs/vue\",\n \"@astrojs/svelte\",\n \"@astrojs/lit\"\n ];\n }\n}\nfunction isFragmentComponent(Component) {\n return Component === Fragment;\n}\nfunction isHTMLComponent(Component) {\n return Component && Component[\"astro:html\"] === true;\n}\nconst ASTRO_SLOT_EXP = /<\\/?astro-slot\\b[^>]*>/g;\nconst ASTRO_STATIC_SLOT_EXP = /<\\/?astro-static-slot\\b[^>]*>/g;\nfunction removeStaticAstroSlot(html, supportsAstroStaticSlot = true) {\n const exp = supportsAstroStaticSlot ? ASTRO_STATIC_SLOT_EXP : ASTRO_SLOT_EXP;\n return html.replace(exp, \"\");\n}\nasync function renderFrameworkComponent(result, displayName, Component, _props, slots = {}) {\n if (!Component && \"client:only\" in _props === false) {\n throw new Error(\n `Unable to render ${displayName} because it is ${Component}!\nDid you forget to import the component or is it possible there is a typo?`\n );\n }\n const { renderers, clientDirectives } = result;\n const metadata = {\n astroStaticSlot: true,\n displayName\n };\n const { hydration, isPage, props, propsWithoutTransitionAttributes } = extractDirectives(\n _props,\n clientDirectives\n );\n let html = \"\";\n let attrs = void 0;\n if (hydration) {\n metadata.hydrate = hydration.directive;\n metadata.hydrateArgs = hydration.value;\n metadata.componentExport = hydration.componentExport;\n metadata.componentUrl = hydration.componentUrl;\n }\n const probableRendererNames = guessRenderers(metadata.componentUrl);\n const validRenderers = renderers.filter((r) => r.name !== \"astro:jsx\");\n const { children, slotInstructions } = await renderSlots(result, slots);\n let renderer;\n if (metadata.hydrate !== \"only\") {\n let isTagged = false;\n try {\n isTagged = Component && Component[Renderer];\n } catch {\n }\n if (isTagged) {\n const rendererName = Component[Renderer];\n renderer = renderers.find(({ name }) => name === rendererName);\n }\n if (!renderer) {\n let error;\n for (const r of renderers) {\n try {\n if (await r.ssr.check.call({ result }, Component, props, children)) {\n renderer = r;\n break;\n }\n } catch (e) {\n error ??= e;\n }\n }\n if (!renderer && error) {\n throw error;\n }\n }\n if (!renderer && typeof HTMLElement === \"function\" && componentIsHTMLElement(Component)) {\n const output = await renderHTMLElement(\n result,\n Component,\n _props,\n slots\n );\n return {\n render(destination) {\n destination.write(output);\n }\n };\n }\n } else {\n if (metadata.hydrateArgs) {\n const rendererName = rendererAliases.has(metadata.hydrateArgs) ? rendererAliases.get(metadata.hydrateArgs) : metadata.hydrateArgs;\n if (clientOnlyValues.has(rendererName)) {\n renderer = renderers.find(\n ({ name }) => name === `@astrojs/${rendererName}` || name === rendererName\n );\n }\n }\n if (!renderer && validRenderers.length === 1) {\n renderer = validRenderers[0];\n }\n if (!renderer) {\n const extname = metadata.componentUrl?.split(\".\").pop();\n renderer = renderers.filter(\n ({ name }) => name === `@astrojs/${extname}` || name === extname\n )[0];\n }\n }\n let componentServerRenderEndTime;\n if (!renderer) {\n if (metadata.hydrate === \"only\") {\n const rendererName = rendererAliases.has(metadata.hydrateArgs) ? rendererAliases.get(metadata.hydrateArgs) : metadata.hydrateArgs;\n if (clientOnlyValues.has(rendererName)) {\n const plural = validRenderers.length > 1;\n throw new AstroError({\n ...AstroErrorData.NoMatchingRenderer,\n message: AstroErrorData.NoMatchingRenderer.message(\n metadata.displayName,\n metadata?.componentUrl?.split(\".\").pop(),\n plural,\n validRenderers.length\n ),\n hint: AstroErrorData.NoMatchingRenderer.hint(\n formatList(probableRendererNames.map((r) => \"`\" + r + \"`\"))\n )\n });\n } else {\n throw new AstroError({\n ...AstroErrorData.NoClientOnlyHint,\n message: AstroErrorData.NoClientOnlyHint.message(metadata.displayName),\n hint: AstroErrorData.NoClientOnlyHint.hint(\n probableRendererNames.map((r) => r.replace(\"@astrojs/\", \"\")).join(\"|\")\n )\n });\n }\n } else if (typeof Component !== \"string\") {\n const matchingRenderers = validRenderers.filter(\n (r) => probableRendererNames.includes(r.name)\n );\n const plural = validRenderers.length > 1;\n if (matchingRenderers.length === 0) {\n throw new AstroError({\n ...AstroErrorData.NoMatchingRenderer,\n message: AstroErrorData.NoMatchingRenderer.message(\n metadata.displayName,\n metadata?.componentUrl?.split(\".\").pop(),\n plural,\n validRenderers.length\n ),\n hint: AstroErrorData.NoMatchingRenderer.hint(\n formatList(probableRendererNames.map((r) => \"`\" + r + \"`\"))\n )\n });\n } else if (matchingRenderers.length === 1) {\n renderer = matchingRenderers[0];\n ({ html, attrs } = await renderer.ssr.renderToStaticMarkup.call(\n { result },\n Component,\n propsWithoutTransitionAttributes,\n children,\n metadata\n ));\n } else {\n throw new Error(`Unable to render ${metadata.displayName}!\n\nThis component likely uses ${formatList(probableRendererNames)},\nbut Astro encountered an error during server-side rendering.\n\nPlease ensure that ${metadata.displayName}:\n1. Does not unconditionally access browser-specific globals like \\`window\\` or \\`document\\`.\n If this is unavoidable, use the \\`client:only\\` hydration directive.\n2. Does not conditionally return \\`null\\` or \\`undefined\\` when rendered on the server.\n\nIf you're still stuck, please open an issue on GitHub or join us at https://astro.build/chat.`);\n }\n }\n } else {\n if (metadata.hydrate === \"only\") {\n const rendererName = rendererAliases.has(metadata.hydrateArgs) ? rendererAliases.get(metadata.hydrateArgs) : metadata.hydrateArgs;\n if (!clientOnlyValues.has(rendererName)) {\n console.warn(\n `The client:only directive for ${metadata.displayName} is not recognized. The renderer ${renderer.name} will be used. If you intended to use a different renderer, please provide a valid client:only directive.`\n );\n }\n html = await renderSlotToString(result, slots?.fallback);\n } else {\n const componentRenderStartTime = performance.now();\n ({ html, attrs } = await renderer.ssr.renderToStaticMarkup.call(\n { result },\n Component,\n propsWithoutTransitionAttributes,\n children,\n metadata\n ));\n if (process.env.NODE_ENV === \"development\")\n componentServerRenderEndTime = performance.now() - componentRenderStartTime;\n }\n }\n if (renderer && !renderer.clientEntrypoint && renderer.name !== \"@astrojs/lit\" && metadata.hydrate) {\n throw new AstroError({\n ...AstroErrorData.NoClientEntrypoint,\n message: AstroErrorData.NoClientEntrypoint.message(\n displayName,\n metadata.hydrate,\n renderer.name\n )\n });\n }\n if (!html && typeof Component === \"string\") {\n const Tag = sanitizeElementName(Component);\n const childSlots = Object.values(children).join(\"\");\n const renderTemplateResult = renderTemplate`<${Tag}${internalSpreadAttributes(\n props\n )}${markHTMLString(\n childSlots === \"\" && voidElementNames.test(Tag) ? `/>` : `>${childSlots}`\n )}`;\n html = \"\";\n const destination = {\n write(chunk) {\n if (chunk instanceof Response) return;\n html += chunkToString(result, chunk);\n }\n };\n await renderTemplateResult.render(destination);\n }\n if (!hydration) {\n return {\n render(destination) {\n if (slotInstructions) {\n for (const instruction of slotInstructions) {\n destination.write(instruction);\n }\n }\n if (isPage || renderer?.name === \"astro:jsx\") {\n destination.write(html);\n } else if (html && html.length > 0) {\n destination.write(\n markHTMLString(removeStaticAstroSlot(html, renderer?.ssr?.supportsAstroStaticSlot))\n );\n }\n }\n };\n }\n const astroId = shorthash(\n `\n${html}\n${serializeProps(\n props,\n metadata\n )}`\n );\n const island = await generateHydrateScript(\n { renderer, result, astroId, props, attrs },\n metadata\n );\n if (componentServerRenderEndTime && process.env.NODE_ENV === \"development\")\n island.props[\"server-render-time\"] = componentServerRenderEndTime;\n let unrenderedSlots = [];\n if (html) {\n if (Object.keys(children).length > 0) {\n for (const key of Object.keys(children)) {\n let tagName = renderer?.ssr?.supportsAstroStaticSlot ? !!metadata.hydrate ? \"astro-slot\" : \"astro-static-slot\" : \"astro-slot\";\n let expectedHTML = key === \"default\" ? `<${tagName}>` : `<${tagName} name=\"${key}\">`;\n if (!html.includes(expectedHTML)) {\n unrenderedSlots.push(key);\n }\n }\n }\n } else {\n unrenderedSlots = Object.keys(children);\n }\n const template = unrenderedSlots.length > 0 ? unrenderedSlots.map(\n (key) => ``\n ).join(\"\") : \"\";\n island.children = `${html ?? \"\"}${template}`;\n if (island.children) {\n island.props[\"await-children\"] = \"\";\n island.children += ``;\n }\n return {\n render(destination) {\n if (slotInstructions) {\n for (const instruction of slotInstructions) {\n destination.write(instruction);\n }\n }\n destination.write(createRenderInstruction({ type: \"directive\", hydration }));\n if (hydration.directive !== \"only\" && renderer?.ssr.renderHydrationScript) {\n destination.write(\n createRenderInstruction({\n type: \"renderer-hydration-script\",\n rendererName: renderer.name,\n render: renderer.ssr.renderHydrationScript\n })\n );\n }\n const renderedElement = renderElement(\"astro-island\", island, false);\n destination.write(markHTMLString(renderedElement));\n }\n };\n}\nfunction sanitizeElementName(tag) {\n const unsafe = /[&<>'\"\\s]+/;\n if (!unsafe.test(tag)) return tag;\n return tag.trim().split(unsafe)[0].trim();\n}\nasync function renderFragmentComponent(result, slots = {}) {\n const children = await renderSlotToString(result, slots?.default);\n return {\n render(destination) {\n if (children == null) return;\n destination.write(children);\n }\n };\n}\nasync function renderHTMLComponent(result, Component, _props, slots = {}) {\n const { slotInstructions, children } = await renderSlots(result, slots);\n const html = Component({ slots: children });\n const hydrationHtml = slotInstructions ? slotInstructions.map((instr) => chunkToString(result, instr)).join(\"\") : \"\";\n return {\n render(destination) {\n destination.write(markHTMLString(hydrationHtml + html));\n }\n };\n}\nfunction renderAstroComponent(result, displayName, Component, props, slots = {}) {\n if (containsServerDirective(props)) {\n return renderServerIsland(result, displayName, props, slots);\n }\n const instance = createAstroComponentInstance(result, displayName, Component, props, slots);\n return {\n async render(destination) {\n await instance.render(destination);\n }\n };\n}\nasync function renderComponent(result, displayName, Component, props, slots = {}) {\n if (isPromise(Component)) {\n Component = await Component.catch(handleCancellation);\n }\n if (isFragmentComponent(Component)) {\n return await renderFragmentComponent(result, slots).catch(handleCancellation);\n }\n props = normalizeProps(props);\n if (isHTMLComponent(Component)) {\n return await renderHTMLComponent(result, Component, props, slots).catch(handleCancellation);\n }\n if (isAstroComponentFactory(Component)) {\n return renderAstroComponent(result, displayName, Component, props, slots);\n }\n return await renderFrameworkComponent(result, displayName, Component, props, slots).catch(\n handleCancellation\n );\n function handleCancellation(e) {\n if (result.cancelled)\n return {\n render() {\n }\n };\n throw e;\n }\n}\nfunction normalizeProps(props) {\n if (props[\"class:list\"] !== void 0) {\n const value = props[\"class:list\"];\n delete props[\"class:list\"];\n props[\"class\"] = clsx(props[\"class\"], value);\n if (props[\"class\"] === \"\") {\n delete props[\"class\"];\n }\n }\n return props;\n}\nasync function renderComponentToString(result, displayName, Component, props, slots = {}, isPage = false, route) {\n let str = \"\";\n let renderedFirstPageChunk = false;\n let head = \"\";\n if (isPage && !result.partial && nonAstroPageNeedsHeadInjection(Component)) {\n head += chunkToString(result, maybeRenderHead());\n }\n try {\n const destination = {\n write(chunk) {\n if (isPage && !result.partial && !renderedFirstPageChunk) {\n renderedFirstPageChunk = true;\n if (!/\" : \"\\n\";\n str += doctype + head;\n }\n }\n if (chunk instanceof Response) return;\n str += chunkToString(result, chunk);\n }\n };\n const renderInstance = await renderComponent(result, displayName, Component, props, slots);\n await renderInstance.render(destination);\n } catch (e) {\n if (AstroError.is(e) && !e.loc) {\n e.setLocation({\n file: route?.component\n });\n }\n throw e;\n }\n return str;\n}\nfunction nonAstroPageNeedsHeadInjection(pageComponent) {\n return !!pageComponent?.[needsHeadRenderingSymbol];\n}\nexport {\n renderComponent,\n renderComponentToString\n};\n","import { markHTMLString } from \"../escape.js\";\nasync function renderScript(result, id) {\n if (result._metadata.renderedScripts.has(id)) return;\n result._metadata.renderedScripts.add(id);\n const inlined = result.inlinedScripts.get(id);\n if (inlined != null) {\n if (inlined) {\n return markHTMLString(``);\n } else {\n return \"\";\n }\n }\n const resolved = await result.resolve(id);\n return markHTMLString(``);\n}\nexport {\n renderScript\n};\n","import cssesc from \"cssesc\";\nimport { fade, slide } from \"../../transitions/index.js\";\nimport { markHTMLString } from \"./escape.js\";\nconst transitionNameMap = /* @__PURE__ */ new WeakMap();\nfunction incrementTransitionNumber(result) {\n let num = 1;\n if (transitionNameMap.has(result)) {\n num = transitionNameMap.get(result) + 1;\n }\n transitionNameMap.set(result, num);\n return num;\n}\nfunction createTransitionScope(result, hash) {\n const num = incrementTransitionNumber(result);\n return `astro-${hash}-${num}`;\n}\nconst getAnimations = (name) => {\n if (name === \"fade\") return fade();\n if (name === \"slide\") return slide();\n if (typeof name === \"object\") return name;\n};\nconst addPairs = (animations, stylesheet) => {\n for (const [direction, images] of Object.entries(animations)) {\n for (const [image, rules] of Object.entries(images)) {\n stylesheet.addAnimationPair(direction, image, rules);\n }\n }\n};\nconst reEncodeValidChars = \"0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ-_\".split(\"\").reduce((v, c) => (v[c.charCodeAt(0)] = c, v), []);\nconst reEncodeInValidStart = \"-0123456789_\".split(\"\").reduce((v, c) => (v[c.charCodeAt(0)] = c, v), []);\nfunction reEncode(s) {\n let result = \"\";\n let codepoint;\n for (let i = 0; i < s.length; i += (codepoint ?? 0) > 65535 ? 2 : 1) {\n codepoint = s.codePointAt(i);\n if (codepoint !== void 0) {\n result += codepoint < 128 ? codepoint === 95 ? \"__\" : reEncodeValidChars[codepoint] ?? \"_\" + codepoint.toString(16).padStart(2, \"0\") : String.fromCodePoint(codepoint);\n }\n }\n return reEncodeInValidStart[result.codePointAt(0) ?? 0] ? \"_\" + result : result;\n}\nfunction renderTransition(result, hash, animationName, transitionName) {\n if (typeof (transitionName ?? \"\") !== \"string\") {\n throw new Error(`Invalid transition name {${transitionName}}`);\n }\n if (!animationName) animationName = \"fade\";\n const scope = createTransitionScope(result, hash);\n const name = transitionName ? cssesc(reEncode(transitionName), { isIdentifier: true }) : scope;\n const sheet = new ViewTransitionStyleSheet(scope, name);\n const animations = getAnimations(animationName);\n if (animations) {\n addPairs(animations, sheet);\n } else if (animationName === \"none\") {\n sheet.addFallback(\"old\", \"animation: none; mix-blend-mode: normal;\");\n sheet.addModern(\"old\", \"animation: none; opacity: 0; mix-blend-mode: normal;\");\n sheet.addAnimationRaw(\"new\", \"animation: none; mix-blend-mode: normal;\");\n sheet.addModern(\"group\", \"animation: none\");\n }\n result._metadata.extraHead.push(markHTMLString(``));\n return scope;\n}\nfunction createAnimationScope(transitionName, animations) {\n const hash = Math.random().toString(36).slice(2, 8);\n const scope = `astro-${hash}`;\n const sheet = new ViewTransitionStyleSheet(scope, transitionName);\n addPairs(animations, sheet);\n return { scope, styles: sheet.toString().replaceAll('\"', \"\") };\n}\nclass ViewTransitionStyleSheet {\n constructor(scope, name) {\n this.scope = scope;\n this.name = name;\n }\n modern = [];\n fallback = [];\n toString() {\n const { scope, name } = this;\n const [modern, fallback] = [this.modern, this.fallback].map((rules) => rules.join(\"\"));\n return [\n `[data-astro-transition-scope=\"${scope}\"] { view-transition-name: ${name}; }`,\n this.layer(modern),\n fallback\n ].join(\"\");\n }\n layer(cssText) {\n return cssText ? `@layer astro { ${cssText} }` : \"\";\n }\n addRule(target, cssText) {\n this[target].push(cssText);\n }\n addAnimationRaw(image, animation) {\n this.addModern(image, animation);\n this.addFallback(image, animation);\n }\n addModern(image, animation) {\n const { name } = this;\n this.addRule(\"modern\", `::view-transition-${image}(${name}) { ${animation} }`);\n }\n addFallback(image, animation) {\n const { scope } = this;\n this.addRule(\n \"fallback\",\n // Two selectors here, the second in case there is an animation on the root.\n `[data-astro-transition-fallback=\"${image}\"] [data-astro-transition-scope=\"${scope}\"],\n\t\t\t[data-astro-transition-fallback=\"${image}\"][data-astro-transition-scope=\"${scope}\"] { ${animation} }`\n );\n }\n addAnimationPair(direction, image, rules) {\n const { scope, name } = this;\n const animation = stringifyAnimation(rules);\n const prefix = direction === \"backwards\" ? `[data-astro-transition=back]` : direction === \"forwards\" ? \"\" : `[data-astro-transition=${direction}]`;\n this.addRule(\"modern\", `${prefix}::view-transition-${image}(${name}) { ${animation} }`);\n this.addRule(\n \"fallback\",\n `${prefix}[data-astro-transition-fallback=\"${image}\"] [data-astro-transition-scope=\"${scope}\"],\n\t\t\t${prefix}[data-astro-transition-fallback=\"${image}\"][data-astro-transition-scope=\"${scope}\"] { ${animation} }`\n );\n }\n}\nfunction addAnimationProperty(builder, prop, value) {\n let arr = builder[prop];\n if (Array.isArray(arr)) {\n arr.push(value.toString());\n } else {\n builder[prop] = [value.toString()];\n }\n}\nfunction animationBuilder() {\n return {\n toString() {\n let out = \"\";\n for (let k in this) {\n let value = this[k];\n if (Array.isArray(value)) {\n out += `\n\t${k}: ${value.join(\", \")};`;\n }\n }\n return out;\n }\n };\n}\nfunction stringifyAnimation(anim) {\n if (Array.isArray(anim)) {\n return stringifyAnimations(anim);\n } else {\n return stringifyAnimations([anim]);\n }\n}\nfunction stringifyAnimations(anims) {\n const builder = animationBuilder();\n for (const anim of anims) {\n if (anim.duration) {\n addAnimationProperty(builder, \"animation-duration\", toTimeValue(anim.duration));\n }\n if (anim.easing) {\n addAnimationProperty(builder, \"animation-timing-function\", anim.easing);\n }\n if (anim.direction) {\n addAnimationProperty(builder, \"animation-direction\", anim.direction);\n }\n if (anim.delay) {\n addAnimationProperty(builder, \"animation-delay\", anim.delay);\n }\n if (anim.fillMode) {\n addAnimationProperty(builder, \"animation-fill-mode\", anim.fillMode);\n }\n addAnimationProperty(builder, \"animation-name\", anim.name);\n }\n return builder.toString();\n}\nfunction toTimeValue(num) {\n return typeof num === \"number\" ? num + \"ms\" : num;\n}\nexport {\n createAnimationScope,\n createTransitionScope,\n renderTransition\n};\n","import { createComponent } from \"./astro-component.js\";\nimport { createAstro } from \"./astro-global.js\";\nimport { renderEndpoint } from \"./endpoint.js\";\nimport {\n escapeHTML,\n HTMLBytes,\n HTMLString,\n isHTMLString,\n markHTMLString,\n unescapeHTML\n} from \"./escape.js\";\nimport { renderJSX } from \"./jsx.js\";\nimport {\n addAttribute,\n createHeadAndContent,\n defineScriptVars,\n Fragment,\n maybeRenderHead,\n renderTemplate,\n renderComponent,\n Renderer,\n renderHead,\n renderHTMLElement,\n renderPage,\n renderScript,\n renderScriptElement,\n renderSlot,\n renderSlotToString,\n renderTemplate as renderTemplate2,\n renderToString,\n renderUniqueStylesheet,\n voidElementNames\n} from \"./render/index.js\";\nimport { createTransitionScope, renderTransition } from \"./transition.js\";\nimport { markHTMLString as markHTMLString2 } from \"./escape.js\";\nimport { Renderer as Renderer2, addAttribute as addAttribute2 } from \"./render/index.js\";\nfunction mergeSlots(...slotted) {\n const slots = {};\n for (const slot of slotted) {\n if (!slot) continue;\n if (typeof slot === \"object\") {\n Object.assign(slots, slot);\n } else if (typeof slot === \"function\") {\n Object.assign(slots, mergeSlots(slot()));\n }\n }\n return slots;\n}\nfunction __astro_tag_component__(Component, rendererName) {\n if (!Component) return;\n if (typeof Component !== \"function\") return;\n Object.defineProperty(Component, Renderer2, {\n value: rendererName,\n enumerable: false,\n writable: false\n });\n}\nfunction spreadAttributes(values = {}, _name, { class: scopedClassName } = {}) {\n let output = \"\";\n if (scopedClassName) {\n if (typeof values.class !== \"undefined\") {\n values.class += ` ${scopedClassName}`;\n } else if (typeof values[\"class:list\"] !== \"undefined\") {\n values[\"class:list\"] = [values[\"class:list\"], scopedClassName];\n } else {\n values.class = scopedClassName;\n }\n }\n for (const [key, value] of Object.entries(values)) {\n output += addAttribute2(value, key, true);\n }\n return markHTMLString2(output);\n}\nfunction defineStyleVars(defs) {\n let output = \"\";\n let arr = !Array.isArray(defs) ? [defs] : defs;\n for (const vars of arr) {\n for (const [key, value] of Object.entries(vars)) {\n if (value || value === 0) {\n output += `--${key}: ${value};`;\n }\n }\n }\n return markHTMLString2(output);\n}\nexport {\n Fragment,\n HTMLBytes,\n HTMLString,\n Renderer,\n __astro_tag_component__,\n addAttribute,\n createAstro,\n createComponent,\n createHeadAndContent,\n createTransitionScope,\n defineScriptVars,\n defineStyleVars,\n escapeHTML,\n isHTMLString,\n markHTMLString,\n maybeRenderHead,\n mergeSlots,\n renderTemplate as render,\n renderComponent,\n renderEndpoint,\n renderHTMLElement,\n renderHead,\n renderJSX,\n renderPage,\n renderScript,\n renderScriptElement,\n renderSlot,\n renderSlotToString,\n renderTemplate2 as renderTemplate,\n renderToString,\n renderTransition,\n renderUniqueStylesheet,\n spreadAttributes,\n unescapeHTML,\n voidElementNames\n};\n"],"names":["AstroErrorData.InvalidComponentArgs","AstroErrorData.AstroGlobUsedOutside","AstroErrorData.AstroGlobNoMatch","AstroErrorData.MissingMediaQueryDirective","AstroErrorData.NoMatchingImport","islandScriptDev","islandScript","AstroErrorData.NoMatchingRenderer","AstroErrorData.NoClientOnlyHint","AstroErrorData.NoClientEntrypoint","addAttribute2","markHTMLString2"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30]} \ No newline at end of file +{"version":3,"file":"server_BFaOE388.mjs","sources":["../../../node_modules/astro/dist/core/errors/errors-data.js","../../../node_modules/astro/dist/core/errors/utils.js","../../../node_modules/astro/dist/core/errors/printer.js","../../../node_modules/astro/dist/core/errors/errors.js","../../../node_modules/astro/dist/runtime/server/astro-component.js","../../../node_modules/astro/dist/core/constants.js","../../../node_modules/astro/dist/runtime/server/astro-global.js","../../../node_modules/astro/dist/runtime/server/util.js","../../../node_modules/astro/dist/runtime/server/escape.js","../../../node_modules/astro/dist/runtime/server/render/instruction.js","../../../node_modules/astro/dist/runtime/server/serialize.js","../../../node_modules/astro/dist/runtime/server/hydration.js","../../../node_modules/astro/dist/runtime/server/shorthash.js","../../../node_modules/astro/dist/runtime/server/render/astro/factory.js","../../../node_modules/astro/dist/runtime/server/render/astro/head-and-content.js","../../../node_modules/astro/dist/runtime/server/astro-island.prebuilt-dev.js","../../../node_modules/astro/dist/runtime/server/astro-island.prebuilt.js","../../../node_modules/astro/dist/runtime/server/scripts.js","../../../node_modules/astro/dist/runtime/server/render/util.js","../../../node_modules/astro/dist/runtime/server/render/head.js","../../../node_modules/astro/dist/runtime/server/render/astro/render-template.js","../../../node_modules/astro/dist/runtime/server/render/slot.js","../../../node_modules/astro/dist/runtime/server/render/common.js","../../../node_modules/astro/dist/runtime/server/render/any.js","../../../node_modules/astro/dist/runtime/server/render/astro/instance.js","../../../node_modules/astro/dist/runtime/server/render/dom.js","../../../node_modules/astro/dist/runtime/server/render/server-islands.js","../../../node_modules/astro/dist/runtime/server/render/component.js","../../../node_modules/astro/dist/runtime/server/render/script.js","../../../node_modules/astro/dist/runtime/server/transition.js","../../../node_modules/astro/dist/runtime/server/index.js"],"sourcesContent":["const UnknownCompilerError = {\n name: \"UnknownCompilerError\",\n title: \"Unknown compiler error.\",\n hint: \"This is almost always a problem with the Astro compiler, not your code. Please open an issue at https://astro.build/issues/compiler.\"\n};\nconst StaticRedirectNotAvailable = {\n name: \"StaticRedirectNotAvailable\",\n title: \"`Astro.redirect` is not available in static mode.\",\n message: \"Redirects are only available when using `output: 'server'` or `output: 'hybrid'`. Update your Astro config if you need SSR features.\",\n hint: \"See https://docs.astro.build/en/guides/server-side-rendering/ for more information on how to enable SSR.\"\n};\nconst ClientAddressNotAvailable = {\n name: \"ClientAddressNotAvailable\",\n title: \"`Astro.clientAddress` is not available in current adapter.\",\n message: (adapterName) => `\\`Astro.clientAddress\\` is not available in the \\`${adapterName}\\` adapter. File an issue with the adapter to add support.`\n};\nconst PrerenderClientAddressNotAvailable = {\n name: \"PrerenderClientAddressNotAvailable\",\n title: \"`Astro.clientAddress` cannot be used inside prerendered routes.\",\n message: `\\`Astro.clientAddress\\` cannot be used inside prerendered routes`\n};\nconst StaticClientAddressNotAvailable = {\n name: \"StaticClientAddressNotAvailable\",\n title: \"`Astro.clientAddress` is not available in static mode.\",\n message: \"`Astro.clientAddress` is only available when using `output: 'server'` or `output: 'hybrid'`. Update your Astro config if you need SSR features.\",\n hint: \"See https://docs.astro.build/en/guides/server-side-rendering/ for more information on how to enable SSR.\"\n};\nconst NoMatchingStaticPathFound = {\n name: \"NoMatchingStaticPathFound\",\n title: \"No static path found for requested path.\",\n message: (pathName) => `A \\`getStaticPaths()\\` route pattern was matched, but no matching static path was found for requested path \\`${pathName}\\`.`,\n hint: (possibleRoutes) => `Possible dynamic routes being matched: ${possibleRoutes.join(\", \")}.`\n};\nconst OnlyResponseCanBeReturned = {\n name: \"OnlyResponseCanBeReturned\",\n title: \"Invalid type returned by Astro page.\",\n message: (route, returnedValue) => `Route \\`${route ? route : \"\"}\\` returned a \\`${returnedValue}\\`. Only a [Response](https://developer.mozilla.org/en-US/docs/Web/API/Response) can be returned from Astro files.`,\n hint: \"See https://docs.astro.build/en/guides/server-side-rendering/#response for more information.\"\n};\nconst MissingMediaQueryDirective = {\n name: \"MissingMediaQueryDirective\",\n title: \"Missing value for `client:media` directive.\",\n message: 'Media query not provided for `client:media` directive. A media query similar to `client:media=\"(max-width: 600px)\"` must be provided'\n};\nconst NoMatchingRenderer = {\n name: \"NoMatchingRenderer\",\n title: \"No matching renderer found.\",\n message: (componentName, componentExtension, plural, validRenderersCount) => `Unable to render \\`${componentName}\\`.\n\n${validRenderersCount > 0 ? `There ${plural ? \"are\" : \"is\"} ${validRenderersCount} renderer${plural ? \"s\" : \"\"} configured in your \\`astro.config.mjs\\` file,\nbut ${plural ? \"none were\" : \"it was not\"} able to server-side render \\`${componentName}\\`.` : `No valid renderer was found ${componentExtension ? `for the \\`.${componentExtension}\\` file extension.` : `for this file extension.`}`}`,\n hint: (probableRenderers) => `Did you mean to enable the ${probableRenderers} integration?\n\nSee https://docs.astro.build/en/guides/framework-components/ for more information on how to install and configure integrations.`\n};\nconst NoClientEntrypoint = {\n name: \"NoClientEntrypoint\",\n title: \"No client entrypoint specified in renderer.\",\n message: (componentName, clientDirective, rendererName) => `\\`${componentName}\\` component has a \\`client:${clientDirective}\\` directive, but no client entrypoint was provided by \\`${rendererName}\\`.`,\n hint: \"See https://docs.astro.build/en/reference/integrations-reference/#addrenderer-option for more information on how to configure your renderer.\"\n};\nconst NoClientOnlyHint = {\n name: \"NoClientOnlyHint\",\n title: \"Missing hint on client:only directive.\",\n message: (componentName) => `Unable to render \\`${componentName}\\`. When using the \\`client:only\\` hydration strategy, Astro needs a hint to use the correct renderer.`,\n hint: (probableRenderers) => `Did you mean to pass \\`client:only=\"${probableRenderers}\"\\`? See https://docs.astro.build/en/reference/directives-reference/#clientonly for more information on client:only`\n};\nconst InvalidGetStaticPathParam = {\n name: \"InvalidGetStaticPathParam\",\n title: \"Invalid value returned by a `getStaticPaths` path.\",\n message: (paramType) => `Invalid params given to \\`getStaticPaths\\` path. Expected an \\`object\\`, got \\`${paramType}\\``,\n hint: \"See https://docs.astro.build/en/reference/api-reference/#getstaticpaths for more information on getStaticPaths.\"\n};\nconst InvalidGetStaticPathsEntry = {\n name: \"InvalidGetStaticPathsEntry\",\n title: \"Invalid entry inside getStaticPath's return value\",\n message: (entryType) => `Invalid entry returned by getStaticPaths. Expected an object, got \\`${entryType}\\``,\n hint: \"If you're using a `.map` call, you might be looking for `.flatMap()` instead. See https://docs.astro.build/en/reference/api-reference/#getstaticpaths for more information on getStaticPaths.\"\n};\nconst InvalidGetStaticPathsReturn = {\n name: \"InvalidGetStaticPathsReturn\",\n title: \"Invalid value returned by getStaticPaths.\",\n message: (returnType) => `Invalid type returned by \\`getStaticPaths\\`. Expected an \\`array\\`, got \\`${returnType}\\``,\n hint: \"See https://docs.astro.build/en/reference/api-reference/#getstaticpaths for more information on getStaticPaths.\"\n};\nconst GetStaticPathsRemovedRSSHelper = {\n name: \"GetStaticPathsRemovedRSSHelper\",\n title: \"getStaticPaths RSS helper is not available anymore.\",\n message: \"The RSS helper has been removed from `getStaticPaths`. Try the new @astrojs/rss package instead.\",\n hint: \"See https://docs.astro.build/en/guides/rss/ for more information.\"\n};\nconst GetStaticPathsExpectedParams = {\n name: \"GetStaticPathsExpectedParams\",\n title: \"Missing params property on `getStaticPaths` route.\",\n message: \"Missing or empty required `params` property on `getStaticPaths` route.\",\n hint: \"See https://docs.astro.build/en/reference/api-reference/#getstaticpaths for more information on getStaticPaths.\"\n};\nconst GetStaticPathsInvalidRouteParam = {\n name: \"GetStaticPathsInvalidRouteParam\",\n title: \"Invalid value for `getStaticPaths` route parameter.\",\n message: (key, value, valueType) => `Invalid getStaticPaths route parameter for \\`${key}\\`. Expected undefined, a string or a number, received \\`${valueType}\\` (\\`${value}\\`)`,\n hint: \"See https://docs.astro.build/en/reference/api-reference/#getstaticpaths for more information on getStaticPaths.\"\n};\nconst GetStaticPathsRequired = {\n name: \"GetStaticPathsRequired\",\n title: \"`getStaticPaths()` function required for dynamic routes.\",\n message: \"`getStaticPaths()` function is required for dynamic routes. Make sure that you `export` a `getStaticPaths` function from your dynamic route.\",\n hint: `See https://docs.astro.build/en/guides/routing/#dynamic-routes for more information on dynamic routes.\n\nAlternatively, set \\`output: \"server\"\\` or \\`output: \"hybrid\"\\` in your Astro config file to switch to a non-static server build. This error can also occur if using \\`export const prerender = true;\\`.\nSee https://docs.astro.build/en/guides/server-side-rendering/ for more information on non-static rendering.`\n};\nconst ReservedSlotName = {\n name: \"ReservedSlotName\",\n title: \"Invalid slot name.\",\n message: (slotName) => `Unable to create a slot named \\`${slotName}\\`. \\`${slotName}\\` is a reserved slot name. Please update the name of this slot.`\n};\nconst NoAdapterInstalled = {\n name: \"NoAdapterInstalled\",\n title: \"Cannot use Server-side Rendering without an adapter.\",\n message: `Cannot use \\`output: 'server'\\` or \\`output: 'hybrid'\\` without an adapter. Please install and configure the appropriate server adapter for your final deployment.`,\n hint: \"See https://docs.astro.build/en/guides/server-side-rendering/ for more information.\"\n};\nconst NoMatchingImport = {\n name: \"NoMatchingImport\",\n title: \"No import found for component.\",\n message: (componentName) => `Could not render \\`${componentName}\\`. No matching import has been found for \\`${componentName}\\`.`,\n hint: \"Please make sure the component is properly imported.\"\n};\nconst InvalidPrerenderExport = {\n name: \"InvalidPrerenderExport\",\n title: \"Invalid prerender export.\",\n message(prefix, suffix, isHydridOutput) {\n const defaultExpectedValue = isHydridOutput ? \"false\" : \"true\";\n let msg = `A \\`prerender\\` export has been detected, but its value cannot be statically analyzed.`;\n if (prefix !== \"const\") msg += `\nExpected \\`const\\` declaration but got \\`${prefix}\\`.`;\n if (suffix !== \"true\")\n msg += `\nExpected \\`${defaultExpectedValue}\\` value but got \\`${suffix}\\`.`;\n return msg;\n },\n hint: \"Mutable values declared at runtime are not supported. Please make sure to use exactly `export const prerender = true`.\"\n};\nconst InvalidComponentArgs = {\n name: \"InvalidComponentArgs\",\n title: \"Invalid component arguments.\",\n message: (name) => `Invalid arguments passed to${name ? ` <${name}>` : \"\"} component.`,\n hint: \"Astro components cannot be rendered directly via function call, such as `Component()` or `{items.map(Component)}`.\"\n};\nconst PageNumberParamNotFound = {\n name: \"PageNumberParamNotFound\",\n title: \"Page number param not found.\",\n message: (paramName) => `[paginate()] page number param \\`${paramName}\\` not found in your filepath.`,\n hint: \"Rename your file to `[page].astro` or `[...page].astro`.\"\n};\nconst ImageMissingAlt = {\n name: \"ImageMissingAlt\",\n title: 'Image missing required \"alt\" property.',\n message: 'Image missing \"alt\" property. \"alt\" text is required to describe important images on the page.',\n hint: 'Use an empty string (\"\") for decorative images.'\n};\nconst InvalidImageService = {\n name: \"InvalidImageService\",\n title: \"Error while loading image service.\",\n message: \"There was an error loading the configured image service. Please see the stack trace for more information.\"\n};\nconst MissingImageDimension = {\n name: \"MissingImageDimension\",\n title: \"Missing image dimensions\",\n message: (missingDimension, imageURL) => `Missing ${missingDimension === \"both\" ? \"width and height attributes\" : `${missingDimension} attribute`} for ${imageURL}. When using remote images, both dimensions are required unless in order to avoid CLS.`,\n hint: \"If your image is inside your `src` folder, you probably meant to import it instead. See [the Imports guide for more information](https://docs.astro.build/en/guides/imports/#other-assets). You can also use `inferSize={true}` for remote images to get the original dimensions.\"\n};\nconst FailedToFetchRemoteImageDimensions = {\n name: \"FailedToFetchRemoteImageDimensions\",\n title: \"Failed to retrieve remote image dimensions\",\n message: (imageURL) => `Failed to get the dimensions for ${imageURL}.`,\n hint: \"Verify your remote image URL is accurate, and that you are not using `inferSize` with a file located in your `public/` folder.\"\n};\nconst UnsupportedImageFormat = {\n name: \"UnsupportedImageFormat\",\n title: \"Unsupported image format\",\n message: (format, imagePath, supportedFormats) => `Received unsupported format \\`${format}\\` from \\`${imagePath}\\`. Currently only ${supportedFormats.join(\n \", \"\n )} are supported by our image services.`,\n hint: \"Using an `img` tag directly instead of the `Image` component might be what you're looking for.\"\n};\nconst UnsupportedImageConversion = {\n name: \"UnsupportedImageConversion\",\n title: \"Unsupported image conversion\",\n message: \"Converting between vector (such as SVGs) and raster (such as PNGs and JPEGs) images is not currently supported.\"\n};\nconst PrerenderDynamicEndpointPathCollide = {\n name: \"PrerenderDynamicEndpointPathCollide\",\n title: \"Prerendered dynamic endpoint has path collision.\",\n message: (pathname) => `Could not render \\`${pathname}\\` with an \\`undefined\\` param as the generated path will collide during prerendering. Prevent passing \\`undefined\\` as \\`params\\` for the endpoint's \\`getStaticPaths()\\` function, or add an additional extension to the endpoint's filename.`,\n hint: (filename) => `Rename \\`${filename}\\` to \\`${filename.replace(/\\.(?:js|ts)/, (m) => `.json` + m)}\\``\n};\nconst ExpectedImage = {\n name: \"ExpectedImage\",\n title: \"Expected src to be an image.\",\n message: (src, typeofOptions, fullOptions) => `Expected \\`src\\` property for \\`getImage\\` or \\`\\` to be either an ESM imported image or a string with the path of a remote image. Received \\`${src}\\` (type: \\`${typeofOptions}\\`).\n\nFull serialized options received: \\`${fullOptions}\\`.`,\n hint: \"This error can often happen because of a wrong path. Make sure the path to your image is correct. If you're passing an async function, make sure to call and await it.\"\n};\nconst ExpectedImageOptions = {\n name: \"ExpectedImageOptions\",\n title: \"Expected image options.\",\n message: (options) => `Expected getImage() parameter to be an object. Received \\`${options}\\`.`\n};\nconst ExpectedNotESMImage = {\n name: \"ExpectedNotESMImage\",\n title: \"Expected image options, not an ESM-imported image.\",\n message: \"An ESM-imported image cannot be passed directly to `getImage()`. Instead, pass an object with the image in the `src` property.\",\n hint: \"Try changing `getImage(myImage)` to `getImage({ src: myImage })`\"\n};\nconst IncompatibleDescriptorOptions = {\n name: \"IncompatibleDescriptorOptions\",\n title: \"Cannot set both `densities` and `widths`\",\n message: \"Only one of `densities` or `widths` can be specified. In most cases, you'll probably want to use only `widths` if you require specific widths.\",\n hint: \"Those attributes are used to construct a `srcset` attribute, which cannot have both `x` and `w` descriptors.\"\n};\nconst ImageNotFound = {\n name: \"ImageNotFound\",\n title: \"Image not found.\",\n message: (imagePath) => `Could not find requested image \\`${imagePath}\\`. Does it exist?`,\n hint: \"This is often caused by a typo in the image path. Please make sure the file exists, and is spelled correctly.\"\n};\nconst NoImageMetadata = {\n name: \"NoImageMetadata\",\n title: \"Could not process image metadata.\",\n message: (imagePath) => `Could not process image metadata${imagePath ? ` for \\`${imagePath}\\`` : \"\"}.`,\n hint: \"This is often caused by a corrupted or malformed image. Re-exporting the image from your image editor may fix this issue.\"\n};\nconst MarkdownImageNotFound = {\n name: \"MarkdownImageNotFound\",\n title: \"Image not found.\",\n message: (imagePath, fullImagePath) => `Could not find requested image \\`${imagePath}\\`${fullImagePath ? ` at \\`${fullImagePath}\\`.` : \".\"}`,\n hint: \"This is often caused by a typo in the image path. Please make sure the file exists, and is spelled correctly.\"\n};\nconst CouldNotTransformImage = {\n name: \"CouldNotTransformImage\",\n title: \"Could not transform image.\",\n message: (imagePath) => `Could not transform image \\`${imagePath}\\`. See the stack trace for more information.`,\n hint: \"This is often caused by a corrupted or malformed image. Re-exporting the image from your image editor may fix this issue.\"\n};\nconst ResponseSentError = {\n name: \"ResponseSentError\",\n title: \"Unable to set response.\",\n message: \"The response has already been sent to the browser and cannot be altered.\"\n};\nconst MiddlewareNoDataOrNextCalled = {\n name: \"MiddlewareNoDataOrNextCalled\",\n title: \"The middleware didn't return a `Response`.\",\n message: \"Make sure your middleware returns a `Response` object, either directly or by returning the `Response` from calling the `next` function.\"\n};\nconst MiddlewareNotAResponse = {\n name: \"MiddlewareNotAResponse\",\n title: \"The middleware returned something that is not a `Response` object.\",\n message: \"Any data returned from middleware must be a valid `Response` object.\"\n};\nconst EndpointDidNotReturnAResponse = {\n name: \"EndpointDidNotReturnAResponse\",\n title: \"The endpoint did not return a `Response`.\",\n message: \"An endpoint must return either a `Response`, or a `Promise` that resolves with a `Response`.\"\n};\nconst LocalsNotAnObject = {\n name: \"LocalsNotAnObject\",\n title: \"Value assigned to `locals` is not accepted.\",\n message: \"`locals` can only be assigned to an object. Other values like numbers, strings, etc. are not accepted.\",\n hint: \"If you tried to remove some information from the `locals` object, try to use `delete` or set the property to `undefined`.\"\n};\nconst AstroResponseHeadersReassigned = {\n name: \"AstroResponseHeadersReassigned\",\n title: \"`Astro.response.headers` must not be reassigned.\",\n message: \"Individual headers can be added to and removed from `Astro.response.headers`, but it must not be replaced with another instance of `Headers` altogether.\",\n hint: \"Consider using `Astro.response.headers.add()`, and `Astro.response.headers.delete()`.\"\n};\nconst MiddlewareCantBeLoaded = {\n name: \"MiddlewareCantBeLoaded\",\n title: \"Can't load the middleware.\",\n message: \"An unknown error was thrown while loading your middleware.\"\n};\nconst LocalImageUsedWrongly = {\n name: \"LocalImageUsedWrongly\",\n title: \"Local images must be imported.\",\n message: (imageFilePath) => `\\`Image\\`'s and \\`getImage\\`'s \\`src\\` parameter must be an imported image or an URL, it cannot be a string filepath. Received \\`${imageFilePath}\\`.`,\n hint: \"If you want to use an image from your `src` folder, you need to either import it or if the image is coming from a content collection, use the [image() schema helper](https://docs.astro.build/en/guides/images/#images-in-content-collections). See https://docs.astro.build/en/guides/images/#src-required for more information on the `src` property.\"\n};\nconst AstroGlobUsedOutside = {\n name: \"AstroGlobUsedOutside\",\n title: \"Astro.glob() used outside of an Astro file.\",\n message: (globStr) => `\\`Astro.glob(${globStr})\\` can only be used in \\`.astro\\` files. \\`import.meta.glob(${globStr})\\` can be used instead to achieve a similar result.`,\n hint: \"See Vite's documentation on `import.meta.glob` for more information: https://vitejs.dev/guide/features.html#glob-import\"\n};\nconst AstroGlobNoMatch = {\n name: \"AstroGlobNoMatch\",\n title: \"Astro.glob() did not match any files.\",\n message: (globStr) => `\\`Astro.glob(${globStr})\\` did not return any matching files.`,\n hint: \"Check the pattern for typos.\"\n};\nconst RedirectWithNoLocation = {\n name: \"RedirectWithNoLocation\",\n title: \"A redirect must be given a location with the `Location` header.\"\n};\nconst InvalidDynamicRoute = {\n name: \"InvalidDynamicRoute\",\n title: \"Invalid dynamic route.\",\n message: (route, invalidParam, received) => `The ${invalidParam} param for route ${route} is invalid. Received **${received}**.`\n};\nconst MissingSharp = {\n name: \"MissingSharp\",\n title: \"Could not find Sharp.\",\n message: \"Could not find Sharp. Please install Sharp (`sharp`) manually into your project or migrate to another image service.\",\n hint: \"See Sharp's installation instructions for more information: https://sharp.pixelplumbing.com/install. If you are not relying on `astro:assets` to optimize, transform, or process any images, you can configure a passthrough image service instead of installing Sharp. See https://docs.astro.build/en/reference/errors/missing-sharp for more information.\\n\\nSee https://docs.astro.build/en/guides/images/#default-image-service for more information on how to migrate to another image service.\"\n};\nconst UnknownViteError = {\n name: \"UnknownViteError\",\n title: \"Unknown Vite Error.\"\n};\nconst FailedToLoadModuleSSR = {\n name: \"FailedToLoadModuleSSR\",\n title: \"Could not import file.\",\n message: (importName) => `Could not import \\`${importName}\\`.`,\n hint: \"This is often caused by a typo in the import path. Please make sure the file exists.\"\n};\nconst InvalidGlob = {\n name: \"InvalidGlob\",\n title: \"Invalid glob pattern.\",\n message: (globPattern) => `Invalid glob pattern: \\`${globPattern}\\`. Glob patterns must start with './', '../' or '/'.`,\n hint: \"See https://docs.astro.build/en/guides/imports/#glob-patterns for more information on supported glob patterns.\"\n};\nconst FailedToFindPageMapSSR = {\n name: \"FailedToFindPageMapSSR\",\n title: \"Astro couldn't find the correct page to render\",\n message: \"Astro couldn't find the correct page to render, probably because it wasn't correctly mapped for SSR usage. This is an internal error. Please file an issue.\"\n};\nconst MissingLocale = {\n name: \"MissingLocaleError\",\n title: \"The provided locale does not exist.\",\n message: (locale) => `The locale/path \\`${locale}\\` does not exist in the configured \\`i18n.locales\\`.`\n};\nconst MissingIndexForInternationalization = {\n name: \"MissingIndexForInternationalizationError\",\n title: \"Index page not found.\",\n message: (defaultLocale) => `Could not find index page. A root index page is required in order to create a redirect to the index URL of the default locale. (\\`/${defaultLocale}\\`)`,\n hint: (src) => `Create an index page (\\`index.astro, index.md, etc.\\`) in \\`${src}\\`.`\n};\nconst IncorrectStrategyForI18n = {\n name: \"IncorrectStrategyForI18n\",\n title: \"You can't use the current function with the current strategy\",\n message: (functionName) => `The function \\`${functionName}\\` can only be used when the \\`i18n.routing.strategy\\` is set to \\`\"manual\"\\`.`\n};\nconst NoPrerenderedRoutesWithDomains = {\n name: \"NoPrerenderedRoutesWithDomains\",\n title: \"Prerendered routes aren't supported when internationalization domains are enabled.\",\n message: (component) => `Static pages aren't yet supported with multiple domains. To enable this feature, you must disable prerendering for the page ${component}`\n};\nconst MissingMiddlewareForInternationalization = {\n name: \"MissingMiddlewareForInternationalization\",\n title: \"Enabled manual internationalization routing without having a middleware.\",\n message: \"Your configuration setting `i18n.routing: 'manual'` requires you to provide your own i18n `middleware` file.\"\n};\nconst RewriteEncounteredAnError = {\n name: \"RewriteEncounteredAnError\",\n title: \"Astro couldn't find the route to rewrite, or if was found but it emitted an error during the rendering phase.\",\n message: (route, stack) => `The route ${route} that you tried to render doesn't exist, or it emitted an error during the rendering phase. ${stack ? stack : \"\"}.`\n};\nconst CantRenderPage = {\n name: \"CantRenderPage\",\n title: \"Astro can't render the route.\",\n message: \"Astro cannot find any content to render for this route. There is no file or redirect associated with this route.\",\n hint: \"If you expect to find a route here, this may be an Astro bug. Please file an issue/restart the dev server\"\n};\nconst UnhandledRejection = {\n name: \"UnhandledRejection\",\n title: \"Unhandled rejection\",\n message: (stack) => `Astro detected an unhandled rejection. Here's the stack trace:\n${stack}`,\n hint: \"Make sure your promises all have an `await` or a `.catch()` handler.\"\n};\nconst i18nNotEnabled = {\n name: \"i18nNotEnabled\",\n title: \"i18n Not Enabled\",\n message: \"The `astro:i18n` module can not be used without enabling i18n in your Astro config.\",\n hint: \"See https://docs.astro.build/en/guides/internationalization for a guide on setting up i18n.\"\n};\nconst i18nNoLocaleFoundInPath = {\n name: \"i18nNoLocaleFoundInPath\",\n title: \"The path doesn't contain any locale\",\n message: \"You tried to use an i18n utility on a path that doesn't contain any locale. You can use `pathHasLocale` first to determine if the path has a locale.\"\n};\nconst RouteNotFound = {\n name: \"RouteNotFound\",\n title: \"Route not found.\",\n message: `Astro could not find a route that matches the one you requested.`\n};\nconst EnvInvalidVariables = {\n name: \"EnvInvalidVariables\",\n title: \"Invalid Environment Variables\",\n message: (errors) => `The following environment variables defined in \\`experimental.env.schema\\` are invalid:\n\n${errors.map((err) => `- ${err}`).join(\"\\n\")}\n`\n};\nconst EnvUnsupportedGetSecret = {\n name: \"EnvUnsupportedGetSecret\",\n title: \"Unsupported astro:env getSecret\",\n message: \"`astro:env/server` exported function `getSecret` is not supported by your adapter.\"\n};\nconst ServerOnlyModule = {\n name: \"ServerOnlyModule\",\n title: \"Module is only available server-side\",\n message: (name) => `The \"${name}\" module is only available server-side.`\n};\nconst RewriteWithBodyUsed = {\n name: \"RewriteWithBodyUsed\",\n title: \"Cannot use Astro.rewrite after the request body has been read\",\n message: \"Astro.rewrite() cannot be used if the request body has already been read. If you need to read the body, first clone the request.\"\n};\nconst UnknownCSSError = {\n name: \"UnknownCSSError\",\n title: \"Unknown CSS Error.\"\n};\nconst CSSSyntaxError = {\n name: \"CSSSyntaxError\",\n title: \"CSS Syntax Error.\"\n};\nconst UnknownMarkdownError = {\n name: \"UnknownMarkdownError\",\n title: \"Unknown Markdown Error.\"\n};\nconst MarkdownFrontmatterParseError = {\n name: \"MarkdownFrontmatterParseError\",\n title: \"Failed to parse Markdown frontmatter.\"\n};\nconst InvalidFrontmatterInjectionError = {\n name: \"InvalidFrontmatterInjectionError\",\n title: \"Invalid frontmatter injection.\",\n message: 'A remark or rehype plugin attempted to inject invalid frontmatter. Ensure \"astro.frontmatter\" is set to a valid JSON object that is not `null` or `undefined`.',\n hint: \"See the frontmatter injection docs https://docs.astro.build/en/guides/markdown-content/#modifying-frontmatter-programmatically for more information.\"\n};\nconst MdxIntegrationMissingError = {\n name: \"MdxIntegrationMissingError\",\n title: \"MDX integration missing.\",\n message: (file) => `Unable to render ${file}. Ensure that the \\`@astrojs/mdx\\` integration is installed.`,\n hint: \"See the MDX integration docs for installation and usage instructions: https://docs.astro.build/en/guides/integrations-guide/mdx/\"\n};\nconst UnknownConfigError = {\n name: \"UnknownConfigError\",\n title: \"Unknown configuration error.\"\n};\nconst ConfigNotFound = {\n name: \"ConfigNotFound\",\n title: \"Specified configuration file not found.\",\n message: (configFile) => `Unable to resolve \\`--config \"${configFile}\"\\`. Does the file exist?`\n};\nconst ConfigLegacyKey = {\n name: \"ConfigLegacyKey\",\n title: \"Legacy configuration detected.\",\n message: (legacyConfigKey) => `Legacy configuration detected: \\`${legacyConfigKey}\\`.`,\n hint: \"Please update your configuration to the new format.\\nSee https://astro.build/config for more information.\"\n};\nconst UnknownCLIError = {\n name: \"UnknownCLIError\",\n title: \"Unknown CLI Error.\"\n};\nconst GenerateContentTypesError = {\n name: \"GenerateContentTypesError\",\n title: \"Failed to generate content types.\",\n message: (errorMessage) => `\\`astro sync\\` command failed to generate content collection types: ${errorMessage}`,\n hint: \"Check your `src/content/config.*` file for typos.\"\n};\nconst UnknownContentCollectionError = {\n name: \"UnknownContentCollectionError\",\n title: \"Unknown Content Collection Error.\"\n};\nconst InvalidContentEntryFrontmatterError = {\n name: \"InvalidContentEntryFrontmatterError\",\n title: \"Content entry frontmatter does not match schema.\",\n message(collection, entryId, error) {\n return [\n `**${String(collection)} \\u2192 ${String(\n entryId\n )}** frontmatter does not match collection schema.`,\n ...error.errors.map((zodError) => zodError.message)\n ].join(\"\\n\");\n },\n hint: \"See https://docs.astro.build/en/guides/content-collections/ for more information on content schemas.\"\n};\nconst InvalidContentEntrySlugError = {\n name: \"InvalidContentEntrySlugError\",\n title: \"Invalid content entry slug.\",\n message(collection, entryId) {\n return `${String(collection)} \\u2192 ${String(\n entryId\n )} has an invalid slug. \\`slug\\` must be a string.`;\n },\n hint: \"See https://docs.astro.build/en/guides/content-collections/ for more on the `slug` field.\"\n};\nconst ContentSchemaContainsSlugError = {\n name: \"ContentSchemaContainsSlugError\",\n title: \"Content Schema should not contain `slug`.\",\n message: (collectionName) => `A content collection schema should not contain \\`slug\\` since it is reserved for slug generation. Remove this from your ${collectionName} collection schema.`,\n hint: \"See https://docs.astro.build/en/guides/content-collections/ for more on the `slug` field.\"\n};\nconst CollectionDoesNotExistError = {\n name: \"CollectionDoesNotExistError\",\n title: \"Collection does not exist\",\n message: (collectionName) => `The collection **${collectionName}** does not exist. Ensure a collection directory with this name exists.`,\n hint: \"See https://docs.astro.build/en/guides/content-collections/ for more on creating collections.\"\n};\nconst MixedContentDataCollectionError = {\n name: \"MixedContentDataCollectionError\",\n title: \"Content and data cannot be in same collection.\",\n message: (collectionName) => `**${collectionName}** contains a mix of content and data entries. All entries must be of the same type.`,\n hint: \"Store data entries in a new collection separate from your content collection.\"\n};\nconst ContentCollectionTypeMismatchError = {\n name: \"ContentCollectionTypeMismatchError\",\n title: \"Collection contains entries of a different type.\",\n message: (collection, expectedType, actualType) => `${collection} contains ${expectedType} entries, but is configured as a ${actualType} collection.`\n};\nconst DataCollectionEntryParseError = {\n name: \"DataCollectionEntryParseError\",\n title: \"Data collection entry failed to parse.\",\n message(entryId, errorMessage) {\n return `**${entryId}** failed to parse: ${errorMessage}`;\n },\n hint: \"Ensure your data entry is an object with valid JSON (for `.json` entries) or YAML (for `.yaml` entries).\"\n};\nconst DuplicateContentEntrySlugError = {\n name: \"DuplicateContentEntrySlugError\",\n title: \"Duplicate content entry slug.\",\n message(collection, slug, preExisting, alsoFound) {\n return `**${collection}** contains multiple entries with the same slug: \\`${slug}\\`. Slugs must be unique.\n\nEntries: \n- ${preExisting}\n- ${alsoFound}`;\n }\n};\nconst ActionsWithoutServerOutputError = {\n name: \"ActionsWithoutServerOutputError\",\n title: \"Actions must be used with server output.\",\n message: \"Actions enabled without setting a server build output. A server is required to create callable backend functions. To deploy routes to a server, add a server adapter to your astro config.\",\n hint: \"Learn about on-demand rendering: https://docs.astro.build/en/basics/rendering-modes/#on-demand-rendered\"\n};\nconst UnsupportedConfigTransformError = {\n name: \"UnsupportedConfigTransformError\",\n title: \"Unsupported transform in content config.\",\n message: (parseError) => `\\`transform()\\` functions in your content config must return valid JSON, or data types compatible with the devalue library (including Dates, Maps, and Sets).\nFull error: ${parseError}`,\n hint: \"See the devalue library for all supported types: https://github.com/rich-harris/devalue\"\n};\nconst UnknownError = { name: \"UnknownError\", title: \"Unknown Error.\" };\nexport {\n ActionsWithoutServerOutputError,\n AstroGlobNoMatch,\n AstroGlobUsedOutside,\n AstroResponseHeadersReassigned,\n CSSSyntaxError,\n CantRenderPage,\n ClientAddressNotAvailable,\n CollectionDoesNotExistError,\n ConfigLegacyKey,\n ConfigNotFound,\n ContentCollectionTypeMismatchError,\n ContentSchemaContainsSlugError,\n CouldNotTransformImage,\n DataCollectionEntryParseError,\n DuplicateContentEntrySlugError,\n EndpointDidNotReturnAResponse,\n EnvInvalidVariables,\n EnvUnsupportedGetSecret,\n ExpectedImage,\n ExpectedImageOptions,\n ExpectedNotESMImage,\n FailedToFetchRemoteImageDimensions,\n FailedToFindPageMapSSR,\n FailedToLoadModuleSSR,\n GenerateContentTypesError,\n GetStaticPathsExpectedParams,\n GetStaticPathsInvalidRouteParam,\n GetStaticPathsRemovedRSSHelper,\n GetStaticPathsRequired,\n ImageMissingAlt,\n ImageNotFound,\n IncompatibleDescriptorOptions,\n IncorrectStrategyForI18n,\n InvalidComponentArgs,\n InvalidContentEntryFrontmatterError,\n InvalidContentEntrySlugError,\n InvalidDynamicRoute,\n InvalidFrontmatterInjectionError,\n InvalidGetStaticPathParam,\n InvalidGetStaticPathsEntry,\n InvalidGetStaticPathsReturn,\n InvalidGlob,\n InvalidImageService,\n InvalidPrerenderExport,\n LocalImageUsedWrongly,\n LocalsNotAnObject,\n MarkdownFrontmatterParseError,\n MarkdownImageNotFound,\n MdxIntegrationMissingError,\n MiddlewareCantBeLoaded,\n MiddlewareNoDataOrNextCalled,\n MiddlewareNotAResponse,\n MissingImageDimension,\n MissingIndexForInternationalization,\n MissingLocale,\n MissingMediaQueryDirective,\n MissingMiddlewareForInternationalization,\n MissingSharp,\n MixedContentDataCollectionError,\n NoAdapterInstalled,\n NoClientEntrypoint,\n NoClientOnlyHint,\n NoImageMetadata,\n NoMatchingImport,\n NoMatchingRenderer,\n NoMatchingStaticPathFound,\n NoPrerenderedRoutesWithDomains,\n OnlyResponseCanBeReturned,\n PageNumberParamNotFound,\n PrerenderClientAddressNotAvailable,\n PrerenderDynamicEndpointPathCollide,\n RedirectWithNoLocation,\n ReservedSlotName,\n ResponseSentError,\n RewriteEncounteredAnError,\n RewriteWithBodyUsed,\n RouteNotFound,\n ServerOnlyModule,\n StaticClientAddressNotAvailable,\n StaticRedirectNotAvailable,\n UnhandledRejection,\n UnknownCLIError,\n UnknownCSSError,\n UnknownCompilerError,\n UnknownConfigError,\n UnknownContentCollectionError,\n UnknownError,\n UnknownMarkdownError,\n UnknownViteError,\n UnsupportedConfigTransformError,\n UnsupportedImageConversion,\n UnsupportedImageFormat,\n i18nNoLocaleFoundInPath,\n i18nNotEnabled\n};\n","function positionAt(offset, text) {\n const lineOffsets = getLineOffsets(text);\n offset = Math.max(0, Math.min(text.length, offset));\n let low = 0;\n let high = lineOffsets.length;\n if (high === 0) {\n return {\n line: 0,\n column: offset\n };\n }\n while (low <= high) {\n const mid = Math.floor((low + high) / 2);\n const lineOffset = lineOffsets[mid];\n if (lineOffset === offset) {\n return {\n line: mid,\n column: 0\n };\n } else if (offset > lineOffset) {\n low = mid + 1;\n } else {\n high = mid - 1;\n }\n }\n const line = low - 1;\n return { line, column: offset - lineOffsets[line] };\n}\nfunction getLineOffsets(text) {\n const lineOffsets = [];\n let isLineStart = true;\n for (let i = 0; i < text.length; i++) {\n if (isLineStart) {\n lineOffsets.push(i);\n isLineStart = false;\n }\n const ch = text.charAt(i);\n isLineStart = ch === \"\\r\" || ch === \"\\n\";\n if (ch === \"\\r\" && i + 1 < text.length && text.charAt(i + 1) === \"\\n\") {\n i++;\n }\n }\n if (isLineStart && text.length > 0) {\n lineOffsets.push(text.length);\n }\n return lineOffsets;\n}\nfunction isYAMLException(err) {\n return err instanceof Error && err.name === \"YAMLException\";\n}\nfunction formatYAMLException(e) {\n return {\n name: e.name,\n id: e.mark.name,\n loc: { file: e.mark.name, line: e.mark.line + 1, column: e.mark.column },\n message: e.reason,\n stack: e.stack ?? \"\"\n };\n}\nfunction createSafeError(err) {\n if (err instanceof Error || err?.name && err.message) {\n return err;\n } else {\n const error = new Error(JSON.stringify(err));\n error.hint = `To get as much information as possible from your errors, make sure to throw Error objects instead of \\`${typeof err}\\`. See https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Error for more information.`;\n return error;\n }\n}\nfunction normalizeLF(code) {\n return code.replace(/\\r\\n|\\r(?!\\n)|\\n/g, \"\\n\");\n}\nexport {\n createSafeError,\n formatYAMLException,\n isYAMLException,\n normalizeLF,\n positionAt\n};\n","import { normalizeLF } from \"./utils.js\";\nfunction codeFrame(src, loc) {\n if (!loc || loc.line === void 0 || loc.column === void 0) {\n return \"\";\n }\n const lines = normalizeLF(src).split(\"\\n\").map((ln) => ln.replace(/\\t/g, \" \"));\n const visibleLines = [];\n for (let n = -2; n <= 2; n++) {\n if (lines[loc.line + n]) visibleLines.push(loc.line + n);\n }\n let gutterWidth = 0;\n for (const lineNo of visibleLines) {\n let w = `> ${lineNo}`;\n if (w.length > gutterWidth) gutterWidth = w.length;\n }\n let output = \"\";\n for (const lineNo of visibleLines) {\n const isFocusedLine = lineNo === loc.line - 1;\n output += isFocusedLine ? \"> \" : \" \";\n output += `${lineNo + 1} | ${lines[lineNo]}\n`;\n if (isFocusedLine)\n output += `${Array.from({ length: gutterWidth }).join(\" \")} | ${Array.from({\n length: loc.column\n }).join(\" \")}^\n`;\n }\n return output;\n}\nexport {\n codeFrame\n};\n","import { codeFrame } from \"./printer.js\";\nfunction isAstroError(e) {\n return e instanceof AstroError;\n}\nclass AstroError extends Error {\n loc;\n title;\n hint;\n frame;\n type = \"AstroError\";\n constructor(props, options) {\n const { name, title, message, stack, location, hint, frame } = props;\n super(message, options);\n this.title = title;\n this.name = name;\n if (message) this.message = message;\n this.stack = stack ? stack : this.stack;\n this.loc = location;\n this.hint = hint;\n this.frame = frame;\n }\n setLocation(location) {\n this.loc = location;\n }\n setName(name) {\n this.name = name;\n }\n setMessage(message) {\n this.message = message;\n }\n setHint(hint) {\n this.hint = hint;\n }\n setFrame(source, location) {\n this.frame = codeFrame(source, location);\n }\n static is(err) {\n return err.type === \"AstroError\";\n }\n}\nclass CompilerError extends AstroError {\n type = \"CompilerError\";\n constructor(props, options) {\n super(props, options);\n }\n static is(err) {\n return err.type === \"CompilerError\";\n }\n}\nclass CSSError extends AstroError {\n type = \"CSSError\";\n static is(err) {\n return err.type === \"CSSError\";\n }\n}\nclass MarkdownError extends AstroError {\n type = \"MarkdownError\";\n static is(err) {\n return err.type === \"MarkdownError\";\n }\n}\nclass InternalError extends AstroError {\n type = \"InternalError\";\n static is(err) {\n return err.type === \"InternalError\";\n }\n}\nclass AggregateError extends AstroError {\n type = \"AggregateError\";\n errors;\n // Despite being a collection of errors, AggregateError still needs to have a main error attached to it\n // This is because Vite expects every thrown errors handled during HMR to be, well, Error and have a message\n constructor(props, options) {\n super(props, options);\n this.errors = props.errors;\n }\n static is(err) {\n return err.type === \"AggregateError\";\n }\n}\nconst astroConfigZodErrors = /* @__PURE__ */ new WeakSet();\nfunction isAstroConfigZodError(error) {\n return astroConfigZodErrors.has(error);\n}\nfunction trackAstroConfigZodError(error) {\n astroConfigZodErrors.add(error);\n}\nclass AstroUserError extends Error {\n type = \"AstroUserError\";\n /**\n * A message that explains to the user how they can fix the error.\n */\n hint;\n name = \"AstroUserError\";\n constructor(message, hint) {\n super();\n this.message = message;\n this.hint = hint;\n }\n static is(err) {\n return err.type === \"AstroUserError\";\n }\n}\nexport {\n AggregateError,\n AstroError,\n AstroUserError,\n CSSError,\n CompilerError,\n InternalError,\n MarkdownError,\n isAstroConfigZodError,\n isAstroError,\n trackAstroConfigZodError\n};\n","import { AstroError, AstroErrorData } from \"../../core/errors/index.js\";\nfunction validateArgs(args) {\n if (args.length !== 3) return false;\n if (!args[0] || typeof args[0] !== \"object\") return false;\n return true;\n}\nfunction baseCreateComponent(cb, moduleId, propagation) {\n const name = moduleId?.split(\"/\").pop()?.replace(\".astro\", \"\") ?? \"\";\n const fn = (...args) => {\n if (!validateArgs(args)) {\n throw new AstroError({\n ...AstroErrorData.InvalidComponentArgs,\n message: AstroErrorData.InvalidComponentArgs.message(name)\n });\n }\n return cb(...args);\n };\n Object.defineProperty(fn, \"name\", { value: name, writable: false });\n fn.isAstroComponentFactory = true;\n fn.moduleId = moduleId;\n fn.propagation = propagation;\n return fn;\n}\nfunction createComponentWithOptions(opts) {\n const cb = baseCreateComponent(opts.factory, opts.moduleId, opts.propagation);\n return cb;\n}\nfunction createComponent(arg1, moduleId, propagation) {\n if (typeof arg1 === \"function\") {\n return baseCreateComponent(arg1, moduleId, propagation);\n } else {\n return createComponentWithOptions(arg1);\n }\n}\nexport {\n createComponent\n};\n","const ASTRO_VERSION = \"4.12.2\";\nconst REROUTE_DIRECTIVE_HEADER = \"X-Astro-Reroute\";\nconst REWRITE_DIRECTIVE_HEADER_KEY = \"X-Astro-Rewrite\";\nconst REWRITE_DIRECTIVE_HEADER_VALUE = \"yes\";\nconst ROUTE_TYPE_HEADER = \"X-Astro-Route-Type\";\nconst DEFAULT_404_COMPONENT = \"astro-default-404.astro\";\nconst DEFAULT_500_COMPONENT = \"astro-default-500.astro\";\nconst REROUTABLE_STATUS_CODES = [404, 500];\nconst clientAddressSymbol = Symbol.for(\"astro.clientAddress\");\nconst clientLocalsSymbol = Symbol.for(\"astro.locals\");\nconst responseSentSymbol = Symbol.for(\"astro.responseSent\");\nconst SUPPORTED_MARKDOWN_FILE_EXTENSIONS = [\n \".markdown\",\n \".mdown\",\n \".mkdn\",\n \".mkd\",\n \".mdwn\",\n \".md\"\n];\nconst MIDDLEWARE_PATH_SEGMENT_NAME = \"middleware\";\nexport {\n ASTRO_VERSION,\n DEFAULT_404_COMPONENT,\n DEFAULT_500_COMPONENT,\n MIDDLEWARE_PATH_SEGMENT_NAME,\n REROUTABLE_STATUS_CODES,\n REROUTE_DIRECTIVE_HEADER,\n REWRITE_DIRECTIVE_HEADER_KEY,\n REWRITE_DIRECTIVE_HEADER_VALUE,\n ROUTE_TYPE_HEADER,\n SUPPORTED_MARKDOWN_FILE_EXTENSIONS,\n clientAddressSymbol,\n clientLocalsSymbol,\n responseSentSymbol\n};\n","import { ASTRO_VERSION } from \"../../core/constants.js\";\nimport { AstroError, AstroErrorData } from \"../../core/errors/index.js\";\nfunction createAstroGlobFn() {\n const globHandler = (importMetaGlobResult) => {\n if (typeof importMetaGlobResult === \"string\") {\n throw new AstroError({\n ...AstroErrorData.AstroGlobUsedOutside,\n message: AstroErrorData.AstroGlobUsedOutside.message(JSON.stringify(importMetaGlobResult))\n });\n }\n let allEntries = [...Object.values(importMetaGlobResult)];\n if (allEntries.length === 0) {\n throw new AstroError({\n ...AstroErrorData.AstroGlobNoMatch,\n message: AstroErrorData.AstroGlobNoMatch.message(JSON.stringify(importMetaGlobResult))\n });\n }\n return Promise.all(allEntries.map((fn) => fn()));\n };\n return globHandler;\n}\nfunction createAstro(site) {\n return {\n // TODO: this is no longer necessary for `Astro.site`\n // but it somehow allows working around caching issues in content collections for some tests\n site: site ? new URL(site) : void 0,\n generator: `Astro v${ASTRO_VERSION}`,\n glob: createAstroGlobFn()\n };\n}\nexport {\n createAstro\n};\n","function isPromise(value) {\n return !!value && typeof value === \"object\" && \"then\" in value && typeof value.then === \"function\";\n}\nasync function* streamAsyncIterator(stream) {\n const reader = stream.getReader();\n try {\n while (true) {\n const { done, value } = await reader.read();\n if (done) return;\n yield value;\n }\n } finally {\n reader.releaseLock();\n }\n}\nexport {\n isPromise,\n streamAsyncIterator\n};\n","import { escape } from \"html-escaper\";\nimport { streamAsyncIterator } from \"./util.js\";\nconst escapeHTML = escape;\nclass HTMLBytes extends Uint8Array {\n}\nObject.defineProperty(HTMLBytes.prototype, Symbol.toStringTag, {\n get() {\n return \"HTMLBytes\";\n }\n});\nclass HTMLString extends String {\n get [Symbol.toStringTag]() {\n return \"HTMLString\";\n }\n}\nconst markHTMLString = (value) => {\n if (value instanceof HTMLString) {\n return value;\n }\n if (typeof value === \"string\") {\n return new HTMLString(value);\n }\n return value;\n};\nfunction isHTMLString(value) {\n return Object.prototype.toString.call(value) === \"[object HTMLString]\";\n}\nfunction markHTMLBytes(bytes) {\n return new HTMLBytes(bytes);\n}\nfunction isHTMLBytes(value) {\n return Object.prototype.toString.call(value) === \"[object HTMLBytes]\";\n}\nfunction hasGetReader(obj) {\n return typeof obj.getReader === \"function\";\n}\nasync function* unescapeChunksAsync(iterable) {\n if (hasGetReader(iterable)) {\n for await (const chunk of streamAsyncIterator(iterable)) {\n yield unescapeHTML(chunk);\n }\n } else {\n for await (const chunk of iterable) {\n yield unescapeHTML(chunk);\n }\n }\n}\nfunction* unescapeChunks(iterable) {\n for (const chunk of iterable) {\n yield unescapeHTML(chunk);\n }\n}\nfunction unescapeHTML(str) {\n if (!!str && typeof str === \"object\") {\n if (str instanceof Uint8Array) {\n return markHTMLBytes(str);\n } else if (str instanceof Response && str.body) {\n const body = str.body;\n return unescapeChunksAsync(body);\n } else if (typeof str.then === \"function\") {\n return Promise.resolve(str).then((value) => {\n return unescapeHTML(value);\n });\n } else if (str[Symbol.for(\"astro:slot-string\")]) {\n return str;\n } else if (Symbol.iterator in str) {\n return unescapeChunks(str);\n } else if (Symbol.asyncIterator in str || hasGetReader(str)) {\n return unescapeChunksAsync(str);\n }\n }\n return markHTMLString(str);\n}\nexport {\n HTMLBytes,\n HTMLString,\n escapeHTML,\n isHTMLBytes,\n isHTMLString,\n markHTMLString,\n unescapeHTML\n};\n","const RenderInstructionSymbol = Symbol.for(\"astro:render\");\nfunction createRenderInstruction(instruction) {\n return Object.defineProperty(instruction, RenderInstructionSymbol, {\n value: true\n });\n}\nfunction isRenderInstruction(chunk) {\n return chunk && typeof chunk === \"object\" && chunk[RenderInstructionSymbol];\n}\nexport {\n createRenderInstruction,\n isRenderInstruction\n};\n","const PROP_TYPE = {\n Value: 0,\n JSON: 1,\n // Actually means Array\n RegExp: 2,\n Date: 3,\n Map: 4,\n Set: 5,\n BigInt: 6,\n URL: 7,\n Uint8Array: 8,\n Uint16Array: 9,\n Uint32Array: 10\n};\nfunction serializeArray(value, metadata = {}, parents = /* @__PURE__ */ new WeakSet()) {\n if (parents.has(value)) {\n throw new Error(`Cyclic reference detected while serializing props for <${metadata.displayName} client:${metadata.hydrate}>!\n\nCyclic references cannot be safely serialized for client-side usage. Please remove the cyclic reference.`);\n }\n parents.add(value);\n const serialized = value.map((v) => {\n return convertToSerializedForm(v, metadata, parents);\n });\n parents.delete(value);\n return serialized;\n}\nfunction serializeObject(value, metadata = {}, parents = /* @__PURE__ */ new WeakSet()) {\n if (parents.has(value)) {\n throw new Error(`Cyclic reference detected while serializing props for <${metadata.displayName} client:${metadata.hydrate}>!\n\nCyclic references cannot be safely serialized for client-side usage. Please remove the cyclic reference.`);\n }\n parents.add(value);\n const serialized = Object.fromEntries(\n Object.entries(value).map(([k, v]) => {\n return [k, convertToSerializedForm(v, metadata, parents)];\n })\n );\n parents.delete(value);\n return serialized;\n}\nfunction convertToSerializedForm(value, metadata = {}, parents = /* @__PURE__ */ new WeakSet()) {\n const tag = Object.prototype.toString.call(value);\n switch (tag) {\n case \"[object Date]\": {\n return [PROP_TYPE.Date, value.toISOString()];\n }\n case \"[object RegExp]\": {\n return [PROP_TYPE.RegExp, value.source];\n }\n case \"[object Map]\": {\n return [PROP_TYPE.Map, serializeArray(Array.from(value), metadata, parents)];\n }\n case \"[object Set]\": {\n return [PROP_TYPE.Set, serializeArray(Array.from(value), metadata, parents)];\n }\n case \"[object BigInt]\": {\n return [PROP_TYPE.BigInt, value.toString()];\n }\n case \"[object URL]\": {\n return [PROP_TYPE.URL, value.toString()];\n }\n case \"[object Array]\": {\n return [PROP_TYPE.JSON, serializeArray(value, metadata, parents)];\n }\n case \"[object Uint8Array]\": {\n return [PROP_TYPE.Uint8Array, Array.from(value)];\n }\n case \"[object Uint16Array]\": {\n return [PROP_TYPE.Uint16Array, Array.from(value)];\n }\n case \"[object Uint32Array]\": {\n return [PROP_TYPE.Uint32Array, Array.from(value)];\n }\n default: {\n if (value !== null && typeof value === \"object\") {\n return [PROP_TYPE.Value, serializeObject(value, metadata, parents)];\n } else if (value === void 0) {\n return [PROP_TYPE.Value];\n } else {\n return [PROP_TYPE.Value, value];\n }\n }\n }\n}\nfunction serializeProps(props, metadata) {\n const serialized = JSON.stringify(serializeObject(props, metadata));\n return serialized;\n}\nexport {\n serializeProps\n};\n","import { AstroError, AstroErrorData } from \"../../core/errors/index.js\";\nimport { escapeHTML } from \"./escape.js\";\nimport { serializeProps } from \"./serialize.js\";\nconst transitionDirectivesToCopyOnIsland = Object.freeze([\n \"data-astro-transition-scope\",\n \"data-astro-transition-persist\",\n \"data-astro-transition-persist-props\"\n]);\nfunction extractDirectives(inputProps, clientDirectives) {\n let extracted = {\n isPage: false,\n hydration: null,\n props: {},\n propsWithoutTransitionAttributes: {}\n };\n for (const [key, value] of Object.entries(inputProps)) {\n if (key.startsWith(\"server:\")) {\n if (key === \"server:root\") {\n extracted.isPage = true;\n }\n }\n if (key.startsWith(\"client:\")) {\n if (!extracted.hydration) {\n extracted.hydration = {\n directive: \"\",\n value: \"\",\n componentUrl: \"\",\n componentExport: { value: \"\" }\n };\n }\n switch (key) {\n case \"client:component-path\": {\n extracted.hydration.componentUrl = value;\n break;\n }\n case \"client:component-export\": {\n extracted.hydration.componentExport.value = value;\n break;\n }\n case \"client:component-hydration\": {\n break;\n }\n case \"client:display-name\": {\n break;\n }\n default: {\n extracted.hydration.directive = key.split(\":\")[1];\n extracted.hydration.value = value;\n if (!clientDirectives.has(extracted.hydration.directive)) {\n const hydrationMethods = Array.from(clientDirectives.keys()).map((d) => `client:${d}`).join(\", \");\n throw new Error(\n `Error: invalid hydration directive \"${key}\". Supported hydration methods: ${hydrationMethods}`\n );\n }\n if (extracted.hydration.directive === \"media\" && typeof extracted.hydration.value !== \"string\") {\n throw new AstroError(AstroErrorData.MissingMediaQueryDirective);\n }\n break;\n }\n }\n } else {\n extracted.props[key] = value;\n if (!transitionDirectivesToCopyOnIsland.includes(key)) {\n extracted.propsWithoutTransitionAttributes[key] = value;\n }\n }\n }\n for (const sym of Object.getOwnPropertySymbols(inputProps)) {\n extracted.props[sym] = inputProps[sym];\n extracted.propsWithoutTransitionAttributes[sym] = inputProps[sym];\n }\n return extracted;\n}\nasync function generateHydrateScript(scriptOptions, metadata) {\n const { renderer, result, astroId, props, attrs } = scriptOptions;\n const { hydrate, componentUrl, componentExport } = metadata;\n if (!componentExport.value) {\n throw new AstroError({\n ...AstroErrorData.NoMatchingImport,\n message: AstroErrorData.NoMatchingImport.message(metadata.displayName)\n });\n }\n const island = {\n children: \"\",\n props: {\n // This is for HMR, probably can avoid it in prod\n uid: astroId\n }\n };\n if (attrs) {\n for (const [key, value] of Object.entries(attrs)) {\n island.props[key] = escapeHTML(value);\n }\n }\n island.props[\"component-url\"] = await result.resolve(decodeURI(componentUrl));\n if (renderer.clientEntrypoint) {\n island.props[\"component-export\"] = componentExport.value;\n island.props[\"renderer-url\"] = await result.resolve(decodeURI(renderer.clientEntrypoint));\n island.props[\"props\"] = escapeHTML(serializeProps(props, metadata));\n }\n island.props[\"ssr\"] = \"\";\n island.props[\"client\"] = hydrate;\n let beforeHydrationUrl = await result.resolve(\"astro:scripts/before-hydration.js\");\n if (beforeHydrationUrl.length) {\n island.props[\"before-hydration-url\"] = beforeHydrationUrl;\n }\n island.props[\"opts\"] = escapeHTML(\n JSON.stringify({\n name: metadata.displayName,\n value: metadata.hydrateArgs || \"\"\n })\n );\n transitionDirectivesToCopyOnIsland.forEach((name) => {\n if (typeof props[name] !== \"undefined\") {\n island.props[name] = props[name];\n }\n });\n return island;\n}\nexport {\n extractDirectives,\n generateHydrateScript\n};\n","/**\n * shortdash - https://github.com/bibig/node-shorthash\n *\n * @license\n *\n * (The MIT License)\n *\n * Copyright (c) 2013 Bibig \n *\n * Permission is hereby granted, free of charge, to any person\n * obtaining a copy of this software and associated documentation\n * files (the \"Software\"), to deal in the Software without\n * restriction, including without limitation the rights to use,\n * copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the\n * Software is furnished to do so, subject to the following\n * conditions:\n *\n * The above copyright notice and this permission notice shall be\n * included in all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\n * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES\n * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\n * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT\n * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,\n * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING\n * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR\n * OTHER DEALINGS IN THE SOFTWARE.\n */\nconst dictionary = \"0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXY\";\nconst binary = dictionary.length;\nfunction bitwise(str) {\n let hash = 0;\n if (str.length === 0) return hash;\n for (let i = 0; i < str.length; i++) {\n const ch = str.charCodeAt(i);\n hash = (hash << 5) - hash + ch;\n hash = hash & hash;\n }\n return hash;\n}\nfunction shorthash(text) {\n let num;\n let result = \"\";\n let integer = bitwise(text);\n const sign = integer < 0 ? \"Z\" : \"\";\n integer = Math.abs(integer);\n while (integer >= binary) {\n num = integer % binary;\n integer = Math.floor(integer / binary);\n result = dictionary[num] + result;\n }\n if (integer > 0) {\n result = dictionary[integer] + result;\n }\n return sign + result;\n}\nexport {\n shorthash\n};\n","function isAstroComponentFactory(obj) {\n return obj == null ? false : obj.isAstroComponentFactory === true;\n}\nfunction isAPropagatingComponent(result, factory) {\n let hint = factory.propagation || \"none\";\n if (factory.moduleId && result.componentMetadata.has(factory.moduleId) && hint === \"none\") {\n hint = result.componentMetadata.get(factory.moduleId).propagation;\n }\n return hint === \"in-tree\" || hint === \"self\";\n}\nexport {\n isAPropagatingComponent,\n isAstroComponentFactory\n};\n","const headAndContentSym = Symbol.for(\"astro.headAndContent\");\nfunction isHeadAndContent(obj) {\n return typeof obj === \"object\" && !!obj[headAndContentSym];\n}\nfunction createHeadAndContent(head, content) {\n return {\n [headAndContentSym]: true,\n head,\n content\n };\n}\nexport {\n createHeadAndContent,\n isHeadAndContent\n};\n","var astro_island_prebuilt_dev_default = `(()=>{var A=Object.defineProperty;var g=(i,o,a)=>o in i?A(i,o,{enumerable:!0,configurable:!0,writable:!0,value:a}):i[o]=a;var l=(i,o,a)=>g(i,typeof o!=\"symbol\"?o+\"\":o,a);{let i={0:t=>y(t),1:t=>a(t),2:t=>new RegExp(t),3:t=>new Date(t),4:t=>new Map(a(t)),5:t=>new Set(a(t)),6:t=>BigInt(t),7:t=>new URL(t),8:t=>new Uint8Array(t),9:t=>new Uint16Array(t),10:t=>new Uint32Array(t)},o=t=>{let[h,e]=t;return h in i?i[h](e):void 0},a=t=>t.map(o),y=t=>typeof t!=\"object\"||t===null?t:Object.fromEntries(Object.entries(t).map(([h,e])=>[h,o(e)]));class f extends HTMLElement{constructor(){super(...arguments);l(this,\"Component\");l(this,\"hydrator\");l(this,\"hydrate\",async()=>{var b;if(!this.hydrator||!this.isConnected)return;let e=(b=this.parentElement)==null?void 0:b.closest(\"astro-island[ssr]\");if(e){e.addEventListener(\"astro:hydrate\",this.hydrate,{once:!0});return}let c=this.querySelectorAll(\"astro-slot\"),n={},p=this.querySelectorAll(\"template[data-astro-template]\");for(let r of p){let s=r.closest(this.tagName);s!=null&&s.isSameNode(this)&&(n[r.getAttribute(\"data-astro-template\")||\"default\"]=r.innerHTML,r.remove())}for(let r of c){let s=r.closest(this.tagName);s!=null&&s.isSameNode(this)&&(n[r.getAttribute(\"name\")||\"default\"]=r.innerHTML)}let u;try{u=this.hasAttribute(\"props\")?y(JSON.parse(this.getAttribute(\"props\"))):{}}catch(r){let s=this.getAttribute(\"component-url\")||\"\",v=this.getAttribute(\"component-export\");throw v&&(s+=\\` (export \\${v})\\`),console.error(\\`[hydrate] Error parsing props for component \\${s}\\`,this.getAttribute(\"props\"),r),r}let d,m=this.hydrator(this);d=performance.now(),await m(this.Component,u,n,{client:this.getAttribute(\"client\")}),d&&this.setAttribute(\"client-render-time\",(performance.now()-d).toString()),this.removeAttribute(\"ssr\"),this.dispatchEvent(new CustomEvent(\"astro:hydrate\"))});l(this,\"unmount\",()=>{this.isConnected||this.dispatchEvent(new CustomEvent(\"astro:unmount\"))})}disconnectedCallback(){document.removeEventListener(\"astro:after-swap\",this.unmount),document.addEventListener(\"astro:after-swap\",this.unmount,{once:!0})}connectedCallback(){if(!this.hasAttribute(\"await-children\")||document.readyState===\"interactive\"||document.readyState===\"complete\")this.childrenConnectedCallback();else{let e=()=>{document.removeEventListener(\"DOMContentLoaded\",e),c.disconnect(),this.childrenConnectedCallback()},c=new MutationObserver(()=>{var n;((n=this.lastChild)==null?void 0:n.nodeType)===Node.COMMENT_NODE&&this.lastChild.nodeValue===\"astro:end\"&&(this.lastChild.remove(),e())});c.observe(this,{childList:!0}),document.addEventListener(\"DOMContentLoaded\",e)}}async childrenConnectedCallback(){let e=this.getAttribute(\"before-hydration-url\");e&&await import(e),this.start()}async start(){let e=JSON.parse(this.getAttribute(\"opts\")),c=this.getAttribute(\"client\");if(Astro[c]===void 0){window.addEventListener(\\`astro:\\${c}\\`,()=>this.start(),{once:!0});return}try{await Astro[c](async()=>{let n=this.getAttribute(\"renderer-url\"),[p,{default:u}]=await Promise.all([import(this.getAttribute(\"component-url\")),n?import(n):()=>()=>{}]),d=this.getAttribute(\"component-export\")||\"default\";if(!d.includes(\".\"))this.Component=p[d];else{this.Component=p;for(let m of d.split(\".\"))this.Component=this.Component[m]}return this.hydrator=u,this.hydrate},e,this)}catch(n){console.error(\\`[astro-island] Error hydrating \\${this.getAttribute(\"component-url\")}\\`,n)}}attributeChangedCallback(){this.hydrate()}}l(f,\"observedAttributes\",[\"props\"]),customElements.get(\"astro-island\")||customElements.define(\"astro-island\",f)}})();`;\nexport {\n astro_island_prebuilt_dev_default as default\n};\n","var astro_island_prebuilt_default = `(()=>{var A=Object.defineProperty;var g=(i,o,a)=>o in i?A(i,o,{enumerable:!0,configurable:!0,writable:!0,value:a}):i[o]=a;var d=(i,o,a)=>g(i,typeof o!=\"symbol\"?o+\"\":o,a);{let i={0:t=>m(t),1:t=>a(t),2:t=>new RegExp(t),3:t=>new Date(t),4:t=>new Map(a(t)),5:t=>new Set(a(t)),6:t=>BigInt(t),7:t=>new URL(t),8:t=>new Uint8Array(t),9:t=>new Uint16Array(t),10:t=>new Uint32Array(t)},o=t=>{let[l,e]=t;return l in i?i[l](e):void 0},a=t=>t.map(o),m=t=>typeof t!=\"object\"||t===null?t:Object.fromEntries(Object.entries(t).map(([l,e])=>[l,o(e)]));class y extends HTMLElement{constructor(){super(...arguments);d(this,\"Component\");d(this,\"hydrator\");d(this,\"hydrate\",async()=>{var b;if(!this.hydrator||!this.isConnected)return;let e=(b=this.parentElement)==null?void 0:b.closest(\"astro-island[ssr]\");if(e){e.addEventListener(\"astro:hydrate\",this.hydrate,{once:!0});return}let c=this.querySelectorAll(\"astro-slot\"),n={},h=this.querySelectorAll(\"template[data-astro-template]\");for(let r of h){let s=r.closest(this.tagName);s!=null&&s.isSameNode(this)&&(n[r.getAttribute(\"data-astro-template\")||\"default\"]=r.innerHTML,r.remove())}for(let r of c){let s=r.closest(this.tagName);s!=null&&s.isSameNode(this)&&(n[r.getAttribute(\"name\")||\"default\"]=r.innerHTML)}let p;try{p=this.hasAttribute(\"props\")?m(JSON.parse(this.getAttribute(\"props\"))):{}}catch(r){let s=this.getAttribute(\"component-url\")||\"\",v=this.getAttribute(\"component-export\");throw v&&(s+=\\` (export \\${v})\\`),console.error(\\`[hydrate] Error parsing props for component \\${s}\\`,this.getAttribute(\"props\"),r),r}let u;await this.hydrator(this)(this.Component,p,n,{client:this.getAttribute(\"client\")}),this.removeAttribute(\"ssr\"),this.dispatchEvent(new CustomEvent(\"astro:hydrate\"))});d(this,\"unmount\",()=>{this.isConnected||this.dispatchEvent(new CustomEvent(\"astro:unmount\"))})}disconnectedCallback(){document.removeEventListener(\"astro:after-swap\",this.unmount),document.addEventListener(\"astro:after-swap\",this.unmount,{once:!0})}connectedCallback(){if(!this.hasAttribute(\"await-children\")||document.readyState===\"interactive\"||document.readyState===\"complete\")this.childrenConnectedCallback();else{let e=()=>{document.removeEventListener(\"DOMContentLoaded\",e),c.disconnect(),this.childrenConnectedCallback()},c=new MutationObserver(()=>{var n;((n=this.lastChild)==null?void 0:n.nodeType)===Node.COMMENT_NODE&&this.lastChild.nodeValue===\"astro:end\"&&(this.lastChild.remove(),e())});c.observe(this,{childList:!0}),document.addEventListener(\"DOMContentLoaded\",e)}}async childrenConnectedCallback(){let e=this.getAttribute(\"before-hydration-url\");e&&await import(e),this.start()}async start(){let e=JSON.parse(this.getAttribute(\"opts\")),c=this.getAttribute(\"client\");if(Astro[c]===void 0){window.addEventListener(\\`astro:\\${c}\\`,()=>this.start(),{once:!0});return}try{await Astro[c](async()=>{let n=this.getAttribute(\"renderer-url\"),[h,{default:p}]=await Promise.all([import(this.getAttribute(\"component-url\")),n?import(n):()=>()=>{}]),u=this.getAttribute(\"component-export\")||\"default\";if(!u.includes(\".\"))this.Component=h[u];else{this.Component=h;for(let f of u.split(\".\"))this.Component=this.Component[f]}return this.hydrator=p,this.hydrate},e,this)}catch(n){console.error(\\`[astro-island] Error hydrating \\${this.getAttribute(\"component-url\")}\\`,n)}}attributeChangedCallback(){this.hydrate()}}d(y,\"observedAttributes\",[\"props\"]),customElements.get(\"astro-island\")||customElements.define(\"astro-island\",y)}})();`;\nexport {\n astro_island_prebuilt_default as default\n};\n","import islandScriptDev from \"./astro-island.prebuilt-dev.js\";\nimport islandScript from \"./astro-island.prebuilt.js\";\nconst ISLAND_STYLES = ``;\nfunction determineIfNeedsHydrationScript(result) {\n if (result._metadata.hasHydrationScript) {\n return false;\n }\n return result._metadata.hasHydrationScript = true;\n}\nfunction determinesIfNeedsDirectiveScript(result, directive) {\n if (result._metadata.hasDirectives.has(directive)) {\n return false;\n }\n result._metadata.hasDirectives.add(directive);\n return true;\n}\nfunction getDirectiveScriptText(result, directive) {\n const clientDirectives = result.clientDirectives;\n const clientDirective = clientDirectives.get(directive);\n if (!clientDirective) {\n throw new Error(`Unknown directive: ${directive}`);\n }\n return clientDirective;\n}\nfunction getPrescripts(result, type, directive) {\n switch (type) {\n case \"both\":\n return `${ISLAND_STYLES}`;\n case \"directive\":\n return ``;\n case null:\n break;\n }\n return \"\";\n}\nexport {\n determineIfNeedsHydrationScript,\n determinesIfNeedsDirectiveScript,\n getPrescripts\n};\n","import { clsx } from \"clsx\";\nimport { HTMLString, markHTMLString } from \"../escape.js\";\nconst voidElementNames = /^(area|base|br|col|command|embed|hr|img|input|keygen|link|meta|param|source|track|wbr)$/i;\nconst htmlBooleanAttributes = /^(?:allowfullscreen|async|autofocus|autoplay|controls|default|defer|disabled|disablepictureinpicture|disableremoteplayback|formnovalidate|hidden|loop|nomodule|novalidate|open|playsinline|readonly|required|reversed|scoped|seamless|itemscope)$/i;\nconst htmlEnumAttributes = /^(?:contenteditable|draggable|spellcheck|value)$/i;\nconst svgEnumAttributes = /^(?:autoReverse|externalResourcesRequired|focusable|preserveAlpha)$/i;\nconst AMPERSAND_REGEX = /&/g;\nconst DOUBLE_QUOTE_REGEX = /\"/g;\nconst STATIC_DIRECTIVES = /* @__PURE__ */ new Set([\"set:html\", \"set:text\"]);\nconst toIdent = (k) => k.trim().replace(/(?!^)\\b\\w|\\s+|\\W+/g, (match, index) => {\n if (/\\W/.test(match)) return \"\";\n return index === 0 ? match : match.toUpperCase();\n});\nconst toAttributeString = (value, shouldEscape = true) => shouldEscape ? String(value).replace(AMPERSAND_REGEX, \"&\").replace(DOUBLE_QUOTE_REGEX, \""\") : value;\nconst kebab = (k) => k.toLowerCase() === k ? k : k.replace(/[A-Z]/g, (match) => `-${match.toLowerCase()}`);\nconst toStyleString = (obj) => Object.entries(obj).filter(([_, v]) => typeof v === \"string\" && v.trim() || typeof v === \"number\").map(([k, v]) => {\n if (k[0] !== \"-\" && k[1] !== \"-\") return `${kebab(k)}:${v}`;\n return `${k}:${v}`;\n}).join(\";\");\nfunction defineScriptVars(vars) {\n let output = \"\";\n for (const [key, value] of Object.entries(vars)) {\n output += `const ${toIdent(key)} = ${JSON.stringify(value)?.replace(\n /<\\/script>/g,\n \"\\\\x3C/script>\"\n )};\n`;\n }\n return markHTMLString(output);\n}\nfunction formatList(values) {\n if (values.length === 1) {\n return values[0];\n }\n return `${values.slice(0, -1).join(\", \")} or ${values[values.length - 1]}`;\n}\nfunction addAttribute(value, key, shouldEscape = true) {\n if (value == null) {\n return \"\";\n }\n if (value === false) {\n if (htmlEnumAttributes.test(key) || svgEnumAttributes.test(key)) {\n return markHTMLString(` ${key}=\"false\"`);\n }\n return \"\";\n }\n if (STATIC_DIRECTIVES.has(key)) {\n console.warn(`[astro] The \"${key}\" directive cannot be applied dynamically at runtime. It will not be rendered as an attribute.\n\nMake sure to use the static attribute syntax (\\`${key}={value}\\`) instead of the dynamic spread syntax (\\`{...{ \"${key}\": value }}\\`).`);\n return \"\";\n }\n if (key === \"class:list\") {\n const listValue = toAttributeString(clsx(value), shouldEscape);\n if (listValue === \"\") {\n return \"\";\n }\n return markHTMLString(` ${key.slice(0, -5)}=\"${listValue}\"`);\n }\n if (key === \"style\" && !(value instanceof HTMLString)) {\n if (Array.isArray(value) && value.length === 2) {\n return markHTMLString(\n ` ${key}=\"${toAttributeString(`${toStyleString(value[0])};${value[1]}`, shouldEscape)}\"`\n );\n }\n if (typeof value === \"object\") {\n return markHTMLString(` ${key}=\"${toAttributeString(toStyleString(value), shouldEscape)}\"`);\n }\n }\n if (key === \"className\") {\n return markHTMLString(` class=\"${toAttributeString(value, shouldEscape)}\"`);\n }\n if (typeof value === \"string\" && value.includes(\"&\") && isHttpUrl(value)) {\n return markHTMLString(` ${key}=\"${toAttributeString(value, false)}\"`);\n }\n if (value === true && (key.startsWith(\"data-\") || htmlBooleanAttributes.test(key))) {\n return markHTMLString(` ${key}`);\n } else {\n return markHTMLString(` ${key}=\"${toAttributeString(value, shouldEscape)}\"`);\n }\n}\nfunction internalSpreadAttributes(values, shouldEscape = true) {\n let output = \"\";\n for (const [key, value] of Object.entries(values)) {\n output += addAttribute(value, key, shouldEscape);\n }\n return markHTMLString(output);\n}\nfunction renderElement(name, { props: _props, children = \"\" }, shouldEscape = true) {\n const { lang: _, \"data-astro-id\": astroId, \"define:vars\": defineVars, ...props } = _props;\n if (defineVars) {\n if (name === \"style\") {\n delete props[\"is:global\"];\n delete props[\"is:scoped\"];\n }\n if (name === \"script\") {\n delete props.hoist;\n children = defineScriptVars(defineVars) + \"\\n\" + children;\n }\n }\n if ((children == null || children == \"\") && voidElementNames.test(name)) {\n return `<${name}${internalSpreadAttributes(props, shouldEscape)}>`;\n }\n return `<${name}${internalSpreadAttributes(props, shouldEscape)}>${children}`;\n}\nconst noop = () => {\n};\nclass BufferedRenderer {\n chunks = [];\n renderPromise;\n destination;\n constructor(bufferRenderFunction) {\n this.renderPromise = bufferRenderFunction(this);\n Promise.resolve(this.renderPromise).catch(noop);\n }\n write(chunk) {\n if (this.destination) {\n this.destination.write(chunk);\n } else {\n this.chunks.push(chunk);\n }\n }\n async renderToFinalDestination(destination) {\n for (const chunk of this.chunks) {\n destination.write(chunk);\n }\n this.destination = destination;\n await this.renderPromise;\n }\n}\nfunction renderToBufferDestination(bufferRenderFunction) {\n const renderer = new BufferedRenderer(bufferRenderFunction);\n return renderer;\n}\nconst isNode = typeof process !== \"undefined\" && Object.prototype.toString.call(process) === \"[object process]\";\nconst isDeno = typeof Deno !== \"undefined\";\nfunction promiseWithResolvers() {\n let resolve, reject;\n const promise = new Promise((_resolve, _reject) => {\n resolve = _resolve;\n reject = _reject;\n });\n return {\n promise,\n resolve,\n reject\n };\n}\nconst VALID_PROTOCOLS = [\"http:\", \"https:\"];\nfunction isHttpUrl(url) {\n try {\n const parsedUrl = new URL(url);\n return VALID_PROTOCOLS.includes(parsedUrl.protocol);\n } catch {\n return false;\n }\n}\nexport {\n addAttribute,\n defineScriptVars,\n formatList,\n internalSpreadAttributes,\n isDeno,\n isNode,\n promiseWithResolvers,\n renderElement,\n renderToBufferDestination,\n toAttributeString,\n voidElementNames\n};\n","import { markHTMLString } from \"../escape.js\";\nimport { createRenderInstruction } from \"./instruction.js\";\nimport { renderElement } from \"./util.js\";\nconst uniqueElements = (item, index, all) => {\n const props = JSON.stringify(item.props);\n const children = item.children;\n return index === all.findIndex((i) => JSON.stringify(i.props) === props && i.children == children);\n};\nfunction renderAllHeadContent(result) {\n result._metadata.hasRenderedHead = true;\n const styles = Array.from(result.styles).filter(uniqueElements).map(\n (style) => style.props.rel === \"stylesheet\" ? renderElement(\"link\", style) : renderElement(\"style\", style)\n );\n result.styles.clear();\n const scripts = Array.from(result.scripts).filter(uniqueElements).map((script) => {\n return renderElement(\"script\", script, false);\n });\n const links = Array.from(result.links).filter(uniqueElements).map((link) => renderElement(\"link\", link, false));\n let content = styles.join(\"\\n\") + links.join(\"\\n\") + scripts.join(\"\\n\");\n if (result._metadata.extraHead.length > 0) {\n for (const part of result._metadata.extraHead) {\n content += part;\n }\n }\n return markHTMLString(content);\n}\nfunction renderHead() {\n return createRenderInstruction({ type: \"head\" });\n}\nfunction maybeRenderHead() {\n return createRenderInstruction({ type: \"maybe-head\" });\n}\nexport {\n maybeRenderHead,\n renderAllHeadContent,\n renderHead\n};\n","import { markHTMLString } from \"../../escape.js\";\nimport { isPromise } from \"../../util.js\";\nimport { renderChild } from \"../any.js\";\nimport { renderToBufferDestination } from \"../util.js\";\nconst renderTemplateResultSym = Symbol.for(\"astro.renderTemplateResult\");\nclass RenderTemplateResult {\n [renderTemplateResultSym] = true;\n htmlParts;\n expressions;\n error;\n constructor(htmlParts, expressions) {\n this.htmlParts = htmlParts;\n this.error = void 0;\n this.expressions = expressions.map((expression) => {\n if (isPromise(expression)) {\n return Promise.resolve(expression).catch((err) => {\n if (!this.error) {\n this.error = err;\n throw err;\n }\n });\n }\n return expression;\n });\n }\n async render(destination) {\n const expRenders = this.expressions.map((exp) => {\n return renderToBufferDestination((bufferDestination) => {\n if (exp || exp === 0) {\n return renderChild(bufferDestination, exp);\n }\n });\n });\n for (let i = 0; i < this.htmlParts.length; i++) {\n const html = this.htmlParts[i];\n const expRender = expRenders[i];\n destination.write(markHTMLString(html));\n if (expRender) {\n await expRender.renderToFinalDestination(destination);\n }\n }\n }\n}\nfunction isRenderTemplateResult(obj) {\n return typeof obj === \"object\" && !!obj[renderTemplateResultSym];\n}\nfunction renderTemplate(htmlParts, ...expressions) {\n return new RenderTemplateResult(htmlParts, expressions);\n}\nexport {\n RenderTemplateResult,\n isRenderTemplateResult,\n renderTemplate\n};\n","import { renderTemplate } from \"./astro/render-template.js\";\nimport { HTMLString, markHTMLString, unescapeHTML } from \"../escape.js\";\nimport { renderChild } from \"./any.js\";\nimport { chunkToString } from \"./common.js\";\nconst slotString = Symbol.for(\"astro:slot-string\");\nclass SlotString extends HTMLString {\n instructions;\n [slotString];\n constructor(content, instructions) {\n super(content);\n this.instructions = instructions;\n this[slotString] = true;\n }\n}\nfunction isSlotString(str) {\n return !!str[slotString];\n}\nfunction renderSlot(result, slotted, fallback) {\n if (!slotted && fallback) {\n return renderSlot(result, fallback);\n }\n return {\n async render(destination) {\n await renderChild(destination, typeof slotted === \"function\" ? slotted(result) : slotted);\n }\n };\n}\nasync function renderSlotToString(result, slotted, fallback) {\n let content = \"\";\n let instructions = null;\n const temporaryDestination = {\n write(chunk) {\n if (chunk instanceof SlotString) {\n content += chunk;\n if (chunk.instructions) {\n instructions ??= [];\n instructions.push(...chunk.instructions);\n }\n } else if (chunk instanceof Response) return;\n else if (typeof chunk === \"object\" && \"type\" in chunk && typeof chunk.type === \"string\") {\n if (instructions === null) {\n instructions = [];\n }\n instructions.push(chunk);\n } else {\n content += chunkToString(result, chunk);\n }\n }\n };\n const renderInstance = renderSlot(result, slotted, fallback);\n await renderInstance.render(temporaryDestination);\n return markHTMLString(new SlotString(content, instructions));\n}\nasync function renderSlots(result, slots = {}) {\n let slotInstructions = null;\n let children = {};\n if (slots) {\n await Promise.all(\n Object.entries(slots).map(\n ([key, value]) => renderSlotToString(result, value).then((output) => {\n if (output.instructions) {\n if (slotInstructions === null) {\n slotInstructions = [];\n }\n slotInstructions.push(...output.instructions);\n }\n children[key] = output;\n })\n )\n );\n }\n return { slotInstructions, children };\n}\nfunction createSlotValueFromString(content) {\n return function() {\n return renderTemplate`${unescapeHTML(content)}`;\n };\n}\nexport {\n SlotString,\n createSlotValueFromString,\n isSlotString,\n renderSlot,\n renderSlotToString,\n renderSlots\n};\n","import { markHTMLString } from \"../escape.js\";\nimport {\n determineIfNeedsHydrationScript,\n determinesIfNeedsDirectiveScript,\n getPrescripts\n} from \"../scripts.js\";\nimport { renderAllHeadContent } from \"./head.js\";\nimport { isRenderInstruction } from \"./instruction.js\";\nimport { isSlotString } from \"./slot.js\";\nconst Fragment = Symbol.for(\"astro:fragment\");\nconst Renderer = Symbol.for(\"astro:renderer\");\nconst encoder = new TextEncoder();\nconst decoder = new TextDecoder();\nfunction stringifyChunk(result, chunk) {\n if (isRenderInstruction(chunk)) {\n const instruction = chunk;\n switch (instruction.type) {\n case \"directive\": {\n const { hydration } = instruction;\n let needsHydrationScript = hydration && determineIfNeedsHydrationScript(result);\n let needsDirectiveScript = hydration && determinesIfNeedsDirectiveScript(result, hydration.directive);\n let prescriptType = needsHydrationScript ? \"both\" : needsDirectiveScript ? \"directive\" : null;\n if (prescriptType) {\n let prescripts = getPrescripts(result, prescriptType, hydration.directive);\n return markHTMLString(prescripts);\n } else {\n return \"\";\n }\n }\n case \"head\": {\n if (result._metadata.hasRenderedHead || result.partial) {\n return \"\";\n }\n return renderAllHeadContent(result);\n }\n case \"maybe-head\": {\n if (result._metadata.hasRenderedHead || result._metadata.headInTree || result.partial) {\n return \"\";\n }\n return renderAllHeadContent(result);\n }\n case \"renderer-hydration-script\": {\n const { rendererSpecificHydrationScripts } = result._metadata;\n const { rendererName } = instruction;\n if (!rendererSpecificHydrationScripts.has(rendererName)) {\n rendererSpecificHydrationScripts.add(rendererName);\n return instruction.render();\n }\n return \"\";\n }\n default: {\n throw new Error(`Unknown chunk type: ${chunk.type}`);\n }\n }\n } else if (chunk instanceof Response) {\n return \"\";\n } else if (isSlotString(chunk)) {\n let out = \"\";\n const c = chunk;\n if (c.instructions) {\n for (const instr of c.instructions) {\n out += stringifyChunk(result, instr);\n }\n }\n out += chunk.toString();\n return out;\n }\n return chunk.toString();\n}\nfunction chunkToString(result, chunk) {\n if (ArrayBuffer.isView(chunk)) {\n return decoder.decode(chunk);\n } else {\n return stringifyChunk(result, chunk);\n }\n}\nfunction chunkToByteArray(result, chunk) {\n if (ArrayBuffer.isView(chunk)) {\n return chunk;\n } else {\n const stringified = stringifyChunk(result, chunk);\n return encoder.encode(stringified.toString());\n }\n}\nfunction isRenderInstance(obj) {\n return !!obj && typeof obj === \"object\" && \"render\" in obj && typeof obj.render === \"function\";\n}\nexport {\n Fragment,\n Renderer,\n chunkToByteArray,\n chunkToString,\n decoder,\n encoder,\n isRenderInstance\n};\n","import { escapeHTML, isHTMLString, markHTMLString } from \"../escape.js\";\nimport { isPromise } from \"../util.js\";\nimport { isAstroComponentInstance, isRenderTemplateResult } from \"./astro/index.js\";\nimport { isRenderInstance } from \"./common.js\";\nimport { SlotString } from \"./slot.js\";\nimport { renderToBufferDestination } from \"./util.js\";\nasync function renderChild(destination, child) {\n if (isPromise(child)) {\n child = await child;\n }\n if (child instanceof SlotString) {\n destination.write(child);\n } else if (isHTMLString(child)) {\n destination.write(child);\n } else if (Array.isArray(child)) {\n const childRenders = child.map((c) => {\n return renderToBufferDestination((bufferDestination) => {\n return renderChild(bufferDestination, c);\n });\n });\n for (const childRender of childRenders) {\n if (!childRender) continue;\n await childRender.renderToFinalDestination(destination);\n }\n } else if (typeof child === \"function\") {\n await renderChild(destination, child());\n } else if (typeof child === \"string\") {\n destination.write(markHTMLString(escapeHTML(child)));\n } else if (!child && child !== 0) {\n } else if (isRenderInstance(child)) {\n await child.render(destination);\n } else if (isRenderTemplateResult(child)) {\n await child.render(destination);\n } else if (isAstroComponentInstance(child)) {\n await child.render(destination);\n } else if (ArrayBuffer.isView(child)) {\n destination.write(child);\n } else if (typeof child === \"object\" && (Symbol.asyncIterator in child || Symbol.iterator in child)) {\n for await (const value of child) {\n await renderChild(destination, value);\n }\n } else {\n destination.write(child);\n }\n}\nexport {\n renderChild\n};\n","import { isPromise } from \"../../util.js\";\nimport { renderChild } from \"../any.js\";\nimport { isAPropagatingComponent } from \"./factory.js\";\nimport { isHeadAndContent } from \"./head-and-content.js\";\nconst astroComponentInstanceSym = Symbol.for(\"astro.componentInstance\");\nclass AstroComponentInstance {\n [astroComponentInstanceSym] = true;\n result;\n props;\n slotValues;\n factory;\n returnValue;\n constructor(result, props, slots, factory) {\n this.result = result;\n this.props = props;\n this.factory = factory;\n this.slotValues = {};\n for (const name in slots) {\n let didRender = false;\n let value = slots[name](result);\n this.slotValues[name] = () => {\n if (!didRender) {\n didRender = true;\n return value;\n }\n return slots[name](result);\n };\n }\n }\n async init(result) {\n if (this.returnValue !== void 0) return this.returnValue;\n this.returnValue = this.factory(result, this.props, this.slotValues);\n if (isPromise(this.returnValue)) {\n this.returnValue.then((resolved) => {\n this.returnValue = resolved;\n }).catch(() => {\n });\n }\n return this.returnValue;\n }\n async render(destination) {\n const returnValue = await this.init(this.result);\n if (isHeadAndContent(returnValue)) {\n await returnValue.content.render(destination);\n } else {\n await renderChild(destination, returnValue);\n }\n }\n}\nfunction validateComponentProps(props, displayName) {\n if (props != null) {\n for (const prop of Object.keys(props)) {\n if (prop.startsWith(\"client:\")) {\n console.warn(\n `You are attempting to render <${displayName} ${prop} />, but ${displayName} is an Astro component. Astro components do not render in the client and should not have a hydration directive. Please use a framework component for client rendering.`\n );\n }\n }\n }\n}\nfunction createAstroComponentInstance(result, displayName, factory, props, slots = {}) {\n validateComponentProps(props, displayName);\n const instance = new AstroComponentInstance(result, props, slots, factory);\n if (isAPropagatingComponent(result, factory)) {\n result._metadata.propagators.add(instance);\n }\n return instance;\n}\nfunction isAstroComponentInstance(obj) {\n return typeof obj === \"object\" && !!obj[astroComponentInstanceSym];\n}\nexport {\n AstroComponentInstance,\n createAstroComponentInstance,\n isAstroComponentInstance\n};\n","import { markHTMLString } from \"../escape.js\";\nimport { renderSlotToString } from \"./slot.js\";\nimport { toAttributeString } from \"./util.js\";\nfunction componentIsHTMLElement(Component) {\n return typeof HTMLElement !== \"undefined\" && HTMLElement.isPrototypeOf(Component);\n}\nasync function renderHTMLElement(result, constructor, props, slots) {\n const name = getHTMLElementName(constructor);\n let attrHTML = \"\";\n for (const attr in props) {\n attrHTML += ` ${attr}=\"${toAttributeString(await props[attr])}\"`;\n }\n return markHTMLString(\n `<${name}${attrHTML}>${await renderSlotToString(result, slots?.default)}`\n );\n}\nfunction getHTMLElementName(constructor) {\n const definedName = customElements.getName(constructor);\n if (definedName) return definedName;\n const assignedName = constructor.name.replace(/^HTML|Element$/g, \"\").replace(/[A-Z]/g, \"-$&\").toLowerCase().replace(/^-/, \"html-\");\n return assignedName;\n}\nexport {\n componentIsHTMLElement,\n renderHTMLElement\n};\n","import { renderChild } from \"./any.js\";\nimport { renderSlotToString } from \"./slot.js\";\nconst internalProps = /* @__PURE__ */ new Set([\n \"server:component-path\",\n \"server:component-export\",\n \"server:component-directive\",\n \"server:defer\"\n]);\nfunction containsServerDirective(props) {\n return \"server:component-directive\" in props;\n}\nfunction safeJsonStringify(obj) {\n return JSON.stringify(obj).replace(/\\u2028/g, \"\\\\u2028\").replace(/\\u2029/g, \"\\\\u2029\").replace(//g, \"\\\\u003e\").replace(/\\//g, \"\\\\u002f\");\n}\nfunction renderServerIsland(result, _displayName, props, slots) {\n return {\n async render(destination) {\n const componentPath = props[\"server:component-path\"];\n const componentExport = props[\"server:component-export\"];\n const componentId = result.serverIslandNameMap.get(componentPath);\n if (!componentId) {\n throw new Error(`Could not find server component name`);\n }\n for (const key of Object.keys(props)) {\n if (internalProps.has(key)) {\n delete props[key];\n }\n }\n destination.write(\"\");\n const renderedSlots = {};\n for (const name in slots) {\n if (name !== \"fallback\") {\n const content = await renderSlotToString(result, slots[name]);\n renderedSlots[name] = content.toString();\n } else {\n await renderChild(destination, slots.fallback(result));\n }\n }\n const hostId = crypto.randomUUID();\n destination.write(``);\n }\n };\n}\nexport {\n containsServerDirective,\n renderServerIsland\n};\n","import { createRenderInstruction } from \"./instruction.js\";\nimport { clsx } from \"clsx\";\nimport { AstroError, AstroErrorData } from \"../../../core/errors/index.js\";\nimport { markHTMLString } from \"../escape.js\";\nimport { extractDirectives, generateHydrateScript } from \"../hydration.js\";\nimport { serializeProps } from \"../serialize.js\";\nimport { shorthash } from \"../shorthash.js\";\nimport { isPromise } from \"../util.js\";\nimport { isAstroComponentFactory } from \"./astro/factory.js\";\nimport { renderTemplate } from \"./astro/index.js\";\nimport { createAstroComponentInstance } from \"./astro/instance.js\";\nimport {\n Fragment,\n Renderer,\n chunkToString\n} from \"./common.js\";\nimport { componentIsHTMLElement, renderHTMLElement } from \"./dom.js\";\nimport { maybeRenderHead } from \"./head.js\";\nimport { containsServerDirective, renderServerIsland } from \"./server-islands.js\";\nimport { renderSlotToString, renderSlots } from \"./slot.js\";\nimport { formatList, internalSpreadAttributes, renderElement, voidElementNames } from \"./util.js\";\nconst needsHeadRenderingSymbol = Symbol.for(\"astro.needsHeadRendering\");\nconst rendererAliases = /* @__PURE__ */ new Map([[\"solid\", \"solid-js\"]]);\nconst clientOnlyValues = /* @__PURE__ */ new Set([\"solid-js\", \"react\", \"preact\", \"vue\", \"svelte\", \"lit\"]);\nfunction guessRenderers(componentUrl) {\n const extname = componentUrl?.split(\".\").pop();\n switch (extname) {\n case \"svelte\":\n return [\"@astrojs/svelte\"];\n case \"vue\":\n return [\"@astrojs/vue\"];\n case \"jsx\":\n case \"tsx\":\n return [\"@astrojs/react\", \"@astrojs/preact\", \"@astrojs/solid-js\", \"@astrojs/vue (jsx)\"];\n default:\n return [\n \"@astrojs/react\",\n \"@astrojs/preact\",\n \"@astrojs/solid-js\",\n \"@astrojs/vue\",\n \"@astrojs/svelte\",\n \"@astrojs/lit\"\n ];\n }\n}\nfunction isFragmentComponent(Component) {\n return Component === Fragment;\n}\nfunction isHTMLComponent(Component) {\n return Component && Component[\"astro:html\"] === true;\n}\nconst ASTRO_SLOT_EXP = /<\\/?astro-slot\\b[^>]*>/g;\nconst ASTRO_STATIC_SLOT_EXP = /<\\/?astro-static-slot\\b[^>]*>/g;\nfunction removeStaticAstroSlot(html, supportsAstroStaticSlot = true) {\n const exp = supportsAstroStaticSlot ? ASTRO_STATIC_SLOT_EXP : ASTRO_SLOT_EXP;\n return html.replace(exp, \"\");\n}\nasync function renderFrameworkComponent(result, displayName, Component, _props, slots = {}) {\n if (!Component && \"client:only\" in _props === false) {\n throw new Error(\n `Unable to render ${displayName} because it is ${Component}!\nDid you forget to import the component or is it possible there is a typo?`\n );\n }\n const { renderers, clientDirectives } = result;\n const metadata = {\n astroStaticSlot: true,\n displayName\n };\n const { hydration, isPage, props, propsWithoutTransitionAttributes } = extractDirectives(\n _props,\n clientDirectives\n );\n let html = \"\";\n let attrs = void 0;\n if (hydration) {\n metadata.hydrate = hydration.directive;\n metadata.hydrateArgs = hydration.value;\n metadata.componentExport = hydration.componentExport;\n metadata.componentUrl = hydration.componentUrl;\n }\n const probableRendererNames = guessRenderers(metadata.componentUrl);\n const validRenderers = renderers.filter((r) => r.name !== \"astro:jsx\");\n const { children, slotInstructions } = await renderSlots(result, slots);\n let renderer;\n if (metadata.hydrate !== \"only\") {\n let isTagged = false;\n try {\n isTagged = Component && Component[Renderer];\n } catch {\n }\n if (isTagged) {\n const rendererName = Component[Renderer];\n renderer = renderers.find(({ name }) => name === rendererName);\n }\n if (!renderer) {\n let error;\n for (const r of renderers) {\n try {\n if (await r.ssr.check.call({ result }, Component, props, children)) {\n renderer = r;\n break;\n }\n } catch (e) {\n error ??= e;\n }\n }\n if (!renderer && error) {\n throw error;\n }\n }\n if (!renderer && typeof HTMLElement === \"function\" && componentIsHTMLElement(Component)) {\n const output = await renderHTMLElement(\n result,\n Component,\n _props,\n slots\n );\n return {\n render(destination) {\n destination.write(output);\n }\n };\n }\n } else {\n if (metadata.hydrateArgs) {\n const rendererName = rendererAliases.has(metadata.hydrateArgs) ? rendererAliases.get(metadata.hydrateArgs) : metadata.hydrateArgs;\n if (clientOnlyValues.has(rendererName)) {\n renderer = renderers.find(\n ({ name }) => name === `@astrojs/${rendererName}` || name === rendererName\n );\n }\n }\n if (!renderer && validRenderers.length === 1) {\n renderer = validRenderers[0];\n }\n if (!renderer) {\n const extname = metadata.componentUrl?.split(\".\").pop();\n renderer = renderers.filter(\n ({ name }) => name === `@astrojs/${extname}` || name === extname\n )[0];\n }\n }\n let componentServerRenderEndTime;\n if (!renderer) {\n if (metadata.hydrate === \"only\") {\n const rendererName = rendererAliases.has(metadata.hydrateArgs) ? rendererAliases.get(metadata.hydrateArgs) : metadata.hydrateArgs;\n if (clientOnlyValues.has(rendererName)) {\n const plural = validRenderers.length > 1;\n throw new AstroError({\n ...AstroErrorData.NoMatchingRenderer,\n message: AstroErrorData.NoMatchingRenderer.message(\n metadata.displayName,\n metadata?.componentUrl?.split(\".\").pop(),\n plural,\n validRenderers.length\n ),\n hint: AstroErrorData.NoMatchingRenderer.hint(\n formatList(probableRendererNames.map((r) => \"`\" + r + \"`\"))\n )\n });\n } else {\n throw new AstroError({\n ...AstroErrorData.NoClientOnlyHint,\n message: AstroErrorData.NoClientOnlyHint.message(metadata.displayName),\n hint: AstroErrorData.NoClientOnlyHint.hint(\n probableRendererNames.map((r) => r.replace(\"@astrojs/\", \"\")).join(\"|\")\n )\n });\n }\n } else if (typeof Component !== \"string\") {\n const matchingRenderers = validRenderers.filter(\n (r) => probableRendererNames.includes(r.name)\n );\n const plural = validRenderers.length > 1;\n if (matchingRenderers.length === 0) {\n throw new AstroError({\n ...AstroErrorData.NoMatchingRenderer,\n message: AstroErrorData.NoMatchingRenderer.message(\n metadata.displayName,\n metadata?.componentUrl?.split(\".\").pop(),\n plural,\n validRenderers.length\n ),\n hint: AstroErrorData.NoMatchingRenderer.hint(\n formatList(probableRendererNames.map((r) => \"`\" + r + \"`\"))\n )\n });\n } else if (matchingRenderers.length === 1) {\n renderer = matchingRenderers[0];\n ({ html, attrs } = await renderer.ssr.renderToStaticMarkup.call(\n { result },\n Component,\n propsWithoutTransitionAttributes,\n children,\n metadata\n ));\n } else {\n throw new Error(`Unable to render ${metadata.displayName}!\n\nThis component likely uses ${formatList(probableRendererNames)},\nbut Astro encountered an error during server-side rendering.\n\nPlease ensure that ${metadata.displayName}:\n1. Does not unconditionally access browser-specific globals like \\`window\\` or \\`document\\`.\n If this is unavoidable, use the \\`client:only\\` hydration directive.\n2. Does not conditionally return \\`null\\` or \\`undefined\\` when rendered on the server.\n\nIf you're still stuck, please open an issue on GitHub or join us at https://astro.build/chat.`);\n }\n }\n } else {\n if (metadata.hydrate === \"only\") {\n const rendererName = rendererAliases.has(metadata.hydrateArgs) ? rendererAliases.get(metadata.hydrateArgs) : metadata.hydrateArgs;\n if (!clientOnlyValues.has(rendererName)) {\n console.warn(\n `The client:only directive for ${metadata.displayName} is not recognized. The renderer ${renderer.name} will be used. If you intended to use a different renderer, please provide a valid client:only directive.`\n );\n }\n html = await renderSlotToString(result, slots?.fallback);\n } else {\n const componentRenderStartTime = performance.now();\n ({ html, attrs } = await renderer.ssr.renderToStaticMarkup.call(\n { result },\n Component,\n propsWithoutTransitionAttributes,\n children,\n metadata\n ));\n if (process.env.NODE_ENV === \"development\")\n componentServerRenderEndTime = performance.now() - componentRenderStartTime;\n }\n }\n if (renderer && !renderer.clientEntrypoint && renderer.name !== \"@astrojs/lit\" && metadata.hydrate) {\n throw new AstroError({\n ...AstroErrorData.NoClientEntrypoint,\n message: AstroErrorData.NoClientEntrypoint.message(\n displayName,\n metadata.hydrate,\n renderer.name\n )\n });\n }\n if (!html && typeof Component === \"string\") {\n const Tag = sanitizeElementName(Component);\n const childSlots = Object.values(children).join(\"\");\n const renderTemplateResult = renderTemplate`<${Tag}${internalSpreadAttributes(\n props\n )}${markHTMLString(\n childSlots === \"\" && voidElementNames.test(Tag) ? `/>` : `>${childSlots}`\n )}`;\n html = \"\";\n const destination = {\n write(chunk) {\n if (chunk instanceof Response) return;\n html += chunkToString(result, chunk);\n }\n };\n await renderTemplateResult.render(destination);\n }\n if (!hydration) {\n return {\n render(destination) {\n if (slotInstructions) {\n for (const instruction of slotInstructions) {\n destination.write(instruction);\n }\n }\n if (isPage || renderer?.name === \"astro:jsx\") {\n destination.write(html);\n } else if (html && html.length > 0) {\n destination.write(\n markHTMLString(removeStaticAstroSlot(html, renderer?.ssr?.supportsAstroStaticSlot))\n );\n }\n }\n };\n }\n const astroId = shorthash(\n `\n${html}\n${serializeProps(\n props,\n metadata\n )}`\n );\n const island = await generateHydrateScript(\n { renderer, result, astroId, props, attrs },\n metadata\n );\n if (componentServerRenderEndTime && process.env.NODE_ENV === \"development\")\n island.props[\"server-render-time\"] = componentServerRenderEndTime;\n let unrenderedSlots = [];\n if (html) {\n if (Object.keys(children).length > 0) {\n for (const key of Object.keys(children)) {\n let tagName = renderer?.ssr?.supportsAstroStaticSlot ? !!metadata.hydrate ? \"astro-slot\" : \"astro-static-slot\" : \"astro-slot\";\n let expectedHTML = key === \"default\" ? `<${tagName}>` : `<${tagName} name=\"${key}\">`;\n if (!html.includes(expectedHTML)) {\n unrenderedSlots.push(key);\n }\n }\n }\n } else {\n unrenderedSlots = Object.keys(children);\n }\n const template = unrenderedSlots.length > 0 ? unrenderedSlots.map(\n (key) => ``\n ).join(\"\") : \"\";\n island.children = `${html ?? \"\"}${template}`;\n if (island.children) {\n island.props[\"await-children\"] = \"\";\n island.children += ``;\n }\n return {\n render(destination) {\n if (slotInstructions) {\n for (const instruction of slotInstructions) {\n destination.write(instruction);\n }\n }\n destination.write(createRenderInstruction({ type: \"directive\", hydration }));\n if (hydration.directive !== \"only\" && renderer?.ssr.renderHydrationScript) {\n destination.write(\n createRenderInstruction({\n type: \"renderer-hydration-script\",\n rendererName: renderer.name,\n render: renderer.ssr.renderHydrationScript\n })\n );\n }\n const renderedElement = renderElement(\"astro-island\", island, false);\n destination.write(markHTMLString(renderedElement));\n }\n };\n}\nfunction sanitizeElementName(tag) {\n const unsafe = /[&<>'\"\\s]+/;\n if (!unsafe.test(tag)) return tag;\n return tag.trim().split(unsafe)[0].trim();\n}\nasync function renderFragmentComponent(result, slots = {}) {\n const children = await renderSlotToString(result, slots?.default);\n return {\n render(destination) {\n if (children == null) return;\n destination.write(children);\n }\n };\n}\nasync function renderHTMLComponent(result, Component, _props, slots = {}) {\n const { slotInstructions, children } = await renderSlots(result, slots);\n const html = Component({ slots: children });\n const hydrationHtml = slotInstructions ? slotInstructions.map((instr) => chunkToString(result, instr)).join(\"\") : \"\";\n return {\n render(destination) {\n destination.write(markHTMLString(hydrationHtml + html));\n }\n };\n}\nfunction renderAstroComponent(result, displayName, Component, props, slots = {}) {\n if (containsServerDirective(props)) {\n return renderServerIsland(result, displayName, props, slots);\n }\n const instance = createAstroComponentInstance(result, displayName, Component, props, slots);\n return {\n async render(destination) {\n await instance.render(destination);\n }\n };\n}\nasync function renderComponent(result, displayName, Component, props, slots = {}) {\n if (isPromise(Component)) {\n Component = await Component.catch(handleCancellation);\n }\n if (isFragmentComponent(Component)) {\n return await renderFragmentComponent(result, slots).catch(handleCancellation);\n }\n props = normalizeProps(props);\n if (isHTMLComponent(Component)) {\n return await renderHTMLComponent(result, Component, props, slots).catch(handleCancellation);\n }\n if (isAstroComponentFactory(Component)) {\n return renderAstroComponent(result, displayName, Component, props, slots);\n }\n return await renderFrameworkComponent(result, displayName, Component, props, slots).catch(\n handleCancellation\n );\n function handleCancellation(e) {\n if (result.cancelled)\n return {\n render() {\n }\n };\n throw e;\n }\n}\nfunction normalizeProps(props) {\n if (props[\"class:list\"] !== void 0) {\n const value = props[\"class:list\"];\n delete props[\"class:list\"];\n props[\"class\"] = clsx(props[\"class\"], value);\n if (props[\"class\"] === \"\") {\n delete props[\"class\"];\n }\n }\n return props;\n}\nasync function renderComponentToString(result, displayName, Component, props, slots = {}, isPage = false, route) {\n let str = \"\";\n let renderedFirstPageChunk = false;\n let head = \"\";\n if (isPage && !result.partial && nonAstroPageNeedsHeadInjection(Component)) {\n head += chunkToString(result, maybeRenderHead());\n }\n try {\n const destination = {\n write(chunk) {\n if (isPage && !result.partial && !renderedFirstPageChunk) {\n renderedFirstPageChunk = true;\n if (!/\" : \"\\n\";\n str += doctype + head;\n }\n }\n if (chunk instanceof Response) return;\n str += chunkToString(result, chunk);\n }\n };\n const renderInstance = await renderComponent(result, displayName, Component, props, slots);\n await renderInstance.render(destination);\n } catch (e) {\n if (AstroError.is(e) && !e.loc) {\n e.setLocation({\n file: route?.component\n });\n }\n throw e;\n }\n return str;\n}\nfunction nonAstroPageNeedsHeadInjection(pageComponent) {\n return !!pageComponent?.[needsHeadRenderingSymbol];\n}\nexport {\n renderComponent,\n renderComponentToString\n};\n","import { markHTMLString } from \"../escape.js\";\nasync function renderScript(result, id) {\n if (result._metadata.renderedScripts.has(id)) return;\n result._metadata.renderedScripts.add(id);\n const inlined = result.inlinedScripts.get(id);\n if (inlined != null) {\n if (inlined) {\n return markHTMLString(``);\n } else {\n return \"\";\n }\n }\n const resolved = await result.resolve(id);\n return markHTMLString(``);\n}\nexport {\n renderScript\n};\n","import cssesc from \"cssesc\";\nimport { fade, slide } from \"../../transitions/index.js\";\nimport { markHTMLString } from \"./escape.js\";\nconst transitionNameMap = /* @__PURE__ */ new WeakMap();\nfunction incrementTransitionNumber(result) {\n let num = 1;\n if (transitionNameMap.has(result)) {\n num = transitionNameMap.get(result) + 1;\n }\n transitionNameMap.set(result, num);\n return num;\n}\nfunction createTransitionScope(result, hash) {\n const num = incrementTransitionNumber(result);\n return `astro-${hash}-${num}`;\n}\nconst getAnimations = (name) => {\n if (name === \"fade\") return fade();\n if (name === \"slide\") return slide();\n if (typeof name === \"object\") return name;\n};\nconst addPairs = (animations, stylesheet) => {\n for (const [direction, images] of Object.entries(animations)) {\n for (const [image, rules] of Object.entries(images)) {\n stylesheet.addAnimationPair(direction, image, rules);\n }\n }\n};\nconst reEncodeValidChars = \"0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ-_\".split(\"\").reduce((v, c) => (v[c.charCodeAt(0)] = c, v), []);\nconst reEncodeInValidStart = \"-0123456789_\".split(\"\").reduce((v, c) => (v[c.charCodeAt(0)] = c, v), []);\nfunction reEncode(s) {\n let result = \"\";\n let codepoint;\n for (let i = 0; i < s.length; i += (codepoint ?? 0) > 65535 ? 2 : 1) {\n codepoint = s.codePointAt(i);\n if (codepoint !== void 0) {\n result += codepoint < 128 ? codepoint === 95 ? \"__\" : reEncodeValidChars[codepoint] ?? \"_\" + codepoint.toString(16).padStart(2, \"0\") : String.fromCodePoint(codepoint);\n }\n }\n return reEncodeInValidStart[result.codePointAt(0) ?? 0] ? \"_\" + result : result;\n}\nfunction renderTransition(result, hash, animationName, transitionName) {\n if (typeof (transitionName ?? \"\") !== \"string\") {\n throw new Error(`Invalid transition name {${transitionName}}`);\n }\n if (!animationName) animationName = \"fade\";\n const scope = createTransitionScope(result, hash);\n const name = transitionName ? cssesc(reEncode(transitionName), { isIdentifier: true }) : scope;\n const sheet = new ViewTransitionStyleSheet(scope, name);\n const animations = getAnimations(animationName);\n if (animations) {\n addPairs(animations, sheet);\n } else if (animationName === \"none\") {\n sheet.addFallback(\"old\", \"animation: none; mix-blend-mode: normal;\");\n sheet.addModern(\"old\", \"animation: none; opacity: 0; mix-blend-mode: normal;\");\n sheet.addAnimationRaw(\"new\", \"animation: none; mix-blend-mode: normal;\");\n sheet.addModern(\"group\", \"animation: none\");\n }\n result._metadata.extraHead.push(markHTMLString(``));\n return scope;\n}\nfunction createAnimationScope(transitionName, animations) {\n const hash = Math.random().toString(36).slice(2, 8);\n const scope = `astro-${hash}`;\n const sheet = new ViewTransitionStyleSheet(scope, transitionName);\n addPairs(animations, sheet);\n return { scope, styles: sheet.toString().replaceAll('\"', \"\") };\n}\nclass ViewTransitionStyleSheet {\n constructor(scope, name) {\n this.scope = scope;\n this.name = name;\n }\n modern = [];\n fallback = [];\n toString() {\n const { scope, name } = this;\n const [modern, fallback] = [this.modern, this.fallback].map((rules) => rules.join(\"\"));\n return [\n `[data-astro-transition-scope=\"${scope}\"] { view-transition-name: ${name}; }`,\n this.layer(modern),\n fallback\n ].join(\"\");\n }\n layer(cssText) {\n return cssText ? `@layer astro { ${cssText} }` : \"\";\n }\n addRule(target, cssText) {\n this[target].push(cssText);\n }\n addAnimationRaw(image, animation) {\n this.addModern(image, animation);\n this.addFallback(image, animation);\n }\n addModern(image, animation) {\n const { name } = this;\n this.addRule(\"modern\", `::view-transition-${image}(${name}) { ${animation} }`);\n }\n addFallback(image, animation) {\n const { scope } = this;\n this.addRule(\n \"fallback\",\n // Two selectors here, the second in case there is an animation on the root.\n `[data-astro-transition-fallback=\"${image}\"] [data-astro-transition-scope=\"${scope}\"],\n\t\t\t[data-astro-transition-fallback=\"${image}\"][data-astro-transition-scope=\"${scope}\"] { ${animation} }`\n );\n }\n addAnimationPair(direction, image, rules) {\n const { scope, name } = this;\n const animation = stringifyAnimation(rules);\n const prefix = direction === \"backwards\" ? `[data-astro-transition=back]` : direction === \"forwards\" ? \"\" : `[data-astro-transition=${direction}]`;\n this.addRule(\"modern\", `${prefix}::view-transition-${image}(${name}) { ${animation} }`);\n this.addRule(\n \"fallback\",\n `${prefix}[data-astro-transition-fallback=\"${image}\"] [data-astro-transition-scope=\"${scope}\"],\n\t\t\t${prefix}[data-astro-transition-fallback=\"${image}\"][data-astro-transition-scope=\"${scope}\"] { ${animation} }`\n );\n }\n}\nfunction addAnimationProperty(builder, prop, value) {\n let arr = builder[prop];\n if (Array.isArray(arr)) {\n arr.push(value.toString());\n } else {\n builder[prop] = [value.toString()];\n }\n}\nfunction animationBuilder() {\n return {\n toString() {\n let out = \"\";\n for (let k in this) {\n let value = this[k];\n if (Array.isArray(value)) {\n out += `\n\t${k}: ${value.join(\", \")};`;\n }\n }\n return out;\n }\n };\n}\nfunction stringifyAnimation(anim) {\n if (Array.isArray(anim)) {\n return stringifyAnimations(anim);\n } else {\n return stringifyAnimations([anim]);\n }\n}\nfunction stringifyAnimations(anims) {\n const builder = animationBuilder();\n for (const anim of anims) {\n if (anim.duration) {\n addAnimationProperty(builder, \"animation-duration\", toTimeValue(anim.duration));\n }\n if (anim.easing) {\n addAnimationProperty(builder, \"animation-timing-function\", anim.easing);\n }\n if (anim.direction) {\n addAnimationProperty(builder, \"animation-direction\", anim.direction);\n }\n if (anim.delay) {\n addAnimationProperty(builder, \"animation-delay\", anim.delay);\n }\n if (anim.fillMode) {\n addAnimationProperty(builder, \"animation-fill-mode\", anim.fillMode);\n }\n addAnimationProperty(builder, \"animation-name\", anim.name);\n }\n return builder.toString();\n}\nfunction toTimeValue(num) {\n return typeof num === \"number\" ? num + \"ms\" : num;\n}\nexport {\n createAnimationScope,\n createTransitionScope,\n renderTransition\n};\n","import { createComponent } from \"./astro-component.js\";\nimport { createAstro } from \"./astro-global.js\";\nimport { renderEndpoint } from \"./endpoint.js\";\nimport {\n escapeHTML,\n HTMLBytes,\n HTMLString,\n isHTMLString,\n markHTMLString,\n unescapeHTML\n} from \"./escape.js\";\nimport { renderJSX } from \"./jsx.js\";\nimport {\n addAttribute,\n createHeadAndContent,\n defineScriptVars,\n Fragment,\n maybeRenderHead,\n renderTemplate,\n renderComponent,\n Renderer,\n renderHead,\n renderHTMLElement,\n renderPage,\n renderScript,\n renderScriptElement,\n renderSlot,\n renderSlotToString,\n renderTemplate as renderTemplate2,\n renderToString,\n renderUniqueStylesheet,\n voidElementNames\n} from \"./render/index.js\";\nimport { createTransitionScope, renderTransition } from \"./transition.js\";\nimport { markHTMLString as markHTMLString2 } from \"./escape.js\";\nimport { Renderer as Renderer2, addAttribute as addAttribute2 } from \"./render/index.js\";\nfunction mergeSlots(...slotted) {\n const slots = {};\n for (const slot of slotted) {\n if (!slot) continue;\n if (typeof slot === \"object\") {\n Object.assign(slots, slot);\n } else if (typeof slot === \"function\") {\n Object.assign(slots, mergeSlots(slot()));\n }\n }\n return slots;\n}\nfunction __astro_tag_component__(Component, rendererName) {\n if (!Component) return;\n if (typeof Component !== \"function\") return;\n Object.defineProperty(Component, Renderer2, {\n value: rendererName,\n enumerable: false,\n writable: false\n });\n}\nfunction spreadAttributes(values = {}, _name, { class: scopedClassName } = {}) {\n let output = \"\";\n if (scopedClassName) {\n if (typeof values.class !== \"undefined\") {\n values.class += ` ${scopedClassName}`;\n } else if (typeof values[\"class:list\"] !== \"undefined\") {\n values[\"class:list\"] = [values[\"class:list\"], scopedClassName];\n } else {\n values.class = scopedClassName;\n }\n }\n for (const [key, value] of Object.entries(values)) {\n output += addAttribute2(value, key, true);\n }\n return markHTMLString2(output);\n}\nfunction defineStyleVars(defs) {\n let output = \"\";\n let arr = !Array.isArray(defs) ? [defs] : defs;\n for (const vars of arr) {\n for (const [key, value] of Object.entries(vars)) {\n if (value || value === 0) {\n output += `--${key}: ${value};`;\n }\n }\n }\n return markHTMLString2(output);\n}\nexport {\n Fragment,\n HTMLBytes,\n HTMLString,\n Renderer,\n __astro_tag_component__,\n addAttribute,\n createAstro,\n createComponent,\n createHeadAndContent,\n createTransitionScope,\n defineScriptVars,\n defineStyleVars,\n escapeHTML,\n isHTMLString,\n markHTMLString,\n maybeRenderHead,\n mergeSlots,\n renderTemplate as render,\n renderComponent,\n renderEndpoint,\n renderHTMLElement,\n renderHead,\n renderJSX,\n renderPage,\n renderScript,\n renderScriptElement,\n renderSlot,\n renderSlotToString,\n renderTemplate2 as renderTemplate,\n renderToString,\n renderTransition,\n renderUniqueStylesheet,\n spreadAttributes,\n unescapeHTML,\n voidElementNames\n};\n"],"names":["AstroErrorData.InvalidComponentArgs","AstroErrorData.AstroGlobUsedOutside","AstroErrorData.AstroGlobNoMatch","AstroErrorData.MissingMediaQueryDirective","AstroErrorData.NoMatchingImport","islandScriptDev","islandScript","AstroErrorData.NoMatchingRenderer","AstroErrorData.NoClientOnlyHint","AstroErrorData.NoClientEntrypoint","addAttribute2","markHTMLString2"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30]} \ No newline at end of file diff --git a/Target/manifest_BN7Q4GeN.mjs.map b/Target/manifest_BN7Q4GeN.mjs.map deleted file mode 100644 index 5d81b39d..00000000 --- a/Target/manifest_BN7Q4GeN.mjs.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"manifest_BN7Q4GeN.mjs","sources":["../../../../../node_modules/astro/dist/core/logger/core.js","../../../../../node_modules/astro/dist/core/routing/manifest/generator.js","../../../../../node_modules/astro/dist/core/routing/manifest/serialization.js","../../../../../node_modules/astro/dist/core/app/common.js"],"sourcesContent":["import { blue, bold, dim, red, yellow } from \"kleur/colors\";\nimport stringWidth from \"string-width\";\nconst dateTimeFormat = new Intl.DateTimeFormat([], {\n hour: \"2-digit\",\n minute: \"2-digit\",\n second: \"2-digit\",\n hour12: false\n});\nconst levels = {\n debug: 20,\n info: 30,\n warn: 40,\n error: 50,\n silent: 90\n};\nfunction log(opts, level, label, message, newLine = true) {\n const logLevel = opts.level;\n const dest = opts.dest;\n const event = {\n label,\n level,\n message,\n newLine\n };\n if (!isLogLevelEnabled(logLevel, level)) {\n return;\n }\n dest.write(event);\n}\nfunction isLogLevelEnabled(configuredLogLevel, level) {\n return levels[configuredLogLevel] <= levels[level];\n}\nfunction info(opts, label, message, newLine = true) {\n return log(opts, \"info\", label, message, newLine);\n}\nfunction warn(opts, label, message, newLine = true) {\n return log(opts, \"warn\", label, message, newLine);\n}\nfunction error(opts, label, message, newLine = true) {\n return log(opts, \"error\", label, message, newLine);\n}\nfunction table(opts, columns) {\n return function logTable(logFn, ...input) {\n const message = columns.map((len, i) => padStr(input[i].toString(), len)).join(\" \");\n logFn(opts, null, message);\n };\n}\nfunction debug(...args) {\n if (\"_astroGlobalDebug\" in globalThis) {\n globalThis._astroGlobalDebug(...args);\n }\n}\nfunction padStr(str, len) {\n const strLen = stringWidth(str);\n if (strLen > len) {\n return str.substring(0, len - 3) + \"...\";\n }\n const spaces = Array.from({ length: len - strLen }, () => \" \").join(\"\");\n return str + spaces;\n}\nfunction getEventPrefix({ level, label }) {\n const timestamp = `${dateTimeFormat.format(/* @__PURE__ */ new Date())}`;\n const prefix = [];\n if (level === \"error\" || level === \"warn\") {\n prefix.push(bold(timestamp));\n prefix.push(`[${level.toUpperCase()}]`);\n } else {\n prefix.push(timestamp);\n }\n if (label) {\n prefix.push(`[${label}]`);\n }\n if (level === \"error\") {\n return red(prefix.join(\" \"));\n }\n if (level === \"warn\") {\n return yellow(prefix.join(\" \"));\n }\n if (prefix.length === 1) {\n return dim(prefix[0]);\n }\n return dim(prefix[0]) + \" \" + blue(prefix.splice(1).join(\" \"));\n}\nlet defaultLogLevel;\nif (typeof process !== \"undefined\") {\n let proc = process;\n if (\"argv\" in proc && Array.isArray(proc.argv)) {\n if (proc.argv.includes(\"--verbose\")) {\n defaultLogLevel = \"debug\";\n } else if (proc.argv.includes(\"--silent\")) {\n defaultLogLevel = \"silent\";\n } else {\n defaultLogLevel = \"info\";\n }\n } else {\n defaultLogLevel = \"info\";\n }\n} else {\n defaultLogLevel = \"info\";\n}\nfunction timerMessage(message, startTime = Date.now()) {\n let timeDiff = Date.now() - startTime;\n let timeDisplay = timeDiff < 750 ? `${Math.round(timeDiff)}ms` : `${(timeDiff / 1e3).toFixed(1)}s`;\n return `${message} ${dim(timeDisplay)}`;\n}\nclass Logger {\n options;\n constructor(options) {\n this.options = options;\n }\n info(label, message, newLine = true) {\n info(this.options, label, message, newLine);\n }\n warn(label, message, newLine = true) {\n warn(this.options, label, message, newLine);\n }\n error(label, message, newLine = true) {\n error(this.options, label, message, newLine);\n }\n debug(label, ...messages) {\n debug(label, ...messages);\n }\n level() {\n return this.options.level;\n }\n forkIntegrationLogger(label) {\n return new AstroIntegrationLogger(this.options, label);\n }\n}\nclass AstroIntegrationLogger {\n options;\n label;\n constructor(logging, label) {\n this.options = logging;\n this.label = label;\n }\n /**\n * Creates a new logger instance with a new label, but the same log options.\n */\n fork(label) {\n return new AstroIntegrationLogger(this.options, label);\n }\n info(message) {\n info(this.options, this.label, message);\n }\n warn(message) {\n warn(this.options, this.label, message);\n }\n error(message) {\n error(this.options, this.label, message);\n }\n debug(message) {\n debug(this.label, message);\n }\n}\nexport {\n AstroIntegrationLogger,\n Logger,\n dateTimeFormat,\n debug,\n defaultLogLevel,\n error,\n getEventPrefix,\n info,\n isLogLevelEnabled,\n levels,\n log,\n table,\n timerMessage,\n warn\n};\n","import { compile } from \"path-to-regexp\";\nfunction sanitizeParams(params) {\n return Object.fromEntries(\n Object.entries(params).map(([key, value]) => {\n if (typeof value === \"string\") {\n return [key, value.normalize().replace(/#/g, \"%23\").replace(/\\?/g, \"%3F\")];\n }\n return [key, value];\n })\n );\n}\nfunction getRouteGenerator(segments, addTrailingSlash) {\n const template = segments.map((segment) => {\n return \"/\" + segment.map((part) => {\n if (part.spread) {\n return `:${part.content.slice(3)}(.*)?`;\n } else if (part.dynamic) {\n return `:${part.content}`;\n } else {\n return part.content.normalize().replace(/\\?/g, \"%3F\").replace(/#/g, \"%23\").replace(/%5B/g, \"[\").replace(/%5D/g, \"]\").replace(/[.*+?^${}()|[\\]\\\\]/g, \"\\\\$&\");\n }\n }).join(\"\");\n }).join(\"\");\n let trailing = \"\";\n if (addTrailingSlash === \"always\" && segments.length) {\n trailing = \"/\";\n }\n const toPath = compile(template + trailing);\n return (params) => {\n const sanitizedParams = sanitizeParams(params);\n const path = toPath(sanitizedParams);\n return path || \"/\";\n };\n}\nexport {\n getRouteGenerator\n};\n","import { getRouteGenerator } from \"./generator.js\";\nfunction serializeRouteData(routeData, trailingSlash) {\n return {\n ...routeData,\n generate: void 0,\n pattern: routeData.pattern.source,\n redirectRoute: routeData.redirectRoute ? serializeRouteData(routeData.redirectRoute, trailingSlash) : void 0,\n fallbackRoutes: routeData.fallbackRoutes.map((fallbackRoute) => {\n return serializeRouteData(fallbackRoute, trailingSlash);\n }),\n _meta: { trailingSlash }\n };\n}\nfunction deserializeRouteData(rawRouteData) {\n return {\n route: rawRouteData.route,\n type: rawRouteData.type,\n pattern: new RegExp(rawRouteData.pattern),\n params: rawRouteData.params,\n component: rawRouteData.component,\n generate: getRouteGenerator(rawRouteData.segments, rawRouteData._meta.trailingSlash),\n pathname: rawRouteData.pathname || void 0,\n segments: rawRouteData.segments,\n prerender: rawRouteData.prerender,\n redirect: rawRouteData.redirect,\n redirectRoute: rawRouteData.redirectRoute ? deserializeRouteData(rawRouteData.redirectRoute) : void 0,\n fallbackRoutes: rawRouteData.fallbackRoutes.map((fallback) => {\n return deserializeRouteData(fallback);\n }),\n isIndex: rawRouteData.isIndex\n };\n}\nexport {\n deserializeRouteData,\n serializeRouteData\n};\n","import { deserializeRouteData } from \"../routing/manifest/serialization.js\";\nfunction deserializeManifest(serializedManifest) {\n const routes = [];\n for (const serializedRoute of serializedManifest.routes) {\n routes.push({\n ...serializedRoute,\n routeData: deserializeRouteData(serializedRoute.routeData)\n });\n const route = serializedRoute;\n route.routeData = deserializeRouteData(serializedRoute.routeData);\n }\n const assets = new Set(serializedManifest.assets);\n const componentMetadata = new Map(serializedManifest.componentMetadata);\n const inlinedScripts = new Map(serializedManifest.inlinedScripts);\n const clientDirectives = new Map(serializedManifest.clientDirectives);\n const serverIslandNameMap = new Map(serializedManifest.serverIslandNameMap);\n return {\n // in case user middleware exists, this no-op middleware will be reassigned (see plugin-ssr.ts)\n middleware(_, next) {\n return next();\n },\n ...serializedManifest,\n assets,\n componentMetadata,\n inlinedScripts,\n clientDirectives,\n routes,\n serverIslandNameMap\n };\n}\nexport {\n deserializeManifest\n};\n"],"names":[],"mappings":"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","x_google_ignoreList":[0,1,2,3]} \ No newline at end of file diff --git a/Target/manifest_ReiFQC_B.mjs.map b/Target/manifest_ReiFQC_B.mjs.map new file mode 100644 index 00000000..8d5444b1 --- /dev/null +++ b/Target/manifest_ReiFQC_B.mjs.map @@ -0,0 +1 @@ +{"version":3,"file":"manifest_ReiFQC_B.mjs","sources":["../node_modules/astro/dist/core/logger/core.js","../node_modules/astro/dist/core/routing/manifest/generator.js","../node_modules/astro/dist/core/routing/manifest/serialization.js","../node_modules/astro/dist/core/app/common.js"],"sourcesContent":["import { blue, bold, dim, red, yellow } from \"kleur/colors\";\nimport stringWidth from \"string-width\";\nconst dateTimeFormat = new Intl.DateTimeFormat([], {\n hour: \"2-digit\",\n minute: \"2-digit\",\n second: \"2-digit\",\n hour12: false\n});\nconst levels = {\n debug: 20,\n info: 30,\n warn: 40,\n error: 50,\n silent: 90\n};\nfunction log(opts, level, label, message, newLine = true) {\n const logLevel = opts.level;\n const dest = opts.dest;\n const event = {\n label,\n level,\n message,\n newLine\n };\n if (!isLogLevelEnabled(logLevel, level)) {\n return;\n }\n dest.write(event);\n}\nfunction isLogLevelEnabled(configuredLogLevel, level) {\n return levels[configuredLogLevel] <= levels[level];\n}\nfunction info(opts, label, message, newLine = true) {\n return log(opts, \"info\", label, message, newLine);\n}\nfunction warn(opts, label, message, newLine = true) {\n return log(opts, \"warn\", label, message, newLine);\n}\nfunction error(opts, label, message, newLine = true) {\n return log(opts, \"error\", label, message, newLine);\n}\nfunction table(opts, columns) {\n return function logTable(logFn, ...input) {\n const message = columns.map((len, i) => padStr(input[i].toString(), len)).join(\" \");\n logFn(opts, null, message);\n };\n}\nfunction debug(...args) {\n if (\"_astroGlobalDebug\" in globalThis) {\n globalThis._astroGlobalDebug(...args);\n }\n}\nfunction padStr(str, len) {\n const strLen = stringWidth(str);\n if (strLen > len) {\n return str.substring(0, len - 3) + \"...\";\n }\n const spaces = Array.from({ length: len - strLen }, () => \" \").join(\"\");\n return str + spaces;\n}\nfunction getEventPrefix({ level, label }) {\n const timestamp = `${dateTimeFormat.format(/* @__PURE__ */ new Date())}`;\n const prefix = [];\n if (level === \"error\" || level === \"warn\") {\n prefix.push(bold(timestamp));\n prefix.push(`[${level.toUpperCase()}]`);\n } else {\n prefix.push(timestamp);\n }\n if (label) {\n prefix.push(`[${label}]`);\n }\n if (level === \"error\") {\n return red(prefix.join(\" \"));\n }\n if (level === \"warn\") {\n return yellow(prefix.join(\" \"));\n }\n if (prefix.length === 1) {\n return dim(prefix[0]);\n }\n return dim(prefix[0]) + \" \" + blue(prefix.splice(1).join(\" \"));\n}\nlet defaultLogLevel;\nif (typeof process !== \"undefined\") {\n let proc = process;\n if (\"argv\" in proc && Array.isArray(proc.argv)) {\n if (proc.argv.includes(\"--verbose\")) {\n defaultLogLevel = \"debug\";\n } else if (proc.argv.includes(\"--silent\")) {\n defaultLogLevel = \"silent\";\n } else {\n defaultLogLevel = \"info\";\n }\n } else {\n defaultLogLevel = \"info\";\n }\n} else {\n defaultLogLevel = \"info\";\n}\nfunction timerMessage(message, startTime = Date.now()) {\n let timeDiff = Date.now() - startTime;\n let timeDisplay = timeDiff < 750 ? `${Math.round(timeDiff)}ms` : `${(timeDiff / 1e3).toFixed(1)}s`;\n return `${message} ${dim(timeDisplay)}`;\n}\nclass Logger {\n options;\n constructor(options) {\n this.options = options;\n }\n info(label, message, newLine = true) {\n info(this.options, label, message, newLine);\n }\n warn(label, message, newLine = true) {\n warn(this.options, label, message, newLine);\n }\n error(label, message, newLine = true) {\n error(this.options, label, message, newLine);\n }\n debug(label, ...messages) {\n debug(label, ...messages);\n }\n level() {\n return this.options.level;\n }\n forkIntegrationLogger(label) {\n return new AstroIntegrationLogger(this.options, label);\n }\n}\nclass AstroIntegrationLogger {\n options;\n label;\n constructor(logging, label) {\n this.options = logging;\n this.label = label;\n }\n /**\n * Creates a new logger instance with a new label, but the same log options.\n */\n fork(label) {\n return new AstroIntegrationLogger(this.options, label);\n }\n info(message) {\n info(this.options, this.label, message);\n }\n warn(message) {\n warn(this.options, this.label, message);\n }\n error(message) {\n error(this.options, this.label, message);\n }\n debug(message) {\n debug(this.label, message);\n }\n}\nexport {\n AstroIntegrationLogger,\n Logger,\n dateTimeFormat,\n debug,\n defaultLogLevel,\n error,\n getEventPrefix,\n info,\n isLogLevelEnabled,\n levels,\n log,\n table,\n timerMessage,\n warn\n};\n","import { compile } from \"path-to-regexp\";\nfunction sanitizeParams(params) {\n return Object.fromEntries(\n Object.entries(params).map(([key, value]) => {\n if (typeof value === \"string\") {\n return [key, value.normalize().replace(/#/g, \"%23\").replace(/\\?/g, \"%3F\")];\n }\n return [key, value];\n })\n );\n}\nfunction getRouteGenerator(segments, addTrailingSlash) {\n const template = segments.map((segment) => {\n return \"/\" + segment.map((part) => {\n if (part.spread) {\n return `:${part.content.slice(3)}(.*)?`;\n } else if (part.dynamic) {\n return `:${part.content}`;\n } else {\n return part.content.normalize().replace(/\\?/g, \"%3F\").replace(/#/g, \"%23\").replace(/%5B/g, \"[\").replace(/%5D/g, \"]\").replace(/[.*+?^${}()|[\\]\\\\]/g, \"\\\\$&\");\n }\n }).join(\"\");\n }).join(\"\");\n let trailing = \"\";\n if (addTrailingSlash === \"always\" && segments.length) {\n trailing = \"/\";\n }\n const toPath = compile(template + trailing);\n return (params) => {\n const sanitizedParams = sanitizeParams(params);\n const path = toPath(sanitizedParams);\n return path || \"/\";\n };\n}\nexport {\n getRouteGenerator\n};\n","import { getRouteGenerator } from \"./generator.js\";\nfunction serializeRouteData(routeData, trailingSlash) {\n return {\n ...routeData,\n generate: void 0,\n pattern: routeData.pattern.source,\n redirectRoute: routeData.redirectRoute ? serializeRouteData(routeData.redirectRoute, trailingSlash) : void 0,\n fallbackRoutes: routeData.fallbackRoutes.map((fallbackRoute) => {\n return serializeRouteData(fallbackRoute, trailingSlash);\n }),\n _meta: { trailingSlash }\n };\n}\nfunction deserializeRouteData(rawRouteData) {\n return {\n route: rawRouteData.route,\n type: rawRouteData.type,\n pattern: new RegExp(rawRouteData.pattern),\n params: rawRouteData.params,\n component: rawRouteData.component,\n generate: getRouteGenerator(rawRouteData.segments, rawRouteData._meta.trailingSlash),\n pathname: rawRouteData.pathname || void 0,\n segments: rawRouteData.segments,\n prerender: rawRouteData.prerender,\n redirect: rawRouteData.redirect,\n redirectRoute: rawRouteData.redirectRoute ? deserializeRouteData(rawRouteData.redirectRoute) : void 0,\n fallbackRoutes: rawRouteData.fallbackRoutes.map((fallback) => {\n return deserializeRouteData(fallback);\n }),\n isIndex: rawRouteData.isIndex\n };\n}\nexport {\n deserializeRouteData,\n serializeRouteData\n};\n","import { deserializeRouteData } from \"../routing/manifest/serialization.js\";\nfunction deserializeManifest(serializedManifest) {\n const routes = [];\n for (const serializedRoute of serializedManifest.routes) {\n routes.push({\n ...serializedRoute,\n routeData: deserializeRouteData(serializedRoute.routeData)\n });\n const route = serializedRoute;\n route.routeData = deserializeRouteData(serializedRoute.routeData);\n }\n const assets = new Set(serializedManifest.assets);\n const componentMetadata = new Map(serializedManifest.componentMetadata);\n const inlinedScripts = new Map(serializedManifest.inlinedScripts);\n const clientDirectives = new Map(serializedManifest.clientDirectives);\n const serverIslandNameMap = new Map(serializedManifest.serverIslandNameMap);\n return {\n // in case user middleware exists, this no-op middleware will be reassigned (see plugin-ssr.ts)\n middleware(_, next) {\n return next();\n },\n ...serializedManifest,\n assets,\n componentMetadata,\n inlinedScripts,\n clientDirectives,\n routes,\n serverIslandNameMap\n };\n}\nexport {\n deserializeManifest\n};\n"],"names":[],"mappings":"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","x_google_ignoreList":[0,1,2,3]} \ No newline at end of file diff --git a/Target/pages/index.astro.mjs.map b/Target/pages/index.astro.mjs.map index a813647f..35bccb04 100644 --- a/Target/pages/index.astro.mjs.map +++ b/Target/pages/index.astro.mjs.map @@ -1 +1 @@ -{"version":3,"file":"index.astro.mjs","sources":["../../../../../../node_modules/astro-capo/src/capo/rules.ts","../../../../../../node_modules/astro-capo/src/capo/index.ts","../../../../../../node_modules/astro-capo/src/Head.ts","../../../../../../node_modules/astro/components/ViewTransitions.astro","../../Source/Layout/Base.astro","../../Source/pages/index.astro"],"sourcesContent":["import type { ElementNode } from \"ultrahtml\";\nimport { renderSync } from 'ultrahtml';\n\ntype Attributes = Record;\n\nfunction has(value: unknown): value is string {\n return typeof value === 'string';\n}\nfunction is(a: unknown, b: T): a is T {\n return a === b;\n}\nfunction any(a: string | undefined, b: string[]): a is string {\n return has(a) && b.includes(a.toLowerCase());\n}\n\nexport const ElementWeights: Record = {\n META: 10,\n TITLE: 9,\n PRECONNECT: 8,\n ASYNC_SCRIPT: 7,\n IMPORT_STYLES: 6,\n SYNC_SCRIPT: 5,\n SYNC_STYLES: 4,\n PRELOAD: 3,\n DEFER_SCRIPT: 2,\n PREFETCH_PRERENDER: 1,\n OTHER: 0\n};\n\nexport const ElementDetectors = {\n META: isMeta,\n TITLE: isTitle,\n PRECONNECT: isPreconnect,\n DEFER_SCRIPT: isDeferScript,\n ASYNC_SCRIPT: isAsyncScript,\n IMPORT_STYLES: isImportStyles,\n SYNC_SCRIPT: isSyncScript,\n SYNC_STYLES: isSyncStyles,\n PRELOAD: isPreload,\n PREFETCH_PRERENDER: isPrefetchPrerender\n}\n\nexport const META_HTTP_EQUIV_KEYWORDS = [\n 'accept-ch',\n 'content-security-policy',\n 'content-type',\n 'default-style',\n 'delegate-ch',\n 'origin-trial',\n 'x-dns-prefetch-control'\n];\n\n// meta:is([charset], ${httpEquivSelector}, [name=viewport]), base\nexport function isMeta(name: string, a: Attributes) {\n if (name === 'base') return true;\n if (name !== 'meta') return false;\n return has(a.charset) || is(a.name, 'viewport') || any(a['http-equiv'], META_HTTP_EQUIV_KEYWORDS)\n}\n\n// title\nexport function isTitle(name: string) {\n return name === 'title';\n}\n\n// link[rel=preconnect]\nexport function isPreconnect(name: string, { rel }: Attributes) {\n return name === 'link' && is(rel, 'preconnect');\n}\n\n// script[src][async]\nexport function isAsyncScript(name: string, { src, async }: Attributes) {\n return name === 'script' && has(src) && has(async);\n}\n\n// style that contains @import\nexport function isImportStyles(name: string, a: Attributes, children: string) {\n const importRe = /@import/;\n\n if (name === 'style') {\n return importRe.test(children);\n }\n\n // Can't support external stylesheets on the server\n return false;\n}\n\n// script:not([src][defer],[src][type=module],[src][async],[type*=json])\nexport function isSyncScript(name: string, { src, defer, async, type = '' }: Attributes) {\n if (name !== 'script') return false;\n return !(has(src) && (has(defer) || has(async) || is(type, 'module')) || type.includes('json'))\n}\n\n// link[rel=stylesheet],style\nexport function isSyncStyles(name: string, { rel }: Attributes) {\n if (name === 'style') return true;\n return name === 'link' && is(rel, 'stylesheet')\n}\n\n// link:is([rel=preload], [rel=modulepreload])\nexport function isPreload(name: string, { rel }: Attributes) {\n return name === 'link' && any(rel, ['preload', 'modulepreload']);\n}\n\n// script[src][defer], script:not([src][async])[src][type=module]\nexport function isDeferScript(name: string, { src, defer, async, type }: Attributes) {\n if (name !== 'script') return false;\n return (has(src) && has(defer)) || (has(src) && is(type, 'module') && !has(async));\n}\n\n// link:is([rel=prefetch], [rel=dns-prefetch], [rel=prerender])\nexport function isPrefetchPrerender(name: string, { rel }: Attributes) {\n return name === 'link' && any(rel, ['prefetch', 'dns-prefetch', 'prerender'])\n}\n\n// meta[http-equiv=\"origin-trial\"i]\nexport function isOriginTrial(name: string, { 'http-equiv': http }: Attributes) {\n return name === 'meta' && is(http, 'origin-trial');\n}\n\n// meta[http-equiv=\"Content-Security-Policy\" i]\nexport function isMetaCSP(name: string, { 'http-equiv': http }: Attributes) {\n return name === 'meta' && is(http, 'Content-Security-Policy');\n}\n\nexport function getWeight(element: ElementNode) {\n for (const [id, detector] of Object.entries(ElementDetectors)) {\n const children = (element.name === 'style' && element.children.length > 0) ? renderSync(element) : '';\n if (detector(element.name, element.attributes, children)) {\n return ElementWeights[id];\n }\n }\n return ElementWeights.OTHER;\n}\n","import type { ElementNode } from 'ultrahtml';\nimport { parse, walkSync, renderSync, ELEMENT_NODE } from 'ultrahtml';\nimport { getWeight } from './rules.ts';\n\nexport default function capo(html: string) {\n const ast = parse(html);\n try {\n walkSync(ast, (node, parent, index) => {\n if (node.type === ELEMENT_NODE && node.name === 'head') {\n if (parent) {\n parent.children.splice(index, 1, getSortedHead(node));\n throw 'done' // short-circuit\n }\n }\n })\n } catch (e) {\n if (e !== 'done') throw e;\n }\n return renderSync(ast);\n}\n\nfunction getSortedHead(head: ElementNode): ElementNode {\n const weightedChildren = head.children.map((node) => {\n if (node.type === ELEMENT_NODE) {\n const weight = getWeight(node);\n return [weight, node];\n }\n }).filter(Boolean) as [number, ElementNode][]\n const children = weightedChildren.sort((a, b) => b[0] - a[0]).map(([_, element]) => element)\n return { ...head, children };\n}\n","import type { SSRResult } from \"astro\";\n// @ts-expect-error using astro internals\nimport { renderAllHeadContent } from \"astro/runtime/server/render/head.js\";\n// @ts-expect-error using astro internals\nimport { createComponent, unescapeHTML, renderSlotToString, spreadAttributes } from \"astro/runtime/server/index.js\";\nimport capo from \"./capo/index.ts\";\n\nexport const Head = createComponent({\n factory: async (result: SSRResult, props: Record, slots: Record) => {\n let head = '';\n head += ``\n head += await renderSlotToString(result, slots.default);\n head += renderAllHeadContent(result);\n head += '';\n return unescapeHTML(capo(head));\n }\n})\n","---\ntype Fallback = 'none' | 'animate' | 'swap';\n\nexport interface Props {\n\tfallback?: Fallback;\n\t/** @deprecated handleForms is enabled by default in Astro 4.0\n\t *\n\t * Set `data-astro-reload` on your form to opt-out of the default behavior.\n\t */\n\thandleForms?: boolean;\n}\n\nconst { fallback = 'animate' } = Astro.props;\n---\n\n\n\n\n\n","---\nimport \"@Stylesheet/Base.css\";\n\n// TODO Place your title and description here\nconst { Title = \"\", Description = \"\" } = Astro.props;\n\ninterface Props {\n\tTitle?: string;\n\tDescription?: string;\n}\n\nimport { Head } from \"astro-capo\";\nimport { ViewTransitions } from \"astro:transitions\";\n---\n\n\n\n\t\n\t\t\n\n\t\t\n\t\t{Title}\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\n\t\t\n\t\t\n\t\t\n\t\t\n\n\t\t\n\n\t\t\n\n\t\t\n\n\t\t\n\n\t\t\n\t\t\n\t\n\t\n\t\t

\n\t\t\t\n\t\t
\n\t\t\n\t\n\n","---\nimport Base from \"@Layout/Base.astro\";\n---\n\n\n"],"names":["$$createComponent","Astro","$$Astro","$$render","$$addAttribute","$$renderScript","$$createAstro","$$renderComponent","$$result","$$renderSlot","ViewTransitions","$$maybeRenderHead","Base"],"mappings":"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","x_google_ignoreList":[0,1,2,3]} \ No newline at end of file +{"version":3,"file":"index.astro.mjs","sources":["../../node_modules/astro-capo/src/capo/rules.ts","../../node_modules/astro-capo/src/capo/index.ts","../../node_modules/astro-capo/src/Head.ts","../../node_modules/astro/components/ViewTransitions.astro","../../Source/Layout/Base.astro","../../Source/pages/index.astro"],"sourcesContent":["import type { ElementNode } from \"ultrahtml\";\nimport { renderSync } from 'ultrahtml';\n\ntype Attributes = Record;\n\nfunction has(value: unknown): value is string {\n return typeof value === 'string';\n}\nfunction is(a: unknown, b: T): a is T {\n return a === b;\n}\nfunction any(a: string | undefined, b: string[]): a is string {\n return has(a) && b.includes(a.toLowerCase());\n}\n\nexport const ElementWeights: Record = {\n META: 10,\n TITLE: 9,\n PRECONNECT: 8,\n ASYNC_SCRIPT: 7,\n IMPORT_STYLES: 6,\n SYNC_SCRIPT: 5,\n SYNC_STYLES: 4,\n PRELOAD: 3,\n DEFER_SCRIPT: 2,\n PREFETCH_PRERENDER: 1,\n OTHER: 0\n};\n\nexport const ElementDetectors = {\n META: isMeta,\n TITLE: isTitle,\n PRECONNECT: isPreconnect,\n DEFER_SCRIPT: isDeferScript,\n ASYNC_SCRIPT: isAsyncScript,\n IMPORT_STYLES: isImportStyles,\n SYNC_SCRIPT: isSyncScript,\n SYNC_STYLES: isSyncStyles,\n PRELOAD: isPreload,\n PREFETCH_PRERENDER: isPrefetchPrerender\n}\n\nexport const META_HTTP_EQUIV_KEYWORDS = [\n 'accept-ch',\n 'content-security-policy',\n 'content-type',\n 'default-style',\n 'delegate-ch',\n 'origin-trial',\n 'x-dns-prefetch-control'\n];\n\n// meta:is([charset], ${httpEquivSelector}, [name=viewport]), base\nexport function isMeta(name: string, a: Attributes) {\n if (name === 'base') return true;\n if (name !== 'meta') return false;\n return has(a.charset) || is(a.name, 'viewport') || any(a['http-equiv'], META_HTTP_EQUIV_KEYWORDS)\n}\n\n// title\nexport function isTitle(name: string) {\n return name === 'title';\n}\n\n// link[rel=preconnect]\nexport function isPreconnect(name: string, { rel }: Attributes) {\n return name === 'link' && is(rel, 'preconnect');\n}\n\n// script[src][async]\nexport function isAsyncScript(name: string, { src, async }: Attributes) {\n return name === 'script' && has(src) && has(async);\n}\n\n// style that contains @import\nexport function isImportStyles(name: string, a: Attributes, children: string) {\n const importRe = /@import/;\n\n if (name === 'style') {\n return importRe.test(children);\n }\n\n // Can't support external stylesheets on the server\n return false;\n}\n\n// script:not([src][defer],[src][type=module],[src][async],[type*=json])\nexport function isSyncScript(name: string, { src, defer, async, type = '' }: Attributes) {\n if (name !== 'script') return false;\n return !(has(src) && (has(defer) || has(async) || is(type, 'module')) || type.includes('json'))\n}\n\n// link[rel=stylesheet],style\nexport function isSyncStyles(name: string, { rel }: Attributes) {\n if (name === 'style') return true;\n return name === 'link' && is(rel, 'stylesheet')\n}\n\n// link:is([rel=preload], [rel=modulepreload])\nexport function isPreload(name: string, { rel }: Attributes) {\n return name === 'link' && any(rel, ['preload', 'modulepreload']);\n}\n\n// script[src][defer], script:not([src][async])[src][type=module]\nexport function isDeferScript(name: string, { src, defer, async, type }: Attributes) {\n if (name !== 'script') return false;\n return (has(src) && has(defer)) || (has(src) && is(type, 'module') && !has(async));\n}\n\n// link:is([rel=prefetch], [rel=dns-prefetch], [rel=prerender])\nexport function isPrefetchPrerender(name: string, { rel }: Attributes) {\n return name === 'link' && any(rel, ['prefetch', 'dns-prefetch', 'prerender'])\n}\n\n// meta[http-equiv=\"origin-trial\"i]\nexport function isOriginTrial(name: string, { 'http-equiv': http }: Attributes) {\n return name === 'meta' && is(http, 'origin-trial');\n}\n\n// meta[http-equiv=\"Content-Security-Policy\" i]\nexport function isMetaCSP(name: string, { 'http-equiv': http }: Attributes) {\n return name === 'meta' && is(http, 'Content-Security-Policy');\n}\n\nexport function getWeight(element: ElementNode) {\n for (const [id, detector] of Object.entries(ElementDetectors)) {\n const children = (element.name === 'style' && element.children.length > 0) ? renderSync(element) : '';\n if (detector(element.name, element.attributes, children)) {\n return ElementWeights[id];\n }\n }\n return ElementWeights.OTHER;\n}\n","import type { ElementNode } from 'ultrahtml';\nimport { parse, walkSync, renderSync, ELEMENT_NODE } from 'ultrahtml';\nimport { getWeight } from './rules.ts';\n\nexport default function capo(html: string) {\n const ast = parse(html);\n try {\n walkSync(ast, (node, parent, index) => {\n if (node.type === ELEMENT_NODE && node.name === 'head') {\n if (parent) {\n parent.children.splice(index, 1, getSortedHead(node));\n throw 'done' // short-circuit\n }\n }\n })\n } catch (e) {\n if (e !== 'done') throw e;\n }\n return renderSync(ast);\n}\n\nfunction getSortedHead(head: ElementNode): ElementNode {\n const weightedChildren = head.children.map((node) => {\n if (node.type === ELEMENT_NODE) {\n const weight = getWeight(node);\n return [weight, node];\n }\n }).filter(Boolean) as [number, ElementNode][]\n const children = weightedChildren.sort((a, b) => b[0] - a[0]).map(([_, element]) => element)\n return { ...head, children };\n}\n","import type { SSRResult } from \"astro\";\n// @ts-expect-error using astro internals\nimport { renderAllHeadContent } from \"astro/runtime/server/render/head.js\";\n// @ts-expect-error using astro internals\nimport { createComponent, unescapeHTML, renderSlotToString, spreadAttributes } from \"astro/runtime/server/index.js\";\nimport capo from \"./capo/index.ts\";\n\nexport const Head = createComponent({\n factory: async (result: SSRResult, props: Record, slots: Record) => {\n let head = '';\n head += ``\n head += await renderSlotToString(result, slots.default);\n head += renderAllHeadContent(result);\n head += '';\n return unescapeHTML(capo(head));\n }\n})\n","---\ntype Fallback = 'none' | 'animate' | 'swap';\n\nexport interface Props {\n\tfallback?: Fallback;\n\t/** @deprecated handleForms is enabled by default in Astro 4.0\n\t *\n\t * Set `data-astro-reload` on your form to opt-out of the default behavior.\n\t */\n\thandleForms?: boolean;\n}\n\nconst { fallback = 'animate' } = Astro.props;\n---\n\n\n\n\n\n","---\nimport \"@Stylesheet/Base.css\";\n\n// TODO Place your title and description here\nconst { Title = \"\", Description = \"\" } = Astro.props;\n\ninterface Props {\n\tTitle?: string;\n\tDescription?: string;\n}\n\nimport { Head } from \"astro-capo\";\nimport { ViewTransitions } from \"astro:transitions\";\n---\n\n\n\n\t\n\t\t\n\n\t\t\n\t\t{Title}\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\n\t\t\n\t\t\n\t\t\n\t\t\n\n\t\t\n\n\t\t\n\n\t\t\n\n\t\t\n\n\t\t\n\t\t\n\t\n\t\n\t\t
\n\t\t\t\n\t\t
\n\t\t\n\t\n\n","---\nimport Base from \"@Layout/Base.astro\";\n---\n\n\n"],"names":["$$createComponent","Astro","$$Astro","$$render","$$addAttribute","$$renderScript","$$createAstro","$$renderComponent","$$result","$$renderSlot","ViewTransitions","$$maybeRenderHead","Base"],"mappings":"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","x_google_ignoreList":[0,1,2,3]} \ No newline at end of file diff --git a/package.json b/package.json index 9bd23104..820b5d37 100644 --- a/package.json +++ b/package.json @@ -29,10 +29,10 @@ }, "dependencies": { "@astrojs/sitemap": "3.1.6", - "@playform/build": "0.1.1", - "@playform/compress": "0.0.13", + "@playform/build": "0.1.2", + "@playform/compress": "0.1.0", "@playform/format": "0.0.7", - "@playform/inline": "0.0.7", + "@playform/inline": "0.1.0", "@swup/body-class-plugin": "3.2.0", "@swup/fade-theme": "2.0.1", "@swup/head-plugin": "2.2.0", @@ -51,7 +51,7 @@ "cssnano-preset-advanced": "7.0.4", "dotenv": "16.4.5", "firebase": "10.12.4", - "postcss": "8.4.39", + "postcss": "8.4.40", "postcss-combine-duplicated-selectors": "10.0.3", "postcss-combine-media-query": "1.0.1", "postcss-import": "16.1.0", From 3241a56c0e52f00b7378be4a8c81cd52315f5d2f Mon Sep 17 00:00:00 2001 From: Nikola Hristov Date: Fri, 2 Aug 2024 02:44:16 +0300 Subject: [PATCH 009/112] --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 820b5d37..f59c165c 100644 --- a/package.json +++ b/package.json @@ -50,7 +50,7 @@ "cssnano": "7.0.4", "cssnano-preset-advanced": "7.0.4", "dotenv": "16.4.5", - "firebase": "10.12.4", + "firebase": "10.12.5", "postcss": "8.4.40", "postcss-combine-duplicated-selectors": "10.0.3", "postcss-combine-media-query": "1.0.1", From dae2459e59cfeaf4d0b889fb51c9798a0f1738b2 Mon Sep 17 00:00:00 2001 From: Nikola Hristov Date: Fri, 2 Aug 2024 02:57:08 +0300 Subject: [PATCH 010/112] --- .npmignore | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/.npmignore b/.npmignore index d0265ba4..35828682 100644 --- a/.npmignore +++ b/.npmignore @@ -1,6 +1,7 @@ .github/ -Source/ -Documentation/ CHANGELOG.md CODE_OF_CONDUCT.md CONTRIBUTING.md +Documentation/ +Source/ +Summary.md From f7ac88fcde58833a2ba2d004fa8abcc45df77448 Mon Sep 17 00:00:00 2001 From: Nikola Hristov Date: Fri, 2 Aug 2024 03:11:20 +0300 Subject: [PATCH 011/112] --- ... => Base.astro_astro_type_script_index_0_lang.-Cfsw7Td.js} | 4 ++-- ...Base.astro_astro_type_script_index_0_lang.-Cfsw7Td.js.map} | 2 +- .../_astro/{index.esm.BoasBFnU.js => index.esm.DRVoThhD.js} | 2 +- .../{index.esm.BoasBFnU.js.map => index.esm.DRVoThhD.js.map} | 2 +- Target/index.html | 2 +- .../{manifest_ReiFQC_B.mjs.map => manifest_h2lZuw-H.mjs.map} | 2 +- 6 files changed, 7 insertions(+), 7 deletions(-) rename Target/_astro/{Base.astro_astro_type_script_index_0_lang.F7LZ3psc.js => Base.astro_astro_type_script_index_0_lang.-Cfsw7Td.js} (65%) rename Target/_astro/{Base.astro_astro_type_script_index_0_lang.F7LZ3psc.js.map => Base.astro_astro_type_script_index_0_lang.-Cfsw7Td.js.map} (96%) rename Target/_astro/{index.esm.BoasBFnU.js => index.esm.DRVoThhD.js} (99%) rename Target/_astro/{index.esm.BoasBFnU.js.map => index.esm.DRVoThhD.js.map} (69%) rename Target/{manifest_ReiFQC_B.mjs.map => manifest_h2lZuw-H.mjs.map} (99%) diff --git a/Target/_astro/Base.astro_astro_type_script_index_0_lang.F7LZ3psc.js b/Target/_astro/Base.astro_astro_type_script_index_0_lang.-Cfsw7Td.js similarity index 65% rename from Target/_astro/Base.astro_astro_type_script_index_0_lang.F7LZ3psc.js rename to Target/_astro/Base.astro_astro_type_script_index_0_lang.-Cfsw7Td.js index 5b19da44..d4fc5398 100644 --- a/Target/_astro/Base.astro_astro_type_script_index_0_lang.F7LZ3psc.js +++ b/Target/_astro/Base.astro_astro_type_script_index_0_lang.-Cfsw7Td.js @@ -1,7 +1,7 @@ import { _ as e } from "./preload-helper.BiBI96sQ.js"; ( await e(async () => { - const { initializeApp: a } = await import("./index.esm.BoasBFnU.js"); + const { initializeApp: a } = await import("./index.esm.DRVoThhD.js"); return { initializeApp: a }; }, []) ).initializeApp({ @@ -14,4 +14,4 @@ import { _ as e } from "./preload-helper.BiBI96sQ.js"; projectId: "", storageBucket: "", }); -//# sourceMappingURL=Base.astro_astro_type_script_index_0_lang.F7LZ3psc.js.map +//# sourceMappingURL=Base.astro_astro_type_script_index_0_lang.-Cfsw7Td.js.map diff --git a/Target/_astro/Base.astro_astro_type_script_index_0_lang.F7LZ3psc.js.map b/Target/_astro/Base.astro_astro_type_script_index_0_lang.-Cfsw7Td.js.map similarity index 96% rename from Target/_astro/Base.astro_astro_type_script_index_0_lang.F7LZ3psc.js.map rename to Target/_astro/Base.astro_astro_type_script_index_0_lang.-Cfsw7Td.js.map index da145767..5452606a 100644 --- a/Target/_astro/Base.astro_astro_type_script_index_0_lang.F7LZ3psc.js.map +++ b/Target/_astro/Base.astro_astro_type_script_index_0_lang.-Cfsw7Td.js.map @@ -1 +1 @@ -{"version":3,"mappings":"kDAAgB,MAAMA,EAAA,8BAAAC,CAAA,eAAO,yBAAc,uBAAAA,CAAA,QAAG,cAAc,CAC3D,OAAQ,GACR,MAAO,GACP,WAAY,GACZ,YAAa,GACb,cAAe,GACf,kBAAmB,GACnB,UAAW,GACX,cAAe,EAChB,CAAC","names":["__vitePreload","initializeApp"],"ignoreList":[],"sources":["../../Source/Script/Firebase.ts"],"sourcesContent":["export default (await import(\"firebase/app\")).initializeApp({\n\tapiKey: \"\", // TODO Replace with your API key\n\tappId: \"\", // TODO Replace with your app ID\n\tauthDomain: \"\", // TODO Replace with your auth domain\n\tdatabaseURL: \"\", // TODO Replace with your database URL\n\tmeasurementId: \"\", // TODO Replace with your measurement ID\n\tmessagingSenderId: \"\", // TODO Replace with your messaging sender ID\n\tprojectId: \"\", // TODO Replace with your project ID\n\tstorageBucket: \"\", // TODO Replace with your storage bucket\n});\n"],"file":"_astro/Base.astro_astro_type_script_index_0_lang.F7LZ3psc.js"} \ No newline at end of file +{"version":3,"mappings":"kDAAgB,MAAMA,EAAA,8BAAAC,CAAA,eAAO,yBAAc,uBAAAA,CAAA,QAAG,cAAc,CAC3D,OAAQ,GACR,MAAO,GACP,WAAY,GACZ,YAAa,GACb,cAAe,GACf,kBAAmB,GACnB,UAAW,GACX,cAAe,EAChB,CAAC","names":["__vitePreload","initializeApp"],"ignoreList":[],"sources":["../../Source/Script/Firebase.ts"],"sourcesContent":["export default (await import(\"firebase/app\")).initializeApp({\n\tapiKey: \"\", // TODO Replace with your API key\n\tappId: \"\", // TODO Replace with your app ID\n\tauthDomain: \"\", // TODO Replace with your auth domain\n\tdatabaseURL: \"\", // TODO Replace with your database URL\n\tmeasurementId: \"\", // TODO Replace with your measurement ID\n\tmessagingSenderId: \"\", // TODO Replace with your messaging sender ID\n\tprojectId: \"\", // TODO Replace with your project ID\n\tstorageBucket: \"\", // TODO Replace with your storage bucket\n});\n"],"file":"_astro/Base.astro_astro_type_script_index_0_lang.-Cfsw7Td.js"} \ No newline at end of file diff --git a/Target/_astro/index.esm.BoasBFnU.js b/Target/_astro/index.esm.DRVoThhD.js similarity index 99% rename from Target/_astro/index.esm.BoasBFnU.js rename to Target/_astro/index.esm.DRVoThhD.js index 3796074f..e72de1e0 100644 --- a/Target/_astro/index.esm.BoasBFnU.js +++ b/Target/_astro/index.esm.DRVoThhD.js @@ -1 +1 @@ -var L={};const W=function(e){const t=[];let r=0;for(let n=0;n>6|192,t[r++]=63&a|128):55296==(64512&a)&&n+1>18|240,t[r++]=a>>12&63|128,t[r++]=a>>6&63|128,t[r++]=63&a|128):(t[r++]=a>>12|224,t[r++]=a>>6&63|128,t[r++]=63&a|128)}return t},ee=function(e){const t=[];let r=0,n=0;for(;r191&&a<224){const i=e[r++];t[n++]=String.fromCharCode((31&a)<<6|63&i)}else if(a>239&&a<365){const i=((7&a)<<18|(63&e[r++])<<12|(63&e[r++])<<6|63&e[r++])-65536;t[n++]=String.fromCharCode(55296+(i>>10)),t[n++]=String.fromCharCode(56320+(1023&i))}else{const i=e[r++],s=e[r++];t[n++]=String.fromCharCode((15&a)<<12|(63&i)<<6|63&s)}}return t.join("")},G={byteToCharMap_:null,charToByteMap_:null,byteToCharMapWebSafe_:null,charToByteMapWebSafe_:null,ENCODED_VALS_BASE:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789",get ENCODED_VALS(){return this.ENCODED_VALS_BASE+"+/="},get ENCODED_VALS_WEBSAFE(){return this.ENCODED_VALS_BASE+"-_."},HAS_NATIVE_SUPPORT:"function"==typeof atob,encodeByteArray(e,t){if(!Array.isArray(e))throw Error("encodeByteArray takes an array as a parameter");this.init_();const r=t?this.byteToCharMapWebSafe_:this.byteToCharMap_,n=[];for(let t=0;t>2,l=(3&a)<<4|s>>4;let d=(15&s)<<2|c>>6,u=63&c;o||(u=64,i||(d=64)),n.push(r[h],r[l],r[d],r[u])}return n.join("")},encodeString(e,t){return this.HAS_NATIVE_SUPPORT&&!t?btoa(e):this.encodeByteArray(W(e),t)},decodeString(e,t){return this.HAS_NATIVE_SUPPORT&&!t?atob(e):ee(this.decodeStringToByteArray(e,t))},decodeStringToByteArray(e,t){this.init_();const r=t?this.charToByteMapWebSafe_:this.charToByteMap_,n=[];for(let t=0;t>4;if(n.push(c),64!==s){const e=i<<4&240|s>>2;if(n.push(e),64!==o){const e=s<<6&192|o;n.push(e)}}}return n},init_(){if(!this.byteToCharMap_){this.byteToCharMap_={},this.charToByteMap_={},this.byteToCharMapWebSafe_={},this.charToByteMapWebSafe_={};for(let e=0;e=this.ENCODED_VALS_BASE.length&&(this.charToByteMap_[this.ENCODED_VALS_WEBSAFE.charAt(e)]=e,this.charToByteMapWebSafe_[this.ENCODED_VALS.charAt(e)]=e)}}};class te extends Error{constructor(){super(...arguments),this.name="DecodeBase64StringError"}}const ne=function(e){const t=W(e);return G.encodeByteArray(t,!0)},J=function(e){return ne(e).replace(/\./g,"")},re=function(e){try{return G.decodeString(e,!0)}catch(e){console.error("base64Decode failed: ",e)}return null};function se(){if(typeof self<"u")return self;if(typeof window<"u")return window;if(typeof global<"u")return global;throw new Error("Unable to locate global object.")}const ae=()=>se().__FIREBASE_DEFAULTS__,ie=()=>{if(typeof process>"u"||typeof L>"u")return;const e=L.__FIREBASE_DEFAULTS__;return e?JSON.parse(e):void 0},oe=()=>{if(typeof document>"u")return;let e;try{e=document.cookie.match(/__FIREBASE_DEFAULTS__=([^;]+)/)}catch{return}const t=e&&re(e[1]);return t&&JSON.parse(t)},ce=()=>{try{return ae()||ie()||oe()}catch(e){return void console.info(`Unable to get __FIREBASE_DEFAULTS__ due to: ${e}`)}},he=()=>{var e;return null===(e=ce())||void 0===e?void 0:e.config};class le{constructor(){this.reject=()=>{},this.resolve=()=>{},this.promise=new Promise(((e,t)=>{this.resolve=e,this.reject=t}))}wrapCallback(e){return(t,r)=>{t?this.reject(t):this.resolve(r),"function"==typeof e&&(this.promise.catch((()=>{})),1===e.length?e(t):e(t,r))}}}function de(){try{return"object"==typeof indexedDB}catch{return!1}}function fe(){return new Promise(((e,t)=>{try{let r=!0;const n="validate-browser-context-for-indexeddb-analytics-module",a=self.indexedDB.open(n);a.onsuccess=()=>{a.result.close(),r||self.indexedDB.deleteDatabase(n),e(!0)},a.onupgradeneeded=()=>{r=!1},a.onerror=()=>{var e;t((null===(e=a.error)||void 0===e?void 0:e.message)||"")}}catch(e){t(e)}}))}const ue="FirebaseError";class b extends Error{constructor(e,t,r){super(t),this.code=e,this.customData=r,this.name=ue,Object.setPrototypeOf(this,b.prototype),Error.captureStackTrace&&Error.captureStackTrace(this,K.prototype.create)}}class K{constructor(e,t,r){this.service=e,this.serviceName=t,this.errors=r}create(e,...t){const r=t[0]||{},n=`${this.service}/${e}`,a=this.errors[e],i=a?pe(a,r):"Error",s=`${this.serviceName}: ${i} (${n}).`;return new b(n,s,r)}}function pe(e,t){return e.replace(me,((e,r)=>{const n=t[r];return null!=n?String(n):`<${r}?>`}))}const me=/\{\$([^}]+)}/g;function C(e,t){if(e===t)return!0;const r=Object.keys(e),n=Object.keys(t);for(const a of r){if(!n.includes(a))return!1;const r=e[a],i=t[a];if(H(r)&&H(i)){if(!C(r,i))return!1}else if(r!==i)return!1}for(const e of n)if(!r.includes(e))return!1;return!0}function H(e){return null!==e&&"object"==typeof e}class D{constructor(e,t,r){this.name=e,this.instanceFactory=t,this.type=r,this.multipleInstances=!1,this.serviceProps={},this.instantiationMode="LAZY",this.onInstanceCreated=null}setInstantiationMode(e){return this.instantiationMode=e,this}setMultipleInstances(e){return this.multipleInstances=e,this}setServiceProps(e){return this.serviceProps=e,this}setInstanceCreatedCallback(e){return this.onInstanceCreated=e,this}}const f="[DEFAULT]";class ge{constructor(e,t){this.name=e,this.container=t,this.component=null,this.instances=new Map,this.instancesDeferred=new Map,this.instancesOptions=new Map,this.onInitCallbacks=new Map}get(e){const t=this.normalizeInstanceIdentifier(e);if(!this.instancesDeferred.has(t)){const e=new le;if(this.instancesDeferred.set(t,e),this.isInitialized(t)||this.shouldAutoInitialize())try{const r=this.getOrInitializeService({instanceIdentifier:t});r&&e.resolve(r)}catch{}}return this.instancesDeferred.get(t).promise}getImmediate(e){var t;const r=this.normalizeInstanceIdentifier(e?.identifier),n=null!==(t=e?.optional)&&void 0!==t&&t;if(!this.isInitialized(r)&&!this.shouldAutoInitialize()){if(n)return null;throw Error(`Service ${this.name} is not available`)}try{return this.getOrInitializeService({instanceIdentifier:r})}catch(e){if(n)return null;throw e}}getComponent(){return this.component}setComponent(e){if(e.name!==this.name)throw Error(`Mismatching Component ${e.name} for Provider ${this.name}.`);if(this.component)throw Error(`Component for ${this.name} has already been provided`);if(this.component=e,this.shouldAutoInitialize()){if(_e(e))try{this.getOrInitializeService({instanceIdentifier:f})}catch{}for(const[e,t]of this.instancesDeferred.entries()){const r=this.normalizeInstanceIdentifier(e);try{const e=this.getOrInitializeService({instanceIdentifier:r});t.resolve(e)}catch{}}}}clearInstance(e=f){this.instancesDeferred.delete(e),this.instancesOptions.delete(e),this.instances.delete(e)}async delete(){const e=Array.from(this.instances.values());await Promise.all([...e.filter((e=>"INTERNAL"in e)).map((e=>e.INTERNAL.delete())),...e.filter((e=>"_delete"in e)).map((e=>e._delete()))])}isComponentSet(){return null!=this.component}isInitialized(e=f){return this.instances.has(e)}getOptions(e=f){return this.instancesOptions.get(e)||{}}initialize(e={}){const{options:t={}}=e,r=this.normalizeInstanceIdentifier(e.instanceIdentifier);if(this.isInitialized(r))throw Error(`${this.name}(${r}) has already been initialized`);if(!this.isComponentSet())throw Error(`Component ${this.name} has not been registered yet`);const n=this.getOrInitializeService({instanceIdentifier:r,options:t});for(const[e,t]of this.instancesDeferred.entries()){r===this.normalizeInstanceIdentifier(e)&&t.resolve(n)}return n}onInit(e,t){var r;const n=this.normalizeInstanceIdentifier(t),a=null!==(r=this.onInitCallbacks.get(n))&&void 0!==r?r:new Set;a.add(e),this.onInitCallbacks.set(n,a);const i=this.instances.get(n);return i&&e(i,n),()=>{a.delete(e)}}invokeOnInitCallbacks(e,t){const r=this.onInitCallbacks.get(t);if(r)for(const n of r)try{n(e,t)}catch{}}getOrInitializeService({instanceIdentifier:e,options:t={}}){let r=this.instances.get(e);if(!r&&this.component&&(r=this.component.instanceFactory(this.container,{instanceIdentifier:be(e),options:t}),this.instances.set(e,r),this.instancesOptions.set(e,t),this.invokeOnInitCallbacks(r,e),this.component.onInstanceCreated))try{this.component.onInstanceCreated(this.container,e,r)}catch{}return r||null}normalizeInstanceIdentifier(e=f){return this.component?this.component.multipleInstances?e:f:e}shouldAutoInitialize(){return!!this.component&&"EXPLICIT"!==this.component.instantiationMode}}function be(e){return e===f?void 0:e}function _e(e){return"EAGER"===e.instantiationMode}class Ee{constructor(e){this.name=e,this.providers=new Map}addComponent(e){const t=this.getProvider(e.name);if(t.isComponentSet())throw new Error(`Component ${e.name} has already been registered with ${this.name}`);t.setComponent(e)}addOrOverwriteComponent(e){this.getProvider(e.name).isComponentSet()&&this.providers.delete(e.name),this.addComponent(e)}getProvider(e){if(this.providers.has(e))return this.providers.get(e);const t=new ge(e,this);return this.providers.set(e,t),t}getProviders(){return Array.from(this.providers.values())}}var h;!function(e){e[e.DEBUG=0]="DEBUG",e[e.VERBOSE=1]="VERBOSE",e[e.INFO=2]="INFO",e[e.WARN=3]="WARN",e[e.ERROR=4]="ERROR",e[e.SILENT=5]="SILENT"}(h||(h={}));const ye={debug:h.DEBUG,verbose:h.VERBOSE,info:h.INFO,warn:h.WARN,error:h.ERROR,silent:h.SILENT},De=h.INFO,Ie={[h.DEBUG]:"log",[h.VERBOSE]:"log",[h.INFO]:"info",[h.WARN]:"warn",[h.ERROR]:"error"},ve=(e,t,...r)=>{if(tt.some((t=>e instanceof t));let P,F;function Ce(){return P||(P=[IDBDatabase,IDBObjectStore,IDBIndex,IDBCursor,IDBTransaction])}function Ae(){return F||(F=[IDBCursor.prototype.advance,IDBCursor.prototype.continue,IDBCursor.prototype.continuePrimaryKey])}const Y=new WeakMap,A=new WeakMap,X=new WeakMap,I=new WeakMap,N=new WeakMap;function Be(e){const t=new Promise(((t,r)=>{const n=()=>{e.removeEventListener("success",a),e.removeEventListener("error",i)},a=()=>{t(d(e.result)),n()},i=()=>{r(e.error),n()};e.addEventListener("success",a),e.addEventListener("error",i)}));return t.then((t=>{t instanceof IDBCursor&&Y.set(t,e)})).catch((()=>{})),N.set(t,e),t}function Oe(e){if(A.has(e))return;const t=new Promise(((t,r)=>{const n=()=>{e.removeEventListener("complete",a),e.removeEventListener("error",i),e.removeEventListener("abort",i)},a=()=>{t(),n()},i=()=>{r(e.error||new DOMException("AbortError","AbortError")),n()};e.addEventListener("complete",a),e.addEventListener("error",i),e.addEventListener("abort",i)}));A.set(e,t)}let B={get(e,t,r){if(e instanceof IDBTransaction){if("done"===t)return A.get(e);if("objectStoreNames"===t)return e.objectStoreNames||X.get(e);if("store"===t)return r.objectStoreNames[1]?void 0:r.objectStore(r.objectStoreNames[0])}return d(e[t])},set:(e,t,r)=>(e[t]=r,!0),has:(e,t)=>e instanceof IDBTransaction&&("done"===t||"store"===t)||t in e};function Te(e){B=e(B)}function Me(e){return e!==IDBDatabase.prototype.transaction||"objectStoreNames"in IDBTransaction.prototype?Ae().includes(e)?function(...t){return e.apply(v(this),t),d(Y.get(this))}:function(...t){return d(e.apply(v(this),t))}:function(t,...r){const n=e.call(v(this),t,...r);return X.set(n,t.sort?t.sort():[t]),d(n)}}function $e(e){return"function"==typeof e?Me(e):(e instanceof IDBTransaction&&Oe(e),Se(e,Ce())?new Proxy(e,B):e)}function d(e){if(e instanceof IDBRequest)return Be(e);if(I.has(e))return I.get(e);const t=$e(e);return t!==e&&(I.set(e,t),N.set(t,e)),t}const v=e=>N.get(e);function Ne(e,t,{blocked:r,upgrade:n,blocking:a,terminated:i}={}){const s=indexedDB.open(e,t),o=d(s);return n&&s.addEventListener("upgradeneeded",(e=>{n(d(s.result),e.oldVersion,e.newVersion,d(s.transaction),e)})),r&&s.addEventListener("blocked",(e=>r(e.oldVersion,e.newVersion,e))),o.then((e=>{i&&e.addEventListener("close",(()=>i())),a&&e.addEventListener("versionchange",(e=>a(e.oldVersion,e.newVersion,e)))})).catch((()=>{})),o}const Re=["get","getKey","getAll","getAllKeys","count"],Le=["put","add","delete","clear"],w=new Map;function x(e,t){if(!(e instanceof IDBDatabase)||t in e||"string"!=typeof t)return;if(w.get(t))return w.get(t);const r=t.replace(/FromIndex$/,""),n=t!==r,a=Le.includes(r);if(!(r in(n?IDBIndex:IDBObjectStore).prototype)||!a&&!Re.includes(r))return;const i=async function(e,...t){const i=this.transaction(e,a?"readwrite":"readonly");let s=i.store;return n&&(s=s.index(t.shift())),(await Promise.all([s[r](...t),a&&i.done]))[0]};return w.set(t,i),i}Te((e=>({...e,get:(t,r,n)=>x(t,r)||e.get(t,r,n),has:(t,r)=>!!x(t,r)||e.has(t,r)})));class He{constructor(e){this.container=e}getPlatformInfoString(){return this.container.getProviders().map((e=>{if(Pe(e)){const t=e.getImmediate();return`${t.library}/${t.version}`}return null})).filter((e=>e)).join(" ")}}function Pe(e){const t=e.getComponent();return"VERSION"===t?.type}const O="@firebase/app",V="0.10.7",p=new we("@firebase/app"),Fe="@firebase/app-compat",xe="@firebase/analytics-compat",Ve="@firebase/analytics",je="@firebase/app-check-compat",ke="@firebase/app-check",ze="@firebase/auth",Ue="@firebase/auth-compat",We="@firebase/database",Ge="@firebase/database-compat",Je="@firebase/functions",Ke="@firebase/functions-compat",Ye="@firebase/installations",Xe="@firebase/installations-compat",Ze="@firebase/messaging",qe="@firebase/messaging-compat",Qe="@firebase/performance",et="@firebase/performance-compat",tt="@firebase/remote-config",nt="@firebase/remote-config-compat",rt="@firebase/storage",st="@firebase/storage-compat",at="@firebase/firestore",it="@firebase/vertexai-preview",ot="@firebase/firestore-compat",ct="firebase",ht="[DEFAULT]",lt={[O]:"fire-core",[Fe]:"fire-core-compat",[Ve]:"fire-analytics",[xe]:"fire-analytics-compat",[ke]:"fire-app-check",[je]:"fire-app-check-compat",[ze]:"fire-auth",[Ue]:"fire-auth-compat",[We]:"fire-rtdb",[Ge]:"fire-rtdb-compat",[Je]:"fire-fn",[Ke]:"fire-fn-compat",[Ye]:"fire-iid",[Xe]:"fire-iid-compat",[Ze]:"fire-fcm",[qe]:"fire-fcm-compat",[Qe]:"fire-perf",[et]:"fire-perf-compat",[tt]:"fire-rc",[nt]:"fire-rc-compat",[rt]:"fire-gcs",[st]:"fire-gcs-compat",[at]:"fire-fst",[ot]:"fire-fst-compat",[it]:"fire-vertex","fire-js":"fire-js",[ct]:"fire-js-all"},T=new Map,dt=new Map,M=new Map;function j(e,t){try{e.container.addComponent(t)}catch(r){p.debug(`Component ${t.name} failed to register with FirebaseApp ${e.name}`,r)}}function $(e){const t=e.name;if(M.has(t))return p.debug(`There were multiple attempts to register component ${t}.`),!1;M.set(t,e);for(const t of T.values())j(t,e);for(const t of dt.values())j(t,e);return!0}const ft={"no-app":"No Firebase App '{$appName}' has been created - call initializeApp() first","bad-app-name":"Illegal App name: '{$appName}'","duplicate-app":"Firebase App named '{$appName}' already exists with different options or config","app-deleted":"Firebase App named '{$appName}' already deleted","server-app-deleted":"Firebase Server App has been deleted","no-options":"Need to provide options, when not being deployed to hosting via source.","invalid-app-argument":"firebase.{$appName}() takes either no argument or a Firebase App instance.","invalid-log-argument":"First argument to `onLog` must be null or a function.","idb-open":"Error thrown when opening IndexedDB. Original error: {$originalErrorMessage}.","idb-get":"Error thrown when reading from IndexedDB. Original error: {$originalErrorMessage}.","idb-set":"Error thrown when writing to IndexedDB. Original error: {$originalErrorMessage}.","idb-delete":"Error thrown when deleting from IndexedDB. Original error: {$originalErrorMessage}.","finalization-registry-not-supported":"FirebaseServerApp deleteOnDeref field defined but the JS runtime does not support FinalizationRegistry.","invalid-server-app-environment":"FirebaseServerApp is not for use in browser environments."},u=new K("app","Firebase",ft);class ut{constructor(e,t,r){this._isDeleted=!1,this._options=Object.assign({},e),this._config=Object.assign({},t),this._name=t.name,this._automaticDataCollectionEnabled=t.automaticDataCollectionEnabled,this._container=r,this.container.addComponent(new D("app",(()=>this),"PUBLIC"))}get automaticDataCollectionEnabled(){return this.checkDestroyed(),this._automaticDataCollectionEnabled}set automaticDataCollectionEnabled(e){this.checkDestroyed(),this._automaticDataCollectionEnabled=e}get name(){return this.checkDestroyed(),this._name}get options(){return this.checkDestroyed(),this._options}get config(){return this.checkDestroyed(),this._config}get container(){return this._container}get isDeleted(){return this._isDeleted}set isDeleted(e){this._isDeleted=e}checkDestroyed(){if(this.isDeleted)throw u.create("app-deleted",{appName:this._name})}}function St(e,t={}){let r=e;"object"!=typeof t&&(t={name:t});const n=Object.assign({name:ht,automaticDataCollectionEnabled:!1},t),a=n.name;if("string"!=typeof a||!a)throw u.create("bad-app-name",{appName:String(a)});if(r||(r=he()),!r)throw u.create("no-options");const i=T.get(a);if(i){if(C(r,i.options)&&C(n,i.config))return i;throw u.create("duplicate-app",{appName:a})}const s=new Ee(a);for(const e of M.values())s.addComponent(e);const o=new ut(r,n,s);return T.set(a,o),o}function y(e,t,r){var n;let a=null!==(n=lt[e])&&void 0!==n?n:e;r&&(a+=`-${r}`);const i=a.match(/\s|\//),s=t.match(/\s|\//);if(i||s){const e=[`Unable to register library "${a}" with version "${t}":`];return i&&e.push(`library name "${a}" contains illegal characters (whitespace or "/")`),i&&s&&e.push("and"),s&&e.push(`version name "${t}" contains illegal characters (whitespace or "/")`),void p.warn(e.join(" "))}$(new D(`${a}-version`,(()=>({library:a,version:t})),"VERSION"))}const pt="firebase-heartbeat-database",mt=1,g="firebase-heartbeat-store";let S=null;function Z(){return S||(S=Ne(pt,mt,{upgrade:(e,t)=>{if(0===t)try{e.createObjectStore(g)}catch(e){console.warn(e)}}}).catch((e=>{throw u.create("idb-open",{originalErrorMessage:e.message})}))),S}async function gt(e){try{const t=(await Z()).transaction(g),r=await t.objectStore(g).get(q(e));return await t.done,r}catch(e){if(e instanceof b)p.warn(e.message);else{const t=u.create("idb-get",{originalErrorMessage:e?.message});p.warn(t.message)}}}async function k(e,t){try{const r=(await Z()).transaction(g,"readwrite");await r.objectStore(g).put(t,q(e)),await r.done}catch(e){if(e instanceof b)p.warn(e.message);else{const t=u.create("idb-set",{originalErrorMessage:e?.message});p.warn(t.message)}}}function q(e){return`${e.name}!${e.options.appId}`}const bt=1024,_t=2592e6;class Et{constructor(e){this.container=e,this._heartbeatsCache=null;const t=this.container.getProvider("app").getImmediate();this._storage=new Dt(t),this._heartbeatsCachePromise=this._storage.read().then((e=>(this._heartbeatsCache=e,e)))}async triggerHeartbeat(){var e,t;const r=this.container.getProvider("platform-logger").getImmediate().getPlatformInfoString(),n=z();if((null!=(null===(e=this._heartbeatsCache)||void 0===e?void 0:e.heartbeats)||(this._heartbeatsCache=await this._heartbeatsCachePromise,null!=(null===(t=this._heartbeatsCache)||void 0===t?void 0:t.heartbeats)))&&this._heartbeatsCache.lastSentHeartbeatDate!==n&&!this._heartbeatsCache.heartbeats.some((e=>e.date===n)))return this._heartbeatsCache.heartbeats.push({date:n,agent:r}),this._heartbeatsCache.heartbeats=this._heartbeatsCache.heartbeats.filter((e=>{const t=new Date(e.date).valueOf();return Date.now()-t<=_t})),this._storage.overwrite(this._heartbeatsCache)}async getHeartbeatsHeader(){var e;if(null===this._heartbeatsCache&&await this._heartbeatsCachePromise,null==(null===(e=this._heartbeatsCache)||void 0===e?void 0:e.heartbeats)||0===this._heartbeatsCache.heartbeats.length)return"";const t=z(),{heartbeatsToSend:r,unsentEntries:n}=yt(this._heartbeatsCache.heartbeats),a=J(JSON.stringify({version:2,heartbeats:r}));return this._heartbeatsCache.lastSentHeartbeatDate=t,n.length>0?(this._heartbeatsCache.heartbeats=n,await this._storage.overwrite(this._heartbeatsCache)):(this._heartbeatsCache.heartbeats=[],this._storage.overwrite(this._heartbeatsCache)),a}}function z(){return(new Date).toISOString().substring(0,10)}function yt(e,t=bt){const r=[];let n=e.slice();for(const a of e){const e=r.find((e=>e.agent===a.agent));if(e){if(e.dates.push(a.date),U(r)>t){e.dates.pop();break}}else if(r.push({agent:a.agent,dates:[a.date]}),U(r)>t){r.pop();break}n=n.slice(1)}return{heartbeatsToSend:r,unsentEntries:n}}class Dt{constructor(e){this.app=e,this._canUseIndexedDBPromise=this.runIndexedDBEnvironmentCheck()}async runIndexedDBEnvironmentCheck(){return!!de()&&fe().then((()=>!0)).catch((()=>!1))}async read(){if(await this._canUseIndexedDBPromise){const e=await gt(this.app);return e?.heartbeats?e:{heartbeats:[]}}return{heartbeats:[]}}async overwrite(e){var t;if(await this._canUseIndexedDBPromise){const r=await this.read();return k(this.app,{lastSentHeartbeatDate:null!==(t=e.lastSentHeartbeatDate)&&void 0!==t?t:r.lastSentHeartbeatDate,heartbeats:e.heartbeats})}}async add(e){var t;if(await this._canUseIndexedDBPromise){const r=await this.read();return k(this.app,{lastSentHeartbeatDate:null!==(t=e.lastSentHeartbeatDate)&&void 0!==t?t:r.lastSentHeartbeatDate,heartbeats:[...r.heartbeats,...e.heartbeats]})}}}function U(e){return J(JSON.stringify({version:2,heartbeats:e})).length}function It(e){$(new D("platform-logger",(e=>new He(e)),"PRIVATE")),$(new D("heartbeat",(e=>new Et(e)),"PRIVATE")),y(O,V,e),y(O,V,"esm2017"),y("fire-js","")}It("");var vt="firebase",wt="10.12.4";y(vt,wt,"app");export{b as FirebaseError,ht as _DEFAULT_ENTRY_NAME,j as _addComponent,T as _apps,M as _components,$ as _registerComponent,dt as _serverApps,St as initializeApp,y as registerVersion}; \ No newline at end of file +var L={};const W=function(e){const t=[];let r=0;for(let n=0;n>6|192,t[r++]=63&a|128):55296==(64512&a)&&n+1>18|240,t[r++]=a>>12&63|128,t[r++]=a>>6&63|128,t[r++]=63&a|128):(t[r++]=a>>12|224,t[r++]=a>>6&63|128,t[r++]=63&a|128)}return t},ee=function(e){const t=[];let r=0,n=0;for(;r191&&a<224){const i=e[r++];t[n++]=String.fromCharCode((31&a)<<6|63&i)}else if(a>239&&a<365){const i=((7&a)<<18|(63&e[r++])<<12|(63&e[r++])<<6|63&e[r++])-65536;t[n++]=String.fromCharCode(55296+(i>>10)),t[n++]=String.fromCharCode(56320+(1023&i))}else{const i=e[r++],s=e[r++];t[n++]=String.fromCharCode((15&a)<<12|(63&i)<<6|63&s)}}return t.join("")},G={byteToCharMap_:null,charToByteMap_:null,byteToCharMapWebSafe_:null,charToByteMapWebSafe_:null,ENCODED_VALS_BASE:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789",get ENCODED_VALS(){return this.ENCODED_VALS_BASE+"+/="},get ENCODED_VALS_WEBSAFE(){return this.ENCODED_VALS_BASE+"-_."},HAS_NATIVE_SUPPORT:"function"==typeof atob,encodeByteArray(e,t){if(!Array.isArray(e))throw Error("encodeByteArray takes an array as a parameter");this.init_();const r=t?this.byteToCharMapWebSafe_:this.byteToCharMap_,n=[];for(let t=0;t>2,l=(3&a)<<4|s>>4;let d=(15&s)<<2|c>>6,u=63&c;o||(u=64,i||(d=64)),n.push(r[h],r[l],r[d],r[u])}return n.join("")},encodeString(e,t){return this.HAS_NATIVE_SUPPORT&&!t?btoa(e):this.encodeByteArray(W(e),t)},decodeString(e,t){return this.HAS_NATIVE_SUPPORT&&!t?atob(e):ee(this.decodeStringToByteArray(e,t))},decodeStringToByteArray(e,t){this.init_();const r=t?this.charToByteMapWebSafe_:this.charToByteMap_,n=[];for(let t=0;t>4;if(n.push(c),64!==s){const e=i<<4&240|s>>2;if(n.push(e),64!==o){const e=s<<6&192|o;n.push(e)}}}return n},init_(){if(!this.byteToCharMap_){this.byteToCharMap_={},this.charToByteMap_={},this.byteToCharMapWebSafe_={},this.charToByteMapWebSafe_={};for(let e=0;e=this.ENCODED_VALS_BASE.length&&(this.charToByteMap_[this.ENCODED_VALS_WEBSAFE.charAt(e)]=e,this.charToByteMapWebSafe_[this.ENCODED_VALS.charAt(e)]=e)}}};class te extends Error{constructor(){super(...arguments),this.name="DecodeBase64StringError"}}const ne=function(e){const t=W(e);return G.encodeByteArray(t,!0)},J=function(e){return ne(e).replace(/\./g,"")},re=function(e){try{return G.decodeString(e,!0)}catch(e){console.error("base64Decode failed: ",e)}return null};function se(){if(typeof self<"u")return self;if(typeof window<"u")return window;if(typeof global<"u")return global;throw new Error("Unable to locate global object.")}const ae=()=>se().__FIREBASE_DEFAULTS__,ie=()=>{if(typeof process>"u"||typeof L>"u")return;const e=L.__FIREBASE_DEFAULTS__;return e?JSON.parse(e):void 0},oe=()=>{if(typeof document>"u")return;let e;try{e=document.cookie.match(/__FIREBASE_DEFAULTS__=([^;]+)/)}catch{return}const t=e&&re(e[1]);return t&&JSON.parse(t)},ce=()=>{try{return ae()||ie()||oe()}catch(e){return void console.info(`Unable to get __FIREBASE_DEFAULTS__ due to: ${e}`)}},he=()=>{var e;return null===(e=ce())||void 0===e?void 0:e.config};class le{constructor(){this.reject=()=>{},this.resolve=()=>{},this.promise=new Promise(((e,t)=>{this.resolve=e,this.reject=t}))}wrapCallback(e){return(t,r)=>{t?this.reject(t):this.resolve(r),"function"==typeof e&&(this.promise.catch((()=>{})),1===e.length?e(t):e(t,r))}}}function de(){try{return"object"==typeof indexedDB}catch{return!1}}function fe(){return new Promise(((e,t)=>{try{let r=!0;const n="validate-browser-context-for-indexeddb-analytics-module",a=self.indexedDB.open(n);a.onsuccess=()=>{a.result.close(),r||self.indexedDB.deleteDatabase(n),e(!0)},a.onupgradeneeded=()=>{r=!1},a.onerror=()=>{var e;t((null===(e=a.error)||void 0===e?void 0:e.message)||"")}}catch(e){t(e)}}))}const ue="FirebaseError";class b extends Error{constructor(e,t,r){super(t),this.code=e,this.customData=r,this.name=ue,Object.setPrototypeOf(this,b.prototype),Error.captureStackTrace&&Error.captureStackTrace(this,K.prototype.create)}}class K{constructor(e,t,r){this.service=e,this.serviceName=t,this.errors=r}create(e,...t){const r=t[0]||{},n=`${this.service}/${e}`,a=this.errors[e],i=a?pe(a,r):"Error",s=`${this.serviceName}: ${i} (${n}).`;return new b(n,s,r)}}function pe(e,t){return e.replace(me,((e,r)=>{const n=t[r];return null!=n?String(n):`<${r}?>`}))}const me=/\{\$([^}]+)}/g;function C(e,t){if(e===t)return!0;const r=Object.keys(e),n=Object.keys(t);for(const a of r){if(!n.includes(a))return!1;const r=e[a],i=t[a];if(H(r)&&H(i)){if(!C(r,i))return!1}else if(r!==i)return!1}for(const e of n)if(!r.includes(e))return!1;return!0}function H(e){return null!==e&&"object"==typeof e}class D{constructor(e,t,r){this.name=e,this.instanceFactory=t,this.type=r,this.multipleInstances=!1,this.serviceProps={},this.instantiationMode="LAZY",this.onInstanceCreated=null}setInstantiationMode(e){return this.instantiationMode=e,this}setMultipleInstances(e){return this.multipleInstances=e,this}setServiceProps(e){return this.serviceProps=e,this}setInstanceCreatedCallback(e){return this.onInstanceCreated=e,this}}const f="[DEFAULT]";class ge{constructor(e,t){this.name=e,this.container=t,this.component=null,this.instances=new Map,this.instancesDeferred=new Map,this.instancesOptions=new Map,this.onInitCallbacks=new Map}get(e){const t=this.normalizeInstanceIdentifier(e);if(!this.instancesDeferred.has(t)){const e=new le;if(this.instancesDeferred.set(t,e),this.isInitialized(t)||this.shouldAutoInitialize())try{const r=this.getOrInitializeService({instanceIdentifier:t});r&&e.resolve(r)}catch{}}return this.instancesDeferred.get(t).promise}getImmediate(e){var t;const r=this.normalizeInstanceIdentifier(e?.identifier),n=null!==(t=e?.optional)&&void 0!==t&&t;if(!this.isInitialized(r)&&!this.shouldAutoInitialize()){if(n)return null;throw Error(`Service ${this.name} is not available`)}try{return this.getOrInitializeService({instanceIdentifier:r})}catch(e){if(n)return null;throw e}}getComponent(){return this.component}setComponent(e){if(e.name!==this.name)throw Error(`Mismatching Component ${e.name} for Provider ${this.name}.`);if(this.component)throw Error(`Component for ${this.name} has already been provided`);if(this.component=e,this.shouldAutoInitialize()){if(_e(e))try{this.getOrInitializeService({instanceIdentifier:f})}catch{}for(const[e,t]of this.instancesDeferred.entries()){const r=this.normalizeInstanceIdentifier(e);try{const e=this.getOrInitializeService({instanceIdentifier:r});t.resolve(e)}catch{}}}}clearInstance(e=f){this.instancesDeferred.delete(e),this.instancesOptions.delete(e),this.instances.delete(e)}async delete(){const e=Array.from(this.instances.values());await Promise.all([...e.filter((e=>"INTERNAL"in e)).map((e=>e.INTERNAL.delete())),...e.filter((e=>"_delete"in e)).map((e=>e._delete()))])}isComponentSet(){return null!=this.component}isInitialized(e=f){return this.instances.has(e)}getOptions(e=f){return this.instancesOptions.get(e)||{}}initialize(e={}){const{options:t={}}=e,r=this.normalizeInstanceIdentifier(e.instanceIdentifier);if(this.isInitialized(r))throw Error(`${this.name}(${r}) has already been initialized`);if(!this.isComponentSet())throw Error(`Component ${this.name} has not been registered yet`);const n=this.getOrInitializeService({instanceIdentifier:r,options:t});for(const[e,t]of this.instancesDeferred.entries()){r===this.normalizeInstanceIdentifier(e)&&t.resolve(n)}return n}onInit(e,t){var r;const n=this.normalizeInstanceIdentifier(t),a=null!==(r=this.onInitCallbacks.get(n))&&void 0!==r?r:new Set;a.add(e),this.onInitCallbacks.set(n,a);const i=this.instances.get(n);return i&&e(i,n),()=>{a.delete(e)}}invokeOnInitCallbacks(e,t){const r=this.onInitCallbacks.get(t);if(r)for(const n of r)try{n(e,t)}catch{}}getOrInitializeService({instanceIdentifier:e,options:t={}}){let r=this.instances.get(e);if(!r&&this.component&&(r=this.component.instanceFactory(this.container,{instanceIdentifier:be(e),options:t}),this.instances.set(e,r),this.instancesOptions.set(e,t),this.invokeOnInitCallbacks(r,e),this.component.onInstanceCreated))try{this.component.onInstanceCreated(this.container,e,r)}catch{}return r||null}normalizeInstanceIdentifier(e=f){return this.component?this.component.multipleInstances?e:f:e}shouldAutoInitialize(){return!!this.component&&"EXPLICIT"!==this.component.instantiationMode}}function be(e){return e===f?void 0:e}function _e(e){return"EAGER"===e.instantiationMode}class Ee{constructor(e){this.name=e,this.providers=new Map}addComponent(e){const t=this.getProvider(e.name);if(t.isComponentSet())throw new Error(`Component ${e.name} has already been registered with ${this.name}`);t.setComponent(e)}addOrOverwriteComponent(e){this.getProvider(e.name).isComponentSet()&&this.providers.delete(e.name),this.addComponent(e)}getProvider(e){if(this.providers.has(e))return this.providers.get(e);const t=new ge(e,this);return this.providers.set(e,t),t}getProviders(){return Array.from(this.providers.values())}}var h;!function(e){e[e.DEBUG=0]="DEBUG",e[e.VERBOSE=1]="VERBOSE",e[e.INFO=2]="INFO",e[e.WARN=3]="WARN",e[e.ERROR=4]="ERROR",e[e.SILENT=5]="SILENT"}(h||(h={}));const ye={debug:h.DEBUG,verbose:h.VERBOSE,info:h.INFO,warn:h.WARN,error:h.ERROR,silent:h.SILENT},De=h.INFO,Ie={[h.DEBUG]:"log",[h.VERBOSE]:"log",[h.INFO]:"info",[h.WARN]:"warn",[h.ERROR]:"error"},ve=(e,t,...r)=>{if(tt.some((t=>e instanceof t));let P,F;function Ce(){return P||(P=[IDBDatabase,IDBObjectStore,IDBIndex,IDBCursor,IDBTransaction])}function Ae(){return F||(F=[IDBCursor.prototype.advance,IDBCursor.prototype.continue,IDBCursor.prototype.continuePrimaryKey])}const Y=new WeakMap,A=new WeakMap,X=new WeakMap,I=new WeakMap,N=new WeakMap;function Be(e){const t=new Promise(((t,r)=>{const n=()=>{e.removeEventListener("success",a),e.removeEventListener("error",i)},a=()=>{t(d(e.result)),n()},i=()=>{r(e.error),n()};e.addEventListener("success",a),e.addEventListener("error",i)}));return t.then((t=>{t instanceof IDBCursor&&Y.set(t,e)})).catch((()=>{})),N.set(t,e),t}function Oe(e){if(A.has(e))return;const t=new Promise(((t,r)=>{const n=()=>{e.removeEventListener("complete",a),e.removeEventListener("error",i),e.removeEventListener("abort",i)},a=()=>{t(),n()},i=()=>{r(e.error||new DOMException("AbortError","AbortError")),n()};e.addEventListener("complete",a),e.addEventListener("error",i),e.addEventListener("abort",i)}));A.set(e,t)}let B={get(e,t,r){if(e instanceof IDBTransaction){if("done"===t)return A.get(e);if("objectStoreNames"===t)return e.objectStoreNames||X.get(e);if("store"===t)return r.objectStoreNames[1]?void 0:r.objectStore(r.objectStoreNames[0])}return d(e[t])},set:(e,t,r)=>(e[t]=r,!0),has:(e,t)=>e instanceof IDBTransaction&&("done"===t||"store"===t)||t in e};function Te(e){B=e(B)}function Me(e){return e!==IDBDatabase.prototype.transaction||"objectStoreNames"in IDBTransaction.prototype?Ae().includes(e)?function(...t){return e.apply(v(this),t),d(Y.get(this))}:function(...t){return d(e.apply(v(this),t))}:function(t,...r){const n=e.call(v(this),t,...r);return X.set(n,t.sort?t.sort():[t]),d(n)}}function $e(e){return"function"==typeof e?Me(e):(e instanceof IDBTransaction&&Oe(e),Se(e,Ce())?new Proxy(e,B):e)}function d(e){if(e instanceof IDBRequest)return Be(e);if(I.has(e))return I.get(e);const t=$e(e);return t!==e&&(I.set(e,t),N.set(t,e)),t}const v=e=>N.get(e);function Ne(e,t,{blocked:r,upgrade:n,blocking:a,terminated:i}={}){const s=indexedDB.open(e,t),o=d(s);return n&&s.addEventListener("upgradeneeded",(e=>{n(d(s.result),e.oldVersion,e.newVersion,d(s.transaction),e)})),r&&s.addEventListener("blocked",(e=>r(e.oldVersion,e.newVersion,e))),o.then((e=>{i&&e.addEventListener("close",(()=>i())),a&&e.addEventListener("versionchange",(e=>a(e.oldVersion,e.newVersion,e)))})).catch((()=>{})),o}const Re=["get","getKey","getAll","getAllKeys","count"],Le=["put","add","delete","clear"],w=new Map;function x(e,t){if(!(e instanceof IDBDatabase)||t in e||"string"!=typeof t)return;if(w.get(t))return w.get(t);const r=t.replace(/FromIndex$/,""),n=t!==r,a=Le.includes(r);if(!(r in(n?IDBIndex:IDBObjectStore).prototype)||!a&&!Re.includes(r))return;const i=async function(e,...t){const i=this.transaction(e,a?"readwrite":"readonly");let s=i.store;return n&&(s=s.index(t.shift())),(await Promise.all([s[r](...t),a&&i.done]))[0]};return w.set(t,i),i}Te((e=>({...e,get:(t,r,n)=>x(t,r)||e.get(t,r,n),has:(t,r)=>!!x(t,r)||e.has(t,r)})));class He{constructor(e){this.container=e}getPlatformInfoString(){return this.container.getProviders().map((e=>{if(Pe(e)){const t=e.getImmediate();return`${t.library}/${t.version}`}return null})).filter((e=>e)).join(" ")}}function Pe(e){const t=e.getComponent();return"VERSION"===t?.type}const O="@firebase/app",V="0.10.8",p=new we("@firebase/app"),Fe="@firebase/app-compat",xe="@firebase/analytics-compat",Ve="@firebase/analytics",je="@firebase/app-check-compat",ke="@firebase/app-check",ze="@firebase/auth",Ue="@firebase/auth-compat",We="@firebase/database",Ge="@firebase/database-compat",Je="@firebase/functions",Ke="@firebase/functions-compat",Ye="@firebase/installations",Xe="@firebase/installations-compat",Ze="@firebase/messaging",qe="@firebase/messaging-compat",Qe="@firebase/performance",et="@firebase/performance-compat",tt="@firebase/remote-config",nt="@firebase/remote-config-compat",rt="@firebase/storage",st="@firebase/storage-compat",at="@firebase/firestore",it="@firebase/vertexai-preview",ot="@firebase/firestore-compat",ct="firebase",ht="[DEFAULT]",lt={[O]:"fire-core",[Fe]:"fire-core-compat",[Ve]:"fire-analytics",[xe]:"fire-analytics-compat",[ke]:"fire-app-check",[je]:"fire-app-check-compat",[ze]:"fire-auth",[Ue]:"fire-auth-compat",[We]:"fire-rtdb",[Ge]:"fire-rtdb-compat",[Je]:"fire-fn",[Ke]:"fire-fn-compat",[Ye]:"fire-iid",[Xe]:"fire-iid-compat",[Ze]:"fire-fcm",[qe]:"fire-fcm-compat",[Qe]:"fire-perf",[et]:"fire-perf-compat",[tt]:"fire-rc",[nt]:"fire-rc-compat",[rt]:"fire-gcs",[st]:"fire-gcs-compat",[at]:"fire-fst",[ot]:"fire-fst-compat",[it]:"fire-vertex","fire-js":"fire-js",[ct]:"fire-js-all"},T=new Map,dt=new Map,M=new Map;function j(e,t){try{e.container.addComponent(t)}catch(r){p.debug(`Component ${t.name} failed to register with FirebaseApp ${e.name}`,r)}}function $(e){const t=e.name;if(M.has(t))return p.debug(`There were multiple attempts to register component ${t}.`),!1;M.set(t,e);for(const t of T.values())j(t,e);for(const t of dt.values())j(t,e);return!0}const ft={"no-app":"No Firebase App '{$appName}' has been created - call initializeApp() first","bad-app-name":"Illegal App name: '{$appName}'","duplicate-app":"Firebase App named '{$appName}' already exists with different options or config","app-deleted":"Firebase App named '{$appName}' already deleted","server-app-deleted":"Firebase Server App has been deleted","no-options":"Need to provide options, when not being deployed to hosting via source.","invalid-app-argument":"firebase.{$appName}() takes either no argument or a Firebase App instance.","invalid-log-argument":"First argument to `onLog` must be null or a function.","idb-open":"Error thrown when opening IndexedDB. Original error: {$originalErrorMessage}.","idb-get":"Error thrown when reading from IndexedDB. Original error: {$originalErrorMessage}.","idb-set":"Error thrown when writing to IndexedDB. Original error: {$originalErrorMessage}.","idb-delete":"Error thrown when deleting from IndexedDB. Original error: {$originalErrorMessage}.","finalization-registry-not-supported":"FirebaseServerApp deleteOnDeref field defined but the JS runtime does not support FinalizationRegistry.","invalid-server-app-environment":"FirebaseServerApp is not for use in browser environments."},u=new K("app","Firebase",ft);class ut{constructor(e,t,r){this._isDeleted=!1,this._options=Object.assign({},e),this._config=Object.assign({},t),this._name=t.name,this._automaticDataCollectionEnabled=t.automaticDataCollectionEnabled,this._container=r,this.container.addComponent(new D("app",(()=>this),"PUBLIC"))}get automaticDataCollectionEnabled(){return this.checkDestroyed(),this._automaticDataCollectionEnabled}set automaticDataCollectionEnabled(e){this.checkDestroyed(),this._automaticDataCollectionEnabled=e}get name(){return this.checkDestroyed(),this._name}get options(){return this.checkDestroyed(),this._options}get config(){return this.checkDestroyed(),this._config}get container(){return this._container}get isDeleted(){return this._isDeleted}set isDeleted(e){this._isDeleted=e}checkDestroyed(){if(this.isDeleted)throw u.create("app-deleted",{appName:this._name})}}function St(e,t={}){let r=e;"object"!=typeof t&&(t={name:t});const n=Object.assign({name:ht,automaticDataCollectionEnabled:!1},t),a=n.name;if("string"!=typeof a||!a)throw u.create("bad-app-name",{appName:String(a)});if(r||(r=he()),!r)throw u.create("no-options");const i=T.get(a);if(i){if(C(r,i.options)&&C(n,i.config))return i;throw u.create("duplicate-app",{appName:a})}const s=new Ee(a);for(const e of M.values())s.addComponent(e);const o=new ut(r,n,s);return T.set(a,o),o}function y(e,t,r){var n;let a=null!==(n=lt[e])&&void 0!==n?n:e;r&&(a+=`-${r}`);const i=a.match(/\s|\//),s=t.match(/\s|\//);if(i||s){const e=[`Unable to register library "${a}" with version "${t}":`];return i&&e.push(`library name "${a}" contains illegal characters (whitespace or "/")`),i&&s&&e.push("and"),s&&e.push(`version name "${t}" contains illegal characters (whitespace or "/")`),void p.warn(e.join(" "))}$(new D(`${a}-version`,(()=>({library:a,version:t})),"VERSION"))}const pt="firebase-heartbeat-database",mt=1,g="firebase-heartbeat-store";let S=null;function Z(){return S||(S=Ne(pt,mt,{upgrade:(e,t)=>{if(0===t)try{e.createObjectStore(g)}catch(e){console.warn(e)}}}).catch((e=>{throw u.create("idb-open",{originalErrorMessage:e.message})}))),S}async function gt(e){try{const t=(await Z()).transaction(g),r=await t.objectStore(g).get(q(e));return await t.done,r}catch(e){if(e instanceof b)p.warn(e.message);else{const t=u.create("idb-get",{originalErrorMessage:e?.message});p.warn(t.message)}}}async function k(e,t){try{const r=(await Z()).transaction(g,"readwrite");await r.objectStore(g).put(t,q(e)),await r.done}catch(e){if(e instanceof b)p.warn(e.message);else{const t=u.create("idb-set",{originalErrorMessage:e?.message});p.warn(t.message)}}}function q(e){return`${e.name}!${e.options.appId}`}const bt=1024,_t=2592e6;class Et{constructor(e){this.container=e,this._heartbeatsCache=null;const t=this.container.getProvider("app").getImmediate();this._storage=new Dt(t),this._heartbeatsCachePromise=this._storage.read().then((e=>(this._heartbeatsCache=e,e)))}async triggerHeartbeat(){var e,t;const r=this.container.getProvider("platform-logger").getImmediate().getPlatformInfoString(),n=z();if((null!=(null===(e=this._heartbeatsCache)||void 0===e?void 0:e.heartbeats)||(this._heartbeatsCache=await this._heartbeatsCachePromise,null!=(null===(t=this._heartbeatsCache)||void 0===t?void 0:t.heartbeats)))&&this._heartbeatsCache.lastSentHeartbeatDate!==n&&!this._heartbeatsCache.heartbeats.some((e=>e.date===n)))return this._heartbeatsCache.heartbeats.push({date:n,agent:r}),this._heartbeatsCache.heartbeats=this._heartbeatsCache.heartbeats.filter((e=>{const t=new Date(e.date).valueOf();return Date.now()-t<=_t})),this._storage.overwrite(this._heartbeatsCache)}async getHeartbeatsHeader(){var e;if(null===this._heartbeatsCache&&await this._heartbeatsCachePromise,null==(null===(e=this._heartbeatsCache)||void 0===e?void 0:e.heartbeats)||0===this._heartbeatsCache.heartbeats.length)return"";const t=z(),{heartbeatsToSend:r,unsentEntries:n}=yt(this._heartbeatsCache.heartbeats),a=J(JSON.stringify({version:2,heartbeats:r}));return this._heartbeatsCache.lastSentHeartbeatDate=t,n.length>0?(this._heartbeatsCache.heartbeats=n,await this._storage.overwrite(this._heartbeatsCache)):(this._heartbeatsCache.heartbeats=[],this._storage.overwrite(this._heartbeatsCache)),a}}function z(){return(new Date).toISOString().substring(0,10)}function yt(e,t=bt){const r=[];let n=e.slice();for(const a of e){const e=r.find((e=>e.agent===a.agent));if(e){if(e.dates.push(a.date),U(r)>t){e.dates.pop();break}}else if(r.push({agent:a.agent,dates:[a.date]}),U(r)>t){r.pop();break}n=n.slice(1)}return{heartbeatsToSend:r,unsentEntries:n}}class Dt{constructor(e){this.app=e,this._canUseIndexedDBPromise=this.runIndexedDBEnvironmentCheck()}async runIndexedDBEnvironmentCheck(){return!!de()&&fe().then((()=>!0)).catch((()=>!1))}async read(){if(await this._canUseIndexedDBPromise){const e=await gt(this.app);return e?.heartbeats?e:{heartbeats:[]}}return{heartbeats:[]}}async overwrite(e){var t;if(await this._canUseIndexedDBPromise){const r=await this.read();return k(this.app,{lastSentHeartbeatDate:null!==(t=e.lastSentHeartbeatDate)&&void 0!==t?t:r.lastSentHeartbeatDate,heartbeats:e.heartbeats})}}async add(e){var t;if(await this._canUseIndexedDBPromise){const r=await this.read();return k(this.app,{lastSentHeartbeatDate:null!==(t=e.lastSentHeartbeatDate)&&void 0!==t?t:r.lastSentHeartbeatDate,heartbeats:[...r.heartbeats,...e.heartbeats]})}}}function U(e){return J(JSON.stringify({version:2,heartbeats:e})).length}function It(e){$(new D("platform-logger",(e=>new He(e)),"PRIVATE")),$(new D("heartbeat",(e=>new Et(e)),"PRIVATE")),y(O,V,e),y(O,V,"esm2017"),y("fire-js","")}It("");var vt="firebase",wt="10.12.4";y(vt,wt,"app");export{b as FirebaseError,ht as _DEFAULT_ENTRY_NAME,j as _addComponent,T as _apps,M as _components,$ as _registerComponent,dt as _serverApps,St as initializeApp,y as registerVersion}; \ No newline at end of file diff --git a/Target/_astro/index.esm.BoasBFnU.js.map b/Target/_astro/index.esm.DRVoThhD.js.map similarity index 69% rename from Target/_astro/index.esm.BoasBFnU.js.map rename to Target/_astro/index.esm.DRVoThhD.js.map index 4653eb07..171a5639 100644 --- a/Target/_astro/index.esm.BoasBFnU.js.map +++ b/Target/_astro/index.esm.DRVoThhD.js.map @@ -1 +1 @@ -{"version":3,"file":"index.esm.BoasBFnU.js","sources":["../../../../../../node_modules/@firebase/util/dist/index.esm2017.js","../../../../../../node_modules/@firebase/component/dist/esm/index.esm2017.js","../../../../../../node_modules/@firebase/logger/dist/esm/index.esm2017.js","../../../../../../node_modules/idb/build/wrap-idb-value.js","../../../../../../node_modules/idb/build/index.js","../../../../../../node_modules/@firebase/app/dist/esm/index.esm2017.js","../../node_modules/firebase/app/dist/esm/index.esm.js"],"sourcesContent":["/**\r\n * @license\r\n * Copyright 2017 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n/**\r\n * @fileoverview Firebase constants. Some of these (@defines) can be overridden at compile-time.\r\n */\r\nconst CONSTANTS = {\r\n /**\r\n * @define {boolean} Whether this is the client Node.js SDK.\r\n */\r\n NODE_CLIENT: false,\r\n /**\r\n * @define {boolean} Whether this is the Admin Node.js SDK.\r\n */\r\n NODE_ADMIN: false,\r\n /**\r\n * Firebase SDK Version\r\n */\r\n SDK_VERSION: '${JSCORE_VERSION}'\r\n};\n\n/**\r\n * @license\r\n * Copyright 2017 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n/**\r\n * Throws an error if the provided assertion is falsy\r\n */\r\nconst assert = function (assertion, message) {\r\n if (!assertion) {\r\n throw assertionError(message);\r\n }\r\n};\r\n/**\r\n * Returns an Error object suitable for throwing.\r\n */\r\nconst assertionError = function (message) {\r\n return new Error('Firebase Database (' +\r\n CONSTANTS.SDK_VERSION +\r\n ') INTERNAL ASSERT FAILED: ' +\r\n message);\r\n};\n\n/**\r\n * @license\r\n * Copyright 2017 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\nconst stringToByteArray$1 = function (str) {\r\n // TODO(user): Use native implementations if/when available\r\n const out = [];\r\n let p = 0;\r\n for (let i = 0; i < str.length; i++) {\r\n let c = str.charCodeAt(i);\r\n if (c < 128) {\r\n out[p++] = c;\r\n }\r\n else if (c < 2048) {\r\n out[p++] = (c >> 6) | 192;\r\n out[p++] = (c & 63) | 128;\r\n }\r\n else if ((c & 0xfc00) === 0xd800 &&\r\n i + 1 < str.length &&\r\n (str.charCodeAt(i + 1) & 0xfc00) === 0xdc00) {\r\n // Surrogate Pair\r\n c = 0x10000 + ((c & 0x03ff) << 10) + (str.charCodeAt(++i) & 0x03ff);\r\n out[p++] = (c >> 18) | 240;\r\n out[p++] = ((c >> 12) & 63) | 128;\r\n out[p++] = ((c >> 6) & 63) | 128;\r\n out[p++] = (c & 63) | 128;\r\n }\r\n else {\r\n out[p++] = (c >> 12) | 224;\r\n out[p++] = ((c >> 6) & 63) | 128;\r\n out[p++] = (c & 63) | 128;\r\n }\r\n }\r\n return out;\r\n};\r\n/**\r\n * Turns an array of numbers into the string given by the concatenation of the\r\n * characters to which the numbers correspond.\r\n * @param bytes Array of numbers representing characters.\r\n * @return Stringification of the array.\r\n */\r\nconst byteArrayToString = function (bytes) {\r\n // TODO(user): Use native implementations if/when available\r\n const out = [];\r\n let pos = 0, c = 0;\r\n while (pos < bytes.length) {\r\n const c1 = bytes[pos++];\r\n if (c1 < 128) {\r\n out[c++] = String.fromCharCode(c1);\r\n }\r\n else if (c1 > 191 && c1 < 224) {\r\n const c2 = bytes[pos++];\r\n out[c++] = String.fromCharCode(((c1 & 31) << 6) | (c2 & 63));\r\n }\r\n else if (c1 > 239 && c1 < 365) {\r\n // Surrogate Pair\r\n const c2 = bytes[pos++];\r\n const c3 = bytes[pos++];\r\n const c4 = bytes[pos++];\r\n const u = (((c1 & 7) << 18) | ((c2 & 63) << 12) | ((c3 & 63) << 6) | (c4 & 63)) -\r\n 0x10000;\r\n out[c++] = String.fromCharCode(0xd800 + (u >> 10));\r\n out[c++] = String.fromCharCode(0xdc00 + (u & 1023));\r\n }\r\n else {\r\n const c2 = bytes[pos++];\r\n const c3 = bytes[pos++];\r\n out[c++] = String.fromCharCode(((c1 & 15) << 12) | ((c2 & 63) << 6) | (c3 & 63));\r\n }\r\n }\r\n return out.join('');\r\n};\r\n// We define it as an object literal instead of a class because a class compiled down to es5 can't\r\n// be treeshaked. https://github.com/rollup/rollup/issues/1691\r\n// Static lookup maps, lazily populated by init_()\r\nconst base64 = {\r\n /**\r\n * Maps bytes to characters.\r\n */\r\n byteToCharMap_: null,\r\n /**\r\n * Maps characters to bytes.\r\n */\r\n charToByteMap_: null,\r\n /**\r\n * Maps bytes to websafe characters.\r\n * @private\r\n */\r\n byteToCharMapWebSafe_: null,\r\n /**\r\n * Maps websafe characters to bytes.\r\n * @private\r\n */\r\n charToByteMapWebSafe_: null,\r\n /**\r\n * Our default alphabet, shared between\r\n * ENCODED_VALS and ENCODED_VALS_WEBSAFE\r\n */\r\n ENCODED_VALS_BASE: 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' + 'abcdefghijklmnopqrstuvwxyz' + '0123456789',\r\n /**\r\n * Our default alphabet. Value 64 (=) is special; it means \"nothing.\"\r\n */\r\n get ENCODED_VALS() {\r\n return this.ENCODED_VALS_BASE + '+/=';\r\n },\r\n /**\r\n * Our websafe alphabet.\r\n */\r\n get ENCODED_VALS_WEBSAFE() {\r\n return this.ENCODED_VALS_BASE + '-_.';\r\n },\r\n /**\r\n * Whether this browser supports the atob and btoa functions. This extension\r\n * started at Mozilla but is now implemented by many browsers. We use the\r\n * ASSUME_* variables to avoid pulling in the full useragent detection library\r\n * but still allowing the standard per-browser compilations.\r\n *\r\n */\r\n HAS_NATIVE_SUPPORT: typeof atob === 'function',\r\n /**\r\n * Base64-encode an array of bytes.\r\n *\r\n * @param input An array of bytes (numbers with\r\n * value in [0, 255]) to encode.\r\n * @param webSafe Boolean indicating we should use the\r\n * alternative alphabet.\r\n * @return The base64 encoded string.\r\n */\r\n encodeByteArray(input, webSafe) {\r\n if (!Array.isArray(input)) {\r\n throw Error('encodeByteArray takes an array as a parameter');\r\n }\r\n this.init_();\r\n const byteToCharMap = webSafe\r\n ? this.byteToCharMapWebSafe_\r\n : this.byteToCharMap_;\r\n const output = [];\r\n for (let i = 0; i < input.length; i += 3) {\r\n const byte1 = input[i];\r\n const haveByte2 = i + 1 < input.length;\r\n const byte2 = haveByte2 ? input[i + 1] : 0;\r\n const haveByte3 = i + 2 < input.length;\r\n const byte3 = haveByte3 ? input[i + 2] : 0;\r\n const outByte1 = byte1 >> 2;\r\n const outByte2 = ((byte1 & 0x03) << 4) | (byte2 >> 4);\r\n let outByte3 = ((byte2 & 0x0f) << 2) | (byte3 >> 6);\r\n let outByte4 = byte3 & 0x3f;\r\n if (!haveByte3) {\r\n outByte4 = 64;\r\n if (!haveByte2) {\r\n outByte3 = 64;\r\n }\r\n }\r\n output.push(byteToCharMap[outByte1], byteToCharMap[outByte2], byteToCharMap[outByte3], byteToCharMap[outByte4]);\r\n }\r\n return output.join('');\r\n },\r\n /**\r\n * Base64-encode a string.\r\n *\r\n * @param input A string to encode.\r\n * @param webSafe If true, we should use the\r\n * alternative alphabet.\r\n * @return The base64 encoded string.\r\n */\r\n encodeString(input, webSafe) {\r\n // Shortcut for Mozilla browsers that implement\r\n // a native base64 encoder in the form of \"btoa/atob\"\r\n if (this.HAS_NATIVE_SUPPORT && !webSafe) {\r\n return btoa(input);\r\n }\r\n return this.encodeByteArray(stringToByteArray$1(input), webSafe);\r\n },\r\n /**\r\n * Base64-decode a string.\r\n *\r\n * @param input to decode.\r\n * @param webSafe True if we should use the\r\n * alternative alphabet.\r\n * @return string representing the decoded value.\r\n */\r\n decodeString(input, webSafe) {\r\n // Shortcut for Mozilla browsers that implement\r\n // a native base64 encoder in the form of \"btoa/atob\"\r\n if (this.HAS_NATIVE_SUPPORT && !webSafe) {\r\n return atob(input);\r\n }\r\n return byteArrayToString(this.decodeStringToByteArray(input, webSafe));\r\n },\r\n /**\r\n * Base64-decode a string.\r\n *\r\n * In base-64 decoding, groups of four characters are converted into three\r\n * bytes. If the encoder did not apply padding, the input length may not\r\n * be a multiple of 4.\r\n *\r\n * In this case, the last group will have fewer than 4 characters, and\r\n * padding will be inferred. If the group has one or two characters, it decodes\r\n * to one byte. If the group has three characters, it decodes to two bytes.\r\n *\r\n * @param input Input to decode.\r\n * @param webSafe True if we should use the web-safe alphabet.\r\n * @return bytes representing the decoded value.\r\n */\r\n decodeStringToByteArray(input, webSafe) {\r\n this.init_();\r\n const charToByteMap = webSafe\r\n ? this.charToByteMapWebSafe_\r\n : this.charToByteMap_;\r\n const output = [];\r\n for (let i = 0; i < input.length;) {\r\n const byte1 = charToByteMap[input.charAt(i++)];\r\n const haveByte2 = i < input.length;\r\n const byte2 = haveByte2 ? charToByteMap[input.charAt(i)] : 0;\r\n ++i;\r\n const haveByte3 = i < input.length;\r\n const byte3 = haveByte3 ? charToByteMap[input.charAt(i)] : 64;\r\n ++i;\r\n const haveByte4 = i < input.length;\r\n const byte4 = haveByte4 ? charToByteMap[input.charAt(i)] : 64;\r\n ++i;\r\n if (byte1 == null || byte2 == null || byte3 == null || byte4 == null) {\r\n throw new DecodeBase64StringError();\r\n }\r\n const outByte1 = (byte1 << 2) | (byte2 >> 4);\r\n output.push(outByte1);\r\n if (byte3 !== 64) {\r\n const outByte2 = ((byte2 << 4) & 0xf0) | (byte3 >> 2);\r\n output.push(outByte2);\r\n if (byte4 !== 64) {\r\n const outByte3 = ((byte3 << 6) & 0xc0) | byte4;\r\n output.push(outByte3);\r\n }\r\n }\r\n }\r\n return output;\r\n },\r\n /**\r\n * Lazy static initialization function. Called before\r\n * accessing any of the static map variables.\r\n * @private\r\n */\r\n init_() {\r\n if (!this.byteToCharMap_) {\r\n this.byteToCharMap_ = {};\r\n this.charToByteMap_ = {};\r\n this.byteToCharMapWebSafe_ = {};\r\n this.charToByteMapWebSafe_ = {};\r\n // We want quick mappings back and forth, so we precompute two maps.\r\n for (let i = 0; i < this.ENCODED_VALS.length; i++) {\r\n this.byteToCharMap_[i] = this.ENCODED_VALS.charAt(i);\r\n this.charToByteMap_[this.byteToCharMap_[i]] = i;\r\n this.byteToCharMapWebSafe_[i] = this.ENCODED_VALS_WEBSAFE.charAt(i);\r\n this.charToByteMapWebSafe_[this.byteToCharMapWebSafe_[i]] = i;\r\n // Be forgiving when decoding and correctly decode both encodings.\r\n if (i >= this.ENCODED_VALS_BASE.length) {\r\n this.charToByteMap_[this.ENCODED_VALS_WEBSAFE.charAt(i)] = i;\r\n this.charToByteMapWebSafe_[this.ENCODED_VALS.charAt(i)] = i;\r\n }\r\n }\r\n }\r\n }\r\n};\r\n/**\r\n * An error encountered while decoding base64 string.\r\n */\r\nclass DecodeBase64StringError extends Error {\r\n constructor() {\r\n super(...arguments);\r\n this.name = 'DecodeBase64StringError';\r\n }\r\n}\r\n/**\r\n * URL-safe base64 encoding\r\n */\r\nconst base64Encode = function (str) {\r\n const utf8Bytes = stringToByteArray$1(str);\r\n return base64.encodeByteArray(utf8Bytes, true);\r\n};\r\n/**\r\n * URL-safe base64 encoding (without \".\" padding in the end).\r\n * e.g. Used in JSON Web Token (JWT) parts.\r\n */\r\nconst base64urlEncodeWithoutPadding = function (str) {\r\n // Use base64url encoding and remove padding in the end (dot characters).\r\n return base64Encode(str).replace(/\\./g, '');\r\n};\r\n/**\r\n * URL-safe base64 decoding\r\n *\r\n * NOTE: DO NOT use the global atob() function - it does NOT support the\r\n * base64Url variant encoding.\r\n *\r\n * @param str To be decoded\r\n * @return Decoded result, if possible\r\n */\r\nconst base64Decode = function (str) {\r\n try {\r\n return base64.decodeString(str, true);\r\n }\r\n catch (e) {\r\n console.error('base64Decode failed: ', e);\r\n }\r\n return null;\r\n};\n\n/**\r\n * @license\r\n * Copyright 2017 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n/**\r\n * Do a deep-copy of basic JavaScript Objects or Arrays.\r\n */\r\nfunction deepCopy(value) {\r\n return deepExtend(undefined, value);\r\n}\r\n/**\r\n * Copy properties from source to target (recursively allows extension\r\n * of Objects and Arrays). Scalar values in the target are over-written.\r\n * If target is undefined, an object of the appropriate type will be created\r\n * (and returned).\r\n *\r\n * We recursively copy all child properties of plain Objects in the source- so\r\n * that namespace- like dictionaries are merged.\r\n *\r\n * Note that the target can be a function, in which case the properties in\r\n * the source Object are copied onto it as static properties of the Function.\r\n *\r\n * Note: we don't merge __proto__ to prevent prototype pollution\r\n */\r\nfunction deepExtend(target, source) {\r\n if (!(source instanceof Object)) {\r\n return source;\r\n }\r\n switch (source.constructor) {\r\n case Date:\r\n // Treat Dates like scalars; if the target date object had any child\r\n // properties - they will be lost!\r\n const dateValue = source;\r\n return new Date(dateValue.getTime());\r\n case Object:\r\n if (target === undefined) {\r\n target = {};\r\n }\r\n break;\r\n case Array:\r\n // Always copy the array source and overwrite the target.\r\n target = [];\r\n break;\r\n default:\r\n // Not a plain Object - treat it as a scalar.\r\n return source;\r\n }\r\n for (const prop in source) {\r\n // use isValidKey to guard against prototype pollution. See https://snyk.io/vuln/SNYK-JS-LODASH-450202\r\n if (!source.hasOwnProperty(prop) || !isValidKey(prop)) {\r\n continue;\r\n }\r\n target[prop] = deepExtend(target[prop], source[prop]);\r\n }\r\n return target;\r\n}\r\nfunction isValidKey(key) {\r\n return key !== '__proto__';\r\n}\n\n/**\r\n * @license\r\n * Copyright 2022 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n/**\r\n * Polyfill for `globalThis` object.\r\n * @returns the `globalThis` object for the given environment.\r\n * @public\r\n */\r\nfunction getGlobal() {\r\n if (typeof self !== 'undefined') {\r\n return self;\r\n }\r\n if (typeof window !== 'undefined') {\r\n return window;\r\n }\r\n if (typeof global !== 'undefined') {\r\n return global;\r\n }\r\n throw new Error('Unable to locate global object.');\r\n}\n\n/**\r\n * @license\r\n * Copyright 2022 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\nconst getDefaultsFromGlobal = () => getGlobal().__FIREBASE_DEFAULTS__;\r\n/**\r\n * Attempt to read defaults from a JSON string provided to\r\n * process(.)env(.)__FIREBASE_DEFAULTS__ or a JSON file whose path is in\r\n * process(.)env(.)__FIREBASE_DEFAULTS_PATH__\r\n * The dots are in parens because certain compilers (Vite?) cannot\r\n * handle seeing that variable in comments.\r\n * See https://github.com/firebase/firebase-js-sdk/issues/6838\r\n */\r\nconst getDefaultsFromEnvVariable = () => {\r\n if (typeof process === 'undefined' || typeof process.env === 'undefined') {\r\n return;\r\n }\r\n const defaultsJsonString = process.env.__FIREBASE_DEFAULTS__;\r\n if (defaultsJsonString) {\r\n return JSON.parse(defaultsJsonString);\r\n }\r\n};\r\nconst getDefaultsFromCookie = () => {\r\n if (typeof document === 'undefined') {\r\n return;\r\n }\r\n let match;\r\n try {\r\n match = document.cookie.match(/__FIREBASE_DEFAULTS__=([^;]+)/);\r\n }\r\n catch (e) {\r\n // Some environments such as Angular Universal SSR have a\r\n // `document` object but error on accessing `document.cookie`.\r\n return;\r\n }\r\n const decoded = match && base64Decode(match[1]);\r\n return decoded && JSON.parse(decoded);\r\n};\r\n/**\r\n * Get the __FIREBASE_DEFAULTS__ object. It checks in order:\r\n * (1) if such an object exists as a property of `globalThis`\r\n * (2) if such an object was provided on a shell environment variable\r\n * (3) if such an object exists in a cookie\r\n * @public\r\n */\r\nconst getDefaults = () => {\r\n try {\r\n return (getDefaultsFromGlobal() ||\r\n getDefaultsFromEnvVariable() ||\r\n getDefaultsFromCookie());\r\n }\r\n catch (e) {\r\n /**\r\n * Catch-all for being unable to get __FIREBASE_DEFAULTS__ due\r\n * to any environment case we have not accounted for. Log to\r\n * info instead of swallowing so we can find these unknown cases\r\n * and add paths for them if needed.\r\n */\r\n console.info(`Unable to get __FIREBASE_DEFAULTS__ due to: ${e}`);\r\n return;\r\n }\r\n};\r\n/**\r\n * Returns emulator host stored in the __FIREBASE_DEFAULTS__ object\r\n * for the given product.\r\n * @returns a URL host formatted like `127.0.0.1:9999` or `[::1]:4000` if available\r\n * @public\r\n */\r\nconst getDefaultEmulatorHost = (productName) => { var _a, _b; return (_b = (_a = getDefaults()) === null || _a === void 0 ? void 0 : _a.emulatorHosts) === null || _b === void 0 ? void 0 : _b[productName]; };\r\n/**\r\n * Returns emulator hostname and port stored in the __FIREBASE_DEFAULTS__ object\r\n * for the given product.\r\n * @returns a pair of hostname and port like `[\"::1\", 4000]` if available\r\n * @public\r\n */\r\nconst getDefaultEmulatorHostnameAndPort = (productName) => {\r\n const host = getDefaultEmulatorHost(productName);\r\n if (!host) {\r\n return undefined;\r\n }\r\n const separatorIndex = host.lastIndexOf(':'); // Finding the last since IPv6 addr also has colons.\r\n if (separatorIndex <= 0 || separatorIndex + 1 === host.length) {\r\n throw new Error(`Invalid host ${host} with no separate hostname and port!`);\r\n }\r\n // eslint-disable-next-line no-restricted-globals\r\n const port = parseInt(host.substring(separatorIndex + 1), 10);\r\n if (host[0] === '[') {\r\n // Bracket-quoted `[ipv6addr]:port` => return \"ipv6addr\" (without brackets).\r\n return [host.substring(1, separatorIndex - 1), port];\r\n }\r\n else {\r\n return [host.substring(0, separatorIndex), port];\r\n }\r\n};\r\n/**\r\n * Returns Firebase app config stored in the __FIREBASE_DEFAULTS__ object.\r\n * @public\r\n */\r\nconst getDefaultAppConfig = () => { var _a; return (_a = getDefaults()) === null || _a === void 0 ? void 0 : _a.config; };\r\n/**\r\n * Returns an experimental setting on the __FIREBASE_DEFAULTS__ object (properties\r\n * prefixed by \"_\")\r\n * @public\r\n */\r\nconst getExperimentalSetting = (name) => { var _a; return (_a = getDefaults()) === null || _a === void 0 ? void 0 : _a[`_${name}`]; };\n\n/**\r\n * @license\r\n * Copyright 2017 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\nclass Deferred {\r\n constructor() {\r\n this.reject = () => { };\r\n this.resolve = () => { };\r\n this.promise = new Promise((resolve, reject) => {\r\n this.resolve = resolve;\r\n this.reject = reject;\r\n });\r\n }\r\n /**\r\n * Our API internals are not promiseified and cannot because our callback APIs have subtle expectations around\r\n * invoking promises inline, which Promises are forbidden to do. This method accepts an optional node-style callback\r\n * and returns a node-style callback which will resolve or reject the Deferred's promise.\r\n */\r\n wrapCallback(callback) {\r\n return (error, value) => {\r\n if (error) {\r\n this.reject(error);\r\n }\r\n else {\r\n this.resolve(value);\r\n }\r\n if (typeof callback === 'function') {\r\n // Attaching noop handler just in case developer wasn't expecting\r\n // promises\r\n this.promise.catch(() => { });\r\n // Some of our callbacks don't expect a value and our own tests\r\n // assert that the parameter length is 1\r\n if (callback.length === 1) {\r\n callback(error);\r\n }\r\n else {\r\n callback(error, value);\r\n }\r\n }\r\n };\r\n }\r\n}\n\n/**\r\n * @license\r\n * Copyright 2021 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\nfunction createMockUserToken(token, projectId) {\r\n if (token.uid) {\r\n throw new Error('The \"uid\" field is no longer supported by mockUserToken. Please use \"sub\" instead for Firebase Auth User ID.');\r\n }\r\n // Unsecured JWTs use \"none\" as the algorithm.\r\n const header = {\r\n alg: 'none',\r\n type: 'JWT'\r\n };\r\n const project = projectId || 'demo-project';\r\n const iat = token.iat || 0;\r\n const sub = token.sub || token.user_id;\r\n if (!sub) {\r\n throw new Error(\"mockUserToken must contain 'sub' or 'user_id' field!\");\r\n }\r\n const payload = Object.assign({ \r\n // Set all required fields to decent defaults\r\n iss: `https://securetoken.google.com/${project}`, aud: project, iat, exp: iat + 3600, auth_time: iat, sub, user_id: sub, firebase: {\r\n sign_in_provider: 'custom',\r\n identities: {}\r\n } }, token);\r\n // Unsecured JWTs use the empty string as a signature.\r\n const signature = '';\r\n return [\r\n base64urlEncodeWithoutPadding(JSON.stringify(header)),\r\n base64urlEncodeWithoutPadding(JSON.stringify(payload)),\r\n signature\r\n ].join('.');\r\n}\n\n/**\r\n * @license\r\n * Copyright 2017 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n/**\r\n * Returns navigator.userAgent string or '' if it's not defined.\r\n * @return user agent string\r\n */\r\nfunction getUA() {\r\n if (typeof navigator !== 'undefined' &&\r\n typeof navigator['userAgent'] === 'string') {\r\n return navigator['userAgent'];\r\n }\r\n else {\r\n return '';\r\n }\r\n}\r\n/**\r\n * Detect Cordova / PhoneGap / Ionic frameworks on a mobile device.\r\n *\r\n * Deliberately does not rely on checking `file://` URLs (as this fails PhoneGap\r\n * in the Ripple emulator) nor Cordova `onDeviceReady`, which would normally\r\n * wait for a callback.\r\n */\r\nfunction isMobileCordova() {\r\n return (typeof window !== 'undefined' &&\r\n // @ts-ignore Setting up an broadly applicable index signature for Window\r\n // just to deal with this case would probably be a bad idea.\r\n !!(window['cordova'] || window['phonegap'] || window['PhoneGap']) &&\r\n /ios|iphone|ipod|ipad|android|blackberry|iemobile/i.test(getUA()));\r\n}\r\n/**\r\n * Detect Node.js.\r\n *\r\n * @return true if Node.js environment is detected or specified.\r\n */\r\n// Node detection logic from: https://github.com/iliakan/detect-node/\r\nfunction isNode() {\r\n var _a;\r\n const forceEnvironment = (_a = getDefaults()) === null || _a === void 0 ? void 0 : _a.forceEnvironment;\r\n if (forceEnvironment === 'node') {\r\n return true;\r\n }\r\n else if (forceEnvironment === 'browser') {\r\n return false;\r\n }\r\n try {\r\n return (Object.prototype.toString.call(global.process) === '[object process]');\r\n }\r\n catch (e) {\r\n return false;\r\n }\r\n}\r\n/**\r\n * Detect Browser Environment\r\n */\r\nfunction isBrowser() {\r\n return typeof window !== 'undefined' || isWebWorker();\r\n}\r\n/**\r\n * Detect Web Worker context\r\n */\r\nfunction isWebWorker() {\r\n return (typeof WorkerGlobalScope !== 'undefined' &&\r\n typeof self !== 'undefined' &&\r\n self instanceof WorkerGlobalScope);\r\n}\r\nfunction isBrowserExtension() {\r\n const runtime = typeof chrome === 'object'\r\n ? chrome.runtime\r\n : typeof browser === 'object'\r\n ? browser.runtime\r\n : undefined;\r\n return typeof runtime === 'object' && runtime.id !== undefined;\r\n}\r\n/**\r\n * Detect React Native.\r\n *\r\n * @return true if ReactNative environment is detected.\r\n */\r\nfunction isReactNative() {\r\n return (typeof navigator === 'object' && navigator['product'] === 'ReactNative');\r\n}\r\n/** Detects Electron apps. */\r\nfunction isElectron() {\r\n return getUA().indexOf('Electron/') >= 0;\r\n}\r\n/** Detects Internet Explorer. */\r\nfunction isIE() {\r\n const ua = getUA();\r\n return ua.indexOf('MSIE ') >= 0 || ua.indexOf('Trident/') >= 0;\r\n}\r\n/** Detects Universal Windows Platform apps. */\r\nfunction isUWP() {\r\n return getUA().indexOf('MSAppHost/') >= 0;\r\n}\r\n/**\r\n * Detect whether the current SDK build is the Node version.\r\n *\r\n * @return true if it's the Node SDK build.\r\n */\r\nfunction isNodeSdk() {\r\n return CONSTANTS.NODE_CLIENT === true || CONSTANTS.NODE_ADMIN === true;\r\n}\r\n/** Returns true if we are running in Safari. */\r\nfunction isSafari() {\r\n return (!isNode() &&\r\n !!navigator.userAgent &&\r\n navigator.userAgent.includes('Safari') &&\r\n !navigator.userAgent.includes('Chrome'));\r\n}\r\n/**\r\n * This method checks if indexedDB is supported by current browser/service worker context\r\n * @return true if indexedDB is supported by current browser/service worker context\r\n */\r\nfunction isIndexedDBAvailable() {\r\n try {\r\n return typeof indexedDB === 'object';\r\n }\r\n catch (e) {\r\n return false;\r\n }\r\n}\r\n/**\r\n * This method validates browser/sw context for indexedDB by opening a dummy indexedDB database and reject\r\n * if errors occur during the database open operation.\r\n *\r\n * @throws exception if current browser/sw context can't run idb.open (ex: Safari iframe, Firefox\r\n * private browsing)\r\n */\r\nfunction validateIndexedDBOpenable() {\r\n return new Promise((resolve, reject) => {\r\n try {\r\n let preExist = true;\r\n const DB_CHECK_NAME = 'validate-browser-context-for-indexeddb-analytics-module';\r\n const request = self.indexedDB.open(DB_CHECK_NAME);\r\n request.onsuccess = () => {\r\n request.result.close();\r\n // delete database only when it doesn't pre-exist\r\n if (!preExist) {\r\n self.indexedDB.deleteDatabase(DB_CHECK_NAME);\r\n }\r\n resolve(true);\r\n };\r\n request.onupgradeneeded = () => {\r\n preExist = false;\r\n };\r\n request.onerror = () => {\r\n var _a;\r\n reject(((_a = request.error) === null || _a === void 0 ? void 0 : _a.message) || '');\r\n };\r\n }\r\n catch (error) {\r\n reject(error);\r\n }\r\n });\r\n}\r\n/**\r\n *\r\n * This method checks whether cookie is enabled within current browser\r\n * @return true if cookie is enabled within current browser\r\n */\r\nfunction areCookiesEnabled() {\r\n if (typeof navigator === 'undefined' || !navigator.cookieEnabled) {\r\n return false;\r\n }\r\n return true;\r\n}\n\n/**\r\n * @license\r\n * Copyright 2017 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n/**\r\n * @fileoverview Standardized Firebase Error.\r\n *\r\n * Usage:\r\n *\r\n * // Typescript string literals for type-safe codes\r\n * type Err =\r\n * 'unknown' |\r\n * 'object-not-found'\r\n * ;\r\n *\r\n * // Closure enum for type-safe error codes\r\n * // at-enum {string}\r\n * var Err = {\r\n * UNKNOWN: 'unknown',\r\n * OBJECT_NOT_FOUND: 'object-not-found',\r\n * }\r\n *\r\n * let errors: Map = {\r\n * 'generic-error': \"Unknown error\",\r\n * 'file-not-found': \"Could not find file: {$file}\",\r\n * };\r\n *\r\n * // Type-safe function - must pass a valid error code as param.\r\n * let error = new ErrorFactory('service', 'Service', errors);\r\n *\r\n * ...\r\n * throw error.create(Err.GENERIC);\r\n * ...\r\n * throw error.create(Err.FILE_NOT_FOUND, {'file': fileName});\r\n * ...\r\n * // Service: Could not file file: foo.txt (service/file-not-found).\r\n *\r\n * catch (e) {\r\n * assert(e.message === \"Could not find file: foo.txt.\");\r\n * if ((e as FirebaseError)?.code === 'service/file-not-found') {\r\n * console.log(\"Could not read file: \" + e['file']);\r\n * }\r\n * }\r\n */\r\nconst ERROR_NAME = 'FirebaseError';\r\n// Based on code from:\r\n// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Error#Custom_Error_Types\r\nclass FirebaseError extends Error {\r\n constructor(\r\n /** The error code for this error. */\r\n code, message, \r\n /** Custom data for this error. */\r\n customData) {\r\n super(message);\r\n this.code = code;\r\n this.customData = customData;\r\n /** The custom name for all FirebaseErrors. */\r\n this.name = ERROR_NAME;\r\n // Fix For ES5\r\n // https://github.com/Microsoft/TypeScript-wiki/blob/master/Breaking-Changes.md#extending-built-ins-like-error-array-and-map-may-no-longer-work\r\n Object.setPrototypeOf(this, FirebaseError.prototype);\r\n // Maintains proper stack trace for where our error was thrown.\r\n // Only available on V8.\r\n if (Error.captureStackTrace) {\r\n Error.captureStackTrace(this, ErrorFactory.prototype.create);\r\n }\r\n }\r\n}\r\nclass ErrorFactory {\r\n constructor(service, serviceName, errors) {\r\n this.service = service;\r\n this.serviceName = serviceName;\r\n this.errors = errors;\r\n }\r\n create(code, ...data) {\r\n const customData = data[0] || {};\r\n const fullCode = `${this.service}/${code}`;\r\n const template = this.errors[code];\r\n const message = template ? replaceTemplate(template, customData) : 'Error';\r\n // Service Name: Error message (service/code).\r\n const fullMessage = `${this.serviceName}: ${message} (${fullCode}).`;\r\n const error = new FirebaseError(fullCode, fullMessage, customData);\r\n return error;\r\n }\r\n}\r\nfunction replaceTemplate(template, data) {\r\n return template.replace(PATTERN, (_, key) => {\r\n const value = data[key];\r\n return value != null ? String(value) : `<${key}?>`;\r\n });\r\n}\r\nconst PATTERN = /\\{\\$([^}]+)}/g;\n\n/**\r\n * @license\r\n * Copyright 2017 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n/**\r\n * Evaluates a JSON string into a javascript object.\r\n *\r\n * @param {string} str A string containing JSON.\r\n * @return {*} The javascript object representing the specified JSON.\r\n */\r\nfunction jsonEval(str) {\r\n return JSON.parse(str);\r\n}\r\n/**\r\n * Returns JSON representing a javascript object.\r\n * @param {*} data Javascript object to be stringified.\r\n * @return {string} The JSON contents of the object.\r\n */\r\nfunction stringify(data) {\r\n return JSON.stringify(data);\r\n}\n\n/**\r\n * @license\r\n * Copyright 2017 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n/**\r\n * Decodes a Firebase auth. token into constituent parts.\r\n *\r\n * Notes:\r\n * - May return with invalid / incomplete claims if there's no native base64 decoding support.\r\n * - Doesn't check if the token is actually valid.\r\n */\r\nconst decode = function (token) {\r\n let header = {}, claims = {}, data = {}, signature = '';\r\n try {\r\n const parts = token.split('.');\r\n header = jsonEval(base64Decode(parts[0]) || '');\r\n claims = jsonEval(base64Decode(parts[1]) || '');\r\n signature = parts[2];\r\n data = claims['d'] || {};\r\n delete claims['d'];\r\n }\r\n catch (e) { }\r\n return {\r\n header,\r\n claims,\r\n data,\r\n signature\r\n };\r\n};\r\n/**\r\n * Decodes a Firebase auth. token and checks the validity of its time-based claims. Will return true if the\r\n * token is within the time window authorized by the 'nbf' (not-before) and 'iat' (issued-at) claims.\r\n *\r\n * Notes:\r\n * - May return a false negative if there's no native base64 decoding support.\r\n * - Doesn't check if the token is actually valid.\r\n */\r\nconst isValidTimestamp = function (token) {\r\n const claims = decode(token).claims;\r\n const now = Math.floor(new Date().getTime() / 1000);\r\n let validSince = 0, validUntil = 0;\r\n if (typeof claims === 'object') {\r\n if (claims.hasOwnProperty('nbf')) {\r\n validSince = claims['nbf'];\r\n }\r\n else if (claims.hasOwnProperty('iat')) {\r\n validSince = claims['iat'];\r\n }\r\n if (claims.hasOwnProperty('exp')) {\r\n validUntil = claims['exp'];\r\n }\r\n else {\r\n // token will expire after 24h by default\r\n validUntil = validSince + 86400;\r\n }\r\n }\r\n return (!!now &&\r\n !!validSince &&\r\n !!validUntil &&\r\n now >= validSince &&\r\n now <= validUntil);\r\n};\r\n/**\r\n * Decodes a Firebase auth. token and returns its issued at time if valid, null otherwise.\r\n *\r\n * Notes:\r\n * - May return null if there's no native base64 decoding support.\r\n * - Doesn't check if the token is actually valid.\r\n */\r\nconst issuedAtTime = function (token) {\r\n const claims = decode(token).claims;\r\n if (typeof claims === 'object' && claims.hasOwnProperty('iat')) {\r\n return claims['iat'];\r\n }\r\n return null;\r\n};\r\n/**\r\n * Decodes a Firebase auth. token and checks the validity of its format. Expects a valid issued-at time.\r\n *\r\n * Notes:\r\n * - May return a false negative if there's no native base64 decoding support.\r\n * - Doesn't check if the token is actually valid.\r\n */\r\nconst isValidFormat = function (token) {\r\n const decoded = decode(token), claims = decoded.claims;\r\n return !!claims && typeof claims === 'object' && claims.hasOwnProperty('iat');\r\n};\r\n/**\r\n * Attempts to peer into an auth token and determine if it's an admin auth token by looking at the claims portion.\r\n *\r\n * Notes:\r\n * - May return a false negative if there's no native base64 decoding support.\r\n * - Doesn't check if the token is actually valid.\r\n */\r\nconst isAdmin = function (token) {\r\n const claims = decode(token).claims;\r\n return typeof claims === 'object' && claims['admin'] === true;\r\n};\n\n/**\r\n * @license\r\n * Copyright 2017 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\nfunction contains(obj, key) {\r\n return Object.prototype.hasOwnProperty.call(obj, key);\r\n}\r\nfunction safeGet(obj, key) {\r\n if (Object.prototype.hasOwnProperty.call(obj, key)) {\r\n return obj[key];\r\n }\r\n else {\r\n return undefined;\r\n }\r\n}\r\nfunction isEmpty(obj) {\r\n for (const key in obj) {\r\n if (Object.prototype.hasOwnProperty.call(obj, key)) {\r\n return false;\r\n }\r\n }\r\n return true;\r\n}\r\nfunction map(obj, fn, contextObj) {\r\n const res = {};\r\n for (const key in obj) {\r\n if (Object.prototype.hasOwnProperty.call(obj, key)) {\r\n res[key] = fn.call(contextObj, obj[key], key, obj);\r\n }\r\n }\r\n return res;\r\n}\r\n/**\r\n * Deep equal two objects. Support Arrays and Objects.\r\n */\r\nfunction deepEqual(a, b) {\r\n if (a === b) {\r\n return true;\r\n }\r\n const aKeys = Object.keys(a);\r\n const bKeys = Object.keys(b);\r\n for (const k of aKeys) {\r\n if (!bKeys.includes(k)) {\r\n return false;\r\n }\r\n const aProp = a[k];\r\n const bProp = b[k];\r\n if (isObject(aProp) && isObject(bProp)) {\r\n if (!deepEqual(aProp, bProp)) {\r\n return false;\r\n }\r\n }\r\n else if (aProp !== bProp) {\r\n return false;\r\n }\r\n }\r\n for (const k of bKeys) {\r\n if (!aKeys.includes(k)) {\r\n return false;\r\n }\r\n }\r\n return true;\r\n}\r\nfunction isObject(thing) {\r\n return thing !== null && typeof thing === 'object';\r\n}\n\n/**\r\n * @license\r\n * Copyright 2022 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n/**\r\n * Rejects if the given promise doesn't resolve in timeInMS milliseconds.\r\n * @internal\r\n */\r\nfunction promiseWithTimeout(promise, timeInMS = 2000) {\r\n const deferredPromise = new Deferred();\r\n setTimeout(() => deferredPromise.reject('timeout!'), timeInMS);\r\n promise.then(deferredPromise.resolve, deferredPromise.reject);\r\n return deferredPromise.promise;\r\n}\n\n/**\r\n * @license\r\n * Copyright 2017 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n/**\r\n * Returns a querystring-formatted string (e.g. &arg=val&arg2=val2) from a\r\n * params object (e.g. {arg: 'val', arg2: 'val2'})\r\n * Note: You must prepend it with ? when adding it to a URL.\r\n */\r\nfunction querystring(querystringParams) {\r\n const params = [];\r\n for (const [key, value] of Object.entries(querystringParams)) {\r\n if (Array.isArray(value)) {\r\n value.forEach(arrayVal => {\r\n params.push(encodeURIComponent(key) + '=' + encodeURIComponent(arrayVal));\r\n });\r\n }\r\n else {\r\n params.push(encodeURIComponent(key) + '=' + encodeURIComponent(value));\r\n }\r\n }\r\n return params.length ? '&' + params.join('&') : '';\r\n}\r\n/**\r\n * Decodes a querystring (e.g. ?arg=val&arg2=val2) into a params object\r\n * (e.g. {arg: 'val', arg2: 'val2'})\r\n */\r\nfunction querystringDecode(querystring) {\r\n const obj = {};\r\n const tokens = querystring.replace(/^\\?/, '').split('&');\r\n tokens.forEach(token => {\r\n if (token) {\r\n const [key, value] = token.split('=');\r\n obj[decodeURIComponent(key)] = decodeURIComponent(value);\r\n }\r\n });\r\n return obj;\r\n}\r\n/**\r\n * Extract the query string part of a URL, including the leading question mark (if present).\r\n */\r\nfunction extractQuerystring(url) {\r\n const queryStart = url.indexOf('?');\r\n if (!queryStart) {\r\n return '';\r\n }\r\n const fragmentStart = url.indexOf('#', queryStart);\r\n return url.substring(queryStart, fragmentStart > 0 ? fragmentStart : undefined);\r\n}\n\n/**\r\n * @license\r\n * Copyright 2017 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n/**\r\n * @fileoverview SHA-1 cryptographic hash.\r\n * Variable names follow the notation in FIPS PUB 180-3:\r\n * http://csrc.nist.gov/publications/fips/fips180-3/fips180-3_final.pdf.\r\n *\r\n * Usage:\r\n * var sha1 = new sha1();\r\n * sha1.update(bytes);\r\n * var hash = sha1.digest();\r\n *\r\n * Performance:\r\n * Chrome 23: ~400 Mbit/s\r\n * Firefox 16: ~250 Mbit/s\r\n *\r\n */\r\n/**\r\n * SHA-1 cryptographic hash constructor.\r\n *\r\n * The properties declared here are discussed in the above algorithm document.\r\n * @constructor\r\n * @final\r\n * @struct\r\n */\r\nclass Sha1 {\r\n constructor() {\r\n /**\r\n * Holds the previous values of accumulated variables a-e in the compress_\r\n * function.\r\n * @private\r\n */\r\n this.chain_ = [];\r\n /**\r\n * A buffer holding the partially computed hash result.\r\n * @private\r\n */\r\n this.buf_ = [];\r\n /**\r\n * An array of 80 bytes, each a part of the message to be hashed. Referred to\r\n * as the message schedule in the docs.\r\n * @private\r\n */\r\n this.W_ = [];\r\n /**\r\n * Contains data needed to pad messages less than 64 bytes.\r\n * @private\r\n */\r\n this.pad_ = [];\r\n /**\r\n * @private {number}\r\n */\r\n this.inbuf_ = 0;\r\n /**\r\n * @private {number}\r\n */\r\n this.total_ = 0;\r\n this.blockSize = 512 / 8;\r\n this.pad_[0] = 128;\r\n for (let i = 1; i < this.blockSize; ++i) {\r\n this.pad_[i] = 0;\r\n }\r\n this.reset();\r\n }\r\n reset() {\r\n this.chain_[0] = 0x67452301;\r\n this.chain_[1] = 0xefcdab89;\r\n this.chain_[2] = 0x98badcfe;\r\n this.chain_[3] = 0x10325476;\r\n this.chain_[4] = 0xc3d2e1f0;\r\n this.inbuf_ = 0;\r\n this.total_ = 0;\r\n }\r\n /**\r\n * Internal compress helper function.\r\n * @param buf Block to compress.\r\n * @param offset Offset of the block in the buffer.\r\n * @private\r\n */\r\n compress_(buf, offset) {\r\n if (!offset) {\r\n offset = 0;\r\n }\r\n const W = this.W_;\r\n // get 16 big endian words\r\n if (typeof buf === 'string') {\r\n for (let i = 0; i < 16; i++) {\r\n // TODO(user): [bug 8140122] Recent versions of Safari for Mac OS and iOS\r\n // have a bug that turns the post-increment ++ operator into pre-increment\r\n // during JIT compilation. We have code that depends heavily on SHA-1 for\r\n // correctness and which is affected by this bug, so I've removed all uses\r\n // of post-increment ++ in which the result value is used. We can revert\r\n // this change once the Safari bug\r\n // (https://bugs.webkit.org/show_bug.cgi?id=109036) has been fixed and\r\n // most clients have been updated.\r\n W[i] =\r\n (buf.charCodeAt(offset) << 24) |\r\n (buf.charCodeAt(offset + 1) << 16) |\r\n (buf.charCodeAt(offset + 2) << 8) |\r\n buf.charCodeAt(offset + 3);\r\n offset += 4;\r\n }\r\n }\r\n else {\r\n for (let i = 0; i < 16; i++) {\r\n W[i] =\r\n (buf[offset] << 24) |\r\n (buf[offset + 1] << 16) |\r\n (buf[offset + 2] << 8) |\r\n buf[offset + 3];\r\n offset += 4;\r\n }\r\n }\r\n // expand to 80 words\r\n for (let i = 16; i < 80; i++) {\r\n const t = W[i - 3] ^ W[i - 8] ^ W[i - 14] ^ W[i - 16];\r\n W[i] = ((t << 1) | (t >>> 31)) & 0xffffffff;\r\n }\r\n let a = this.chain_[0];\r\n let b = this.chain_[1];\r\n let c = this.chain_[2];\r\n let d = this.chain_[3];\r\n let e = this.chain_[4];\r\n let f, k;\r\n // TODO(user): Try to unroll this loop to speed up the computation.\r\n for (let i = 0; i < 80; i++) {\r\n if (i < 40) {\r\n if (i < 20) {\r\n f = d ^ (b & (c ^ d));\r\n k = 0x5a827999;\r\n }\r\n else {\r\n f = b ^ c ^ d;\r\n k = 0x6ed9eba1;\r\n }\r\n }\r\n else {\r\n if (i < 60) {\r\n f = (b & c) | (d & (b | c));\r\n k = 0x8f1bbcdc;\r\n }\r\n else {\r\n f = b ^ c ^ d;\r\n k = 0xca62c1d6;\r\n }\r\n }\r\n const t = (((a << 5) | (a >>> 27)) + f + e + k + W[i]) & 0xffffffff;\r\n e = d;\r\n d = c;\r\n c = ((b << 30) | (b >>> 2)) & 0xffffffff;\r\n b = a;\r\n a = t;\r\n }\r\n this.chain_[0] = (this.chain_[0] + a) & 0xffffffff;\r\n this.chain_[1] = (this.chain_[1] + b) & 0xffffffff;\r\n this.chain_[2] = (this.chain_[2] + c) & 0xffffffff;\r\n this.chain_[3] = (this.chain_[3] + d) & 0xffffffff;\r\n this.chain_[4] = (this.chain_[4] + e) & 0xffffffff;\r\n }\r\n update(bytes, length) {\r\n // TODO(johnlenz): tighten the function signature and remove this check\r\n if (bytes == null) {\r\n return;\r\n }\r\n if (length === undefined) {\r\n length = bytes.length;\r\n }\r\n const lengthMinusBlock = length - this.blockSize;\r\n let n = 0;\r\n // Using local instead of member variables gives ~5% speedup on Firefox 16.\r\n const buf = this.buf_;\r\n let inbuf = this.inbuf_;\r\n // The outer while loop should execute at most twice.\r\n while (n < length) {\r\n // When we have no data in the block to top up, we can directly process the\r\n // input buffer (assuming it contains sufficient data). This gives ~25%\r\n // speedup on Chrome 23 and ~15% speedup on Firefox 16, but requires that\r\n // the data is provided in large chunks (or in multiples of 64 bytes).\r\n if (inbuf === 0) {\r\n while (n <= lengthMinusBlock) {\r\n this.compress_(bytes, n);\r\n n += this.blockSize;\r\n }\r\n }\r\n if (typeof bytes === 'string') {\r\n while (n < length) {\r\n buf[inbuf] = bytes.charCodeAt(n);\r\n ++inbuf;\r\n ++n;\r\n if (inbuf === this.blockSize) {\r\n this.compress_(buf);\r\n inbuf = 0;\r\n // Jump to the outer loop so we use the full-block optimization.\r\n break;\r\n }\r\n }\r\n }\r\n else {\r\n while (n < length) {\r\n buf[inbuf] = bytes[n];\r\n ++inbuf;\r\n ++n;\r\n if (inbuf === this.blockSize) {\r\n this.compress_(buf);\r\n inbuf = 0;\r\n // Jump to the outer loop so we use the full-block optimization.\r\n break;\r\n }\r\n }\r\n }\r\n }\r\n this.inbuf_ = inbuf;\r\n this.total_ += length;\r\n }\r\n /** @override */\r\n digest() {\r\n const digest = [];\r\n let totalBits = this.total_ * 8;\r\n // Add pad 0x80 0x00*.\r\n if (this.inbuf_ < 56) {\r\n this.update(this.pad_, 56 - this.inbuf_);\r\n }\r\n else {\r\n this.update(this.pad_, this.blockSize - (this.inbuf_ - 56));\r\n }\r\n // Add # bits.\r\n for (let i = this.blockSize - 1; i >= 56; i--) {\r\n this.buf_[i] = totalBits & 255;\r\n totalBits /= 256; // Don't use bit-shifting here!\r\n }\r\n this.compress_(this.buf_);\r\n let n = 0;\r\n for (let i = 0; i < 5; i++) {\r\n for (let j = 24; j >= 0; j -= 8) {\r\n digest[n] = (this.chain_[i] >> j) & 255;\r\n ++n;\r\n }\r\n }\r\n return digest;\r\n }\r\n}\n\n/**\r\n * Helper to make a Subscribe function (just like Promise helps make a\r\n * Thenable).\r\n *\r\n * @param executor Function which can make calls to a single Observer\r\n * as a proxy.\r\n * @param onNoObservers Callback when count of Observers goes to zero.\r\n */\r\nfunction createSubscribe(executor, onNoObservers) {\r\n const proxy = new ObserverProxy(executor, onNoObservers);\r\n return proxy.subscribe.bind(proxy);\r\n}\r\n/**\r\n * Implement fan-out for any number of Observers attached via a subscribe\r\n * function.\r\n */\r\nclass ObserverProxy {\r\n /**\r\n * @param executor Function which can make calls to a single Observer\r\n * as a proxy.\r\n * @param onNoObservers Callback when count of Observers goes to zero.\r\n */\r\n constructor(executor, onNoObservers) {\r\n this.observers = [];\r\n this.unsubscribes = [];\r\n this.observerCount = 0;\r\n // Micro-task scheduling by calling task.then().\r\n this.task = Promise.resolve();\r\n this.finalized = false;\r\n this.onNoObservers = onNoObservers;\r\n // Call the executor asynchronously so subscribers that are called\r\n // synchronously after the creation of the subscribe function\r\n // can still receive the very first value generated in the executor.\r\n this.task\r\n .then(() => {\r\n executor(this);\r\n })\r\n .catch(e => {\r\n this.error(e);\r\n });\r\n }\r\n next(value) {\r\n this.forEachObserver((observer) => {\r\n observer.next(value);\r\n });\r\n }\r\n error(error) {\r\n this.forEachObserver((observer) => {\r\n observer.error(error);\r\n });\r\n this.close(error);\r\n }\r\n complete() {\r\n this.forEachObserver((observer) => {\r\n observer.complete();\r\n });\r\n this.close();\r\n }\r\n /**\r\n * Subscribe function that can be used to add an Observer to the fan-out list.\r\n *\r\n * - We require that no event is sent to a subscriber sychronously to their\r\n * call to subscribe().\r\n */\r\n subscribe(nextOrObserver, error, complete) {\r\n let observer;\r\n if (nextOrObserver === undefined &&\r\n error === undefined &&\r\n complete === undefined) {\r\n throw new Error('Missing Observer.');\r\n }\r\n // Assemble an Observer object when passed as callback functions.\r\n if (implementsAnyMethods(nextOrObserver, [\r\n 'next',\r\n 'error',\r\n 'complete'\r\n ])) {\r\n observer = nextOrObserver;\r\n }\r\n else {\r\n observer = {\r\n next: nextOrObserver,\r\n error,\r\n complete\r\n };\r\n }\r\n if (observer.next === undefined) {\r\n observer.next = noop;\r\n }\r\n if (observer.error === undefined) {\r\n observer.error = noop;\r\n }\r\n if (observer.complete === undefined) {\r\n observer.complete = noop;\r\n }\r\n const unsub = this.unsubscribeOne.bind(this, this.observers.length);\r\n // Attempt to subscribe to a terminated Observable - we\r\n // just respond to the Observer with the final error or complete\r\n // event.\r\n if (this.finalized) {\r\n // eslint-disable-next-line @typescript-eslint/no-floating-promises\r\n this.task.then(() => {\r\n try {\r\n if (this.finalError) {\r\n observer.error(this.finalError);\r\n }\r\n else {\r\n observer.complete();\r\n }\r\n }\r\n catch (e) {\r\n // nothing\r\n }\r\n return;\r\n });\r\n }\r\n this.observers.push(observer);\r\n return unsub;\r\n }\r\n // Unsubscribe is synchronous - we guarantee that no events are sent to\r\n // any unsubscribed Observer.\r\n unsubscribeOne(i) {\r\n if (this.observers === undefined || this.observers[i] === undefined) {\r\n return;\r\n }\r\n delete this.observers[i];\r\n this.observerCount -= 1;\r\n if (this.observerCount === 0 && this.onNoObservers !== undefined) {\r\n this.onNoObservers(this);\r\n }\r\n }\r\n forEachObserver(fn) {\r\n if (this.finalized) {\r\n // Already closed by previous event....just eat the additional values.\r\n return;\r\n }\r\n // Since sendOne calls asynchronously - there is no chance that\r\n // this.observers will become undefined.\r\n for (let i = 0; i < this.observers.length; i++) {\r\n this.sendOne(i, fn);\r\n }\r\n }\r\n // Call the Observer via one of it's callback function. We are careful to\r\n // confirm that the observe has not been unsubscribed since this asynchronous\r\n // function had been queued.\r\n sendOne(i, fn) {\r\n // Execute the callback asynchronously\r\n // eslint-disable-next-line @typescript-eslint/no-floating-promises\r\n this.task.then(() => {\r\n if (this.observers !== undefined && this.observers[i] !== undefined) {\r\n try {\r\n fn(this.observers[i]);\r\n }\r\n catch (e) {\r\n // Ignore exceptions raised in Observers or missing methods of an\r\n // Observer.\r\n // Log error to console. b/31404806\r\n if (typeof console !== 'undefined' && console.error) {\r\n console.error(e);\r\n }\r\n }\r\n }\r\n });\r\n }\r\n close(err) {\r\n if (this.finalized) {\r\n return;\r\n }\r\n this.finalized = true;\r\n if (err !== undefined) {\r\n this.finalError = err;\r\n }\r\n // Proxy is no longer needed - garbage collect references\r\n // eslint-disable-next-line @typescript-eslint/no-floating-promises\r\n this.task.then(() => {\r\n this.observers = undefined;\r\n this.onNoObservers = undefined;\r\n });\r\n }\r\n}\r\n/** Turn synchronous function into one called asynchronously. */\r\n// eslint-disable-next-line @typescript-eslint/ban-types\r\nfunction async(fn, onError) {\r\n return (...args) => {\r\n Promise.resolve(true)\r\n .then(() => {\r\n fn(...args);\r\n })\r\n .catch((error) => {\r\n if (onError) {\r\n onError(error);\r\n }\r\n });\r\n };\r\n}\r\n/**\r\n * Return true if the object passed in implements any of the named methods.\r\n */\r\nfunction implementsAnyMethods(obj, methods) {\r\n if (typeof obj !== 'object' || obj === null) {\r\n return false;\r\n }\r\n for (const method of methods) {\r\n if (method in obj && typeof obj[method] === 'function') {\r\n return true;\r\n }\r\n }\r\n return false;\r\n}\r\nfunction noop() {\r\n // do nothing\r\n}\n\n/**\r\n * @license\r\n * Copyright 2017 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n/**\r\n * Check to make sure the appropriate number of arguments are provided for a public function.\r\n * Throws an error if it fails.\r\n *\r\n * @param fnName The function name\r\n * @param minCount The minimum number of arguments to allow for the function call\r\n * @param maxCount The maximum number of argument to allow for the function call\r\n * @param argCount The actual number of arguments provided.\r\n */\r\nconst validateArgCount = function (fnName, minCount, maxCount, argCount) {\r\n let argError;\r\n if (argCount < minCount) {\r\n argError = 'at least ' + minCount;\r\n }\r\n else if (argCount > maxCount) {\r\n argError = maxCount === 0 ? 'none' : 'no more than ' + maxCount;\r\n }\r\n if (argError) {\r\n const error = fnName +\r\n ' failed: Was called with ' +\r\n argCount +\r\n (argCount === 1 ? ' argument.' : ' arguments.') +\r\n ' Expects ' +\r\n argError +\r\n '.';\r\n throw new Error(error);\r\n }\r\n};\r\n/**\r\n * Generates a string to prefix an error message about failed argument validation\r\n *\r\n * @param fnName The function name\r\n * @param argName The name of the argument\r\n * @return The prefix to add to the error thrown for validation.\r\n */\r\nfunction errorPrefix(fnName, argName) {\r\n return `${fnName} failed: ${argName} argument `;\r\n}\r\n/**\r\n * @param fnName\r\n * @param argumentNumber\r\n * @param namespace\r\n * @param optional\r\n */\r\nfunction validateNamespace(fnName, namespace, optional) {\r\n if (optional && !namespace) {\r\n return;\r\n }\r\n if (typeof namespace !== 'string') {\r\n //TODO: I should do more validation here. We only allow certain chars in namespaces.\r\n throw new Error(errorPrefix(fnName, 'namespace') + 'must be a valid firebase namespace.');\r\n }\r\n}\r\nfunction validateCallback(fnName, argumentName, \r\n// eslint-disable-next-line @typescript-eslint/ban-types\r\ncallback, optional) {\r\n if (optional && !callback) {\r\n return;\r\n }\r\n if (typeof callback !== 'function') {\r\n throw new Error(errorPrefix(fnName, argumentName) + 'must be a valid function.');\r\n }\r\n}\r\nfunction validateContextObject(fnName, argumentName, context, optional) {\r\n if (optional && !context) {\r\n return;\r\n }\r\n if (typeof context !== 'object' || context === null) {\r\n throw new Error(errorPrefix(fnName, argumentName) + 'must be a valid context object.');\r\n }\r\n}\n\n/**\r\n * @license\r\n * Copyright 2017 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n// Code originally came from goog.crypt.stringToUtf8ByteArray, but for some reason they\r\n// automatically replaced '\\r\\n' with '\\n', and they didn't handle surrogate pairs,\r\n// so it's been modified.\r\n// Note that not all Unicode characters appear as single characters in JavaScript strings.\r\n// fromCharCode returns the UTF-16 encoding of a character - so some Unicode characters\r\n// use 2 characters in Javascript. All 4-byte UTF-8 characters begin with a first\r\n// character in the range 0xD800 - 0xDBFF (the first character of a so-called surrogate\r\n// pair).\r\n// See http://www.ecma-international.org/ecma-262/5.1/#sec-15.1.3\r\n/**\r\n * @param {string} str\r\n * @return {Array}\r\n */\r\nconst stringToByteArray = function (str) {\r\n const out = [];\r\n let p = 0;\r\n for (let i = 0; i < str.length; i++) {\r\n let c = str.charCodeAt(i);\r\n // Is this the lead surrogate in a surrogate pair?\r\n if (c >= 0xd800 && c <= 0xdbff) {\r\n const high = c - 0xd800; // the high 10 bits.\r\n i++;\r\n assert(i < str.length, 'Surrogate pair missing trail surrogate.');\r\n const low = str.charCodeAt(i) - 0xdc00; // the low 10 bits.\r\n c = 0x10000 + (high << 10) + low;\r\n }\r\n if (c < 128) {\r\n out[p++] = c;\r\n }\r\n else if (c < 2048) {\r\n out[p++] = (c >> 6) | 192;\r\n out[p++] = (c & 63) | 128;\r\n }\r\n else if (c < 65536) {\r\n out[p++] = (c >> 12) | 224;\r\n out[p++] = ((c >> 6) & 63) | 128;\r\n out[p++] = (c & 63) | 128;\r\n }\r\n else {\r\n out[p++] = (c >> 18) | 240;\r\n out[p++] = ((c >> 12) & 63) | 128;\r\n out[p++] = ((c >> 6) & 63) | 128;\r\n out[p++] = (c & 63) | 128;\r\n }\r\n }\r\n return out;\r\n};\r\n/**\r\n * Calculate length without actually converting; useful for doing cheaper validation.\r\n * @param {string} str\r\n * @return {number}\r\n */\r\nconst stringLength = function (str) {\r\n let p = 0;\r\n for (let i = 0; i < str.length; i++) {\r\n const c = str.charCodeAt(i);\r\n if (c < 128) {\r\n p++;\r\n }\r\n else if (c < 2048) {\r\n p += 2;\r\n }\r\n else if (c >= 0xd800 && c <= 0xdbff) {\r\n // Lead surrogate of a surrogate pair. The pair together will take 4 bytes to represent.\r\n p += 4;\r\n i++; // skip trail surrogate.\r\n }\r\n else {\r\n p += 3;\r\n }\r\n }\r\n return p;\r\n};\n\n/**\r\n * @license\r\n * Copyright 2022 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n/**\r\n * Copied from https://stackoverflow.com/a/2117523\r\n * Generates a new uuid.\r\n * @public\r\n */\r\nconst uuidv4 = function () {\r\n return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, c => {\r\n const r = (Math.random() * 16) | 0, v = c === 'x' ? r : (r & 0x3) | 0x8;\r\n return v.toString(16);\r\n });\r\n};\n\n/**\r\n * @license\r\n * Copyright 2019 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n/**\r\n * The amount of milliseconds to exponentially increase.\r\n */\r\nconst DEFAULT_INTERVAL_MILLIS = 1000;\r\n/**\r\n * The factor to backoff by.\r\n * Should be a number greater than 1.\r\n */\r\nconst DEFAULT_BACKOFF_FACTOR = 2;\r\n/**\r\n * The maximum milliseconds to increase to.\r\n *\r\n *

Visible for testing\r\n */\r\nconst MAX_VALUE_MILLIS = 4 * 60 * 60 * 1000; // Four hours, like iOS and Android.\r\n/**\r\n * The percentage of backoff time to randomize by.\r\n * See\r\n * http://go/safe-client-behavior#step-1-determine-the-appropriate-retry-interval-to-handle-spike-traffic\r\n * for context.\r\n *\r\n *

Visible for testing\r\n */\r\nconst RANDOM_FACTOR = 0.5;\r\n/**\r\n * Based on the backoff method from\r\n * https://github.com/google/closure-library/blob/master/closure/goog/math/exponentialbackoff.js.\r\n * Extracted here so we don't need to pass metadata and a stateful ExponentialBackoff object around.\r\n */\r\nfunction calculateBackoffMillis(backoffCount, intervalMillis = DEFAULT_INTERVAL_MILLIS, backoffFactor = DEFAULT_BACKOFF_FACTOR) {\r\n // Calculates an exponentially increasing value.\r\n // Deviation: calculates value from count and a constant interval, so we only need to save value\r\n // and count to restore state.\r\n const currBaseValue = intervalMillis * Math.pow(backoffFactor, backoffCount);\r\n // A random \"fuzz\" to avoid waves of retries.\r\n // Deviation: randomFactor is required.\r\n const randomWait = Math.round(\r\n // A fraction of the backoff value to add/subtract.\r\n // Deviation: changes multiplication order to improve readability.\r\n RANDOM_FACTOR *\r\n currBaseValue *\r\n // A random float (rounded to int by Math.round above) in the range [-1, 1]. Determines\r\n // if we add or subtract.\r\n (Math.random() - 0.5) *\r\n 2);\r\n // Limits backoff to max to avoid effectively permanent backoff.\r\n return Math.min(MAX_VALUE_MILLIS, currBaseValue + randomWait);\r\n}\n\n/**\r\n * @license\r\n * Copyright 2020 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n/**\r\n * Provide English ordinal letters after a number\r\n */\r\nfunction ordinal(i) {\r\n if (!Number.isFinite(i)) {\r\n return `${i}`;\r\n }\r\n return i + indicator(i);\r\n}\r\nfunction indicator(i) {\r\n i = Math.abs(i);\r\n const cent = i % 100;\r\n if (cent >= 10 && cent <= 20) {\r\n return 'th';\r\n }\r\n const dec = i % 10;\r\n if (dec === 1) {\r\n return 'st';\r\n }\r\n if (dec === 2) {\r\n return 'nd';\r\n }\r\n if (dec === 3) {\r\n return 'rd';\r\n }\r\n return 'th';\r\n}\n\n/**\r\n * @license\r\n * Copyright 2021 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\nfunction getModularInstance(service) {\r\n if (service && service._delegate) {\r\n return service._delegate;\r\n }\r\n else {\r\n return service;\r\n }\r\n}\n\nexport { CONSTANTS, DecodeBase64StringError, Deferred, ErrorFactory, FirebaseError, MAX_VALUE_MILLIS, RANDOM_FACTOR, Sha1, areCookiesEnabled, assert, assertionError, async, base64, base64Decode, base64Encode, base64urlEncodeWithoutPadding, calculateBackoffMillis, contains, createMockUserToken, createSubscribe, decode, deepCopy, deepEqual, deepExtend, errorPrefix, extractQuerystring, getDefaultAppConfig, getDefaultEmulatorHost, getDefaultEmulatorHostnameAndPort, getDefaults, getExperimentalSetting, getGlobal, getModularInstance, getUA, isAdmin, isBrowser, isBrowserExtension, isElectron, isEmpty, isIE, isIndexedDBAvailable, isMobileCordova, isNode, isNodeSdk, isReactNative, isSafari, isUWP, isValidFormat, isValidTimestamp, isWebWorker, issuedAtTime, jsonEval, map, ordinal, promiseWithTimeout, querystring, querystringDecode, safeGet, stringLength, stringToByteArray, stringify, uuidv4, validateArgCount, validateCallback, validateContextObject, validateIndexedDBOpenable, validateNamespace };\n//# sourceMappingURL=index.esm2017.js.map\n","import { Deferred } from '@firebase/util';\n\n/**\r\n * Component for service name T, e.g. `auth`, `auth-internal`\r\n */\r\nclass Component {\r\n /**\r\n *\r\n * @param name The public service name, e.g. app, auth, firestore, database\r\n * @param instanceFactory Service factory responsible for creating the public interface\r\n * @param type whether the service provided by the component is public or private\r\n */\r\n constructor(name, instanceFactory, type) {\r\n this.name = name;\r\n this.instanceFactory = instanceFactory;\r\n this.type = type;\r\n this.multipleInstances = false;\r\n /**\r\n * Properties to be added to the service namespace\r\n */\r\n this.serviceProps = {};\r\n this.instantiationMode = \"LAZY\" /* InstantiationMode.LAZY */;\r\n this.onInstanceCreated = null;\r\n }\r\n setInstantiationMode(mode) {\r\n this.instantiationMode = mode;\r\n return this;\r\n }\r\n setMultipleInstances(multipleInstances) {\r\n this.multipleInstances = multipleInstances;\r\n return this;\r\n }\r\n setServiceProps(props) {\r\n this.serviceProps = props;\r\n return this;\r\n }\r\n setInstanceCreatedCallback(callback) {\r\n this.onInstanceCreated = callback;\r\n return this;\r\n }\r\n}\n\n/**\r\n * @license\r\n * Copyright 2019 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\nconst DEFAULT_ENTRY_NAME = '[DEFAULT]';\n\n/**\r\n * @license\r\n * Copyright 2019 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n/**\r\n * Provider for instance for service name T, e.g. 'auth', 'auth-internal'\r\n * NameServiceMapping[T] is an alias for the type of the instance\r\n */\r\nclass Provider {\r\n constructor(name, container) {\r\n this.name = name;\r\n this.container = container;\r\n this.component = null;\r\n this.instances = new Map();\r\n this.instancesDeferred = new Map();\r\n this.instancesOptions = new Map();\r\n this.onInitCallbacks = new Map();\r\n }\r\n /**\r\n * @param identifier A provider can provide mulitple instances of a service\r\n * if this.component.multipleInstances is true.\r\n */\r\n get(identifier) {\r\n // if multipleInstances is not supported, use the default name\r\n const normalizedIdentifier = this.normalizeInstanceIdentifier(identifier);\r\n if (!this.instancesDeferred.has(normalizedIdentifier)) {\r\n const deferred = new Deferred();\r\n this.instancesDeferred.set(normalizedIdentifier, deferred);\r\n if (this.isInitialized(normalizedIdentifier) ||\r\n this.shouldAutoInitialize()) {\r\n // initialize the service if it can be auto-initialized\r\n try {\r\n const instance = this.getOrInitializeService({\r\n instanceIdentifier: normalizedIdentifier\r\n });\r\n if (instance) {\r\n deferred.resolve(instance);\r\n }\r\n }\r\n catch (e) {\r\n // when the instance factory throws an exception during get(), it should not cause\r\n // a fatal error. We just return the unresolved promise in this case.\r\n }\r\n }\r\n }\r\n return this.instancesDeferred.get(normalizedIdentifier).promise;\r\n }\r\n getImmediate(options) {\r\n var _a;\r\n // if multipleInstances is not supported, use the default name\r\n const normalizedIdentifier = this.normalizeInstanceIdentifier(options === null || options === void 0 ? void 0 : options.identifier);\r\n const optional = (_a = options === null || options === void 0 ? void 0 : options.optional) !== null && _a !== void 0 ? _a : false;\r\n if (this.isInitialized(normalizedIdentifier) ||\r\n this.shouldAutoInitialize()) {\r\n try {\r\n return this.getOrInitializeService({\r\n instanceIdentifier: normalizedIdentifier\r\n });\r\n }\r\n catch (e) {\r\n if (optional) {\r\n return null;\r\n }\r\n else {\r\n throw e;\r\n }\r\n }\r\n }\r\n else {\r\n // In case a component is not initialized and should/can not be auto-initialized at the moment, return null if the optional flag is set, or throw\r\n if (optional) {\r\n return null;\r\n }\r\n else {\r\n throw Error(`Service ${this.name} is not available`);\r\n }\r\n }\r\n }\r\n getComponent() {\r\n return this.component;\r\n }\r\n setComponent(component) {\r\n if (component.name !== this.name) {\r\n throw Error(`Mismatching Component ${component.name} for Provider ${this.name}.`);\r\n }\r\n if (this.component) {\r\n throw Error(`Component for ${this.name} has already been provided`);\r\n }\r\n this.component = component;\r\n // return early without attempting to initialize the component if the component requires explicit initialization (calling `Provider.initialize()`)\r\n if (!this.shouldAutoInitialize()) {\r\n return;\r\n }\r\n // if the service is eager, initialize the default instance\r\n if (isComponentEager(component)) {\r\n try {\r\n this.getOrInitializeService({ instanceIdentifier: DEFAULT_ENTRY_NAME });\r\n }\r\n catch (e) {\r\n // when the instance factory for an eager Component throws an exception during the eager\r\n // initialization, it should not cause a fatal error.\r\n // TODO: Investigate if we need to make it configurable, because some component may want to cause\r\n // a fatal error in this case?\r\n }\r\n }\r\n // Create service instances for the pending promises and resolve them\r\n // NOTE: if this.multipleInstances is false, only the default instance will be created\r\n // and all promises with resolve with it regardless of the identifier.\r\n for (const [instanceIdentifier, instanceDeferred] of this.instancesDeferred.entries()) {\r\n const normalizedIdentifier = this.normalizeInstanceIdentifier(instanceIdentifier);\r\n try {\r\n // `getOrInitializeService()` should always return a valid instance since a component is guaranteed. use ! to make typescript happy.\r\n const instance = this.getOrInitializeService({\r\n instanceIdentifier: normalizedIdentifier\r\n });\r\n instanceDeferred.resolve(instance);\r\n }\r\n catch (e) {\r\n // when the instance factory throws an exception, it should not cause\r\n // a fatal error. We just leave the promise unresolved.\r\n }\r\n }\r\n }\r\n clearInstance(identifier = DEFAULT_ENTRY_NAME) {\r\n this.instancesDeferred.delete(identifier);\r\n this.instancesOptions.delete(identifier);\r\n this.instances.delete(identifier);\r\n }\r\n // app.delete() will call this method on every provider to delete the services\r\n // TODO: should we mark the provider as deleted?\r\n async delete() {\r\n const services = Array.from(this.instances.values());\r\n await Promise.all([\r\n ...services\r\n .filter(service => 'INTERNAL' in service) // legacy services\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n .map(service => service.INTERNAL.delete()),\r\n ...services\r\n .filter(service => '_delete' in service) // modularized services\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n .map(service => service._delete())\r\n ]);\r\n }\r\n isComponentSet() {\r\n return this.component != null;\r\n }\r\n isInitialized(identifier = DEFAULT_ENTRY_NAME) {\r\n return this.instances.has(identifier);\r\n }\r\n getOptions(identifier = DEFAULT_ENTRY_NAME) {\r\n return this.instancesOptions.get(identifier) || {};\r\n }\r\n initialize(opts = {}) {\r\n const { options = {} } = opts;\r\n const normalizedIdentifier = this.normalizeInstanceIdentifier(opts.instanceIdentifier);\r\n if (this.isInitialized(normalizedIdentifier)) {\r\n throw Error(`${this.name}(${normalizedIdentifier}) has already been initialized`);\r\n }\r\n if (!this.isComponentSet()) {\r\n throw Error(`Component ${this.name} has not been registered yet`);\r\n }\r\n const instance = this.getOrInitializeService({\r\n instanceIdentifier: normalizedIdentifier,\r\n options\r\n });\r\n // resolve any pending promise waiting for the service instance\r\n for (const [instanceIdentifier, instanceDeferred] of this.instancesDeferred.entries()) {\r\n const normalizedDeferredIdentifier = this.normalizeInstanceIdentifier(instanceIdentifier);\r\n if (normalizedIdentifier === normalizedDeferredIdentifier) {\r\n instanceDeferred.resolve(instance);\r\n }\r\n }\r\n return instance;\r\n }\r\n /**\r\n *\r\n * @param callback - a function that will be invoked after the provider has been initialized by calling provider.initialize().\r\n * The function is invoked SYNCHRONOUSLY, so it should not execute any longrunning tasks in order to not block the program.\r\n *\r\n * @param identifier An optional instance identifier\r\n * @returns a function to unregister the callback\r\n */\r\n onInit(callback, identifier) {\r\n var _a;\r\n const normalizedIdentifier = this.normalizeInstanceIdentifier(identifier);\r\n const existingCallbacks = (_a = this.onInitCallbacks.get(normalizedIdentifier)) !== null && _a !== void 0 ? _a : new Set();\r\n existingCallbacks.add(callback);\r\n this.onInitCallbacks.set(normalizedIdentifier, existingCallbacks);\r\n const existingInstance = this.instances.get(normalizedIdentifier);\r\n if (existingInstance) {\r\n callback(existingInstance, normalizedIdentifier);\r\n }\r\n return () => {\r\n existingCallbacks.delete(callback);\r\n };\r\n }\r\n /**\r\n * Invoke onInit callbacks synchronously\r\n * @param instance the service instance`\r\n */\r\n invokeOnInitCallbacks(instance, identifier) {\r\n const callbacks = this.onInitCallbacks.get(identifier);\r\n if (!callbacks) {\r\n return;\r\n }\r\n for (const callback of callbacks) {\r\n try {\r\n callback(instance, identifier);\r\n }\r\n catch (_a) {\r\n // ignore errors in the onInit callback\r\n }\r\n }\r\n }\r\n getOrInitializeService({ instanceIdentifier, options = {} }) {\r\n let instance = this.instances.get(instanceIdentifier);\r\n if (!instance && this.component) {\r\n instance = this.component.instanceFactory(this.container, {\r\n instanceIdentifier: normalizeIdentifierForFactory(instanceIdentifier),\r\n options\r\n });\r\n this.instances.set(instanceIdentifier, instance);\r\n this.instancesOptions.set(instanceIdentifier, options);\r\n /**\r\n * Invoke onInit listeners.\r\n * Note this.component.onInstanceCreated is different, which is used by the component creator,\r\n * while onInit listeners are registered by consumers of the provider.\r\n */\r\n this.invokeOnInitCallbacks(instance, instanceIdentifier);\r\n /**\r\n * Order is important\r\n * onInstanceCreated() should be called after this.instances.set(instanceIdentifier, instance); which\r\n * makes `isInitialized()` return true.\r\n */\r\n if (this.component.onInstanceCreated) {\r\n try {\r\n this.component.onInstanceCreated(this.container, instanceIdentifier, instance);\r\n }\r\n catch (_a) {\r\n // ignore errors in the onInstanceCreatedCallback\r\n }\r\n }\r\n }\r\n return instance || null;\r\n }\r\n normalizeInstanceIdentifier(identifier = DEFAULT_ENTRY_NAME) {\r\n if (this.component) {\r\n return this.component.multipleInstances ? identifier : DEFAULT_ENTRY_NAME;\r\n }\r\n else {\r\n return identifier; // assume multiple instances are supported before the component is provided.\r\n }\r\n }\r\n shouldAutoInitialize() {\r\n return (!!this.component &&\r\n this.component.instantiationMode !== \"EXPLICIT\" /* InstantiationMode.EXPLICIT */);\r\n }\r\n}\r\n// undefined should be passed to the service factory for the default instance\r\nfunction normalizeIdentifierForFactory(identifier) {\r\n return identifier === DEFAULT_ENTRY_NAME ? undefined : identifier;\r\n}\r\nfunction isComponentEager(component) {\r\n return component.instantiationMode === \"EAGER\" /* InstantiationMode.EAGER */;\r\n}\n\n/**\r\n * @license\r\n * Copyright 2019 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n/**\r\n * ComponentContainer that provides Providers for service name T, e.g. `auth`, `auth-internal`\r\n */\r\nclass ComponentContainer {\r\n constructor(name) {\r\n this.name = name;\r\n this.providers = new Map();\r\n }\r\n /**\r\n *\r\n * @param component Component being added\r\n * @param overwrite When a component with the same name has already been registered,\r\n * if overwrite is true: overwrite the existing component with the new component and create a new\r\n * provider with the new component. It can be useful in tests where you want to use different mocks\r\n * for different tests.\r\n * if overwrite is false: throw an exception\r\n */\r\n addComponent(component) {\r\n const provider = this.getProvider(component.name);\r\n if (provider.isComponentSet()) {\r\n throw new Error(`Component ${component.name} has already been registered with ${this.name}`);\r\n }\r\n provider.setComponent(component);\r\n }\r\n addOrOverwriteComponent(component) {\r\n const provider = this.getProvider(component.name);\r\n if (provider.isComponentSet()) {\r\n // delete the existing provider from the container, so we can register the new component\r\n this.providers.delete(component.name);\r\n }\r\n this.addComponent(component);\r\n }\r\n /**\r\n * getProvider provides a type safe interface where it can only be called with a field name\r\n * present in NameServiceMapping interface.\r\n *\r\n * Firebase SDKs providing services should extend NameServiceMapping interface to register\r\n * themselves.\r\n */\r\n getProvider(name) {\r\n if (this.providers.has(name)) {\r\n return this.providers.get(name);\r\n }\r\n // create a Provider for a service that hasn't registered with Firebase\r\n const provider = new Provider(name, this);\r\n this.providers.set(name, provider);\r\n return provider;\r\n }\r\n getProviders() {\r\n return Array.from(this.providers.values());\r\n }\r\n}\n\nexport { Component, ComponentContainer, Provider };\n//# sourceMappingURL=index.esm2017.js.map\n","/**\r\n * @license\r\n * Copyright 2017 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n/**\r\n * A container for all of the Logger instances\r\n */\r\nconst instances = [];\r\n/**\r\n * The JS SDK supports 5 log levels and also allows a user the ability to\r\n * silence the logs altogether.\r\n *\r\n * The order is a follows:\r\n * DEBUG < VERBOSE < INFO < WARN < ERROR\r\n *\r\n * All of the log types above the current log level will be captured (i.e. if\r\n * you set the log level to `INFO`, errors will still be logged, but `DEBUG` and\r\n * `VERBOSE` logs will not)\r\n */\r\nvar LogLevel;\r\n(function (LogLevel) {\r\n LogLevel[LogLevel[\"DEBUG\"] = 0] = \"DEBUG\";\r\n LogLevel[LogLevel[\"VERBOSE\"] = 1] = \"VERBOSE\";\r\n LogLevel[LogLevel[\"INFO\"] = 2] = \"INFO\";\r\n LogLevel[LogLevel[\"WARN\"] = 3] = \"WARN\";\r\n LogLevel[LogLevel[\"ERROR\"] = 4] = \"ERROR\";\r\n LogLevel[LogLevel[\"SILENT\"] = 5] = \"SILENT\";\r\n})(LogLevel || (LogLevel = {}));\r\nconst levelStringToEnum = {\r\n 'debug': LogLevel.DEBUG,\r\n 'verbose': LogLevel.VERBOSE,\r\n 'info': LogLevel.INFO,\r\n 'warn': LogLevel.WARN,\r\n 'error': LogLevel.ERROR,\r\n 'silent': LogLevel.SILENT\r\n};\r\n/**\r\n * The default log level\r\n */\r\nconst defaultLogLevel = LogLevel.INFO;\r\n/**\r\n * By default, `console.debug` is not displayed in the developer console (in\r\n * chrome). To avoid forcing users to have to opt-in to these logs twice\r\n * (i.e. once for firebase, and once in the console), we are sending `DEBUG`\r\n * logs to the `console.log` function.\r\n */\r\nconst ConsoleMethod = {\r\n [LogLevel.DEBUG]: 'log',\r\n [LogLevel.VERBOSE]: 'log',\r\n [LogLevel.INFO]: 'info',\r\n [LogLevel.WARN]: 'warn',\r\n [LogLevel.ERROR]: 'error'\r\n};\r\n/**\r\n * The default log handler will forward DEBUG, VERBOSE, INFO, WARN, and ERROR\r\n * messages on to their corresponding console counterparts (if the log method\r\n * is supported by the current log level)\r\n */\r\nconst defaultLogHandler = (instance, logType, ...args) => {\r\n if (logType < instance.logLevel) {\r\n return;\r\n }\r\n const now = new Date().toISOString();\r\n const method = ConsoleMethod[logType];\r\n if (method) {\r\n console[method](`[${now}] ${instance.name}:`, ...args);\r\n }\r\n else {\r\n throw new Error(`Attempted to log a message with an invalid logType (value: ${logType})`);\r\n }\r\n};\r\nclass Logger {\r\n /**\r\n * Gives you an instance of a Logger to capture messages according to\r\n * Firebase's logging scheme.\r\n *\r\n * @param name The name that the logs will be associated with\r\n */\r\n constructor(name) {\r\n this.name = name;\r\n /**\r\n * The log level of the given Logger instance.\r\n */\r\n this._logLevel = defaultLogLevel;\r\n /**\r\n * The main (internal) log handler for the Logger instance.\r\n * Can be set to a new function in internal package code but not by user.\r\n */\r\n this._logHandler = defaultLogHandler;\r\n /**\r\n * The optional, additional, user-defined log handler for the Logger instance.\r\n */\r\n this._userLogHandler = null;\r\n /**\r\n * Capture the current instance for later use\r\n */\r\n instances.push(this);\r\n }\r\n get logLevel() {\r\n return this._logLevel;\r\n }\r\n set logLevel(val) {\r\n if (!(val in LogLevel)) {\r\n throw new TypeError(`Invalid value \"${val}\" assigned to \\`logLevel\\``);\r\n }\r\n this._logLevel = val;\r\n }\r\n // Workaround for setter/getter having to be the same type.\r\n setLogLevel(val) {\r\n this._logLevel = typeof val === 'string' ? levelStringToEnum[val] : val;\r\n }\r\n get logHandler() {\r\n return this._logHandler;\r\n }\r\n set logHandler(val) {\r\n if (typeof val !== 'function') {\r\n throw new TypeError('Value assigned to `logHandler` must be a function');\r\n }\r\n this._logHandler = val;\r\n }\r\n get userLogHandler() {\r\n return this._userLogHandler;\r\n }\r\n set userLogHandler(val) {\r\n this._userLogHandler = val;\r\n }\r\n /**\r\n * The functions below are all based on the `console` interface\r\n */\r\n debug(...args) {\r\n this._userLogHandler && this._userLogHandler(this, LogLevel.DEBUG, ...args);\r\n this._logHandler(this, LogLevel.DEBUG, ...args);\r\n }\r\n log(...args) {\r\n this._userLogHandler &&\r\n this._userLogHandler(this, LogLevel.VERBOSE, ...args);\r\n this._logHandler(this, LogLevel.VERBOSE, ...args);\r\n }\r\n info(...args) {\r\n this._userLogHandler && this._userLogHandler(this, LogLevel.INFO, ...args);\r\n this._logHandler(this, LogLevel.INFO, ...args);\r\n }\r\n warn(...args) {\r\n this._userLogHandler && this._userLogHandler(this, LogLevel.WARN, ...args);\r\n this._logHandler(this, LogLevel.WARN, ...args);\r\n }\r\n error(...args) {\r\n this._userLogHandler && this._userLogHandler(this, LogLevel.ERROR, ...args);\r\n this._logHandler(this, LogLevel.ERROR, ...args);\r\n }\r\n}\r\nfunction setLogLevel(level) {\r\n instances.forEach(inst => {\r\n inst.setLogLevel(level);\r\n });\r\n}\r\nfunction setUserLogHandler(logCallback, options) {\r\n for (const instance of instances) {\r\n let customLogLevel = null;\r\n if (options && options.level) {\r\n customLogLevel = levelStringToEnum[options.level];\r\n }\r\n if (logCallback === null) {\r\n instance.userLogHandler = null;\r\n }\r\n else {\r\n instance.userLogHandler = (instance, level, ...args) => {\r\n const message = args\r\n .map(arg => {\r\n if (arg == null) {\r\n return null;\r\n }\r\n else if (typeof arg === 'string') {\r\n return arg;\r\n }\r\n else if (typeof arg === 'number' || typeof arg === 'boolean') {\r\n return arg.toString();\r\n }\r\n else if (arg instanceof Error) {\r\n return arg.message;\r\n }\r\n else {\r\n try {\r\n return JSON.stringify(arg);\r\n }\r\n catch (ignored) {\r\n return null;\r\n }\r\n }\r\n })\r\n .filter(arg => arg)\r\n .join(' ');\r\n if (level >= (customLogLevel !== null && customLogLevel !== void 0 ? customLogLevel : instance.logLevel)) {\r\n logCallback({\r\n level: LogLevel[level].toLowerCase(),\r\n message,\r\n args,\r\n type: instance.name\r\n });\r\n }\r\n };\r\n }\r\n }\r\n}\n\nexport { LogLevel, Logger, setLogLevel, setUserLogHandler };\n//# sourceMappingURL=index.esm2017.js.map\n","const instanceOfAny = (object, constructors) => constructors.some((c) => object instanceof c);\n\nlet idbProxyableTypes;\nlet cursorAdvanceMethods;\n// This is a function to prevent it throwing up in node environments.\nfunction getIdbProxyableTypes() {\n return (idbProxyableTypes ||\n (idbProxyableTypes = [\n IDBDatabase,\n IDBObjectStore,\n IDBIndex,\n IDBCursor,\n IDBTransaction,\n ]));\n}\n// This is a function to prevent it throwing up in node environments.\nfunction getCursorAdvanceMethods() {\n return (cursorAdvanceMethods ||\n (cursorAdvanceMethods = [\n IDBCursor.prototype.advance,\n IDBCursor.prototype.continue,\n IDBCursor.prototype.continuePrimaryKey,\n ]));\n}\nconst cursorRequestMap = new WeakMap();\nconst transactionDoneMap = new WeakMap();\nconst transactionStoreNamesMap = new WeakMap();\nconst transformCache = new WeakMap();\nconst reverseTransformCache = new WeakMap();\nfunction promisifyRequest(request) {\n const promise = new Promise((resolve, reject) => {\n const unlisten = () => {\n request.removeEventListener('success', success);\n request.removeEventListener('error', error);\n };\n const success = () => {\n resolve(wrap(request.result));\n unlisten();\n };\n const error = () => {\n reject(request.error);\n unlisten();\n };\n request.addEventListener('success', success);\n request.addEventListener('error', error);\n });\n promise\n .then((value) => {\n // Since cursoring reuses the IDBRequest (*sigh*), we cache it for later retrieval\n // (see wrapFunction).\n if (value instanceof IDBCursor) {\n cursorRequestMap.set(value, request);\n }\n // Catching to avoid \"Uncaught Promise exceptions\"\n })\n .catch(() => { });\n // This mapping exists in reverseTransformCache but doesn't doesn't exist in transformCache. This\n // is because we create many promises from a single IDBRequest.\n reverseTransformCache.set(promise, request);\n return promise;\n}\nfunction cacheDonePromiseForTransaction(tx) {\n // Early bail if we've already created a done promise for this transaction.\n if (transactionDoneMap.has(tx))\n return;\n const done = new Promise((resolve, reject) => {\n const unlisten = () => {\n tx.removeEventListener('complete', complete);\n tx.removeEventListener('error', error);\n tx.removeEventListener('abort', error);\n };\n const complete = () => {\n resolve();\n unlisten();\n };\n const error = () => {\n reject(tx.error || new DOMException('AbortError', 'AbortError'));\n unlisten();\n };\n tx.addEventListener('complete', complete);\n tx.addEventListener('error', error);\n tx.addEventListener('abort', error);\n });\n // Cache it for later retrieval.\n transactionDoneMap.set(tx, done);\n}\nlet idbProxyTraps = {\n get(target, prop, receiver) {\n if (target instanceof IDBTransaction) {\n // Special handling for transaction.done.\n if (prop === 'done')\n return transactionDoneMap.get(target);\n // Polyfill for objectStoreNames because of Edge.\n if (prop === 'objectStoreNames') {\n return target.objectStoreNames || transactionStoreNamesMap.get(target);\n }\n // Make tx.store return the only store in the transaction, or undefined if there are many.\n if (prop === 'store') {\n return receiver.objectStoreNames[1]\n ? undefined\n : receiver.objectStore(receiver.objectStoreNames[0]);\n }\n }\n // Else transform whatever we get back.\n return wrap(target[prop]);\n },\n set(target, prop, value) {\n target[prop] = value;\n return true;\n },\n has(target, prop) {\n if (target instanceof IDBTransaction &&\n (prop === 'done' || prop === 'store')) {\n return true;\n }\n return prop in target;\n },\n};\nfunction replaceTraps(callback) {\n idbProxyTraps = callback(idbProxyTraps);\n}\nfunction wrapFunction(func) {\n // Due to expected object equality (which is enforced by the caching in `wrap`), we\n // only create one new func per func.\n // Edge doesn't support objectStoreNames (booo), so we polyfill it here.\n if (func === IDBDatabase.prototype.transaction &&\n !('objectStoreNames' in IDBTransaction.prototype)) {\n return function (storeNames, ...args) {\n const tx = func.call(unwrap(this), storeNames, ...args);\n transactionStoreNamesMap.set(tx, storeNames.sort ? storeNames.sort() : [storeNames]);\n return wrap(tx);\n };\n }\n // Cursor methods are special, as the behaviour is a little more different to standard IDB. In\n // IDB, you advance the cursor and wait for a new 'success' on the IDBRequest that gave you the\n // cursor. It's kinda like a promise that can resolve with many values. That doesn't make sense\n // with real promises, so each advance methods returns a new promise for the cursor object, or\n // undefined if the end of the cursor has been reached.\n if (getCursorAdvanceMethods().includes(func)) {\n return function (...args) {\n // Calling the original function with the proxy as 'this' causes ILLEGAL INVOCATION, so we use\n // the original object.\n func.apply(unwrap(this), args);\n return wrap(cursorRequestMap.get(this));\n };\n }\n return function (...args) {\n // Calling the original function with the proxy as 'this' causes ILLEGAL INVOCATION, so we use\n // the original object.\n return wrap(func.apply(unwrap(this), args));\n };\n}\nfunction transformCachableValue(value) {\n if (typeof value === 'function')\n return wrapFunction(value);\n // This doesn't return, it just creates a 'done' promise for the transaction,\n // which is later returned for transaction.done (see idbObjectHandler).\n if (value instanceof IDBTransaction)\n cacheDonePromiseForTransaction(value);\n if (instanceOfAny(value, getIdbProxyableTypes()))\n return new Proxy(value, idbProxyTraps);\n // Return the same value back if we're not going to transform it.\n return value;\n}\nfunction wrap(value) {\n // We sometimes generate multiple promises from a single IDBRequest (eg when cursoring), because\n // IDB is weird and a single IDBRequest can yield many responses, so these can't be cached.\n if (value instanceof IDBRequest)\n return promisifyRequest(value);\n // If we've already transformed this value before, reuse the transformed value.\n // This is faster, but it also provides object equality.\n if (transformCache.has(value))\n return transformCache.get(value);\n const newValue = transformCachableValue(value);\n // Not all types are transformed.\n // These may be primitive types, so they can't be WeakMap keys.\n if (newValue !== value) {\n transformCache.set(value, newValue);\n reverseTransformCache.set(newValue, value);\n }\n return newValue;\n}\nconst unwrap = (value) => reverseTransformCache.get(value);\n\nexport { reverseTransformCache as a, instanceOfAny as i, replaceTraps as r, unwrap as u, wrap as w };\n","import { w as wrap, r as replaceTraps } from './wrap-idb-value.js';\nexport { u as unwrap, w as wrap } from './wrap-idb-value.js';\n\n/**\n * Open a database.\n *\n * @param name Name of the database.\n * @param version Schema version.\n * @param callbacks Additional callbacks.\n */\nfunction openDB(name, version, { blocked, upgrade, blocking, terminated } = {}) {\n const request = indexedDB.open(name, version);\n const openPromise = wrap(request);\n if (upgrade) {\n request.addEventListener('upgradeneeded', (event) => {\n upgrade(wrap(request.result), event.oldVersion, event.newVersion, wrap(request.transaction), event);\n });\n }\n if (blocked) {\n request.addEventListener('blocked', (event) => blocked(\n // Casting due to https://github.com/microsoft/TypeScript-DOM-lib-generator/pull/1405\n event.oldVersion, event.newVersion, event));\n }\n openPromise\n .then((db) => {\n if (terminated)\n db.addEventListener('close', () => terminated());\n if (blocking) {\n db.addEventListener('versionchange', (event) => blocking(event.oldVersion, event.newVersion, event));\n }\n })\n .catch(() => { });\n return openPromise;\n}\n/**\n * Delete a database.\n *\n * @param name Name of the database.\n */\nfunction deleteDB(name, { blocked } = {}) {\n const request = indexedDB.deleteDatabase(name);\n if (blocked) {\n request.addEventListener('blocked', (event) => blocked(\n // Casting due to https://github.com/microsoft/TypeScript-DOM-lib-generator/pull/1405\n event.oldVersion, event));\n }\n return wrap(request).then(() => undefined);\n}\n\nconst readMethods = ['get', 'getKey', 'getAll', 'getAllKeys', 'count'];\nconst writeMethods = ['put', 'add', 'delete', 'clear'];\nconst cachedMethods = new Map();\nfunction getMethod(target, prop) {\n if (!(target instanceof IDBDatabase &&\n !(prop in target) &&\n typeof prop === 'string')) {\n return;\n }\n if (cachedMethods.get(prop))\n return cachedMethods.get(prop);\n const targetFuncName = prop.replace(/FromIndex$/, '');\n const useIndex = prop !== targetFuncName;\n const isWrite = writeMethods.includes(targetFuncName);\n if (\n // Bail if the target doesn't exist on the target. Eg, getAll isn't in Edge.\n !(targetFuncName in (useIndex ? IDBIndex : IDBObjectStore).prototype) ||\n !(isWrite || readMethods.includes(targetFuncName))) {\n return;\n }\n const method = async function (storeName, ...args) {\n // isWrite ? 'readwrite' : undefined gzipps better, but fails in Edge :(\n const tx = this.transaction(storeName, isWrite ? 'readwrite' : 'readonly');\n let target = tx.store;\n if (useIndex)\n target = target.index(args.shift());\n // Must reject if op rejects.\n // If it's a write operation, must reject if tx.done rejects.\n // Must reject with op rejection first.\n // Must resolve with op value.\n // Must handle both promises (no unhandled rejections)\n return (await Promise.all([\n target[targetFuncName](...args),\n isWrite && tx.done,\n ]))[0];\n };\n cachedMethods.set(prop, method);\n return method;\n}\nreplaceTraps((oldTraps) => ({\n ...oldTraps,\n get: (target, prop, receiver) => getMethod(target, prop) || oldTraps.get(target, prop, receiver),\n has: (target, prop) => !!getMethod(target, prop) || oldTraps.has(target, prop),\n}));\n\nexport { deleteDB, openDB };\n","import { Component, ComponentContainer } from '@firebase/component';\nimport { Logger, setUserLogHandler, setLogLevel as setLogLevel$1 } from '@firebase/logger';\nimport { ErrorFactory, getDefaultAppConfig, deepEqual, isBrowser, isWebWorker, FirebaseError, base64urlEncodeWithoutPadding, isIndexedDBAvailable, validateIndexedDBOpenable } from '@firebase/util';\nexport { FirebaseError } from '@firebase/util';\nimport { openDB } from 'idb';\n\n/**\r\n * @license\r\n * Copyright 2019 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\nclass PlatformLoggerServiceImpl {\r\n constructor(container) {\r\n this.container = container;\r\n }\r\n // In initial implementation, this will be called by installations on\r\n // auth token refresh, and installations will send this string.\r\n getPlatformInfoString() {\r\n const providers = this.container.getProviders();\r\n // Loop through providers and get library/version pairs from any that are\r\n // version components.\r\n return providers\r\n .map(provider => {\r\n if (isVersionServiceProvider(provider)) {\r\n const service = provider.getImmediate();\r\n return `${service.library}/${service.version}`;\r\n }\r\n else {\r\n return null;\r\n }\r\n })\r\n .filter(logString => logString)\r\n .join(' ');\r\n }\r\n}\r\n/**\r\n *\r\n * @param provider check if this provider provides a VersionService\r\n *\r\n * NOTE: Using Provider<'app-version'> is a hack to indicate that the provider\r\n * provides VersionService. The provider is not necessarily a 'app-version'\r\n * provider.\r\n */\r\nfunction isVersionServiceProvider(provider) {\r\n const component = provider.getComponent();\r\n return (component === null || component === void 0 ? void 0 : component.type) === \"VERSION\" /* ComponentType.VERSION */;\r\n}\n\nconst name$p = \"@firebase/app\";\nconst version$1 = \"0.10.7\";\n\n/**\r\n * @license\r\n * Copyright 2019 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\nconst logger = new Logger('@firebase/app');\n\nconst name$o = \"@firebase/app-compat\";\n\nconst name$n = \"@firebase/analytics-compat\";\n\nconst name$m = \"@firebase/analytics\";\n\nconst name$l = \"@firebase/app-check-compat\";\n\nconst name$k = \"@firebase/app-check\";\n\nconst name$j = \"@firebase/auth\";\n\nconst name$i = \"@firebase/auth-compat\";\n\nconst name$h = \"@firebase/database\";\n\nconst name$g = \"@firebase/database-compat\";\n\nconst name$f = \"@firebase/functions\";\n\nconst name$e = \"@firebase/functions-compat\";\n\nconst name$d = \"@firebase/installations\";\n\nconst name$c = \"@firebase/installations-compat\";\n\nconst name$b = \"@firebase/messaging\";\n\nconst name$a = \"@firebase/messaging-compat\";\n\nconst name$9 = \"@firebase/performance\";\n\nconst name$8 = \"@firebase/performance-compat\";\n\nconst name$7 = \"@firebase/remote-config\";\n\nconst name$6 = \"@firebase/remote-config-compat\";\n\nconst name$5 = \"@firebase/storage\";\n\nconst name$4 = \"@firebase/storage-compat\";\n\nconst name$3 = \"@firebase/firestore\";\n\nconst name$2 = \"@firebase/vertexai-preview\";\n\nconst name$1 = \"@firebase/firestore-compat\";\n\nconst name = \"firebase\";\nconst version = \"10.12.4\";\n\n/**\r\n * @license\r\n * Copyright 2019 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n/**\r\n * The default app name\r\n *\r\n * @internal\r\n */\r\nconst DEFAULT_ENTRY_NAME = '[DEFAULT]';\r\nconst PLATFORM_LOG_STRING = {\r\n [name$p]: 'fire-core',\r\n [name$o]: 'fire-core-compat',\r\n [name$m]: 'fire-analytics',\r\n [name$n]: 'fire-analytics-compat',\r\n [name$k]: 'fire-app-check',\r\n [name$l]: 'fire-app-check-compat',\r\n [name$j]: 'fire-auth',\r\n [name$i]: 'fire-auth-compat',\r\n [name$h]: 'fire-rtdb',\r\n [name$g]: 'fire-rtdb-compat',\r\n [name$f]: 'fire-fn',\r\n [name$e]: 'fire-fn-compat',\r\n [name$d]: 'fire-iid',\r\n [name$c]: 'fire-iid-compat',\r\n [name$b]: 'fire-fcm',\r\n [name$a]: 'fire-fcm-compat',\r\n [name$9]: 'fire-perf',\r\n [name$8]: 'fire-perf-compat',\r\n [name$7]: 'fire-rc',\r\n [name$6]: 'fire-rc-compat',\r\n [name$5]: 'fire-gcs',\r\n [name$4]: 'fire-gcs-compat',\r\n [name$3]: 'fire-fst',\r\n [name$1]: 'fire-fst-compat',\r\n [name$2]: 'fire-vertex',\r\n 'fire-js': 'fire-js',\r\n [name]: 'fire-js-all'\r\n};\n\n/**\r\n * @license\r\n * Copyright 2019 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n/**\r\n * @internal\r\n */\r\nconst _apps = new Map();\r\n/**\r\n * @internal\r\n */\r\nconst _serverApps = new Map();\r\n/**\r\n * Registered components.\r\n *\r\n * @internal\r\n */\r\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\r\nconst _components = new Map();\r\n/**\r\n * @param component - the component being added to this app's container\r\n *\r\n * @internal\r\n */\r\nfunction _addComponent(app, component) {\r\n try {\r\n app.container.addComponent(component);\r\n }\r\n catch (e) {\r\n logger.debug(`Component ${component.name} failed to register with FirebaseApp ${app.name}`, e);\r\n }\r\n}\r\n/**\r\n *\r\n * @internal\r\n */\r\nfunction _addOrOverwriteComponent(app, component) {\r\n app.container.addOrOverwriteComponent(component);\r\n}\r\n/**\r\n *\r\n * @param component - the component to register\r\n * @returns whether or not the component is registered successfully\r\n *\r\n * @internal\r\n */\r\nfunction _registerComponent(component) {\r\n const componentName = component.name;\r\n if (_components.has(componentName)) {\r\n logger.debug(`There were multiple attempts to register component ${componentName}.`);\r\n return false;\r\n }\r\n _components.set(componentName, component);\r\n // add the component to existing app instances\r\n for (const app of _apps.values()) {\r\n _addComponent(app, component);\r\n }\r\n for (const serverApp of _serverApps.values()) {\r\n _addComponent(serverApp, component);\r\n }\r\n return true;\r\n}\r\n/**\r\n *\r\n * @param app - FirebaseApp instance\r\n * @param name - service name\r\n *\r\n * @returns the provider for the service with the matching name\r\n *\r\n * @internal\r\n */\r\nfunction _getProvider(app, name) {\r\n const heartbeatController = app.container\r\n .getProvider('heartbeat')\r\n .getImmediate({ optional: true });\r\n if (heartbeatController) {\r\n void heartbeatController.triggerHeartbeat();\r\n }\r\n return app.container.getProvider(name);\r\n}\r\n/**\r\n *\r\n * @param app - FirebaseApp instance\r\n * @param name - service name\r\n * @param instanceIdentifier - service instance identifier in case the service supports multiple instances\r\n *\r\n * @internal\r\n */\r\nfunction _removeServiceInstance(app, name, instanceIdentifier = DEFAULT_ENTRY_NAME) {\r\n _getProvider(app, name).clearInstance(instanceIdentifier);\r\n}\r\n/**\r\n *\r\n * @param obj - an object of type FirebaseApp or FirebaseOptions.\r\n *\r\n * @returns true if the provide object is of type FirebaseApp.\r\n *\r\n * @internal\r\n */\r\nfunction _isFirebaseApp(obj) {\r\n return obj.options !== undefined;\r\n}\r\n/**\r\n *\r\n * @param obj - an object of type FirebaseApp.\r\n *\r\n * @returns true if the provided object is of type FirebaseServerAppImpl.\r\n *\r\n * @internal\r\n */\r\nfunction _isFirebaseServerApp(obj) {\r\n return obj.settings !== undefined;\r\n}\r\n/**\r\n * Test only\r\n *\r\n * @internal\r\n */\r\nfunction _clearComponents() {\r\n _components.clear();\r\n}\n\n/**\r\n * @license\r\n * Copyright 2019 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\nconst ERRORS = {\r\n [\"no-app\" /* AppError.NO_APP */]: \"No Firebase App '{$appName}' has been created - \" +\r\n 'call initializeApp() first',\r\n [\"bad-app-name\" /* AppError.BAD_APP_NAME */]: \"Illegal App name: '{$appName}'\",\r\n [\"duplicate-app\" /* AppError.DUPLICATE_APP */]: \"Firebase App named '{$appName}' already exists with different options or config\",\r\n [\"app-deleted\" /* AppError.APP_DELETED */]: \"Firebase App named '{$appName}' already deleted\",\r\n [\"server-app-deleted\" /* AppError.SERVER_APP_DELETED */]: 'Firebase Server App has been deleted',\r\n [\"no-options\" /* AppError.NO_OPTIONS */]: 'Need to provide options, when not being deployed to hosting via source.',\r\n [\"invalid-app-argument\" /* AppError.INVALID_APP_ARGUMENT */]: 'firebase.{$appName}() takes either no argument or a ' +\r\n 'Firebase App instance.',\r\n [\"invalid-log-argument\" /* AppError.INVALID_LOG_ARGUMENT */]: 'First argument to `onLog` must be null or a function.',\r\n [\"idb-open\" /* AppError.IDB_OPEN */]: 'Error thrown when opening IndexedDB. Original error: {$originalErrorMessage}.',\r\n [\"idb-get\" /* AppError.IDB_GET */]: 'Error thrown when reading from IndexedDB. Original error: {$originalErrorMessage}.',\r\n [\"idb-set\" /* AppError.IDB_WRITE */]: 'Error thrown when writing to IndexedDB. Original error: {$originalErrorMessage}.',\r\n [\"idb-delete\" /* AppError.IDB_DELETE */]: 'Error thrown when deleting from IndexedDB. Original error: {$originalErrorMessage}.',\r\n [\"finalization-registry-not-supported\" /* AppError.FINALIZATION_REGISTRY_NOT_SUPPORTED */]: 'FirebaseServerApp deleteOnDeref field defined but the JS runtime does not support FinalizationRegistry.',\r\n [\"invalid-server-app-environment\" /* AppError.INVALID_SERVER_APP_ENVIRONMENT */]: 'FirebaseServerApp is not for use in browser environments.'\r\n};\r\nconst ERROR_FACTORY = new ErrorFactory('app', 'Firebase', ERRORS);\n\n/**\r\n * @license\r\n * Copyright 2019 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\nclass FirebaseAppImpl {\r\n constructor(options, config, container) {\r\n this._isDeleted = false;\r\n this._options = Object.assign({}, options);\r\n this._config = Object.assign({}, config);\r\n this._name = config.name;\r\n this._automaticDataCollectionEnabled =\r\n config.automaticDataCollectionEnabled;\r\n this._container = container;\r\n this.container.addComponent(new Component('app', () => this, \"PUBLIC\" /* ComponentType.PUBLIC */));\r\n }\r\n get automaticDataCollectionEnabled() {\r\n this.checkDestroyed();\r\n return this._automaticDataCollectionEnabled;\r\n }\r\n set automaticDataCollectionEnabled(val) {\r\n this.checkDestroyed();\r\n this._automaticDataCollectionEnabled = val;\r\n }\r\n get name() {\r\n this.checkDestroyed();\r\n return this._name;\r\n }\r\n get options() {\r\n this.checkDestroyed();\r\n return this._options;\r\n }\r\n get config() {\r\n this.checkDestroyed();\r\n return this._config;\r\n }\r\n get container() {\r\n return this._container;\r\n }\r\n get isDeleted() {\r\n return this._isDeleted;\r\n }\r\n set isDeleted(val) {\r\n this._isDeleted = val;\r\n }\r\n /**\r\n * This function will throw an Error if the App has already been deleted -\r\n * use before performing API actions on the App.\r\n */\r\n checkDestroyed() {\r\n if (this.isDeleted) {\r\n throw ERROR_FACTORY.create(\"app-deleted\" /* AppError.APP_DELETED */, { appName: this._name });\r\n }\r\n }\r\n}\n\n/**\r\n * @license\r\n * Copyright 2023 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\nclass FirebaseServerAppImpl extends FirebaseAppImpl {\r\n constructor(options, serverConfig, name, container) {\r\n // Build configuration parameters for the FirebaseAppImpl base class.\r\n const automaticDataCollectionEnabled = serverConfig.automaticDataCollectionEnabled !== undefined\r\n ? serverConfig.automaticDataCollectionEnabled\r\n : false;\r\n // Create the FirebaseAppSettings object for the FirebaseAppImp constructor.\r\n const config = {\r\n name,\r\n automaticDataCollectionEnabled\r\n };\r\n if (options.apiKey !== undefined) {\r\n // Construct the parent FirebaseAppImp object.\r\n super(options, config, container);\r\n }\r\n else {\r\n const appImpl = options;\r\n super(appImpl.options, config, container);\r\n }\r\n // Now construct the data for the FirebaseServerAppImpl.\r\n this._serverConfig = Object.assign({ automaticDataCollectionEnabled }, serverConfig);\r\n this._finalizationRegistry = null;\r\n if (typeof FinalizationRegistry !== 'undefined') {\r\n this._finalizationRegistry = new FinalizationRegistry(() => {\r\n this.automaticCleanup();\r\n });\r\n }\r\n this._refCount = 0;\r\n this.incRefCount(this._serverConfig.releaseOnDeref);\r\n // Do not retain a hard reference to the dref object, otherwise the FinalizationRegisry\r\n // will never trigger.\r\n this._serverConfig.releaseOnDeref = undefined;\r\n serverConfig.releaseOnDeref = undefined;\r\n registerVersion(name$p, version$1, 'serverapp');\r\n }\r\n toJSON() {\r\n return undefined;\r\n }\r\n get refCount() {\r\n return this._refCount;\r\n }\r\n // Increment the reference count of this server app. If an object is provided, register it\r\n // with the finalization registry.\r\n incRefCount(obj) {\r\n if (this.isDeleted) {\r\n return;\r\n }\r\n this._refCount++;\r\n if (obj !== undefined && this._finalizationRegistry !== null) {\r\n this._finalizationRegistry.register(obj, this);\r\n }\r\n }\r\n // Decrement the reference count.\r\n decRefCount() {\r\n if (this.isDeleted) {\r\n return 0;\r\n }\r\n return --this._refCount;\r\n }\r\n // Invoked by the FinalizationRegistry callback to note that this app should go through its\r\n // reference counts and delete itself if no reference count remain. The coordinating logic that\r\n // handles this is in deleteApp(...).\r\n automaticCleanup() {\r\n void deleteApp(this);\r\n }\r\n get settings() {\r\n this.checkDestroyed();\r\n return this._serverConfig;\r\n }\r\n /**\r\n * This function will throw an Error if the App has already been deleted -\r\n * use before performing API actions on the App.\r\n */\r\n checkDestroyed() {\r\n if (this.isDeleted) {\r\n throw ERROR_FACTORY.create(\"server-app-deleted\" /* AppError.SERVER_APP_DELETED */);\r\n }\r\n }\r\n}\n\n/**\r\n * @license\r\n * Copyright 2019 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n/**\r\n * The current SDK version.\r\n *\r\n * @public\r\n */\r\nconst SDK_VERSION = version;\r\nfunction initializeApp(_options, rawConfig = {}) {\r\n let options = _options;\r\n if (typeof rawConfig !== 'object') {\r\n const name = rawConfig;\r\n rawConfig = { name };\r\n }\r\n const config = Object.assign({ name: DEFAULT_ENTRY_NAME, automaticDataCollectionEnabled: false }, rawConfig);\r\n const name = config.name;\r\n if (typeof name !== 'string' || !name) {\r\n throw ERROR_FACTORY.create(\"bad-app-name\" /* AppError.BAD_APP_NAME */, {\r\n appName: String(name)\r\n });\r\n }\r\n options || (options = getDefaultAppConfig());\r\n if (!options) {\r\n throw ERROR_FACTORY.create(\"no-options\" /* AppError.NO_OPTIONS */);\r\n }\r\n const existingApp = _apps.get(name);\r\n if (existingApp) {\r\n // return the existing app if options and config deep equal the ones in the existing app.\r\n if (deepEqual(options, existingApp.options) &&\r\n deepEqual(config, existingApp.config)) {\r\n return existingApp;\r\n }\r\n else {\r\n throw ERROR_FACTORY.create(\"duplicate-app\" /* AppError.DUPLICATE_APP */, { appName: name });\r\n }\r\n }\r\n const container = new ComponentContainer(name);\r\n for (const component of _components.values()) {\r\n container.addComponent(component);\r\n }\r\n const newApp = new FirebaseAppImpl(options, config, container);\r\n _apps.set(name, newApp);\r\n return newApp;\r\n}\r\nfunction initializeServerApp(_options, _serverAppConfig) {\r\n if (isBrowser() && !isWebWorker()) {\r\n // FirebaseServerApp isn't designed to be run in browsers.\r\n throw ERROR_FACTORY.create(\"invalid-server-app-environment\" /* AppError.INVALID_SERVER_APP_ENVIRONMENT */);\r\n }\r\n if (_serverAppConfig.automaticDataCollectionEnabled === undefined) {\r\n _serverAppConfig.automaticDataCollectionEnabled = false;\r\n }\r\n let appOptions;\r\n if (_isFirebaseApp(_options)) {\r\n appOptions = _options.options;\r\n }\r\n else {\r\n appOptions = _options;\r\n }\r\n // Build an app name based on a hash of the configuration options.\r\n const nameObj = Object.assign(Object.assign({}, _serverAppConfig), appOptions);\r\n // However, Do not mangle the name based on releaseOnDeref, since it will vary between the\r\n // construction of FirebaseServerApp instances. For example, if the object is the request headers.\r\n if (nameObj.releaseOnDeref !== undefined) {\r\n delete nameObj.releaseOnDeref;\r\n }\r\n const hashCode = (s) => {\r\n return [...s].reduce((hash, c) => (Math.imul(31, hash) + c.charCodeAt(0)) | 0, 0);\r\n };\r\n if (_serverAppConfig.releaseOnDeref !== undefined) {\r\n if (typeof FinalizationRegistry === 'undefined') {\r\n throw ERROR_FACTORY.create(\"finalization-registry-not-supported\" /* AppError.FINALIZATION_REGISTRY_NOT_SUPPORTED */, {});\r\n }\r\n }\r\n const nameString = '' + hashCode(JSON.stringify(nameObj));\r\n const existingApp = _serverApps.get(nameString);\r\n if (existingApp) {\r\n existingApp.incRefCount(_serverAppConfig.releaseOnDeref);\r\n return existingApp;\r\n }\r\n const container = new ComponentContainer(nameString);\r\n for (const component of _components.values()) {\r\n container.addComponent(component);\r\n }\r\n const newApp = new FirebaseServerAppImpl(appOptions, _serverAppConfig, nameString, container);\r\n _serverApps.set(nameString, newApp);\r\n return newApp;\r\n}\r\n/**\r\n * Retrieves a {@link @firebase/app#FirebaseApp} instance.\r\n *\r\n * When called with no arguments, the default app is returned. When an app name\r\n * is provided, the app corresponding to that name is returned.\r\n *\r\n * An exception is thrown if the app being retrieved has not yet been\r\n * initialized.\r\n *\r\n * @example\r\n * ```javascript\r\n * // Return the default app\r\n * const app = getApp();\r\n * ```\r\n *\r\n * @example\r\n * ```javascript\r\n * // Return a named app\r\n * const otherApp = getApp(\"otherApp\");\r\n * ```\r\n *\r\n * @param name - Optional name of the app to return. If no name is\r\n * provided, the default is `\"[DEFAULT]\"`.\r\n *\r\n * @returns The app corresponding to the provided app name.\r\n * If no app name is provided, the default app is returned.\r\n *\r\n * @public\r\n */\r\nfunction getApp(name = DEFAULT_ENTRY_NAME) {\r\n const app = _apps.get(name);\r\n if (!app && name === DEFAULT_ENTRY_NAME && getDefaultAppConfig()) {\r\n return initializeApp();\r\n }\r\n if (!app) {\r\n throw ERROR_FACTORY.create(\"no-app\" /* AppError.NO_APP */, { appName: name });\r\n }\r\n return app;\r\n}\r\n/**\r\n * A (read-only) array of all initialized apps.\r\n * @public\r\n */\r\nfunction getApps() {\r\n return Array.from(_apps.values());\r\n}\r\n/**\r\n * Renders this app unusable and frees the resources of all associated\r\n * services.\r\n *\r\n * @example\r\n * ```javascript\r\n * deleteApp(app)\r\n * .then(function() {\r\n * console.log(\"App deleted successfully\");\r\n * })\r\n * .catch(function(error) {\r\n * console.log(\"Error deleting app:\", error);\r\n * });\r\n * ```\r\n *\r\n * @public\r\n */\r\nasync function deleteApp(app) {\r\n let cleanupProviders = false;\r\n const name = app.name;\r\n if (_apps.has(name)) {\r\n cleanupProviders = true;\r\n _apps.delete(name);\r\n }\r\n else if (_serverApps.has(name)) {\r\n const firebaseServerApp = app;\r\n if (firebaseServerApp.decRefCount() <= 0) {\r\n _serverApps.delete(name);\r\n cleanupProviders = true;\r\n }\r\n }\r\n if (cleanupProviders) {\r\n await Promise.all(app.container\r\n .getProviders()\r\n .map(provider => provider.delete()));\r\n app.isDeleted = true;\r\n }\r\n}\r\n/**\r\n * Registers a library's name and version for platform logging purposes.\r\n * @param library - Name of 1p or 3p library (e.g. firestore, angularfire)\r\n * @param version - Current version of that library.\r\n * @param variant - Bundle variant, e.g., node, rn, etc.\r\n *\r\n * @public\r\n */\r\nfunction registerVersion(libraryKeyOrName, version, variant) {\r\n var _a;\r\n // TODO: We can use this check to whitelist strings when/if we set up\r\n // a good whitelist system.\r\n let library = (_a = PLATFORM_LOG_STRING[libraryKeyOrName]) !== null && _a !== void 0 ? _a : libraryKeyOrName;\r\n if (variant) {\r\n library += `-${variant}`;\r\n }\r\n const libraryMismatch = library.match(/\\s|\\//);\r\n const versionMismatch = version.match(/\\s|\\//);\r\n if (libraryMismatch || versionMismatch) {\r\n const warning = [\r\n `Unable to register library \"${library}\" with version \"${version}\":`\r\n ];\r\n if (libraryMismatch) {\r\n warning.push(`library name \"${library}\" contains illegal characters (whitespace or \"/\")`);\r\n }\r\n if (libraryMismatch && versionMismatch) {\r\n warning.push('and');\r\n }\r\n if (versionMismatch) {\r\n warning.push(`version name \"${version}\" contains illegal characters (whitespace or \"/\")`);\r\n }\r\n logger.warn(warning.join(' '));\r\n return;\r\n }\r\n _registerComponent(new Component(`${library}-version`, () => ({ library, version }), \"VERSION\" /* ComponentType.VERSION */));\r\n}\r\n/**\r\n * Sets log handler for all Firebase SDKs.\r\n * @param logCallback - An optional custom log handler that executes user code whenever\r\n * the Firebase SDK makes a logging call.\r\n *\r\n * @public\r\n */\r\nfunction onLog(logCallback, options) {\r\n if (logCallback !== null && typeof logCallback !== 'function') {\r\n throw ERROR_FACTORY.create(\"invalid-log-argument\" /* AppError.INVALID_LOG_ARGUMENT */);\r\n }\r\n setUserLogHandler(logCallback, options);\r\n}\r\n/**\r\n * Sets log level for all Firebase SDKs.\r\n *\r\n * All of the log types above the current log level are captured (i.e. if\r\n * you set the log level to `info`, errors are logged, but `debug` and\r\n * `verbose` logs are not).\r\n *\r\n * @public\r\n */\r\nfunction setLogLevel(logLevel) {\r\n setLogLevel$1(logLevel);\r\n}\n\n/**\r\n * @license\r\n * Copyright 2021 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\nconst DB_NAME = 'firebase-heartbeat-database';\r\nconst DB_VERSION = 1;\r\nconst STORE_NAME = 'firebase-heartbeat-store';\r\nlet dbPromise = null;\r\nfunction getDbPromise() {\r\n if (!dbPromise) {\r\n dbPromise = openDB(DB_NAME, DB_VERSION, {\r\n upgrade: (db, oldVersion) => {\r\n // We don't use 'break' in this switch statement, the fall-through\r\n // behavior is what we want, because if there are multiple versions between\r\n // the old version and the current version, we want ALL the migrations\r\n // that correspond to those versions to run, not only the last one.\r\n // eslint-disable-next-line default-case\r\n switch (oldVersion) {\r\n case 0:\r\n try {\r\n db.createObjectStore(STORE_NAME);\r\n }\r\n catch (e) {\r\n // Safari/iOS browsers throw occasional exceptions on\r\n // db.createObjectStore() that may be a bug. Avoid blocking\r\n // the rest of the app functionality.\r\n console.warn(e);\r\n }\r\n }\r\n }\r\n }).catch(e => {\r\n throw ERROR_FACTORY.create(\"idb-open\" /* AppError.IDB_OPEN */, {\r\n originalErrorMessage: e.message\r\n });\r\n });\r\n }\r\n return dbPromise;\r\n}\r\nasync function readHeartbeatsFromIndexedDB(app) {\r\n try {\r\n const db = await getDbPromise();\r\n const tx = db.transaction(STORE_NAME);\r\n const result = await tx.objectStore(STORE_NAME).get(computeKey(app));\r\n // We already have the value but tx.done can throw,\r\n // so we need to await it here to catch errors\r\n await tx.done;\r\n return result;\r\n }\r\n catch (e) {\r\n if (e instanceof FirebaseError) {\r\n logger.warn(e.message);\r\n }\r\n else {\r\n const idbGetError = ERROR_FACTORY.create(\"idb-get\" /* AppError.IDB_GET */, {\r\n originalErrorMessage: e === null || e === void 0 ? void 0 : e.message\r\n });\r\n logger.warn(idbGetError.message);\r\n }\r\n }\r\n}\r\nasync function writeHeartbeatsToIndexedDB(app, heartbeatObject) {\r\n try {\r\n const db = await getDbPromise();\r\n const tx = db.transaction(STORE_NAME, 'readwrite');\r\n const objectStore = tx.objectStore(STORE_NAME);\r\n await objectStore.put(heartbeatObject, computeKey(app));\r\n await tx.done;\r\n }\r\n catch (e) {\r\n if (e instanceof FirebaseError) {\r\n logger.warn(e.message);\r\n }\r\n else {\r\n const idbGetError = ERROR_FACTORY.create(\"idb-set\" /* AppError.IDB_WRITE */, {\r\n originalErrorMessage: e === null || e === void 0 ? void 0 : e.message\r\n });\r\n logger.warn(idbGetError.message);\r\n }\r\n }\r\n}\r\nfunction computeKey(app) {\r\n return `${app.name}!${app.options.appId}`;\r\n}\n\n/**\r\n * @license\r\n * Copyright 2021 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\nconst MAX_HEADER_BYTES = 1024;\r\n// 30 days\r\nconst STORED_HEARTBEAT_RETENTION_MAX_MILLIS = 30 * 24 * 60 * 60 * 1000;\r\nclass HeartbeatServiceImpl {\r\n constructor(container) {\r\n this.container = container;\r\n /**\r\n * In-memory cache for heartbeats, used by getHeartbeatsHeader() to generate\r\n * the header string.\r\n * Stores one record per date. This will be consolidated into the standard\r\n * format of one record per user agent string before being sent as a header.\r\n * Populated from indexedDB when the controller is instantiated and should\r\n * be kept in sync with indexedDB.\r\n * Leave public for easier testing.\r\n */\r\n this._heartbeatsCache = null;\r\n const app = this.container.getProvider('app').getImmediate();\r\n this._storage = new HeartbeatStorageImpl(app);\r\n this._heartbeatsCachePromise = this._storage.read().then(result => {\r\n this._heartbeatsCache = result;\r\n return result;\r\n });\r\n }\r\n /**\r\n * Called to report a heartbeat. The function will generate\r\n * a HeartbeatsByUserAgent object, update heartbeatsCache, and persist it\r\n * to IndexedDB.\r\n * Note that we only store one heartbeat per day. So if a heartbeat for today is\r\n * already logged, subsequent calls to this function in the same day will be ignored.\r\n */\r\n async triggerHeartbeat() {\r\n var _a, _b;\r\n const platformLogger = this.container\r\n .getProvider('platform-logger')\r\n .getImmediate();\r\n // This is the \"Firebase user agent\" string from the platform logger\r\n // service, not the browser user agent.\r\n const agent = platformLogger.getPlatformInfoString();\r\n const date = getUTCDateString();\r\n if (((_a = this._heartbeatsCache) === null || _a === void 0 ? void 0 : _a.heartbeats) == null) {\r\n this._heartbeatsCache = await this._heartbeatsCachePromise;\r\n // If we failed to construct a heartbeats cache, then return immediately.\r\n if (((_b = this._heartbeatsCache) === null || _b === void 0 ? void 0 : _b.heartbeats) == null) {\r\n return;\r\n }\r\n }\r\n // Do not store a heartbeat if one is already stored for this day\r\n // or if a header has already been sent today.\r\n if (this._heartbeatsCache.lastSentHeartbeatDate === date ||\r\n this._heartbeatsCache.heartbeats.some(singleDateHeartbeat => singleDateHeartbeat.date === date)) {\r\n return;\r\n }\r\n else {\r\n // There is no entry for this date. Create one.\r\n this._heartbeatsCache.heartbeats.push({ date, agent });\r\n }\r\n // Remove entries older than 30 days.\r\n this._heartbeatsCache.heartbeats = this._heartbeatsCache.heartbeats.filter(singleDateHeartbeat => {\r\n const hbTimestamp = new Date(singleDateHeartbeat.date).valueOf();\r\n const now = Date.now();\r\n return now - hbTimestamp <= STORED_HEARTBEAT_RETENTION_MAX_MILLIS;\r\n });\r\n return this._storage.overwrite(this._heartbeatsCache);\r\n }\r\n /**\r\n * Returns a base64 encoded string which can be attached to the heartbeat-specific header directly.\r\n * It also clears all heartbeats from memory as well as in IndexedDB.\r\n *\r\n * NOTE: Consuming product SDKs should not send the header if this method\r\n * returns an empty string.\r\n */\r\n async getHeartbeatsHeader() {\r\n var _a;\r\n if (this._heartbeatsCache === null) {\r\n await this._heartbeatsCachePromise;\r\n }\r\n // If it's still null or the array is empty, there is no data to send.\r\n if (((_a = this._heartbeatsCache) === null || _a === void 0 ? void 0 : _a.heartbeats) == null ||\r\n this._heartbeatsCache.heartbeats.length === 0) {\r\n return '';\r\n }\r\n const date = getUTCDateString();\r\n // Extract as many heartbeats from the cache as will fit under the size limit.\r\n const { heartbeatsToSend, unsentEntries } = extractHeartbeatsForHeader(this._heartbeatsCache.heartbeats);\r\n const headerString = base64urlEncodeWithoutPadding(JSON.stringify({ version: 2, heartbeats: heartbeatsToSend }));\r\n // Store last sent date to prevent another being logged/sent for the same day.\r\n this._heartbeatsCache.lastSentHeartbeatDate = date;\r\n if (unsentEntries.length > 0) {\r\n // Store any unsent entries if they exist.\r\n this._heartbeatsCache.heartbeats = unsentEntries;\r\n // This seems more likely than emptying the array (below) to lead to some odd state\r\n // since the cache isn't empty and this will be called again on the next request,\r\n // and is probably safest if we await it.\r\n await this._storage.overwrite(this._heartbeatsCache);\r\n }\r\n else {\r\n this._heartbeatsCache.heartbeats = [];\r\n // Do not wait for this, to reduce latency.\r\n void this._storage.overwrite(this._heartbeatsCache);\r\n }\r\n return headerString;\r\n }\r\n}\r\nfunction getUTCDateString() {\r\n const today = new Date();\r\n // Returns date format 'YYYY-MM-DD'\r\n return today.toISOString().substring(0, 10);\r\n}\r\nfunction extractHeartbeatsForHeader(heartbeatsCache, maxSize = MAX_HEADER_BYTES) {\r\n // Heartbeats grouped by user agent in the standard format to be sent in\r\n // the header.\r\n const heartbeatsToSend = [];\r\n // Single date format heartbeats that are not sent.\r\n let unsentEntries = heartbeatsCache.slice();\r\n for (const singleDateHeartbeat of heartbeatsCache) {\r\n // Look for an existing entry with the same user agent.\r\n const heartbeatEntry = heartbeatsToSend.find(hb => hb.agent === singleDateHeartbeat.agent);\r\n if (!heartbeatEntry) {\r\n // If no entry for this user agent exists, create one.\r\n heartbeatsToSend.push({\r\n agent: singleDateHeartbeat.agent,\r\n dates: [singleDateHeartbeat.date]\r\n });\r\n if (countBytes(heartbeatsToSend) > maxSize) {\r\n // If the header would exceed max size, remove the added heartbeat\r\n // entry and stop adding to the header.\r\n heartbeatsToSend.pop();\r\n break;\r\n }\r\n }\r\n else {\r\n heartbeatEntry.dates.push(singleDateHeartbeat.date);\r\n // If the header would exceed max size, remove the added date\r\n // and stop adding to the header.\r\n if (countBytes(heartbeatsToSend) > maxSize) {\r\n heartbeatEntry.dates.pop();\r\n break;\r\n }\r\n }\r\n // Pop unsent entry from queue. (Skipped if adding the entry exceeded\r\n // quota and the loop breaks early.)\r\n unsentEntries = unsentEntries.slice(1);\r\n }\r\n return {\r\n heartbeatsToSend,\r\n unsentEntries\r\n };\r\n}\r\nclass HeartbeatStorageImpl {\r\n constructor(app) {\r\n this.app = app;\r\n this._canUseIndexedDBPromise = this.runIndexedDBEnvironmentCheck();\r\n }\r\n async runIndexedDBEnvironmentCheck() {\r\n if (!isIndexedDBAvailable()) {\r\n return false;\r\n }\r\n else {\r\n return validateIndexedDBOpenable()\r\n .then(() => true)\r\n .catch(() => false);\r\n }\r\n }\r\n /**\r\n * Read all heartbeats.\r\n */\r\n async read() {\r\n const canUseIndexedDB = await this._canUseIndexedDBPromise;\r\n if (!canUseIndexedDB) {\r\n return { heartbeats: [] };\r\n }\r\n else {\r\n const idbHeartbeatObject = await readHeartbeatsFromIndexedDB(this.app);\r\n if (idbHeartbeatObject === null || idbHeartbeatObject === void 0 ? void 0 : idbHeartbeatObject.heartbeats) {\r\n return idbHeartbeatObject;\r\n }\r\n else {\r\n return { heartbeats: [] };\r\n }\r\n }\r\n }\r\n // overwrite the storage with the provided heartbeats\r\n async overwrite(heartbeatsObject) {\r\n var _a;\r\n const canUseIndexedDB = await this._canUseIndexedDBPromise;\r\n if (!canUseIndexedDB) {\r\n return;\r\n }\r\n else {\r\n const existingHeartbeatsObject = await this.read();\r\n return writeHeartbeatsToIndexedDB(this.app, {\r\n lastSentHeartbeatDate: (_a = heartbeatsObject.lastSentHeartbeatDate) !== null && _a !== void 0 ? _a : existingHeartbeatsObject.lastSentHeartbeatDate,\r\n heartbeats: heartbeatsObject.heartbeats\r\n });\r\n }\r\n }\r\n // add heartbeats\r\n async add(heartbeatsObject) {\r\n var _a;\r\n const canUseIndexedDB = await this._canUseIndexedDBPromise;\r\n if (!canUseIndexedDB) {\r\n return;\r\n }\r\n else {\r\n const existingHeartbeatsObject = await this.read();\r\n return writeHeartbeatsToIndexedDB(this.app, {\r\n lastSentHeartbeatDate: (_a = heartbeatsObject.lastSentHeartbeatDate) !== null && _a !== void 0 ? _a : existingHeartbeatsObject.lastSentHeartbeatDate,\r\n heartbeats: [\r\n ...existingHeartbeatsObject.heartbeats,\r\n ...heartbeatsObject.heartbeats\r\n ]\r\n });\r\n }\r\n }\r\n}\r\n/**\r\n * Calculate bytes of a HeartbeatsByUserAgent array after being wrapped\r\n * in a platform logging header JSON object, stringified, and converted\r\n * to base 64.\r\n */\r\nfunction countBytes(heartbeatsCache) {\r\n // base64 has a restricted set of characters, all of which should be 1 byte.\r\n return base64urlEncodeWithoutPadding(\r\n // heartbeatsCache wrapper properties\r\n JSON.stringify({ version: 2, heartbeats: heartbeatsCache })).length;\r\n}\n\n/**\r\n * @license\r\n * Copyright 2019 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\nfunction registerCoreComponents(variant) {\r\n _registerComponent(new Component('platform-logger', container => new PlatformLoggerServiceImpl(container), \"PRIVATE\" /* ComponentType.PRIVATE */));\r\n _registerComponent(new Component('heartbeat', container => new HeartbeatServiceImpl(container), \"PRIVATE\" /* ComponentType.PRIVATE */));\r\n // Register `app` package.\r\n registerVersion(name$p, version$1, variant);\r\n // BUILD_TARGET will be replaced by values like esm5, esm2017, cjs5, etc during the compilation\r\n registerVersion(name$p, version$1, 'esm2017');\r\n // Register platform SDK identifier (no version).\r\n registerVersion('fire-js', '');\r\n}\n\n/**\r\n * Firebase App\r\n *\r\n * @remarks This package coordinates the communication between the different Firebase components\r\n * @packageDocumentation\r\n */\r\nregisterCoreComponents('');\n\nexport { SDK_VERSION, DEFAULT_ENTRY_NAME as _DEFAULT_ENTRY_NAME, _addComponent, _addOrOverwriteComponent, _apps, _clearComponents, _components, _getProvider, _isFirebaseApp, _isFirebaseServerApp, _registerComponent, _removeServiceInstance, _serverApps, deleteApp, getApp, getApps, initializeApp, initializeServerApp, onLog, registerVersion, setLogLevel };\n//# sourceMappingURL=index.esm2017.js.map\n","import { registerVersion } from '@firebase/app';\nexport * from '@firebase/app';\n\nvar name = \"firebase\";\nvar version = \"10.12.4\";\n\n/**\r\n * @license\r\n * Copyright 2020 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\nregisterVersion(name, version, 'app');\n//# sourceMappingURL=index.esm.js.map\n"],"names":["stringToByteArray$1","str","out","p","i","c","byteArrayToString","bytes","pos","c1","c2","c3","c4","u","base64","input","webSafe","byteToCharMap","output","byte1","haveByte2","byte2","haveByte3","byte3","outByte1","outByte2","outByte3","outByte4","charToByteMap","byte4","DecodeBase64StringError","base64Encode","utf8Bytes","base64urlEncodeWithoutPadding","base64Decode","getGlobal","getDefaultsFromGlobal","getDefaultsFromEnvVariable","define_process_env_default","defaultsJsonString","getDefaultsFromCookie","match","decoded","getDefaults","e","getDefaultAppConfig","_a","Deferred","resolve","reject","callback","error","value","isIndexedDBAvailable","validateIndexedDBOpenable","preExist","DB_CHECK_NAME","request","ERROR_NAME","FirebaseError","code","message","customData","ErrorFactory","service","serviceName","errors","data","fullCode","template","replaceTemplate","fullMessage","PATTERN","_","key","deepEqual","a","b","aKeys","bKeys","k","aProp","bProp","isObject","thing","Component","name","instanceFactory","type","mode","multipleInstances","props","DEFAULT_ENTRY_NAME","Provider","container","identifier","normalizedIdentifier","deferred","instance","options","optional","component","isComponentEager","instanceIdentifier","instanceDeferred","services","opts","normalizedDeferredIdentifier","existingCallbacks","existingInstance","callbacks","normalizeIdentifierForFactory","ComponentContainer","provider","LogLevel","levelStringToEnum","defaultLogLevel","ConsoleMethod","defaultLogHandler","logType","args","now","method","Logger","val","instanceOfAny","object","constructors","idbProxyableTypes","cursorAdvanceMethods","getIdbProxyableTypes","getCursorAdvanceMethods","cursorRequestMap","transactionDoneMap","transactionStoreNamesMap","transformCache","reverseTransformCache","promisifyRequest","promise","unlisten","success","wrap","cacheDonePromiseForTransaction","tx","done","complete","idbProxyTraps","target","prop","receiver","replaceTraps","wrapFunction","func","storeNames","unwrap","transformCachableValue","newValue","openDB","version","blocked","upgrade","blocking","terminated","openPromise","event","db","readMethods","writeMethods","cachedMethods","getMethod","targetFuncName","useIndex","isWrite","storeName","oldTraps","PlatformLoggerServiceImpl","isVersionServiceProvider","logString","name$p","version$1","logger","name$o","name$n","name$m","name$l","name$k","name$j","name$i","name$h","name$g","name$f","name$e","name$d","name$c","name$b","name$a","name$9","name$8","name$7","name$6","name$5","name$4","name$3","name$2","name$1","PLATFORM_LOG_STRING","_apps","_serverApps","_components","_addComponent","app","_registerComponent","componentName","serverApp","ERRORS","ERROR_FACTORY","FirebaseAppImpl","config","initializeApp","_options","rawConfig","existingApp","newApp","registerVersion","libraryKeyOrName","variant","library","libraryMismatch","versionMismatch","warning","DB_NAME","DB_VERSION","STORE_NAME","dbPromise","getDbPromise","oldVersion","readHeartbeatsFromIndexedDB","result","computeKey","idbGetError","writeHeartbeatsToIndexedDB","heartbeatObject","MAX_HEADER_BYTES","STORED_HEARTBEAT_RETENTION_MAX_MILLIS","HeartbeatServiceImpl","HeartbeatStorageImpl","_b","agent","date","getUTCDateString","singleDateHeartbeat","hbTimestamp","heartbeatsToSend","unsentEntries","extractHeartbeatsForHeader","headerString","heartbeatsCache","maxSize","heartbeatEntry","hb","countBytes","idbHeartbeatObject","heartbeatsObject","existingHeartbeatsObject","registerCoreComponents"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,5,6]} \ No newline at end of file +{"version":3,"file":"index.esm.DRVoThhD.js","sources":["../../../../../../node_modules/@firebase/util/dist/index.esm2017.js","../../../../../../node_modules/@firebase/component/dist/esm/index.esm2017.js","../../../../../../node_modules/@firebase/logger/dist/esm/index.esm2017.js","../../../../../../node_modules/idb/build/wrap-idb-value.js","../../../../../../node_modules/idb/build/index.js","../../../../../../node_modules/@firebase/app/dist/esm/index.esm2017.js","../../node_modules/firebase/app/dist/esm/index.esm.js"],"sourcesContent":["/**\r\n * @license\r\n * Copyright 2017 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n/**\r\n * @fileoverview Firebase constants. Some of these (@defines) can be overridden at compile-time.\r\n */\r\nconst CONSTANTS = {\r\n /**\r\n * @define {boolean} Whether this is the client Node.js SDK.\r\n */\r\n NODE_CLIENT: false,\r\n /**\r\n * @define {boolean} Whether this is the Admin Node.js SDK.\r\n */\r\n NODE_ADMIN: false,\r\n /**\r\n * Firebase SDK Version\r\n */\r\n SDK_VERSION: '${JSCORE_VERSION}'\r\n};\n\n/**\r\n * @license\r\n * Copyright 2017 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n/**\r\n * Throws an error if the provided assertion is falsy\r\n */\r\nconst assert = function (assertion, message) {\r\n if (!assertion) {\r\n throw assertionError(message);\r\n }\r\n};\r\n/**\r\n * Returns an Error object suitable for throwing.\r\n */\r\nconst assertionError = function (message) {\r\n return new Error('Firebase Database (' +\r\n CONSTANTS.SDK_VERSION +\r\n ') INTERNAL ASSERT FAILED: ' +\r\n message);\r\n};\n\n/**\r\n * @license\r\n * Copyright 2017 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\nconst stringToByteArray$1 = function (str) {\r\n // TODO(user): Use native implementations if/when available\r\n const out = [];\r\n let p = 0;\r\n for (let i = 0; i < str.length; i++) {\r\n let c = str.charCodeAt(i);\r\n if (c < 128) {\r\n out[p++] = c;\r\n }\r\n else if (c < 2048) {\r\n out[p++] = (c >> 6) | 192;\r\n out[p++] = (c & 63) | 128;\r\n }\r\n else if ((c & 0xfc00) === 0xd800 &&\r\n i + 1 < str.length &&\r\n (str.charCodeAt(i + 1) & 0xfc00) === 0xdc00) {\r\n // Surrogate Pair\r\n c = 0x10000 + ((c & 0x03ff) << 10) + (str.charCodeAt(++i) & 0x03ff);\r\n out[p++] = (c >> 18) | 240;\r\n out[p++] = ((c >> 12) & 63) | 128;\r\n out[p++] = ((c >> 6) & 63) | 128;\r\n out[p++] = (c & 63) | 128;\r\n }\r\n else {\r\n out[p++] = (c >> 12) | 224;\r\n out[p++] = ((c >> 6) & 63) | 128;\r\n out[p++] = (c & 63) | 128;\r\n }\r\n }\r\n return out;\r\n};\r\n/**\r\n * Turns an array of numbers into the string given by the concatenation of the\r\n * characters to which the numbers correspond.\r\n * @param bytes Array of numbers representing characters.\r\n * @return Stringification of the array.\r\n */\r\nconst byteArrayToString = function (bytes) {\r\n // TODO(user): Use native implementations if/when available\r\n const out = [];\r\n let pos = 0, c = 0;\r\n while (pos < bytes.length) {\r\n const c1 = bytes[pos++];\r\n if (c1 < 128) {\r\n out[c++] = String.fromCharCode(c1);\r\n }\r\n else if (c1 > 191 && c1 < 224) {\r\n const c2 = bytes[pos++];\r\n out[c++] = String.fromCharCode(((c1 & 31) << 6) | (c2 & 63));\r\n }\r\n else if (c1 > 239 && c1 < 365) {\r\n // Surrogate Pair\r\n const c2 = bytes[pos++];\r\n const c3 = bytes[pos++];\r\n const c4 = bytes[pos++];\r\n const u = (((c1 & 7) << 18) | ((c2 & 63) << 12) | ((c3 & 63) << 6) | (c4 & 63)) -\r\n 0x10000;\r\n out[c++] = String.fromCharCode(0xd800 + (u >> 10));\r\n out[c++] = String.fromCharCode(0xdc00 + (u & 1023));\r\n }\r\n else {\r\n const c2 = bytes[pos++];\r\n const c3 = bytes[pos++];\r\n out[c++] = String.fromCharCode(((c1 & 15) << 12) | ((c2 & 63) << 6) | (c3 & 63));\r\n }\r\n }\r\n return out.join('');\r\n};\r\n// We define it as an object literal instead of a class because a class compiled down to es5 can't\r\n// be treeshaked. https://github.com/rollup/rollup/issues/1691\r\n// Static lookup maps, lazily populated by init_()\r\nconst base64 = {\r\n /**\r\n * Maps bytes to characters.\r\n */\r\n byteToCharMap_: null,\r\n /**\r\n * Maps characters to bytes.\r\n */\r\n charToByteMap_: null,\r\n /**\r\n * Maps bytes to websafe characters.\r\n * @private\r\n */\r\n byteToCharMapWebSafe_: null,\r\n /**\r\n * Maps websafe characters to bytes.\r\n * @private\r\n */\r\n charToByteMapWebSafe_: null,\r\n /**\r\n * Our default alphabet, shared between\r\n * ENCODED_VALS and ENCODED_VALS_WEBSAFE\r\n */\r\n ENCODED_VALS_BASE: 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' + 'abcdefghijklmnopqrstuvwxyz' + '0123456789',\r\n /**\r\n * Our default alphabet. Value 64 (=) is special; it means \"nothing.\"\r\n */\r\n get ENCODED_VALS() {\r\n return this.ENCODED_VALS_BASE + '+/=';\r\n },\r\n /**\r\n * Our websafe alphabet.\r\n */\r\n get ENCODED_VALS_WEBSAFE() {\r\n return this.ENCODED_VALS_BASE + '-_.';\r\n },\r\n /**\r\n * Whether this browser supports the atob and btoa functions. This extension\r\n * started at Mozilla but is now implemented by many browsers. We use the\r\n * ASSUME_* variables to avoid pulling in the full useragent detection library\r\n * but still allowing the standard per-browser compilations.\r\n *\r\n */\r\n HAS_NATIVE_SUPPORT: typeof atob === 'function',\r\n /**\r\n * Base64-encode an array of bytes.\r\n *\r\n * @param input An array of bytes (numbers with\r\n * value in [0, 255]) to encode.\r\n * @param webSafe Boolean indicating we should use the\r\n * alternative alphabet.\r\n * @return The base64 encoded string.\r\n */\r\n encodeByteArray(input, webSafe) {\r\n if (!Array.isArray(input)) {\r\n throw Error('encodeByteArray takes an array as a parameter');\r\n }\r\n this.init_();\r\n const byteToCharMap = webSafe\r\n ? this.byteToCharMapWebSafe_\r\n : this.byteToCharMap_;\r\n const output = [];\r\n for (let i = 0; i < input.length; i += 3) {\r\n const byte1 = input[i];\r\n const haveByte2 = i + 1 < input.length;\r\n const byte2 = haveByte2 ? input[i + 1] : 0;\r\n const haveByte3 = i + 2 < input.length;\r\n const byte3 = haveByte3 ? input[i + 2] : 0;\r\n const outByte1 = byte1 >> 2;\r\n const outByte2 = ((byte1 & 0x03) << 4) | (byte2 >> 4);\r\n let outByte3 = ((byte2 & 0x0f) << 2) | (byte3 >> 6);\r\n let outByte4 = byte3 & 0x3f;\r\n if (!haveByte3) {\r\n outByte4 = 64;\r\n if (!haveByte2) {\r\n outByte3 = 64;\r\n }\r\n }\r\n output.push(byteToCharMap[outByte1], byteToCharMap[outByte2], byteToCharMap[outByte3], byteToCharMap[outByte4]);\r\n }\r\n return output.join('');\r\n },\r\n /**\r\n * Base64-encode a string.\r\n *\r\n * @param input A string to encode.\r\n * @param webSafe If true, we should use the\r\n * alternative alphabet.\r\n * @return The base64 encoded string.\r\n */\r\n encodeString(input, webSafe) {\r\n // Shortcut for Mozilla browsers that implement\r\n // a native base64 encoder in the form of \"btoa/atob\"\r\n if (this.HAS_NATIVE_SUPPORT && !webSafe) {\r\n return btoa(input);\r\n }\r\n return this.encodeByteArray(stringToByteArray$1(input), webSafe);\r\n },\r\n /**\r\n * Base64-decode a string.\r\n *\r\n * @param input to decode.\r\n * @param webSafe True if we should use the\r\n * alternative alphabet.\r\n * @return string representing the decoded value.\r\n */\r\n decodeString(input, webSafe) {\r\n // Shortcut for Mozilla browsers that implement\r\n // a native base64 encoder in the form of \"btoa/atob\"\r\n if (this.HAS_NATIVE_SUPPORT && !webSafe) {\r\n return atob(input);\r\n }\r\n return byteArrayToString(this.decodeStringToByteArray(input, webSafe));\r\n },\r\n /**\r\n * Base64-decode a string.\r\n *\r\n * In base-64 decoding, groups of four characters are converted into three\r\n * bytes. If the encoder did not apply padding, the input length may not\r\n * be a multiple of 4.\r\n *\r\n * In this case, the last group will have fewer than 4 characters, and\r\n * padding will be inferred. If the group has one or two characters, it decodes\r\n * to one byte. If the group has three characters, it decodes to two bytes.\r\n *\r\n * @param input Input to decode.\r\n * @param webSafe True if we should use the web-safe alphabet.\r\n * @return bytes representing the decoded value.\r\n */\r\n decodeStringToByteArray(input, webSafe) {\r\n this.init_();\r\n const charToByteMap = webSafe\r\n ? this.charToByteMapWebSafe_\r\n : this.charToByteMap_;\r\n const output = [];\r\n for (let i = 0; i < input.length;) {\r\n const byte1 = charToByteMap[input.charAt(i++)];\r\n const haveByte2 = i < input.length;\r\n const byte2 = haveByte2 ? charToByteMap[input.charAt(i)] : 0;\r\n ++i;\r\n const haveByte3 = i < input.length;\r\n const byte3 = haveByte3 ? charToByteMap[input.charAt(i)] : 64;\r\n ++i;\r\n const haveByte4 = i < input.length;\r\n const byte4 = haveByte4 ? charToByteMap[input.charAt(i)] : 64;\r\n ++i;\r\n if (byte1 == null || byte2 == null || byte3 == null || byte4 == null) {\r\n throw new DecodeBase64StringError();\r\n }\r\n const outByte1 = (byte1 << 2) | (byte2 >> 4);\r\n output.push(outByte1);\r\n if (byte3 !== 64) {\r\n const outByte2 = ((byte2 << 4) & 0xf0) | (byte3 >> 2);\r\n output.push(outByte2);\r\n if (byte4 !== 64) {\r\n const outByte3 = ((byte3 << 6) & 0xc0) | byte4;\r\n output.push(outByte3);\r\n }\r\n }\r\n }\r\n return output;\r\n },\r\n /**\r\n * Lazy static initialization function. Called before\r\n * accessing any of the static map variables.\r\n * @private\r\n */\r\n init_() {\r\n if (!this.byteToCharMap_) {\r\n this.byteToCharMap_ = {};\r\n this.charToByteMap_ = {};\r\n this.byteToCharMapWebSafe_ = {};\r\n this.charToByteMapWebSafe_ = {};\r\n // We want quick mappings back and forth, so we precompute two maps.\r\n for (let i = 0; i < this.ENCODED_VALS.length; i++) {\r\n this.byteToCharMap_[i] = this.ENCODED_VALS.charAt(i);\r\n this.charToByteMap_[this.byteToCharMap_[i]] = i;\r\n this.byteToCharMapWebSafe_[i] = this.ENCODED_VALS_WEBSAFE.charAt(i);\r\n this.charToByteMapWebSafe_[this.byteToCharMapWebSafe_[i]] = i;\r\n // Be forgiving when decoding and correctly decode both encodings.\r\n if (i >= this.ENCODED_VALS_BASE.length) {\r\n this.charToByteMap_[this.ENCODED_VALS_WEBSAFE.charAt(i)] = i;\r\n this.charToByteMapWebSafe_[this.ENCODED_VALS.charAt(i)] = i;\r\n }\r\n }\r\n }\r\n }\r\n};\r\n/**\r\n * An error encountered while decoding base64 string.\r\n */\r\nclass DecodeBase64StringError extends Error {\r\n constructor() {\r\n super(...arguments);\r\n this.name = 'DecodeBase64StringError';\r\n }\r\n}\r\n/**\r\n * URL-safe base64 encoding\r\n */\r\nconst base64Encode = function (str) {\r\n const utf8Bytes = stringToByteArray$1(str);\r\n return base64.encodeByteArray(utf8Bytes, true);\r\n};\r\n/**\r\n * URL-safe base64 encoding (without \".\" padding in the end).\r\n * e.g. Used in JSON Web Token (JWT) parts.\r\n */\r\nconst base64urlEncodeWithoutPadding = function (str) {\r\n // Use base64url encoding and remove padding in the end (dot characters).\r\n return base64Encode(str).replace(/\\./g, '');\r\n};\r\n/**\r\n * URL-safe base64 decoding\r\n *\r\n * NOTE: DO NOT use the global atob() function - it does NOT support the\r\n * base64Url variant encoding.\r\n *\r\n * @param str To be decoded\r\n * @return Decoded result, if possible\r\n */\r\nconst base64Decode = function (str) {\r\n try {\r\n return base64.decodeString(str, true);\r\n }\r\n catch (e) {\r\n console.error('base64Decode failed: ', e);\r\n }\r\n return null;\r\n};\n\n/**\r\n * @license\r\n * Copyright 2017 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n/**\r\n * Do a deep-copy of basic JavaScript Objects or Arrays.\r\n */\r\nfunction deepCopy(value) {\r\n return deepExtend(undefined, value);\r\n}\r\n/**\r\n * Copy properties from source to target (recursively allows extension\r\n * of Objects and Arrays). Scalar values in the target are over-written.\r\n * If target is undefined, an object of the appropriate type will be created\r\n * (and returned).\r\n *\r\n * We recursively copy all child properties of plain Objects in the source- so\r\n * that namespace- like dictionaries are merged.\r\n *\r\n * Note that the target can be a function, in which case the properties in\r\n * the source Object are copied onto it as static properties of the Function.\r\n *\r\n * Note: we don't merge __proto__ to prevent prototype pollution\r\n */\r\nfunction deepExtend(target, source) {\r\n if (!(source instanceof Object)) {\r\n return source;\r\n }\r\n switch (source.constructor) {\r\n case Date:\r\n // Treat Dates like scalars; if the target date object had any child\r\n // properties - they will be lost!\r\n const dateValue = source;\r\n return new Date(dateValue.getTime());\r\n case Object:\r\n if (target === undefined) {\r\n target = {};\r\n }\r\n break;\r\n case Array:\r\n // Always copy the array source and overwrite the target.\r\n target = [];\r\n break;\r\n default:\r\n // Not a plain Object - treat it as a scalar.\r\n return source;\r\n }\r\n for (const prop in source) {\r\n // use isValidKey to guard against prototype pollution. See https://snyk.io/vuln/SNYK-JS-LODASH-450202\r\n if (!source.hasOwnProperty(prop) || !isValidKey(prop)) {\r\n continue;\r\n }\r\n target[prop] = deepExtend(target[prop], source[prop]);\r\n }\r\n return target;\r\n}\r\nfunction isValidKey(key) {\r\n return key !== '__proto__';\r\n}\n\n/**\r\n * @license\r\n * Copyright 2022 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n/**\r\n * Polyfill for `globalThis` object.\r\n * @returns the `globalThis` object for the given environment.\r\n * @public\r\n */\r\nfunction getGlobal() {\r\n if (typeof self !== 'undefined') {\r\n return self;\r\n }\r\n if (typeof window !== 'undefined') {\r\n return window;\r\n }\r\n if (typeof global !== 'undefined') {\r\n return global;\r\n }\r\n throw new Error('Unable to locate global object.');\r\n}\n\n/**\r\n * @license\r\n * Copyright 2022 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\nconst getDefaultsFromGlobal = () => getGlobal().__FIREBASE_DEFAULTS__;\r\n/**\r\n * Attempt to read defaults from a JSON string provided to\r\n * process(.)env(.)__FIREBASE_DEFAULTS__ or a JSON file whose path is in\r\n * process(.)env(.)__FIREBASE_DEFAULTS_PATH__\r\n * The dots are in parens because certain compilers (Vite?) cannot\r\n * handle seeing that variable in comments.\r\n * See https://github.com/firebase/firebase-js-sdk/issues/6838\r\n */\r\nconst getDefaultsFromEnvVariable = () => {\r\n if (typeof process === 'undefined' || typeof process.env === 'undefined') {\r\n return;\r\n }\r\n const defaultsJsonString = process.env.__FIREBASE_DEFAULTS__;\r\n if (defaultsJsonString) {\r\n return JSON.parse(defaultsJsonString);\r\n }\r\n};\r\nconst getDefaultsFromCookie = () => {\r\n if (typeof document === 'undefined') {\r\n return;\r\n }\r\n let match;\r\n try {\r\n match = document.cookie.match(/__FIREBASE_DEFAULTS__=([^;]+)/);\r\n }\r\n catch (e) {\r\n // Some environments such as Angular Universal SSR have a\r\n // `document` object but error on accessing `document.cookie`.\r\n return;\r\n }\r\n const decoded = match && base64Decode(match[1]);\r\n return decoded && JSON.parse(decoded);\r\n};\r\n/**\r\n * Get the __FIREBASE_DEFAULTS__ object. It checks in order:\r\n * (1) if such an object exists as a property of `globalThis`\r\n * (2) if such an object was provided on a shell environment variable\r\n * (3) if such an object exists in a cookie\r\n * @public\r\n */\r\nconst getDefaults = () => {\r\n try {\r\n return (getDefaultsFromGlobal() ||\r\n getDefaultsFromEnvVariable() ||\r\n getDefaultsFromCookie());\r\n }\r\n catch (e) {\r\n /**\r\n * Catch-all for being unable to get __FIREBASE_DEFAULTS__ due\r\n * to any environment case we have not accounted for. Log to\r\n * info instead of swallowing so we can find these unknown cases\r\n * and add paths for them if needed.\r\n */\r\n console.info(`Unable to get __FIREBASE_DEFAULTS__ due to: ${e}`);\r\n return;\r\n }\r\n};\r\n/**\r\n * Returns emulator host stored in the __FIREBASE_DEFAULTS__ object\r\n * for the given product.\r\n * @returns a URL host formatted like `127.0.0.1:9999` or `[::1]:4000` if available\r\n * @public\r\n */\r\nconst getDefaultEmulatorHost = (productName) => { var _a, _b; return (_b = (_a = getDefaults()) === null || _a === void 0 ? void 0 : _a.emulatorHosts) === null || _b === void 0 ? void 0 : _b[productName]; };\r\n/**\r\n * Returns emulator hostname and port stored in the __FIREBASE_DEFAULTS__ object\r\n * for the given product.\r\n * @returns a pair of hostname and port like `[\"::1\", 4000]` if available\r\n * @public\r\n */\r\nconst getDefaultEmulatorHostnameAndPort = (productName) => {\r\n const host = getDefaultEmulatorHost(productName);\r\n if (!host) {\r\n return undefined;\r\n }\r\n const separatorIndex = host.lastIndexOf(':'); // Finding the last since IPv6 addr also has colons.\r\n if (separatorIndex <= 0 || separatorIndex + 1 === host.length) {\r\n throw new Error(`Invalid host ${host} with no separate hostname and port!`);\r\n }\r\n // eslint-disable-next-line no-restricted-globals\r\n const port = parseInt(host.substring(separatorIndex + 1), 10);\r\n if (host[0] === '[') {\r\n // Bracket-quoted `[ipv6addr]:port` => return \"ipv6addr\" (without brackets).\r\n return [host.substring(1, separatorIndex - 1), port];\r\n }\r\n else {\r\n return [host.substring(0, separatorIndex), port];\r\n }\r\n};\r\n/**\r\n * Returns Firebase app config stored in the __FIREBASE_DEFAULTS__ object.\r\n * @public\r\n */\r\nconst getDefaultAppConfig = () => { var _a; return (_a = getDefaults()) === null || _a === void 0 ? void 0 : _a.config; };\r\n/**\r\n * Returns an experimental setting on the __FIREBASE_DEFAULTS__ object (properties\r\n * prefixed by \"_\")\r\n * @public\r\n */\r\nconst getExperimentalSetting = (name) => { var _a; return (_a = getDefaults()) === null || _a === void 0 ? void 0 : _a[`_${name}`]; };\n\n/**\r\n * @license\r\n * Copyright 2017 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\nclass Deferred {\r\n constructor() {\r\n this.reject = () => { };\r\n this.resolve = () => { };\r\n this.promise = new Promise((resolve, reject) => {\r\n this.resolve = resolve;\r\n this.reject = reject;\r\n });\r\n }\r\n /**\r\n * Our API internals are not promiseified and cannot because our callback APIs have subtle expectations around\r\n * invoking promises inline, which Promises are forbidden to do. This method accepts an optional node-style callback\r\n * and returns a node-style callback which will resolve or reject the Deferred's promise.\r\n */\r\n wrapCallback(callback) {\r\n return (error, value) => {\r\n if (error) {\r\n this.reject(error);\r\n }\r\n else {\r\n this.resolve(value);\r\n }\r\n if (typeof callback === 'function') {\r\n // Attaching noop handler just in case developer wasn't expecting\r\n // promises\r\n this.promise.catch(() => { });\r\n // Some of our callbacks don't expect a value and our own tests\r\n // assert that the parameter length is 1\r\n if (callback.length === 1) {\r\n callback(error);\r\n }\r\n else {\r\n callback(error, value);\r\n }\r\n }\r\n };\r\n }\r\n}\n\n/**\r\n * @license\r\n * Copyright 2021 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\nfunction createMockUserToken(token, projectId) {\r\n if (token.uid) {\r\n throw new Error('The \"uid\" field is no longer supported by mockUserToken. Please use \"sub\" instead for Firebase Auth User ID.');\r\n }\r\n // Unsecured JWTs use \"none\" as the algorithm.\r\n const header = {\r\n alg: 'none',\r\n type: 'JWT'\r\n };\r\n const project = projectId || 'demo-project';\r\n const iat = token.iat || 0;\r\n const sub = token.sub || token.user_id;\r\n if (!sub) {\r\n throw new Error(\"mockUserToken must contain 'sub' or 'user_id' field!\");\r\n }\r\n const payload = Object.assign({ \r\n // Set all required fields to decent defaults\r\n iss: `https://securetoken.google.com/${project}`, aud: project, iat, exp: iat + 3600, auth_time: iat, sub, user_id: sub, firebase: {\r\n sign_in_provider: 'custom',\r\n identities: {}\r\n } }, token);\r\n // Unsecured JWTs use the empty string as a signature.\r\n const signature = '';\r\n return [\r\n base64urlEncodeWithoutPadding(JSON.stringify(header)),\r\n base64urlEncodeWithoutPadding(JSON.stringify(payload)),\r\n signature\r\n ].join('.');\r\n}\n\n/**\r\n * @license\r\n * Copyright 2017 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n/**\r\n * Returns navigator.userAgent string or '' if it's not defined.\r\n * @return user agent string\r\n */\r\nfunction getUA() {\r\n if (typeof navigator !== 'undefined' &&\r\n typeof navigator['userAgent'] === 'string') {\r\n return navigator['userAgent'];\r\n }\r\n else {\r\n return '';\r\n }\r\n}\r\n/**\r\n * Detect Cordova / PhoneGap / Ionic frameworks on a mobile device.\r\n *\r\n * Deliberately does not rely on checking `file://` URLs (as this fails PhoneGap\r\n * in the Ripple emulator) nor Cordova `onDeviceReady`, which would normally\r\n * wait for a callback.\r\n */\r\nfunction isMobileCordova() {\r\n return (typeof window !== 'undefined' &&\r\n // @ts-ignore Setting up an broadly applicable index signature for Window\r\n // just to deal with this case would probably be a bad idea.\r\n !!(window['cordova'] || window['phonegap'] || window['PhoneGap']) &&\r\n /ios|iphone|ipod|ipad|android|blackberry|iemobile/i.test(getUA()));\r\n}\r\n/**\r\n * Detect Node.js.\r\n *\r\n * @return true if Node.js environment is detected or specified.\r\n */\r\n// Node detection logic from: https://github.com/iliakan/detect-node/\r\nfunction isNode() {\r\n var _a;\r\n const forceEnvironment = (_a = getDefaults()) === null || _a === void 0 ? void 0 : _a.forceEnvironment;\r\n if (forceEnvironment === 'node') {\r\n return true;\r\n }\r\n else if (forceEnvironment === 'browser') {\r\n return false;\r\n }\r\n try {\r\n return (Object.prototype.toString.call(global.process) === '[object process]');\r\n }\r\n catch (e) {\r\n return false;\r\n }\r\n}\r\n/**\r\n * Detect Browser Environment\r\n */\r\nfunction isBrowser() {\r\n return typeof window !== 'undefined' || isWebWorker();\r\n}\r\n/**\r\n * Detect Web Worker context\r\n */\r\nfunction isWebWorker() {\r\n return (typeof WorkerGlobalScope !== 'undefined' &&\r\n typeof self !== 'undefined' &&\r\n self instanceof WorkerGlobalScope);\r\n}\r\nfunction isBrowserExtension() {\r\n const runtime = typeof chrome === 'object'\r\n ? chrome.runtime\r\n : typeof browser === 'object'\r\n ? browser.runtime\r\n : undefined;\r\n return typeof runtime === 'object' && runtime.id !== undefined;\r\n}\r\n/**\r\n * Detect React Native.\r\n *\r\n * @return true if ReactNative environment is detected.\r\n */\r\nfunction isReactNative() {\r\n return (typeof navigator === 'object' && navigator['product'] === 'ReactNative');\r\n}\r\n/** Detects Electron apps. */\r\nfunction isElectron() {\r\n return getUA().indexOf('Electron/') >= 0;\r\n}\r\n/** Detects Internet Explorer. */\r\nfunction isIE() {\r\n const ua = getUA();\r\n return ua.indexOf('MSIE ') >= 0 || ua.indexOf('Trident/') >= 0;\r\n}\r\n/** Detects Universal Windows Platform apps. */\r\nfunction isUWP() {\r\n return getUA().indexOf('MSAppHost/') >= 0;\r\n}\r\n/**\r\n * Detect whether the current SDK build is the Node version.\r\n *\r\n * @return true if it's the Node SDK build.\r\n */\r\nfunction isNodeSdk() {\r\n return CONSTANTS.NODE_CLIENT === true || CONSTANTS.NODE_ADMIN === true;\r\n}\r\n/** Returns true if we are running in Safari. */\r\nfunction isSafari() {\r\n return (!isNode() &&\r\n !!navigator.userAgent &&\r\n navigator.userAgent.includes('Safari') &&\r\n !navigator.userAgent.includes('Chrome'));\r\n}\r\n/**\r\n * This method checks if indexedDB is supported by current browser/service worker context\r\n * @return true if indexedDB is supported by current browser/service worker context\r\n */\r\nfunction isIndexedDBAvailable() {\r\n try {\r\n return typeof indexedDB === 'object';\r\n }\r\n catch (e) {\r\n return false;\r\n }\r\n}\r\n/**\r\n * This method validates browser/sw context for indexedDB by opening a dummy indexedDB database and reject\r\n * if errors occur during the database open operation.\r\n *\r\n * @throws exception if current browser/sw context can't run idb.open (ex: Safari iframe, Firefox\r\n * private browsing)\r\n */\r\nfunction validateIndexedDBOpenable() {\r\n return new Promise((resolve, reject) => {\r\n try {\r\n let preExist = true;\r\n const DB_CHECK_NAME = 'validate-browser-context-for-indexeddb-analytics-module';\r\n const request = self.indexedDB.open(DB_CHECK_NAME);\r\n request.onsuccess = () => {\r\n request.result.close();\r\n // delete database only when it doesn't pre-exist\r\n if (!preExist) {\r\n self.indexedDB.deleteDatabase(DB_CHECK_NAME);\r\n }\r\n resolve(true);\r\n };\r\n request.onupgradeneeded = () => {\r\n preExist = false;\r\n };\r\n request.onerror = () => {\r\n var _a;\r\n reject(((_a = request.error) === null || _a === void 0 ? void 0 : _a.message) || '');\r\n };\r\n }\r\n catch (error) {\r\n reject(error);\r\n }\r\n });\r\n}\r\n/**\r\n *\r\n * This method checks whether cookie is enabled within current browser\r\n * @return true if cookie is enabled within current browser\r\n */\r\nfunction areCookiesEnabled() {\r\n if (typeof navigator === 'undefined' || !navigator.cookieEnabled) {\r\n return false;\r\n }\r\n return true;\r\n}\n\n/**\r\n * @license\r\n * Copyright 2017 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n/**\r\n * @fileoverview Standardized Firebase Error.\r\n *\r\n * Usage:\r\n *\r\n * // Typescript string literals for type-safe codes\r\n * type Err =\r\n * 'unknown' |\r\n * 'object-not-found'\r\n * ;\r\n *\r\n * // Closure enum for type-safe error codes\r\n * // at-enum {string}\r\n * var Err = {\r\n * UNKNOWN: 'unknown',\r\n * OBJECT_NOT_FOUND: 'object-not-found',\r\n * }\r\n *\r\n * let errors: Map = {\r\n * 'generic-error': \"Unknown error\",\r\n * 'file-not-found': \"Could not find file: {$file}\",\r\n * };\r\n *\r\n * // Type-safe function - must pass a valid error code as param.\r\n * let error = new ErrorFactory('service', 'Service', errors);\r\n *\r\n * ...\r\n * throw error.create(Err.GENERIC);\r\n * ...\r\n * throw error.create(Err.FILE_NOT_FOUND, {'file': fileName});\r\n * ...\r\n * // Service: Could not file file: foo.txt (service/file-not-found).\r\n *\r\n * catch (e) {\r\n * assert(e.message === \"Could not find file: foo.txt.\");\r\n * if ((e as FirebaseError)?.code === 'service/file-not-found') {\r\n * console.log(\"Could not read file: \" + e['file']);\r\n * }\r\n * }\r\n */\r\nconst ERROR_NAME = 'FirebaseError';\r\n// Based on code from:\r\n// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Error#Custom_Error_Types\r\nclass FirebaseError extends Error {\r\n constructor(\r\n /** The error code for this error. */\r\n code, message, \r\n /** Custom data for this error. */\r\n customData) {\r\n super(message);\r\n this.code = code;\r\n this.customData = customData;\r\n /** The custom name for all FirebaseErrors. */\r\n this.name = ERROR_NAME;\r\n // Fix For ES5\r\n // https://github.com/Microsoft/TypeScript-wiki/blob/master/Breaking-Changes.md#extending-built-ins-like-error-array-and-map-may-no-longer-work\r\n Object.setPrototypeOf(this, FirebaseError.prototype);\r\n // Maintains proper stack trace for where our error was thrown.\r\n // Only available on V8.\r\n if (Error.captureStackTrace) {\r\n Error.captureStackTrace(this, ErrorFactory.prototype.create);\r\n }\r\n }\r\n}\r\nclass ErrorFactory {\r\n constructor(service, serviceName, errors) {\r\n this.service = service;\r\n this.serviceName = serviceName;\r\n this.errors = errors;\r\n }\r\n create(code, ...data) {\r\n const customData = data[0] || {};\r\n const fullCode = `${this.service}/${code}`;\r\n const template = this.errors[code];\r\n const message = template ? replaceTemplate(template, customData) : 'Error';\r\n // Service Name: Error message (service/code).\r\n const fullMessage = `${this.serviceName}: ${message} (${fullCode}).`;\r\n const error = new FirebaseError(fullCode, fullMessage, customData);\r\n return error;\r\n }\r\n}\r\nfunction replaceTemplate(template, data) {\r\n return template.replace(PATTERN, (_, key) => {\r\n const value = data[key];\r\n return value != null ? String(value) : `<${key}?>`;\r\n });\r\n}\r\nconst PATTERN = /\\{\\$([^}]+)}/g;\n\n/**\r\n * @license\r\n * Copyright 2017 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n/**\r\n * Evaluates a JSON string into a javascript object.\r\n *\r\n * @param {string} str A string containing JSON.\r\n * @return {*} The javascript object representing the specified JSON.\r\n */\r\nfunction jsonEval(str) {\r\n return JSON.parse(str);\r\n}\r\n/**\r\n * Returns JSON representing a javascript object.\r\n * @param {*} data Javascript object to be stringified.\r\n * @return {string} The JSON contents of the object.\r\n */\r\nfunction stringify(data) {\r\n return JSON.stringify(data);\r\n}\n\n/**\r\n * @license\r\n * Copyright 2017 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n/**\r\n * Decodes a Firebase auth. token into constituent parts.\r\n *\r\n * Notes:\r\n * - May return with invalid / incomplete claims if there's no native base64 decoding support.\r\n * - Doesn't check if the token is actually valid.\r\n */\r\nconst decode = function (token) {\r\n let header = {}, claims = {}, data = {}, signature = '';\r\n try {\r\n const parts = token.split('.');\r\n header = jsonEval(base64Decode(parts[0]) || '');\r\n claims = jsonEval(base64Decode(parts[1]) || '');\r\n signature = parts[2];\r\n data = claims['d'] || {};\r\n delete claims['d'];\r\n }\r\n catch (e) { }\r\n return {\r\n header,\r\n claims,\r\n data,\r\n signature\r\n };\r\n};\r\n/**\r\n * Decodes a Firebase auth. token and checks the validity of its time-based claims. Will return true if the\r\n * token is within the time window authorized by the 'nbf' (not-before) and 'iat' (issued-at) claims.\r\n *\r\n * Notes:\r\n * - May return a false negative if there's no native base64 decoding support.\r\n * - Doesn't check if the token is actually valid.\r\n */\r\nconst isValidTimestamp = function (token) {\r\n const claims = decode(token).claims;\r\n const now = Math.floor(new Date().getTime() / 1000);\r\n let validSince = 0, validUntil = 0;\r\n if (typeof claims === 'object') {\r\n if (claims.hasOwnProperty('nbf')) {\r\n validSince = claims['nbf'];\r\n }\r\n else if (claims.hasOwnProperty('iat')) {\r\n validSince = claims['iat'];\r\n }\r\n if (claims.hasOwnProperty('exp')) {\r\n validUntil = claims['exp'];\r\n }\r\n else {\r\n // token will expire after 24h by default\r\n validUntil = validSince + 86400;\r\n }\r\n }\r\n return (!!now &&\r\n !!validSince &&\r\n !!validUntil &&\r\n now >= validSince &&\r\n now <= validUntil);\r\n};\r\n/**\r\n * Decodes a Firebase auth. token and returns its issued at time if valid, null otherwise.\r\n *\r\n * Notes:\r\n * - May return null if there's no native base64 decoding support.\r\n * - Doesn't check if the token is actually valid.\r\n */\r\nconst issuedAtTime = function (token) {\r\n const claims = decode(token).claims;\r\n if (typeof claims === 'object' && claims.hasOwnProperty('iat')) {\r\n return claims['iat'];\r\n }\r\n return null;\r\n};\r\n/**\r\n * Decodes a Firebase auth. token and checks the validity of its format. Expects a valid issued-at time.\r\n *\r\n * Notes:\r\n * - May return a false negative if there's no native base64 decoding support.\r\n * - Doesn't check if the token is actually valid.\r\n */\r\nconst isValidFormat = function (token) {\r\n const decoded = decode(token), claims = decoded.claims;\r\n return !!claims && typeof claims === 'object' && claims.hasOwnProperty('iat');\r\n};\r\n/**\r\n * Attempts to peer into an auth token and determine if it's an admin auth token by looking at the claims portion.\r\n *\r\n * Notes:\r\n * - May return a false negative if there's no native base64 decoding support.\r\n * - Doesn't check if the token is actually valid.\r\n */\r\nconst isAdmin = function (token) {\r\n const claims = decode(token).claims;\r\n return typeof claims === 'object' && claims['admin'] === true;\r\n};\n\n/**\r\n * @license\r\n * Copyright 2017 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\nfunction contains(obj, key) {\r\n return Object.prototype.hasOwnProperty.call(obj, key);\r\n}\r\nfunction safeGet(obj, key) {\r\n if (Object.prototype.hasOwnProperty.call(obj, key)) {\r\n return obj[key];\r\n }\r\n else {\r\n return undefined;\r\n }\r\n}\r\nfunction isEmpty(obj) {\r\n for (const key in obj) {\r\n if (Object.prototype.hasOwnProperty.call(obj, key)) {\r\n return false;\r\n }\r\n }\r\n return true;\r\n}\r\nfunction map(obj, fn, contextObj) {\r\n const res = {};\r\n for (const key in obj) {\r\n if (Object.prototype.hasOwnProperty.call(obj, key)) {\r\n res[key] = fn.call(contextObj, obj[key], key, obj);\r\n }\r\n }\r\n return res;\r\n}\r\n/**\r\n * Deep equal two objects. Support Arrays and Objects.\r\n */\r\nfunction deepEqual(a, b) {\r\n if (a === b) {\r\n return true;\r\n }\r\n const aKeys = Object.keys(a);\r\n const bKeys = Object.keys(b);\r\n for (const k of aKeys) {\r\n if (!bKeys.includes(k)) {\r\n return false;\r\n }\r\n const aProp = a[k];\r\n const bProp = b[k];\r\n if (isObject(aProp) && isObject(bProp)) {\r\n if (!deepEqual(aProp, bProp)) {\r\n return false;\r\n }\r\n }\r\n else if (aProp !== bProp) {\r\n return false;\r\n }\r\n }\r\n for (const k of bKeys) {\r\n if (!aKeys.includes(k)) {\r\n return false;\r\n }\r\n }\r\n return true;\r\n}\r\nfunction isObject(thing) {\r\n return thing !== null && typeof thing === 'object';\r\n}\n\n/**\r\n * @license\r\n * Copyright 2022 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n/**\r\n * Rejects if the given promise doesn't resolve in timeInMS milliseconds.\r\n * @internal\r\n */\r\nfunction promiseWithTimeout(promise, timeInMS = 2000) {\r\n const deferredPromise = new Deferred();\r\n setTimeout(() => deferredPromise.reject('timeout!'), timeInMS);\r\n promise.then(deferredPromise.resolve, deferredPromise.reject);\r\n return deferredPromise.promise;\r\n}\n\n/**\r\n * @license\r\n * Copyright 2017 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n/**\r\n * Returns a querystring-formatted string (e.g. &arg=val&arg2=val2) from a\r\n * params object (e.g. {arg: 'val', arg2: 'val2'})\r\n * Note: You must prepend it with ? when adding it to a URL.\r\n */\r\nfunction querystring(querystringParams) {\r\n const params = [];\r\n for (const [key, value] of Object.entries(querystringParams)) {\r\n if (Array.isArray(value)) {\r\n value.forEach(arrayVal => {\r\n params.push(encodeURIComponent(key) + '=' + encodeURIComponent(arrayVal));\r\n });\r\n }\r\n else {\r\n params.push(encodeURIComponent(key) + '=' + encodeURIComponent(value));\r\n }\r\n }\r\n return params.length ? '&' + params.join('&') : '';\r\n}\r\n/**\r\n * Decodes a querystring (e.g. ?arg=val&arg2=val2) into a params object\r\n * (e.g. {arg: 'val', arg2: 'val2'})\r\n */\r\nfunction querystringDecode(querystring) {\r\n const obj = {};\r\n const tokens = querystring.replace(/^\\?/, '').split('&');\r\n tokens.forEach(token => {\r\n if (token) {\r\n const [key, value] = token.split('=');\r\n obj[decodeURIComponent(key)] = decodeURIComponent(value);\r\n }\r\n });\r\n return obj;\r\n}\r\n/**\r\n * Extract the query string part of a URL, including the leading question mark (if present).\r\n */\r\nfunction extractQuerystring(url) {\r\n const queryStart = url.indexOf('?');\r\n if (!queryStart) {\r\n return '';\r\n }\r\n const fragmentStart = url.indexOf('#', queryStart);\r\n return url.substring(queryStart, fragmentStart > 0 ? fragmentStart : undefined);\r\n}\n\n/**\r\n * @license\r\n * Copyright 2017 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n/**\r\n * @fileoverview SHA-1 cryptographic hash.\r\n * Variable names follow the notation in FIPS PUB 180-3:\r\n * http://csrc.nist.gov/publications/fips/fips180-3/fips180-3_final.pdf.\r\n *\r\n * Usage:\r\n * var sha1 = new sha1();\r\n * sha1.update(bytes);\r\n * var hash = sha1.digest();\r\n *\r\n * Performance:\r\n * Chrome 23: ~400 Mbit/s\r\n * Firefox 16: ~250 Mbit/s\r\n *\r\n */\r\n/**\r\n * SHA-1 cryptographic hash constructor.\r\n *\r\n * The properties declared here are discussed in the above algorithm document.\r\n * @constructor\r\n * @final\r\n * @struct\r\n */\r\nclass Sha1 {\r\n constructor() {\r\n /**\r\n * Holds the previous values of accumulated variables a-e in the compress_\r\n * function.\r\n * @private\r\n */\r\n this.chain_ = [];\r\n /**\r\n * A buffer holding the partially computed hash result.\r\n * @private\r\n */\r\n this.buf_ = [];\r\n /**\r\n * An array of 80 bytes, each a part of the message to be hashed. Referred to\r\n * as the message schedule in the docs.\r\n * @private\r\n */\r\n this.W_ = [];\r\n /**\r\n * Contains data needed to pad messages less than 64 bytes.\r\n * @private\r\n */\r\n this.pad_ = [];\r\n /**\r\n * @private {number}\r\n */\r\n this.inbuf_ = 0;\r\n /**\r\n * @private {number}\r\n */\r\n this.total_ = 0;\r\n this.blockSize = 512 / 8;\r\n this.pad_[0] = 128;\r\n for (let i = 1; i < this.blockSize; ++i) {\r\n this.pad_[i] = 0;\r\n }\r\n this.reset();\r\n }\r\n reset() {\r\n this.chain_[0] = 0x67452301;\r\n this.chain_[1] = 0xefcdab89;\r\n this.chain_[2] = 0x98badcfe;\r\n this.chain_[3] = 0x10325476;\r\n this.chain_[4] = 0xc3d2e1f0;\r\n this.inbuf_ = 0;\r\n this.total_ = 0;\r\n }\r\n /**\r\n * Internal compress helper function.\r\n * @param buf Block to compress.\r\n * @param offset Offset of the block in the buffer.\r\n * @private\r\n */\r\n compress_(buf, offset) {\r\n if (!offset) {\r\n offset = 0;\r\n }\r\n const W = this.W_;\r\n // get 16 big endian words\r\n if (typeof buf === 'string') {\r\n for (let i = 0; i < 16; i++) {\r\n // TODO(user): [bug 8140122] Recent versions of Safari for Mac OS and iOS\r\n // have a bug that turns the post-increment ++ operator into pre-increment\r\n // during JIT compilation. We have code that depends heavily on SHA-1 for\r\n // correctness and which is affected by this bug, so I've removed all uses\r\n // of post-increment ++ in which the result value is used. We can revert\r\n // this change once the Safari bug\r\n // (https://bugs.webkit.org/show_bug.cgi?id=109036) has been fixed and\r\n // most clients have been updated.\r\n W[i] =\r\n (buf.charCodeAt(offset) << 24) |\r\n (buf.charCodeAt(offset + 1) << 16) |\r\n (buf.charCodeAt(offset + 2) << 8) |\r\n buf.charCodeAt(offset + 3);\r\n offset += 4;\r\n }\r\n }\r\n else {\r\n for (let i = 0; i < 16; i++) {\r\n W[i] =\r\n (buf[offset] << 24) |\r\n (buf[offset + 1] << 16) |\r\n (buf[offset + 2] << 8) |\r\n buf[offset + 3];\r\n offset += 4;\r\n }\r\n }\r\n // expand to 80 words\r\n for (let i = 16; i < 80; i++) {\r\n const t = W[i - 3] ^ W[i - 8] ^ W[i - 14] ^ W[i - 16];\r\n W[i] = ((t << 1) | (t >>> 31)) & 0xffffffff;\r\n }\r\n let a = this.chain_[0];\r\n let b = this.chain_[1];\r\n let c = this.chain_[2];\r\n let d = this.chain_[3];\r\n let e = this.chain_[4];\r\n let f, k;\r\n // TODO(user): Try to unroll this loop to speed up the computation.\r\n for (let i = 0; i < 80; i++) {\r\n if (i < 40) {\r\n if (i < 20) {\r\n f = d ^ (b & (c ^ d));\r\n k = 0x5a827999;\r\n }\r\n else {\r\n f = b ^ c ^ d;\r\n k = 0x6ed9eba1;\r\n }\r\n }\r\n else {\r\n if (i < 60) {\r\n f = (b & c) | (d & (b | c));\r\n k = 0x8f1bbcdc;\r\n }\r\n else {\r\n f = b ^ c ^ d;\r\n k = 0xca62c1d6;\r\n }\r\n }\r\n const t = (((a << 5) | (a >>> 27)) + f + e + k + W[i]) & 0xffffffff;\r\n e = d;\r\n d = c;\r\n c = ((b << 30) | (b >>> 2)) & 0xffffffff;\r\n b = a;\r\n a = t;\r\n }\r\n this.chain_[0] = (this.chain_[0] + a) & 0xffffffff;\r\n this.chain_[1] = (this.chain_[1] + b) & 0xffffffff;\r\n this.chain_[2] = (this.chain_[2] + c) & 0xffffffff;\r\n this.chain_[3] = (this.chain_[3] + d) & 0xffffffff;\r\n this.chain_[4] = (this.chain_[4] + e) & 0xffffffff;\r\n }\r\n update(bytes, length) {\r\n // TODO(johnlenz): tighten the function signature and remove this check\r\n if (bytes == null) {\r\n return;\r\n }\r\n if (length === undefined) {\r\n length = bytes.length;\r\n }\r\n const lengthMinusBlock = length - this.blockSize;\r\n let n = 0;\r\n // Using local instead of member variables gives ~5% speedup on Firefox 16.\r\n const buf = this.buf_;\r\n let inbuf = this.inbuf_;\r\n // The outer while loop should execute at most twice.\r\n while (n < length) {\r\n // When we have no data in the block to top up, we can directly process the\r\n // input buffer (assuming it contains sufficient data). This gives ~25%\r\n // speedup on Chrome 23 and ~15% speedup on Firefox 16, but requires that\r\n // the data is provided in large chunks (or in multiples of 64 bytes).\r\n if (inbuf === 0) {\r\n while (n <= lengthMinusBlock) {\r\n this.compress_(bytes, n);\r\n n += this.blockSize;\r\n }\r\n }\r\n if (typeof bytes === 'string') {\r\n while (n < length) {\r\n buf[inbuf] = bytes.charCodeAt(n);\r\n ++inbuf;\r\n ++n;\r\n if (inbuf === this.blockSize) {\r\n this.compress_(buf);\r\n inbuf = 0;\r\n // Jump to the outer loop so we use the full-block optimization.\r\n break;\r\n }\r\n }\r\n }\r\n else {\r\n while (n < length) {\r\n buf[inbuf] = bytes[n];\r\n ++inbuf;\r\n ++n;\r\n if (inbuf === this.blockSize) {\r\n this.compress_(buf);\r\n inbuf = 0;\r\n // Jump to the outer loop so we use the full-block optimization.\r\n break;\r\n }\r\n }\r\n }\r\n }\r\n this.inbuf_ = inbuf;\r\n this.total_ += length;\r\n }\r\n /** @override */\r\n digest() {\r\n const digest = [];\r\n let totalBits = this.total_ * 8;\r\n // Add pad 0x80 0x00*.\r\n if (this.inbuf_ < 56) {\r\n this.update(this.pad_, 56 - this.inbuf_);\r\n }\r\n else {\r\n this.update(this.pad_, this.blockSize - (this.inbuf_ - 56));\r\n }\r\n // Add # bits.\r\n for (let i = this.blockSize - 1; i >= 56; i--) {\r\n this.buf_[i] = totalBits & 255;\r\n totalBits /= 256; // Don't use bit-shifting here!\r\n }\r\n this.compress_(this.buf_);\r\n let n = 0;\r\n for (let i = 0; i < 5; i++) {\r\n for (let j = 24; j >= 0; j -= 8) {\r\n digest[n] = (this.chain_[i] >> j) & 255;\r\n ++n;\r\n }\r\n }\r\n return digest;\r\n }\r\n}\n\n/**\r\n * Helper to make a Subscribe function (just like Promise helps make a\r\n * Thenable).\r\n *\r\n * @param executor Function which can make calls to a single Observer\r\n * as a proxy.\r\n * @param onNoObservers Callback when count of Observers goes to zero.\r\n */\r\nfunction createSubscribe(executor, onNoObservers) {\r\n const proxy = new ObserverProxy(executor, onNoObservers);\r\n return proxy.subscribe.bind(proxy);\r\n}\r\n/**\r\n * Implement fan-out for any number of Observers attached via a subscribe\r\n * function.\r\n */\r\nclass ObserverProxy {\r\n /**\r\n * @param executor Function which can make calls to a single Observer\r\n * as a proxy.\r\n * @param onNoObservers Callback when count of Observers goes to zero.\r\n */\r\n constructor(executor, onNoObservers) {\r\n this.observers = [];\r\n this.unsubscribes = [];\r\n this.observerCount = 0;\r\n // Micro-task scheduling by calling task.then().\r\n this.task = Promise.resolve();\r\n this.finalized = false;\r\n this.onNoObservers = onNoObservers;\r\n // Call the executor asynchronously so subscribers that are called\r\n // synchronously after the creation of the subscribe function\r\n // can still receive the very first value generated in the executor.\r\n this.task\r\n .then(() => {\r\n executor(this);\r\n })\r\n .catch(e => {\r\n this.error(e);\r\n });\r\n }\r\n next(value) {\r\n this.forEachObserver((observer) => {\r\n observer.next(value);\r\n });\r\n }\r\n error(error) {\r\n this.forEachObserver((observer) => {\r\n observer.error(error);\r\n });\r\n this.close(error);\r\n }\r\n complete() {\r\n this.forEachObserver((observer) => {\r\n observer.complete();\r\n });\r\n this.close();\r\n }\r\n /**\r\n * Subscribe function that can be used to add an Observer to the fan-out list.\r\n *\r\n * - We require that no event is sent to a subscriber sychronously to their\r\n * call to subscribe().\r\n */\r\n subscribe(nextOrObserver, error, complete) {\r\n let observer;\r\n if (nextOrObserver === undefined &&\r\n error === undefined &&\r\n complete === undefined) {\r\n throw new Error('Missing Observer.');\r\n }\r\n // Assemble an Observer object when passed as callback functions.\r\n if (implementsAnyMethods(nextOrObserver, [\r\n 'next',\r\n 'error',\r\n 'complete'\r\n ])) {\r\n observer = nextOrObserver;\r\n }\r\n else {\r\n observer = {\r\n next: nextOrObserver,\r\n error,\r\n complete\r\n };\r\n }\r\n if (observer.next === undefined) {\r\n observer.next = noop;\r\n }\r\n if (observer.error === undefined) {\r\n observer.error = noop;\r\n }\r\n if (observer.complete === undefined) {\r\n observer.complete = noop;\r\n }\r\n const unsub = this.unsubscribeOne.bind(this, this.observers.length);\r\n // Attempt to subscribe to a terminated Observable - we\r\n // just respond to the Observer with the final error or complete\r\n // event.\r\n if (this.finalized) {\r\n // eslint-disable-next-line @typescript-eslint/no-floating-promises\r\n this.task.then(() => {\r\n try {\r\n if (this.finalError) {\r\n observer.error(this.finalError);\r\n }\r\n else {\r\n observer.complete();\r\n }\r\n }\r\n catch (e) {\r\n // nothing\r\n }\r\n return;\r\n });\r\n }\r\n this.observers.push(observer);\r\n return unsub;\r\n }\r\n // Unsubscribe is synchronous - we guarantee that no events are sent to\r\n // any unsubscribed Observer.\r\n unsubscribeOne(i) {\r\n if (this.observers === undefined || this.observers[i] === undefined) {\r\n return;\r\n }\r\n delete this.observers[i];\r\n this.observerCount -= 1;\r\n if (this.observerCount === 0 && this.onNoObservers !== undefined) {\r\n this.onNoObservers(this);\r\n }\r\n }\r\n forEachObserver(fn) {\r\n if (this.finalized) {\r\n // Already closed by previous event....just eat the additional values.\r\n return;\r\n }\r\n // Since sendOne calls asynchronously - there is no chance that\r\n // this.observers will become undefined.\r\n for (let i = 0; i < this.observers.length; i++) {\r\n this.sendOne(i, fn);\r\n }\r\n }\r\n // Call the Observer via one of it's callback function. We are careful to\r\n // confirm that the observe has not been unsubscribed since this asynchronous\r\n // function had been queued.\r\n sendOne(i, fn) {\r\n // Execute the callback asynchronously\r\n // eslint-disable-next-line @typescript-eslint/no-floating-promises\r\n this.task.then(() => {\r\n if (this.observers !== undefined && this.observers[i] !== undefined) {\r\n try {\r\n fn(this.observers[i]);\r\n }\r\n catch (e) {\r\n // Ignore exceptions raised in Observers or missing methods of an\r\n // Observer.\r\n // Log error to console. b/31404806\r\n if (typeof console !== 'undefined' && console.error) {\r\n console.error(e);\r\n }\r\n }\r\n }\r\n });\r\n }\r\n close(err) {\r\n if (this.finalized) {\r\n return;\r\n }\r\n this.finalized = true;\r\n if (err !== undefined) {\r\n this.finalError = err;\r\n }\r\n // Proxy is no longer needed - garbage collect references\r\n // eslint-disable-next-line @typescript-eslint/no-floating-promises\r\n this.task.then(() => {\r\n this.observers = undefined;\r\n this.onNoObservers = undefined;\r\n });\r\n }\r\n}\r\n/** Turn synchronous function into one called asynchronously. */\r\n// eslint-disable-next-line @typescript-eslint/ban-types\r\nfunction async(fn, onError) {\r\n return (...args) => {\r\n Promise.resolve(true)\r\n .then(() => {\r\n fn(...args);\r\n })\r\n .catch((error) => {\r\n if (onError) {\r\n onError(error);\r\n }\r\n });\r\n };\r\n}\r\n/**\r\n * Return true if the object passed in implements any of the named methods.\r\n */\r\nfunction implementsAnyMethods(obj, methods) {\r\n if (typeof obj !== 'object' || obj === null) {\r\n return false;\r\n }\r\n for (const method of methods) {\r\n if (method in obj && typeof obj[method] === 'function') {\r\n return true;\r\n }\r\n }\r\n return false;\r\n}\r\nfunction noop() {\r\n // do nothing\r\n}\n\n/**\r\n * @license\r\n * Copyright 2017 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n/**\r\n * Check to make sure the appropriate number of arguments are provided for a public function.\r\n * Throws an error if it fails.\r\n *\r\n * @param fnName The function name\r\n * @param minCount The minimum number of arguments to allow for the function call\r\n * @param maxCount The maximum number of argument to allow for the function call\r\n * @param argCount The actual number of arguments provided.\r\n */\r\nconst validateArgCount = function (fnName, minCount, maxCount, argCount) {\r\n let argError;\r\n if (argCount < minCount) {\r\n argError = 'at least ' + minCount;\r\n }\r\n else if (argCount > maxCount) {\r\n argError = maxCount === 0 ? 'none' : 'no more than ' + maxCount;\r\n }\r\n if (argError) {\r\n const error = fnName +\r\n ' failed: Was called with ' +\r\n argCount +\r\n (argCount === 1 ? ' argument.' : ' arguments.') +\r\n ' Expects ' +\r\n argError +\r\n '.';\r\n throw new Error(error);\r\n }\r\n};\r\n/**\r\n * Generates a string to prefix an error message about failed argument validation\r\n *\r\n * @param fnName The function name\r\n * @param argName The name of the argument\r\n * @return The prefix to add to the error thrown for validation.\r\n */\r\nfunction errorPrefix(fnName, argName) {\r\n return `${fnName} failed: ${argName} argument `;\r\n}\r\n/**\r\n * @param fnName\r\n * @param argumentNumber\r\n * @param namespace\r\n * @param optional\r\n */\r\nfunction validateNamespace(fnName, namespace, optional) {\r\n if (optional && !namespace) {\r\n return;\r\n }\r\n if (typeof namespace !== 'string') {\r\n //TODO: I should do more validation here. We only allow certain chars in namespaces.\r\n throw new Error(errorPrefix(fnName, 'namespace') + 'must be a valid firebase namespace.');\r\n }\r\n}\r\nfunction validateCallback(fnName, argumentName, \r\n// eslint-disable-next-line @typescript-eslint/ban-types\r\ncallback, optional) {\r\n if (optional && !callback) {\r\n return;\r\n }\r\n if (typeof callback !== 'function') {\r\n throw new Error(errorPrefix(fnName, argumentName) + 'must be a valid function.');\r\n }\r\n}\r\nfunction validateContextObject(fnName, argumentName, context, optional) {\r\n if (optional && !context) {\r\n return;\r\n }\r\n if (typeof context !== 'object' || context === null) {\r\n throw new Error(errorPrefix(fnName, argumentName) + 'must be a valid context object.');\r\n }\r\n}\n\n/**\r\n * @license\r\n * Copyright 2017 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n// Code originally came from goog.crypt.stringToUtf8ByteArray, but for some reason they\r\n// automatically replaced '\\r\\n' with '\\n', and they didn't handle surrogate pairs,\r\n// so it's been modified.\r\n// Note that not all Unicode characters appear as single characters in JavaScript strings.\r\n// fromCharCode returns the UTF-16 encoding of a character - so some Unicode characters\r\n// use 2 characters in Javascript. All 4-byte UTF-8 characters begin with a first\r\n// character in the range 0xD800 - 0xDBFF (the first character of a so-called surrogate\r\n// pair).\r\n// See http://www.ecma-international.org/ecma-262/5.1/#sec-15.1.3\r\n/**\r\n * @param {string} str\r\n * @return {Array}\r\n */\r\nconst stringToByteArray = function (str) {\r\n const out = [];\r\n let p = 0;\r\n for (let i = 0; i < str.length; i++) {\r\n let c = str.charCodeAt(i);\r\n // Is this the lead surrogate in a surrogate pair?\r\n if (c >= 0xd800 && c <= 0xdbff) {\r\n const high = c - 0xd800; // the high 10 bits.\r\n i++;\r\n assert(i < str.length, 'Surrogate pair missing trail surrogate.');\r\n const low = str.charCodeAt(i) - 0xdc00; // the low 10 bits.\r\n c = 0x10000 + (high << 10) + low;\r\n }\r\n if (c < 128) {\r\n out[p++] = c;\r\n }\r\n else if (c < 2048) {\r\n out[p++] = (c >> 6) | 192;\r\n out[p++] = (c & 63) | 128;\r\n }\r\n else if (c < 65536) {\r\n out[p++] = (c >> 12) | 224;\r\n out[p++] = ((c >> 6) & 63) | 128;\r\n out[p++] = (c & 63) | 128;\r\n }\r\n else {\r\n out[p++] = (c >> 18) | 240;\r\n out[p++] = ((c >> 12) & 63) | 128;\r\n out[p++] = ((c >> 6) & 63) | 128;\r\n out[p++] = (c & 63) | 128;\r\n }\r\n }\r\n return out;\r\n};\r\n/**\r\n * Calculate length without actually converting; useful for doing cheaper validation.\r\n * @param {string} str\r\n * @return {number}\r\n */\r\nconst stringLength = function (str) {\r\n let p = 0;\r\n for (let i = 0; i < str.length; i++) {\r\n const c = str.charCodeAt(i);\r\n if (c < 128) {\r\n p++;\r\n }\r\n else if (c < 2048) {\r\n p += 2;\r\n }\r\n else if (c >= 0xd800 && c <= 0xdbff) {\r\n // Lead surrogate of a surrogate pair. The pair together will take 4 bytes to represent.\r\n p += 4;\r\n i++; // skip trail surrogate.\r\n }\r\n else {\r\n p += 3;\r\n }\r\n }\r\n return p;\r\n};\n\n/**\r\n * @license\r\n * Copyright 2022 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n/**\r\n * Copied from https://stackoverflow.com/a/2117523\r\n * Generates a new uuid.\r\n * @public\r\n */\r\nconst uuidv4 = function () {\r\n return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, c => {\r\n const r = (Math.random() * 16) | 0, v = c === 'x' ? r : (r & 0x3) | 0x8;\r\n return v.toString(16);\r\n });\r\n};\n\n/**\r\n * @license\r\n * Copyright 2019 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n/**\r\n * The amount of milliseconds to exponentially increase.\r\n */\r\nconst DEFAULT_INTERVAL_MILLIS = 1000;\r\n/**\r\n * The factor to backoff by.\r\n * Should be a number greater than 1.\r\n */\r\nconst DEFAULT_BACKOFF_FACTOR = 2;\r\n/**\r\n * The maximum milliseconds to increase to.\r\n *\r\n *

Visible for testing\r\n */\r\nconst MAX_VALUE_MILLIS = 4 * 60 * 60 * 1000; // Four hours, like iOS and Android.\r\n/**\r\n * The percentage of backoff time to randomize by.\r\n * See\r\n * http://go/safe-client-behavior#step-1-determine-the-appropriate-retry-interval-to-handle-spike-traffic\r\n * for context.\r\n *\r\n *

Visible for testing\r\n */\r\nconst RANDOM_FACTOR = 0.5;\r\n/**\r\n * Based on the backoff method from\r\n * https://github.com/google/closure-library/blob/master/closure/goog/math/exponentialbackoff.js.\r\n * Extracted here so we don't need to pass metadata and a stateful ExponentialBackoff object around.\r\n */\r\nfunction calculateBackoffMillis(backoffCount, intervalMillis = DEFAULT_INTERVAL_MILLIS, backoffFactor = DEFAULT_BACKOFF_FACTOR) {\r\n // Calculates an exponentially increasing value.\r\n // Deviation: calculates value from count and a constant interval, so we only need to save value\r\n // and count to restore state.\r\n const currBaseValue = intervalMillis * Math.pow(backoffFactor, backoffCount);\r\n // A random \"fuzz\" to avoid waves of retries.\r\n // Deviation: randomFactor is required.\r\n const randomWait = Math.round(\r\n // A fraction of the backoff value to add/subtract.\r\n // Deviation: changes multiplication order to improve readability.\r\n RANDOM_FACTOR *\r\n currBaseValue *\r\n // A random float (rounded to int by Math.round above) in the range [-1, 1]. Determines\r\n // if we add or subtract.\r\n (Math.random() - 0.5) *\r\n 2);\r\n // Limits backoff to max to avoid effectively permanent backoff.\r\n return Math.min(MAX_VALUE_MILLIS, currBaseValue + randomWait);\r\n}\n\n/**\r\n * @license\r\n * Copyright 2020 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n/**\r\n * Provide English ordinal letters after a number\r\n */\r\nfunction ordinal(i) {\r\n if (!Number.isFinite(i)) {\r\n return `${i}`;\r\n }\r\n return i + indicator(i);\r\n}\r\nfunction indicator(i) {\r\n i = Math.abs(i);\r\n const cent = i % 100;\r\n if (cent >= 10 && cent <= 20) {\r\n return 'th';\r\n }\r\n const dec = i % 10;\r\n if (dec === 1) {\r\n return 'st';\r\n }\r\n if (dec === 2) {\r\n return 'nd';\r\n }\r\n if (dec === 3) {\r\n return 'rd';\r\n }\r\n return 'th';\r\n}\n\n/**\r\n * @license\r\n * Copyright 2021 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\nfunction getModularInstance(service) {\r\n if (service && service._delegate) {\r\n return service._delegate;\r\n }\r\n else {\r\n return service;\r\n }\r\n}\n\nexport { CONSTANTS, DecodeBase64StringError, Deferred, ErrorFactory, FirebaseError, MAX_VALUE_MILLIS, RANDOM_FACTOR, Sha1, areCookiesEnabled, assert, assertionError, async, base64, base64Decode, base64Encode, base64urlEncodeWithoutPadding, calculateBackoffMillis, contains, createMockUserToken, createSubscribe, decode, deepCopy, deepEqual, deepExtend, errorPrefix, extractQuerystring, getDefaultAppConfig, getDefaultEmulatorHost, getDefaultEmulatorHostnameAndPort, getDefaults, getExperimentalSetting, getGlobal, getModularInstance, getUA, isAdmin, isBrowser, isBrowserExtension, isElectron, isEmpty, isIE, isIndexedDBAvailable, isMobileCordova, isNode, isNodeSdk, isReactNative, isSafari, isUWP, isValidFormat, isValidTimestamp, isWebWorker, issuedAtTime, jsonEval, map, ordinal, promiseWithTimeout, querystring, querystringDecode, safeGet, stringLength, stringToByteArray, stringify, uuidv4, validateArgCount, validateCallback, validateContextObject, validateIndexedDBOpenable, validateNamespace };\n//# sourceMappingURL=index.esm2017.js.map\n","import { Deferred } from '@firebase/util';\n\n/**\r\n * Component for service name T, e.g. `auth`, `auth-internal`\r\n */\r\nclass Component {\r\n /**\r\n *\r\n * @param name The public service name, e.g. app, auth, firestore, database\r\n * @param instanceFactory Service factory responsible for creating the public interface\r\n * @param type whether the service provided by the component is public or private\r\n */\r\n constructor(name, instanceFactory, type) {\r\n this.name = name;\r\n this.instanceFactory = instanceFactory;\r\n this.type = type;\r\n this.multipleInstances = false;\r\n /**\r\n * Properties to be added to the service namespace\r\n */\r\n this.serviceProps = {};\r\n this.instantiationMode = \"LAZY\" /* InstantiationMode.LAZY */;\r\n this.onInstanceCreated = null;\r\n }\r\n setInstantiationMode(mode) {\r\n this.instantiationMode = mode;\r\n return this;\r\n }\r\n setMultipleInstances(multipleInstances) {\r\n this.multipleInstances = multipleInstances;\r\n return this;\r\n }\r\n setServiceProps(props) {\r\n this.serviceProps = props;\r\n return this;\r\n }\r\n setInstanceCreatedCallback(callback) {\r\n this.onInstanceCreated = callback;\r\n return this;\r\n }\r\n}\n\n/**\r\n * @license\r\n * Copyright 2019 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\nconst DEFAULT_ENTRY_NAME = '[DEFAULT]';\n\n/**\r\n * @license\r\n * Copyright 2019 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n/**\r\n * Provider for instance for service name T, e.g. 'auth', 'auth-internal'\r\n * NameServiceMapping[T] is an alias for the type of the instance\r\n */\r\nclass Provider {\r\n constructor(name, container) {\r\n this.name = name;\r\n this.container = container;\r\n this.component = null;\r\n this.instances = new Map();\r\n this.instancesDeferred = new Map();\r\n this.instancesOptions = new Map();\r\n this.onInitCallbacks = new Map();\r\n }\r\n /**\r\n * @param identifier A provider can provide mulitple instances of a service\r\n * if this.component.multipleInstances is true.\r\n */\r\n get(identifier) {\r\n // if multipleInstances is not supported, use the default name\r\n const normalizedIdentifier = this.normalizeInstanceIdentifier(identifier);\r\n if (!this.instancesDeferred.has(normalizedIdentifier)) {\r\n const deferred = new Deferred();\r\n this.instancesDeferred.set(normalizedIdentifier, deferred);\r\n if (this.isInitialized(normalizedIdentifier) ||\r\n this.shouldAutoInitialize()) {\r\n // initialize the service if it can be auto-initialized\r\n try {\r\n const instance = this.getOrInitializeService({\r\n instanceIdentifier: normalizedIdentifier\r\n });\r\n if (instance) {\r\n deferred.resolve(instance);\r\n }\r\n }\r\n catch (e) {\r\n // when the instance factory throws an exception during get(), it should not cause\r\n // a fatal error. We just return the unresolved promise in this case.\r\n }\r\n }\r\n }\r\n return this.instancesDeferred.get(normalizedIdentifier).promise;\r\n }\r\n getImmediate(options) {\r\n var _a;\r\n // if multipleInstances is not supported, use the default name\r\n const normalizedIdentifier = this.normalizeInstanceIdentifier(options === null || options === void 0 ? void 0 : options.identifier);\r\n const optional = (_a = options === null || options === void 0 ? void 0 : options.optional) !== null && _a !== void 0 ? _a : false;\r\n if (this.isInitialized(normalizedIdentifier) ||\r\n this.shouldAutoInitialize()) {\r\n try {\r\n return this.getOrInitializeService({\r\n instanceIdentifier: normalizedIdentifier\r\n });\r\n }\r\n catch (e) {\r\n if (optional) {\r\n return null;\r\n }\r\n else {\r\n throw e;\r\n }\r\n }\r\n }\r\n else {\r\n // In case a component is not initialized and should/can not be auto-initialized at the moment, return null if the optional flag is set, or throw\r\n if (optional) {\r\n return null;\r\n }\r\n else {\r\n throw Error(`Service ${this.name} is not available`);\r\n }\r\n }\r\n }\r\n getComponent() {\r\n return this.component;\r\n }\r\n setComponent(component) {\r\n if (component.name !== this.name) {\r\n throw Error(`Mismatching Component ${component.name} for Provider ${this.name}.`);\r\n }\r\n if (this.component) {\r\n throw Error(`Component for ${this.name} has already been provided`);\r\n }\r\n this.component = component;\r\n // return early without attempting to initialize the component if the component requires explicit initialization (calling `Provider.initialize()`)\r\n if (!this.shouldAutoInitialize()) {\r\n return;\r\n }\r\n // if the service is eager, initialize the default instance\r\n if (isComponentEager(component)) {\r\n try {\r\n this.getOrInitializeService({ instanceIdentifier: DEFAULT_ENTRY_NAME });\r\n }\r\n catch (e) {\r\n // when the instance factory for an eager Component throws an exception during the eager\r\n // initialization, it should not cause a fatal error.\r\n // TODO: Investigate if we need to make it configurable, because some component may want to cause\r\n // a fatal error in this case?\r\n }\r\n }\r\n // Create service instances for the pending promises and resolve them\r\n // NOTE: if this.multipleInstances is false, only the default instance will be created\r\n // and all promises with resolve with it regardless of the identifier.\r\n for (const [instanceIdentifier, instanceDeferred] of this.instancesDeferred.entries()) {\r\n const normalizedIdentifier = this.normalizeInstanceIdentifier(instanceIdentifier);\r\n try {\r\n // `getOrInitializeService()` should always return a valid instance since a component is guaranteed. use ! to make typescript happy.\r\n const instance = this.getOrInitializeService({\r\n instanceIdentifier: normalizedIdentifier\r\n });\r\n instanceDeferred.resolve(instance);\r\n }\r\n catch (e) {\r\n // when the instance factory throws an exception, it should not cause\r\n // a fatal error. We just leave the promise unresolved.\r\n }\r\n }\r\n }\r\n clearInstance(identifier = DEFAULT_ENTRY_NAME) {\r\n this.instancesDeferred.delete(identifier);\r\n this.instancesOptions.delete(identifier);\r\n this.instances.delete(identifier);\r\n }\r\n // app.delete() will call this method on every provider to delete the services\r\n // TODO: should we mark the provider as deleted?\r\n async delete() {\r\n const services = Array.from(this.instances.values());\r\n await Promise.all([\r\n ...services\r\n .filter(service => 'INTERNAL' in service) // legacy services\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n .map(service => service.INTERNAL.delete()),\r\n ...services\r\n .filter(service => '_delete' in service) // modularized services\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n .map(service => service._delete())\r\n ]);\r\n }\r\n isComponentSet() {\r\n return this.component != null;\r\n }\r\n isInitialized(identifier = DEFAULT_ENTRY_NAME) {\r\n return this.instances.has(identifier);\r\n }\r\n getOptions(identifier = DEFAULT_ENTRY_NAME) {\r\n return this.instancesOptions.get(identifier) || {};\r\n }\r\n initialize(opts = {}) {\r\n const { options = {} } = opts;\r\n const normalizedIdentifier = this.normalizeInstanceIdentifier(opts.instanceIdentifier);\r\n if (this.isInitialized(normalizedIdentifier)) {\r\n throw Error(`${this.name}(${normalizedIdentifier}) has already been initialized`);\r\n }\r\n if (!this.isComponentSet()) {\r\n throw Error(`Component ${this.name} has not been registered yet`);\r\n }\r\n const instance = this.getOrInitializeService({\r\n instanceIdentifier: normalizedIdentifier,\r\n options\r\n });\r\n // resolve any pending promise waiting for the service instance\r\n for (const [instanceIdentifier, instanceDeferred] of this.instancesDeferred.entries()) {\r\n const normalizedDeferredIdentifier = this.normalizeInstanceIdentifier(instanceIdentifier);\r\n if (normalizedIdentifier === normalizedDeferredIdentifier) {\r\n instanceDeferred.resolve(instance);\r\n }\r\n }\r\n return instance;\r\n }\r\n /**\r\n *\r\n * @param callback - a function that will be invoked after the provider has been initialized by calling provider.initialize().\r\n * The function is invoked SYNCHRONOUSLY, so it should not execute any longrunning tasks in order to not block the program.\r\n *\r\n * @param identifier An optional instance identifier\r\n * @returns a function to unregister the callback\r\n */\r\n onInit(callback, identifier) {\r\n var _a;\r\n const normalizedIdentifier = this.normalizeInstanceIdentifier(identifier);\r\n const existingCallbacks = (_a = this.onInitCallbacks.get(normalizedIdentifier)) !== null && _a !== void 0 ? _a : new Set();\r\n existingCallbacks.add(callback);\r\n this.onInitCallbacks.set(normalizedIdentifier, existingCallbacks);\r\n const existingInstance = this.instances.get(normalizedIdentifier);\r\n if (existingInstance) {\r\n callback(existingInstance, normalizedIdentifier);\r\n }\r\n return () => {\r\n existingCallbacks.delete(callback);\r\n };\r\n }\r\n /**\r\n * Invoke onInit callbacks synchronously\r\n * @param instance the service instance`\r\n */\r\n invokeOnInitCallbacks(instance, identifier) {\r\n const callbacks = this.onInitCallbacks.get(identifier);\r\n if (!callbacks) {\r\n return;\r\n }\r\n for (const callback of callbacks) {\r\n try {\r\n callback(instance, identifier);\r\n }\r\n catch (_a) {\r\n // ignore errors in the onInit callback\r\n }\r\n }\r\n }\r\n getOrInitializeService({ instanceIdentifier, options = {} }) {\r\n let instance = this.instances.get(instanceIdentifier);\r\n if (!instance && this.component) {\r\n instance = this.component.instanceFactory(this.container, {\r\n instanceIdentifier: normalizeIdentifierForFactory(instanceIdentifier),\r\n options\r\n });\r\n this.instances.set(instanceIdentifier, instance);\r\n this.instancesOptions.set(instanceIdentifier, options);\r\n /**\r\n * Invoke onInit listeners.\r\n * Note this.component.onInstanceCreated is different, which is used by the component creator,\r\n * while onInit listeners are registered by consumers of the provider.\r\n */\r\n this.invokeOnInitCallbacks(instance, instanceIdentifier);\r\n /**\r\n * Order is important\r\n * onInstanceCreated() should be called after this.instances.set(instanceIdentifier, instance); which\r\n * makes `isInitialized()` return true.\r\n */\r\n if (this.component.onInstanceCreated) {\r\n try {\r\n this.component.onInstanceCreated(this.container, instanceIdentifier, instance);\r\n }\r\n catch (_a) {\r\n // ignore errors in the onInstanceCreatedCallback\r\n }\r\n }\r\n }\r\n return instance || null;\r\n }\r\n normalizeInstanceIdentifier(identifier = DEFAULT_ENTRY_NAME) {\r\n if (this.component) {\r\n return this.component.multipleInstances ? identifier : DEFAULT_ENTRY_NAME;\r\n }\r\n else {\r\n return identifier; // assume multiple instances are supported before the component is provided.\r\n }\r\n }\r\n shouldAutoInitialize() {\r\n return (!!this.component &&\r\n this.component.instantiationMode !== \"EXPLICIT\" /* InstantiationMode.EXPLICIT */);\r\n }\r\n}\r\n// undefined should be passed to the service factory for the default instance\r\nfunction normalizeIdentifierForFactory(identifier) {\r\n return identifier === DEFAULT_ENTRY_NAME ? undefined : identifier;\r\n}\r\nfunction isComponentEager(component) {\r\n return component.instantiationMode === \"EAGER\" /* InstantiationMode.EAGER */;\r\n}\n\n/**\r\n * @license\r\n * Copyright 2019 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n/**\r\n * ComponentContainer that provides Providers for service name T, e.g. `auth`, `auth-internal`\r\n */\r\nclass ComponentContainer {\r\n constructor(name) {\r\n this.name = name;\r\n this.providers = new Map();\r\n }\r\n /**\r\n *\r\n * @param component Component being added\r\n * @param overwrite When a component with the same name has already been registered,\r\n * if overwrite is true: overwrite the existing component with the new component and create a new\r\n * provider with the new component. It can be useful in tests where you want to use different mocks\r\n * for different tests.\r\n * if overwrite is false: throw an exception\r\n */\r\n addComponent(component) {\r\n const provider = this.getProvider(component.name);\r\n if (provider.isComponentSet()) {\r\n throw new Error(`Component ${component.name} has already been registered with ${this.name}`);\r\n }\r\n provider.setComponent(component);\r\n }\r\n addOrOverwriteComponent(component) {\r\n const provider = this.getProvider(component.name);\r\n if (provider.isComponentSet()) {\r\n // delete the existing provider from the container, so we can register the new component\r\n this.providers.delete(component.name);\r\n }\r\n this.addComponent(component);\r\n }\r\n /**\r\n * getProvider provides a type safe interface where it can only be called with a field name\r\n * present in NameServiceMapping interface.\r\n *\r\n * Firebase SDKs providing services should extend NameServiceMapping interface to register\r\n * themselves.\r\n */\r\n getProvider(name) {\r\n if (this.providers.has(name)) {\r\n return this.providers.get(name);\r\n }\r\n // create a Provider for a service that hasn't registered with Firebase\r\n const provider = new Provider(name, this);\r\n this.providers.set(name, provider);\r\n return provider;\r\n }\r\n getProviders() {\r\n return Array.from(this.providers.values());\r\n }\r\n}\n\nexport { Component, ComponentContainer, Provider };\n//# sourceMappingURL=index.esm2017.js.map\n","/**\r\n * @license\r\n * Copyright 2017 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n/**\r\n * A container for all of the Logger instances\r\n */\r\nconst instances = [];\r\n/**\r\n * The JS SDK supports 5 log levels and also allows a user the ability to\r\n * silence the logs altogether.\r\n *\r\n * The order is a follows:\r\n * DEBUG < VERBOSE < INFO < WARN < ERROR\r\n *\r\n * All of the log types above the current log level will be captured (i.e. if\r\n * you set the log level to `INFO`, errors will still be logged, but `DEBUG` and\r\n * `VERBOSE` logs will not)\r\n */\r\nvar LogLevel;\r\n(function (LogLevel) {\r\n LogLevel[LogLevel[\"DEBUG\"] = 0] = \"DEBUG\";\r\n LogLevel[LogLevel[\"VERBOSE\"] = 1] = \"VERBOSE\";\r\n LogLevel[LogLevel[\"INFO\"] = 2] = \"INFO\";\r\n LogLevel[LogLevel[\"WARN\"] = 3] = \"WARN\";\r\n LogLevel[LogLevel[\"ERROR\"] = 4] = \"ERROR\";\r\n LogLevel[LogLevel[\"SILENT\"] = 5] = \"SILENT\";\r\n})(LogLevel || (LogLevel = {}));\r\nconst levelStringToEnum = {\r\n 'debug': LogLevel.DEBUG,\r\n 'verbose': LogLevel.VERBOSE,\r\n 'info': LogLevel.INFO,\r\n 'warn': LogLevel.WARN,\r\n 'error': LogLevel.ERROR,\r\n 'silent': LogLevel.SILENT\r\n};\r\n/**\r\n * The default log level\r\n */\r\nconst defaultLogLevel = LogLevel.INFO;\r\n/**\r\n * By default, `console.debug` is not displayed in the developer console (in\r\n * chrome). To avoid forcing users to have to opt-in to these logs twice\r\n * (i.e. once for firebase, and once in the console), we are sending `DEBUG`\r\n * logs to the `console.log` function.\r\n */\r\nconst ConsoleMethod = {\r\n [LogLevel.DEBUG]: 'log',\r\n [LogLevel.VERBOSE]: 'log',\r\n [LogLevel.INFO]: 'info',\r\n [LogLevel.WARN]: 'warn',\r\n [LogLevel.ERROR]: 'error'\r\n};\r\n/**\r\n * The default log handler will forward DEBUG, VERBOSE, INFO, WARN, and ERROR\r\n * messages on to their corresponding console counterparts (if the log method\r\n * is supported by the current log level)\r\n */\r\nconst defaultLogHandler = (instance, logType, ...args) => {\r\n if (logType < instance.logLevel) {\r\n return;\r\n }\r\n const now = new Date().toISOString();\r\n const method = ConsoleMethod[logType];\r\n if (method) {\r\n console[method](`[${now}] ${instance.name}:`, ...args);\r\n }\r\n else {\r\n throw new Error(`Attempted to log a message with an invalid logType (value: ${logType})`);\r\n }\r\n};\r\nclass Logger {\r\n /**\r\n * Gives you an instance of a Logger to capture messages according to\r\n * Firebase's logging scheme.\r\n *\r\n * @param name The name that the logs will be associated with\r\n */\r\n constructor(name) {\r\n this.name = name;\r\n /**\r\n * The log level of the given Logger instance.\r\n */\r\n this._logLevel = defaultLogLevel;\r\n /**\r\n * The main (internal) log handler for the Logger instance.\r\n * Can be set to a new function in internal package code but not by user.\r\n */\r\n this._logHandler = defaultLogHandler;\r\n /**\r\n * The optional, additional, user-defined log handler for the Logger instance.\r\n */\r\n this._userLogHandler = null;\r\n /**\r\n * Capture the current instance for later use\r\n */\r\n instances.push(this);\r\n }\r\n get logLevel() {\r\n return this._logLevel;\r\n }\r\n set logLevel(val) {\r\n if (!(val in LogLevel)) {\r\n throw new TypeError(`Invalid value \"${val}\" assigned to \\`logLevel\\``);\r\n }\r\n this._logLevel = val;\r\n }\r\n // Workaround for setter/getter having to be the same type.\r\n setLogLevel(val) {\r\n this._logLevel = typeof val === 'string' ? levelStringToEnum[val] : val;\r\n }\r\n get logHandler() {\r\n return this._logHandler;\r\n }\r\n set logHandler(val) {\r\n if (typeof val !== 'function') {\r\n throw new TypeError('Value assigned to `logHandler` must be a function');\r\n }\r\n this._logHandler = val;\r\n }\r\n get userLogHandler() {\r\n return this._userLogHandler;\r\n }\r\n set userLogHandler(val) {\r\n this._userLogHandler = val;\r\n }\r\n /**\r\n * The functions below are all based on the `console` interface\r\n */\r\n debug(...args) {\r\n this._userLogHandler && this._userLogHandler(this, LogLevel.DEBUG, ...args);\r\n this._logHandler(this, LogLevel.DEBUG, ...args);\r\n }\r\n log(...args) {\r\n this._userLogHandler &&\r\n this._userLogHandler(this, LogLevel.VERBOSE, ...args);\r\n this._logHandler(this, LogLevel.VERBOSE, ...args);\r\n }\r\n info(...args) {\r\n this._userLogHandler && this._userLogHandler(this, LogLevel.INFO, ...args);\r\n this._logHandler(this, LogLevel.INFO, ...args);\r\n }\r\n warn(...args) {\r\n this._userLogHandler && this._userLogHandler(this, LogLevel.WARN, ...args);\r\n this._logHandler(this, LogLevel.WARN, ...args);\r\n }\r\n error(...args) {\r\n this._userLogHandler && this._userLogHandler(this, LogLevel.ERROR, ...args);\r\n this._logHandler(this, LogLevel.ERROR, ...args);\r\n }\r\n}\r\nfunction setLogLevel(level) {\r\n instances.forEach(inst => {\r\n inst.setLogLevel(level);\r\n });\r\n}\r\nfunction setUserLogHandler(logCallback, options) {\r\n for (const instance of instances) {\r\n let customLogLevel = null;\r\n if (options && options.level) {\r\n customLogLevel = levelStringToEnum[options.level];\r\n }\r\n if (logCallback === null) {\r\n instance.userLogHandler = null;\r\n }\r\n else {\r\n instance.userLogHandler = (instance, level, ...args) => {\r\n const message = args\r\n .map(arg => {\r\n if (arg == null) {\r\n return null;\r\n }\r\n else if (typeof arg === 'string') {\r\n return arg;\r\n }\r\n else if (typeof arg === 'number' || typeof arg === 'boolean') {\r\n return arg.toString();\r\n }\r\n else if (arg instanceof Error) {\r\n return arg.message;\r\n }\r\n else {\r\n try {\r\n return JSON.stringify(arg);\r\n }\r\n catch (ignored) {\r\n return null;\r\n }\r\n }\r\n })\r\n .filter(arg => arg)\r\n .join(' ');\r\n if (level >= (customLogLevel !== null && customLogLevel !== void 0 ? customLogLevel : instance.logLevel)) {\r\n logCallback({\r\n level: LogLevel[level].toLowerCase(),\r\n message,\r\n args,\r\n type: instance.name\r\n });\r\n }\r\n };\r\n }\r\n }\r\n}\n\nexport { LogLevel, Logger, setLogLevel, setUserLogHandler };\n//# sourceMappingURL=index.esm2017.js.map\n","const instanceOfAny = (object, constructors) => constructors.some((c) => object instanceof c);\n\nlet idbProxyableTypes;\nlet cursorAdvanceMethods;\n// This is a function to prevent it throwing up in node environments.\nfunction getIdbProxyableTypes() {\n return (idbProxyableTypes ||\n (idbProxyableTypes = [\n IDBDatabase,\n IDBObjectStore,\n IDBIndex,\n IDBCursor,\n IDBTransaction,\n ]));\n}\n// This is a function to prevent it throwing up in node environments.\nfunction getCursorAdvanceMethods() {\n return (cursorAdvanceMethods ||\n (cursorAdvanceMethods = [\n IDBCursor.prototype.advance,\n IDBCursor.prototype.continue,\n IDBCursor.prototype.continuePrimaryKey,\n ]));\n}\nconst cursorRequestMap = new WeakMap();\nconst transactionDoneMap = new WeakMap();\nconst transactionStoreNamesMap = new WeakMap();\nconst transformCache = new WeakMap();\nconst reverseTransformCache = new WeakMap();\nfunction promisifyRequest(request) {\n const promise = new Promise((resolve, reject) => {\n const unlisten = () => {\n request.removeEventListener('success', success);\n request.removeEventListener('error', error);\n };\n const success = () => {\n resolve(wrap(request.result));\n unlisten();\n };\n const error = () => {\n reject(request.error);\n unlisten();\n };\n request.addEventListener('success', success);\n request.addEventListener('error', error);\n });\n promise\n .then((value) => {\n // Since cursoring reuses the IDBRequest (*sigh*), we cache it for later retrieval\n // (see wrapFunction).\n if (value instanceof IDBCursor) {\n cursorRequestMap.set(value, request);\n }\n // Catching to avoid \"Uncaught Promise exceptions\"\n })\n .catch(() => { });\n // This mapping exists in reverseTransformCache but doesn't doesn't exist in transformCache. This\n // is because we create many promises from a single IDBRequest.\n reverseTransformCache.set(promise, request);\n return promise;\n}\nfunction cacheDonePromiseForTransaction(tx) {\n // Early bail if we've already created a done promise for this transaction.\n if (transactionDoneMap.has(tx))\n return;\n const done = new Promise((resolve, reject) => {\n const unlisten = () => {\n tx.removeEventListener('complete', complete);\n tx.removeEventListener('error', error);\n tx.removeEventListener('abort', error);\n };\n const complete = () => {\n resolve();\n unlisten();\n };\n const error = () => {\n reject(tx.error || new DOMException('AbortError', 'AbortError'));\n unlisten();\n };\n tx.addEventListener('complete', complete);\n tx.addEventListener('error', error);\n tx.addEventListener('abort', error);\n });\n // Cache it for later retrieval.\n transactionDoneMap.set(tx, done);\n}\nlet idbProxyTraps = {\n get(target, prop, receiver) {\n if (target instanceof IDBTransaction) {\n // Special handling for transaction.done.\n if (prop === 'done')\n return transactionDoneMap.get(target);\n // Polyfill for objectStoreNames because of Edge.\n if (prop === 'objectStoreNames') {\n return target.objectStoreNames || transactionStoreNamesMap.get(target);\n }\n // Make tx.store return the only store in the transaction, or undefined if there are many.\n if (prop === 'store') {\n return receiver.objectStoreNames[1]\n ? undefined\n : receiver.objectStore(receiver.objectStoreNames[0]);\n }\n }\n // Else transform whatever we get back.\n return wrap(target[prop]);\n },\n set(target, prop, value) {\n target[prop] = value;\n return true;\n },\n has(target, prop) {\n if (target instanceof IDBTransaction &&\n (prop === 'done' || prop === 'store')) {\n return true;\n }\n return prop in target;\n },\n};\nfunction replaceTraps(callback) {\n idbProxyTraps = callback(idbProxyTraps);\n}\nfunction wrapFunction(func) {\n // Due to expected object equality (which is enforced by the caching in `wrap`), we\n // only create one new func per func.\n // Edge doesn't support objectStoreNames (booo), so we polyfill it here.\n if (func === IDBDatabase.prototype.transaction &&\n !('objectStoreNames' in IDBTransaction.prototype)) {\n return function (storeNames, ...args) {\n const tx = func.call(unwrap(this), storeNames, ...args);\n transactionStoreNamesMap.set(tx, storeNames.sort ? storeNames.sort() : [storeNames]);\n return wrap(tx);\n };\n }\n // Cursor methods are special, as the behaviour is a little more different to standard IDB. In\n // IDB, you advance the cursor and wait for a new 'success' on the IDBRequest that gave you the\n // cursor. It's kinda like a promise that can resolve with many values. That doesn't make sense\n // with real promises, so each advance methods returns a new promise for the cursor object, or\n // undefined if the end of the cursor has been reached.\n if (getCursorAdvanceMethods().includes(func)) {\n return function (...args) {\n // Calling the original function with the proxy as 'this' causes ILLEGAL INVOCATION, so we use\n // the original object.\n func.apply(unwrap(this), args);\n return wrap(cursorRequestMap.get(this));\n };\n }\n return function (...args) {\n // Calling the original function with the proxy as 'this' causes ILLEGAL INVOCATION, so we use\n // the original object.\n return wrap(func.apply(unwrap(this), args));\n };\n}\nfunction transformCachableValue(value) {\n if (typeof value === 'function')\n return wrapFunction(value);\n // This doesn't return, it just creates a 'done' promise for the transaction,\n // which is later returned for transaction.done (see idbObjectHandler).\n if (value instanceof IDBTransaction)\n cacheDonePromiseForTransaction(value);\n if (instanceOfAny(value, getIdbProxyableTypes()))\n return new Proxy(value, idbProxyTraps);\n // Return the same value back if we're not going to transform it.\n return value;\n}\nfunction wrap(value) {\n // We sometimes generate multiple promises from a single IDBRequest (eg when cursoring), because\n // IDB is weird and a single IDBRequest can yield many responses, so these can't be cached.\n if (value instanceof IDBRequest)\n return promisifyRequest(value);\n // If we've already transformed this value before, reuse the transformed value.\n // This is faster, but it also provides object equality.\n if (transformCache.has(value))\n return transformCache.get(value);\n const newValue = transformCachableValue(value);\n // Not all types are transformed.\n // These may be primitive types, so they can't be WeakMap keys.\n if (newValue !== value) {\n transformCache.set(value, newValue);\n reverseTransformCache.set(newValue, value);\n }\n return newValue;\n}\nconst unwrap = (value) => reverseTransformCache.get(value);\n\nexport { reverseTransformCache as a, instanceOfAny as i, replaceTraps as r, unwrap as u, wrap as w };\n","import { w as wrap, r as replaceTraps } from './wrap-idb-value.js';\nexport { u as unwrap, w as wrap } from './wrap-idb-value.js';\n\n/**\n * Open a database.\n *\n * @param name Name of the database.\n * @param version Schema version.\n * @param callbacks Additional callbacks.\n */\nfunction openDB(name, version, { blocked, upgrade, blocking, terminated } = {}) {\n const request = indexedDB.open(name, version);\n const openPromise = wrap(request);\n if (upgrade) {\n request.addEventListener('upgradeneeded', (event) => {\n upgrade(wrap(request.result), event.oldVersion, event.newVersion, wrap(request.transaction), event);\n });\n }\n if (blocked) {\n request.addEventListener('blocked', (event) => blocked(\n // Casting due to https://github.com/microsoft/TypeScript-DOM-lib-generator/pull/1405\n event.oldVersion, event.newVersion, event));\n }\n openPromise\n .then((db) => {\n if (terminated)\n db.addEventListener('close', () => terminated());\n if (blocking) {\n db.addEventListener('versionchange', (event) => blocking(event.oldVersion, event.newVersion, event));\n }\n })\n .catch(() => { });\n return openPromise;\n}\n/**\n * Delete a database.\n *\n * @param name Name of the database.\n */\nfunction deleteDB(name, { blocked } = {}) {\n const request = indexedDB.deleteDatabase(name);\n if (blocked) {\n request.addEventListener('blocked', (event) => blocked(\n // Casting due to https://github.com/microsoft/TypeScript-DOM-lib-generator/pull/1405\n event.oldVersion, event));\n }\n return wrap(request).then(() => undefined);\n}\n\nconst readMethods = ['get', 'getKey', 'getAll', 'getAllKeys', 'count'];\nconst writeMethods = ['put', 'add', 'delete', 'clear'];\nconst cachedMethods = new Map();\nfunction getMethod(target, prop) {\n if (!(target instanceof IDBDatabase &&\n !(prop in target) &&\n typeof prop === 'string')) {\n return;\n }\n if (cachedMethods.get(prop))\n return cachedMethods.get(prop);\n const targetFuncName = prop.replace(/FromIndex$/, '');\n const useIndex = prop !== targetFuncName;\n const isWrite = writeMethods.includes(targetFuncName);\n if (\n // Bail if the target doesn't exist on the target. Eg, getAll isn't in Edge.\n !(targetFuncName in (useIndex ? IDBIndex : IDBObjectStore).prototype) ||\n !(isWrite || readMethods.includes(targetFuncName))) {\n return;\n }\n const method = async function (storeName, ...args) {\n // isWrite ? 'readwrite' : undefined gzipps better, but fails in Edge :(\n const tx = this.transaction(storeName, isWrite ? 'readwrite' : 'readonly');\n let target = tx.store;\n if (useIndex)\n target = target.index(args.shift());\n // Must reject if op rejects.\n // If it's a write operation, must reject if tx.done rejects.\n // Must reject with op rejection first.\n // Must resolve with op value.\n // Must handle both promises (no unhandled rejections)\n return (await Promise.all([\n target[targetFuncName](...args),\n isWrite && tx.done,\n ]))[0];\n };\n cachedMethods.set(prop, method);\n return method;\n}\nreplaceTraps((oldTraps) => ({\n ...oldTraps,\n get: (target, prop, receiver) => getMethod(target, prop) || oldTraps.get(target, prop, receiver),\n has: (target, prop) => !!getMethod(target, prop) || oldTraps.has(target, prop),\n}));\n\nexport { deleteDB, openDB };\n","import { Component, ComponentContainer } from '@firebase/component';\nimport { Logger, setUserLogHandler, setLogLevel as setLogLevel$1 } from '@firebase/logger';\nimport { ErrorFactory, getDefaultAppConfig, deepEqual, isBrowser, isWebWorker, FirebaseError, base64urlEncodeWithoutPadding, isIndexedDBAvailable, validateIndexedDBOpenable } from '@firebase/util';\nexport { FirebaseError } from '@firebase/util';\nimport { openDB } from 'idb';\n\n/**\r\n * @license\r\n * Copyright 2019 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\nclass PlatformLoggerServiceImpl {\r\n constructor(container) {\r\n this.container = container;\r\n }\r\n // In initial implementation, this will be called by installations on\r\n // auth token refresh, and installations will send this string.\r\n getPlatformInfoString() {\r\n const providers = this.container.getProviders();\r\n // Loop through providers and get library/version pairs from any that are\r\n // version components.\r\n return providers\r\n .map(provider => {\r\n if (isVersionServiceProvider(provider)) {\r\n const service = provider.getImmediate();\r\n return `${service.library}/${service.version}`;\r\n }\r\n else {\r\n return null;\r\n }\r\n })\r\n .filter(logString => logString)\r\n .join(' ');\r\n }\r\n}\r\n/**\r\n *\r\n * @param provider check if this provider provides a VersionService\r\n *\r\n * NOTE: Using Provider<'app-version'> is a hack to indicate that the provider\r\n * provides VersionService. The provider is not necessarily a 'app-version'\r\n * provider.\r\n */\r\nfunction isVersionServiceProvider(provider) {\r\n const component = provider.getComponent();\r\n return (component === null || component === void 0 ? void 0 : component.type) === \"VERSION\" /* ComponentType.VERSION */;\r\n}\n\nconst name$p = \"@firebase/app\";\nconst version$1 = \"0.10.8\";\n\n/**\r\n * @license\r\n * Copyright 2019 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\nconst logger = new Logger('@firebase/app');\n\nconst name$o = \"@firebase/app-compat\";\n\nconst name$n = \"@firebase/analytics-compat\";\n\nconst name$m = \"@firebase/analytics\";\n\nconst name$l = \"@firebase/app-check-compat\";\n\nconst name$k = \"@firebase/app-check\";\n\nconst name$j = \"@firebase/auth\";\n\nconst name$i = \"@firebase/auth-compat\";\n\nconst name$h = \"@firebase/database\";\n\nconst name$g = \"@firebase/database-compat\";\n\nconst name$f = \"@firebase/functions\";\n\nconst name$e = \"@firebase/functions-compat\";\n\nconst name$d = \"@firebase/installations\";\n\nconst name$c = \"@firebase/installations-compat\";\n\nconst name$b = \"@firebase/messaging\";\n\nconst name$a = \"@firebase/messaging-compat\";\n\nconst name$9 = \"@firebase/performance\";\n\nconst name$8 = \"@firebase/performance-compat\";\n\nconst name$7 = \"@firebase/remote-config\";\n\nconst name$6 = \"@firebase/remote-config-compat\";\n\nconst name$5 = \"@firebase/storage\";\n\nconst name$4 = \"@firebase/storage-compat\";\n\nconst name$3 = \"@firebase/firestore\";\n\nconst name$2 = \"@firebase/vertexai-preview\";\n\nconst name$1 = \"@firebase/firestore-compat\";\n\nconst name = \"firebase\";\nconst version = \"10.12.5\";\n\n/**\r\n * @license\r\n * Copyright 2019 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n/**\r\n * The default app name\r\n *\r\n * @internal\r\n */\r\nconst DEFAULT_ENTRY_NAME = '[DEFAULT]';\r\nconst PLATFORM_LOG_STRING = {\r\n [name$p]: 'fire-core',\r\n [name$o]: 'fire-core-compat',\r\n [name$m]: 'fire-analytics',\r\n [name$n]: 'fire-analytics-compat',\r\n [name$k]: 'fire-app-check',\r\n [name$l]: 'fire-app-check-compat',\r\n [name$j]: 'fire-auth',\r\n [name$i]: 'fire-auth-compat',\r\n [name$h]: 'fire-rtdb',\r\n [name$g]: 'fire-rtdb-compat',\r\n [name$f]: 'fire-fn',\r\n [name$e]: 'fire-fn-compat',\r\n [name$d]: 'fire-iid',\r\n [name$c]: 'fire-iid-compat',\r\n [name$b]: 'fire-fcm',\r\n [name$a]: 'fire-fcm-compat',\r\n [name$9]: 'fire-perf',\r\n [name$8]: 'fire-perf-compat',\r\n [name$7]: 'fire-rc',\r\n [name$6]: 'fire-rc-compat',\r\n [name$5]: 'fire-gcs',\r\n [name$4]: 'fire-gcs-compat',\r\n [name$3]: 'fire-fst',\r\n [name$1]: 'fire-fst-compat',\r\n [name$2]: 'fire-vertex',\r\n 'fire-js': 'fire-js',\r\n [name]: 'fire-js-all'\r\n};\n\n/**\r\n * @license\r\n * Copyright 2019 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n/**\r\n * @internal\r\n */\r\nconst _apps = new Map();\r\n/**\r\n * @internal\r\n */\r\nconst _serverApps = new Map();\r\n/**\r\n * Registered components.\r\n *\r\n * @internal\r\n */\r\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\r\nconst _components = new Map();\r\n/**\r\n * @param component - the component being added to this app's container\r\n *\r\n * @internal\r\n */\r\nfunction _addComponent(app, component) {\r\n try {\r\n app.container.addComponent(component);\r\n }\r\n catch (e) {\r\n logger.debug(`Component ${component.name} failed to register with FirebaseApp ${app.name}`, e);\r\n }\r\n}\r\n/**\r\n *\r\n * @internal\r\n */\r\nfunction _addOrOverwriteComponent(app, component) {\r\n app.container.addOrOverwriteComponent(component);\r\n}\r\n/**\r\n *\r\n * @param component - the component to register\r\n * @returns whether or not the component is registered successfully\r\n *\r\n * @internal\r\n */\r\nfunction _registerComponent(component) {\r\n const componentName = component.name;\r\n if (_components.has(componentName)) {\r\n logger.debug(`There were multiple attempts to register component ${componentName}.`);\r\n return false;\r\n }\r\n _components.set(componentName, component);\r\n // add the component to existing app instances\r\n for (const app of _apps.values()) {\r\n _addComponent(app, component);\r\n }\r\n for (const serverApp of _serverApps.values()) {\r\n _addComponent(serverApp, component);\r\n }\r\n return true;\r\n}\r\n/**\r\n *\r\n * @param app - FirebaseApp instance\r\n * @param name - service name\r\n *\r\n * @returns the provider for the service with the matching name\r\n *\r\n * @internal\r\n */\r\nfunction _getProvider(app, name) {\r\n const heartbeatController = app.container\r\n .getProvider('heartbeat')\r\n .getImmediate({ optional: true });\r\n if (heartbeatController) {\r\n void heartbeatController.triggerHeartbeat();\r\n }\r\n return app.container.getProvider(name);\r\n}\r\n/**\r\n *\r\n * @param app - FirebaseApp instance\r\n * @param name - service name\r\n * @param instanceIdentifier - service instance identifier in case the service supports multiple instances\r\n *\r\n * @internal\r\n */\r\nfunction _removeServiceInstance(app, name, instanceIdentifier = DEFAULT_ENTRY_NAME) {\r\n _getProvider(app, name).clearInstance(instanceIdentifier);\r\n}\r\n/**\r\n *\r\n * @param obj - an object of type FirebaseApp or FirebaseOptions.\r\n *\r\n * @returns true if the provide object is of type FirebaseApp.\r\n *\r\n * @internal\r\n */\r\nfunction _isFirebaseApp(obj) {\r\n return obj.options !== undefined;\r\n}\r\n/**\r\n *\r\n * @param obj - an object of type FirebaseApp.\r\n *\r\n * @returns true if the provided object is of type FirebaseServerAppImpl.\r\n *\r\n * @internal\r\n */\r\nfunction _isFirebaseServerApp(obj) {\r\n return obj.settings !== undefined;\r\n}\r\n/**\r\n * Test only\r\n *\r\n * @internal\r\n */\r\nfunction _clearComponents() {\r\n _components.clear();\r\n}\n\n/**\r\n * @license\r\n * Copyright 2019 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\nconst ERRORS = {\r\n [\"no-app\" /* AppError.NO_APP */]: \"No Firebase App '{$appName}' has been created - \" +\r\n 'call initializeApp() first',\r\n [\"bad-app-name\" /* AppError.BAD_APP_NAME */]: \"Illegal App name: '{$appName}'\",\r\n [\"duplicate-app\" /* AppError.DUPLICATE_APP */]: \"Firebase App named '{$appName}' already exists with different options or config\",\r\n [\"app-deleted\" /* AppError.APP_DELETED */]: \"Firebase App named '{$appName}' already deleted\",\r\n [\"server-app-deleted\" /* AppError.SERVER_APP_DELETED */]: 'Firebase Server App has been deleted',\r\n [\"no-options\" /* AppError.NO_OPTIONS */]: 'Need to provide options, when not being deployed to hosting via source.',\r\n [\"invalid-app-argument\" /* AppError.INVALID_APP_ARGUMENT */]: 'firebase.{$appName}() takes either no argument or a ' +\r\n 'Firebase App instance.',\r\n [\"invalid-log-argument\" /* AppError.INVALID_LOG_ARGUMENT */]: 'First argument to `onLog` must be null or a function.',\r\n [\"idb-open\" /* AppError.IDB_OPEN */]: 'Error thrown when opening IndexedDB. Original error: {$originalErrorMessage}.',\r\n [\"idb-get\" /* AppError.IDB_GET */]: 'Error thrown when reading from IndexedDB. Original error: {$originalErrorMessage}.',\r\n [\"idb-set\" /* AppError.IDB_WRITE */]: 'Error thrown when writing to IndexedDB. Original error: {$originalErrorMessage}.',\r\n [\"idb-delete\" /* AppError.IDB_DELETE */]: 'Error thrown when deleting from IndexedDB. Original error: {$originalErrorMessage}.',\r\n [\"finalization-registry-not-supported\" /* AppError.FINALIZATION_REGISTRY_NOT_SUPPORTED */]: 'FirebaseServerApp deleteOnDeref field defined but the JS runtime does not support FinalizationRegistry.',\r\n [\"invalid-server-app-environment\" /* AppError.INVALID_SERVER_APP_ENVIRONMENT */]: 'FirebaseServerApp is not for use in browser environments.'\r\n};\r\nconst ERROR_FACTORY = new ErrorFactory('app', 'Firebase', ERRORS);\n\n/**\r\n * @license\r\n * Copyright 2019 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\nclass FirebaseAppImpl {\r\n constructor(options, config, container) {\r\n this._isDeleted = false;\r\n this._options = Object.assign({}, options);\r\n this._config = Object.assign({}, config);\r\n this._name = config.name;\r\n this._automaticDataCollectionEnabled =\r\n config.automaticDataCollectionEnabled;\r\n this._container = container;\r\n this.container.addComponent(new Component('app', () => this, \"PUBLIC\" /* ComponentType.PUBLIC */));\r\n }\r\n get automaticDataCollectionEnabled() {\r\n this.checkDestroyed();\r\n return this._automaticDataCollectionEnabled;\r\n }\r\n set automaticDataCollectionEnabled(val) {\r\n this.checkDestroyed();\r\n this._automaticDataCollectionEnabled = val;\r\n }\r\n get name() {\r\n this.checkDestroyed();\r\n return this._name;\r\n }\r\n get options() {\r\n this.checkDestroyed();\r\n return this._options;\r\n }\r\n get config() {\r\n this.checkDestroyed();\r\n return this._config;\r\n }\r\n get container() {\r\n return this._container;\r\n }\r\n get isDeleted() {\r\n return this._isDeleted;\r\n }\r\n set isDeleted(val) {\r\n this._isDeleted = val;\r\n }\r\n /**\r\n * This function will throw an Error if the App has already been deleted -\r\n * use before performing API actions on the App.\r\n */\r\n checkDestroyed() {\r\n if (this.isDeleted) {\r\n throw ERROR_FACTORY.create(\"app-deleted\" /* AppError.APP_DELETED */, { appName: this._name });\r\n }\r\n }\r\n}\n\n/**\r\n * @license\r\n * Copyright 2023 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\nclass FirebaseServerAppImpl extends FirebaseAppImpl {\r\n constructor(options, serverConfig, name, container) {\r\n // Build configuration parameters for the FirebaseAppImpl base class.\r\n const automaticDataCollectionEnabled = serverConfig.automaticDataCollectionEnabled !== undefined\r\n ? serverConfig.automaticDataCollectionEnabled\r\n : false;\r\n // Create the FirebaseAppSettings object for the FirebaseAppImp constructor.\r\n const config = {\r\n name,\r\n automaticDataCollectionEnabled\r\n };\r\n if (options.apiKey !== undefined) {\r\n // Construct the parent FirebaseAppImp object.\r\n super(options, config, container);\r\n }\r\n else {\r\n const appImpl = options;\r\n super(appImpl.options, config, container);\r\n }\r\n // Now construct the data for the FirebaseServerAppImpl.\r\n this._serverConfig = Object.assign({ automaticDataCollectionEnabled }, serverConfig);\r\n this._finalizationRegistry = null;\r\n if (typeof FinalizationRegistry !== 'undefined') {\r\n this._finalizationRegistry = new FinalizationRegistry(() => {\r\n this.automaticCleanup();\r\n });\r\n }\r\n this._refCount = 0;\r\n this.incRefCount(this._serverConfig.releaseOnDeref);\r\n // Do not retain a hard reference to the dref object, otherwise the FinalizationRegistry\r\n // will never trigger.\r\n this._serverConfig.releaseOnDeref = undefined;\r\n serverConfig.releaseOnDeref = undefined;\r\n registerVersion(name$p, version$1, 'serverapp');\r\n }\r\n toJSON() {\r\n return undefined;\r\n }\r\n get refCount() {\r\n return this._refCount;\r\n }\r\n // Increment the reference count of this server app. If an object is provided, register it\r\n // with the finalization registry.\r\n incRefCount(obj) {\r\n if (this.isDeleted) {\r\n return;\r\n }\r\n this._refCount++;\r\n if (obj !== undefined && this._finalizationRegistry !== null) {\r\n this._finalizationRegistry.register(obj, this);\r\n }\r\n }\r\n // Decrement the reference count.\r\n decRefCount() {\r\n if (this.isDeleted) {\r\n return 0;\r\n }\r\n return --this._refCount;\r\n }\r\n // Invoked by the FinalizationRegistry callback to note that this app should go through its\r\n // reference counts and delete itself if no reference count remain. The coordinating logic that\r\n // handles this is in deleteApp(...).\r\n automaticCleanup() {\r\n void deleteApp(this);\r\n }\r\n get settings() {\r\n this.checkDestroyed();\r\n return this._serverConfig;\r\n }\r\n /**\r\n * This function will throw an Error if the App has already been deleted -\r\n * use before performing API actions on the App.\r\n */\r\n checkDestroyed() {\r\n if (this.isDeleted) {\r\n throw ERROR_FACTORY.create(\"server-app-deleted\" /* AppError.SERVER_APP_DELETED */);\r\n }\r\n }\r\n}\n\n/**\r\n * @license\r\n * Copyright 2019 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n/**\r\n * The current SDK version.\r\n *\r\n * @public\r\n */\r\nconst SDK_VERSION = version;\r\nfunction initializeApp(_options, rawConfig = {}) {\r\n let options = _options;\r\n if (typeof rawConfig !== 'object') {\r\n const name = rawConfig;\r\n rawConfig = { name };\r\n }\r\n const config = Object.assign({ name: DEFAULT_ENTRY_NAME, automaticDataCollectionEnabled: false }, rawConfig);\r\n const name = config.name;\r\n if (typeof name !== 'string' || !name) {\r\n throw ERROR_FACTORY.create(\"bad-app-name\" /* AppError.BAD_APP_NAME */, {\r\n appName: String(name)\r\n });\r\n }\r\n options || (options = getDefaultAppConfig());\r\n if (!options) {\r\n throw ERROR_FACTORY.create(\"no-options\" /* AppError.NO_OPTIONS */);\r\n }\r\n const existingApp = _apps.get(name);\r\n if (existingApp) {\r\n // return the existing app if options and config deep equal the ones in the existing app.\r\n if (deepEqual(options, existingApp.options) &&\r\n deepEqual(config, existingApp.config)) {\r\n return existingApp;\r\n }\r\n else {\r\n throw ERROR_FACTORY.create(\"duplicate-app\" /* AppError.DUPLICATE_APP */, { appName: name });\r\n }\r\n }\r\n const container = new ComponentContainer(name);\r\n for (const component of _components.values()) {\r\n container.addComponent(component);\r\n }\r\n const newApp = new FirebaseAppImpl(options, config, container);\r\n _apps.set(name, newApp);\r\n return newApp;\r\n}\r\nfunction initializeServerApp(_options, _serverAppConfig) {\r\n if (isBrowser() && !isWebWorker()) {\r\n // FirebaseServerApp isn't designed to be run in browsers.\r\n throw ERROR_FACTORY.create(\"invalid-server-app-environment\" /* AppError.INVALID_SERVER_APP_ENVIRONMENT */);\r\n }\r\n if (_serverAppConfig.automaticDataCollectionEnabled === undefined) {\r\n _serverAppConfig.automaticDataCollectionEnabled = false;\r\n }\r\n let appOptions;\r\n if (_isFirebaseApp(_options)) {\r\n appOptions = _options.options;\r\n }\r\n else {\r\n appOptions = _options;\r\n }\r\n // Build an app name based on a hash of the configuration options.\r\n const nameObj = Object.assign(Object.assign({}, _serverAppConfig), appOptions);\r\n // However, Do not mangle the name based on releaseOnDeref, since it will vary between the\r\n // construction of FirebaseServerApp instances. For example, if the object is the request headers.\r\n if (nameObj.releaseOnDeref !== undefined) {\r\n delete nameObj.releaseOnDeref;\r\n }\r\n const hashCode = (s) => {\r\n return [...s].reduce((hash, c) => (Math.imul(31, hash) + c.charCodeAt(0)) | 0, 0);\r\n };\r\n if (_serverAppConfig.releaseOnDeref !== undefined) {\r\n if (typeof FinalizationRegistry === 'undefined') {\r\n throw ERROR_FACTORY.create(\"finalization-registry-not-supported\" /* AppError.FINALIZATION_REGISTRY_NOT_SUPPORTED */, {});\r\n }\r\n }\r\n const nameString = '' + hashCode(JSON.stringify(nameObj));\r\n const existingApp = _serverApps.get(nameString);\r\n if (existingApp) {\r\n existingApp.incRefCount(_serverAppConfig.releaseOnDeref);\r\n return existingApp;\r\n }\r\n const container = new ComponentContainer(nameString);\r\n for (const component of _components.values()) {\r\n container.addComponent(component);\r\n }\r\n const newApp = new FirebaseServerAppImpl(appOptions, _serverAppConfig, nameString, container);\r\n _serverApps.set(nameString, newApp);\r\n return newApp;\r\n}\r\n/**\r\n * Retrieves a {@link @firebase/app#FirebaseApp} instance.\r\n *\r\n * When called with no arguments, the default app is returned. When an app name\r\n * is provided, the app corresponding to that name is returned.\r\n *\r\n * An exception is thrown if the app being retrieved has not yet been\r\n * initialized.\r\n *\r\n * @example\r\n * ```javascript\r\n * // Return the default app\r\n * const app = getApp();\r\n * ```\r\n *\r\n * @example\r\n * ```javascript\r\n * // Return a named app\r\n * const otherApp = getApp(\"otherApp\");\r\n * ```\r\n *\r\n * @param name - Optional name of the app to return. If no name is\r\n * provided, the default is `\"[DEFAULT]\"`.\r\n *\r\n * @returns The app corresponding to the provided app name.\r\n * If no app name is provided, the default app is returned.\r\n *\r\n * @public\r\n */\r\nfunction getApp(name = DEFAULT_ENTRY_NAME) {\r\n const app = _apps.get(name);\r\n if (!app && name === DEFAULT_ENTRY_NAME && getDefaultAppConfig()) {\r\n return initializeApp();\r\n }\r\n if (!app) {\r\n throw ERROR_FACTORY.create(\"no-app\" /* AppError.NO_APP */, { appName: name });\r\n }\r\n return app;\r\n}\r\n/**\r\n * A (read-only) array of all initialized apps.\r\n * @public\r\n */\r\nfunction getApps() {\r\n return Array.from(_apps.values());\r\n}\r\n/**\r\n * Renders this app unusable and frees the resources of all associated\r\n * services.\r\n *\r\n * @example\r\n * ```javascript\r\n * deleteApp(app)\r\n * .then(function() {\r\n * console.log(\"App deleted successfully\");\r\n * })\r\n * .catch(function(error) {\r\n * console.log(\"Error deleting app:\", error);\r\n * });\r\n * ```\r\n *\r\n * @public\r\n */\r\nasync function deleteApp(app) {\r\n let cleanupProviders = false;\r\n const name = app.name;\r\n if (_apps.has(name)) {\r\n cleanupProviders = true;\r\n _apps.delete(name);\r\n }\r\n else if (_serverApps.has(name)) {\r\n const firebaseServerApp = app;\r\n if (firebaseServerApp.decRefCount() <= 0) {\r\n _serverApps.delete(name);\r\n cleanupProviders = true;\r\n }\r\n }\r\n if (cleanupProviders) {\r\n await Promise.all(app.container\r\n .getProviders()\r\n .map(provider => provider.delete()));\r\n app.isDeleted = true;\r\n }\r\n}\r\n/**\r\n * Registers a library's name and version for platform logging purposes.\r\n * @param library - Name of 1p or 3p library (e.g. firestore, angularfire)\r\n * @param version - Current version of that library.\r\n * @param variant - Bundle variant, e.g., node, rn, etc.\r\n *\r\n * @public\r\n */\r\nfunction registerVersion(libraryKeyOrName, version, variant) {\r\n var _a;\r\n // TODO: We can use this check to whitelist strings when/if we set up\r\n // a good whitelist system.\r\n let library = (_a = PLATFORM_LOG_STRING[libraryKeyOrName]) !== null && _a !== void 0 ? _a : libraryKeyOrName;\r\n if (variant) {\r\n library += `-${variant}`;\r\n }\r\n const libraryMismatch = library.match(/\\s|\\//);\r\n const versionMismatch = version.match(/\\s|\\//);\r\n if (libraryMismatch || versionMismatch) {\r\n const warning = [\r\n `Unable to register library \"${library}\" with version \"${version}\":`\r\n ];\r\n if (libraryMismatch) {\r\n warning.push(`library name \"${library}\" contains illegal characters (whitespace or \"/\")`);\r\n }\r\n if (libraryMismatch && versionMismatch) {\r\n warning.push('and');\r\n }\r\n if (versionMismatch) {\r\n warning.push(`version name \"${version}\" contains illegal characters (whitespace or \"/\")`);\r\n }\r\n logger.warn(warning.join(' '));\r\n return;\r\n }\r\n _registerComponent(new Component(`${library}-version`, () => ({ library, version }), \"VERSION\" /* ComponentType.VERSION */));\r\n}\r\n/**\r\n * Sets log handler for all Firebase SDKs.\r\n * @param logCallback - An optional custom log handler that executes user code whenever\r\n * the Firebase SDK makes a logging call.\r\n *\r\n * @public\r\n */\r\nfunction onLog(logCallback, options) {\r\n if (logCallback !== null && typeof logCallback !== 'function') {\r\n throw ERROR_FACTORY.create(\"invalid-log-argument\" /* AppError.INVALID_LOG_ARGUMENT */);\r\n }\r\n setUserLogHandler(logCallback, options);\r\n}\r\n/**\r\n * Sets log level for all Firebase SDKs.\r\n *\r\n * All of the log types above the current log level are captured (i.e. if\r\n * you set the log level to `info`, errors are logged, but `debug` and\r\n * `verbose` logs are not).\r\n *\r\n * @public\r\n */\r\nfunction setLogLevel(logLevel) {\r\n setLogLevel$1(logLevel);\r\n}\n\n/**\r\n * @license\r\n * Copyright 2021 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\nconst DB_NAME = 'firebase-heartbeat-database';\r\nconst DB_VERSION = 1;\r\nconst STORE_NAME = 'firebase-heartbeat-store';\r\nlet dbPromise = null;\r\nfunction getDbPromise() {\r\n if (!dbPromise) {\r\n dbPromise = openDB(DB_NAME, DB_VERSION, {\r\n upgrade: (db, oldVersion) => {\r\n // We don't use 'break' in this switch statement, the fall-through\r\n // behavior is what we want, because if there are multiple versions between\r\n // the old version and the current version, we want ALL the migrations\r\n // that correspond to those versions to run, not only the last one.\r\n // eslint-disable-next-line default-case\r\n switch (oldVersion) {\r\n case 0:\r\n try {\r\n db.createObjectStore(STORE_NAME);\r\n }\r\n catch (e) {\r\n // Safari/iOS browsers throw occasional exceptions on\r\n // db.createObjectStore() that may be a bug. Avoid blocking\r\n // the rest of the app functionality.\r\n console.warn(e);\r\n }\r\n }\r\n }\r\n }).catch(e => {\r\n throw ERROR_FACTORY.create(\"idb-open\" /* AppError.IDB_OPEN */, {\r\n originalErrorMessage: e.message\r\n });\r\n });\r\n }\r\n return dbPromise;\r\n}\r\nasync function readHeartbeatsFromIndexedDB(app) {\r\n try {\r\n const db = await getDbPromise();\r\n const tx = db.transaction(STORE_NAME);\r\n const result = await tx.objectStore(STORE_NAME).get(computeKey(app));\r\n // We already have the value but tx.done can throw,\r\n // so we need to await it here to catch errors\r\n await tx.done;\r\n return result;\r\n }\r\n catch (e) {\r\n if (e instanceof FirebaseError) {\r\n logger.warn(e.message);\r\n }\r\n else {\r\n const idbGetError = ERROR_FACTORY.create(\"idb-get\" /* AppError.IDB_GET */, {\r\n originalErrorMessage: e === null || e === void 0 ? void 0 : e.message\r\n });\r\n logger.warn(idbGetError.message);\r\n }\r\n }\r\n}\r\nasync function writeHeartbeatsToIndexedDB(app, heartbeatObject) {\r\n try {\r\n const db = await getDbPromise();\r\n const tx = db.transaction(STORE_NAME, 'readwrite');\r\n const objectStore = tx.objectStore(STORE_NAME);\r\n await objectStore.put(heartbeatObject, computeKey(app));\r\n await tx.done;\r\n }\r\n catch (e) {\r\n if (e instanceof FirebaseError) {\r\n logger.warn(e.message);\r\n }\r\n else {\r\n const idbGetError = ERROR_FACTORY.create(\"idb-set\" /* AppError.IDB_WRITE */, {\r\n originalErrorMessage: e === null || e === void 0 ? void 0 : e.message\r\n });\r\n logger.warn(idbGetError.message);\r\n }\r\n }\r\n}\r\nfunction computeKey(app) {\r\n return `${app.name}!${app.options.appId}`;\r\n}\n\n/**\r\n * @license\r\n * Copyright 2021 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\nconst MAX_HEADER_BYTES = 1024;\r\n// 30 days\r\nconst STORED_HEARTBEAT_RETENTION_MAX_MILLIS = 30 * 24 * 60 * 60 * 1000;\r\nclass HeartbeatServiceImpl {\r\n constructor(container) {\r\n this.container = container;\r\n /**\r\n * In-memory cache for heartbeats, used by getHeartbeatsHeader() to generate\r\n * the header string.\r\n * Stores one record per date. This will be consolidated into the standard\r\n * format of one record per user agent string before being sent as a header.\r\n * Populated from indexedDB when the controller is instantiated and should\r\n * be kept in sync with indexedDB.\r\n * Leave public for easier testing.\r\n */\r\n this._heartbeatsCache = null;\r\n const app = this.container.getProvider('app').getImmediate();\r\n this._storage = new HeartbeatStorageImpl(app);\r\n this._heartbeatsCachePromise = this._storage.read().then(result => {\r\n this._heartbeatsCache = result;\r\n return result;\r\n });\r\n }\r\n /**\r\n * Called to report a heartbeat. The function will generate\r\n * a HeartbeatsByUserAgent object, update heartbeatsCache, and persist it\r\n * to IndexedDB.\r\n * Note that we only store one heartbeat per day. So if a heartbeat for today is\r\n * already logged, subsequent calls to this function in the same day will be ignored.\r\n */\r\n async triggerHeartbeat() {\r\n var _a, _b;\r\n const platformLogger = this.container\r\n .getProvider('platform-logger')\r\n .getImmediate();\r\n // This is the \"Firebase user agent\" string from the platform logger\r\n // service, not the browser user agent.\r\n const agent = platformLogger.getPlatformInfoString();\r\n const date = getUTCDateString();\r\n if (((_a = this._heartbeatsCache) === null || _a === void 0 ? void 0 : _a.heartbeats) == null) {\r\n this._heartbeatsCache = await this._heartbeatsCachePromise;\r\n // If we failed to construct a heartbeats cache, then return immediately.\r\n if (((_b = this._heartbeatsCache) === null || _b === void 0 ? void 0 : _b.heartbeats) == null) {\r\n return;\r\n }\r\n }\r\n // Do not store a heartbeat if one is already stored for this day\r\n // or if a header has already been sent today.\r\n if (this._heartbeatsCache.lastSentHeartbeatDate === date ||\r\n this._heartbeatsCache.heartbeats.some(singleDateHeartbeat => singleDateHeartbeat.date === date)) {\r\n return;\r\n }\r\n else {\r\n // There is no entry for this date. Create one.\r\n this._heartbeatsCache.heartbeats.push({ date, agent });\r\n }\r\n // Remove entries older than 30 days.\r\n this._heartbeatsCache.heartbeats = this._heartbeatsCache.heartbeats.filter(singleDateHeartbeat => {\r\n const hbTimestamp = new Date(singleDateHeartbeat.date).valueOf();\r\n const now = Date.now();\r\n return now - hbTimestamp <= STORED_HEARTBEAT_RETENTION_MAX_MILLIS;\r\n });\r\n return this._storage.overwrite(this._heartbeatsCache);\r\n }\r\n /**\r\n * Returns a base64 encoded string which can be attached to the heartbeat-specific header directly.\r\n * It also clears all heartbeats from memory as well as in IndexedDB.\r\n *\r\n * NOTE: Consuming product SDKs should not send the header if this method\r\n * returns an empty string.\r\n */\r\n async getHeartbeatsHeader() {\r\n var _a;\r\n if (this._heartbeatsCache === null) {\r\n await this._heartbeatsCachePromise;\r\n }\r\n // If it's still null or the array is empty, there is no data to send.\r\n if (((_a = this._heartbeatsCache) === null || _a === void 0 ? void 0 : _a.heartbeats) == null ||\r\n this._heartbeatsCache.heartbeats.length === 0) {\r\n return '';\r\n }\r\n const date = getUTCDateString();\r\n // Extract as many heartbeats from the cache as will fit under the size limit.\r\n const { heartbeatsToSend, unsentEntries } = extractHeartbeatsForHeader(this._heartbeatsCache.heartbeats);\r\n const headerString = base64urlEncodeWithoutPadding(JSON.stringify({ version: 2, heartbeats: heartbeatsToSend }));\r\n // Store last sent date to prevent another being logged/sent for the same day.\r\n this._heartbeatsCache.lastSentHeartbeatDate = date;\r\n if (unsentEntries.length > 0) {\r\n // Store any unsent entries if they exist.\r\n this._heartbeatsCache.heartbeats = unsentEntries;\r\n // This seems more likely than emptying the array (below) to lead to some odd state\r\n // since the cache isn't empty and this will be called again on the next request,\r\n // and is probably safest if we await it.\r\n await this._storage.overwrite(this._heartbeatsCache);\r\n }\r\n else {\r\n this._heartbeatsCache.heartbeats = [];\r\n // Do not wait for this, to reduce latency.\r\n void this._storage.overwrite(this._heartbeatsCache);\r\n }\r\n return headerString;\r\n }\r\n}\r\nfunction getUTCDateString() {\r\n const today = new Date();\r\n // Returns date format 'YYYY-MM-DD'\r\n return today.toISOString().substring(0, 10);\r\n}\r\nfunction extractHeartbeatsForHeader(heartbeatsCache, maxSize = MAX_HEADER_BYTES) {\r\n // Heartbeats grouped by user agent in the standard format to be sent in\r\n // the header.\r\n const heartbeatsToSend = [];\r\n // Single date format heartbeats that are not sent.\r\n let unsentEntries = heartbeatsCache.slice();\r\n for (const singleDateHeartbeat of heartbeatsCache) {\r\n // Look for an existing entry with the same user agent.\r\n const heartbeatEntry = heartbeatsToSend.find(hb => hb.agent === singleDateHeartbeat.agent);\r\n if (!heartbeatEntry) {\r\n // If no entry for this user agent exists, create one.\r\n heartbeatsToSend.push({\r\n agent: singleDateHeartbeat.agent,\r\n dates: [singleDateHeartbeat.date]\r\n });\r\n if (countBytes(heartbeatsToSend) > maxSize) {\r\n // If the header would exceed max size, remove the added heartbeat\r\n // entry and stop adding to the header.\r\n heartbeatsToSend.pop();\r\n break;\r\n }\r\n }\r\n else {\r\n heartbeatEntry.dates.push(singleDateHeartbeat.date);\r\n // If the header would exceed max size, remove the added date\r\n // and stop adding to the header.\r\n if (countBytes(heartbeatsToSend) > maxSize) {\r\n heartbeatEntry.dates.pop();\r\n break;\r\n }\r\n }\r\n // Pop unsent entry from queue. (Skipped if adding the entry exceeded\r\n // quota and the loop breaks early.)\r\n unsentEntries = unsentEntries.slice(1);\r\n }\r\n return {\r\n heartbeatsToSend,\r\n unsentEntries\r\n };\r\n}\r\nclass HeartbeatStorageImpl {\r\n constructor(app) {\r\n this.app = app;\r\n this._canUseIndexedDBPromise = this.runIndexedDBEnvironmentCheck();\r\n }\r\n async runIndexedDBEnvironmentCheck() {\r\n if (!isIndexedDBAvailable()) {\r\n return false;\r\n }\r\n else {\r\n return validateIndexedDBOpenable()\r\n .then(() => true)\r\n .catch(() => false);\r\n }\r\n }\r\n /**\r\n * Read all heartbeats.\r\n */\r\n async read() {\r\n const canUseIndexedDB = await this._canUseIndexedDBPromise;\r\n if (!canUseIndexedDB) {\r\n return { heartbeats: [] };\r\n }\r\n else {\r\n const idbHeartbeatObject = await readHeartbeatsFromIndexedDB(this.app);\r\n if (idbHeartbeatObject === null || idbHeartbeatObject === void 0 ? void 0 : idbHeartbeatObject.heartbeats) {\r\n return idbHeartbeatObject;\r\n }\r\n else {\r\n return { heartbeats: [] };\r\n }\r\n }\r\n }\r\n // overwrite the storage with the provided heartbeats\r\n async overwrite(heartbeatsObject) {\r\n var _a;\r\n const canUseIndexedDB = await this._canUseIndexedDBPromise;\r\n if (!canUseIndexedDB) {\r\n return;\r\n }\r\n else {\r\n const existingHeartbeatsObject = await this.read();\r\n return writeHeartbeatsToIndexedDB(this.app, {\r\n lastSentHeartbeatDate: (_a = heartbeatsObject.lastSentHeartbeatDate) !== null && _a !== void 0 ? _a : existingHeartbeatsObject.lastSentHeartbeatDate,\r\n heartbeats: heartbeatsObject.heartbeats\r\n });\r\n }\r\n }\r\n // add heartbeats\r\n async add(heartbeatsObject) {\r\n var _a;\r\n const canUseIndexedDB = await this._canUseIndexedDBPromise;\r\n if (!canUseIndexedDB) {\r\n return;\r\n }\r\n else {\r\n const existingHeartbeatsObject = await this.read();\r\n return writeHeartbeatsToIndexedDB(this.app, {\r\n lastSentHeartbeatDate: (_a = heartbeatsObject.lastSentHeartbeatDate) !== null && _a !== void 0 ? _a : existingHeartbeatsObject.lastSentHeartbeatDate,\r\n heartbeats: [\r\n ...existingHeartbeatsObject.heartbeats,\r\n ...heartbeatsObject.heartbeats\r\n ]\r\n });\r\n }\r\n }\r\n}\r\n/**\r\n * Calculate bytes of a HeartbeatsByUserAgent array after being wrapped\r\n * in a platform logging header JSON object, stringified, and converted\r\n * to base 64.\r\n */\r\nfunction countBytes(heartbeatsCache) {\r\n // base64 has a restricted set of characters, all of which should be 1 byte.\r\n return base64urlEncodeWithoutPadding(\r\n // heartbeatsCache wrapper properties\r\n JSON.stringify({ version: 2, heartbeats: heartbeatsCache })).length;\r\n}\n\n/**\r\n * @license\r\n * Copyright 2019 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\nfunction registerCoreComponents(variant) {\r\n _registerComponent(new Component('platform-logger', container => new PlatformLoggerServiceImpl(container), \"PRIVATE\" /* ComponentType.PRIVATE */));\r\n _registerComponent(new Component('heartbeat', container => new HeartbeatServiceImpl(container), \"PRIVATE\" /* ComponentType.PRIVATE */));\r\n // Register `app` package.\r\n registerVersion(name$p, version$1, variant);\r\n // BUILD_TARGET will be replaced by values like esm5, esm2017, cjs5, etc during the compilation\r\n registerVersion(name$p, version$1, 'esm2017');\r\n // Register platform SDK identifier (no version).\r\n registerVersion('fire-js', '');\r\n}\n\n/**\r\n * Firebase App\r\n *\r\n * @remarks This package coordinates the communication between the different Firebase components\r\n * @packageDocumentation\r\n */\r\nregisterCoreComponents('');\n\nexport { SDK_VERSION, DEFAULT_ENTRY_NAME as _DEFAULT_ENTRY_NAME, _addComponent, _addOrOverwriteComponent, _apps, _clearComponents, _components, _getProvider, _isFirebaseApp, _isFirebaseServerApp, _registerComponent, _removeServiceInstance, _serverApps, deleteApp, getApp, getApps, initializeApp, initializeServerApp, onLog, registerVersion, setLogLevel };\n//# sourceMappingURL=index.esm2017.js.map\n","import { registerVersion } from '@firebase/app';\nexport * from '@firebase/app';\n\nvar name = \"firebase\";\nvar version = \"10.12.4\";\n\n/**\r\n * @license\r\n * Copyright 2020 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\nregisterVersion(name, version, 'app');\n//# sourceMappingURL=index.esm.js.map\n"],"names":["stringToByteArray$1","str","out","p","i","c","byteArrayToString","bytes","pos","c1","c2","c3","c4","u","base64","input","webSafe","byteToCharMap","output","byte1","haveByte2","byte2","haveByte3","byte3","outByte1","outByte2","outByte3","outByte4","charToByteMap","byte4","DecodeBase64StringError","base64Encode","utf8Bytes","base64urlEncodeWithoutPadding","base64Decode","getGlobal","getDefaultsFromGlobal","getDefaultsFromEnvVariable","define_process_env_default","defaultsJsonString","getDefaultsFromCookie","match","decoded","getDefaults","e","getDefaultAppConfig","_a","Deferred","resolve","reject","callback","error","value","isIndexedDBAvailable","validateIndexedDBOpenable","preExist","DB_CHECK_NAME","request","ERROR_NAME","FirebaseError","code","message","customData","ErrorFactory","service","serviceName","errors","data","fullCode","template","replaceTemplate","fullMessage","PATTERN","_","key","deepEqual","a","b","aKeys","bKeys","k","aProp","bProp","isObject","thing","Component","name","instanceFactory","type","mode","multipleInstances","props","DEFAULT_ENTRY_NAME","Provider","container","identifier","normalizedIdentifier","deferred","instance","options","optional","component","isComponentEager","instanceIdentifier","instanceDeferred","services","opts","normalizedDeferredIdentifier","existingCallbacks","existingInstance","callbacks","normalizeIdentifierForFactory","ComponentContainer","provider","LogLevel","levelStringToEnum","defaultLogLevel","ConsoleMethod","defaultLogHandler","logType","args","now","method","Logger","val","instanceOfAny","object","constructors","idbProxyableTypes","cursorAdvanceMethods","getIdbProxyableTypes","getCursorAdvanceMethods","cursorRequestMap","transactionDoneMap","transactionStoreNamesMap","transformCache","reverseTransformCache","promisifyRequest","promise","unlisten","success","wrap","cacheDonePromiseForTransaction","tx","done","complete","idbProxyTraps","target","prop","receiver","replaceTraps","wrapFunction","func","storeNames","unwrap","transformCachableValue","newValue","openDB","version","blocked","upgrade","blocking","terminated","openPromise","event","db","readMethods","writeMethods","cachedMethods","getMethod","targetFuncName","useIndex","isWrite","storeName","oldTraps","PlatformLoggerServiceImpl","isVersionServiceProvider","logString","name$p","version$1","logger","name$o","name$n","name$m","name$l","name$k","name$j","name$i","name$h","name$g","name$f","name$e","name$d","name$c","name$b","name$a","name$9","name$8","name$7","name$6","name$5","name$4","name$3","name$2","name$1","PLATFORM_LOG_STRING","_apps","_serverApps","_components","_addComponent","app","_registerComponent","componentName","serverApp","ERRORS","ERROR_FACTORY","FirebaseAppImpl","config","initializeApp","_options","rawConfig","existingApp","newApp","registerVersion","libraryKeyOrName","variant","library","libraryMismatch","versionMismatch","warning","DB_NAME","DB_VERSION","STORE_NAME","dbPromise","getDbPromise","oldVersion","readHeartbeatsFromIndexedDB","result","computeKey","idbGetError","writeHeartbeatsToIndexedDB","heartbeatObject","MAX_HEADER_BYTES","STORED_HEARTBEAT_RETENTION_MAX_MILLIS","HeartbeatServiceImpl","HeartbeatStorageImpl","_b","agent","date","getUTCDateString","singleDateHeartbeat","hbTimestamp","heartbeatsToSend","unsentEntries","extractHeartbeatsForHeader","headerString","heartbeatsCache","maxSize","heartbeatEntry","hb","countBytes","idbHeartbeatObject","heartbeatsObject","existingHeartbeatsObject","registerCoreComponents"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,5,6]} \ No newline at end of file diff --git a/Target/index.html b/Target/index.html index c4c5e80f..f026a524 100644 --- a/Target/index.html +++ b/Target/index.html @@ -1 +1 @@ -

\ No newline at end of file +
\ No newline at end of file diff --git a/Target/manifest_ReiFQC_B.mjs.map b/Target/manifest_h2lZuw-H.mjs.map similarity index 99% rename from Target/manifest_ReiFQC_B.mjs.map rename to Target/manifest_h2lZuw-H.mjs.map index 8d5444b1..90466b4d 100644 --- a/Target/manifest_ReiFQC_B.mjs.map +++ b/Target/manifest_h2lZuw-H.mjs.map @@ -1 +1 @@ -{"version":3,"file":"manifest_ReiFQC_B.mjs","sources":["../node_modules/astro/dist/core/logger/core.js","../node_modules/astro/dist/core/routing/manifest/generator.js","../node_modules/astro/dist/core/routing/manifest/serialization.js","../node_modules/astro/dist/core/app/common.js"],"sourcesContent":["import { blue, bold, dim, red, yellow } from \"kleur/colors\";\nimport stringWidth from \"string-width\";\nconst dateTimeFormat = new Intl.DateTimeFormat([], {\n hour: \"2-digit\",\n minute: \"2-digit\",\n second: \"2-digit\",\n hour12: false\n});\nconst levels = {\n debug: 20,\n info: 30,\n warn: 40,\n error: 50,\n silent: 90\n};\nfunction log(opts, level, label, message, newLine = true) {\n const logLevel = opts.level;\n const dest = opts.dest;\n const event = {\n label,\n level,\n message,\n newLine\n };\n if (!isLogLevelEnabled(logLevel, level)) {\n return;\n }\n dest.write(event);\n}\nfunction isLogLevelEnabled(configuredLogLevel, level) {\n return levels[configuredLogLevel] <= levels[level];\n}\nfunction info(opts, label, message, newLine = true) {\n return log(opts, \"info\", label, message, newLine);\n}\nfunction warn(opts, label, message, newLine = true) {\n return log(opts, \"warn\", label, message, newLine);\n}\nfunction error(opts, label, message, newLine = true) {\n return log(opts, \"error\", label, message, newLine);\n}\nfunction table(opts, columns) {\n return function logTable(logFn, ...input) {\n const message = columns.map((len, i) => padStr(input[i].toString(), len)).join(\" \");\n logFn(opts, null, message);\n };\n}\nfunction debug(...args) {\n if (\"_astroGlobalDebug\" in globalThis) {\n globalThis._astroGlobalDebug(...args);\n }\n}\nfunction padStr(str, len) {\n const strLen = stringWidth(str);\n if (strLen > len) {\n return str.substring(0, len - 3) + \"...\";\n }\n const spaces = Array.from({ length: len - strLen }, () => \" \").join(\"\");\n return str + spaces;\n}\nfunction getEventPrefix({ level, label }) {\n const timestamp = `${dateTimeFormat.format(/* @__PURE__ */ new Date())}`;\n const prefix = [];\n if (level === \"error\" || level === \"warn\") {\n prefix.push(bold(timestamp));\n prefix.push(`[${level.toUpperCase()}]`);\n } else {\n prefix.push(timestamp);\n }\n if (label) {\n prefix.push(`[${label}]`);\n }\n if (level === \"error\") {\n return red(prefix.join(\" \"));\n }\n if (level === \"warn\") {\n return yellow(prefix.join(\" \"));\n }\n if (prefix.length === 1) {\n return dim(prefix[0]);\n }\n return dim(prefix[0]) + \" \" + blue(prefix.splice(1).join(\" \"));\n}\nlet defaultLogLevel;\nif (typeof process !== \"undefined\") {\n let proc = process;\n if (\"argv\" in proc && Array.isArray(proc.argv)) {\n if (proc.argv.includes(\"--verbose\")) {\n defaultLogLevel = \"debug\";\n } else if (proc.argv.includes(\"--silent\")) {\n defaultLogLevel = \"silent\";\n } else {\n defaultLogLevel = \"info\";\n }\n } else {\n defaultLogLevel = \"info\";\n }\n} else {\n defaultLogLevel = \"info\";\n}\nfunction timerMessage(message, startTime = Date.now()) {\n let timeDiff = Date.now() - startTime;\n let timeDisplay = timeDiff < 750 ? `${Math.round(timeDiff)}ms` : `${(timeDiff / 1e3).toFixed(1)}s`;\n return `${message} ${dim(timeDisplay)}`;\n}\nclass Logger {\n options;\n constructor(options) {\n this.options = options;\n }\n info(label, message, newLine = true) {\n info(this.options, label, message, newLine);\n }\n warn(label, message, newLine = true) {\n warn(this.options, label, message, newLine);\n }\n error(label, message, newLine = true) {\n error(this.options, label, message, newLine);\n }\n debug(label, ...messages) {\n debug(label, ...messages);\n }\n level() {\n return this.options.level;\n }\n forkIntegrationLogger(label) {\n return new AstroIntegrationLogger(this.options, label);\n }\n}\nclass AstroIntegrationLogger {\n options;\n label;\n constructor(logging, label) {\n this.options = logging;\n this.label = label;\n }\n /**\n * Creates a new logger instance with a new label, but the same log options.\n */\n fork(label) {\n return new AstroIntegrationLogger(this.options, label);\n }\n info(message) {\n info(this.options, this.label, message);\n }\n warn(message) {\n warn(this.options, this.label, message);\n }\n error(message) {\n error(this.options, this.label, message);\n }\n debug(message) {\n debug(this.label, message);\n }\n}\nexport {\n AstroIntegrationLogger,\n Logger,\n dateTimeFormat,\n debug,\n defaultLogLevel,\n error,\n getEventPrefix,\n info,\n isLogLevelEnabled,\n levels,\n log,\n table,\n timerMessage,\n warn\n};\n","import { compile } from \"path-to-regexp\";\nfunction sanitizeParams(params) {\n return Object.fromEntries(\n Object.entries(params).map(([key, value]) => {\n if (typeof value === \"string\") {\n return [key, value.normalize().replace(/#/g, \"%23\").replace(/\\?/g, \"%3F\")];\n }\n return [key, value];\n })\n );\n}\nfunction getRouteGenerator(segments, addTrailingSlash) {\n const template = segments.map((segment) => {\n return \"/\" + segment.map((part) => {\n if (part.spread) {\n return `:${part.content.slice(3)}(.*)?`;\n } else if (part.dynamic) {\n return `:${part.content}`;\n } else {\n return part.content.normalize().replace(/\\?/g, \"%3F\").replace(/#/g, \"%23\").replace(/%5B/g, \"[\").replace(/%5D/g, \"]\").replace(/[.*+?^${}()|[\\]\\\\]/g, \"\\\\$&\");\n }\n }).join(\"\");\n }).join(\"\");\n let trailing = \"\";\n if (addTrailingSlash === \"always\" && segments.length) {\n trailing = \"/\";\n }\n const toPath = compile(template + trailing);\n return (params) => {\n const sanitizedParams = sanitizeParams(params);\n const path = toPath(sanitizedParams);\n return path || \"/\";\n };\n}\nexport {\n getRouteGenerator\n};\n","import { getRouteGenerator } from \"./generator.js\";\nfunction serializeRouteData(routeData, trailingSlash) {\n return {\n ...routeData,\n generate: void 0,\n pattern: routeData.pattern.source,\n redirectRoute: routeData.redirectRoute ? serializeRouteData(routeData.redirectRoute, trailingSlash) : void 0,\n fallbackRoutes: routeData.fallbackRoutes.map((fallbackRoute) => {\n return serializeRouteData(fallbackRoute, trailingSlash);\n }),\n _meta: { trailingSlash }\n };\n}\nfunction deserializeRouteData(rawRouteData) {\n return {\n route: rawRouteData.route,\n type: rawRouteData.type,\n pattern: new RegExp(rawRouteData.pattern),\n params: rawRouteData.params,\n component: rawRouteData.component,\n generate: getRouteGenerator(rawRouteData.segments, rawRouteData._meta.trailingSlash),\n pathname: rawRouteData.pathname || void 0,\n segments: rawRouteData.segments,\n prerender: rawRouteData.prerender,\n redirect: rawRouteData.redirect,\n redirectRoute: rawRouteData.redirectRoute ? deserializeRouteData(rawRouteData.redirectRoute) : void 0,\n fallbackRoutes: rawRouteData.fallbackRoutes.map((fallback) => {\n return deserializeRouteData(fallback);\n }),\n isIndex: rawRouteData.isIndex\n };\n}\nexport {\n deserializeRouteData,\n serializeRouteData\n};\n","import { deserializeRouteData } from \"../routing/manifest/serialization.js\";\nfunction deserializeManifest(serializedManifest) {\n const routes = [];\n for (const serializedRoute of serializedManifest.routes) {\n routes.push({\n ...serializedRoute,\n routeData: deserializeRouteData(serializedRoute.routeData)\n });\n const route = serializedRoute;\n route.routeData = deserializeRouteData(serializedRoute.routeData);\n }\n const assets = new Set(serializedManifest.assets);\n const componentMetadata = new Map(serializedManifest.componentMetadata);\n const inlinedScripts = new Map(serializedManifest.inlinedScripts);\n const clientDirectives = new Map(serializedManifest.clientDirectives);\n const serverIslandNameMap = new Map(serializedManifest.serverIslandNameMap);\n return {\n // in case user middleware exists, this no-op middleware will be reassigned (see plugin-ssr.ts)\n middleware(_, next) {\n return next();\n },\n ...serializedManifest,\n assets,\n componentMetadata,\n inlinedScripts,\n clientDirectives,\n routes,\n serverIslandNameMap\n };\n}\nexport {\n deserializeManifest\n};\n"],"names":[],"mappings":"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","x_google_ignoreList":[0,1,2,3]} \ No newline at end of file +{"version":3,"file":"manifest_h2lZuw-H.mjs","sources":["../node_modules/astro/dist/core/logger/core.js","../node_modules/astro/dist/core/routing/manifest/generator.js","../node_modules/astro/dist/core/routing/manifest/serialization.js","../node_modules/astro/dist/core/app/common.js"],"sourcesContent":["import { blue, bold, dim, red, yellow } from \"kleur/colors\";\nimport stringWidth from \"string-width\";\nconst dateTimeFormat = new Intl.DateTimeFormat([], {\n hour: \"2-digit\",\n minute: \"2-digit\",\n second: \"2-digit\",\n hour12: false\n});\nconst levels = {\n debug: 20,\n info: 30,\n warn: 40,\n error: 50,\n silent: 90\n};\nfunction log(opts, level, label, message, newLine = true) {\n const logLevel = opts.level;\n const dest = opts.dest;\n const event = {\n label,\n level,\n message,\n newLine\n };\n if (!isLogLevelEnabled(logLevel, level)) {\n return;\n }\n dest.write(event);\n}\nfunction isLogLevelEnabled(configuredLogLevel, level) {\n return levels[configuredLogLevel] <= levels[level];\n}\nfunction info(opts, label, message, newLine = true) {\n return log(opts, \"info\", label, message, newLine);\n}\nfunction warn(opts, label, message, newLine = true) {\n return log(opts, \"warn\", label, message, newLine);\n}\nfunction error(opts, label, message, newLine = true) {\n return log(opts, \"error\", label, message, newLine);\n}\nfunction table(opts, columns) {\n return function logTable(logFn, ...input) {\n const message = columns.map((len, i) => padStr(input[i].toString(), len)).join(\" \");\n logFn(opts, null, message);\n };\n}\nfunction debug(...args) {\n if (\"_astroGlobalDebug\" in globalThis) {\n globalThis._astroGlobalDebug(...args);\n }\n}\nfunction padStr(str, len) {\n const strLen = stringWidth(str);\n if (strLen > len) {\n return str.substring(0, len - 3) + \"...\";\n }\n const spaces = Array.from({ length: len - strLen }, () => \" \").join(\"\");\n return str + spaces;\n}\nfunction getEventPrefix({ level, label }) {\n const timestamp = `${dateTimeFormat.format(/* @__PURE__ */ new Date())}`;\n const prefix = [];\n if (level === \"error\" || level === \"warn\") {\n prefix.push(bold(timestamp));\n prefix.push(`[${level.toUpperCase()}]`);\n } else {\n prefix.push(timestamp);\n }\n if (label) {\n prefix.push(`[${label}]`);\n }\n if (level === \"error\") {\n return red(prefix.join(\" \"));\n }\n if (level === \"warn\") {\n return yellow(prefix.join(\" \"));\n }\n if (prefix.length === 1) {\n return dim(prefix[0]);\n }\n return dim(prefix[0]) + \" \" + blue(prefix.splice(1).join(\" \"));\n}\nlet defaultLogLevel;\nif (typeof process !== \"undefined\") {\n let proc = process;\n if (\"argv\" in proc && Array.isArray(proc.argv)) {\n if (proc.argv.includes(\"--verbose\")) {\n defaultLogLevel = \"debug\";\n } else if (proc.argv.includes(\"--silent\")) {\n defaultLogLevel = \"silent\";\n } else {\n defaultLogLevel = \"info\";\n }\n } else {\n defaultLogLevel = \"info\";\n }\n} else {\n defaultLogLevel = \"info\";\n}\nfunction timerMessage(message, startTime = Date.now()) {\n let timeDiff = Date.now() - startTime;\n let timeDisplay = timeDiff < 750 ? `${Math.round(timeDiff)}ms` : `${(timeDiff / 1e3).toFixed(1)}s`;\n return `${message} ${dim(timeDisplay)}`;\n}\nclass Logger {\n options;\n constructor(options) {\n this.options = options;\n }\n info(label, message, newLine = true) {\n info(this.options, label, message, newLine);\n }\n warn(label, message, newLine = true) {\n warn(this.options, label, message, newLine);\n }\n error(label, message, newLine = true) {\n error(this.options, label, message, newLine);\n }\n debug(label, ...messages) {\n debug(label, ...messages);\n }\n level() {\n return this.options.level;\n }\n forkIntegrationLogger(label) {\n return new AstroIntegrationLogger(this.options, label);\n }\n}\nclass AstroIntegrationLogger {\n options;\n label;\n constructor(logging, label) {\n this.options = logging;\n this.label = label;\n }\n /**\n * Creates a new logger instance with a new label, but the same log options.\n */\n fork(label) {\n return new AstroIntegrationLogger(this.options, label);\n }\n info(message) {\n info(this.options, this.label, message);\n }\n warn(message) {\n warn(this.options, this.label, message);\n }\n error(message) {\n error(this.options, this.label, message);\n }\n debug(message) {\n debug(this.label, message);\n }\n}\nexport {\n AstroIntegrationLogger,\n Logger,\n dateTimeFormat,\n debug,\n defaultLogLevel,\n error,\n getEventPrefix,\n info,\n isLogLevelEnabled,\n levels,\n log,\n table,\n timerMessage,\n warn\n};\n","import { compile } from \"path-to-regexp\";\nfunction sanitizeParams(params) {\n return Object.fromEntries(\n Object.entries(params).map(([key, value]) => {\n if (typeof value === \"string\") {\n return [key, value.normalize().replace(/#/g, \"%23\").replace(/\\?/g, \"%3F\")];\n }\n return [key, value];\n })\n );\n}\nfunction getRouteGenerator(segments, addTrailingSlash) {\n const template = segments.map((segment) => {\n return \"/\" + segment.map((part) => {\n if (part.spread) {\n return `:${part.content.slice(3)}(.*)?`;\n } else if (part.dynamic) {\n return `:${part.content}`;\n } else {\n return part.content.normalize().replace(/\\?/g, \"%3F\").replace(/#/g, \"%23\").replace(/%5B/g, \"[\").replace(/%5D/g, \"]\").replace(/[.*+?^${}()|[\\]\\\\]/g, \"\\\\$&\");\n }\n }).join(\"\");\n }).join(\"\");\n let trailing = \"\";\n if (addTrailingSlash === \"always\" && segments.length) {\n trailing = \"/\";\n }\n const toPath = compile(template + trailing);\n return (params) => {\n const sanitizedParams = sanitizeParams(params);\n const path = toPath(sanitizedParams);\n return path || \"/\";\n };\n}\nexport {\n getRouteGenerator\n};\n","import { getRouteGenerator } from \"./generator.js\";\nfunction serializeRouteData(routeData, trailingSlash) {\n return {\n ...routeData,\n generate: void 0,\n pattern: routeData.pattern.source,\n redirectRoute: routeData.redirectRoute ? serializeRouteData(routeData.redirectRoute, trailingSlash) : void 0,\n fallbackRoutes: routeData.fallbackRoutes.map((fallbackRoute) => {\n return serializeRouteData(fallbackRoute, trailingSlash);\n }),\n _meta: { trailingSlash }\n };\n}\nfunction deserializeRouteData(rawRouteData) {\n return {\n route: rawRouteData.route,\n type: rawRouteData.type,\n pattern: new RegExp(rawRouteData.pattern),\n params: rawRouteData.params,\n component: rawRouteData.component,\n generate: getRouteGenerator(rawRouteData.segments, rawRouteData._meta.trailingSlash),\n pathname: rawRouteData.pathname || void 0,\n segments: rawRouteData.segments,\n prerender: rawRouteData.prerender,\n redirect: rawRouteData.redirect,\n redirectRoute: rawRouteData.redirectRoute ? deserializeRouteData(rawRouteData.redirectRoute) : void 0,\n fallbackRoutes: rawRouteData.fallbackRoutes.map((fallback) => {\n return deserializeRouteData(fallback);\n }),\n isIndex: rawRouteData.isIndex\n };\n}\nexport {\n deserializeRouteData,\n serializeRouteData\n};\n","import { deserializeRouteData } from \"../routing/manifest/serialization.js\";\nfunction deserializeManifest(serializedManifest) {\n const routes = [];\n for (const serializedRoute of serializedManifest.routes) {\n routes.push({\n ...serializedRoute,\n routeData: deserializeRouteData(serializedRoute.routeData)\n });\n const route = serializedRoute;\n route.routeData = deserializeRouteData(serializedRoute.routeData);\n }\n const assets = new Set(serializedManifest.assets);\n const componentMetadata = new Map(serializedManifest.componentMetadata);\n const inlinedScripts = new Map(serializedManifest.inlinedScripts);\n const clientDirectives = new Map(serializedManifest.clientDirectives);\n const serverIslandNameMap = new Map(serializedManifest.serverIslandNameMap);\n return {\n // in case user middleware exists, this no-op middleware will be reassigned (see plugin-ssr.ts)\n middleware(_, next) {\n return next();\n },\n ...serializedManifest,\n assets,\n componentMetadata,\n inlinedScripts,\n clientDirectives,\n routes,\n serverIslandNameMap\n };\n}\nexport {\n deserializeManifest\n};\n"],"names":[],"mappings":"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","x_google_ignoreList":[0,1,2,3]} \ No newline at end of file From 94c3b0baf02e42992cc1852e948e50fca378da86 Mon Sep 17 00:00:00 2001 From: Nikola Hristov Date: Sat, 3 Aug 2024 13:09:42 +0300 Subject: [PATCH 012/112] --- ... => Base.astro_astro_type_script_index_0_lang.Dhdjth5_.js} | 4 ++-- ...Base.astro_astro_type_script_index_0_lang.Dhdjth5_.js.map} | 2 +- .../_astro/{index.esm.DRVoThhD.js => index.esm.JD-0sKti.js} | 2 +- .../{index.esm.DRVoThhD.js.map => index.esm.JD-0sKti.js.map} | 2 +- Target/index.html | 2 +- .../{manifest_h2lZuw-H.mjs.map => manifest_mEtZhJau.mjs.map} | 2 +- 6 files changed, 7 insertions(+), 7 deletions(-) rename Target/_astro/{Base.astro_astro_type_script_index_0_lang.-Cfsw7Td.js => Base.astro_astro_type_script_index_0_lang.Dhdjth5_.js} (65%) rename Target/_astro/{Base.astro_astro_type_script_index_0_lang.-Cfsw7Td.js.map => Base.astro_astro_type_script_index_0_lang.Dhdjth5_.js.map} (96%) rename Target/_astro/{index.esm.DRVoThhD.js => index.esm.JD-0sKti.js} (99%) rename Target/_astro/{index.esm.DRVoThhD.js.map => index.esm.JD-0sKti.js.map} (99%) rename Target/{manifest_h2lZuw-H.mjs.map => manifest_mEtZhJau.mjs.map} (99%) diff --git a/Target/_astro/Base.astro_astro_type_script_index_0_lang.-Cfsw7Td.js b/Target/_astro/Base.astro_astro_type_script_index_0_lang.Dhdjth5_.js similarity index 65% rename from Target/_astro/Base.astro_astro_type_script_index_0_lang.-Cfsw7Td.js rename to Target/_astro/Base.astro_astro_type_script_index_0_lang.Dhdjth5_.js index d4fc5398..45c927f6 100644 --- a/Target/_astro/Base.astro_astro_type_script_index_0_lang.-Cfsw7Td.js +++ b/Target/_astro/Base.astro_astro_type_script_index_0_lang.Dhdjth5_.js @@ -1,7 +1,7 @@ import { _ as e } from "./preload-helper.BiBI96sQ.js"; ( await e(async () => { - const { initializeApp: a } = await import("./index.esm.DRVoThhD.js"); + const { initializeApp: a } = await import("./index.esm.JD-0sKti.js"); return { initializeApp: a }; }, []) ).initializeApp({ @@ -14,4 +14,4 @@ import { _ as e } from "./preload-helper.BiBI96sQ.js"; projectId: "", storageBucket: "", }); -//# sourceMappingURL=Base.astro_astro_type_script_index_0_lang.-Cfsw7Td.js.map +//# sourceMappingURL=Base.astro_astro_type_script_index_0_lang.Dhdjth5_.js.map diff --git a/Target/_astro/Base.astro_astro_type_script_index_0_lang.-Cfsw7Td.js.map b/Target/_astro/Base.astro_astro_type_script_index_0_lang.Dhdjth5_.js.map similarity index 96% rename from Target/_astro/Base.astro_astro_type_script_index_0_lang.-Cfsw7Td.js.map rename to Target/_astro/Base.astro_astro_type_script_index_0_lang.Dhdjth5_.js.map index 5452606a..d207d0e8 100644 --- a/Target/_astro/Base.astro_astro_type_script_index_0_lang.-Cfsw7Td.js.map +++ b/Target/_astro/Base.astro_astro_type_script_index_0_lang.Dhdjth5_.js.map @@ -1 +1 @@ -{"version":3,"mappings":"kDAAgB,MAAMA,EAAA,8BAAAC,CAAA,eAAO,yBAAc,uBAAAA,CAAA,QAAG,cAAc,CAC3D,OAAQ,GACR,MAAO,GACP,WAAY,GACZ,YAAa,GACb,cAAe,GACf,kBAAmB,GACnB,UAAW,GACX,cAAe,EAChB,CAAC","names":["__vitePreload","initializeApp"],"ignoreList":[],"sources":["../../Source/Script/Firebase.ts"],"sourcesContent":["export default (await import(\"firebase/app\")).initializeApp({\n\tapiKey: \"\", // TODO Replace with your API key\n\tappId: \"\", // TODO Replace with your app ID\n\tauthDomain: \"\", // TODO Replace with your auth domain\n\tdatabaseURL: \"\", // TODO Replace with your database URL\n\tmeasurementId: \"\", // TODO Replace with your measurement ID\n\tmessagingSenderId: \"\", // TODO Replace with your messaging sender ID\n\tprojectId: \"\", // TODO Replace with your project ID\n\tstorageBucket: \"\", // TODO Replace with your storage bucket\n});\n"],"file":"_astro/Base.astro_astro_type_script_index_0_lang.-Cfsw7Td.js"} \ No newline at end of file +{"version":3,"mappings":"kDAAgB,MAAMA,EAAA,8BAAAC,CAAA,eAAO,yBAAc,uBAAAA,CAAA,QAAG,cAAc,CAC3D,OAAQ,GACR,MAAO,GACP,WAAY,GACZ,YAAa,GACb,cAAe,GACf,kBAAmB,GACnB,UAAW,GACX,cAAe,EAChB,CAAC","names":["__vitePreload","initializeApp"],"ignoreList":[],"sources":["../../Source/Script/Firebase.ts"],"sourcesContent":["export default (await import(\"firebase/app\")).initializeApp({\n\tapiKey: \"\", // TODO Replace with your API key\n\tappId: \"\", // TODO Replace with your app ID\n\tauthDomain: \"\", // TODO Replace with your auth domain\n\tdatabaseURL: \"\", // TODO Replace with your database URL\n\tmeasurementId: \"\", // TODO Replace with your measurement ID\n\tmessagingSenderId: \"\", // TODO Replace with your messaging sender ID\n\tprojectId: \"\", // TODO Replace with your project ID\n\tstorageBucket: \"\", // TODO Replace with your storage bucket\n});\n"],"file":"_astro/Base.astro_astro_type_script_index_0_lang.Dhdjth5_.js"} \ No newline at end of file diff --git a/Target/_astro/index.esm.DRVoThhD.js b/Target/_astro/index.esm.JD-0sKti.js similarity index 99% rename from Target/_astro/index.esm.DRVoThhD.js rename to Target/_astro/index.esm.JD-0sKti.js index e72de1e0..e1bd4ada 100644 --- a/Target/_astro/index.esm.DRVoThhD.js +++ b/Target/_astro/index.esm.JD-0sKti.js @@ -1 +1 @@ -var L={};const W=function(e){const t=[];let r=0;for(let n=0;n>6|192,t[r++]=63&a|128):55296==(64512&a)&&n+1>18|240,t[r++]=a>>12&63|128,t[r++]=a>>6&63|128,t[r++]=63&a|128):(t[r++]=a>>12|224,t[r++]=a>>6&63|128,t[r++]=63&a|128)}return t},ee=function(e){const t=[];let r=0,n=0;for(;r191&&a<224){const i=e[r++];t[n++]=String.fromCharCode((31&a)<<6|63&i)}else if(a>239&&a<365){const i=((7&a)<<18|(63&e[r++])<<12|(63&e[r++])<<6|63&e[r++])-65536;t[n++]=String.fromCharCode(55296+(i>>10)),t[n++]=String.fromCharCode(56320+(1023&i))}else{const i=e[r++],s=e[r++];t[n++]=String.fromCharCode((15&a)<<12|(63&i)<<6|63&s)}}return t.join("")},G={byteToCharMap_:null,charToByteMap_:null,byteToCharMapWebSafe_:null,charToByteMapWebSafe_:null,ENCODED_VALS_BASE:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789",get ENCODED_VALS(){return this.ENCODED_VALS_BASE+"+/="},get ENCODED_VALS_WEBSAFE(){return this.ENCODED_VALS_BASE+"-_."},HAS_NATIVE_SUPPORT:"function"==typeof atob,encodeByteArray(e,t){if(!Array.isArray(e))throw Error("encodeByteArray takes an array as a parameter");this.init_();const r=t?this.byteToCharMapWebSafe_:this.byteToCharMap_,n=[];for(let t=0;t>2,l=(3&a)<<4|s>>4;let d=(15&s)<<2|c>>6,u=63&c;o||(u=64,i||(d=64)),n.push(r[h],r[l],r[d],r[u])}return n.join("")},encodeString(e,t){return this.HAS_NATIVE_SUPPORT&&!t?btoa(e):this.encodeByteArray(W(e),t)},decodeString(e,t){return this.HAS_NATIVE_SUPPORT&&!t?atob(e):ee(this.decodeStringToByteArray(e,t))},decodeStringToByteArray(e,t){this.init_();const r=t?this.charToByteMapWebSafe_:this.charToByteMap_,n=[];for(let t=0;t>4;if(n.push(c),64!==s){const e=i<<4&240|s>>2;if(n.push(e),64!==o){const e=s<<6&192|o;n.push(e)}}}return n},init_(){if(!this.byteToCharMap_){this.byteToCharMap_={},this.charToByteMap_={},this.byteToCharMapWebSafe_={},this.charToByteMapWebSafe_={};for(let e=0;e=this.ENCODED_VALS_BASE.length&&(this.charToByteMap_[this.ENCODED_VALS_WEBSAFE.charAt(e)]=e,this.charToByteMapWebSafe_[this.ENCODED_VALS.charAt(e)]=e)}}};class te extends Error{constructor(){super(...arguments),this.name="DecodeBase64StringError"}}const ne=function(e){const t=W(e);return G.encodeByteArray(t,!0)},J=function(e){return ne(e).replace(/\./g,"")},re=function(e){try{return G.decodeString(e,!0)}catch(e){console.error("base64Decode failed: ",e)}return null};function se(){if(typeof self<"u")return self;if(typeof window<"u")return window;if(typeof global<"u")return global;throw new Error("Unable to locate global object.")}const ae=()=>se().__FIREBASE_DEFAULTS__,ie=()=>{if(typeof process>"u"||typeof L>"u")return;const e=L.__FIREBASE_DEFAULTS__;return e?JSON.parse(e):void 0},oe=()=>{if(typeof document>"u")return;let e;try{e=document.cookie.match(/__FIREBASE_DEFAULTS__=([^;]+)/)}catch{return}const t=e&&re(e[1]);return t&&JSON.parse(t)},ce=()=>{try{return ae()||ie()||oe()}catch(e){return void console.info(`Unable to get __FIREBASE_DEFAULTS__ due to: ${e}`)}},he=()=>{var e;return null===(e=ce())||void 0===e?void 0:e.config};class le{constructor(){this.reject=()=>{},this.resolve=()=>{},this.promise=new Promise(((e,t)=>{this.resolve=e,this.reject=t}))}wrapCallback(e){return(t,r)=>{t?this.reject(t):this.resolve(r),"function"==typeof e&&(this.promise.catch((()=>{})),1===e.length?e(t):e(t,r))}}}function de(){try{return"object"==typeof indexedDB}catch{return!1}}function fe(){return new Promise(((e,t)=>{try{let r=!0;const n="validate-browser-context-for-indexeddb-analytics-module",a=self.indexedDB.open(n);a.onsuccess=()=>{a.result.close(),r||self.indexedDB.deleteDatabase(n),e(!0)},a.onupgradeneeded=()=>{r=!1},a.onerror=()=>{var e;t((null===(e=a.error)||void 0===e?void 0:e.message)||"")}}catch(e){t(e)}}))}const ue="FirebaseError";class b extends Error{constructor(e,t,r){super(t),this.code=e,this.customData=r,this.name=ue,Object.setPrototypeOf(this,b.prototype),Error.captureStackTrace&&Error.captureStackTrace(this,K.prototype.create)}}class K{constructor(e,t,r){this.service=e,this.serviceName=t,this.errors=r}create(e,...t){const r=t[0]||{},n=`${this.service}/${e}`,a=this.errors[e],i=a?pe(a,r):"Error",s=`${this.serviceName}: ${i} (${n}).`;return new b(n,s,r)}}function pe(e,t){return e.replace(me,((e,r)=>{const n=t[r];return null!=n?String(n):`<${r}?>`}))}const me=/\{\$([^}]+)}/g;function C(e,t){if(e===t)return!0;const r=Object.keys(e),n=Object.keys(t);for(const a of r){if(!n.includes(a))return!1;const r=e[a],i=t[a];if(H(r)&&H(i)){if(!C(r,i))return!1}else if(r!==i)return!1}for(const e of n)if(!r.includes(e))return!1;return!0}function H(e){return null!==e&&"object"==typeof e}class D{constructor(e,t,r){this.name=e,this.instanceFactory=t,this.type=r,this.multipleInstances=!1,this.serviceProps={},this.instantiationMode="LAZY",this.onInstanceCreated=null}setInstantiationMode(e){return this.instantiationMode=e,this}setMultipleInstances(e){return this.multipleInstances=e,this}setServiceProps(e){return this.serviceProps=e,this}setInstanceCreatedCallback(e){return this.onInstanceCreated=e,this}}const f="[DEFAULT]";class ge{constructor(e,t){this.name=e,this.container=t,this.component=null,this.instances=new Map,this.instancesDeferred=new Map,this.instancesOptions=new Map,this.onInitCallbacks=new Map}get(e){const t=this.normalizeInstanceIdentifier(e);if(!this.instancesDeferred.has(t)){const e=new le;if(this.instancesDeferred.set(t,e),this.isInitialized(t)||this.shouldAutoInitialize())try{const r=this.getOrInitializeService({instanceIdentifier:t});r&&e.resolve(r)}catch{}}return this.instancesDeferred.get(t).promise}getImmediate(e){var t;const r=this.normalizeInstanceIdentifier(e?.identifier),n=null!==(t=e?.optional)&&void 0!==t&&t;if(!this.isInitialized(r)&&!this.shouldAutoInitialize()){if(n)return null;throw Error(`Service ${this.name} is not available`)}try{return this.getOrInitializeService({instanceIdentifier:r})}catch(e){if(n)return null;throw e}}getComponent(){return this.component}setComponent(e){if(e.name!==this.name)throw Error(`Mismatching Component ${e.name} for Provider ${this.name}.`);if(this.component)throw Error(`Component for ${this.name} has already been provided`);if(this.component=e,this.shouldAutoInitialize()){if(_e(e))try{this.getOrInitializeService({instanceIdentifier:f})}catch{}for(const[e,t]of this.instancesDeferred.entries()){const r=this.normalizeInstanceIdentifier(e);try{const e=this.getOrInitializeService({instanceIdentifier:r});t.resolve(e)}catch{}}}}clearInstance(e=f){this.instancesDeferred.delete(e),this.instancesOptions.delete(e),this.instances.delete(e)}async delete(){const e=Array.from(this.instances.values());await Promise.all([...e.filter((e=>"INTERNAL"in e)).map((e=>e.INTERNAL.delete())),...e.filter((e=>"_delete"in e)).map((e=>e._delete()))])}isComponentSet(){return null!=this.component}isInitialized(e=f){return this.instances.has(e)}getOptions(e=f){return this.instancesOptions.get(e)||{}}initialize(e={}){const{options:t={}}=e,r=this.normalizeInstanceIdentifier(e.instanceIdentifier);if(this.isInitialized(r))throw Error(`${this.name}(${r}) has already been initialized`);if(!this.isComponentSet())throw Error(`Component ${this.name} has not been registered yet`);const n=this.getOrInitializeService({instanceIdentifier:r,options:t});for(const[e,t]of this.instancesDeferred.entries()){r===this.normalizeInstanceIdentifier(e)&&t.resolve(n)}return n}onInit(e,t){var r;const n=this.normalizeInstanceIdentifier(t),a=null!==(r=this.onInitCallbacks.get(n))&&void 0!==r?r:new Set;a.add(e),this.onInitCallbacks.set(n,a);const i=this.instances.get(n);return i&&e(i,n),()=>{a.delete(e)}}invokeOnInitCallbacks(e,t){const r=this.onInitCallbacks.get(t);if(r)for(const n of r)try{n(e,t)}catch{}}getOrInitializeService({instanceIdentifier:e,options:t={}}){let r=this.instances.get(e);if(!r&&this.component&&(r=this.component.instanceFactory(this.container,{instanceIdentifier:be(e),options:t}),this.instances.set(e,r),this.instancesOptions.set(e,t),this.invokeOnInitCallbacks(r,e),this.component.onInstanceCreated))try{this.component.onInstanceCreated(this.container,e,r)}catch{}return r||null}normalizeInstanceIdentifier(e=f){return this.component?this.component.multipleInstances?e:f:e}shouldAutoInitialize(){return!!this.component&&"EXPLICIT"!==this.component.instantiationMode}}function be(e){return e===f?void 0:e}function _e(e){return"EAGER"===e.instantiationMode}class Ee{constructor(e){this.name=e,this.providers=new Map}addComponent(e){const t=this.getProvider(e.name);if(t.isComponentSet())throw new Error(`Component ${e.name} has already been registered with ${this.name}`);t.setComponent(e)}addOrOverwriteComponent(e){this.getProvider(e.name).isComponentSet()&&this.providers.delete(e.name),this.addComponent(e)}getProvider(e){if(this.providers.has(e))return this.providers.get(e);const t=new ge(e,this);return this.providers.set(e,t),t}getProviders(){return Array.from(this.providers.values())}}var h;!function(e){e[e.DEBUG=0]="DEBUG",e[e.VERBOSE=1]="VERBOSE",e[e.INFO=2]="INFO",e[e.WARN=3]="WARN",e[e.ERROR=4]="ERROR",e[e.SILENT=5]="SILENT"}(h||(h={}));const ye={debug:h.DEBUG,verbose:h.VERBOSE,info:h.INFO,warn:h.WARN,error:h.ERROR,silent:h.SILENT},De=h.INFO,Ie={[h.DEBUG]:"log",[h.VERBOSE]:"log",[h.INFO]:"info",[h.WARN]:"warn",[h.ERROR]:"error"},ve=(e,t,...r)=>{if(tt.some((t=>e instanceof t));let P,F;function Ce(){return P||(P=[IDBDatabase,IDBObjectStore,IDBIndex,IDBCursor,IDBTransaction])}function Ae(){return F||(F=[IDBCursor.prototype.advance,IDBCursor.prototype.continue,IDBCursor.prototype.continuePrimaryKey])}const Y=new WeakMap,A=new WeakMap,X=new WeakMap,I=new WeakMap,N=new WeakMap;function Be(e){const t=new Promise(((t,r)=>{const n=()=>{e.removeEventListener("success",a),e.removeEventListener("error",i)},a=()=>{t(d(e.result)),n()},i=()=>{r(e.error),n()};e.addEventListener("success",a),e.addEventListener("error",i)}));return t.then((t=>{t instanceof IDBCursor&&Y.set(t,e)})).catch((()=>{})),N.set(t,e),t}function Oe(e){if(A.has(e))return;const t=new Promise(((t,r)=>{const n=()=>{e.removeEventListener("complete",a),e.removeEventListener("error",i),e.removeEventListener("abort",i)},a=()=>{t(),n()},i=()=>{r(e.error||new DOMException("AbortError","AbortError")),n()};e.addEventListener("complete",a),e.addEventListener("error",i),e.addEventListener("abort",i)}));A.set(e,t)}let B={get(e,t,r){if(e instanceof IDBTransaction){if("done"===t)return A.get(e);if("objectStoreNames"===t)return e.objectStoreNames||X.get(e);if("store"===t)return r.objectStoreNames[1]?void 0:r.objectStore(r.objectStoreNames[0])}return d(e[t])},set:(e,t,r)=>(e[t]=r,!0),has:(e,t)=>e instanceof IDBTransaction&&("done"===t||"store"===t)||t in e};function Te(e){B=e(B)}function Me(e){return e!==IDBDatabase.prototype.transaction||"objectStoreNames"in IDBTransaction.prototype?Ae().includes(e)?function(...t){return e.apply(v(this),t),d(Y.get(this))}:function(...t){return d(e.apply(v(this),t))}:function(t,...r){const n=e.call(v(this),t,...r);return X.set(n,t.sort?t.sort():[t]),d(n)}}function $e(e){return"function"==typeof e?Me(e):(e instanceof IDBTransaction&&Oe(e),Se(e,Ce())?new Proxy(e,B):e)}function d(e){if(e instanceof IDBRequest)return Be(e);if(I.has(e))return I.get(e);const t=$e(e);return t!==e&&(I.set(e,t),N.set(t,e)),t}const v=e=>N.get(e);function Ne(e,t,{blocked:r,upgrade:n,blocking:a,terminated:i}={}){const s=indexedDB.open(e,t),o=d(s);return n&&s.addEventListener("upgradeneeded",(e=>{n(d(s.result),e.oldVersion,e.newVersion,d(s.transaction),e)})),r&&s.addEventListener("blocked",(e=>r(e.oldVersion,e.newVersion,e))),o.then((e=>{i&&e.addEventListener("close",(()=>i())),a&&e.addEventListener("versionchange",(e=>a(e.oldVersion,e.newVersion,e)))})).catch((()=>{})),o}const Re=["get","getKey","getAll","getAllKeys","count"],Le=["put","add","delete","clear"],w=new Map;function x(e,t){if(!(e instanceof IDBDatabase)||t in e||"string"!=typeof t)return;if(w.get(t))return w.get(t);const r=t.replace(/FromIndex$/,""),n=t!==r,a=Le.includes(r);if(!(r in(n?IDBIndex:IDBObjectStore).prototype)||!a&&!Re.includes(r))return;const i=async function(e,...t){const i=this.transaction(e,a?"readwrite":"readonly");let s=i.store;return n&&(s=s.index(t.shift())),(await Promise.all([s[r](...t),a&&i.done]))[0]};return w.set(t,i),i}Te((e=>({...e,get:(t,r,n)=>x(t,r)||e.get(t,r,n),has:(t,r)=>!!x(t,r)||e.has(t,r)})));class He{constructor(e){this.container=e}getPlatformInfoString(){return this.container.getProviders().map((e=>{if(Pe(e)){const t=e.getImmediate();return`${t.library}/${t.version}`}return null})).filter((e=>e)).join(" ")}}function Pe(e){const t=e.getComponent();return"VERSION"===t?.type}const O="@firebase/app",V="0.10.8",p=new we("@firebase/app"),Fe="@firebase/app-compat",xe="@firebase/analytics-compat",Ve="@firebase/analytics",je="@firebase/app-check-compat",ke="@firebase/app-check",ze="@firebase/auth",Ue="@firebase/auth-compat",We="@firebase/database",Ge="@firebase/database-compat",Je="@firebase/functions",Ke="@firebase/functions-compat",Ye="@firebase/installations",Xe="@firebase/installations-compat",Ze="@firebase/messaging",qe="@firebase/messaging-compat",Qe="@firebase/performance",et="@firebase/performance-compat",tt="@firebase/remote-config",nt="@firebase/remote-config-compat",rt="@firebase/storage",st="@firebase/storage-compat",at="@firebase/firestore",it="@firebase/vertexai-preview",ot="@firebase/firestore-compat",ct="firebase",ht="[DEFAULT]",lt={[O]:"fire-core",[Fe]:"fire-core-compat",[Ve]:"fire-analytics",[xe]:"fire-analytics-compat",[ke]:"fire-app-check",[je]:"fire-app-check-compat",[ze]:"fire-auth",[Ue]:"fire-auth-compat",[We]:"fire-rtdb",[Ge]:"fire-rtdb-compat",[Je]:"fire-fn",[Ke]:"fire-fn-compat",[Ye]:"fire-iid",[Xe]:"fire-iid-compat",[Ze]:"fire-fcm",[qe]:"fire-fcm-compat",[Qe]:"fire-perf",[et]:"fire-perf-compat",[tt]:"fire-rc",[nt]:"fire-rc-compat",[rt]:"fire-gcs",[st]:"fire-gcs-compat",[at]:"fire-fst",[ot]:"fire-fst-compat",[it]:"fire-vertex","fire-js":"fire-js",[ct]:"fire-js-all"},T=new Map,dt=new Map,M=new Map;function j(e,t){try{e.container.addComponent(t)}catch(r){p.debug(`Component ${t.name} failed to register with FirebaseApp ${e.name}`,r)}}function $(e){const t=e.name;if(M.has(t))return p.debug(`There were multiple attempts to register component ${t}.`),!1;M.set(t,e);for(const t of T.values())j(t,e);for(const t of dt.values())j(t,e);return!0}const ft={"no-app":"No Firebase App '{$appName}' has been created - call initializeApp() first","bad-app-name":"Illegal App name: '{$appName}'","duplicate-app":"Firebase App named '{$appName}' already exists with different options or config","app-deleted":"Firebase App named '{$appName}' already deleted","server-app-deleted":"Firebase Server App has been deleted","no-options":"Need to provide options, when not being deployed to hosting via source.","invalid-app-argument":"firebase.{$appName}() takes either no argument or a Firebase App instance.","invalid-log-argument":"First argument to `onLog` must be null or a function.","idb-open":"Error thrown when opening IndexedDB. Original error: {$originalErrorMessage}.","idb-get":"Error thrown when reading from IndexedDB. Original error: {$originalErrorMessage}.","idb-set":"Error thrown when writing to IndexedDB. Original error: {$originalErrorMessage}.","idb-delete":"Error thrown when deleting from IndexedDB. Original error: {$originalErrorMessage}.","finalization-registry-not-supported":"FirebaseServerApp deleteOnDeref field defined but the JS runtime does not support FinalizationRegistry.","invalid-server-app-environment":"FirebaseServerApp is not for use in browser environments."},u=new K("app","Firebase",ft);class ut{constructor(e,t,r){this._isDeleted=!1,this._options=Object.assign({},e),this._config=Object.assign({},t),this._name=t.name,this._automaticDataCollectionEnabled=t.automaticDataCollectionEnabled,this._container=r,this.container.addComponent(new D("app",(()=>this),"PUBLIC"))}get automaticDataCollectionEnabled(){return this.checkDestroyed(),this._automaticDataCollectionEnabled}set automaticDataCollectionEnabled(e){this.checkDestroyed(),this._automaticDataCollectionEnabled=e}get name(){return this.checkDestroyed(),this._name}get options(){return this.checkDestroyed(),this._options}get config(){return this.checkDestroyed(),this._config}get container(){return this._container}get isDeleted(){return this._isDeleted}set isDeleted(e){this._isDeleted=e}checkDestroyed(){if(this.isDeleted)throw u.create("app-deleted",{appName:this._name})}}function St(e,t={}){let r=e;"object"!=typeof t&&(t={name:t});const n=Object.assign({name:ht,automaticDataCollectionEnabled:!1},t),a=n.name;if("string"!=typeof a||!a)throw u.create("bad-app-name",{appName:String(a)});if(r||(r=he()),!r)throw u.create("no-options");const i=T.get(a);if(i){if(C(r,i.options)&&C(n,i.config))return i;throw u.create("duplicate-app",{appName:a})}const s=new Ee(a);for(const e of M.values())s.addComponent(e);const o=new ut(r,n,s);return T.set(a,o),o}function y(e,t,r){var n;let a=null!==(n=lt[e])&&void 0!==n?n:e;r&&(a+=`-${r}`);const i=a.match(/\s|\//),s=t.match(/\s|\//);if(i||s){const e=[`Unable to register library "${a}" with version "${t}":`];return i&&e.push(`library name "${a}" contains illegal characters (whitespace or "/")`),i&&s&&e.push("and"),s&&e.push(`version name "${t}" contains illegal characters (whitespace or "/")`),void p.warn(e.join(" "))}$(new D(`${a}-version`,(()=>({library:a,version:t})),"VERSION"))}const pt="firebase-heartbeat-database",mt=1,g="firebase-heartbeat-store";let S=null;function Z(){return S||(S=Ne(pt,mt,{upgrade:(e,t)=>{if(0===t)try{e.createObjectStore(g)}catch(e){console.warn(e)}}}).catch((e=>{throw u.create("idb-open",{originalErrorMessage:e.message})}))),S}async function gt(e){try{const t=(await Z()).transaction(g),r=await t.objectStore(g).get(q(e));return await t.done,r}catch(e){if(e instanceof b)p.warn(e.message);else{const t=u.create("idb-get",{originalErrorMessage:e?.message});p.warn(t.message)}}}async function k(e,t){try{const r=(await Z()).transaction(g,"readwrite");await r.objectStore(g).put(t,q(e)),await r.done}catch(e){if(e instanceof b)p.warn(e.message);else{const t=u.create("idb-set",{originalErrorMessage:e?.message});p.warn(t.message)}}}function q(e){return`${e.name}!${e.options.appId}`}const bt=1024,_t=2592e6;class Et{constructor(e){this.container=e,this._heartbeatsCache=null;const t=this.container.getProvider("app").getImmediate();this._storage=new Dt(t),this._heartbeatsCachePromise=this._storage.read().then((e=>(this._heartbeatsCache=e,e)))}async triggerHeartbeat(){var e,t;const r=this.container.getProvider("platform-logger").getImmediate().getPlatformInfoString(),n=z();if((null!=(null===(e=this._heartbeatsCache)||void 0===e?void 0:e.heartbeats)||(this._heartbeatsCache=await this._heartbeatsCachePromise,null!=(null===(t=this._heartbeatsCache)||void 0===t?void 0:t.heartbeats)))&&this._heartbeatsCache.lastSentHeartbeatDate!==n&&!this._heartbeatsCache.heartbeats.some((e=>e.date===n)))return this._heartbeatsCache.heartbeats.push({date:n,agent:r}),this._heartbeatsCache.heartbeats=this._heartbeatsCache.heartbeats.filter((e=>{const t=new Date(e.date).valueOf();return Date.now()-t<=_t})),this._storage.overwrite(this._heartbeatsCache)}async getHeartbeatsHeader(){var e;if(null===this._heartbeatsCache&&await this._heartbeatsCachePromise,null==(null===(e=this._heartbeatsCache)||void 0===e?void 0:e.heartbeats)||0===this._heartbeatsCache.heartbeats.length)return"";const t=z(),{heartbeatsToSend:r,unsentEntries:n}=yt(this._heartbeatsCache.heartbeats),a=J(JSON.stringify({version:2,heartbeats:r}));return this._heartbeatsCache.lastSentHeartbeatDate=t,n.length>0?(this._heartbeatsCache.heartbeats=n,await this._storage.overwrite(this._heartbeatsCache)):(this._heartbeatsCache.heartbeats=[],this._storage.overwrite(this._heartbeatsCache)),a}}function z(){return(new Date).toISOString().substring(0,10)}function yt(e,t=bt){const r=[];let n=e.slice();for(const a of e){const e=r.find((e=>e.agent===a.agent));if(e){if(e.dates.push(a.date),U(r)>t){e.dates.pop();break}}else if(r.push({agent:a.agent,dates:[a.date]}),U(r)>t){r.pop();break}n=n.slice(1)}return{heartbeatsToSend:r,unsentEntries:n}}class Dt{constructor(e){this.app=e,this._canUseIndexedDBPromise=this.runIndexedDBEnvironmentCheck()}async runIndexedDBEnvironmentCheck(){return!!de()&&fe().then((()=>!0)).catch((()=>!1))}async read(){if(await this._canUseIndexedDBPromise){const e=await gt(this.app);return e?.heartbeats?e:{heartbeats:[]}}return{heartbeats:[]}}async overwrite(e){var t;if(await this._canUseIndexedDBPromise){const r=await this.read();return k(this.app,{lastSentHeartbeatDate:null!==(t=e.lastSentHeartbeatDate)&&void 0!==t?t:r.lastSentHeartbeatDate,heartbeats:e.heartbeats})}}async add(e){var t;if(await this._canUseIndexedDBPromise){const r=await this.read();return k(this.app,{lastSentHeartbeatDate:null!==(t=e.lastSentHeartbeatDate)&&void 0!==t?t:r.lastSentHeartbeatDate,heartbeats:[...r.heartbeats,...e.heartbeats]})}}}function U(e){return J(JSON.stringify({version:2,heartbeats:e})).length}function It(e){$(new D("platform-logger",(e=>new He(e)),"PRIVATE")),$(new D("heartbeat",(e=>new Et(e)),"PRIVATE")),y(O,V,e),y(O,V,"esm2017"),y("fire-js","")}It("");var vt="firebase",wt="10.12.4";y(vt,wt,"app");export{b as FirebaseError,ht as _DEFAULT_ENTRY_NAME,j as _addComponent,T as _apps,M as _components,$ as _registerComponent,dt as _serverApps,St as initializeApp,y as registerVersion}; \ No newline at end of file +var L={};const W=function(e){const t=[];let r=0;for(let n=0;n>6|192,t[r++]=63&a|128):55296==(64512&a)&&n+1>18|240,t[r++]=a>>12&63|128,t[r++]=a>>6&63|128,t[r++]=63&a|128):(t[r++]=a>>12|224,t[r++]=a>>6&63|128,t[r++]=63&a|128)}return t},ee=function(e){const t=[];let r=0,n=0;for(;r191&&a<224){const i=e[r++];t[n++]=String.fromCharCode((31&a)<<6|63&i)}else if(a>239&&a<365){const i=((7&a)<<18|(63&e[r++])<<12|(63&e[r++])<<6|63&e[r++])-65536;t[n++]=String.fromCharCode(55296+(i>>10)),t[n++]=String.fromCharCode(56320+(1023&i))}else{const i=e[r++],s=e[r++];t[n++]=String.fromCharCode((15&a)<<12|(63&i)<<6|63&s)}}return t.join("")},G={byteToCharMap_:null,charToByteMap_:null,byteToCharMapWebSafe_:null,charToByteMapWebSafe_:null,ENCODED_VALS_BASE:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789",get ENCODED_VALS(){return this.ENCODED_VALS_BASE+"+/="},get ENCODED_VALS_WEBSAFE(){return this.ENCODED_VALS_BASE+"-_."},HAS_NATIVE_SUPPORT:"function"==typeof atob,encodeByteArray(e,t){if(!Array.isArray(e))throw Error("encodeByteArray takes an array as a parameter");this.init_();const r=t?this.byteToCharMapWebSafe_:this.byteToCharMap_,n=[];for(let t=0;t>2,l=(3&a)<<4|s>>4;let d=(15&s)<<2|c>>6,u=63&c;o||(u=64,i||(d=64)),n.push(r[h],r[l],r[d],r[u])}return n.join("")},encodeString(e,t){return this.HAS_NATIVE_SUPPORT&&!t?btoa(e):this.encodeByteArray(W(e),t)},decodeString(e,t){return this.HAS_NATIVE_SUPPORT&&!t?atob(e):ee(this.decodeStringToByteArray(e,t))},decodeStringToByteArray(e,t){this.init_();const r=t?this.charToByteMapWebSafe_:this.charToByteMap_,n=[];for(let t=0;t>4;if(n.push(c),64!==s){const e=i<<4&240|s>>2;if(n.push(e),64!==o){const e=s<<6&192|o;n.push(e)}}}return n},init_(){if(!this.byteToCharMap_){this.byteToCharMap_={},this.charToByteMap_={},this.byteToCharMapWebSafe_={},this.charToByteMapWebSafe_={};for(let e=0;e=this.ENCODED_VALS_BASE.length&&(this.charToByteMap_[this.ENCODED_VALS_WEBSAFE.charAt(e)]=e,this.charToByteMapWebSafe_[this.ENCODED_VALS.charAt(e)]=e)}}};class te extends Error{constructor(){super(...arguments),this.name="DecodeBase64StringError"}}const ne=function(e){const t=W(e);return G.encodeByteArray(t,!0)},J=function(e){return ne(e).replace(/\./g,"")},re=function(e){try{return G.decodeString(e,!0)}catch(e){console.error("base64Decode failed: ",e)}return null};function se(){if(typeof self<"u")return self;if(typeof window<"u")return window;if(typeof global<"u")return global;throw new Error("Unable to locate global object.")}const ae=()=>se().__FIREBASE_DEFAULTS__,ie=()=>{if(typeof process>"u"||typeof L>"u")return;const e=L.__FIREBASE_DEFAULTS__;return e?JSON.parse(e):void 0},oe=()=>{if(typeof document>"u")return;let e;try{e=document.cookie.match(/__FIREBASE_DEFAULTS__=([^;]+)/)}catch{return}const t=e&&re(e[1]);return t&&JSON.parse(t)},ce=()=>{try{return ae()||ie()||oe()}catch(e){return void console.info(`Unable to get __FIREBASE_DEFAULTS__ due to: ${e}`)}},he=()=>{var e;return null===(e=ce())||void 0===e?void 0:e.config};class le{constructor(){this.reject=()=>{},this.resolve=()=>{},this.promise=new Promise(((e,t)=>{this.resolve=e,this.reject=t}))}wrapCallback(e){return(t,r)=>{t?this.reject(t):this.resolve(r),"function"==typeof e&&(this.promise.catch((()=>{})),1===e.length?e(t):e(t,r))}}}function de(){try{return"object"==typeof indexedDB}catch{return!1}}function fe(){return new Promise(((e,t)=>{try{let r=!0;const n="validate-browser-context-for-indexeddb-analytics-module",a=self.indexedDB.open(n);a.onsuccess=()=>{a.result.close(),r||self.indexedDB.deleteDatabase(n),e(!0)},a.onupgradeneeded=()=>{r=!1},a.onerror=()=>{var e;t((null===(e=a.error)||void 0===e?void 0:e.message)||"")}}catch(e){t(e)}}))}const ue="FirebaseError";class b extends Error{constructor(e,t,r){super(t),this.code=e,this.customData=r,this.name=ue,Object.setPrototypeOf(this,b.prototype),Error.captureStackTrace&&Error.captureStackTrace(this,K.prototype.create)}}class K{constructor(e,t,r){this.service=e,this.serviceName=t,this.errors=r}create(e,...t){const r=t[0]||{},n=`${this.service}/${e}`,a=this.errors[e],i=a?pe(a,r):"Error",s=`${this.serviceName}: ${i} (${n}).`;return new b(n,s,r)}}function pe(e,t){return e.replace(me,((e,r)=>{const n=t[r];return null!=n?String(n):`<${r}?>`}))}const me=/\{\$([^}]+)}/g;function C(e,t){if(e===t)return!0;const r=Object.keys(e),n=Object.keys(t);for(const a of r){if(!n.includes(a))return!1;const r=e[a],i=t[a];if(H(r)&&H(i)){if(!C(r,i))return!1}else if(r!==i)return!1}for(const e of n)if(!r.includes(e))return!1;return!0}function H(e){return null!==e&&"object"==typeof e}class D{constructor(e,t,r){this.name=e,this.instanceFactory=t,this.type=r,this.multipleInstances=!1,this.serviceProps={},this.instantiationMode="LAZY",this.onInstanceCreated=null}setInstantiationMode(e){return this.instantiationMode=e,this}setMultipleInstances(e){return this.multipleInstances=e,this}setServiceProps(e){return this.serviceProps=e,this}setInstanceCreatedCallback(e){return this.onInstanceCreated=e,this}}const f="[DEFAULT]";class ge{constructor(e,t){this.name=e,this.container=t,this.component=null,this.instances=new Map,this.instancesDeferred=new Map,this.instancesOptions=new Map,this.onInitCallbacks=new Map}get(e){const t=this.normalizeInstanceIdentifier(e);if(!this.instancesDeferred.has(t)){const e=new le;if(this.instancesDeferred.set(t,e),this.isInitialized(t)||this.shouldAutoInitialize())try{const r=this.getOrInitializeService({instanceIdentifier:t});r&&e.resolve(r)}catch{}}return this.instancesDeferred.get(t).promise}getImmediate(e){var t;const r=this.normalizeInstanceIdentifier(e?.identifier),n=null!==(t=e?.optional)&&void 0!==t&&t;if(!this.isInitialized(r)&&!this.shouldAutoInitialize()){if(n)return null;throw Error(`Service ${this.name} is not available`)}try{return this.getOrInitializeService({instanceIdentifier:r})}catch(e){if(n)return null;throw e}}getComponent(){return this.component}setComponent(e){if(e.name!==this.name)throw Error(`Mismatching Component ${e.name} for Provider ${this.name}.`);if(this.component)throw Error(`Component for ${this.name} has already been provided`);if(this.component=e,this.shouldAutoInitialize()){if(_e(e))try{this.getOrInitializeService({instanceIdentifier:f})}catch{}for(const[e,t]of this.instancesDeferred.entries()){const r=this.normalizeInstanceIdentifier(e);try{const e=this.getOrInitializeService({instanceIdentifier:r});t.resolve(e)}catch{}}}}clearInstance(e=f){this.instancesDeferred.delete(e),this.instancesOptions.delete(e),this.instances.delete(e)}async delete(){const e=Array.from(this.instances.values());await Promise.all([...e.filter((e=>"INTERNAL"in e)).map((e=>e.INTERNAL.delete())),...e.filter((e=>"_delete"in e)).map((e=>e._delete()))])}isComponentSet(){return null!=this.component}isInitialized(e=f){return this.instances.has(e)}getOptions(e=f){return this.instancesOptions.get(e)||{}}initialize(e={}){const{options:t={}}=e,r=this.normalizeInstanceIdentifier(e.instanceIdentifier);if(this.isInitialized(r))throw Error(`${this.name}(${r}) has already been initialized`);if(!this.isComponentSet())throw Error(`Component ${this.name} has not been registered yet`);const n=this.getOrInitializeService({instanceIdentifier:r,options:t});for(const[e,t]of this.instancesDeferred.entries()){r===this.normalizeInstanceIdentifier(e)&&t.resolve(n)}return n}onInit(e,t){var r;const n=this.normalizeInstanceIdentifier(t),a=null!==(r=this.onInitCallbacks.get(n))&&void 0!==r?r:new Set;a.add(e),this.onInitCallbacks.set(n,a);const i=this.instances.get(n);return i&&e(i,n),()=>{a.delete(e)}}invokeOnInitCallbacks(e,t){const r=this.onInitCallbacks.get(t);if(r)for(const n of r)try{n(e,t)}catch{}}getOrInitializeService({instanceIdentifier:e,options:t={}}){let r=this.instances.get(e);if(!r&&this.component&&(r=this.component.instanceFactory(this.container,{instanceIdentifier:be(e),options:t}),this.instances.set(e,r),this.instancesOptions.set(e,t),this.invokeOnInitCallbacks(r,e),this.component.onInstanceCreated))try{this.component.onInstanceCreated(this.container,e,r)}catch{}return r||null}normalizeInstanceIdentifier(e=f){return this.component?this.component.multipleInstances?e:f:e}shouldAutoInitialize(){return!!this.component&&"EXPLICIT"!==this.component.instantiationMode}}function be(e){return e===f?void 0:e}function _e(e){return"EAGER"===e.instantiationMode}class Ee{constructor(e){this.name=e,this.providers=new Map}addComponent(e){const t=this.getProvider(e.name);if(t.isComponentSet())throw new Error(`Component ${e.name} has already been registered with ${this.name}`);t.setComponent(e)}addOrOverwriteComponent(e){this.getProvider(e.name).isComponentSet()&&this.providers.delete(e.name),this.addComponent(e)}getProvider(e){if(this.providers.has(e))return this.providers.get(e);const t=new ge(e,this);return this.providers.set(e,t),t}getProviders(){return Array.from(this.providers.values())}}var h;!function(e){e[e.DEBUG=0]="DEBUG",e[e.VERBOSE=1]="VERBOSE",e[e.INFO=2]="INFO",e[e.WARN=3]="WARN",e[e.ERROR=4]="ERROR",e[e.SILENT=5]="SILENT"}(h||(h={}));const ye={debug:h.DEBUG,verbose:h.VERBOSE,info:h.INFO,warn:h.WARN,error:h.ERROR,silent:h.SILENT},De=h.INFO,Ie={[h.DEBUG]:"log",[h.VERBOSE]:"log",[h.INFO]:"info",[h.WARN]:"warn",[h.ERROR]:"error"},ve=(e,t,...r)=>{if(tt.some((t=>e instanceof t));let P,F;function Ce(){return P||(P=[IDBDatabase,IDBObjectStore,IDBIndex,IDBCursor,IDBTransaction])}function Ae(){return F||(F=[IDBCursor.prototype.advance,IDBCursor.prototype.continue,IDBCursor.prototype.continuePrimaryKey])}const Y=new WeakMap,A=new WeakMap,X=new WeakMap,I=new WeakMap,N=new WeakMap;function Be(e){const t=new Promise(((t,r)=>{const n=()=>{e.removeEventListener("success",a),e.removeEventListener("error",i)},a=()=>{t(d(e.result)),n()},i=()=>{r(e.error),n()};e.addEventListener("success",a),e.addEventListener("error",i)}));return t.then((t=>{t instanceof IDBCursor&&Y.set(t,e)})).catch((()=>{})),N.set(t,e),t}function Oe(e){if(A.has(e))return;const t=new Promise(((t,r)=>{const n=()=>{e.removeEventListener("complete",a),e.removeEventListener("error",i),e.removeEventListener("abort",i)},a=()=>{t(),n()},i=()=>{r(e.error||new DOMException("AbortError","AbortError")),n()};e.addEventListener("complete",a),e.addEventListener("error",i),e.addEventListener("abort",i)}));A.set(e,t)}let B={get(e,t,r){if(e instanceof IDBTransaction){if("done"===t)return A.get(e);if("objectStoreNames"===t)return e.objectStoreNames||X.get(e);if("store"===t)return r.objectStoreNames[1]?void 0:r.objectStore(r.objectStoreNames[0])}return d(e[t])},set:(e,t,r)=>(e[t]=r,!0),has:(e,t)=>e instanceof IDBTransaction&&("done"===t||"store"===t)||t in e};function Te(e){B=e(B)}function Me(e){return e!==IDBDatabase.prototype.transaction||"objectStoreNames"in IDBTransaction.prototype?Ae().includes(e)?function(...t){return e.apply(v(this),t),d(Y.get(this))}:function(...t){return d(e.apply(v(this),t))}:function(t,...r){const n=e.call(v(this),t,...r);return X.set(n,t.sort?t.sort():[t]),d(n)}}function $e(e){return"function"==typeof e?Me(e):(e instanceof IDBTransaction&&Oe(e),Se(e,Ce())?new Proxy(e,B):e)}function d(e){if(e instanceof IDBRequest)return Be(e);if(I.has(e))return I.get(e);const t=$e(e);return t!==e&&(I.set(e,t),N.set(t,e)),t}const v=e=>N.get(e);function Ne(e,t,{blocked:r,upgrade:n,blocking:a,terminated:i}={}){const s=indexedDB.open(e,t),o=d(s);return n&&s.addEventListener("upgradeneeded",(e=>{n(d(s.result),e.oldVersion,e.newVersion,d(s.transaction),e)})),r&&s.addEventListener("blocked",(e=>r(e.oldVersion,e.newVersion,e))),o.then((e=>{i&&e.addEventListener("close",(()=>i())),a&&e.addEventListener("versionchange",(e=>a(e.oldVersion,e.newVersion,e)))})).catch((()=>{})),o}const Re=["get","getKey","getAll","getAllKeys","count"],Le=["put","add","delete","clear"],w=new Map;function x(e,t){if(!(e instanceof IDBDatabase)||t in e||"string"!=typeof t)return;if(w.get(t))return w.get(t);const r=t.replace(/FromIndex$/,""),n=t!==r,a=Le.includes(r);if(!(r in(n?IDBIndex:IDBObjectStore).prototype)||!a&&!Re.includes(r))return;const i=async function(e,...t){const i=this.transaction(e,a?"readwrite":"readonly");let s=i.store;return n&&(s=s.index(t.shift())),(await Promise.all([s[r](...t),a&&i.done]))[0]};return w.set(t,i),i}Te((e=>({...e,get:(t,r,n)=>x(t,r)||e.get(t,r,n),has:(t,r)=>!!x(t,r)||e.has(t,r)})));class He{constructor(e){this.container=e}getPlatformInfoString(){return this.container.getProviders().map((e=>{if(Pe(e)){const t=e.getImmediate();return`${t.library}/${t.version}`}return null})).filter((e=>e)).join(" ")}}function Pe(e){const t=e.getComponent();return"VERSION"===t?.type}const O="@firebase/app",V="0.10.8",p=new we("@firebase/app"),Fe="@firebase/app-compat",xe="@firebase/analytics-compat",Ve="@firebase/analytics",je="@firebase/app-check-compat",ke="@firebase/app-check",ze="@firebase/auth",Ue="@firebase/auth-compat",We="@firebase/database",Ge="@firebase/database-compat",Je="@firebase/functions",Ke="@firebase/functions-compat",Ye="@firebase/installations",Xe="@firebase/installations-compat",Ze="@firebase/messaging",qe="@firebase/messaging-compat",Qe="@firebase/performance",et="@firebase/performance-compat",tt="@firebase/remote-config",nt="@firebase/remote-config-compat",rt="@firebase/storage",st="@firebase/storage-compat",at="@firebase/firestore",it="@firebase/vertexai-preview",ot="@firebase/firestore-compat",ct="firebase",ht="[DEFAULT]",lt={[O]:"fire-core",[Fe]:"fire-core-compat",[Ve]:"fire-analytics",[xe]:"fire-analytics-compat",[ke]:"fire-app-check",[je]:"fire-app-check-compat",[ze]:"fire-auth",[Ue]:"fire-auth-compat",[We]:"fire-rtdb",[Ge]:"fire-rtdb-compat",[Je]:"fire-fn",[Ke]:"fire-fn-compat",[Ye]:"fire-iid",[Xe]:"fire-iid-compat",[Ze]:"fire-fcm",[qe]:"fire-fcm-compat",[Qe]:"fire-perf",[et]:"fire-perf-compat",[tt]:"fire-rc",[nt]:"fire-rc-compat",[rt]:"fire-gcs",[st]:"fire-gcs-compat",[at]:"fire-fst",[ot]:"fire-fst-compat",[it]:"fire-vertex","fire-js":"fire-js",[ct]:"fire-js-all"},T=new Map,dt=new Map,M=new Map;function j(e,t){try{e.container.addComponent(t)}catch(r){p.debug(`Component ${t.name} failed to register with FirebaseApp ${e.name}`,r)}}function $(e){const t=e.name;if(M.has(t))return p.debug(`There were multiple attempts to register component ${t}.`),!1;M.set(t,e);for(const t of T.values())j(t,e);for(const t of dt.values())j(t,e);return!0}const ft={"no-app":"No Firebase App '{$appName}' has been created - call initializeApp() first","bad-app-name":"Illegal App name: '{$appName}'","duplicate-app":"Firebase App named '{$appName}' already exists with different options or config","app-deleted":"Firebase App named '{$appName}' already deleted","server-app-deleted":"Firebase Server App has been deleted","no-options":"Need to provide options, when not being deployed to hosting via source.","invalid-app-argument":"firebase.{$appName}() takes either no argument or a Firebase App instance.","invalid-log-argument":"First argument to `onLog` must be null or a function.","idb-open":"Error thrown when opening IndexedDB. Original error: {$originalErrorMessage}.","idb-get":"Error thrown when reading from IndexedDB. Original error: {$originalErrorMessage}.","idb-set":"Error thrown when writing to IndexedDB. Original error: {$originalErrorMessage}.","idb-delete":"Error thrown when deleting from IndexedDB. Original error: {$originalErrorMessage}.","finalization-registry-not-supported":"FirebaseServerApp deleteOnDeref field defined but the JS runtime does not support FinalizationRegistry.","invalid-server-app-environment":"FirebaseServerApp is not for use in browser environments."},u=new K("app","Firebase",ft);class ut{constructor(e,t,r){this._isDeleted=!1,this._options=Object.assign({},e),this._config=Object.assign({},t),this._name=t.name,this._automaticDataCollectionEnabled=t.automaticDataCollectionEnabled,this._container=r,this.container.addComponent(new D("app",(()=>this),"PUBLIC"))}get automaticDataCollectionEnabled(){return this.checkDestroyed(),this._automaticDataCollectionEnabled}set automaticDataCollectionEnabled(e){this.checkDestroyed(),this._automaticDataCollectionEnabled=e}get name(){return this.checkDestroyed(),this._name}get options(){return this.checkDestroyed(),this._options}get config(){return this.checkDestroyed(),this._config}get container(){return this._container}get isDeleted(){return this._isDeleted}set isDeleted(e){this._isDeleted=e}checkDestroyed(){if(this.isDeleted)throw u.create("app-deleted",{appName:this._name})}}function St(e,t={}){let r=e;"object"!=typeof t&&(t={name:t});const n=Object.assign({name:ht,automaticDataCollectionEnabled:!1},t),a=n.name;if("string"!=typeof a||!a)throw u.create("bad-app-name",{appName:String(a)});if(r||(r=he()),!r)throw u.create("no-options");const i=T.get(a);if(i){if(C(r,i.options)&&C(n,i.config))return i;throw u.create("duplicate-app",{appName:a})}const s=new Ee(a);for(const e of M.values())s.addComponent(e);const o=new ut(r,n,s);return T.set(a,o),o}function y(e,t,r){var n;let a=null!==(n=lt[e])&&void 0!==n?n:e;r&&(a+=`-${r}`);const i=a.match(/\s|\//),s=t.match(/\s|\//);if(i||s){const e=[`Unable to register library "${a}" with version "${t}":`];return i&&e.push(`library name "${a}" contains illegal characters (whitespace or "/")`),i&&s&&e.push("and"),s&&e.push(`version name "${t}" contains illegal characters (whitespace or "/")`),void p.warn(e.join(" "))}$(new D(`${a}-version`,(()=>({library:a,version:t})),"VERSION"))}const pt="firebase-heartbeat-database",mt=1,g="firebase-heartbeat-store";let S=null;function Z(){return S||(S=Ne(pt,mt,{upgrade:(e,t)=>{if(0===t)try{e.createObjectStore(g)}catch(e){console.warn(e)}}}).catch((e=>{throw u.create("idb-open",{originalErrorMessage:e.message})}))),S}async function gt(e){try{const t=(await Z()).transaction(g),r=await t.objectStore(g).get(q(e));return await t.done,r}catch(e){if(e instanceof b)p.warn(e.message);else{const t=u.create("idb-get",{originalErrorMessage:e?.message});p.warn(t.message)}}}async function k(e,t){try{const r=(await Z()).transaction(g,"readwrite");await r.objectStore(g).put(t,q(e)),await r.done}catch(e){if(e instanceof b)p.warn(e.message);else{const t=u.create("idb-set",{originalErrorMessage:e?.message});p.warn(t.message)}}}function q(e){return`${e.name}!${e.options.appId}`}const bt=1024,_t=2592e6;class Et{constructor(e){this.container=e,this._heartbeatsCache=null;const t=this.container.getProvider("app").getImmediate();this._storage=new Dt(t),this._heartbeatsCachePromise=this._storage.read().then((e=>(this._heartbeatsCache=e,e)))}async triggerHeartbeat(){var e,t;const r=this.container.getProvider("platform-logger").getImmediate().getPlatformInfoString(),n=z();if((null!=(null===(e=this._heartbeatsCache)||void 0===e?void 0:e.heartbeats)||(this._heartbeatsCache=await this._heartbeatsCachePromise,null!=(null===(t=this._heartbeatsCache)||void 0===t?void 0:t.heartbeats)))&&this._heartbeatsCache.lastSentHeartbeatDate!==n&&!this._heartbeatsCache.heartbeats.some((e=>e.date===n)))return this._heartbeatsCache.heartbeats.push({date:n,agent:r}),this._heartbeatsCache.heartbeats=this._heartbeatsCache.heartbeats.filter((e=>{const t=new Date(e.date).valueOf();return Date.now()-t<=_t})),this._storage.overwrite(this._heartbeatsCache)}async getHeartbeatsHeader(){var e;if(null===this._heartbeatsCache&&await this._heartbeatsCachePromise,null==(null===(e=this._heartbeatsCache)||void 0===e?void 0:e.heartbeats)||0===this._heartbeatsCache.heartbeats.length)return"";const t=z(),{heartbeatsToSend:r,unsentEntries:n}=yt(this._heartbeatsCache.heartbeats),a=J(JSON.stringify({version:2,heartbeats:r}));return this._heartbeatsCache.lastSentHeartbeatDate=t,n.length>0?(this._heartbeatsCache.heartbeats=n,await this._storage.overwrite(this._heartbeatsCache)):(this._heartbeatsCache.heartbeats=[],this._storage.overwrite(this._heartbeatsCache)),a}}function z(){return(new Date).toISOString().substring(0,10)}function yt(e,t=bt){const r=[];let n=e.slice();for(const a of e){const e=r.find((e=>e.agent===a.agent));if(e){if(e.dates.push(a.date),U(r)>t){e.dates.pop();break}}else if(r.push({agent:a.agent,dates:[a.date]}),U(r)>t){r.pop();break}n=n.slice(1)}return{heartbeatsToSend:r,unsentEntries:n}}class Dt{constructor(e){this.app=e,this._canUseIndexedDBPromise=this.runIndexedDBEnvironmentCheck()}async runIndexedDBEnvironmentCheck(){return!!de()&&fe().then((()=>!0)).catch((()=>!1))}async read(){if(await this._canUseIndexedDBPromise){const e=await gt(this.app);return e?.heartbeats?e:{heartbeats:[]}}return{heartbeats:[]}}async overwrite(e){var t;if(await this._canUseIndexedDBPromise){const r=await this.read();return k(this.app,{lastSentHeartbeatDate:null!==(t=e.lastSentHeartbeatDate)&&void 0!==t?t:r.lastSentHeartbeatDate,heartbeats:e.heartbeats})}}async add(e){var t;if(await this._canUseIndexedDBPromise){const r=await this.read();return k(this.app,{lastSentHeartbeatDate:null!==(t=e.lastSentHeartbeatDate)&&void 0!==t?t:r.lastSentHeartbeatDate,heartbeats:[...r.heartbeats,...e.heartbeats]})}}}function U(e){return J(JSON.stringify({version:2,heartbeats:e})).length}function It(e){$(new D("platform-logger",(e=>new He(e)),"PRIVATE")),$(new D("heartbeat",(e=>new Et(e)),"PRIVATE")),y(O,V,e),y(O,V,"esm2017"),y("fire-js","")}It("");var vt="firebase",wt="10.12.5";y(vt,wt,"app");export{b as FirebaseError,ht as _DEFAULT_ENTRY_NAME,j as _addComponent,T as _apps,M as _components,$ as _registerComponent,dt as _serverApps,St as initializeApp,y as registerVersion}; \ No newline at end of file diff --git a/Target/_astro/index.esm.DRVoThhD.js.map b/Target/_astro/index.esm.JD-0sKti.js.map similarity index 99% rename from Target/_astro/index.esm.DRVoThhD.js.map rename to Target/_astro/index.esm.JD-0sKti.js.map index 171a5639..f437357c 100644 --- a/Target/_astro/index.esm.DRVoThhD.js.map +++ b/Target/_astro/index.esm.JD-0sKti.js.map @@ -1 +1 @@ -{"version":3,"file":"index.esm.DRVoThhD.js","sources":["../../../../../../node_modules/@firebase/util/dist/index.esm2017.js","../../../../../../node_modules/@firebase/component/dist/esm/index.esm2017.js","../../../../../../node_modules/@firebase/logger/dist/esm/index.esm2017.js","../../../../../../node_modules/idb/build/wrap-idb-value.js","../../../../../../node_modules/idb/build/index.js","../../../../../../node_modules/@firebase/app/dist/esm/index.esm2017.js","../../node_modules/firebase/app/dist/esm/index.esm.js"],"sourcesContent":["/**\r\n * @license\r\n * Copyright 2017 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n/**\r\n * @fileoverview Firebase constants. Some of these (@defines) can be overridden at compile-time.\r\n */\r\nconst CONSTANTS = {\r\n /**\r\n * @define {boolean} Whether this is the client Node.js SDK.\r\n */\r\n NODE_CLIENT: false,\r\n /**\r\n * @define {boolean} Whether this is the Admin Node.js SDK.\r\n */\r\n NODE_ADMIN: false,\r\n /**\r\n * Firebase SDK Version\r\n */\r\n SDK_VERSION: '${JSCORE_VERSION}'\r\n};\n\n/**\r\n * @license\r\n * Copyright 2017 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n/**\r\n * Throws an error if the provided assertion is falsy\r\n */\r\nconst assert = function (assertion, message) {\r\n if (!assertion) {\r\n throw assertionError(message);\r\n }\r\n};\r\n/**\r\n * Returns an Error object suitable for throwing.\r\n */\r\nconst assertionError = function (message) {\r\n return new Error('Firebase Database (' +\r\n CONSTANTS.SDK_VERSION +\r\n ') INTERNAL ASSERT FAILED: ' +\r\n message);\r\n};\n\n/**\r\n * @license\r\n * Copyright 2017 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\nconst stringToByteArray$1 = function (str) {\r\n // TODO(user): Use native implementations if/when available\r\n const out = [];\r\n let p = 0;\r\n for (let i = 0; i < str.length; i++) {\r\n let c = str.charCodeAt(i);\r\n if (c < 128) {\r\n out[p++] = c;\r\n }\r\n else if (c < 2048) {\r\n out[p++] = (c >> 6) | 192;\r\n out[p++] = (c & 63) | 128;\r\n }\r\n else if ((c & 0xfc00) === 0xd800 &&\r\n i + 1 < str.length &&\r\n (str.charCodeAt(i + 1) & 0xfc00) === 0xdc00) {\r\n // Surrogate Pair\r\n c = 0x10000 + ((c & 0x03ff) << 10) + (str.charCodeAt(++i) & 0x03ff);\r\n out[p++] = (c >> 18) | 240;\r\n out[p++] = ((c >> 12) & 63) | 128;\r\n out[p++] = ((c >> 6) & 63) | 128;\r\n out[p++] = (c & 63) | 128;\r\n }\r\n else {\r\n out[p++] = (c >> 12) | 224;\r\n out[p++] = ((c >> 6) & 63) | 128;\r\n out[p++] = (c & 63) | 128;\r\n }\r\n }\r\n return out;\r\n};\r\n/**\r\n * Turns an array of numbers into the string given by the concatenation of the\r\n * characters to which the numbers correspond.\r\n * @param bytes Array of numbers representing characters.\r\n * @return Stringification of the array.\r\n */\r\nconst byteArrayToString = function (bytes) {\r\n // TODO(user): Use native implementations if/when available\r\n const out = [];\r\n let pos = 0, c = 0;\r\n while (pos < bytes.length) {\r\n const c1 = bytes[pos++];\r\n if (c1 < 128) {\r\n out[c++] = String.fromCharCode(c1);\r\n }\r\n else if (c1 > 191 && c1 < 224) {\r\n const c2 = bytes[pos++];\r\n out[c++] = String.fromCharCode(((c1 & 31) << 6) | (c2 & 63));\r\n }\r\n else if (c1 > 239 && c1 < 365) {\r\n // Surrogate Pair\r\n const c2 = bytes[pos++];\r\n const c3 = bytes[pos++];\r\n const c4 = bytes[pos++];\r\n const u = (((c1 & 7) << 18) | ((c2 & 63) << 12) | ((c3 & 63) << 6) | (c4 & 63)) -\r\n 0x10000;\r\n out[c++] = String.fromCharCode(0xd800 + (u >> 10));\r\n out[c++] = String.fromCharCode(0xdc00 + (u & 1023));\r\n }\r\n else {\r\n const c2 = bytes[pos++];\r\n const c3 = bytes[pos++];\r\n out[c++] = String.fromCharCode(((c1 & 15) << 12) | ((c2 & 63) << 6) | (c3 & 63));\r\n }\r\n }\r\n return out.join('');\r\n};\r\n// We define it as an object literal instead of a class because a class compiled down to es5 can't\r\n// be treeshaked. https://github.com/rollup/rollup/issues/1691\r\n// Static lookup maps, lazily populated by init_()\r\nconst base64 = {\r\n /**\r\n * Maps bytes to characters.\r\n */\r\n byteToCharMap_: null,\r\n /**\r\n * Maps characters to bytes.\r\n */\r\n charToByteMap_: null,\r\n /**\r\n * Maps bytes to websafe characters.\r\n * @private\r\n */\r\n byteToCharMapWebSafe_: null,\r\n /**\r\n * Maps websafe characters to bytes.\r\n * @private\r\n */\r\n charToByteMapWebSafe_: null,\r\n /**\r\n * Our default alphabet, shared between\r\n * ENCODED_VALS and ENCODED_VALS_WEBSAFE\r\n */\r\n ENCODED_VALS_BASE: 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' + 'abcdefghijklmnopqrstuvwxyz' + '0123456789',\r\n /**\r\n * Our default alphabet. Value 64 (=) is special; it means \"nothing.\"\r\n */\r\n get ENCODED_VALS() {\r\n return this.ENCODED_VALS_BASE + '+/=';\r\n },\r\n /**\r\n * Our websafe alphabet.\r\n */\r\n get ENCODED_VALS_WEBSAFE() {\r\n return this.ENCODED_VALS_BASE + '-_.';\r\n },\r\n /**\r\n * Whether this browser supports the atob and btoa functions. This extension\r\n * started at Mozilla but is now implemented by many browsers. We use the\r\n * ASSUME_* variables to avoid pulling in the full useragent detection library\r\n * but still allowing the standard per-browser compilations.\r\n *\r\n */\r\n HAS_NATIVE_SUPPORT: typeof atob === 'function',\r\n /**\r\n * Base64-encode an array of bytes.\r\n *\r\n * @param input An array of bytes (numbers with\r\n * value in [0, 255]) to encode.\r\n * @param webSafe Boolean indicating we should use the\r\n * alternative alphabet.\r\n * @return The base64 encoded string.\r\n */\r\n encodeByteArray(input, webSafe) {\r\n if (!Array.isArray(input)) {\r\n throw Error('encodeByteArray takes an array as a parameter');\r\n }\r\n this.init_();\r\n const byteToCharMap = webSafe\r\n ? this.byteToCharMapWebSafe_\r\n : this.byteToCharMap_;\r\n const output = [];\r\n for (let i = 0; i < input.length; i += 3) {\r\n const byte1 = input[i];\r\n const haveByte2 = i + 1 < input.length;\r\n const byte2 = haveByte2 ? input[i + 1] : 0;\r\n const haveByte3 = i + 2 < input.length;\r\n const byte3 = haveByte3 ? input[i + 2] : 0;\r\n const outByte1 = byte1 >> 2;\r\n const outByte2 = ((byte1 & 0x03) << 4) | (byte2 >> 4);\r\n let outByte3 = ((byte2 & 0x0f) << 2) | (byte3 >> 6);\r\n let outByte4 = byte3 & 0x3f;\r\n if (!haveByte3) {\r\n outByte4 = 64;\r\n if (!haveByte2) {\r\n outByte3 = 64;\r\n }\r\n }\r\n output.push(byteToCharMap[outByte1], byteToCharMap[outByte2], byteToCharMap[outByte3], byteToCharMap[outByte4]);\r\n }\r\n return output.join('');\r\n },\r\n /**\r\n * Base64-encode a string.\r\n *\r\n * @param input A string to encode.\r\n * @param webSafe If true, we should use the\r\n * alternative alphabet.\r\n * @return The base64 encoded string.\r\n */\r\n encodeString(input, webSafe) {\r\n // Shortcut for Mozilla browsers that implement\r\n // a native base64 encoder in the form of \"btoa/atob\"\r\n if (this.HAS_NATIVE_SUPPORT && !webSafe) {\r\n return btoa(input);\r\n }\r\n return this.encodeByteArray(stringToByteArray$1(input), webSafe);\r\n },\r\n /**\r\n * Base64-decode a string.\r\n *\r\n * @param input to decode.\r\n * @param webSafe True if we should use the\r\n * alternative alphabet.\r\n * @return string representing the decoded value.\r\n */\r\n decodeString(input, webSafe) {\r\n // Shortcut for Mozilla browsers that implement\r\n // a native base64 encoder in the form of \"btoa/atob\"\r\n if (this.HAS_NATIVE_SUPPORT && !webSafe) {\r\n return atob(input);\r\n }\r\n return byteArrayToString(this.decodeStringToByteArray(input, webSafe));\r\n },\r\n /**\r\n * Base64-decode a string.\r\n *\r\n * In base-64 decoding, groups of four characters are converted into three\r\n * bytes. If the encoder did not apply padding, the input length may not\r\n * be a multiple of 4.\r\n *\r\n * In this case, the last group will have fewer than 4 characters, and\r\n * padding will be inferred. If the group has one or two characters, it decodes\r\n * to one byte. If the group has three characters, it decodes to two bytes.\r\n *\r\n * @param input Input to decode.\r\n * @param webSafe True if we should use the web-safe alphabet.\r\n * @return bytes representing the decoded value.\r\n */\r\n decodeStringToByteArray(input, webSafe) {\r\n this.init_();\r\n const charToByteMap = webSafe\r\n ? this.charToByteMapWebSafe_\r\n : this.charToByteMap_;\r\n const output = [];\r\n for (let i = 0; i < input.length;) {\r\n const byte1 = charToByteMap[input.charAt(i++)];\r\n const haveByte2 = i < input.length;\r\n const byte2 = haveByte2 ? charToByteMap[input.charAt(i)] : 0;\r\n ++i;\r\n const haveByte3 = i < input.length;\r\n const byte3 = haveByte3 ? charToByteMap[input.charAt(i)] : 64;\r\n ++i;\r\n const haveByte4 = i < input.length;\r\n const byte4 = haveByte4 ? charToByteMap[input.charAt(i)] : 64;\r\n ++i;\r\n if (byte1 == null || byte2 == null || byte3 == null || byte4 == null) {\r\n throw new DecodeBase64StringError();\r\n }\r\n const outByte1 = (byte1 << 2) | (byte2 >> 4);\r\n output.push(outByte1);\r\n if (byte3 !== 64) {\r\n const outByte2 = ((byte2 << 4) & 0xf0) | (byte3 >> 2);\r\n output.push(outByte2);\r\n if (byte4 !== 64) {\r\n const outByte3 = ((byte3 << 6) & 0xc0) | byte4;\r\n output.push(outByte3);\r\n }\r\n }\r\n }\r\n return output;\r\n },\r\n /**\r\n * Lazy static initialization function. Called before\r\n * accessing any of the static map variables.\r\n * @private\r\n */\r\n init_() {\r\n if (!this.byteToCharMap_) {\r\n this.byteToCharMap_ = {};\r\n this.charToByteMap_ = {};\r\n this.byteToCharMapWebSafe_ = {};\r\n this.charToByteMapWebSafe_ = {};\r\n // We want quick mappings back and forth, so we precompute two maps.\r\n for (let i = 0; i < this.ENCODED_VALS.length; i++) {\r\n this.byteToCharMap_[i] = this.ENCODED_VALS.charAt(i);\r\n this.charToByteMap_[this.byteToCharMap_[i]] = i;\r\n this.byteToCharMapWebSafe_[i] = this.ENCODED_VALS_WEBSAFE.charAt(i);\r\n this.charToByteMapWebSafe_[this.byteToCharMapWebSafe_[i]] = i;\r\n // Be forgiving when decoding and correctly decode both encodings.\r\n if (i >= this.ENCODED_VALS_BASE.length) {\r\n this.charToByteMap_[this.ENCODED_VALS_WEBSAFE.charAt(i)] = i;\r\n this.charToByteMapWebSafe_[this.ENCODED_VALS.charAt(i)] = i;\r\n }\r\n }\r\n }\r\n }\r\n};\r\n/**\r\n * An error encountered while decoding base64 string.\r\n */\r\nclass DecodeBase64StringError extends Error {\r\n constructor() {\r\n super(...arguments);\r\n this.name = 'DecodeBase64StringError';\r\n }\r\n}\r\n/**\r\n * URL-safe base64 encoding\r\n */\r\nconst base64Encode = function (str) {\r\n const utf8Bytes = stringToByteArray$1(str);\r\n return base64.encodeByteArray(utf8Bytes, true);\r\n};\r\n/**\r\n * URL-safe base64 encoding (without \".\" padding in the end).\r\n * e.g. Used in JSON Web Token (JWT) parts.\r\n */\r\nconst base64urlEncodeWithoutPadding = function (str) {\r\n // Use base64url encoding and remove padding in the end (dot characters).\r\n return base64Encode(str).replace(/\\./g, '');\r\n};\r\n/**\r\n * URL-safe base64 decoding\r\n *\r\n * NOTE: DO NOT use the global atob() function - it does NOT support the\r\n * base64Url variant encoding.\r\n *\r\n * @param str To be decoded\r\n * @return Decoded result, if possible\r\n */\r\nconst base64Decode = function (str) {\r\n try {\r\n return base64.decodeString(str, true);\r\n }\r\n catch (e) {\r\n console.error('base64Decode failed: ', e);\r\n }\r\n return null;\r\n};\n\n/**\r\n * @license\r\n * Copyright 2017 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n/**\r\n * Do a deep-copy of basic JavaScript Objects or Arrays.\r\n */\r\nfunction deepCopy(value) {\r\n return deepExtend(undefined, value);\r\n}\r\n/**\r\n * Copy properties from source to target (recursively allows extension\r\n * of Objects and Arrays). Scalar values in the target are over-written.\r\n * If target is undefined, an object of the appropriate type will be created\r\n * (and returned).\r\n *\r\n * We recursively copy all child properties of plain Objects in the source- so\r\n * that namespace- like dictionaries are merged.\r\n *\r\n * Note that the target can be a function, in which case the properties in\r\n * the source Object are copied onto it as static properties of the Function.\r\n *\r\n * Note: we don't merge __proto__ to prevent prototype pollution\r\n */\r\nfunction deepExtend(target, source) {\r\n if (!(source instanceof Object)) {\r\n return source;\r\n }\r\n switch (source.constructor) {\r\n case Date:\r\n // Treat Dates like scalars; if the target date object had any child\r\n // properties - they will be lost!\r\n const dateValue = source;\r\n return new Date(dateValue.getTime());\r\n case Object:\r\n if (target === undefined) {\r\n target = {};\r\n }\r\n break;\r\n case Array:\r\n // Always copy the array source and overwrite the target.\r\n target = [];\r\n break;\r\n default:\r\n // Not a plain Object - treat it as a scalar.\r\n return source;\r\n }\r\n for (const prop in source) {\r\n // use isValidKey to guard against prototype pollution. See https://snyk.io/vuln/SNYK-JS-LODASH-450202\r\n if (!source.hasOwnProperty(prop) || !isValidKey(prop)) {\r\n continue;\r\n }\r\n target[prop] = deepExtend(target[prop], source[prop]);\r\n }\r\n return target;\r\n}\r\nfunction isValidKey(key) {\r\n return key !== '__proto__';\r\n}\n\n/**\r\n * @license\r\n * Copyright 2022 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n/**\r\n * Polyfill for `globalThis` object.\r\n * @returns the `globalThis` object for the given environment.\r\n * @public\r\n */\r\nfunction getGlobal() {\r\n if (typeof self !== 'undefined') {\r\n return self;\r\n }\r\n if (typeof window !== 'undefined') {\r\n return window;\r\n }\r\n if (typeof global !== 'undefined') {\r\n return global;\r\n }\r\n throw new Error('Unable to locate global object.');\r\n}\n\n/**\r\n * @license\r\n * Copyright 2022 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\nconst getDefaultsFromGlobal = () => getGlobal().__FIREBASE_DEFAULTS__;\r\n/**\r\n * Attempt to read defaults from a JSON string provided to\r\n * process(.)env(.)__FIREBASE_DEFAULTS__ or a JSON file whose path is in\r\n * process(.)env(.)__FIREBASE_DEFAULTS_PATH__\r\n * The dots are in parens because certain compilers (Vite?) cannot\r\n * handle seeing that variable in comments.\r\n * See https://github.com/firebase/firebase-js-sdk/issues/6838\r\n */\r\nconst getDefaultsFromEnvVariable = () => {\r\n if (typeof process === 'undefined' || typeof process.env === 'undefined') {\r\n return;\r\n }\r\n const defaultsJsonString = process.env.__FIREBASE_DEFAULTS__;\r\n if (defaultsJsonString) {\r\n return JSON.parse(defaultsJsonString);\r\n }\r\n};\r\nconst getDefaultsFromCookie = () => {\r\n if (typeof document === 'undefined') {\r\n return;\r\n }\r\n let match;\r\n try {\r\n match = document.cookie.match(/__FIREBASE_DEFAULTS__=([^;]+)/);\r\n }\r\n catch (e) {\r\n // Some environments such as Angular Universal SSR have a\r\n // `document` object but error on accessing `document.cookie`.\r\n return;\r\n }\r\n const decoded = match && base64Decode(match[1]);\r\n return decoded && JSON.parse(decoded);\r\n};\r\n/**\r\n * Get the __FIREBASE_DEFAULTS__ object. It checks in order:\r\n * (1) if such an object exists as a property of `globalThis`\r\n * (2) if such an object was provided on a shell environment variable\r\n * (3) if such an object exists in a cookie\r\n * @public\r\n */\r\nconst getDefaults = () => {\r\n try {\r\n return (getDefaultsFromGlobal() ||\r\n getDefaultsFromEnvVariable() ||\r\n getDefaultsFromCookie());\r\n }\r\n catch (e) {\r\n /**\r\n * Catch-all for being unable to get __FIREBASE_DEFAULTS__ due\r\n * to any environment case we have not accounted for. Log to\r\n * info instead of swallowing so we can find these unknown cases\r\n * and add paths for them if needed.\r\n */\r\n console.info(`Unable to get __FIREBASE_DEFAULTS__ due to: ${e}`);\r\n return;\r\n }\r\n};\r\n/**\r\n * Returns emulator host stored in the __FIREBASE_DEFAULTS__ object\r\n * for the given product.\r\n * @returns a URL host formatted like `127.0.0.1:9999` or `[::1]:4000` if available\r\n * @public\r\n */\r\nconst getDefaultEmulatorHost = (productName) => { var _a, _b; return (_b = (_a = getDefaults()) === null || _a === void 0 ? void 0 : _a.emulatorHosts) === null || _b === void 0 ? void 0 : _b[productName]; };\r\n/**\r\n * Returns emulator hostname and port stored in the __FIREBASE_DEFAULTS__ object\r\n * for the given product.\r\n * @returns a pair of hostname and port like `[\"::1\", 4000]` if available\r\n * @public\r\n */\r\nconst getDefaultEmulatorHostnameAndPort = (productName) => {\r\n const host = getDefaultEmulatorHost(productName);\r\n if (!host) {\r\n return undefined;\r\n }\r\n const separatorIndex = host.lastIndexOf(':'); // Finding the last since IPv6 addr also has colons.\r\n if (separatorIndex <= 0 || separatorIndex + 1 === host.length) {\r\n throw new Error(`Invalid host ${host} with no separate hostname and port!`);\r\n }\r\n // eslint-disable-next-line no-restricted-globals\r\n const port = parseInt(host.substring(separatorIndex + 1), 10);\r\n if (host[0] === '[') {\r\n // Bracket-quoted `[ipv6addr]:port` => return \"ipv6addr\" (without brackets).\r\n return [host.substring(1, separatorIndex - 1), port];\r\n }\r\n else {\r\n return [host.substring(0, separatorIndex), port];\r\n }\r\n};\r\n/**\r\n * Returns Firebase app config stored in the __FIREBASE_DEFAULTS__ object.\r\n * @public\r\n */\r\nconst getDefaultAppConfig = () => { var _a; return (_a = getDefaults()) === null || _a === void 0 ? void 0 : _a.config; };\r\n/**\r\n * Returns an experimental setting on the __FIREBASE_DEFAULTS__ object (properties\r\n * prefixed by \"_\")\r\n * @public\r\n */\r\nconst getExperimentalSetting = (name) => { var _a; return (_a = getDefaults()) === null || _a === void 0 ? void 0 : _a[`_${name}`]; };\n\n/**\r\n * @license\r\n * Copyright 2017 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\nclass Deferred {\r\n constructor() {\r\n this.reject = () => { };\r\n this.resolve = () => { };\r\n this.promise = new Promise((resolve, reject) => {\r\n this.resolve = resolve;\r\n this.reject = reject;\r\n });\r\n }\r\n /**\r\n * Our API internals are not promiseified and cannot because our callback APIs have subtle expectations around\r\n * invoking promises inline, which Promises are forbidden to do. This method accepts an optional node-style callback\r\n * and returns a node-style callback which will resolve or reject the Deferred's promise.\r\n */\r\n wrapCallback(callback) {\r\n return (error, value) => {\r\n if (error) {\r\n this.reject(error);\r\n }\r\n else {\r\n this.resolve(value);\r\n }\r\n if (typeof callback === 'function') {\r\n // Attaching noop handler just in case developer wasn't expecting\r\n // promises\r\n this.promise.catch(() => { });\r\n // Some of our callbacks don't expect a value and our own tests\r\n // assert that the parameter length is 1\r\n if (callback.length === 1) {\r\n callback(error);\r\n }\r\n else {\r\n callback(error, value);\r\n }\r\n }\r\n };\r\n }\r\n}\n\n/**\r\n * @license\r\n * Copyright 2021 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\nfunction createMockUserToken(token, projectId) {\r\n if (token.uid) {\r\n throw new Error('The \"uid\" field is no longer supported by mockUserToken. Please use \"sub\" instead for Firebase Auth User ID.');\r\n }\r\n // Unsecured JWTs use \"none\" as the algorithm.\r\n const header = {\r\n alg: 'none',\r\n type: 'JWT'\r\n };\r\n const project = projectId || 'demo-project';\r\n const iat = token.iat || 0;\r\n const sub = token.sub || token.user_id;\r\n if (!sub) {\r\n throw new Error(\"mockUserToken must contain 'sub' or 'user_id' field!\");\r\n }\r\n const payload = Object.assign({ \r\n // Set all required fields to decent defaults\r\n iss: `https://securetoken.google.com/${project}`, aud: project, iat, exp: iat + 3600, auth_time: iat, sub, user_id: sub, firebase: {\r\n sign_in_provider: 'custom',\r\n identities: {}\r\n } }, token);\r\n // Unsecured JWTs use the empty string as a signature.\r\n const signature = '';\r\n return [\r\n base64urlEncodeWithoutPadding(JSON.stringify(header)),\r\n base64urlEncodeWithoutPadding(JSON.stringify(payload)),\r\n signature\r\n ].join('.');\r\n}\n\n/**\r\n * @license\r\n * Copyright 2017 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n/**\r\n * Returns navigator.userAgent string or '' if it's not defined.\r\n * @return user agent string\r\n */\r\nfunction getUA() {\r\n if (typeof navigator !== 'undefined' &&\r\n typeof navigator['userAgent'] === 'string') {\r\n return navigator['userAgent'];\r\n }\r\n else {\r\n return '';\r\n }\r\n}\r\n/**\r\n * Detect Cordova / PhoneGap / Ionic frameworks on a mobile device.\r\n *\r\n * Deliberately does not rely on checking `file://` URLs (as this fails PhoneGap\r\n * in the Ripple emulator) nor Cordova `onDeviceReady`, which would normally\r\n * wait for a callback.\r\n */\r\nfunction isMobileCordova() {\r\n return (typeof window !== 'undefined' &&\r\n // @ts-ignore Setting up an broadly applicable index signature for Window\r\n // just to deal with this case would probably be a bad idea.\r\n !!(window['cordova'] || window['phonegap'] || window['PhoneGap']) &&\r\n /ios|iphone|ipod|ipad|android|blackberry|iemobile/i.test(getUA()));\r\n}\r\n/**\r\n * Detect Node.js.\r\n *\r\n * @return true if Node.js environment is detected or specified.\r\n */\r\n// Node detection logic from: https://github.com/iliakan/detect-node/\r\nfunction isNode() {\r\n var _a;\r\n const forceEnvironment = (_a = getDefaults()) === null || _a === void 0 ? void 0 : _a.forceEnvironment;\r\n if (forceEnvironment === 'node') {\r\n return true;\r\n }\r\n else if (forceEnvironment === 'browser') {\r\n return false;\r\n }\r\n try {\r\n return (Object.prototype.toString.call(global.process) === '[object process]');\r\n }\r\n catch (e) {\r\n return false;\r\n }\r\n}\r\n/**\r\n * Detect Browser Environment\r\n */\r\nfunction isBrowser() {\r\n return typeof window !== 'undefined' || isWebWorker();\r\n}\r\n/**\r\n * Detect Web Worker context\r\n */\r\nfunction isWebWorker() {\r\n return (typeof WorkerGlobalScope !== 'undefined' &&\r\n typeof self !== 'undefined' &&\r\n self instanceof WorkerGlobalScope);\r\n}\r\nfunction isBrowserExtension() {\r\n const runtime = typeof chrome === 'object'\r\n ? chrome.runtime\r\n : typeof browser === 'object'\r\n ? browser.runtime\r\n : undefined;\r\n return typeof runtime === 'object' && runtime.id !== undefined;\r\n}\r\n/**\r\n * Detect React Native.\r\n *\r\n * @return true if ReactNative environment is detected.\r\n */\r\nfunction isReactNative() {\r\n return (typeof navigator === 'object' && navigator['product'] === 'ReactNative');\r\n}\r\n/** Detects Electron apps. */\r\nfunction isElectron() {\r\n return getUA().indexOf('Electron/') >= 0;\r\n}\r\n/** Detects Internet Explorer. */\r\nfunction isIE() {\r\n const ua = getUA();\r\n return ua.indexOf('MSIE ') >= 0 || ua.indexOf('Trident/') >= 0;\r\n}\r\n/** Detects Universal Windows Platform apps. */\r\nfunction isUWP() {\r\n return getUA().indexOf('MSAppHost/') >= 0;\r\n}\r\n/**\r\n * Detect whether the current SDK build is the Node version.\r\n *\r\n * @return true if it's the Node SDK build.\r\n */\r\nfunction isNodeSdk() {\r\n return CONSTANTS.NODE_CLIENT === true || CONSTANTS.NODE_ADMIN === true;\r\n}\r\n/** Returns true if we are running in Safari. */\r\nfunction isSafari() {\r\n return (!isNode() &&\r\n !!navigator.userAgent &&\r\n navigator.userAgent.includes('Safari') &&\r\n !navigator.userAgent.includes('Chrome'));\r\n}\r\n/**\r\n * This method checks if indexedDB is supported by current browser/service worker context\r\n * @return true if indexedDB is supported by current browser/service worker context\r\n */\r\nfunction isIndexedDBAvailable() {\r\n try {\r\n return typeof indexedDB === 'object';\r\n }\r\n catch (e) {\r\n return false;\r\n }\r\n}\r\n/**\r\n * This method validates browser/sw context for indexedDB by opening a dummy indexedDB database and reject\r\n * if errors occur during the database open operation.\r\n *\r\n * @throws exception if current browser/sw context can't run idb.open (ex: Safari iframe, Firefox\r\n * private browsing)\r\n */\r\nfunction validateIndexedDBOpenable() {\r\n return new Promise((resolve, reject) => {\r\n try {\r\n let preExist = true;\r\n const DB_CHECK_NAME = 'validate-browser-context-for-indexeddb-analytics-module';\r\n const request = self.indexedDB.open(DB_CHECK_NAME);\r\n request.onsuccess = () => {\r\n request.result.close();\r\n // delete database only when it doesn't pre-exist\r\n if (!preExist) {\r\n self.indexedDB.deleteDatabase(DB_CHECK_NAME);\r\n }\r\n resolve(true);\r\n };\r\n request.onupgradeneeded = () => {\r\n preExist = false;\r\n };\r\n request.onerror = () => {\r\n var _a;\r\n reject(((_a = request.error) === null || _a === void 0 ? void 0 : _a.message) || '');\r\n };\r\n }\r\n catch (error) {\r\n reject(error);\r\n }\r\n });\r\n}\r\n/**\r\n *\r\n * This method checks whether cookie is enabled within current browser\r\n * @return true if cookie is enabled within current browser\r\n */\r\nfunction areCookiesEnabled() {\r\n if (typeof navigator === 'undefined' || !navigator.cookieEnabled) {\r\n return false;\r\n }\r\n return true;\r\n}\n\n/**\r\n * @license\r\n * Copyright 2017 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n/**\r\n * @fileoverview Standardized Firebase Error.\r\n *\r\n * Usage:\r\n *\r\n * // Typescript string literals for type-safe codes\r\n * type Err =\r\n * 'unknown' |\r\n * 'object-not-found'\r\n * ;\r\n *\r\n * // Closure enum for type-safe error codes\r\n * // at-enum {string}\r\n * var Err = {\r\n * UNKNOWN: 'unknown',\r\n * OBJECT_NOT_FOUND: 'object-not-found',\r\n * }\r\n *\r\n * let errors: Map = {\r\n * 'generic-error': \"Unknown error\",\r\n * 'file-not-found': \"Could not find file: {$file}\",\r\n * };\r\n *\r\n * // Type-safe function - must pass a valid error code as param.\r\n * let error = new ErrorFactory('service', 'Service', errors);\r\n *\r\n * ...\r\n * throw error.create(Err.GENERIC);\r\n * ...\r\n * throw error.create(Err.FILE_NOT_FOUND, {'file': fileName});\r\n * ...\r\n * // Service: Could not file file: foo.txt (service/file-not-found).\r\n *\r\n * catch (e) {\r\n * assert(e.message === \"Could not find file: foo.txt.\");\r\n * if ((e as FirebaseError)?.code === 'service/file-not-found') {\r\n * console.log(\"Could not read file: \" + e['file']);\r\n * }\r\n * }\r\n */\r\nconst ERROR_NAME = 'FirebaseError';\r\n// Based on code from:\r\n// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Error#Custom_Error_Types\r\nclass FirebaseError extends Error {\r\n constructor(\r\n /** The error code for this error. */\r\n code, message, \r\n /** Custom data for this error. */\r\n customData) {\r\n super(message);\r\n this.code = code;\r\n this.customData = customData;\r\n /** The custom name for all FirebaseErrors. */\r\n this.name = ERROR_NAME;\r\n // Fix For ES5\r\n // https://github.com/Microsoft/TypeScript-wiki/blob/master/Breaking-Changes.md#extending-built-ins-like-error-array-and-map-may-no-longer-work\r\n Object.setPrototypeOf(this, FirebaseError.prototype);\r\n // Maintains proper stack trace for where our error was thrown.\r\n // Only available on V8.\r\n if (Error.captureStackTrace) {\r\n Error.captureStackTrace(this, ErrorFactory.prototype.create);\r\n }\r\n }\r\n}\r\nclass ErrorFactory {\r\n constructor(service, serviceName, errors) {\r\n this.service = service;\r\n this.serviceName = serviceName;\r\n this.errors = errors;\r\n }\r\n create(code, ...data) {\r\n const customData = data[0] || {};\r\n const fullCode = `${this.service}/${code}`;\r\n const template = this.errors[code];\r\n const message = template ? replaceTemplate(template, customData) : 'Error';\r\n // Service Name: Error message (service/code).\r\n const fullMessage = `${this.serviceName}: ${message} (${fullCode}).`;\r\n const error = new FirebaseError(fullCode, fullMessage, customData);\r\n return error;\r\n }\r\n}\r\nfunction replaceTemplate(template, data) {\r\n return template.replace(PATTERN, (_, key) => {\r\n const value = data[key];\r\n return value != null ? String(value) : `<${key}?>`;\r\n });\r\n}\r\nconst PATTERN = /\\{\\$([^}]+)}/g;\n\n/**\r\n * @license\r\n * Copyright 2017 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n/**\r\n * Evaluates a JSON string into a javascript object.\r\n *\r\n * @param {string} str A string containing JSON.\r\n * @return {*} The javascript object representing the specified JSON.\r\n */\r\nfunction jsonEval(str) {\r\n return JSON.parse(str);\r\n}\r\n/**\r\n * Returns JSON representing a javascript object.\r\n * @param {*} data Javascript object to be stringified.\r\n * @return {string} The JSON contents of the object.\r\n */\r\nfunction stringify(data) {\r\n return JSON.stringify(data);\r\n}\n\n/**\r\n * @license\r\n * Copyright 2017 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n/**\r\n * Decodes a Firebase auth. token into constituent parts.\r\n *\r\n * Notes:\r\n * - May return with invalid / incomplete claims if there's no native base64 decoding support.\r\n * - Doesn't check if the token is actually valid.\r\n */\r\nconst decode = function (token) {\r\n let header = {}, claims = {}, data = {}, signature = '';\r\n try {\r\n const parts = token.split('.');\r\n header = jsonEval(base64Decode(parts[0]) || '');\r\n claims = jsonEval(base64Decode(parts[1]) || '');\r\n signature = parts[2];\r\n data = claims['d'] || {};\r\n delete claims['d'];\r\n }\r\n catch (e) { }\r\n return {\r\n header,\r\n claims,\r\n data,\r\n signature\r\n };\r\n};\r\n/**\r\n * Decodes a Firebase auth. token and checks the validity of its time-based claims. Will return true if the\r\n * token is within the time window authorized by the 'nbf' (not-before) and 'iat' (issued-at) claims.\r\n *\r\n * Notes:\r\n * - May return a false negative if there's no native base64 decoding support.\r\n * - Doesn't check if the token is actually valid.\r\n */\r\nconst isValidTimestamp = function (token) {\r\n const claims = decode(token).claims;\r\n const now = Math.floor(new Date().getTime() / 1000);\r\n let validSince = 0, validUntil = 0;\r\n if (typeof claims === 'object') {\r\n if (claims.hasOwnProperty('nbf')) {\r\n validSince = claims['nbf'];\r\n }\r\n else if (claims.hasOwnProperty('iat')) {\r\n validSince = claims['iat'];\r\n }\r\n if (claims.hasOwnProperty('exp')) {\r\n validUntil = claims['exp'];\r\n }\r\n else {\r\n // token will expire after 24h by default\r\n validUntil = validSince + 86400;\r\n }\r\n }\r\n return (!!now &&\r\n !!validSince &&\r\n !!validUntil &&\r\n now >= validSince &&\r\n now <= validUntil);\r\n};\r\n/**\r\n * Decodes a Firebase auth. token and returns its issued at time if valid, null otherwise.\r\n *\r\n * Notes:\r\n * - May return null if there's no native base64 decoding support.\r\n * - Doesn't check if the token is actually valid.\r\n */\r\nconst issuedAtTime = function (token) {\r\n const claims = decode(token).claims;\r\n if (typeof claims === 'object' && claims.hasOwnProperty('iat')) {\r\n return claims['iat'];\r\n }\r\n return null;\r\n};\r\n/**\r\n * Decodes a Firebase auth. token and checks the validity of its format. Expects a valid issued-at time.\r\n *\r\n * Notes:\r\n * - May return a false negative if there's no native base64 decoding support.\r\n * - Doesn't check if the token is actually valid.\r\n */\r\nconst isValidFormat = function (token) {\r\n const decoded = decode(token), claims = decoded.claims;\r\n return !!claims && typeof claims === 'object' && claims.hasOwnProperty('iat');\r\n};\r\n/**\r\n * Attempts to peer into an auth token and determine if it's an admin auth token by looking at the claims portion.\r\n *\r\n * Notes:\r\n * - May return a false negative if there's no native base64 decoding support.\r\n * - Doesn't check if the token is actually valid.\r\n */\r\nconst isAdmin = function (token) {\r\n const claims = decode(token).claims;\r\n return typeof claims === 'object' && claims['admin'] === true;\r\n};\n\n/**\r\n * @license\r\n * Copyright 2017 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\nfunction contains(obj, key) {\r\n return Object.prototype.hasOwnProperty.call(obj, key);\r\n}\r\nfunction safeGet(obj, key) {\r\n if (Object.prototype.hasOwnProperty.call(obj, key)) {\r\n return obj[key];\r\n }\r\n else {\r\n return undefined;\r\n }\r\n}\r\nfunction isEmpty(obj) {\r\n for (const key in obj) {\r\n if (Object.prototype.hasOwnProperty.call(obj, key)) {\r\n return false;\r\n }\r\n }\r\n return true;\r\n}\r\nfunction map(obj, fn, contextObj) {\r\n const res = {};\r\n for (const key in obj) {\r\n if (Object.prototype.hasOwnProperty.call(obj, key)) {\r\n res[key] = fn.call(contextObj, obj[key], key, obj);\r\n }\r\n }\r\n return res;\r\n}\r\n/**\r\n * Deep equal two objects. Support Arrays and Objects.\r\n */\r\nfunction deepEqual(a, b) {\r\n if (a === b) {\r\n return true;\r\n }\r\n const aKeys = Object.keys(a);\r\n const bKeys = Object.keys(b);\r\n for (const k of aKeys) {\r\n if (!bKeys.includes(k)) {\r\n return false;\r\n }\r\n const aProp = a[k];\r\n const bProp = b[k];\r\n if (isObject(aProp) && isObject(bProp)) {\r\n if (!deepEqual(aProp, bProp)) {\r\n return false;\r\n }\r\n }\r\n else if (aProp !== bProp) {\r\n return false;\r\n }\r\n }\r\n for (const k of bKeys) {\r\n if (!aKeys.includes(k)) {\r\n return false;\r\n }\r\n }\r\n return true;\r\n}\r\nfunction isObject(thing) {\r\n return thing !== null && typeof thing === 'object';\r\n}\n\n/**\r\n * @license\r\n * Copyright 2022 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n/**\r\n * Rejects if the given promise doesn't resolve in timeInMS milliseconds.\r\n * @internal\r\n */\r\nfunction promiseWithTimeout(promise, timeInMS = 2000) {\r\n const deferredPromise = new Deferred();\r\n setTimeout(() => deferredPromise.reject('timeout!'), timeInMS);\r\n promise.then(deferredPromise.resolve, deferredPromise.reject);\r\n return deferredPromise.promise;\r\n}\n\n/**\r\n * @license\r\n * Copyright 2017 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n/**\r\n * Returns a querystring-formatted string (e.g. &arg=val&arg2=val2) from a\r\n * params object (e.g. {arg: 'val', arg2: 'val2'})\r\n * Note: You must prepend it with ? when adding it to a URL.\r\n */\r\nfunction querystring(querystringParams) {\r\n const params = [];\r\n for (const [key, value] of Object.entries(querystringParams)) {\r\n if (Array.isArray(value)) {\r\n value.forEach(arrayVal => {\r\n params.push(encodeURIComponent(key) + '=' + encodeURIComponent(arrayVal));\r\n });\r\n }\r\n else {\r\n params.push(encodeURIComponent(key) + '=' + encodeURIComponent(value));\r\n }\r\n }\r\n return params.length ? '&' + params.join('&') : '';\r\n}\r\n/**\r\n * Decodes a querystring (e.g. ?arg=val&arg2=val2) into a params object\r\n * (e.g. {arg: 'val', arg2: 'val2'})\r\n */\r\nfunction querystringDecode(querystring) {\r\n const obj = {};\r\n const tokens = querystring.replace(/^\\?/, '').split('&');\r\n tokens.forEach(token => {\r\n if (token) {\r\n const [key, value] = token.split('=');\r\n obj[decodeURIComponent(key)] = decodeURIComponent(value);\r\n }\r\n });\r\n return obj;\r\n}\r\n/**\r\n * Extract the query string part of a URL, including the leading question mark (if present).\r\n */\r\nfunction extractQuerystring(url) {\r\n const queryStart = url.indexOf('?');\r\n if (!queryStart) {\r\n return '';\r\n }\r\n const fragmentStart = url.indexOf('#', queryStart);\r\n return url.substring(queryStart, fragmentStart > 0 ? fragmentStart : undefined);\r\n}\n\n/**\r\n * @license\r\n * Copyright 2017 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n/**\r\n * @fileoverview SHA-1 cryptographic hash.\r\n * Variable names follow the notation in FIPS PUB 180-3:\r\n * http://csrc.nist.gov/publications/fips/fips180-3/fips180-3_final.pdf.\r\n *\r\n * Usage:\r\n * var sha1 = new sha1();\r\n * sha1.update(bytes);\r\n * var hash = sha1.digest();\r\n *\r\n * Performance:\r\n * Chrome 23: ~400 Mbit/s\r\n * Firefox 16: ~250 Mbit/s\r\n *\r\n */\r\n/**\r\n * SHA-1 cryptographic hash constructor.\r\n *\r\n * The properties declared here are discussed in the above algorithm document.\r\n * @constructor\r\n * @final\r\n * @struct\r\n */\r\nclass Sha1 {\r\n constructor() {\r\n /**\r\n * Holds the previous values of accumulated variables a-e in the compress_\r\n * function.\r\n * @private\r\n */\r\n this.chain_ = [];\r\n /**\r\n * A buffer holding the partially computed hash result.\r\n * @private\r\n */\r\n this.buf_ = [];\r\n /**\r\n * An array of 80 bytes, each a part of the message to be hashed. Referred to\r\n * as the message schedule in the docs.\r\n * @private\r\n */\r\n this.W_ = [];\r\n /**\r\n * Contains data needed to pad messages less than 64 bytes.\r\n * @private\r\n */\r\n this.pad_ = [];\r\n /**\r\n * @private {number}\r\n */\r\n this.inbuf_ = 0;\r\n /**\r\n * @private {number}\r\n */\r\n this.total_ = 0;\r\n this.blockSize = 512 / 8;\r\n this.pad_[0] = 128;\r\n for (let i = 1; i < this.blockSize; ++i) {\r\n this.pad_[i] = 0;\r\n }\r\n this.reset();\r\n }\r\n reset() {\r\n this.chain_[0] = 0x67452301;\r\n this.chain_[1] = 0xefcdab89;\r\n this.chain_[2] = 0x98badcfe;\r\n this.chain_[3] = 0x10325476;\r\n this.chain_[4] = 0xc3d2e1f0;\r\n this.inbuf_ = 0;\r\n this.total_ = 0;\r\n }\r\n /**\r\n * Internal compress helper function.\r\n * @param buf Block to compress.\r\n * @param offset Offset of the block in the buffer.\r\n * @private\r\n */\r\n compress_(buf, offset) {\r\n if (!offset) {\r\n offset = 0;\r\n }\r\n const W = this.W_;\r\n // get 16 big endian words\r\n if (typeof buf === 'string') {\r\n for (let i = 0; i < 16; i++) {\r\n // TODO(user): [bug 8140122] Recent versions of Safari for Mac OS and iOS\r\n // have a bug that turns the post-increment ++ operator into pre-increment\r\n // during JIT compilation. We have code that depends heavily on SHA-1 for\r\n // correctness and which is affected by this bug, so I've removed all uses\r\n // of post-increment ++ in which the result value is used. We can revert\r\n // this change once the Safari bug\r\n // (https://bugs.webkit.org/show_bug.cgi?id=109036) has been fixed and\r\n // most clients have been updated.\r\n W[i] =\r\n (buf.charCodeAt(offset) << 24) |\r\n (buf.charCodeAt(offset + 1) << 16) |\r\n (buf.charCodeAt(offset + 2) << 8) |\r\n buf.charCodeAt(offset + 3);\r\n offset += 4;\r\n }\r\n }\r\n else {\r\n for (let i = 0; i < 16; i++) {\r\n W[i] =\r\n (buf[offset] << 24) |\r\n (buf[offset + 1] << 16) |\r\n (buf[offset + 2] << 8) |\r\n buf[offset + 3];\r\n offset += 4;\r\n }\r\n }\r\n // expand to 80 words\r\n for (let i = 16; i < 80; i++) {\r\n const t = W[i - 3] ^ W[i - 8] ^ W[i - 14] ^ W[i - 16];\r\n W[i] = ((t << 1) | (t >>> 31)) & 0xffffffff;\r\n }\r\n let a = this.chain_[0];\r\n let b = this.chain_[1];\r\n let c = this.chain_[2];\r\n let d = this.chain_[3];\r\n let e = this.chain_[4];\r\n let f, k;\r\n // TODO(user): Try to unroll this loop to speed up the computation.\r\n for (let i = 0; i < 80; i++) {\r\n if (i < 40) {\r\n if (i < 20) {\r\n f = d ^ (b & (c ^ d));\r\n k = 0x5a827999;\r\n }\r\n else {\r\n f = b ^ c ^ d;\r\n k = 0x6ed9eba1;\r\n }\r\n }\r\n else {\r\n if (i < 60) {\r\n f = (b & c) | (d & (b | c));\r\n k = 0x8f1bbcdc;\r\n }\r\n else {\r\n f = b ^ c ^ d;\r\n k = 0xca62c1d6;\r\n }\r\n }\r\n const t = (((a << 5) | (a >>> 27)) + f + e + k + W[i]) & 0xffffffff;\r\n e = d;\r\n d = c;\r\n c = ((b << 30) | (b >>> 2)) & 0xffffffff;\r\n b = a;\r\n a = t;\r\n }\r\n this.chain_[0] = (this.chain_[0] + a) & 0xffffffff;\r\n this.chain_[1] = (this.chain_[1] + b) & 0xffffffff;\r\n this.chain_[2] = (this.chain_[2] + c) & 0xffffffff;\r\n this.chain_[3] = (this.chain_[3] + d) & 0xffffffff;\r\n this.chain_[4] = (this.chain_[4] + e) & 0xffffffff;\r\n }\r\n update(bytes, length) {\r\n // TODO(johnlenz): tighten the function signature and remove this check\r\n if (bytes == null) {\r\n return;\r\n }\r\n if (length === undefined) {\r\n length = bytes.length;\r\n }\r\n const lengthMinusBlock = length - this.blockSize;\r\n let n = 0;\r\n // Using local instead of member variables gives ~5% speedup on Firefox 16.\r\n const buf = this.buf_;\r\n let inbuf = this.inbuf_;\r\n // The outer while loop should execute at most twice.\r\n while (n < length) {\r\n // When we have no data in the block to top up, we can directly process the\r\n // input buffer (assuming it contains sufficient data). This gives ~25%\r\n // speedup on Chrome 23 and ~15% speedup on Firefox 16, but requires that\r\n // the data is provided in large chunks (or in multiples of 64 bytes).\r\n if (inbuf === 0) {\r\n while (n <= lengthMinusBlock) {\r\n this.compress_(bytes, n);\r\n n += this.blockSize;\r\n }\r\n }\r\n if (typeof bytes === 'string') {\r\n while (n < length) {\r\n buf[inbuf] = bytes.charCodeAt(n);\r\n ++inbuf;\r\n ++n;\r\n if (inbuf === this.blockSize) {\r\n this.compress_(buf);\r\n inbuf = 0;\r\n // Jump to the outer loop so we use the full-block optimization.\r\n break;\r\n }\r\n }\r\n }\r\n else {\r\n while (n < length) {\r\n buf[inbuf] = bytes[n];\r\n ++inbuf;\r\n ++n;\r\n if (inbuf === this.blockSize) {\r\n this.compress_(buf);\r\n inbuf = 0;\r\n // Jump to the outer loop so we use the full-block optimization.\r\n break;\r\n }\r\n }\r\n }\r\n }\r\n this.inbuf_ = inbuf;\r\n this.total_ += length;\r\n }\r\n /** @override */\r\n digest() {\r\n const digest = [];\r\n let totalBits = this.total_ * 8;\r\n // Add pad 0x80 0x00*.\r\n if (this.inbuf_ < 56) {\r\n this.update(this.pad_, 56 - this.inbuf_);\r\n }\r\n else {\r\n this.update(this.pad_, this.blockSize - (this.inbuf_ - 56));\r\n }\r\n // Add # bits.\r\n for (let i = this.blockSize - 1; i >= 56; i--) {\r\n this.buf_[i] = totalBits & 255;\r\n totalBits /= 256; // Don't use bit-shifting here!\r\n }\r\n this.compress_(this.buf_);\r\n let n = 0;\r\n for (let i = 0; i < 5; i++) {\r\n for (let j = 24; j >= 0; j -= 8) {\r\n digest[n] = (this.chain_[i] >> j) & 255;\r\n ++n;\r\n }\r\n }\r\n return digest;\r\n }\r\n}\n\n/**\r\n * Helper to make a Subscribe function (just like Promise helps make a\r\n * Thenable).\r\n *\r\n * @param executor Function which can make calls to a single Observer\r\n * as a proxy.\r\n * @param onNoObservers Callback when count of Observers goes to zero.\r\n */\r\nfunction createSubscribe(executor, onNoObservers) {\r\n const proxy = new ObserverProxy(executor, onNoObservers);\r\n return proxy.subscribe.bind(proxy);\r\n}\r\n/**\r\n * Implement fan-out for any number of Observers attached via a subscribe\r\n * function.\r\n */\r\nclass ObserverProxy {\r\n /**\r\n * @param executor Function which can make calls to a single Observer\r\n * as a proxy.\r\n * @param onNoObservers Callback when count of Observers goes to zero.\r\n */\r\n constructor(executor, onNoObservers) {\r\n this.observers = [];\r\n this.unsubscribes = [];\r\n this.observerCount = 0;\r\n // Micro-task scheduling by calling task.then().\r\n this.task = Promise.resolve();\r\n this.finalized = false;\r\n this.onNoObservers = onNoObservers;\r\n // Call the executor asynchronously so subscribers that are called\r\n // synchronously after the creation of the subscribe function\r\n // can still receive the very first value generated in the executor.\r\n this.task\r\n .then(() => {\r\n executor(this);\r\n })\r\n .catch(e => {\r\n this.error(e);\r\n });\r\n }\r\n next(value) {\r\n this.forEachObserver((observer) => {\r\n observer.next(value);\r\n });\r\n }\r\n error(error) {\r\n this.forEachObserver((observer) => {\r\n observer.error(error);\r\n });\r\n this.close(error);\r\n }\r\n complete() {\r\n this.forEachObserver((observer) => {\r\n observer.complete();\r\n });\r\n this.close();\r\n }\r\n /**\r\n * Subscribe function that can be used to add an Observer to the fan-out list.\r\n *\r\n * - We require that no event is sent to a subscriber sychronously to their\r\n * call to subscribe().\r\n */\r\n subscribe(nextOrObserver, error, complete) {\r\n let observer;\r\n if (nextOrObserver === undefined &&\r\n error === undefined &&\r\n complete === undefined) {\r\n throw new Error('Missing Observer.');\r\n }\r\n // Assemble an Observer object when passed as callback functions.\r\n if (implementsAnyMethods(nextOrObserver, [\r\n 'next',\r\n 'error',\r\n 'complete'\r\n ])) {\r\n observer = nextOrObserver;\r\n }\r\n else {\r\n observer = {\r\n next: nextOrObserver,\r\n error,\r\n complete\r\n };\r\n }\r\n if (observer.next === undefined) {\r\n observer.next = noop;\r\n }\r\n if (observer.error === undefined) {\r\n observer.error = noop;\r\n }\r\n if (observer.complete === undefined) {\r\n observer.complete = noop;\r\n }\r\n const unsub = this.unsubscribeOne.bind(this, this.observers.length);\r\n // Attempt to subscribe to a terminated Observable - we\r\n // just respond to the Observer with the final error or complete\r\n // event.\r\n if (this.finalized) {\r\n // eslint-disable-next-line @typescript-eslint/no-floating-promises\r\n this.task.then(() => {\r\n try {\r\n if (this.finalError) {\r\n observer.error(this.finalError);\r\n }\r\n else {\r\n observer.complete();\r\n }\r\n }\r\n catch (e) {\r\n // nothing\r\n }\r\n return;\r\n });\r\n }\r\n this.observers.push(observer);\r\n return unsub;\r\n }\r\n // Unsubscribe is synchronous - we guarantee that no events are sent to\r\n // any unsubscribed Observer.\r\n unsubscribeOne(i) {\r\n if (this.observers === undefined || this.observers[i] === undefined) {\r\n return;\r\n }\r\n delete this.observers[i];\r\n this.observerCount -= 1;\r\n if (this.observerCount === 0 && this.onNoObservers !== undefined) {\r\n this.onNoObservers(this);\r\n }\r\n }\r\n forEachObserver(fn) {\r\n if (this.finalized) {\r\n // Already closed by previous event....just eat the additional values.\r\n return;\r\n }\r\n // Since sendOne calls asynchronously - there is no chance that\r\n // this.observers will become undefined.\r\n for (let i = 0; i < this.observers.length; i++) {\r\n this.sendOne(i, fn);\r\n }\r\n }\r\n // Call the Observer via one of it's callback function. We are careful to\r\n // confirm that the observe has not been unsubscribed since this asynchronous\r\n // function had been queued.\r\n sendOne(i, fn) {\r\n // Execute the callback asynchronously\r\n // eslint-disable-next-line @typescript-eslint/no-floating-promises\r\n this.task.then(() => {\r\n if (this.observers !== undefined && this.observers[i] !== undefined) {\r\n try {\r\n fn(this.observers[i]);\r\n }\r\n catch (e) {\r\n // Ignore exceptions raised in Observers or missing methods of an\r\n // Observer.\r\n // Log error to console. b/31404806\r\n if (typeof console !== 'undefined' && console.error) {\r\n console.error(e);\r\n }\r\n }\r\n }\r\n });\r\n }\r\n close(err) {\r\n if (this.finalized) {\r\n return;\r\n }\r\n this.finalized = true;\r\n if (err !== undefined) {\r\n this.finalError = err;\r\n }\r\n // Proxy is no longer needed - garbage collect references\r\n // eslint-disable-next-line @typescript-eslint/no-floating-promises\r\n this.task.then(() => {\r\n this.observers = undefined;\r\n this.onNoObservers = undefined;\r\n });\r\n }\r\n}\r\n/** Turn synchronous function into one called asynchronously. */\r\n// eslint-disable-next-line @typescript-eslint/ban-types\r\nfunction async(fn, onError) {\r\n return (...args) => {\r\n Promise.resolve(true)\r\n .then(() => {\r\n fn(...args);\r\n })\r\n .catch((error) => {\r\n if (onError) {\r\n onError(error);\r\n }\r\n });\r\n };\r\n}\r\n/**\r\n * Return true if the object passed in implements any of the named methods.\r\n */\r\nfunction implementsAnyMethods(obj, methods) {\r\n if (typeof obj !== 'object' || obj === null) {\r\n return false;\r\n }\r\n for (const method of methods) {\r\n if (method in obj && typeof obj[method] === 'function') {\r\n return true;\r\n }\r\n }\r\n return false;\r\n}\r\nfunction noop() {\r\n // do nothing\r\n}\n\n/**\r\n * @license\r\n * Copyright 2017 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n/**\r\n * Check to make sure the appropriate number of arguments are provided for a public function.\r\n * Throws an error if it fails.\r\n *\r\n * @param fnName The function name\r\n * @param minCount The minimum number of arguments to allow for the function call\r\n * @param maxCount The maximum number of argument to allow for the function call\r\n * @param argCount The actual number of arguments provided.\r\n */\r\nconst validateArgCount = function (fnName, minCount, maxCount, argCount) {\r\n let argError;\r\n if (argCount < minCount) {\r\n argError = 'at least ' + minCount;\r\n }\r\n else if (argCount > maxCount) {\r\n argError = maxCount === 0 ? 'none' : 'no more than ' + maxCount;\r\n }\r\n if (argError) {\r\n const error = fnName +\r\n ' failed: Was called with ' +\r\n argCount +\r\n (argCount === 1 ? ' argument.' : ' arguments.') +\r\n ' Expects ' +\r\n argError +\r\n '.';\r\n throw new Error(error);\r\n }\r\n};\r\n/**\r\n * Generates a string to prefix an error message about failed argument validation\r\n *\r\n * @param fnName The function name\r\n * @param argName The name of the argument\r\n * @return The prefix to add to the error thrown for validation.\r\n */\r\nfunction errorPrefix(fnName, argName) {\r\n return `${fnName} failed: ${argName} argument `;\r\n}\r\n/**\r\n * @param fnName\r\n * @param argumentNumber\r\n * @param namespace\r\n * @param optional\r\n */\r\nfunction validateNamespace(fnName, namespace, optional) {\r\n if (optional && !namespace) {\r\n return;\r\n }\r\n if (typeof namespace !== 'string') {\r\n //TODO: I should do more validation here. We only allow certain chars in namespaces.\r\n throw new Error(errorPrefix(fnName, 'namespace') + 'must be a valid firebase namespace.');\r\n }\r\n}\r\nfunction validateCallback(fnName, argumentName, \r\n// eslint-disable-next-line @typescript-eslint/ban-types\r\ncallback, optional) {\r\n if (optional && !callback) {\r\n return;\r\n }\r\n if (typeof callback !== 'function') {\r\n throw new Error(errorPrefix(fnName, argumentName) + 'must be a valid function.');\r\n }\r\n}\r\nfunction validateContextObject(fnName, argumentName, context, optional) {\r\n if (optional && !context) {\r\n return;\r\n }\r\n if (typeof context !== 'object' || context === null) {\r\n throw new Error(errorPrefix(fnName, argumentName) + 'must be a valid context object.');\r\n }\r\n}\n\n/**\r\n * @license\r\n * Copyright 2017 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n// Code originally came from goog.crypt.stringToUtf8ByteArray, but for some reason they\r\n// automatically replaced '\\r\\n' with '\\n', and they didn't handle surrogate pairs,\r\n// so it's been modified.\r\n// Note that not all Unicode characters appear as single characters in JavaScript strings.\r\n// fromCharCode returns the UTF-16 encoding of a character - so some Unicode characters\r\n// use 2 characters in Javascript. All 4-byte UTF-8 characters begin with a first\r\n// character in the range 0xD800 - 0xDBFF (the first character of a so-called surrogate\r\n// pair).\r\n// See http://www.ecma-international.org/ecma-262/5.1/#sec-15.1.3\r\n/**\r\n * @param {string} str\r\n * @return {Array}\r\n */\r\nconst stringToByteArray = function (str) {\r\n const out = [];\r\n let p = 0;\r\n for (let i = 0; i < str.length; i++) {\r\n let c = str.charCodeAt(i);\r\n // Is this the lead surrogate in a surrogate pair?\r\n if (c >= 0xd800 && c <= 0xdbff) {\r\n const high = c - 0xd800; // the high 10 bits.\r\n i++;\r\n assert(i < str.length, 'Surrogate pair missing trail surrogate.');\r\n const low = str.charCodeAt(i) - 0xdc00; // the low 10 bits.\r\n c = 0x10000 + (high << 10) + low;\r\n }\r\n if (c < 128) {\r\n out[p++] = c;\r\n }\r\n else if (c < 2048) {\r\n out[p++] = (c >> 6) | 192;\r\n out[p++] = (c & 63) | 128;\r\n }\r\n else if (c < 65536) {\r\n out[p++] = (c >> 12) | 224;\r\n out[p++] = ((c >> 6) & 63) | 128;\r\n out[p++] = (c & 63) | 128;\r\n }\r\n else {\r\n out[p++] = (c >> 18) | 240;\r\n out[p++] = ((c >> 12) & 63) | 128;\r\n out[p++] = ((c >> 6) & 63) | 128;\r\n out[p++] = (c & 63) | 128;\r\n }\r\n }\r\n return out;\r\n};\r\n/**\r\n * Calculate length without actually converting; useful for doing cheaper validation.\r\n * @param {string} str\r\n * @return {number}\r\n */\r\nconst stringLength = function (str) {\r\n let p = 0;\r\n for (let i = 0; i < str.length; i++) {\r\n const c = str.charCodeAt(i);\r\n if (c < 128) {\r\n p++;\r\n }\r\n else if (c < 2048) {\r\n p += 2;\r\n }\r\n else if (c >= 0xd800 && c <= 0xdbff) {\r\n // Lead surrogate of a surrogate pair. The pair together will take 4 bytes to represent.\r\n p += 4;\r\n i++; // skip trail surrogate.\r\n }\r\n else {\r\n p += 3;\r\n }\r\n }\r\n return p;\r\n};\n\n/**\r\n * @license\r\n * Copyright 2022 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n/**\r\n * Copied from https://stackoverflow.com/a/2117523\r\n * Generates a new uuid.\r\n * @public\r\n */\r\nconst uuidv4 = function () {\r\n return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, c => {\r\n const r = (Math.random() * 16) | 0, v = c === 'x' ? r : (r & 0x3) | 0x8;\r\n return v.toString(16);\r\n });\r\n};\n\n/**\r\n * @license\r\n * Copyright 2019 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n/**\r\n * The amount of milliseconds to exponentially increase.\r\n */\r\nconst DEFAULT_INTERVAL_MILLIS = 1000;\r\n/**\r\n * The factor to backoff by.\r\n * Should be a number greater than 1.\r\n */\r\nconst DEFAULT_BACKOFF_FACTOR = 2;\r\n/**\r\n * The maximum milliseconds to increase to.\r\n *\r\n *

Visible for testing\r\n */\r\nconst MAX_VALUE_MILLIS = 4 * 60 * 60 * 1000; // Four hours, like iOS and Android.\r\n/**\r\n * The percentage of backoff time to randomize by.\r\n * See\r\n * http://go/safe-client-behavior#step-1-determine-the-appropriate-retry-interval-to-handle-spike-traffic\r\n * for context.\r\n *\r\n *

Visible for testing\r\n */\r\nconst RANDOM_FACTOR = 0.5;\r\n/**\r\n * Based on the backoff method from\r\n * https://github.com/google/closure-library/blob/master/closure/goog/math/exponentialbackoff.js.\r\n * Extracted here so we don't need to pass metadata and a stateful ExponentialBackoff object around.\r\n */\r\nfunction calculateBackoffMillis(backoffCount, intervalMillis = DEFAULT_INTERVAL_MILLIS, backoffFactor = DEFAULT_BACKOFF_FACTOR) {\r\n // Calculates an exponentially increasing value.\r\n // Deviation: calculates value from count and a constant interval, so we only need to save value\r\n // and count to restore state.\r\n const currBaseValue = intervalMillis * Math.pow(backoffFactor, backoffCount);\r\n // A random \"fuzz\" to avoid waves of retries.\r\n // Deviation: randomFactor is required.\r\n const randomWait = Math.round(\r\n // A fraction of the backoff value to add/subtract.\r\n // Deviation: changes multiplication order to improve readability.\r\n RANDOM_FACTOR *\r\n currBaseValue *\r\n // A random float (rounded to int by Math.round above) in the range [-1, 1]. Determines\r\n // if we add or subtract.\r\n (Math.random() - 0.5) *\r\n 2);\r\n // Limits backoff to max to avoid effectively permanent backoff.\r\n return Math.min(MAX_VALUE_MILLIS, currBaseValue + randomWait);\r\n}\n\n/**\r\n * @license\r\n * Copyright 2020 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n/**\r\n * Provide English ordinal letters after a number\r\n */\r\nfunction ordinal(i) {\r\n if (!Number.isFinite(i)) {\r\n return `${i}`;\r\n }\r\n return i + indicator(i);\r\n}\r\nfunction indicator(i) {\r\n i = Math.abs(i);\r\n const cent = i % 100;\r\n if (cent >= 10 && cent <= 20) {\r\n return 'th';\r\n }\r\n const dec = i % 10;\r\n if (dec === 1) {\r\n return 'st';\r\n }\r\n if (dec === 2) {\r\n return 'nd';\r\n }\r\n if (dec === 3) {\r\n return 'rd';\r\n }\r\n return 'th';\r\n}\n\n/**\r\n * @license\r\n * Copyright 2021 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\nfunction getModularInstance(service) {\r\n if (service && service._delegate) {\r\n return service._delegate;\r\n }\r\n else {\r\n return service;\r\n }\r\n}\n\nexport { CONSTANTS, DecodeBase64StringError, Deferred, ErrorFactory, FirebaseError, MAX_VALUE_MILLIS, RANDOM_FACTOR, Sha1, areCookiesEnabled, assert, assertionError, async, base64, base64Decode, base64Encode, base64urlEncodeWithoutPadding, calculateBackoffMillis, contains, createMockUserToken, createSubscribe, decode, deepCopy, deepEqual, deepExtend, errorPrefix, extractQuerystring, getDefaultAppConfig, getDefaultEmulatorHost, getDefaultEmulatorHostnameAndPort, getDefaults, getExperimentalSetting, getGlobal, getModularInstance, getUA, isAdmin, isBrowser, isBrowserExtension, isElectron, isEmpty, isIE, isIndexedDBAvailable, isMobileCordova, isNode, isNodeSdk, isReactNative, isSafari, isUWP, isValidFormat, isValidTimestamp, isWebWorker, issuedAtTime, jsonEval, map, ordinal, promiseWithTimeout, querystring, querystringDecode, safeGet, stringLength, stringToByteArray, stringify, uuidv4, validateArgCount, validateCallback, validateContextObject, validateIndexedDBOpenable, validateNamespace };\n//# sourceMappingURL=index.esm2017.js.map\n","import { Deferred } from '@firebase/util';\n\n/**\r\n * Component for service name T, e.g. `auth`, `auth-internal`\r\n */\r\nclass Component {\r\n /**\r\n *\r\n * @param name The public service name, e.g. app, auth, firestore, database\r\n * @param instanceFactory Service factory responsible for creating the public interface\r\n * @param type whether the service provided by the component is public or private\r\n */\r\n constructor(name, instanceFactory, type) {\r\n this.name = name;\r\n this.instanceFactory = instanceFactory;\r\n this.type = type;\r\n this.multipleInstances = false;\r\n /**\r\n * Properties to be added to the service namespace\r\n */\r\n this.serviceProps = {};\r\n this.instantiationMode = \"LAZY\" /* InstantiationMode.LAZY */;\r\n this.onInstanceCreated = null;\r\n }\r\n setInstantiationMode(mode) {\r\n this.instantiationMode = mode;\r\n return this;\r\n }\r\n setMultipleInstances(multipleInstances) {\r\n this.multipleInstances = multipleInstances;\r\n return this;\r\n }\r\n setServiceProps(props) {\r\n this.serviceProps = props;\r\n return this;\r\n }\r\n setInstanceCreatedCallback(callback) {\r\n this.onInstanceCreated = callback;\r\n return this;\r\n }\r\n}\n\n/**\r\n * @license\r\n * Copyright 2019 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\nconst DEFAULT_ENTRY_NAME = '[DEFAULT]';\n\n/**\r\n * @license\r\n * Copyright 2019 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n/**\r\n * Provider for instance for service name T, e.g. 'auth', 'auth-internal'\r\n * NameServiceMapping[T] is an alias for the type of the instance\r\n */\r\nclass Provider {\r\n constructor(name, container) {\r\n this.name = name;\r\n this.container = container;\r\n this.component = null;\r\n this.instances = new Map();\r\n this.instancesDeferred = new Map();\r\n this.instancesOptions = new Map();\r\n this.onInitCallbacks = new Map();\r\n }\r\n /**\r\n * @param identifier A provider can provide mulitple instances of a service\r\n * if this.component.multipleInstances is true.\r\n */\r\n get(identifier) {\r\n // if multipleInstances is not supported, use the default name\r\n const normalizedIdentifier = this.normalizeInstanceIdentifier(identifier);\r\n if (!this.instancesDeferred.has(normalizedIdentifier)) {\r\n const deferred = new Deferred();\r\n this.instancesDeferred.set(normalizedIdentifier, deferred);\r\n if (this.isInitialized(normalizedIdentifier) ||\r\n this.shouldAutoInitialize()) {\r\n // initialize the service if it can be auto-initialized\r\n try {\r\n const instance = this.getOrInitializeService({\r\n instanceIdentifier: normalizedIdentifier\r\n });\r\n if (instance) {\r\n deferred.resolve(instance);\r\n }\r\n }\r\n catch (e) {\r\n // when the instance factory throws an exception during get(), it should not cause\r\n // a fatal error. We just return the unresolved promise in this case.\r\n }\r\n }\r\n }\r\n return this.instancesDeferred.get(normalizedIdentifier).promise;\r\n }\r\n getImmediate(options) {\r\n var _a;\r\n // if multipleInstances is not supported, use the default name\r\n const normalizedIdentifier = this.normalizeInstanceIdentifier(options === null || options === void 0 ? void 0 : options.identifier);\r\n const optional = (_a = options === null || options === void 0 ? void 0 : options.optional) !== null && _a !== void 0 ? _a : false;\r\n if (this.isInitialized(normalizedIdentifier) ||\r\n this.shouldAutoInitialize()) {\r\n try {\r\n return this.getOrInitializeService({\r\n instanceIdentifier: normalizedIdentifier\r\n });\r\n }\r\n catch (e) {\r\n if (optional) {\r\n return null;\r\n }\r\n else {\r\n throw e;\r\n }\r\n }\r\n }\r\n else {\r\n // In case a component is not initialized and should/can not be auto-initialized at the moment, return null if the optional flag is set, or throw\r\n if (optional) {\r\n return null;\r\n }\r\n else {\r\n throw Error(`Service ${this.name} is not available`);\r\n }\r\n }\r\n }\r\n getComponent() {\r\n return this.component;\r\n }\r\n setComponent(component) {\r\n if (component.name !== this.name) {\r\n throw Error(`Mismatching Component ${component.name} for Provider ${this.name}.`);\r\n }\r\n if (this.component) {\r\n throw Error(`Component for ${this.name} has already been provided`);\r\n }\r\n this.component = component;\r\n // return early without attempting to initialize the component if the component requires explicit initialization (calling `Provider.initialize()`)\r\n if (!this.shouldAutoInitialize()) {\r\n return;\r\n }\r\n // if the service is eager, initialize the default instance\r\n if (isComponentEager(component)) {\r\n try {\r\n this.getOrInitializeService({ instanceIdentifier: DEFAULT_ENTRY_NAME });\r\n }\r\n catch (e) {\r\n // when the instance factory for an eager Component throws an exception during the eager\r\n // initialization, it should not cause a fatal error.\r\n // TODO: Investigate if we need to make it configurable, because some component may want to cause\r\n // a fatal error in this case?\r\n }\r\n }\r\n // Create service instances for the pending promises and resolve them\r\n // NOTE: if this.multipleInstances is false, only the default instance will be created\r\n // and all promises with resolve with it regardless of the identifier.\r\n for (const [instanceIdentifier, instanceDeferred] of this.instancesDeferred.entries()) {\r\n const normalizedIdentifier = this.normalizeInstanceIdentifier(instanceIdentifier);\r\n try {\r\n // `getOrInitializeService()` should always return a valid instance since a component is guaranteed. use ! to make typescript happy.\r\n const instance = this.getOrInitializeService({\r\n instanceIdentifier: normalizedIdentifier\r\n });\r\n instanceDeferred.resolve(instance);\r\n }\r\n catch (e) {\r\n // when the instance factory throws an exception, it should not cause\r\n // a fatal error. We just leave the promise unresolved.\r\n }\r\n }\r\n }\r\n clearInstance(identifier = DEFAULT_ENTRY_NAME) {\r\n this.instancesDeferred.delete(identifier);\r\n this.instancesOptions.delete(identifier);\r\n this.instances.delete(identifier);\r\n }\r\n // app.delete() will call this method on every provider to delete the services\r\n // TODO: should we mark the provider as deleted?\r\n async delete() {\r\n const services = Array.from(this.instances.values());\r\n await Promise.all([\r\n ...services\r\n .filter(service => 'INTERNAL' in service) // legacy services\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n .map(service => service.INTERNAL.delete()),\r\n ...services\r\n .filter(service => '_delete' in service) // modularized services\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n .map(service => service._delete())\r\n ]);\r\n }\r\n isComponentSet() {\r\n return this.component != null;\r\n }\r\n isInitialized(identifier = DEFAULT_ENTRY_NAME) {\r\n return this.instances.has(identifier);\r\n }\r\n getOptions(identifier = DEFAULT_ENTRY_NAME) {\r\n return this.instancesOptions.get(identifier) || {};\r\n }\r\n initialize(opts = {}) {\r\n const { options = {} } = opts;\r\n const normalizedIdentifier = this.normalizeInstanceIdentifier(opts.instanceIdentifier);\r\n if (this.isInitialized(normalizedIdentifier)) {\r\n throw Error(`${this.name}(${normalizedIdentifier}) has already been initialized`);\r\n }\r\n if (!this.isComponentSet()) {\r\n throw Error(`Component ${this.name} has not been registered yet`);\r\n }\r\n const instance = this.getOrInitializeService({\r\n instanceIdentifier: normalizedIdentifier,\r\n options\r\n });\r\n // resolve any pending promise waiting for the service instance\r\n for (const [instanceIdentifier, instanceDeferred] of this.instancesDeferred.entries()) {\r\n const normalizedDeferredIdentifier = this.normalizeInstanceIdentifier(instanceIdentifier);\r\n if (normalizedIdentifier === normalizedDeferredIdentifier) {\r\n instanceDeferred.resolve(instance);\r\n }\r\n }\r\n return instance;\r\n }\r\n /**\r\n *\r\n * @param callback - a function that will be invoked after the provider has been initialized by calling provider.initialize().\r\n * The function is invoked SYNCHRONOUSLY, so it should not execute any longrunning tasks in order to not block the program.\r\n *\r\n * @param identifier An optional instance identifier\r\n * @returns a function to unregister the callback\r\n */\r\n onInit(callback, identifier) {\r\n var _a;\r\n const normalizedIdentifier = this.normalizeInstanceIdentifier(identifier);\r\n const existingCallbacks = (_a = this.onInitCallbacks.get(normalizedIdentifier)) !== null && _a !== void 0 ? _a : new Set();\r\n existingCallbacks.add(callback);\r\n this.onInitCallbacks.set(normalizedIdentifier, existingCallbacks);\r\n const existingInstance = this.instances.get(normalizedIdentifier);\r\n if (existingInstance) {\r\n callback(existingInstance, normalizedIdentifier);\r\n }\r\n return () => {\r\n existingCallbacks.delete(callback);\r\n };\r\n }\r\n /**\r\n * Invoke onInit callbacks synchronously\r\n * @param instance the service instance`\r\n */\r\n invokeOnInitCallbacks(instance, identifier) {\r\n const callbacks = this.onInitCallbacks.get(identifier);\r\n if (!callbacks) {\r\n return;\r\n }\r\n for (const callback of callbacks) {\r\n try {\r\n callback(instance, identifier);\r\n }\r\n catch (_a) {\r\n // ignore errors in the onInit callback\r\n }\r\n }\r\n }\r\n getOrInitializeService({ instanceIdentifier, options = {} }) {\r\n let instance = this.instances.get(instanceIdentifier);\r\n if (!instance && this.component) {\r\n instance = this.component.instanceFactory(this.container, {\r\n instanceIdentifier: normalizeIdentifierForFactory(instanceIdentifier),\r\n options\r\n });\r\n this.instances.set(instanceIdentifier, instance);\r\n this.instancesOptions.set(instanceIdentifier, options);\r\n /**\r\n * Invoke onInit listeners.\r\n * Note this.component.onInstanceCreated is different, which is used by the component creator,\r\n * while onInit listeners are registered by consumers of the provider.\r\n */\r\n this.invokeOnInitCallbacks(instance, instanceIdentifier);\r\n /**\r\n * Order is important\r\n * onInstanceCreated() should be called after this.instances.set(instanceIdentifier, instance); which\r\n * makes `isInitialized()` return true.\r\n */\r\n if (this.component.onInstanceCreated) {\r\n try {\r\n this.component.onInstanceCreated(this.container, instanceIdentifier, instance);\r\n }\r\n catch (_a) {\r\n // ignore errors in the onInstanceCreatedCallback\r\n }\r\n }\r\n }\r\n return instance || null;\r\n }\r\n normalizeInstanceIdentifier(identifier = DEFAULT_ENTRY_NAME) {\r\n if (this.component) {\r\n return this.component.multipleInstances ? identifier : DEFAULT_ENTRY_NAME;\r\n }\r\n else {\r\n return identifier; // assume multiple instances are supported before the component is provided.\r\n }\r\n }\r\n shouldAutoInitialize() {\r\n return (!!this.component &&\r\n this.component.instantiationMode !== \"EXPLICIT\" /* InstantiationMode.EXPLICIT */);\r\n }\r\n}\r\n// undefined should be passed to the service factory for the default instance\r\nfunction normalizeIdentifierForFactory(identifier) {\r\n return identifier === DEFAULT_ENTRY_NAME ? undefined : identifier;\r\n}\r\nfunction isComponentEager(component) {\r\n return component.instantiationMode === \"EAGER\" /* InstantiationMode.EAGER */;\r\n}\n\n/**\r\n * @license\r\n * Copyright 2019 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n/**\r\n * ComponentContainer that provides Providers for service name T, e.g. `auth`, `auth-internal`\r\n */\r\nclass ComponentContainer {\r\n constructor(name) {\r\n this.name = name;\r\n this.providers = new Map();\r\n }\r\n /**\r\n *\r\n * @param component Component being added\r\n * @param overwrite When a component with the same name has already been registered,\r\n * if overwrite is true: overwrite the existing component with the new component and create a new\r\n * provider with the new component. It can be useful in tests where you want to use different mocks\r\n * for different tests.\r\n * if overwrite is false: throw an exception\r\n */\r\n addComponent(component) {\r\n const provider = this.getProvider(component.name);\r\n if (provider.isComponentSet()) {\r\n throw new Error(`Component ${component.name} has already been registered with ${this.name}`);\r\n }\r\n provider.setComponent(component);\r\n }\r\n addOrOverwriteComponent(component) {\r\n const provider = this.getProvider(component.name);\r\n if (provider.isComponentSet()) {\r\n // delete the existing provider from the container, so we can register the new component\r\n this.providers.delete(component.name);\r\n }\r\n this.addComponent(component);\r\n }\r\n /**\r\n * getProvider provides a type safe interface where it can only be called with a field name\r\n * present in NameServiceMapping interface.\r\n *\r\n * Firebase SDKs providing services should extend NameServiceMapping interface to register\r\n * themselves.\r\n */\r\n getProvider(name) {\r\n if (this.providers.has(name)) {\r\n return this.providers.get(name);\r\n }\r\n // create a Provider for a service that hasn't registered with Firebase\r\n const provider = new Provider(name, this);\r\n this.providers.set(name, provider);\r\n return provider;\r\n }\r\n getProviders() {\r\n return Array.from(this.providers.values());\r\n }\r\n}\n\nexport { Component, ComponentContainer, Provider };\n//# sourceMappingURL=index.esm2017.js.map\n","/**\r\n * @license\r\n * Copyright 2017 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n/**\r\n * A container for all of the Logger instances\r\n */\r\nconst instances = [];\r\n/**\r\n * The JS SDK supports 5 log levels and also allows a user the ability to\r\n * silence the logs altogether.\r\n *\r\n * The order is a follows:\r\n * DEBUG < VERBOSE < INFO < WARN < ERROR\r\n *\r\n * All of the log types above the current log level will be captured (i.e. if\r\n * you set the log level to `INFO`, errors will still be logged, but `DEBUG` and\r\n * `VERBOSE` logs will not)\r\n */\r\nvar LogLevel;\r\n(function (LogLevel) {\r\n LogLevel[LogLevel[\"DEBUG\"] = 0] = \"DEBUG\";\r\n LogLevel[LogLevel[\"VERBOSE\"] = 1] = \"VERBOSE\";\r\n LogLevel[LogLevel[\"INFO\"] = 2] = \"INFO\";\r\n LogLevel[LogLevel[\"WARN\"] = 3] = \"WARN\";\r\n LogLevel[LogLevel[\"ERROR\"] = 4] = \"ERROR\";\r\n LogLevel[LogLevel[\"SILENT\"] = 5] = \"SILENT\";\r\n})(LogLevel || (LogLevel = {}));\r\nconst levelStringToEnum = {\r\n 'debug': LogLevel.DEBUG,\r\n 'verbose': LogLevel.VERBOSE,\r\n 'info': LogLevel.INFO,\r\n 'warn': LogLevel.WARN,\r\n 'error': LogLevel.ERROR,\r\n 'silent': LogLevel.SILENT\r\n};\r\n/**\r\n * The default log level\r\n */\r\nconst defaultLogLevel = LogLevel.INFO;\r\n/**\r\n * By default, `console.debug` is not displayed in the developer console (in\r\n * chrome). To avoid forcing users to have to opt-in to these logs twice\r\n * (i.e. once for firebase, and once in the console), we are sending `DEBUG`\r\n * logs to the `console.log` function.\r\n */\r\nconst ConsoleMethod = {\r\n [LogLevel.DEBUG]: 'log',\r\n [LogLevel.VERBOSE]: 'log',\r\n [LogLevel.INFO]: 'info',\r\n [LogLevel.WARN]: 'warn',\r\n [LogLevel.ERROR]: 'error'\r\n};\r\n/**\r\n * The default log handler will forward DEBUG, VERBOSE, INFO, WARN, and ERROR\r\n * messages on to their corresponding console counterparts (if the log method\r\n * is supported by the current log level)\r\n */\r\nconst defaultLogHandler = (instance, logType, ...args) => {\r\n if (logType < instance.logLevel) {\r\n return;\r\n }\r\n const now = new Date().toISOString();\r\n const method = ConsoleMethod[logType];\r\n if (method) {\r\n console[method](`[${now}] ${instance.name}:`, ...args);\r\n }\r\n else {\r\n throw new Error(`Attempted to log a message with an invalid logType (value: ${logType})`);\r\n }\r\n};\r\nclass Logger {\r\n /**\r\n * Gives you an instance of a Logger to capture messages according to\r\n * Firebase's logging scheme.\r\n *\r\n * @param name The name that the logs will be associated with\r\n */\r\n constructor(name) {\r\n this.name = name;\r\n /**\r\n * The log level of the given Logger instance.\r\n */\r\n this._logLevel = defaultLogLevel;\r\n /**\r\n * The main (internal) log handler for the Logger instance.\r\n * Can be set to a new function in internal package code but not by user.\r\n */\r\n this._logHandler = defaultLogHandler;\r\n /**\r\n * The optional, additional, user-defined log handler for the Logger instance.\r\n */\r\n this._userLogHandler = null;\r\n /**\r\n * Capture the current instance for later use\r\n */\r\n instances.push(this);\r\n }\r\n get logLevel() {\r\n return this._logLevel;\r\n }\r\n set logLevel(val) {\r\n if (!(val in LogLevel)) {\r\n throw new TypeError(`Invalid value \"${val}\" assigned to \\`logLevel\\``);\r\n }\r\n this._logLevel = val;\r\n }\r\n // Workaround for setter/getter having to be the same type.\r\n setLogLevel(val) {\r\n this._logLevel = typeof val === 'string' ? levelStringToEnum[val] : val;\r\n }\r\n get logHandler() {\r\n return this._logHandler;\r\n }\r\n set logHandler(val) {\r\n if (typeof val !== 'function') {\r\n throw new TypeError('Value assigned to `logHandler` must be a function');\r\n }\r\n this._logHandler = val;\r\n }\r\n get userLogHandler() {\r\n return this._userLogHandler;\r\n }\r\n set userLogHandler(val) {\r\n this._userLogHandler = val;\r\n }\r\n /**\r\n * The functions below are all based on the `console` interface\r\n */\r\n debug(...args) {\r\n this._userLogHandler && this._userLogHandler(this, LogLevel.DEBUG, ...args);\r\n this._logHandler(this, LogLevel.DEBUG, ...args);\r\n }\r\n log(...args) {\r\n this._userLogHandler &&\r\n this._userLogHandler(this, LogLevel.VERBOSE, ...args);\r\n this._logHandler(this, LogLevel.VERBOSE, ...args);\r\n }\r\n info(...args) {\r\n this._userLogHandler && this._userLogHandler(this, LogLevel.INFO, ...args);\r\n this._logHandler(this, LogLevel.INFO, ...args);\r\n }\r\n warn(...args) {\r\n this._userLogHandler && this._userLogHandler(this, LogLevel.WARN, ...args);\r\n this._logHandler(this, LogLevel.WARN, ...args);\r\n }\r\n error(...args) {\r\n this._userLogHandler && this._userLogHandler(this, LogLevel.ERROR, ...args);\r\n this._logHandler(this, LogLevel.ERROR, ...args);\r\n }\r\n}\r\nfunction setLogLevel(level) {\r\n instances.forEach(inst => {\r\n inst.setLogLevel(level);\r\n });\r\n}\r\nfunction setUserLogHandler(logCallback, options) {\r\n for (const instance of instances) {\r\n let customLogLevel = null;\r\n if (options && options.level) {\r\n customLogLevel = levelStringToEnum[options.level];\r\n }\r\n if (logCallback === null) {\r\n instance.userLogHandler = null;\r\n }\r\n else {\r\n instance.userLogHandler = (instance, level, ...args) => {\r\n const message = args\r\n .map(arg => {\r\n if (arg == null) {\r\n return null;\r\n }\r\n else if (typeof arg === 'string') {\r\n return arg;\r\n }\r\n else if (typeof arg === 'number' || typeof arg === 'boolean') {\r\n return arg.toString();\r\n }\r\n else if (arg instanceof Error) {\r\n return arg.message;\r\n }\r\n else {\r\n try {\r\n return JSON.stringify(arg);\r\n }\r\n catch (ignored) {\r\n return null;\r\n }\r\n }\r\n })\r\n .filter(arg => arg)\r\n .join(' ');\r\n if (level >= (customLogLevel !== null && customLogLevel !== void 0 ? customLogLevel : instance.logLevel)) {\r\n logCallback({\r\n level: LogLevel[level].toLowerCase(),\r\n message,\r\n args,\r\n type: instance.name\r\n });\r\n }\r\n };\r\n }\r\n }\r\n}\n\nexport { LogLevel, Logger, setLogLevel, setUserLogHandler };\n//# sourceMappingURL=index.esm2017.js.map\n","const instanceOfAny = (object, constructors) => constructors.some((c) => object instanceof c);\n\nlet idbProxyableTypes;\nlet cursorAdvanceMethods;\n// This is a function to prevent it throwing up in node environments.\nfunction getIdbProxyableTypes() {\n return (idbProxyableTypes ||\n (idbProxyableTypes = [\n IDBDatabase,\n IDBObjectStore,\n IDBIndex,\n IDBCursor,\n IDBTransaction,\n ]));\n}\n// This is a function to prevent it throwing up in node environments.\nfunction getCursorAdvanceMethods() {\n return (cursorAdvanceMethods ||\n (cursorAdvanceMethods = [\n IDBCursor.prototype.advance,\n IDBCursor.prototype.continue,\n IDBCursor.prototype.continuePrimaryKey,\n ]));\n}\nconst cursorRequestMap = new WeakMap();\nconst transactionDoneMap = new WeakMap();\nconst transactionStoreNamesMap = new WeakMap();\nconst transformCache = new WeakMap();\nconst reverseTransformCache = new WeakMap();\nfunction promisifyRequest(request) {\n const promise = new Promise((resolve, reject) => {\n const unlisten = () => {\n request.removeEventListener('success', success);\n request.removeEventListener('error', error);\n };\n const success = () => {\n resolve(wrap(request.result));\n unlisten();\n };\n const error = () => {\n reject(request.error);\n unlisten();\n };\n request.addEventListener('success', success);\n request.addEventListener('error', error);\n });\n promise\n .then((value) => {\n // Since cursoring reuses the IDBRequest (*sigh*), we cache it for later retrieval\n // (see wrapFunction).\n if (value instanceof IDBCursor) {\n cursorRequestMap.set(value, request);\n }\n // Catching to avoid \"Uncaught Promise exceptions\"\n })\n .catch(() => { });\n // This mapping exists in reverseTransformCache but doesn't doesn't exist in transformCache. This\n // is because we create many promises from a single IDBRequest.\n reverseTransformCache.set(promise, request);\n return promise;\n}\nfunction cacheDonePromiseForTransaction(tx) {\n // Early bail if we've already created a done promise for this transaction.\n if (transactionDoneMap.has(tx))\n return;\n const done = new Promise((resolve, reject) => {\n const unlisten = () => {\n tx.removeEventListener('complete', complete);\n tx.removeEventListener('error', error);\n tx.removeEventListener('abort', error);\n };\n const complete = () => {\n resolve();\n unlisten();\n };\n const error = () => {\n reject(tx.error || new DOMException('AbortError', 'AbortError'));\n unlisten();\n };\n tx.addEventListener('complete', complete);\n tx.addEventListener('error', error);\n tx.addEventListener('abort', error);\n });\n // Cache it for later retrieval.\n transactionDoneMap.set(tx, done);\n}\nlet idbProxyTraps = {\n get(target, prop, receiver) {\n if (target instanceof IDBTransaction) {\n // Special handling for transaction.done.\n if (prop === 'done')\n return transactionDoneMap.get(target);\n // Polyfill for objectStoreNames because of Edge.\n if (prop === 'objectStoreNames') {\n return target.objectStoreNames || transactionStoreNamesMap.get(target);\n }\n // Make tx.store return the only store in the transaction, or undefined if there are many.\n if (prop === 'store') {\n return receiver.objectStoreNames[1]\n ? undefined\n : receiver.objectStore(receiver.objectStoreNames[0]);\n }\n }\n // Else transform whatever we get back.\n return wrap(target[prop]);\n },\n set(target, prop, value) {\n target[prop] = value;\n return true;\n },\n has(target, prop) {\n if (target instanceof IDBTransaction &&\n (prop === 'done' || prop === 'store')) {\n return true;\n }\n return prop in target;\n },\n};\nfunction replaceTraps(callback) {\n idbProxyTraps = callback(idbProxyTraps);\n}\nfunction wrapFunction(func) {\n // Due to expected object equality (which is enforced by the caching in `wrap`), we\n // only create one new func per func.\n // Edge doesn't support objectStoreNames (booo), so we polyfill it here.\n if (func === IDBDatabase.prototype.transaction &&\n !('objectStoreNames' in IDBTransaction.prototype)) {\n return function (storeNames, ...args) {\n const tx = func.call(unwrap(this), storeNames, ...args);\n transactionStoreNamesMap.set(tx, storeNames.sort ? storeNames.sort() : [storeNames]);\n return wrap(tx);\n };\n }\n // Cursor methods are special, as the behaviour is a little more different to standard IDB. In\n // IDB, you advance the cursor and wait for a new 'success' on the IDBRequest that gave you the\n // cursor. It's kinda like a promise that can resolve with many values. That doesn't make sense\n // with real promises, so each advance methods returns a new promise for the cursor object, or\n // undefined if the end of the cursor has been reached.\n if (getCursorAdvanceMethods().includes(func)) {\n return function (...args) {\n // Calling the original function with the proxy as 'this' causes ILLEGAL INVOCATION, so we use\n // the original object.\n func.apply(unwrap(this), args);\n return wrap(cursorRequestMap.get(this));\n };\n }\n return function (...args) {\n // Calling the original function with the proxy as 'this' causes ILLEGAL INVOCATION, so we use\n // the original object.\n return wrap(func.apply(unwrap(this), args));\n };\n}\nfunction transformCachableValue(value) {\n if (typeof value === 'function')\n return wrapFunction(value);\n // This doesn't return, it just creates a 'done' promise for the transaction,\n // which is later returned for transaction.done (see idbObjectHandler).\n if (value instanceof IDBTransaction)\n cacheDonePromiseForTransaction(value);\n if (instanceOfAny(value, getIdbProxyableTypes()))\n return new Proxy(value, idbProxyTraps);\n // Return the same value back if we're not going to transform it.\n return value;\n}\nfunction wrap(value) {\n // We sometimes generate multiple promises from a single IDBRequest (eg when cursoring), because\n // IDB is weird and a single IDBRequest can yield many responses, so these can't be cached.\n if (value instanceof IDBRequest)\n return promisifyRequest(value);\n // If we've already transformed this value before, reuse the transformed value.\n // This is faster, but it also provides object equality.\n if (transformCache.has(value))\n return transformCache.get(value);\n const newValue = transformCachableValue(value);\n // Not all types are transformed.\n // These may be primitive types, so they can't be WeakMap keys.\n if (newValue !== value) {\n transformCache.set(value, newValue);\n reverseTransformCache.set(newValue, value);\n }\n return newValue;\n}\nconst unwrap = (value) => reverseTransformCache.get(value);\n\nexport { reverseTransformCache as a, instanceOfAny as i, replaceTraps as r, unwrap as u, wrap as w };\n","import { w as wrap, r as replaceTraps } from './wrap-idb-value.js';\nexport { u as unwrap, w as wrap } from './wrap-idb-value.js';\n\n/**\n * Open a database.\n *\n * @param name Name of the database.\n * @param version Schema version.\n * @param callbacks Additional callbacks.\n */\nfunction openDB(name, version, { blocked, upgrade, blocking, terminated } = {}) {\n const request = indexedDB.open(name, version);\n const openPromise = wrap(request);\n if (upgrade) {\n request.addEventListener('upgradeneeded', (event) => {\n upgrade(wrap(request.result), event.oldVersion, event.newVersion, wrap(request.transaction), event);\n });\n }\n if (blocked) {\n request.addEventListener('blocked', (event) => blocked(\n // Casting due to https://github.com/microsoft/TypeScript-DOM-lib-generator/pull/1405\n event.oldVersion, event.newVersion, event));\n }\n openPromise\n .then((db) => {\n if (terminated)\n db.addEventListener('close', () => terminated());\n if (blocking) {\n db.addEventListener('versionchange', (event) => blocking(event.oldVersion, event.newVersion, event));\n }\n })\n .catch(() => { });\n return openPromise;\n}\n/**\n * Delete a database.\n *\n * @param name Name of the database.\n */\nfunction deleteDB(name, { blocked } = {}) {\n const request = indexedDB.deleteDatabase(name);\n if (blocked) {\n request.addEventListener('blocked', (event) => blocked(\n // Casting due to https://github.com/microsoft/TypeScript-DOM-lib-generator/pull/1405\n event.oldVersion, event));\n }\n return wrap(request).then(() => undefined);\n}\n\nconst readMethods = ['get', 'getKey', 'getAll', 'getAllKeys', 'count'];\nconst writeMethods = ['put', 'add', 'delete', 'clear'];\nconst cachedMethods = new Map();\nfunction getMethod(target, prop) {\n if (!(target instanceof IDBDatabase &&\n !(prop in target) &&\n typeof prop === 'string')) {\n return;\n }\n if (cachedMethods.get(prop))\n return cachedMethods.get(prop);\n const targetFuncName = prop.replace(/FromIndex$/, '');\n const useIndex = prop !== targetFuncName;\n const isWrite = writeMethods.includes(targetFuncName);\n if (\n // Bail if the target doesn't exist on the target. Eg, getAll isn't in Edge.\n !(targetFuncName in (useIndex ? IDBIndex : IDBObjectStore).prototype) ||\n !(isWrite || readMethods.includes(targetFuncName))) {\n return;\n }\n const method = async function (storeName, ...args) {\n // isWrite ? 'readwrite' : undefined gzipps better, but fails in Edge :(\n const tx = this.transaction(storeName, isWrite ? 'readwrite' : 'readonly');\n let target = tx.store;\n if (useIndex)\n target = target.index(args.shift());\n // Must reject if op rejects.\n // If it's a write operation, must reject if tx.done rejects.\n // Must reject with op rejection first.\n // Must resolve with op value.\n // Must handle both promises (no unhandled rejections)\n return (await Promise.all([\n target[targetFuncName](...args),\n isWrite && tx.done,\n ]))[0];\n };\n cachedMethods.set(prop, method);\n return method;\n}\nreplaceTraps((oldTraps) => ({\n ...oldTraps,\n get: (target, prop, receiver) => getMethod(target, prop) || oldTraps.get(target, prop, receiver),\n has: (target, prop) => !!getMethod(target, prop) || oldTraps.has(target, prop),\n}));\n\nexport { deleteDB, openDB };\n","import { Component, ComponentContainer } from '@firebase/component';\nimport { Logger, setUserLogHandler, setLogLevel as setLogLevel$1 } from '@firebase/logger';\nimport { ErrorFactory, getDefaultAppConfig, deepEqual, isBrowser, isWebWorker, FirebaseError, base64urlEncodeWithoutPadding, isIndexedDBAvailable, validateIndexedDBOpenable } from '@firebase/util';\nexport { FirebaseError } from '@firebase/util';\nimport { openDB } from 'idb';\n\n/**\r\n * @license\r\n * Copyright 2019 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\nclass PlatformLoggerServiceImpl {\r\n constructor(container) {\r\n this.container = container;\r\n }\r\n // In initial implementation, this will be called by installations on\r\n // auth token refresh, and installations will send this string.\r\n getPlatformInfoString() {\r\n const providers = this.container.getProviders();\r\n // Loop through providers and get library/version pairs from any that are\r\n // version components.\r\n return providers\r\n .map(provider => {\r\n if (isVersionServiceProvider(provider)) {\r\n const service = provider.getImmediate();\r\n return `${service.library}/${service.version}`;\r\n }\r\n else {\r\n return null;\r\n }\r\n })\r\n .filter(logString => logString)\r\n .join(' ');\r\n }\r\n}\r\n/**\r\n *\r\n * @param provider check if this provider provides a VersionService\r\n *\r\n * NOTE: Using Provider<'app-version'> is a hack to indicate that the provider\r\n * provides VersionService. The provider is not necessarily a 'app-version'\r\n * provider.\r\n */\r\nfunction isVersionServiceProvider(provider) {\r\n const component = provider.getComponent();\r\n return (component === null || component === void 0 ? void 0 : component.type) === \"VERSION\" /* ComponentType.VERSION */;\r\n}\n\nconst name$p = \"@firebase/app\";\nconst version$1 = \"0.10.8\";\n\n/**\r\n * @license\r\n * Copyright 2019 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\nconst logger = new Logger('@firebase/app');\n\nconst name$o = \"@firebase/app-compat\";\n\nconst name$n = \"@firebase/analytics-compat\";\n\nconst name$m = \"@firebase/analytics\";\n\nconst name$l = \"@firebase/app-check-compat\";\n\nconst name$k = \"@firebase/app-check\";\n\nconst name$j = \"@firebase/auth\";\n\nconst name$i = \"@firebase/auth-compat\";\n\nconst name$h = \"@firebase/database\";\n\nconst name$g = \"@firebase/database-compat\";\n\nconst name$f = \"@firebase/functions\";\n\nconst name$e = \"@firebase/functions-compat\";\n\nconst name$d = \"@firebase/installations\";\n\nconst name$c = \"@firebase/installations-compat\";\n\nconst name$b = \"@firebase/messaging\";\n\nconst name$a = \"@firebase/messaging-compat\";\n\nconst name$9 = \"@firebase/performance\";\n\nconst name$8 = \"@firebase/performance-compat\";\n\nconst name$7 = \"@firebase/remote-config\";\n\nconst name$6 = \"@firebase/remote-config-compat\";\n\nconst name$5 = \"@firebase/storage\";\n\nconst name$4 = \"@firebase/storage-compat\";\n\nconst name$3 = \"@firebase/firestore\";\n\nconst name$2 = \"@firebase/vertexai-preview\";\n\nconst name$1 = \"@firebase/firestore-compat\";\n\nconst name = \"firebase\";\nconst version = \"10.12.5\";\n\n/**\r\n * @license\r\n * Copyright 2019 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n/**\r\n * The default app name\r\n *\r\n * @internal\r\n */\r\nconst DEFAULT_ENTRY_NAME = '[DEFAULT]';\r\nconst PLATFORM_LOG_STRING = {\r\n [name$p]: 'fire-core',\r\n [name$o]: 'fire-core-compat',\r\n [name$m]: 'fire-analytics',\r\n [name$n]: 'fire-analytics-compat',\r\n [name$k]: 'fire-app-check',\r\n [name$l]: 'fire-app-check-compat',\r\n [name$j]: 'fire-auth',\r\n [name$i]: 'fire-auth-compat',\r\n [name$h]: 'fire-rtdb',\r\n [name$g]: 'fire-rtdb-compat',\r\n [name$f]: 'fire-fn',\r\n [name$e]: 'fire-fn-compat',\r\n [name$d]: 'fire-iid',\r\n [name$c]: 'fire-iid-compat',\r\n [name$b]: 'fire-fcm',\r\n [name$a]: 'fire-fcm-compat',\r\n [name$9]: 'fire-perf',\r\n [name$8]: 'fire-perf-compat',\r\n [name$7]: 'fire-rc',\r\n [name$6]: 'fire-rc-compat',\r\n [name$5]: 'fire-gcs',\r\n [name$4]: 'fire-gcs-compat',\r\n [name$3]: 'fire-fst',\r\n [name$1]: 'fire-fst-compat',\r\n [name$2]: 'fire-vertex',\r\n 'fire-js': 'fire-js',\r\n [name]: 'fire-js-all'\r\n};\n\n/**\r\n * @license\r\n * Copyright 2019 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n/**\r\n * @internal\r\n */\r\nconst _apps = new Map();\r\n/**\r\n * @internal\r\n */\r\nconst _serverApps = new Map();\r\n/**\r\n * Registered components.\r\n *\r\n * @internal\r\n */\r\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\r\nconst _components = new Map();\r\n/**\r\n * @param component - the component being added to this app's container\r\n *\r\n * @internal\r\n */\r\nfunction _addComponent(app, component) {\r\n try {\r\n app.container.addComponent(component);\r\n }\r\n catch (e) {\r\n logger.debug(`Component ${component.name} failed to register with FirebaseApp ${app.name}`, e);\r\n }\r\n}\r\n/**\r\n *\r\n * @internal\r\n */\r\nfunction _addOrOverwriteComponent(app, component) {\r\n app.container.addOrOverwriteComponent(component);\r\n}\r\n/**\r\n *\r\n * @param component - the component to register\r\n * @returns whether or not the component is registered successfully\r\n *\r\n * @internal\r\n */\r\nfunction _registerComponent(component) {\r\n const componentName = component.name;\r\n if (_components.has(componentName)) {\r\n logger.debug(`There were multiple attempts to register component ${componentName}.`);\r\n return false;\r\n }\r\n _components.set(componentName, component);\r\n // add the component to existing app instances\r\n for (const app of _apps.values()) {\r\n _addComponent(app, component);\r\n }\r\n for (const serverApp of _serverApps.values()) {\r\n _addComponent(serverApp, component);\r\n }\r\n return true;\r\n}\r\n/**\r\n *\r\n * @param app - FirebaseApp instance\r\n * @param name - service name\r\n *\r\n * @returns the provider for the service with the matching name\r\n *\r\n * @internal\r\n */\r\nfunction _getProvider(app, name) {\r\n const heartbeatController = app.container\r\n .getProvider('heartbeat')\r\n .getImmediate({ optional: true });\r\n if (heartbeatController) {\r\n void heartbeatController.triggerHeartbeat();\r\n }\r\n return app.container.getProvider(name);\r\n}\r\n/**\r\n *\r\n * @param app - FirebaseApp instance\r\n * @param name - service name\r\n * @param instanceIdentifier - service instance identifier in case the service supports multiple instances\r\n *\r\n * @internal\r\n */\r\nfunction _removeServiceInstance(app, name, instanceIdentifier = DEFAULT_ENTRY_NAME) {\r\n _getProvider(app, name).clearInstance(instanceIdentifier);\r\n}\r\n/**\r\n *\r\n * @param obj - an object of type FirebaseApp or FirebaseOptions.\r\n *\r\n * @returns true if the provide object is of type FirebaseApp.\r\n *\r\n * @internal\r\n */\r\nfunction _isFirebaseApp(obj) {\r\n return obj.options !== undefined;\r\n}\r\n/**\r\n *\r\n * @param obj - an object of type FirebaseApp.\r\n *\r\n * @returns true if the provided object is of type FirebaseServerAppImpl.\r\n *\r\n * @internal\r\n */\r\nfunction _isFirebaseServerApp(obj) {\r\n return obj.settings !== undefined;\r\n}\r\n/**\r\n * Test only\r\n *\r\n * @internal\r\n */\r\nfunction _clearComponents() {\r\n _components.clear();\r\n}\n\n/**\r\n * @license\r\n * Copyright 2019 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\nconst ERRORS = {\r\n [\"no-app\" /* AppError.NO_APP */]: \"No Firebase App '{$appName}' has been created - \" +\r\n 'call initializeApp() first',\r\n [\"bad-app-name\" /* AppError.BAD_APP_NAME */]: \"Illegal App name: '{$appName}'\",\r\n [\"duplicate-app\" /* AppError.DUPLICATE_APP */]: \"Firebase App named '{$appName}' already exists with different options or config\",\r\n [\"app-deleted\" /* AppError.APP_DELETED */]: \"Firebase App named '{$appName}' already deleted\",\r\n [\"server-app-deleted\" /* AppError.SERVER_APP_DELETED */]: 'Firebase Server App has been deleted',\r\n [\"no-options\" /* AppError.NO_OPTIONS */]: 'Need to provide options, when not being deployed to hosting via source.',\r\n [\"invalid-app-argument\" /* AppError.INVALID_APP_ARGUMENT */]: 'firebase.{$appName}() takes either no argument or a ' +\r\n 'Firebase App instance.',\r\n [\"invalid-log-argument\" /* AppError.INVALID_LOG_ARGUMENT */]: 'First argument to `onLog` must be null or a function.',\r\n [\"idb-open\" /* AppError.IDB_OPEN */]: 'Error thrown when opening IndexedDB. Original error: {$originalErrorMessage}.',\r\n [\"idb-get\" /* AppError.IDB_GET */]: 'Error thrown when reading from IndexedDB. Original error: {$originalErrorMessage}.',\r\n [\"idb-set\" /* AppError.IDB_WRITE */]: 'Error thrown when writing to IndexedDB. Original error: {$originalErrorMessage}.',\r\n [\"idb-delete\" /* AppError.IDB_DELETE */]: 'Error thrown when deleting from IndexedDB. Original error: {$originalErrorMessage}.',\r\n [\"finalization-registry-not-supported\" /* AppError.FINALIZATION_REGISTRY_NOT_SUPPORTED */]: 'FirebaseServerApp deleteOnDeref field defined but the JS runtime does not support FinalizationRegistry.',\r\n [\"invalid-server-app-environment\" /* AppError.INVALID_SERVER_APP_ENVIRONMENT */]: 'FirebaseServerApp is not for use in browser environments.'\r\n};\r\nconst ERROR_FACTORY = new ErrorFactory('app', 'Firebase', ERRORS);\n\n/**\r\n * @license\r\n * Copyright 2019 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\nclass FirebaseAppImpl {\r\n constructor(options, config, container) {\r\n this._isDeleted = false;\r\n this._options = Object.assign({}, options);\r\n this._config = Object.assign({}, config);\r\n this._name = config.name;\r\n this._automaticDataCollectionEnabled =\r\n config.automaticDataCollectionEnabled;\r\n this._container = container;\r\n this.container.addComponent(new Component('app', () => this, \"PUBLIC\" /* ComponentType.PUBLIC */));\r\n }\r\n get automaticDataCollectionEnabled() {\r\n this.checkDestroyed();\r\n return this._automaticDataCollectionEnabled;\r\n }\r\n set automaticDataCollectionEnabled(val) {\r\n this.checkDestroyed();\r\n this._automaticDataCollectionEnabled = val;\r\n }\r\n get name() {\r\n this.checkDestroyed();\r\n return this._name;\r\n }\r\n get options() {\r\n this.checkDestroyed();\r\n return this._options;\r\n }\r\n get config() {\r\n this.checkDestroyed();\r\n return this._config;\r\n }\r\n get container() {\r\n return this._container;\r\n }\r\n get isDeleted() {\r\n return this._isDeleted;\r\n }\r\n set isDeleted(val) {\r\n this._isDeleted = val;\r\n }\r\n /**\r\n * This function will throw an Error if the App has already been deleted -\r\n * use before performing API actions on the App.\r\n */\r\n checkDestroyed() {\r\n if (this.isDeleted) {\r\n throw ERROR_FACTORY.create(\"app-deleted\" /* AppError.APP_DELETED */, { appName: this._name });\r\n }\r\n }\r\n}\n\n/**\r\n * @license\r\n * Copyright 2023 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\nclass FirebaseServerAppImpl extends FirebaseAppImpl {\r\n constructor(options, serverConfig, name, container) {\r\n // Build configuration parameters for the FirebaseAppImpl base class.\r\n const automaticDataCollectionEnabled = serverConfig.automaticDataCollectionEnabled !== undefined\r\n ? serverConfig.automaticDataCollectionEnabled\r\n : false;\r\n // Create the FirebaseAppSettings object for the FirebaseAppImp constructor.\r\n const config = {\r\n name,\r\n automaticDataCollectionEnabled\r\n };\r\n if (options.apiKey !== undefined) {\r\n // Construct the parent FirebaseAppImp object.\r\n super(options, config, container);\r\n }\r\n else {\r\n const appImpl = options;\r\n super(appImpl.options, config, container);\r\n }\r\n // Now construct the data for the FirebaseServerAppImpl.\r\n this._serverConfig = Object.assign({ automaticDataCollectionEnabled }, serverConfig);\r\n this._finalizationRegistry = null;\r\n if (typeof FinalizationRegistry !== 'undefined') {\r\n this._finalizationRegistry = new FinalizationRegistry(() => {\r\n this.automaticCleanup();\r\n });\r\n }\r\n this._refCount = 0;\r\n this.incRefCount(this._serverConfig.releaseOnDeref);\r\n // Do not retain a hard reference to the dref object, otherwise the FinalizationRegistry\r\n // will never trigger.\r\n this._serverConfig.releaseOnDeref = undefined;\r\n serverConfig.releaseOnDeref = undefined;\r\n registerVersion(name$p, version$1, 'serverapp');\r\n }\r\n toJSON() {\r\n return undefined;\r\n }\r\n get refCount() {\r\n return this._refCount;\r\n }\r\n // Increment the reference count of this server app. If an object is provided, register it\r\n // with the finalization registry.\r\n incRefCount(obj) {\r\n if (this.isDeleted) {\r\n return;\r\n }\r\n this._refCount++;\r\n if (obj !== undefined && this._finalizationRegistry !== null) {\r\n this._finalizationRegistry.register(obj, this);\r\n }\r\n }\r\n // Decrement the reference count.\r\n decRefCount() {\r\n if (this.isDeleted) {\r\n return 0;\r\n }\r\n return --this._refCount;\r\n }\r\n // Invoked by the FinalizationRegistry callback to note that this app should go through its\r\n // reference counts and delete itself if no reference count remain. The coordinating logic that\r\n // handles this is in deleteApp(...).\r\n automaticCleanup() {\r\n void deleteApp(this);\r\n }\r\n get settings() {\r\n this.checkDestroyed();\r\n return this._serverConfig;\r\n }\r\n /**\r\n * This function will throw an Error if the App has already been deleted -\r\n * use before performing API actions on the App.\r\n */\r\n checkDestroyed() {\r\n if (this.isDeleted) {\r\n throw ERROR_FACTORY.create(\"server-app-deleted\" /* AppError.SERVER_APP_DELETED */);\r\n }\r\n }\r\n}\n\n/**\r\n * @license\r\n * Copyright 2019 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n/**\r\n * The current SDK version.\r\n *\r\n * @public\r\n */\r\nconst SDK_VERSION = version;\r\nfunction initializeApp(_options, rawConfig = {}) {\r\n let options = _options;\r\n if (typeof rawConfig !== 'object') {\r\n const name = rawConfig;\r\n rawConfig = { name };\r\n }\r\n const config = Object.assign({ name: DEFAULT_ENTRY_NAME, automaticDataCollectionEnabled: false }, rawConfig);\r\n const name = config.name;\r\n if (typeof name !== 'string' || !name) {\r\n throw ERROR_FACTORY.create(\"bad-app-name\" /* AppError.BAD_APP_NAME */, {\r\n appName: String(name)\r\n });\r\n }\r\n options || (options = getDefaultAppConfig());\r\n if (!options) {\r\n throw ERROR_FACTORY.create(\"no-options\" /* AppError.NO_OPTIONS */);\r\n }\r\n const existingApp = _apps.get(name);\r\n if (existingApp) {\r\n // return the existing app if options and config deep equal the ones in the existing app.\r\n if (deepEqual(options, existingApp.options) &&\r\n deepEqual(config, existingApp.config)) {\r\n return existingApp;\r\n }\r\n else {\r\n throw ERROR_FACTORY.create(\"duplicate-app\" /* AppError.DUPLICATE_APP */, { appName: name });\r\n }\r\n }\r\n const container = new ComponentContainer(name);\r\n for (const component of _components.values()) {\r\n container.addComponent(component);\r\n }\r\n const newApp = new FirebaseAppImpl(options, config, container);\r\n _apps.set(name, newApp);\r\n return newApp;\r\n}\r\nfunction initializeServerApp(_options, _serverAppConfig) {\r\n if (isBrowser() && !isWebWorker()) {\r\n // FirebaseServerApp isn't designed to be run in browsers.\r\n throw ERROR_FACTORY.create(\"invalid-server-app-environment\" /* AppError.INVALID_SERVER_APP_ENVIRONMENT */);\r\n }\r\n if (_serverAppConfig.automaticDataCollectionEnabled === undefined) {\r\n _serverAppConfig.automaticDataCollectionEnabled = false;\r\n }\r\n let appOptions;\r\n if (_isFirebaseApp(_options)) {\r\n appOptions = _options.options;\r\n }\r\n else {\r\n appOptions = _options;\r\n }\r\n // Build an app name based on a hash of the configuration options.\r\n const nameObj = Object.assign(Object.assign({}, _serverAppConfig), appOptions);\r\n // However, Do not mangle the name based on releaseOnDeref, since it will vary between the\r\n // construction of FirebaseServerApp instances. For example, if the object is the request headers.\r\n if (nameObj.releaseOnDeref !== undefined) {\r\n delete nameObj.releaseOnDeref;\r\n }\r\n const hashCode = (s) => {\r\n return [...s].reduce((hash, c) => (Math.imul(31, hash) + c.charCodeAt(0)) | 0, 0);\r\n };\r\n if (_serverAppConfig.releaseOnDeref !== undefined) {\r\n if (typeof FinalizationRegistry === 'undefined') {\r\n throw ERROR_FACTORY.create(\"finalization-registry-not-supported\" /* AppError.FINALIZATION_REGISTRY_NOT_SUPPORTED */, {});\r\n }\r\n }\r\n const nameString = '' + hashCode(JSON.stringify(nameObj));\r\n const existingApp = _serverApps.get(nameString);\r\n if (existingApp) {\r\n existingApp.incRefCount(_serverAppConfig.releaseOnDeref);\r\n return existingApp;\r\n }\r\n const container = new ComponentContainer(nameString);\r\n for (const component of _components.values()) {\r\n container.addComponent(component);\r\n }\r\n const newApp = new FirebaseServerAppImpl(appOptions, _serverAppConfig, nameString, container);\r\n _serverApps.set(nameString, newApp);\r\n return newApp;\r\n}\r\n/**\r\n * Retrieves a {@link @firebase/app#FirebaseApp} instance.\r\n *\r\n * When called with no arguments, the default app is returned. When an app name\r\n * is provided, the app corresponding to that name is returned.\r\n *\r\n * An exception is thrown if the app being retrieved has not yet been\r\n * initialized.\r\n *\r\n * @example\r\n * ```javascript\r\n * // Return the default app\r\n * const app = getApp();\r\n * ```\r\n *\r\n * @example\r\n * ```javascript\r\n * // Return a named app\r\n * const otherApp = getApp(\"otherApp\");\r\n * ```\r\n *\r\n * @param name - Optional name of the app to return. If no name is\r\n * provided, the default is `\"[DEFAULT]\"`.\r\n *\r\n * @returns The app corresponding to the provided app name.\r\n * If no app name is provided, the default app is returned.\r\n *\r\n * @public\r\n */\r\nfunction getApp(name = DEFAULT_ENTRY_NAME) {\r\n const app = _apps.get(name);\r\n if (!app && name === DEFAULT_ENTRY_NAME && getDefaultAppConfig()) {\r\n return initializeApp();\r\n }\r\n if (!app) {\r\n throw ERROR_FACTORY.create(\"no-app\" /* AppError.NO_APP */, { appName: name });\r\n }\r\n return app;\r\n}\r\n/**\r\n * A (read-only) array of all initialized apps.\r\n * @public\r\n */\r\nfunction getApps() {\r\n return Array.from(_apps.values());\r\n}\r\n/**\r\n * Renders this app unusable and frees the resources of all associated\r\n * services.\r\n *\r\n * @example\r\n * ```javascript\r\n * deleteApp(app)\r\n * .then(function() {\r\n * console.log(\"App deleted successfully\");\r\n * })\r\n * .catch(function(error) {\r\n * console.log(\"Error deleting app:\", error);\r\n * });\r\n * ```\r\n *\r\n * @public\r\n */\r\nasync function deleteApp(app) {\r\n let cleanupProviders = false;\r\n const name = app.name;\r\n if (_apps.has(name)) {\r\n cleanupProviders = true;\r\n _apps.delete(name);\r\n }\r\n else if (_serverApps.has(name)) {\r\n const firebaseServerApp = app;\r\n if (firebaseServerApp.decRefCount() <= 0) {\r\n _serverApps.delete(name);\r\n cleanupProviders = true;\r\n }\r\n }\r\n if (cleanupProviders) {\r\n await Promise.all(app.container\r\n .getProviders()\r\n .map(provider => provider.delete()));\r\n app.isDeleted = true;\r\n }\r\n}\r\n/**\r\n * Registers a library's name and version for platform logging purposes.\r\n * @param library - Name of 1p or 3p library (e.g. firestore, angularfire)\r\n * @param version - Current version of that library.\r\n * @param variant - Bundle variant, e.g., node, rn, etc.\r\n *\r\n * @public\r\n */\r\nfunction registerVersion(libraryKeyOrName, version, variant) {\r\n var _a;\r\n // TODO: We can use this check to whitelist strings when/if we set up\r\n // a good whitelist system.\r\n let library = (_a = PLATFORM_LOG_STRING[libraryKeyOrName]) !== null && _a !== void 0 ? _a : libraryKeyOrName;\r\n if (variant) {\r\n library += `-${variant}`;\r\n }\r\n const libraryMismatch = library.match(/\\s|\\//);\r\n const versionMismatch = version.match(/\\s|\\//);\r\n if (libraryMismatch || versionMismatch) {\r\n const warning = [\r\n `Unable to register library \"${library}\" with version \"${version}\":`\r\n ];\r\n if (libraryMismatch) {\r\n warning.push(`library name \"${library}\" contains illegal characters (whitespace or \"/\")`);\r\n }\r\n if (libraryMismatch && versionMismatch) {\r\n warning.push('and');\r\n }\r\n if (versionMismatch) {\r\n warning.push(`version name \"${version}\" contains illegal characters (whitespace or \"/\")`);\r\n }\r\n logger.warn(warning.join(' '));\r\n return;\r\n }\r\n _registerComponent(new Component(`${library}-version`, () => ({ library, version }), \"VERSION\" /* ComponentType.VERSION */));\r\n}\r\n/**\r\n * Sets log handler for all Firebase SDKs.\r\n * @param logCallback - An optional custom log handler that executes user code whenever\r\n * the Firebase SDK makes a logging call.\r\n *\r\n * @public\r\n */\r\nfunction onLog(logCallback, options) {\r\n if (logCallback !== null && typeof logCallback !== 'function') {\r\n throw ERROR_FACTORY.create(\"invalid-log-argument\" /* AppError.INVALID_LOG_ARGUMENT */);\r\n }\r\n setUserLogHandler(logCallback, options);\r\n}\r\n/**\r\n * Sets log level for all Firebase SDKs.\r\n *\r\n * All of the log types above the current log level are captured (i.e. if\r\n * you set the log level to `info`, errors are logged, but `debug` and\r\n * `verbose` logs are not).\r\n *\r\n * @public\r\n */\r\nfunction setLogLevel(logLevel) {\r\n setLogLevel$1(logLevel);\r\n}\n\n/**\r\n * @license\r\n * Copyright 2021 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\nconst DB_NAME = 'firebase-heartbeat-database';\r\nconst DB_VERSION = 1;\r\nconst STORE_NAME = 'firebase-heartbeat-store';\r\nlet dbPromise = null;\r\nfunction getDbPromise() {\r\n if (!dbPromise) {\r\n dbPromise = openDB(DB_NAME, DB_VERSION, {\r\n upgrade: (db, oldVersion) => {\r\n // We don't use 'break' in this switch statement, the fall-through\r\n // behavior is what we want, because if there are multiple versions between\r\n // the old version and the current version, we want ALL the migrations\r\n // that correspond to those versions to run, not only the last one.\r\n // eslint-disable-next-line default-case\r\n switch (oldVersion) {\r\n case 0:\r\n try {\r\n db.createObjectStore(STORE_NAME);\r\n }\r\n catch (e) {\r\n // Safari/iOS browsers throw occasional exceptions on\r\n // db.createObjectStore() that may be a bug. Avoid blocking\r\n // the rest of the app functionality.\r\n console.warn(e);\r\n }\r\n }\r\n }\r\n }).catch(e => {\r\n throw ERROR_FACTORY.create(\"idb-open\" /* AppError.IDB_OPEN */, {\r\n originalErrorMessage: e.message\r\n });\r\n });\r\n }\r\n return dbPromise;\r\n}\r\nasync function readHeartbeatsFromIndexedDB(app) {\r\n try {\r\n const db = await getDbPromise();\r\n const tx = db.transaction(STORE_NAME);\r\n const result = await tx.objectStore(STORE_NAME).get(computeKey(app));\r\n // We already have the value but tx.done can throw,\r\n // so we need to await it here to catch errors\r\n await tx.done;\r\n return result;\r\n }\r\n catch (e) {\r\n if (e instanceof FirebaseError) {\r\n logger.warn(e.message);\r\n }\r\n else {\r\n const idbGetError = ERROR_FACTORY.create(\"idb-get\" /* AppError.IDB_GET */, {\r\n originalErrorMessage: e === null || e === void 0 ? void 0 : e.message\r\n });\r\n logger.warn(idbGetError.message);\r\n }\r\n }\r\n}\r\nasync function writeHeartbeatsToIndexedDB(app, heartbeatObject) {\r\n try {\r\n const db = await getDbPromise();\r\n const tx = db.transaction(STORE_NAME, 'readwrite');\r\n const objectStore = tx.objectStore(STORE_NAME);\r\n await objectStore.put(heartbeatObject, computeKey(app));\r\n await tx.done;\r\n }\r\n catch (e) {\r\n if (e instanceof FirebaseError) {\r\n logger.warn(e.message);\r\n }\r\n else {\r\n const idbGetError = ERROR_FACTORY.create(\"idb-set\" /* AppError.IDB_WRITE */, {\r\n originalErrorMessage: e === null || e === void 0 ? void 0 : e.message\r\n });\r\n logger.warn(idbGetError.message);\r\n }\r\n }\r\n}\r\nfunction computeKey(app) {\r\n return `${app.name}!${app.options.appId}`;\r\n}\n\n/**\r\n * @license\r\n * Copyright 2021 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\nconst MAX_HEADER_BYTES = 1024;\r\n// 30 days\r\nconst STORED_HEARTBEAT_RETENTION_MAX_MILLIS = 30 * 24 * 60 * 60 * 1000;\r\nclass HeartbeatServiceImpl {\r\n constructor(container) {\r\n this.container = container;\r\n /**\r\n * In-memory cache for heartbeats, used by getHeartbeatsHeader() to generate\r\n * the header string.\r\n * Stores one record per date. This will be consolidated into the standard\r\n * format of one record per user agent string before being sent as a header.\r\n * Populated from indexedDB when the controller is instantiated and should\r\n * be kept in sync with indexedDB.\r\n * Leave public for easier testing.\r\n */\r\n this._heartbeatsCache = null;\r\n const app = this.container.getProvider('app').getImmediate();\r\n this._storage = new HeartbeatStorageImpl(app);\r\n this._heartbeatsCachePromise = this._storage.read().then(result => {\r\n this._heartbeatsCache = result;\r\n return result;\r\n });\r\n }\r\n /**\r\n * Called to report a heartbeat. The function will generate\r\n * a HeartbeatsByUserAgent object, update heartbeatsCache, and persist it\r\n * to IndexedDB.\r\n * Note that we only store one heartbeat per day. So if a heartbeat for today is\r\n * already logged, subsequent calls to this function in the same day will be ignored.\r\n */\r\n async triggerHeartbeat() {\r\n var _a, _b;\r\n const platformLogger = this.container\r\n .getProvider('platform-logger')\r\n .getImmediate();\r\n // This is the \"Firebase user agent\" string from the platform logger\r\n // service, not the browser user agent.\r\n const agent = platformLogger.getPlatformInfoString();\r\n const date = getUTCDateString();\r\n if (((_a = this._heartbeatsCache) === null || _a === void 0 ? void 0 : _a.heartbeats) == null) {\r\n this._heartbeatsCache = await this._heartbeatsCachePromise;\r\n // If we failed to construct a heartbeats cache, then return immediately.\r\n if (((_b = this._heartbeatsCache) === null || _b === void 0 ? void 0 : _b.heartbeats) == null) {\r\n return;\r\n }\r\n }\r\n // Do not store a heartbeat if one is already stored for this day\r\n // or if a header has already been sent today.\r\n if (this._heartbeatsCache.lastSentHeartbeatDate === date ||\r\n this._heartbeatsCache.heartbeats.some(singleDateHeartbeat => singleDateHeartbeat.date === date)) {\r\n return;\r\n }\r\n else {\r\n // There is no entry for this date. Create one.\r\n this._heartbeatsCache.heartbeats.push({ date, agent });\r\n }\r\n // Remove entries older than 30 days.\r\n this._heartbeatsCache.heartbeats = this._heartbeatsCache.heartbeats.filter(singleDateHeartbeat => {\r\n const hbTimestamp = new Date(singleDateHeartbeat.date).valueOf();\r\n const now = Date.now();\r\n return now - hbTimestamp <= STORED_HEARTBEAT_RETENTION_MAX_MILLIS;\r\n });\r\n return this._storage.overwrite(this._heartbeatsCache);\r\n }\r\n /**\r\n * Returns a base64 encoded string which can be attached to the heartbeat-specific header directly.\r\n * It also clears all heartbeats from memory as well as in IndexedDB.\r\n *\r\n * NOTE: Consuming product SDKs should not send the header if this method\r\n * returns an empty string.\r\n */\r\n async getHeartbeatsHeader() {\r\n var _a;\r\n if (this._heartbeatsCache === null) {\r\n await this._heartbeatsCachePromise;\r\n }\r\n // If it's still null or the array is empty, there is no data to send.\r\n if (((_a = this._heartbeatsCache) === null || _a === void 0 ? void 0 : _a.heartbeats) == null ||\r\n this._heartbeatsCache.heartbeats.length === 0) {\r\n return '';\r\n }\r\n const date = getUTCDateString();\r\n // Extract as many heartbeats from the cache as will fit under the size limit.\r\n const { heartbeatsToSend, unsentEntries } = extractHeartbeatsForHeader(this._heartbeatsCache.heartbeats);\r\n const headerString = base64urlEncodeWithoutPadding(JSON.stringify({ version: 2, heartbeats: heartbeatsToSend }));\r\n // Store last sent date to prevent another being logged/sent for the same day.\r\n this._heartbeatsCache.lastSentHeartbeatDate = date;\r\n if (unsentEntries.length > 0) {\r\n // Store any unsent entries if they exist.\r\n this._heartbeatsCache.heartbeats = unsentEntries;\r\n // This seems more likely than emptying the array (below) to lead to some odd state\r\n // since the cache isn't empty and this will be called again on the next request,\r\n // and is probably safest if we await it.\r\n await this._storage.overwrite(this._heartbeatsCache);\r\n }\r\n else {\r\n this._heartbeatsCache.heartbeats = [];\r\n // Do not wait for this, to reduce latency.\r\n void this._storage.overwrite(this._heartbeatsCache);\r\n }\r\n return headerString;\r\n }\r\n}\r\nfunction getUTCDateString() {\r\n const today = new Date();\r\n // Returns date format 'YYYY-MM-DD'\r\n return today.toISOString().substring(0, 10);\r\n}\r\nfunction extractHeartbeatsForHeader(heartbeatsCache, maxSize = MAX_HEADER_BYTES) {\r\n // Heartbeats grouped by user agent in the standard format to be sent in\r\n // the header.\r\n const heartbeatsToSend = [];\r\n // Single date format heartbeats that are not sent.\r\n let unsentEntries = heartbeatsCache.slice();\r\n for (const singleDateHeartbeat of heartbeatsCache) {\r\n // Look for an existing entry with the same user agent.\r\n const heartbeatEntry = heartbeatsToSend.find(hb => hb.agent === singleDateHeartbeat.agent);\r\n if (!heartbeatEntry) {\r\n // If no entry for this user agent exists, create one.\r\n heartbeatsToSend.push({\r\n agent: singleDateHeartbeat.agent,\r\n dates: [singleDateHeartbeat.date]\r\n });\r\n if (countBytes(heartbeatsToSend) > maxSize) {\r\n // If the header would exceed max size, remove the added heartbeat\r\n // entry and stop adding to the header.\r\n heartbeatsToSend.pop();\r\n break;\r\n }\r\n }\r\n else {\r\n heartbeatEntry.dates.push(singleDateHeartbeat.date);\r\n // If the header would exceed max size, remove the added date\r\n // and stop adding to the header.\r\n if (countBytes(heartbeatsToSend) > maxSize) {\r\n heartbeatEntry.dates.pop();\r\n break;\r\n }\r\n }\r\n // Pop unsent entry from queue. (Skipped if adding the entry exceeded\r\n // quota and the loop breaks early.)\r\n unsentEntries = unsentEntries.slice(1);\r\n }\r\n return {\r\n heartbeatsToSend,\r\n unsentEntries\r\n };\r\n}\r\nclass HeartbeatStorageImpl {\r\n constructor(app) {\r\n this.app = app;\r\n this._canUseIndexedDBPromise = this.runIndexedDBEnvironmentCheck();\r\n }\r\n async runIndexedDBEnvironmentCheck() {\r\n if (!isIndexedDBAvailable()) {\r\n return false;\r\n }\r\n else {\r\n return validateIndexedDBOpenable()\r\n .then(() => true)\r\n .catch(() => false);\r\n }\r\n }\r\n /**\r\n * Read all heartbeats.\r\n */\r\n async read() {\r\n const canUseIndexedDB = await this._canUseIndexedDBPromise;\r\n if (!canUseIndexedDB) {\r\n return { heartbeats: [] };\r\n }\r\n else {\r\n const idbHeartbeatObject = await readHeartbeatsFromIndexedDB(this.app);\r\n if (idbHeartbeatObject === null || idbHeartbeatObject === void 0 ? void 0 : idbHeartbeatObject.heartbeats) {\r\n return idbHeartbeatObject;\r\n }\r\n else {\r\n return { heartbeats: [] };\r\n }\r\n }\r\n }\r\n // overwrite the storage with the provided heartbeats\r\n async overwrite(heartbeatsObject) {\r\n var _a;\r\n const canUseIndexedDB = await this._canUseIndexedDBPromise;\r\n if (!canUseIndexedDB) {\r\n return;\r\n }\r\n else {\r\n const existingHeartbeatsObject = await this.read();\r\n return writeHeartbeatsToIndexedDB(this.app, {\r\n lastSentHeartbeatDate: (_a = heartbeatsObject.lastSentHeartbeatDate) !== null && _a !== void 0 ? _a : existingHeartbeatsObject.lastSentHeartbeatDate,\r\n heartbeats: heartbeatsObject.heartbeats\r\n });\r\n }\r\n }\r\n // add heartbeats\r\n async add(heartbeatsObject) {\r\n var _a;\r\n const canUseIndexedDB = await this._canUseIndexedDBPromise;\r\n if (!canUseIndexedDB) {\r\n return;\r\n }\r\n else {\r\n const existingHeartbeatsObject = await this.read();\r\n return writeHeartbeatsToIndexedDB(this.app, {\r\n lastSentHeartbeatDate: (_a = heartbeatsObject.lastSentHeartbeatDate) !== null && _a !== void 0 ? _a : existingHeartbeatsObject.lastSentHeartbeatDate,\r\n heartbeats: [\r\n ...existingHeartbeatsObject.heartbeats,\r\n ...heartbeatsObject.heartbeats\r\n ]\r\n });\r\n }\r\n }\r\n}\r\n/**\r\n * Calculate bytes of a HeartbeatsByUserAgent array after being wrapped\r\n * in a platform logging header JSON object, stringified, and converted\r\n * to base 64.\r\n */\r\nfunction countBytes(heartbeatsCache) {\r\n // base64 has a restricted set of characters, all of which should be 1 byte.\r\n return base64urlEncodeWithoutPadding(\r\n // heartbeatsCache wrapper properties\r\n JSON.stringify({ version: 2, heartbeats: heartbeatsCache })).length;\r\n}\n\n/**\r\n * @license\r\n * Copyright 2019 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\nfunction registerCoreComponents(variant) {\r\n _registerComponent(new Component('platform-logger', container => new PlatformLoggerServiceImpl(container), \"PRIVATE\" /* ComponentType.PRIVATE */));\r\n _registerComponent(new Component('heartbeat', container => new HeartbeatServiceImpl(container), \"PRIVATE\" /* ComponentType.PRIVATE */));\r\n // Register `app` package.\r\n registerVersion(name$p, version$1, variant);\r\n // BUILD_TARGET will be replaced by values like esm5, esm2017, cjs5, etc during the compilation\r\n registerVersion(name$p, version$1, 'esm2017');\r\n // Register platform SDK identifier (no version).\r\n registerVersion('fire-js', '');\r\n}\n\n/**\r\n * Firebase App\r\n *\r\n * @remarks This package coordinates the communication between the different Firebase components\r\n * @packageDocumentation\r\n */\r\nregisterCoreComponents('');\n\nexport { SDK_VERSION, DEFAULT_ENTRY_NAME as _DEFAULT_ENTRY_NAME, _addComponent, _addOrOverwriteComponent, _apps, _clearComponents, _components, _getProvider, _isFirebaseApp, _isFirebaseServerApp, _registerComponent, _removeServiceInstance, _serverApps, deleteApp, getApp, getApps, initializeApp, initializeServerApp, onLog, registerVersion, setLogLevel };\n//# sourceMappingURL=index.esm2017.js.map\n","import { registerVersion } from '@firebase/app';\nexport * from '@firebase/app';\n\nvar name = \"firebase\";\nvar version = \"10.12.4\";\n\n/**\r\n * @license\r\n * Copyright 2020 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\nregisterVersion(name, version, 'app');\n//# sourceMappingURL=index.esm.js.map\n"],"names":["stringToByteArray$1","str","out","p","i","c","byteArrayToString","bytes","pos","c1","c2","c3","c4","u","base64","input","webSafe","byteToCharMap","output","byte1","haveByte2","byte2","haveByte3","byte3","outByte1","outByte2","outByte3","outByte4","charToByteMap","byte4","DecodeBase64StringError","base64Encode","utf8Bytes","base64urlEncodeWithoutPadding","base64Decode","getGlobal","getDefaultsFromGlobal","getDefaultsFromEnvVariable","define_process_env_default","defaultsJsonString","getDefaultsFromCookie","match","decoded","getDefaults","e","getDefaultAppConfig","_a","Deferred","resolve","reject","callback","error","value","isIndexedDBAvailable","validateIndexedDBOpenable","preExist","DB_CHECK_NAME","request","ERROR_NAME","FirebaseError","code","message","customData","ErrorFactory","service","serviceName","errors","data","fullCode","template","replaceTemplate","fullMessage","PATTERN","_","key","deepEqual","a","b","aKeys","bKeys","k","aProp","bProp","isObject","thing","Component","name","instanceFactory","type","mode","multipleInstances","props","DEFAULT_ENTRY_NAME","Provider","container","identifier","normalizedIdentifier","deferred","instance","options","optional","component","isComponentEager","instanceIdentifier","instanceDeferred","services","opts","normalizedDeferredIdentifier","existingCallbacks","existingInstance","callbacks","normalizeIdentifierForFactory","ComponentContainer","provider","LogLevel","levelStringToEnum","defaultLogLevel","ConsoleMethod","defaultLogHandler","logType","args","now","method","Logger","val","instanceOfAny","object","constructors","idbProxyableTypes","cursorAdvanceMethods","getIdbProxyableTypes","getCursorAdvanceMethods","cursorRequestMap","transactionDoneMap","transactionStoreNamesMap","transformCache","reverseTransformCache","promisifyRequest","promise","unlisten","success","wrap","cacheDonePromiseForTransaction","tx","done","complete","idbProxyTraps","target","prop","receiver","replaceTraps","wrapFunction","func","storeNames","unwrap","transformCachableValue","newValue","openDB","version","blocked","upgrade","blocking","terminated","openPromise","event","db","readMethods","writeMethods","cachedMethods","getMethod","targetFuncName","useIndex","isWrite","storeName","oldTraps","PlatformLoggerServiceImpl","isVersionServiceProvider","logString","name$p","version$1","logger","name$o","name$n","name$m","name$l","name$k","name$j","name$i","name$h","name$g","name$f","name$e","name$d","name$c","name$b","name$a","name$9","name$8","name$7","name$6","name$5","name$4","name$3","name$2","name$1","PLATFORM_LOG_STRING","_apps","_serverApps","_components","_addComponent","app","_registerComponent","componentName","serverApp","ERRORS","ERROR_FACTORY","FirebaseAppImpl","config","initializeApp","_options","rawConfig","existingApp","newApp","registerVersion","libraryKeyOrName","variant","library","libraryMismatch","versionMismatch","warning","DB_NAME","DB_VERSION","STORE_NAME","dbPromise","getDbPromise","oldVersion","readHeartbeatsFromIndexedDB","result","computeKey","idbGetError","writeHeartbeatsToIndexedDB","heartbeatObject","MAX_HEADER_BYTES","STORED_HEARTBEAT_RETENTION_MAX_MILLIS","HeartbeatServiceImpl","HeartbeatStorageImpl","_b","agent","date","getUTCDateString","singleDateHeartbeat","hbTimestamp","heartbeatsToSend","unsentEntries","extractHeartbeatsForHeader","headerString","heartbeatsCache","maxSize","heartbeatEntry","hb","countBytes","idbHeartbeatObject","heartbeatsObject","existingHeartbeatsObject","registerCoreComponents"],"mappings":"SAoEA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAgBA,MAAMA,EAAsB,SAAUC,EAAK,CAEvC,MAAMC,EAAM,CAAA,EACZ,IAAIC,EAAI,EACR,QAASC,EAAI,EAAGA,EAAIH,EAAI,OAAQG,IAAK,CAC7B,IAAAC,EAAIJ,EAAI,WAAWG,CAAC,EACpBC,EAAI,IACJH,EAAIC,GAAG,EAAIE,EAENA,EAAI,MACLH,EAAAC,GAAG,EAAKE,GAAK,EAAK,IAClBH,EAAAC,GAAG,EAAKE,EAAI,GAAM,MAEhBA,EAAI,SAAY,OACtBD,EAAI,EAAIH,EAAI,SACXA,EAAI,WAAWG,EAAI,CAAC,EAAI,SAAY,OAEjCC,EAAA,QAAYA,EAAI,OAAW,KAAOJ,EAAI,WAAW,EAAEG,CAAC,EAAI,MACxDF,EAAAC,GAAG,EAAKE,GAAK,GAAM,IACvBH,EAAIC,GAAG,EAAME,GAAK,GAAM,GAAM,IAC9BH,EAAIC,GAAG,EAAME,GAAK,EAAK,GAAM,IACzBH,EAAAC,GAAG,EAAKE,EAAI,GAAM,MAGlBH,EAAAC,GAAG,EAAKE,GAAK,GAAM,IACvBH,EAAIC,GAAG,EAAME,GAAK,EAAK,GAAM,IACzBH,EAAAC,GAAG,EAAKE,EAAI,GAAM,IAE9B,CACO,OAAAH,CACX,EAOMI,GAAoB,SAAUC,EAAO,CAEvC,MAAML,EAAM,CAAA,EACR,IAAAM,EAAM,EAAGH,EAAI,EACV,KAAAG,EAAMD,EAAM,QAAQ,CACjB,MAAAE,EAAKF,EAAMC,GAAK,EACtB,GAAIC,EAAK,IACLP,EAAIG,GAAG,EAAI,OAAO,aAAaI,CAAE,UAE5BA,EAAK,KAAOA,EAAK,IAAK,CACrB,MAAAC,EAAKH,EAAMC,GAAK,EAClBN,EAAAG,GAAG,EAAI,OAAO,cAAeI,EAAK,KAAO,EAAMC,EAAK,EAAG,CAEtD,SAAAD,EAAK,KAAOA,EAAK,IAAK,CAErB,MAAAC,EAAKH,EAAMC,GAAK,EAChBG,EAAKJ,EAAMC,GAAK,EAChBI,EAAKL,EAAMC,GAAK,EAChBK,IAAOJ,EAAK,IAAM,IAAQC,EAAK,KAAO,IAAQC,EAAK,KAAO,EAAMC,EAAK,IACvE,MACJV,EAAIG,GAAG,EAAI,OAAO,aAAa,OAAUQ,GAAK,GAAG,EACjDX,EAAIG,GAAG,EAAI,OAAO,aAAa,OAAUQ,EAAI,KAAK,CAAA,KAEjD,CACK,MAAAH,EAAKH,EAAMC,GAAK,EAChBG,EAAKJ,EAAMC,GAAK,EAClBN,EAAAG,GAAG,EAAI,OAAO,cAAeI,EAAK,KAAO,IAAQC,EAAK,KAAO,EAAMC,EAAK,EAAG,CACnF,CACJ,CACO,OAAAT,EAAI,KAAK,EAAE,CACtB,EAIMY,EAAS,CAIX,eAAgB,KAIhB,eAAgB,KAKhB,sBAAuB,KAKvB,sBAAuB,KAKvB,kBAAmB,iEAInB,IAAI,cAAe,CACf,OAAO,KAAK,kBAAoB,KACpC,EAIA,IAAI,sBAAuB,CACvB,OAAO,KAAK,kBAAoB,KACpC,EAQA,mBAAoB,OAAO,MAAS,WAUpC,gBAAgBC,EAAOC,EAAS,CAC5B,GAAI,CAAC,MAAM,QAAQD,CAAK,EACpB,MAAM,MAAM,+CAA+C,EAE/D,KAAK,MAAM,EACX,MAAME,EAAgBD,EAChB,KAAK,sBACL,KAAK,eACLE,EAAS,CAAA,EACf,QAASd,EAAI,EAAGA,EAAIW,EAAM,OAAQX,GAAK,EAAG,CAChC,MAAAe,EAAQJ,EAAMX,CAAC,EACfgB,EAAYhB,EAAI,EAAIW,EAAM,OAC1BM,EAAQD,EAAYL,EAAMX,EAAI,CAAC,EAAI,EACnCkB,EAAYlB,EAAI,EAAIW,EAAM,OAC1BQ,EAAQD,EAAYP,EAAMX,EAAI,CAAC,EAAI,EACnCoB,EAAWL,GAAS,EACpBM,GAAaN,EAAQ,IAAS,EAAME,GAAS,EACnD,IAAIK,GAAaL,EAAQ,KAAS,EAAME,GAAS,EAC7CI,EAAWJ,EAAQ,GAClBD,IACUK,EAAA,GACNP,IACUM,EAAA,KAGnBR,EAAO,KAAKD,EAAcO,CAAQ,EAAGP,EAAcQ,CAAQ,EAAGR,EAAcS,CAAQ,EAAGT,EAAcU,CAAQ,CAAC,CAClH,CACO,OAAAT,EAAO,KAAK,EAAE,CACzB,EASA,aAAaH,EAAOC,EAAS,CAGrB,OAAA,KAAK,oBAAsB,CAACA,EACrB,KAAKD,CAAK,EAEd,KAAK,gBAAgBf,EAAoBe,CAAK,EAAGC,CAAO,CACnE,EASA,aAAaD,EAAOC,EAAS,CAGrB,OAAA,KAAK,oBAAsB,CAACA,EACrB,KAAKD,CAAK,EAEdT,GAAkB,KAAK,wBAAwBS,EAAOC,CAAO,CAAC,CACzE,EAgBA,wBAAwBD,EAAOC,EAAS,CACpC,KAAK,MAAM,EACX,MAAMY,EAAgBZ,EAChB,KAAK,sBACL,KAAK,eACLE,EAAS,CAAA,EACf,QAASd,EAAI,EAAGA,EAAIW,EAAM,QAAS,CAC/B,MAAMI,EAAQS,EAAcb,EAAM,OAAOX,GAAG,CAAC,EAEvCiB,EADYjB,EAAIW,EAAM,OACFa,EAAcb,EAAM,OAAOX,CAAC,CAAC,EAAI,EACzD,EAAAA,EAEF,MAAMmB,EADYnB,EAAIW,EAAM,OACFa,EAAcb,EAAM,OAAOX,CAAC,CAAC,EAAI,GACzD,EAAAA,EAEF,MAAMyB,EADYzB,EAAIW,EAAM,OACFa,EAAcb,EAAM,OAAOX,CAAC,CAAC,EAAI,GAE3D,GADE,EAAAA,EACEe,GAAS,MAAQE,GAAS,MAAQE,GAAS,MAAQM,GAAS,KAC5D,MAAM,IAAIC,GAER,MAAAN,EAAYL,GAAS,EAAME,GAAS,EAE1C,GADAH,EAAO,KAAKM,CAAQ,EAChBD,IAAU,GAAI,CACd,MAAME,EAAaJ,GAAS,EAAK,IAASE,GAAS,EAEnD,GADAL,EAAO,KAAKO,CAAQ,EAChBI,IAAU,GAAI,CACR,MAAAH,EAAaH,GAAS,EAAK,IAAQM,EACzCX,EAAO,KAAKQ,CAAQ,CACxB,CACJ,CACJ,CACO,OAAAR,CACX,EAMA,OAAQ,CACA,GAAA,CAAC,KAAK,eAAgB,CACtB,KAAK,eAAiB,GACtB,KAAK,eAAiB,GACtB,KAAK,sBAAwB,GAC7B,KAAK,sBAAwB,GAE7B,QAASd,EAAI,EAAGA,EAAI,KAAK,aAAa,OAAQA,IAC1C,KAAK,eAAeA,CAAC,EAAI,KAAK,aAAa,OAAOA,CAAC,EACnD,KAAK,eAAe,KAAK,eAAeA,CAAC,CAAC,EAAIA,EAC9C,KAAK,sBAAsBA,CAAC,EAAI,KAAK,qBAAqB,OAAOA,CAAC,EAClE,KAAK,sBAAsB,KAAK,sBAAsBA,CAAC,CAAC,EAAIA,EAExDA,GAAK,KAAK,kBAAkB,SAC5B,KAAK,eAAe,KAAK,qBAAqB,OAAOA,CAAC,CAAC,EAAIA,EAC3D,KAAK,sBAAsB,KAAK,aAAa,OAAOA,CAAC,CAAC,EAAIA,EAGtE,CACJ,CACJ,EAIA,MAAM0B,WAAgC,KAAM,CACxC,aAAc,CACV,MAAM,GAAG,SAAS,EAClB,KAAK,KAAO,yBAChB,CACJ,CAIA,MAAMC,GAAe,SAAU9B,EAAK,CAC1B,MAAA+B,EAAYhC,EAAoBC,CAAG,EAClC,OAAAa,EAAO,gBAAgBkB,EAAW,EAAI,CACjD,EAKMC,EAAgC,SAAUhC,EAAK,CAEjD,OAAO8B,GAAa9B,CAAG,EAAE,QAAQ,MAAO,EAAE,CAC9C,EAUMiC,GAAe,SAAUjC,EAAK,CAC5B,GAAA,CACO,OAAAa,EAAO,aAAab,EAAK,EAAI,QAEjC,EAAG,CACE,QAAA,MAAM,wBAAyB,CAAC,CAC5C,CACO,OAAA,IACX,EA0EA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAqBA,SAASkC,IAAY,CACb,GAAA,OAAO,KAAS,IACT,OAAA,KAEP,GAAA,OAAO,OAAW,IACX,OAAA,OAEP,GAAA,OAAO,OAAW,IACX,OAAA,OAEL,MAAA,IAAI,MAAM,iCAAiC,CACrD,CAEA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAgBA,MAAMC,GAAwB,IAAMD,GAAY,EAAA,sBAS1CE,GAA6B,IAAM,CACrC,GAAI,OAAO,QAAY,KAAe,OAAOC,EAAgB,IACzD,OAEJ,MAAMC,EAAqBD,EAAY,sBACvC,GAAIC,EACO,OAAA,KAAK,MAAMA,CAAkB,CAE5C,EACMC,GAAwB,IAAM,CAC5B,GAAA,OAAO,SAAa,IACpB,OAEA,IAAAC,EACA,GAAA,CACQA,EAAA,SAAS,OAAO,MAAM,+BAA+B,OAEvD,CAGN,MACJ,CACA,MAAMC,EAAUD,GAASP,GAAaO,EAAM,CAAC,CAAC,EACvC,OAAAC,GAAW,KAAK,MAAMA,CAAO,CACxC,EAQMC,GAAc,IAAM,CAClB,GAAA,CACA,OAAQP,GAAsB,GAC1BC,GAA2B,GAC3BG,GAAsB,QAEvBI,EAAG,CAOE,QAAA,KAAK,+CAA+CA,CAAC,EAAE,EAC/D,MACJ,CACJ,EAqCMC,GAAsB,IAAM,CAAM,IAAAC,EAAI,OAAQA,EAAKH,GAAY,KAAO,MAAQG,IAAO,OAAS,OAASA,EAAG,MAAQ,EAQxH;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAgBA,MAAMC,EAAS,CACX,aAAc,CACV,KAAK,OAAS,IAAM,CAAA,EACpB,KAAK,QAAU,IAAM,CAAA,EACrB,KAAK,QAAU,IAAI,QAAQ,CAACC,EAASC,IAAW,CAC5C,KAAK,QAAUD,EACf,KAAK,OAASC,CAAA,CACjB,CACL,CAMA,aAAaC,EAAU,CACZ,MAAA,CAACC,EAAOC,IAAU,CACjBD,EACA,KAAK,OAAOA,CAAK,EAGjB,KAAK,QAAQC,CAAK,EAElB,OAAOF,GAAa,aAGf,KAAA,QAAQ,MAAM,IAAM,CAAA,CAAG,EAGxBA,EAAS,SAAW,EACpBA,EAASC,CAAK,EAGdD,EAASC,EAAOC,CAAK,EAE7B,CAER,CACJ,CA+KA,SAASC,IAAuB,CACxB,GAAA,CACA,OAAO,OAAO,WAAc,cAEtB,CACC,MAAA,EACX,CACJ,CAQA,SAASC,IAA4B,CACjC,OAAO,IAAI,QAAQ,CAACN,EAASC,IAAW,CAChC,GAAA,CACA,IAAIM,EAAW,GACf,MAAMC,EAAgB,0DAChBC,EAAU,KAAK,UAAU,KAAKD,CAAa,EACjDC,EAAQ,UAAY,IAAM,CACtBA,EAAQ,OAAO,QAEVF,GACI,KAAA,UAAU,eAAeC,CAAa,EAE/CR,EAAQ,EAAI,CAAA,EAEhBS,EAAQ,gBAAkB,IAAM,CACjBF,EAAA,EAAA,EAEfE,EAAQ,QAAU,IAAM,CAChB,IAAAX,EACKG,IAAAH,EAAKW,EAAQ,SAAW,MAAQX,IAAO,OAAS,OAASA,EAAG,UAAY,EAAE,CAAA,QAGpFK,EAAO,CACVF,EAAOE,CAAK,CAChB,CAAA,CACH,CACL,CAaA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAwDA,MAAMO,GAAa,gBAGnB,MAAMC,UAAsB,KAAM,CAC9B,YAEAC,EAAMC,EAENC,EAAY,CACR,MAAMD,CAAO,EACb,KAAK,KAAOD,EACZ,KAAK,WAAaE,EAElB,KAAK,KAAOJ,GAGL,OAAA,eAAe,KAAMC,EAAc,SAAS,EAG/C,MAAM,mBACN,MAAM,kBAAkB,KAAMI,EAAa,UAAU,MAAM,CAEnE,CACJ,CACA,MAAMA,CAAa,CACf,YAAYC,EAASC,EAAaC,EAAQ,CACtC,KAAK,QAAUF,EACf,KAAK,YAAcC,EACnB,KAAK,OAASC,CAClB,CACA,OAAON,KAASO,EAAM,CAClB,MAAML,EAAaK,EAAK,CAAC,GAAK,CAAA,EACxBC,EAAW,GAAG,KAAK,OAAO,IAAIR,CAAI,GAClCS,EAAW,KAAK,OAAOT,CAAI,EAC3BC,EAAUQ,EAAWC,GAAgBD,EAAUP,CAAU,EAAI,QAE7DS,EAAc,GAAG,KAAK,WAAW,KAAKV,CAAO,KAAKO,CAAQ,KAEzD,OADO,IAAIT,EAAcS,EAAUG,EAAaT,CAAU,CAErE,CACJ,CACA,SAASQ,GAAgBD,EAAUF,EAAM,CACrC,OAAOE,EAAS,QAAQG,GAAS,CAACC,EAAGC,IAAQ,CACnC,MAAAtB,EAAQe,EAAKO,CAAG,EACtB,OAAOtB,GAAS,KAAO,OAAOA,CAAK,EAAI,IAAIsB,CAAG,IAAA,CACjD,CACL,CACA,MAAMF,GAAU,gBAkMhB,SAASG,EAAUC,EAAGC,EAAG,CACrB,GAAID,IAAMC,EACC,MAAA,GAEL,MAAAC,EAAQ,OAAO,KAAKF,CAAC,EACrBG,EAAQ,OAAO,KAAKF,CAAC,EAC3B,UAAWG,KAAKF,EAAO,CACnB,GAAI,CAACC,EAAM,SAASC,CAAC,EACV,MAAA,GAEL,MAAAC,EAAQL,EAAEI,CAAC,EACXE,EAAQL,EAAEG,CAAC,EACjB,GAAIG,EAASF,CAAK,GAAKE,EAASD,CAAK,GACjC,GAAI,CAACP,EAAUM,EAAOC,CAAK,EAChB,MAAA,WAGND,IAAUC,EACR,MAAA,EAEf,CACA,UAAWF,KAAKD,EACZ,GAAI,CAACD,EAAM,SAASE,CAAC,EACV,MAAA,GAGR,MAAA,EACX,CACA,SAASG,EAASC,EAAO,CACd,OAAAA,IAAU,MAAQ,OAAOA,GAAU,QAC9C,CC9rCA,MAAMC,CAAU,CAOZ,YAAYC,EAAMC,EAAiBC,EAAM,CACrC,KAAK,KAAOF,EACZ,KAAK,gBAAkBC,EACvB,KAAK,KAAOC,EACZ,KAAK,kBAAoB,GAIzB,KAAK,aAAe,GACpB,KAAK,kBAAoB,OACzB,KAAK,kBAAoB,IAC5B,CACD,qBAAqBC,EAAM,CACvB,YAAK,kBAAoBA,EAClB,IACV,CACD,qBAAqBC,EAAmB,CACpC,YAAK,kBAAoBA,EAClB,IACV,CACD,gBAAgBC,EAAO,CACnB,YAAK,aAAeA,EACb,IACV,CACD,2BAA2BzC,EAAU,CACjC,YAAK,kBAAoBA,EAClB,IACV,CACL,CAEA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAgBA,MAAM0C,EAAqB,YAE3B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAoBA,MAAMC,EAAS,CACX,YAAYP,EAAMQ,EAAW,CACzB,KAAK,KAAOR,EACZ,KAAK,UAAYQ,EACjB,KAAK,UAAY,KACjB,KAAK,UAAY,IAAI,IACrB,KAAK,kBAAoB,IAAI,IAC7B,KAAK,iBAAmB,IAAI,IAC5B,KAAK,gBAAkB,IAAI,GAC9B,CAKD,IAAIC,EAAY,CAEZ,MAAMC,EAAuB,KAAK,4BAA4BD,CAAU,EACxE,GAAI,CAAC,KAAK,kBAAkB,IAAIC,CAAoB,EAAG,CACnD,MAAMC,EAAW,IAAIlD,GAErB,GADA,KAAK,kBAAkB,IAAIiD,EAAsBC,CAAQ,EACrD,KAAK,cAAcD,CAAoB,GACvC,KAAK,qBAAoB,EAEzB,GAAI,CACA,MAAME,EAAW,KAAK,uBAAuB,CACzC,mBAAoBF,CAC5C,CAAqB,EACGE,GACAD,EAAS,QAAQC,CAAQ,CAEhC,MACS,CAGT,CAER,CACD,OAAO,KAAK,kBAAkB,IAAIF,CAAoB,EAAE,OAC3D,CACD,aAAaG,EAAS,CAClB,IAAIrD,EAEJ,MAAMkD,EAAuB,KAAK,4BAA8EG,GAAQ,UAAU,EAC5HC,GAAYtD,EAAuDqD,GAAQ,YAAc,MAAQrD,IAAO,OAASA,EAAK,GAC5H,GAAI,KAAK,cAAckD,CAAoB,GACvC,KAAK,qBAAoB,EACzB,GAAI,CACA,OAAO,KAAK,uBAAuB,CAC/B,mBAAoBA,CACxC,CAAiB,CACJ,OACMpD,EAAG,CACN,GAAIwD,EACA,OAAO,KAGP,MAAMxD,CAEb,KAEA,CAED,GAAIwD,EACA,OAAO,KAGP,MAAM,MAAM,WAAW,KAAK,IAAI,mBAAmB,CAE1D,CACJ,CACD,cAAe,CACX,OAAO,KAAK,SACf,CACD,aAAaC,EAAW,CACpB,GAAIA,EAAU,OAAS,KAAK,KACxB,MAAM,MAAM,yBAAyBA,EAAU,IAAI,iBAAiB,KAAK,IAAI,GAAG,EAEpF,GAAI,KAAK,UACL,MAAM,MAAM,iBAAiB,KAAK,IAAI,4BAA4B,EAItE,GAFA,KAAK,UAAYA,EAEb,EAAC,KAAK,uBAIV,IAAIC,GAAiBD,CAAS,EAC1B,GAAI,CACA,KAAK,uBAAuB,CAAE,mBAAoBT,CAAoB,CAAA,CACzE,MACS,CAKT,CAKL,SAAW,CAACW,EAAoBC,CAAgB,IAAK,KAAK,kBAAkB,UAAW,CACnF,MAAMR,EAAuB,KAAK,4BAA4BO,CAAkB,EAChF,GAAI,CAEA,MAAML,EAAW,KAAK,uBAAuB,CACzC,mBAAoBF,CACxC,CAAiB,EACDQ,EAAiB,QAAQN,CAAQ,CACpC,MACS,CAGT,CACJ,EACJ,CACD,cAAcH,EAAaH,EAAoB,CAC3C,KAAK,kBAAkB,OAAOG,CAAU,EACxC,KAAK,iBAAiB,OAAOA,CAAU,EACvC,KAAK,UAAU,OAAOA,CAAU,CACnC,CAGD,MAAM,QAAS,CACX,MAAMU,EAAW,MAAM,KAAK,KAAK,UAAU,OAAM,CAAE,EACnD,MAAM,QAAQ,IAAI,CACd,GAAGA,EACE,OAAOzC,GAAW,aAAcA,CAAO,EAEvC,IAAIA,GAAWA,EAAQ,SAAS,OAAM,CAAE,EAC7C,GAAGyC,EACE,OAAOzC,GAAW,YAAaA,CAAO,EAEtC,IAAIA,GAAWA,EAAQ,SAAS,CACjD,CAAS,CACJ,CACD,gBAAiB,CACb,OAAO,KAAK,WAAa,IAC5B,CACD,cAAc+B,EAAaH,EAAoB,CAC3C,OAAO,KAAK,UAAU,IAAIG,CAAU,CACvC,CACD,WAAWA,EAAaH,EAAoB,CACxC,OAAO,KAAK,iBAAiB,IAAIG,CAAU,GAAK,CAAA,CACnD,CACD,WAAWW,EAAO,GAAI,CAClB,KAAM,CAAE,QAAAP,EAAU,EAAI,EAAGO,EACnBV,EAAuB,KAAK,4BAA4BU,EAAK,kBAAkB,EACrF,GAAI,KAAK,cAAcV,CAAoB,EACvC,MAAM,MAAM,GAAG,KAAK,IAAI,IAAIA,CAAoB,gCAAgC,EAEpF,GAAI,CAAC,KAAK,iBACN,MAAM,MAAM,aAAa,KAAK,IAAI,8BAA8B,EAEpE,MAAME,EAAW,KAAK,uBAAuB,CACzC,mBAAoBF,EACpB,QAAAG,CACZ,CAAS,EAED,SAAW,CAACI,EAAoBC,CAAgB,IAAK,KAAK,kBAAkB,UAAW,CACnF,MAAMG,EAA+B,KAAK,4BAA4BJ,CAAkB,EACpFP,IAAyBW,GACzBH,EAAiB,QAAQN,CAAQ,CAExC,CACD,OAAOA,CACV,CASD,OAAOhD,EAAU6C,EAAY,CACzB,IAAIjD,EACJ,MAAMkD,EAAuB,KAAK,4BAA4BD,CAAU,EAClEa,GAAqB9D,EAAK,KAAK,gBAAgB,IAAIkD,CAAoB,KAAO,MAAQlD,IAAO,OAASA,EAAK,IAAI,IACrH8D,EAAkB,IAAI1D,CAAQ,EAC9B,KAAK,gBAAgB,IAAI8C,EAAsBY,CAAiB,EAChE,MAAMC,EAAmB,KAAK,UAAU,IAAIb,CAAoB,EAChE,OAAIa,GACA3D,EAAS2D,EAAkBb,CAAoB,EAE5C,IAAM,CACTY,EAAkB,OAAO1D,CAAQ,CAC7C,CACK,CAKD,sBAAsBgD,EAAUH,EAAY,CACxC,MAAMe,EAAY,KAAK,gBAAgB,IAAIf,CAAU,EACrD,GAAKe,EAGL,UAAW5D,KAAY4D,EACnB,GAAI,CACA5D,EAASgD,EAAUH,CAAU,CAChC,MACU,CAEV,CAER,CACD,uBAAuB,CAAE,mBAAAQ,EAAoB,QAAAJ,EAAU,CAAE,CAAA,EAAI,CACzD,IAAID,EAAW,KAAK,UAAU,IAAIK,CAAkB,EACpD,GAAI,CAACL,GAAY,KAAK,YAClBA,EAAW,KAAK,UAAU,gBAAgB,KAAK,UAAW,CACtD,mBAAoBa,GAA8BR,CAAkB,EACpE,QAAAJ,CAChB,CAAa,EACD,KAAK,UAAU,IAAII,EAAoBL,CAAQ,EAC/C,KAAK,iBAAiB,IAAIK,EAAoBJ,CAAO,EAMrD,KAAK,sBAAsBD,EAAUK,CAAkB,EAMnD,KAAK,UAAU,mBACf,GAAI,CACA,KAAK,UAAU,kBAAkB,KAAK,UAAWA,EAAoBL,CAAQ,CAChF,MACU,CAEV,CAGT,OAAOA,GAAY,IACtB,CACD,4BAA4BH,EAAaH,EAAoB,CACzD,OAAI,KAAK,UACE,KAAK,UAAU,kBAAoBG,EAAaH,EAGhDG,CAEd,CACD,sBAAuB,CACnB,MAAQ,CAAC,CAAC,KAAK,WACX,KAAK,UAAU,oBAAsB,UAC5C,CACL,CAEA,SAASgB,GAA8BhB,EAAY,CAC/C,OAAOA,IAAeH,EAAqB,OAAYG,CAC3D,CACA,SAASO,GAAiBD,EAAW,CACjC,OAAOA,EAAU,oBAAsB,OAC3C,CAEA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAmBA,MAAMW,EAAmB,CACrB,YAAY1B,EAAM,CACd,KAAK,KAAOA,EACZ,KAAK,UAAY,IAAI,GACxB,CAUD,aAAae,EAAW,CACpB,MAAMY,EAAW,KAAK,YAAYZ,EAAU,IAAI,EAChD,GAAIY,EAAS,iBACT,MAAM,IAAI,MAAM,aAAaZ,EAAU,IAAI,qCAAqC,KAAK,IAAI,EAAE,EAE/FY,EAAS,aAAaZ,CAAS,CAClC,CACD,wBAAwBA,EAAW,CACd,KAAK,YAAYA,EAAU,IAAI,EACnC,kBAET,KAAK,UAAU,OAAOA,EAAU,IAAI,EAExC,KAAK,aAAaA,CAAS,CAC9B,CAQD,YAAYf,EAAM,CACd,GAAI,KAAK,UAAU,IAAIA,CAAI,EACvB,OAAO,KAAK,UAAU,IAAIA,CAAI,EAGlC,MAAM2B,EAAW,IAAIpB,GAASP,EAAM,IAAI,EACxC,YAAK,UAAU,IAAIA,EAAM2B,CAAQ,EAC1BA,CACV,CACD,cAAe,CACX,OAAO,MAAM,KAAK,KAAK,UAAU,OAAQ,CAAA,CAC5C,CACL,CCrZA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GA+BA,IAAIC,GACH,SAAUA,EAAU,CACjBA,EAASA,EAAS,MAAW,CAAC,EAAI,QAClCA,EAASA,EAAS,QAAa,CAAC,EAAI,UACpCA,EAASA,EAAS,KAAU,CAAC,EAAI,OACjCA,EAASA,EAAS,KAAU,CAAC,EAAI,OACjCA,EAASA,EAAS,MAAW,CAAC,EAAI,QAClCA,EAASA,EAAS,OAAY,CAAC,EAAI,QACvC,GAAGA,IAAaA,EAAW,CAAE,EAAC,EAC9B,MAAMC,GAAoB,CACtB,MAASD,EAAS,MAClB,QAAWA,EAAS,QACpB,KAAQA,EAAS,KACjB,KAAQA,EAAS,KACjB,MAASA,EAAS,MAClB,OAAUA,EAAS,MACvB,EAIME,GAAkBF,EAAS,KAO3BG,GAAgB,CAClB,CAACH,EAAS,KAAK,EAAG,MAClB,CAACA,EAAS,OAAO,EAAG,MACpB,CAACA,EAAS,IAAI,EAAG,OACjB,CAACA,EAAS,IAAI,EAAG,OACjB,CAACA,EAAS,KAAK,EAAG,OACtB,EAMMI,GAAoB,CAACpB,EAAUqB,KAAYC,IAAS,CACtD,GAAID,EAAUrB,EAAS,SACnB,OAEJ,MAAMuB,EAAM,IAAI,KAAM,EAAC,YAAW,EAC5BC,EAASL,GAAcE,CAAO,EACpC,GAAIG,EACA,QAAQA,CAAM,EAAE,IAAID,CAAG,MAAMvB,EAAS,IAAI,IAAK,GAAGsB,CAAI,MAGtD,OAAM,IAAI,MAAM,8DAA8DD,CAAO,GAAG,CAEhG,EACA,MAAMI,EAAO,CAOT,YAAYrC,EAAM,CACd,KAAK,KAAOA,EAIZ,KAAK,UAAY8B,GAKjB,KAAK,YAAcE,GAInB,KAAK,gBAAkB,IAK1B,CACD,IAAI,UAAW,CACX,OAAO,KAAK,SACf,CACD,IAAI,SAASM,EAAK,CACd,GAAI,EAAEA,KAAOV,GACT,MAAM,IAAI,UAAU,kBAAkBU,CAAG,4BAA4B,EAEzE,KAAK,UAAYA,CACpB,CAED,YAAYA,EAAK,CACb,KAAK,UAAY,OAAOA,GAAQ,SAAWT,GAAkBS,CAAG,EAAIA,CACvE,CACD,IAAI,YAAa,CACb,OAAO,KAAK,WACf,CACD,IAAI,WAAWA,EAAK,CAChB,GAAI,OAAOA,GAAQ,WACf,MAAM,IAAI,UAAU,mDAAmD,EAE3E,KAAK,YAAcA,CACtB,CACD,IAAI,gBAAiB,CACjB,OAAO,KAAK,eACf,CACD,IAAI,eAAeA,EAAK,CACpB,KAAK,gBAAkBA,CAC1B,CAID,SAASJ,EAAM,CACX,KAAK,iBAAmB,KAAK,gBAAgB,KAAMN,EAAS,MAAO,GAAGM,CAAI,EAC1E,KAAK,YAAY,KAAMN,EAAS,MAAO,GAAGM,CAAI,CACjD,CACD,OAAOA,EAAM,CACT,KAAK,iBACD,KAAK,gBAAgB,KAAMN,EAAS,QAAS,GAAGM,CAAI,EACxD,KAAK,YAAY,KAAMN,EAAS,QAAS,GAAGM,CAAI,CACnD,CACD,QAAQA,EAAM,CACV,KAAK,iBAAmB,KAAK,gBAAgB,KAAMN,EAAS,KAAM,GAAGM,CAAI,EACzE,KAAK,YAAY,KAAMN,EAAS,KAAM,GAAGM,CAAI,CAChD,CACD,QAAQA,EAAM,CACV,KAAK,iBAAmB,KAAK,gBAAgB,KAAMN,EAAS,KAAM,GAAGM,CAAI,EACzE,KAAK,YAAY,KAAMN,EAAS,KAAM,GAAGM,CAAI,CAChD,CACD,SAASA,EAAM,CACX,KAAK,iBAAmB,KAAK,gBAAgB,KAAMN,EAAS,MAAO,GAAGM,CAAI,EAC1E,KAAK,YAAY,KAAMN,EAAS,MAAO,GAAGM,CAAI,CACjD,CACL,CClKA,MAAMK,GAAgB,CAACC,EAAQC,IAAiBA,EAAa,KAAM1H,GAAMyH,aAAkBzH,CAAC,EAE5F,IAAI2H,EACAC,EAEJ,SAASC,IAAuB,CAC5B,OAAQF,IACHA,EAAoB,CACjB,YACA,eACA,SACA,UACA,cACZ,EACA,CAEA,SAASG,IAA0B,CAC/B,OAAQF,IACHA,EAAuB,CACpB,UAAU,UAAU,QACpB,UAAU,UAAU,SACpB,UAAU,UAAU,kBAChC,EACA,CACA,MAAMG,EAAmB,IAAI,QACvBC,EAAqB,IAAI,QACzBC,EAA2B,IAAI,QAC/BC,EAAiB,IAAI,QACrBC,EAAwB,IAAI,QAClC,SAASC,GAAiBhF,EAAS,CAC/B,MAAMiF,EAAU,IAAI,QAAQ,CAAC1F,EAASC,IAAW,CAC7C,MAAM0F,EAAW,IAAM,CACnBlF,EAAQ,oBAAoB,UAAWmF,CAAO,EAC9CnF,EAAQ,oBAAoB,QAASN,CAAK,CACtD,EACcyF,EAAU,IAAM,CAClB5F,EAAQ6F,EAAKpF,EAAQ,MAAM,CAAC,EAC5BkF,GACZ,EACcxF,EAAQ,IAAM,CAChBF,EAAOQ,EAAQ,KAAK,EACpBkF,GACZ,EACQlF,EAAQ,iBAAiB,UAAWmF,CAAO,EAC3CnF,EAAQ,iBAAiB,QAASN,CAAK,CAC/C,CAAK,EACD,OAAAuF,EACK,KAAMtF,GAAU,CAGbA,aAAiB,WACjBgF,EAAiB,IAAIhF,EAAOK,CAAO,CAG/C,CAAK,EACI,MAAM,IAAM,CAAA,CAAG,EAGpB+E,EAAsB,IAAIE,EAASjF,CAAO,EACnCiF,CACX,CACA,SAASI,GAA+BC,EAAI,CAExC,GAAIV,EAAmB,IAAIU,CAAE,EACzB,OACJ,MAAMC,EAAO,IAAI,QAAQ,CAAChG,EAASC,IAAW,CAC1C,MAAM0F,EAAW,IAAM,CACnBI,EAAG,oBAAoB,WAAYE,CAAQ,EAC3CF,EAAG,oBAAoB,QAAS5F,CAAK,EACrC4F,EAAG,oBAAoB,QAAS5F,CAAK,CACjD,EACc8F,EAAW,IAAM,CACnBjG,IACA2F,GACZ,EACcxF,EAAQ,IAAM,CAChBF,EAAO8F,EAAG,OAAS,IAAI,aAAa,aAAc,YAAY,CAAC,EAC/DJ,GACZ,EACQI,EAAG,iBAAiB,WAAYE,CAAQ,EACxCF,EAAG,iBAAiB,QAAS5F,CAAK,EAClC4F,EAAG,iBAAiB,QAAS5F,CAAK,CAC1C,CAAK,EAEDkF,EAAmB,IAAIU,EAAIC,CAAI,CACnC,CACA,IAAIE,EAAgB,CAChB,IAAIC,EAAQC,EAAMC,EAAU,CACxB,GAAIF,aAAkB,eAAgB,CAElC,GAAIC,IAAS,OACT,OAAOf,EAAmB,IAAIc,CAAM,EAExC,GAAIC,IAAS,mBACT,OAAOD,EAAO,kBAAoBb,EAAyB,IAAIa,CAAM,EAGzE,GAAIC,IAAS,QACT,OAAOC,EAAS,iBAAiB,CAAC,EAC5B,OACAA,EAAS,YAAYA,EAAS,iBAAiB,CAAC,CAAC,CAE9D,CAED,OAAOR,EAAKM,EAAOC,CAAI,CAAC,CAC3B,EACD,IAAID,EAAQC,EAAMhG,EAAO,CACrB,OAAA+F,EAAOC,CAAI,EAAIhG,EACR,EACV,EACD,IAAI+F,EAAQC,EAAM,CACd,OAAID,aAAkB,iBACjBC,IAAS,QAAUA,IAAS,SACtB,GAEJA,KAAQD,CAClB,CACL,EACA,SAASG,GAAapG,EAAU,CAC5BgG,EAAgBhG,EAASgG,CAAa,CAC1C,CACA,SAASK,GAAaC,EAAM,CAIxB,OAAIA,IAAS,YAAY,UAAU,aAC/B,EAAE,qBAAsB,eAAe,WAChC,SAAUC,KAAejC,EAAM,CAClC,MAAMuB,EAAKS,EAAK,KAAKE,EAAO,IAAI,EAAGD,EAAY,GAAGjC,CAAI,EACtD,OAAAc,EAAyB,IAAIS,EAAIU,EAAW,KAAOA,EAAW,KAAM,EAAG,CAACA,CAAU,CAAC,EAC5EZ,EAAKE,CAAE,CAC1B,EAOQZ,GAAyB,EAAC,SAASqB,CAAI,EAChC,YAAahC,EAAM,CAGtB,OAAAgC,EAAK,MAAME,EAAO,IAAI,EAAGlC,CAAI,EACtBqB,EAAKT,EAAiB,IAAI,IAAI,CAAC,CAClD,EAEW,YAAaZ,EAAM,CAGtB,OAAOqB,EAAKW,EAAK,MAAME,EAAO,IAAI,EAAGlC,CAAI,CAAC,CAClD,CACA,CACA,SAASmC,GAAuBvG,EAAO,CACnC,OAAI,OAAOA,GAAU,WACVmG,GAAanG,CAAK,GAGzBA,aAAiB,gBACjB0F,GAA+B1F,CAAK,EACpCyE,GAAczE,EAAO8E,IAAsB,EACpC,IAAI,MAAM9E,EAAO8F,CAAa,EAElC9F,EACX,CACA,SAASyF,EAAKzF,EAAO,CAGjB,GAAIA,aAAiB,WACjB,OAAOqF,GAAiBrF,CAAK,EAGjC,GAAImF,EAAe,IAAInF,CAAK,EACxB,OAAOmF,EAAe,IAAInF,CAAK,EACnC,MAAMwG,EAAWD,GAAuBvG,CAAK,EAG7C,OAAIwG,IAAaxG,IACbmF,EAAe,IAAInF,EAAOwG,CAAQ,EAClCpB,EAAsB,IAAIoB,EAAUxG,CAAK,GAEtCwG,CACX,CACA,MAAMF,EAAUtG,GAAUoF,EAAsB,IAAIpF,CAAK,EC5KzD,SAASyG,GAAOvE,EAAMwE,EAAS,CAAE,QAAAC,EAAS,QAAAC,EAAS,SAAAC,EAAU,WAAAC,CAAY,EAAG,GAAI,CAC5E,MAAMzG,EAAU,UAAU,KAAK6B,EAAMwE,CAAO,EACtCK,EAActB,EAAKpF,CAAO,EAChC,OAAIuG,GACAvG,EAAQ,iBAAiB,gBAAkB2G,GAAU,CACjDJ,EAAQnB,EAAKpF,EAAQ,MAAM,EAAG2G,EAAM,WAAYA,EAAM,WAAYvB,EAAKpF,EAAQ,WAAW,EAAG2G,CAAK,CAC9G,CAAS,EAEDL,GACAtG,EAAQ,iBAAiB,UAAY2G,GAAUL,EAE/CK,EAAM,WAAYA,EAAM,WAAYA,CAAK,CAAC,EAE9CD,EACK,KAAME,GAAO,CACVH,GACAG,EAAG,iBAAiB,QAAS,IAAMH,EAAY,CAAA,EAC/CD,GACAI,EAAG,iBAAiB,gBAAkBD,GAAUH,EAASG,EAAM,WAAYA,EAAM,WAAYA,CAAK,CAAC,CAE/G,CAAK,EACI,MAAM,IAAM,CAAA,CAAG,EACbD,CACX,CAgBA,MAAMG,GAAc,CAAC,MAAO,SAAU,SAAU,aAAc,OAAO,EAC/DC,GAAe,CAAC,MAAO,MAAO,SAAU,OAAO,EAC/CC,EAAgB,IAAI,IAC1B,SAASC,EAAUtB,EAAQC,EAAM,CAC7B,GAAI,EAAED,aAAkB,aACpB,EAAEC,KAAQD,IACV,OAAOC,GAAS,UAChB,OAEJ,GAAIoB,EAAc,IAAIpB,CAAI,EACtB,OAAOoB,EAAc,IAAIpB,CAAI,EACjC,MAAMsB,EAAiBtB,EAAK,QAAQ,aAAc,EAAE,EAC9CuB,EAAWvB,IAASsB,EACpBE,EAAUL,GAAa,SAASG,CAAc,EACpD,GAEA,EAAEA,KAAmBC,EAAW,SAAW,gBAAgB,YACvD,EAAEC,GAAWN,GAAY,SAASI,CAAc,GAChD,OAEJ,MAAMhD,EAAS,eAAgBmD,KAAcrD,EAAM,CAE/C,MAAMuB,EAAK,KAAK,YAAY8B,EAAWD,EAAU,YAAc,UAAU,EACzE,IAAIzB,EAASJ,EAAG,MAChB,OAAI4B,IACAxB,EAASA,EAAO,MAAM3B,EAAK,MAAO,CAAA,IAM9B,MAAM,QAAQ,IAAI,CACtB2B,EAAOuB,CAAc,EAAE,GAAGlD,CAAI,EAC9BoD,GAAW7B,EAAG,IAC1B,CAAS,GAAG,CAAC,CACb,EACI,OAAAyB,EAAc,IAAIpB,EAAM1B,CAAM,EACvBA,CACX,CACA4B,GAAcwB,IAAc,CACxB,GAAGA,EACH,IAAK,CAAC3B,EAAQC,EAAMC,IAAaoB,EAAUtB,EAAQC,CAAI,GAAK0B,EAAS,IAAI3B,EAAQC,EAAMC,CAAQ,EAC/F,IAAK,CAACF,EAAQC,IAAS,CAAC,CAACqB,EAAUtB,EAAQC,CAAI,GAAK0B,EAAS,IAAI3B,EAAQC,CAAI,CACjF,EAAE,ECtFF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAgBA,MAAM2B,EAA0B,CAC5B,YAAYjF,EAAW,CACnB,KAAK,UAAYA,CACpB,CAGD,uBAAwB,CAIpB,OAHkB,KAAK,UAAU,aAAY,EAIxC,IAAImB,GAAY,CACjB,GAAI+D,GAAyB/D,CAAQ,EAAG,CACpC,MAAMjD,EAAUiD,EAAS,eACzB,MAAO,GAAGjD,EAAQ,OAAO,IAAIA,EAAQ,OAAO,EAC/C,KAEG,QAAO,IAEvB,CAAS,EACI,OAAOiH,GAAaA,CAAS,EAC7B,KAAK,GAAG,CAChB,CACL,CASA,SAASD,GAAyB/D,EAAU,CACxC,MAAMZ,EAAYY,EAAS,eAC3B,OAA8DZ,GAAU,OAAU,SACtF,CAEA,MAAM6E,EAAS,gBACTC,EAAY,SAElB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAgBA,MAAMC,EAAS,IAAIzD,GAAO,eAAe,EAEnC0D,GAAS,uBAETC,GAAS,6BAETC,GAAS,sBAETC,GAAS,6BAETC,GAAS,sBAETC,GAAS,iBAETC,GAAS,wBAETC,GAAS,qBAETC,GAAS,4BAETC,GAAS,sBAETC,GAAS,6BAETC,GAAS,0BAETC,GAAS,iCAETC,GAAS,sBAETC,GAAS,6BAETC,GAAS,wBAETC,GAAS,+BAETC,GAAS,0BAETC,GAAS,iCAETC,GAAS,oBAETC,GAAS,2BAETC,GAAS,sBAETC,GAAS,6BAETC,GAAS,6BAETtH,GAAO,WAGb;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAqBK,MAACM,GAAqB,YACrBiH,GAAsB,CACxB,CAAC3B,CAAM,EAAG,YACV,CAACG,EAAM,EAAG,mBACV,CAACE,EAAM,EAAG,iBACV,CAACD,EAAM,EAAG,wBACV,CAACG,EAAM,EAAG,iBACV,CAACD,EAAM,EAAG,wBACV,CAACE,EAAM,EAAG,YACV,CAACC,EAAM,EAAG,mBACV,CAACC,EAAM,EAAG,YACV,CAACC,EAAM,EAAG,mBACV,CAACC,EAAM,EAAG,UACV,CAACC,EAAM,EAAG,iBACV,CAACC,EAAM,EAAG,WACV,CAACC,EAAM,EAAG,kBACV,CAACC,EAAM,EAAG,WACV,CAACC,EAAM,EAAG,kBACV,CAACC,EAAM,EAAG,YACV,CAACC,EAAM,EAAG,mBACV,CAACC,EAAM,EAAG,UACV,CAACC,EAAM,EAAG,iBACV,CAACC,EAAM,EAAG,WACV,CAACC,EAAM,EAAG,kBACV,CAACC,EAAM,EAAG,WACV,CAACE,EAAM,EAAG,kBACV,CAACD,EAAM,EAAG,cACV,UAAW,UACX,CAACrH,EAAI,EAAG,aACZ,EAEA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAmBK,MAACwH,EAAQ,IAAI,IAIZC,GAAc,IAAI,IAOlBC,EAAc,IAAI,IAMxB,SAASC,EAAcC,EAAK7G,EAAW,CACnC,GAAI,CACA6G,EAAI,UAAU,aAAa7G,CAAS,CACvC,OACMzD,EAAG,CACNwI,EAAO,MAAM,aAAa/E,EAAU,IAAI,wCAAwC6G,EAAI,IAAI,GAAItK,CAAC,CAChG,CACL,CAeA,SAASuK,EAAmB9G,EAAW,CACnC,MAAM+G,EAAgB/G,EAAU,KAChC,GAAI2G,EAAY,IAAII,CAAa,EAC7B,OAAAhC,EAAO,MAAM,sDAAsDgC,CAAa,GAAG,EAC5E,GAEXJ,EAAY,IAAII,EAAe/G,CAAS,EAExC,UAAW6G,KAAOJ,EAAM,SACpBG,EAAcC,EAAK7G,CAAS,EAEhC,UAAWgH,KAAaN,GAAY,SAChCE,EAAcI,EAAWhH,CAAS,EAEtC,MAAO,EACX,CA6DA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAgBA,MAAMiH,GAAS,CACV,SAAiC,6EAEjC,eAA6C,iCAC7C,gBAA+C,kFAC/C,cAA2C,kDAC3C,qBAAyD,uCACzD,aAAyC,0EACzC,uBAA6D,6EAE7D,uBAA6D,wDAC7D,WAAqC,gFACrC,UAAmC,qFACnC,UAAqC,mFACrC,aAAyC,sFACzC,sCAA2F,0GAC3F,iCAAiF,2DACtF,EACMC,EAAgB,IAAIxJ,EAAa,MAAO,WAAYuJ,EAAM,EAEhE;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAgBA,MAAME,EAAgB,CAClB,YAAYrH,EAASsH,EAAQ3H,EAAW,CACpC,KAAK,WAAa,GAClB,KAAK,SAAW,OAAO,OAAO,CAAE,EAAEK,CAAO,EACzC,KAAK,QAAU,OAAO,OAAO,CAAE,EAAEsH,CAAM,EACvC,KAAK,MAAQA,EAAO,KACpB,KAAK,gCACDA,EAAO,+BACX,KAAK,WAAa3H,EAClB,KAAK,UAAU,aAAa,IAAIT,EAAU,MAAO,IAAM,KAAM,QAAQ,CAA4B,CACpG,CACD,IAAI,gCAAiC,CACjC,YAAK,eAAc,EACZ,KAAK,+BACf,CACD,IAAI,+BAA+BuC,EAAK,CACpC,KAAK,eAAc,EACnB,KAAK,gCAAkCA,CAC1C,CACD,IAAI,MAAO,CACP,YAAK,eAAc,EACZ,KAAK,KACf,CACD,IAAI,SAAU,CACV,YAAK,eAAc,EACZ,KAAK,QACf,CACD,IAAI,QAAS,CACT,YAAK,eAAc,EACZ,KAAK,OACf,CACD,IAAI,WAAY,CACZ,OAAO,KAAK,UACf,CACD,IAAI,WAAY,CACZ,OAAO,KAAK,UACf,CACD,IAAI,UAAUA,EAAK,CACf,KAAK,WAAaA,CACrB,CAKD,gBAAiB,CACb,GAAI,KAAK,UACL,MAAM2F,EAAc,OAAO,cAA0C,CAAE,QAAS,KAAK,KAAK,CAAE,CAEnG,CACL,CAwHA,SAASG,GAAcC,EAAUC,EAAY,GAAI,CAC7C,IAAIzH,EAAUwH,EACV,OAAOC,GAAc,WAErBA,EAAY,CAAE,KADDA,IAGjB,MAAMH,EAAS,OAAO,OAAO,CAAE,KAAM7H,GAAoB,+BAAgC,IAASgI,CAAS,EACrGtI,EAAOmI,EAAO,KACpB,GAAI,OAAOnI,GAAS,UAAY,CAACA,EAC7B,MAAMiI,EAAc,OAAO,eAA4C,CACnE,QAAS,OAAOjI,CAAI,CAChC,CAAS,EAGL,GADAa,IAAYA,EAAUtD,GAAmB,GACrC,CAACsD,EACD,MAAMoH,EAAc,OAAO,cAE/B,MAAMM,EAAcf,EAAM,IAAIxH,CAAI,EAClC,GAAIuI,EAAa,CAEb,GAAIlJ,EAAUwB,EAAS0H,EAAY,OAAO,GACtClJ,EAAU8I,EAAQI,EAAY,MAAM,EACpC,OAAOA,EAGP,MAAMN,EAAc,OAAO,gBAA8C,CAAE,QAASjI,CAAI,CAAE,CAEjG,CACD,MAAMQ,EAAY,IAAIkB,GAAmB1B,CAAI,EAC7C,UAAWe,KAAa2G,EAAY,SAChClH,EAAU,aAAaO,CAAS,EAEpC,MAAMyH,EAAS,IAAIN,GAAgBrH,EAASsH,EAAQ3H,CAAS,EAC7D,OAAAgH,EAAM,IAAIxH,EAAMwI,CAAM,EACfA,CACX,CAyIA,SAASC,EAAgBC,EAAkBlE,EAASmE,EAAS,CACzD,IAAInL,EAGJ,IAAIoL,GAAWpL,EAAK+J,GAAoBmB,CAAgB,KAAO,MAAQlL,IAAO,OAASA,EAAKkL,EACxFC,IACAC,GAAW,IAAID,CAAO,IAE1B,MAAME,EAAkBD,EAAQ,MAAM,OAAO,EACvCE,EAAkBtE,EAAQ,MAAM,OAAO,EAC7C,GAAIqE,GAAmBC,EAAiB,CACpC,MAAMC,EAAU,CACZ,+BAA+BH,CAAO,mBAAmBpE,CAAO,IAC5E,EACYqE,GACAE,EAAQ,KAAK,iBAAiBH,CAAO,mDAAmD,EAExFC,GAAmBC,GACnBC,EAAQ,KAAK,KAAK,EAElBD,GACAC,EAAQ,KAAK,iBAAiBvE,CAAO,mDAAmD,EAE5FsB,EAAO,KAAKiD,EAAQ,KAAK,GAAG,CAAC,EAC7B,MACH,CACDlB,EAAmB,IAAI9H,EAAU,GAAG6I,CAAO,WAAY,KAAO,CAAE,QAAAA,EAAS,QAAApE,CAAO,GAAK,SAAsC,CAAA,CAC/H,CA2BA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAgBA,MAAMwE,GAAU,8BACVC,GAAa,EACbC,EAAa,2BACnB,IAAIC,EAAY,KAChB,SAASC,GAAe,CACpB,OAAKD,IACDA,EAAY5E,GAAOyE,GAASC,GAAY,CACpC,QAAS,CAAClE,EAAIsE,IAAe,CAMzB,OAAQA,EAAU,CACd,IAAK,GACD,GAAI,CACAtE,EAAG,kBAAkBmE,CAAU,CAClC,OACM5L,EAAG,CAIN,QAAQ,KAAKA,CAAC,CACjB,CACR,CACJ,CACb,CAAS,EAAE,MAAMA,GAAK,CACV,MAAM2K,EAAc,OAAO,WAAoC,CAC3D,qBAAsB3K,EAAE,OACxC,CAAa,CACb,CAAS,GAEE6L,CACX,CACA,eAAeG,GAA4B1B,EAAK,CAC5C,GAAI,CAEA,MAAMnE,GADK,MAAM2F,KACH,YAAYF,CAAU,EAC9BK,EAAS,MAAM9F,EAAG,YAAYyF,CAAU,EAAE,IAAIM,EAAW5B,CAAG,CAAC,EAGnE,aAAMnE,EAAG,KACF8F,CACV,OACM,EAAG,CACN,GAAI,aAAalL,EACbyH,EAAO,KAAK,EAAE,OAAO,MAEpB,CACD,MAAM2D,EAAcxB,EAAc,OAAO,UAAkC,CACvE,qBAA4D,GAAE,OAC9E,CAAa,EACDnC,EAAO,KAAK2D,EAAY,OAAO,CAClC,CACJ,CACL,CACA,eAAeC,EAA2B9B,EAAK+B,EAAiB,CAC5D,GAAI,CAEA,MAAMlG,GADK,MAAM2F,KACH,YAAYF,EAAY,WAAW,EAEjD,MADoBzF,EAAG,YAAYyF,CAAU,EAC3B,IAAIS,EAAiBH,EAAW5B,CAAG,CAAC,EACtD,MAAMnE,EAAG,IACZ,OACMnG,EAAG,CACN,GAAIA,aAAae,EACbyH,EAAO,KAAKxI,EAAE,OAAO,MAEpB,CACD,MAAMmM,EAAcxB,EAAc,OAAO,UAAoC,CACzE,qBAA4D3K,GAAE,OAC9E,CAAa,EACDwI,EAAO,KAAK2D,EAAY,OAAO,CAClC,CACJ,CACL,CACA,SAASD,EAAW5B,EAAK,CACrB,MAAO,GAAGA,EAAI,IAAI,IAAIA,EAAI,QAAQ,KAAK,EAC3C,CAEA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAgBA,MAAMgC,GAAmB,KAEnBC,GAAwC,GAAK,GAAK,GAAK,GAAK,IAClE,MAAMC,EAAqB,CACvB,YAAYtJ,EAAW,CACnB,KAAK,UAAYA,EAUjB,KAAK,iBAAmB,KACxB,MAAMoH,EAAM,KAAK,UAAU,YAAY,KAAK,EAAE,eAC9C,KAAK,SAAW,IAAImC,GAAqBnC,CAAG,EAC5C,KAAK,wBAA0B,KAAK,SAAS,KAAM,EAAC,KAAK2B,IACrD,KAAK,iBAAmBA,EACjBA,EACV,CACJ,CAQD,MAAM,kBAAmB,CACrB,IAAI/L,EAAIwM,EAMR,MAAMC,EALiB,KAAK,UACvB,YAAY,iBAAiB,EAC7B,eAGwB,wBACvBC,EAAOC,IACb,GAAM,IAAA3M,EAAK,KAAK,oBAAsB,MAAQA,IAAO,OAAS,OAASA,EAAG,aAAe,OACrF,KAAK,iBAAmB,MAAM,KAAK,0BAE7BwM,EAAK,KAAK,oBAAsB,MAAQA,IAAO,OAAS,OAASA,EAAG,aAAe,QAMzF,OAAK,iBAAiB,wBAA0BE,GAChD,KAAK,iBAAiB,WAAW,KAAKE,GAAuBA,EAAoB,OAASF,CAAI,GAK9F,YAAK,iBAAiB,WAAW,KAAK,CAAE,KAAAA,EAAM,MAAAD,CAAK,CAAE,EAGzD,KAAK,iBAAiB,WAAa,KAAK,iBAAiB,WAAW,OAAOG,GAAuB,CAC9F,MAAMC,EAAc,IAAI,KAAKD,EAAoB,IAAI,EAAE,UAEvD,OADY,KAAK,MACJC,GAAeR,EACxC,CAAS,EACM,KAAK,SAAS,UAAU,KAAK,gBAAgB,CACvD,CAQD,MAAM,qBAAsB,CACxB,IAAIrM,EAKJ,GAJI,KAAK,mBAAqB,MAC1B,MAAM,KAAK,0BAGTA,EAAK,KAAK,oBAAsB,MAAQA,IAAO,OAAS,OAASA,EAAG,aAAe,MACrF,KAAK,iBAAiB,WAAW,SAAW,EAC5C,MAAO,GAEX,MAAM0M,EAAOC,IAEP,CAAE,iBAAAG,EAAkB,cAAAC,CAAe,EAAGC,GAA2B,KAAK,iBAAiB,UAAU,EACjGC,EAAe9N,EAA8B,KAAK,UAAU,CAAE,QAAS,EAAG,WAAY2N,CAAkB,CAAA,CAAC,EAE/G,YAAK,iBAAiB,sBAAwBJ,EAC1CK,EAAc,OAAS,GAEvB,KAAK,iBAAiB,WAAaA,EAInC,MAAM,KAAK,SAAS,UAAU,KAAK,gBAAgB,IAGnD,KAAK,iBAAiB,WAAa,GAE9B,KAAK,SAAS,UAAU,KAAK,gBAAgB,GAE/CE,CACV,CACL,CACA,SAASN,GAAmB,CAGxB,OAFc,IAAI,OAEL,YAAa,EAAC,UAAU,EAAG,EAAE,CAC9C,CACA,SAASK,GAA2BE,EAAiBC,EAAUf,GAAkB,CAG7E,MAAMU,EAAmB,CAAA,EAEzB,IAAIC,EAAgBG,EAAgB,QACpC,UAAWN,KAAuBM,EAAiB,CAE/C,MAAME,EAAiBN,EAAiB,KAAKO,GAAMA,EAAG,QAAUT,EAAoB,KAAK,EACzF,GAAKQ,GAiBD,GAHAA,EAAe,MAAM,KAAKR,EAAoB,IAAI,EAG9CU,EAAWR,CAAgB,EAAIK,EAAS,CACxCC,EAAe,MAAM,MACrB,KACH,UAlBDN,EAAiB,KAAK,CAClB,MAAOF,EAAoB,MAC3B,MAAO,CAACA,EAAoB,IAAI,CAChD,CAAa,EACGU,EAAWR,CAAgB,EAAIK,EAAS,CAGxCL,EAAiB,IAAG,EACpB,KACH,CAaLC,EAAgBA,EAAc,MAAM,CAAC,CACxC,CACD,MAAO,CACH,iBAAAD,EACA,cAAAC,CACR,CACA,CACA,MAAMR,EAAqB,CACvB,YAAYnC,EAAK,CACb,KAAK,IAAMA,EACX,KAAK,wBAA0B,KAAK,8BACvC,CACD,MAAM,8BAA+B,CACjC,OAAK7J,GAAoB,EAIdC,GAA2B,EAC7B,KAAK,IAAM,EAAI,EACf,MAAM,IAAM,EAAK,EALf,EAOd,CAID,MAAM,MAAO,CAET,GADwB,MAAM,KAAK,wBAI9B,CACD,MAAM+M,EAAqB,MAAMzB,GAA4B,KAAK,GAAG,EACrE,OAA4EyB,GAAmB,WACpFA,EAGA,CAAE,WAAY,CAAA,EAE5B,KAVG,OAAO,CAAE,WAAY,CAAA,EAW5B,CAED,MAAM,UAAUC,EAAkB,CAC9B,IAAIxN,EAEJ,GADwB,MAAM,KAAK,wBAI9B,CACD,MAAMyN,EAA2B,MAAM,KAAK,OAC5C,OAAOvB,EAA2B,KAAK,IAAK,CACxC,uBAAwBlM,EAAKwN,EAAiB,yBAA2B,MAAQxN,IAAO,OAASA,EAAKyN,EAAyB,sBAC/H,WAAYD,EAAiB,UAC7C,CAAa,CACJ,KARG,OASP,CAED,MAAM,IAAIA,EAAkB,CACxB,IAAIxN,EAEJ,GADwB,MAAM,KAAK,wBAI9B,CACD,MAAMyN,EAA2B,MAAM,KAAK,OAC5C,OAAOvB,EAA2B,KAAK,IAAK,CACxC,uBAAwBlM,EAAKwN,EAAiB,yBAA2B,MAAQxN,IAAO,OAASA,EAAKyN,EAAyB,sBAC/H,WAAY,CACR,GAAGA,EAAyB,WAC5B,GAAGD,EAAiB,UACvB,CACjB,CAAa,CACJ,KAXG,OAYP,CACL,CAMA,SAASF,EAAWJ,EAAiB,CAEjC,OAAO/N,EAEP,KAAK,UAAU,CAAE,QAAS,EAAG,WAAY+N,CAAe,CAAE,CAAC,EAAE,MACjE,CAEA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAgBA,SAASQ,GAAuBvC,EAAS,CACrCd,EAAmB,IAAI9H,EAAU,kBAAmBS,GAAa,IAAIiF,GAA0BjF,CAAS,EAAG,SAAS,CAA6B,EACjJqH,EAAmB,IAAI9H,EAAU,YAAaS,GAAa,IAAIsJ,GAAqBtJ,CAAS,EAAG,SAAS,CAA6B,EAEtIiI,EAAgB7C,EAAQC,EAAW8C,CAAO,EAE1CF,EAAgB7C,EAAQC,EAAW,SAAS,EAE5C4C,EAAgB,UAAW,EAAE,CACjC,CAQAyC,GAAuB,EAAE,EC7mCzB,IAAIlL,GAAO,WACPwE,GAAU,UAEd;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAgBAiE,EAAgBzI,GAAMwE,GAAS,KAAK","x_google_ignoreList":[0,1,2,3,4,5,6]} \ No newline at end of file +{"version":3,"file":"index.esm.JD-0sKti.js","sources":["../../../../../../node_modules/@firebase/util/dist/index.esm2017.js","../../../../../../node_modules/@firebase/component/dist/esm/index.esm2017.js","../../../../../../node_modules/@firebase/logger/dist/esm/index.esm2017.js","../../../../../../node_modules/idb/build/wrap-idb-value.js","../../../../../../node_modules/idb/build/index.js","../../../../../../node_modules/@firebase/app/dist/esm/index.esm2017.js","../../node_modules/firebase/app/dist/esm/index.esm.js"],"sourcesContent":["/**\r\n * @license\r\n * Copyright 2017 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n/**\r\n * @fileoverview Firebase constants. Some of these (@defines) can be overridden at compile-time.\r\n */\r\nconst CONSTANTS = {\r\n /**\r\n * @define {boolean} Whether this is the client Node.js SDK.\r\n */\r\n NODE_CLIENT: false,\r\n /**\r\n * @define {boolean} Whether this is the Admin Node.js SDK.\r\n */\r\n NODE_ADMIN: false,\r\n /**\r\n * Firebase SDK Version\r\n */\r\n SDK_VERSION: '${JSCORE_VERSION}'\r\n};\n\n/**\r\n * @license\r\n * Copyright 2017 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n/**\r\n * Throws an error if the provided assertion is falsy\r\n */\r\nconst assert = function (assertion, message) {\r\n if (!assertion) {\r\n throw assertionError(message);\r\n }\r\n};\r\n/**\r\n * Returns an Error object suitable for throwing.\r\n */\r\nconst assertionError = function (message) {\r\n return new Error('Firebase Database (' +\r\n CONSTANTS.SDK_VERSION +\r\n ') INTERNAL ASSERT FAILED: ' +\r\n message);\r\n};\n\n/**\r\n * @license\r\n * Copyright 2017 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\nconst stringToByteArray$1 = function (str) {\r\n // TODO(user): Use native implementations if/when available\r\n const out = [];\r\n let p = 0;\r\n for (let i = 0; i < str.length; i++) {\r\n let c = str.charCodeAt(i);\r\n if (c < 128) {\r\n out[p++] = c;\r\n }\r\n else if (c < 2048) {\r\n out[p++] = (c >> 6) | 192;\r\n out[p++] = (c & 63) | 128;\r\n }\r\n else if ((c & 0xfc00) === 0xd800 &&\r\n i + 1 < str.length &&\r\n (str.charCodeAt(i + 1) & 0xfc00) === 0xdc00) {\r\n // Surrogate Pair\r\n c = 0x10000 + ((c & 0x03ff) << 10) + (str.charCodeAt(++i) & 0x03ff);\r\n out[p++] = (c >> 18) | 240;\r\n out[p++] = ((c >> 12) & 63) | 128;\r\n out[p++] = ((c >> 6) & 63) | 128;\r\n out[p++] = (c & 63) | 128;\r\n }\r\n else {\r\n out[p++] = (c >> 12) | 224;\r\n out[p++] = ((c >> 6) & 63) | 128;\r\n out[p++] = (c & 63) | 128;\r\n }\r\n }\r\n return out;\r\n};\r\n/**\r\n * Turns an array of numbers into the string given by the concatenation of the\r\n * characters to which the numbers correspond.\r\n * @param bytes Array of numbers representing characters.\r\n * @return Stringification of the array.\r\n */\r\nconst byteArrayToString = function (bytes) {\r\n // TODO(user): Use native implementations if/when available\r\n const out = [];\r\n let pos = 0, c = 0;\r\n while (pos < bytes.length) {\r\n const c1 = bytes[pos++];\r\n if (c1 < 128) {\r\n out[c++] = String.fromCharCode(c1);\r\n }\r\n else if (c1 > 191 && c1 < 224) {\r\n const c2 = bytes[pos++];\r\n out[c++] = String.fromCharCode(((c1 & 31) << 6) | (c2 & 63));\r\n }\r\n else if (c1 > 239 && c1 < 365) {\r\n // Surrogate Pair\r\n const c2 = bytes[pos++];\r\n const c3 = bytes[pos++];\r\n const c4 = bytes[pos++];\r\n const u = (((c1 & 7) << 18) | ((c2 & 63) << 12) | ((c3 & 63) << 6) | (c4 & 63)) -\r\n 0x10000;\r\n out[c++] = String.fromCharCode(0xd800 + (u >> 10));\r\n out[c++] = String.fromCharCode(0xdc00 + (u & 1023));\r\n }\r\n else {\r\n const c2 = bytes[pos++];\r\n const c3 = bytes[pos++];\r\n out[c++] = String.fromCharCode(((c1 & 15) << 12) | ((c2 & 63) << 6) | (c3 & 63));\r\n }\r\n }\r\n return out.join('');\r\n};\r\n// We define it as an object literal instead of a class because a class compiled down to es5 can't\r\n// be treeshaked. https://github.com/rollup/rollup/issues/1691\r\n// Static lookup maps, lazily populated by init_()\r\nconst base64 = {\r\n /**\r\n * Maps bytes to characters.\r\n */\r\n byteToCharMap_: null,\r\n /**\r\n * Maps characters to bytes.\r\n */\r\n charToByteMap_: null,\r\n /**\r\n * Maps bytes to websafe characters.\r\n * @private\r\n */\r\n byteToCharMapWebSafe_: null,\r\n /**\r\n * Maps websafe characters to bytes.\r\n * @private\r\n */\r\n charToByteMapWebSafe_: null,\r\n /**\r\n * Our default alphabet, shared between\r\n * ENCODED_VALS and ENCODED_VALS_WEBSAFE\r\n */\r\n ENCODED_VALS_BASE: 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' + 'abcdefghijklmnopqrstuvwxyz' + '0123456789',\r\n /**\r\n * Our default alphabet. Value 64 (=) is special; it means \"nothing.\"\r\n */\r\n get ENCODED_VALS() {\r\n return this.ENCODED_VALS_BASE + '+/=';\r\n },\r\n /**\r\n * Our websafe alphabet.\r\n */\r\n get ENCODED_VALS_WEBSAFE() {\r\n return this.ENCODED_VALS_BASE + '-_.';\r\n },\r\n /**\r\n * Whether this browser supports the atob and btoa functions. This extension\r\n * started at Mozilla but is now implemented by many browsers. We use the\r\n * ASSUME_* variables to avoid pulling in the full useragent detection library\r\n * but still allowing the standard per-browser compilations.\r\n *\r\n */\r\n HAS_NATIVE_SUPPORT: typeof atob === 'function',\r\n /**\r\n * Base64-encode an array of bytes.\r\n *\r\n * @param input An array of bytes (numbers with\r\n * value in [0, 255]) to encode.\r\n * @param webSafe Boolean indicating we should use the\r\n * alternative alphabet.\r\n * @return The base64 encoded string.\r\n */\r\n encodeByteArray(input, webSafe) {\r\n if (!Array.isArray(input)) {\r\n throw Error('encodeByteArray takes an array as a parameter');\r\n }\r\n this.init_();\r\n const byteToCharMap = webSafe\r\n ? this.byteToCharMapWebSafe_\r\n : this.byteToCharMap_;\r\n const output = [];\r\n for (let i = 0; i < input.length; i += 3) {\r\n const byte1 = input[i];\r\n const haveByte2 = i + 1 < input.length;\r\n const byte2 = haveByte2 ? input[i + 1] : 0;\r\n const haveByte3 = i + 2 < input.length;\r\n const byte3 = haveByte3 ? input[i + 2] : 0;\r\n const outByte1 = byte1 >> 2;\r\n const outByte2 = ((byte1 & 0x03) << 4) | (byte2 >> 4);\r\n let outByte3 = ((byte2 & 0x0f) << 2) | (byte3 >> 6);\r\n let outByte4 = byte3 & 0x3f;\r\n if (!haveByte3) {\r\n outByte4 = 64;\r\n if (!haveByte2) {\r\n outByte3 = 64;\r\n }\r\n }\r\n output.push(byteToCharMap[outByte1], byteToCharMap[outByte2], byteToCharMap[outByte3], byteToCharMap[outByte4]);\r\n }\r\n return output.join('');\r\n },\r\n /**\r\n * Base64-encode a string.\r\n *\r\n * @param input A string to encode.\r\n * @param webSafe If true, we should use the\r\n * alternative alphabet.\r\n * @return The base64 encoded string.\r\n */\r\n encodeString(input, webSafe) {\r\n // Shortcut for Mozilla browsers that implement\r\n // a native base64 encoder in the form of \"btoa/atob\"\r\n if (this.HAS_NATIVE_SUPPORT && !webSafe) {\r\n return btoa(input);\r\n }\r\n return this.encodeByteArray(stringToByteArray$1(input), webSafe);\r\n },\r\n /**\r\n * Base64-decode a string.\r\n *\r\n * @param input to decode.\r\n * @param webSafe True if we should use the\r\n * alternative alphabet.\r\n * @return string representing the decoded value.\r\n */\r\n decodeString(input, webSafe) {\r\n // Shortcut for Mozilla browsers that implement\r\n // a native base64 encoder in the form of \"btoa/atob\"\r\n if (this.HAS_NATIVE_SUPPORT && !webSafe) {\r\n return atob(input);\r\n }\r\n return byteArrayToString(this.decodeStringToByteArray(input, webSafe));\r\n },\r\n /**\r\n * Base64-decode a string.\r\n *\r\n * In base-64 decoding, groups of four characters are converted into three\r\n * bytes. If the encoder did not apply padding, the input length may not\r\n * be a multiple of 4.\r\n *\r\n * In this case, the last group will have fewer than 4 characters, and\r\n * padding will be inferred. If the group has one or two characters, it decodes\r\n * to one byte. If the group has three characters, it decodes to two bytes.\r\n *\r\n * @param input Input to decode.\r\n * @param webSafe True if we should use the web-safe alphabet.\r\n * @return bytes representing the decoded value.\r\n */\r\n decodeStringToByteArray(input, webSafe) {\r\n this.init_();\r\n const charToByteMap = webSafe\r\n ? this.charToByteMapWebSafe_\r\n : this.charToByteMap_;\r\n const output = [];\r\n for (let i = 0; i < input.length;) {\r\n const byte1 = charToByteMap[input.charAt(i++)];\r\n const haveByte2 = i < input.length;\r\n const byte2 = haveByte2 ? charToByteMap[input.charAt(i)] : 0;\r\n ++i;\r\n const haveByte3 = i < input.length;\r\n const byte3 = haveByte3 ? charToByteMap[input.charAt(i)] : 64;\r\n ++i;\r\n const haveByte4 = i < input.length;\r\n const byte4 = haveByte4 ? charToByteMap[input.charAt(i)] : 64;\r\n ++i;\r\n if (byte1 == null || byte2 == null || byte3 == null || byte4 == null) {\r\n throw new DecodeBase64StringError();\r\n }\r\n const outByte1 = (byte1 << 2) | (byte2 >> 4);\r\n output.push(outByte1);\r\n if (byte3 !== 64) {\r\n const outByte2 = ((byte2 << 4) & 0xf0) | (byte3 >> 2);\r\n output.push(outByte2);\r\n if (byte4 !== 64) {\r\n const outByte3 = ((byte3 << 6) & 0xc0) | byte4;\r\n output.push(outByte3);\r\n }\r\n }\r\n }\r\n return output;\r\n },\r\n /**\r\n * Lazy static initialization function. Called before\r\n * accessing any of the static map variables.\r\n * @private\r\n */\r\n init_() {\r\n if (!this.byteToCharMap_) {\r\n this.byteToCharMap_ = {};\r\n this.charToByteMap_ = {};\r\n this.byteToCharMapWebSafe_ = {};\r\n this.charToByteMapWebSafe_ = {};\r\n // We want quick mappings back and forth, so we precompute two maps.\r\n for (let i = 0; i < this.ENCODED_VALS.length; i++) {\r\n this.byteToCharMap_[i] = this.ENCODED_VALS.charAt(i);\r\n this.charToByteMap_[this.byteToCharMap_[i]] = i;\r\n this.byteToCharMapWebSafe_[i] = this.ENCODED_VALS_WEBSAFE.charAt(i);\r\n this.charToByteMapWebSafe_[this.byteToCharMapWebSafe_[i]] = i;\r\n // Be forgiving when decoding and correctly decode both encodings.\r\n if (i >= this.ENCODED_VALS_BASE.length) {\r\n this.charToByteMap_[this.ENCODED_VALS_WEBSAFE.charAt(i)] = i;\r\n this.charToByteMapWebSafe_[this.ENCODED_VALS.charAt(i)] = i;\r\n }\r\n }\r\n }\r\n }\r\n};\r\n/**\r\n * An error encountered while decoding base64 string.\r\n */\r\nclass DecodeBase64StringError extends Error {\r\n constructor() {\r\n super(...arguments);\r\n this.name = 'DecodeBase64StringError';\r\n }\r\n}\r\n/**\r\n * URL-safe base64 encoding\r\n */\r\nconst base64Encode = function (str) {\r\n const utf8Bytes = stringToByteArray$1(str);\r\n return base64.encodeByteArray(utf8Bytes, true);\r\n};\r\n/**\r\n * URL-safe base64 encoding (without \".\" padding in the end).\r\n * e.g. Used in JSON Web Token (JWT) parts.\r\n */\r\nconst base64urlEncodeWithoutPadding = function (str) {\r\n // Use base64url encoding and remove padding in the end (dot characters).\r\n return base64Encode(str).replace(/\\./g, '');\r\n};\r\n/**\r\n * URL-safe base64 decoding\r\n *\r\n * NOTE: DO NOT use the global atob() function - it does NOT support the\r\n * base64Url variant encoding.\r\n *\r\n * @param str To be decoded\r\n * @return Decoded result, if possible\r\n */\r\nconst base64Decode = function (str) {\r\n try {\r\n return base64.decodeString(str, true);\r\n }\r\n catch (e) {\r\n console.error('base64Decode failed: ', e);\r\n }\r\n return null;\r\n};\n\n/**\r\n * @license\r\n * Copyright 2017 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n/**\r\n * Do a deep-copy of basic JavaScript Objects or Arrays.\r\n */\r\nfunction deepCopy(value) {\r\n return deepExtend(undefined, value);\r\n}\r\n/**\r\n * Copy properties from source to target (recursively allows extension\r\n * of Objects and Arrays). Scalar values in the target are over-written.\r\n * If target is undefined, an object of the appropriate type will be created\r\n * (and returned).\r\n *\r\n * We recursively copy all child properties of plain Objects in the source- so\r\n * that namespace- like dictionaries are merged.\r\n *\r\n * Note that the target can be a function, in which case the properties in\r\n * the source Object are copied onto it as static properties of the Function.\r\n *\r\n * Note: we don't merge __proto__ to prevent prototype pollution\r\n */\r\nfunction deepExtend(target, source) {\r\n if (!(source instanceof Object)) {\r\n return source;\r\n }\r\n switch (source.constructor) {\r\n case Date:\r\n // Treat Dates like scalars; if the target date object had any child\r\n // properties - they will be lost!\r\n const dateValue = source;\r\n return new Date(dateValue.getTime());\r\n case Object:\r\n if (target === undefined) {\r\n target = {};\r\n }\r\n break;\r\n case Array:\r\n // Always copy the array source and overwrite the target.\r\n target = [];\r\n break;\r\n default:\r\n // Not a plain Object - treat it as a scalar.\r\n return source;\r\n }\r\n for (const prop in source) {\r\n // use isValidKey to guard against prototype pollution. See https://snyk.io/vuln/SNYK-JS-LODASH-450202\r\n if (!source.hasOwnProperty(prop) || !isValidKey(prop)) {\r\n continue;\r\n }\r\n target[prop] = deepExtend(target[prop], source[prop]);\r\n }\r\n return target;\r\n}\r\nfunction isValidKey(key) {\r\n return key !== '__proto__';\r\n}\n\n/**\r\n * @license\r\n * Copyright 2022 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n/**\r\n * Polyfill for `globalThis` object.\r\n * @returns the `globalThis` object for the given environment.\r\n * @public\r\n */\r\nfunction getGlobal() {\r\n if (typeof self !== 'undefined') {\r\n return self;\r\n }\r\n if (typeof window !== 'undefined') {\r\n return window;\r\n }\r\n if (typeof global !== 'undefined') {\r\n return global;\r\n }\r\n throw new Error('Unable to locate global object.');\r\n}\n\n/**\r\n * @license\r\n * Copyright 2022 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\nconst getDefaultsFromGlobal = () => getGlobal().__FIREBASE_DEFAULTS__;\r\n/**\r\n * Attempt to read defaults from a JSON string provided to\r\n * process(.)env(.)__FIREBASE_DEFAULTS__ or a JSON file whose path is in\r\n * process(.)env(.)__FIREBASE_DEFAULTS_PATH__\r\n * The dots are in parens because certain compilers (Vite?) cannot\r\n * handle seeing that variable in comments.\r\n * See https://github.com/firebase/firebase-js-sdk/issues/6838\r\n */\r\nconst getDefaultsFromEnvVariable = () => {\r\n if (typeof process === 'undefined' || typeof process.env === 'undefined') {\r\n return;\r\n }\r\n const defaultsJsonString = process.env.__FIREBASE_DEFAULTS__;\r\n if (defaultsJsonString) {\r\n return JSON.parse(defaultsJsonString);\r\n }\r\n};\r\nconst getDefaultsFromCookie = () => {\r\n if (typeof document === 'undefined') {\r\n return;\r\n }\r\n let match;\r\n try {\r\n match = document.cookie.match(/__FIREBASE_DEFAULTS__=([^;]+)/);\r\n }\r\n catch (e) {\r\n // Some environments such as Angular Universal SSR have a\r\n // `document` object but error on accessing `document.cookie`.\r\n return;\r\n }\r\n const decoded = match && base64Decode(match[1]);\r\n return decoded && JSON.parse(decoded);\r\n};\r\n/**\r\n * Get the __FIREBASE_DEFAULTS__ object. It checks in order:\r\n * (1) if such an object exists as a property of `globalThis`\r\n * (2) if such an object was provided on a shell environment variable\r\n * (3) if such an object exists in a cookie\r\n * @public\r\n */\r\nconst getDefaults = () => {\r\n try {\r\n return (getDefaultsFromGlobal() ||\r\n getDefaultsFromEnvVariable() ||\r\n getDefaultsFromCookie());\r\n }\r\n catch (e) {\r\n /**\r\n * Catch-all for being unable to get __FIREBASE_DEFAULTS__ due\r\n * to any environment case we have not accounted for. Log to\r\n * info instead of swallowing so we can find these unknown cases\r\n * and add paths for them if needed.\r\n */\r\n console.info(`Unable to get __FIREBASE_DEFAULTS__ due to: ${e}`);\r\n return;\r\n }\r\n};\r\n/**\r\n * Returns emulator host stored in the __FIREBASE_DEFAULTS__ object\r\n * for the given product.\r\n * @returns a URL host formatted like `127.0.0.1:9999` or `[::1]:4000` if available\r\n * @public\r\n */\r\nconst getDefaultEmulatorHost = (productName) => { var _a, _b; return (_b = (_a = getDefaults()) === null || _a === void 0 ? void 0 : _a.emulatorHosts) === null || _b === void 0 ? void 0 : _b[productName]; };\r\n/**\r\n * Returns emulator hostname and port stored in the __FIREBASE_DEFAULTS__ object\r\n * for the given product.\r\n * @returns a pair of hostname and port like `[\"::1\", 4000]` if available\r\n * @public\r\n */\r\nconst getDefaultEmulatorHostnameAndPort = (productName) => {\r\n const host = getDefaultEmulatorHost(productName);\r\n if (!host) {\r\n return undefined;\r\n }\r\n const separatorIndex = host.lastIndexOf(':'); // Finding the last since IPv6 addr also has colons.\r\n if (separatorIndex <= 0 || separatorIndex + 1 === host.length) {\r\n throw new Error(`Invalid host ${host} with no separate hostname and port!`);\r\n }\r\n // eslint-disable-next-line no-restricted-globals\r\n const port = parseInt(host.substring(separatorIndex + 1), 10);\r\n if (host[0] === '[') {\r\n // Bracket-quoted `[ipv6addr]:port` => return \"ipv6addr\" (without brackets).\r\n return [host.substring(1, separatorIndex - 1), port];\r\n }\r\n else {\r\n return [host.substring(0, separatorIndex), port];\r\n }\r\n};\r\n/**\r\n * Returns Firebase app config stored in the __FIREBASE_DEFAULTS__ object.\r\n * @public\r\n */\r\nconst getDefaultAppConfig = () => { var _a; return (_a = getDefaults()) === null || _a === void 0 ? void 0 : _a.config; };\r\n/**\r\n * Returns an experimental setting on the __FIREBASE_DEFAULTS__ object (properties\r\n * prefixed by \"_\")\r\n * @public\r\n */\r\nconst getExperimentalSetting = (name) => { var _a; return (_a = getDefaults()) === null || _a === void 0 ? void 0 : _a[`_${name}`]; };\n\n/**\r\n * @license\r\n * Copyright 2017 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\nclass Deferred {\r\n constructor() {\r\n this.reject = () => { };\r\n this.resolve = () => { };\r\n this.promise = new Promise((resolve, reject) => {\r\n this.resolve = resolve;\r\n this.reject = reject;\r\n });\r\n }\r\n /**\r\n * Our API internals are not promiseified and cannot because our callback APIs have subtle expectations around\r\n * invoking promises inline, which Promises are forbidden to do. This method accepts an optional node-style callback\r\n * and returns a node-style callback which will resolve or reject the Deferred's promise.\r\n */\r\n wrapCallback(callback) {\r\n return (error, value) => {\r\n if (error) {\r\n this.reject(error);\r\n }\r\n else {\r\n this.resolve(value);\r\n }\r\n if (typeof callback === 'function') {\r\n // Attaching noop handler just in case developer wasn't expecting\r\n // promises\r\n this.promise.catch(() => { });\r\n // Some of our callbacks don't expect a value and our own tests\r\n // assert that the parameter length is 1\r\n if (callback.length === 1) {\r\n callback(error);\r\n }\r\n else {\r\n callback(error, value);\r\n }\r\n }\r\n };\r\n }\r\n}\n\n/**\r\n * @license\r\n * Copyright 2021 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\nfunction createMockUserToken(token, projectId) {\r\n if (token.uid) {\r\n throw new Error('The \"uid\" field is no longer supported by mockUserToken. Please use \"sub\" instead for Firebase Auth User ID.');\r\n }\r\n // Unsecured JWTs use \"none\" as the algorithm.\r\n const header = {\r\n alg: 'none',\r\n type: 'JWT'\r\n };\r\n const project = projectId || 'demo-project';\r\n const iat = token.iat || 0;\r\n const sub = token.sub || token.user_id;\r\n if (!sub) {\r\n throw new Error(\"mockUserToken must contain 'sub' or 'user_id' field!\");\r\n }\r\n const payload = Object.assign({ \r\n // Set all required fields to decent defaults\r\n iss: `https://securetoken.google.com/${project}`, aud: project, iat, exp: iat + 3600, auth_time: iat, sub, user_id: sub, firebase: {\r\n sign_in_provider: 'custom',\r\n identities: {}\r\n } }, token);\r\n // Unsecured JWTs use the empty string as a signature.\r\n const signature = '';\r\n return [\r\n base64urlEncodeWithoutPadding(JSON.stringify(header)),\r\n base64urlEncodeWithoutPadding(JSON.stringify(payload)),\r\n signature\r\n ].join('.');\r\n}\n\n/**\r\n * @license\r\n * Copyright 2017 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n/**\r\n * Returns navigator.userAgent string or '' if it's not defined.\r\n * @return user agent string\r\n */\r\nfunction getUA() {\r\n if (typeof navigator !== 'undefined' &&\r\n typeof navigator['userAgent'] === 'string') {\r\n return navigator['userAgent'];\r\n }\r\n else {\r\n return '';\r\n }\r\n}\r\n/**\r\n * Detect Cordova / PhoneGap / Ionic frameworks on a mobile device.\r\n *\r\n * Deliberately does not rely on checking `file://` URLs (as this fails PhoneGap\r\n * in the Ripple emulator) nor Cordova `onDeviceReady`, which would normally\r\n * wait for a callback.\r\n */\r\nfunction isMobileCordova() {\r\n return (typeof window !== 'undefined' &&\r\n // @ts-ignore Setting up an broadly applicable index signature for Window\r\n // just to deal with this case would probably be a bad idea.\r\n !!(window['cordova'] || window['phonegap'] || window['PhoneGap']) &&\r\n /ios|iphone|ipod|ipad|android|blackberry|iemobile/i.test(getUA()));\r\n}\r\n/**\r\n * Detect Node.js.\r\n *\r\n * @return true if Node.js environment is detected or specified.\r\n */\r\n// Node detection logic from: https://github.com/iliakan/detect-node/\r\nfunction isNode() {\r\n var _a;\r\n const forceEnvironment = (_a = getDefaults()) === null || _a === void 0 ? void 0 : _a.forceEnvironment;\r\n if (forceEnvironment === 'node') {\r\n return true;\r\n }\r\n else if (forceEnvironment === 'browser') {\r\n return false;\r\n }\r\n try {\r\n return (Object.prototype.toString.call(global.process) === '[object process]');\r\n }\r\n catch (e) {\r\n return false;\r\n }\r\n}\r\n/**\r\n * Detect Browser Environment\r\n */\r\nfunction isBrowser() {\r\n return typeof window !== 'undefined' || isWebWorker();\r\n}\r\n/**\r\n * Detect Web Worker context\r\n */\r\nfunction isWebWorker() {\r\n return (typeof WorkerGlobalScope !== 'undefined' &&\r\n typeof self !== 'undefined' &&\r\n self instanceof WorkerGlobalScope);\r\n}\r\nfunction isBrowserExtension() {\r\n const runtime = typeof chrome === 'object'\r\n ? chrome.runtime\r\n : typeof browser === 'object'\r\n ? browser.runtime\r\n : undefined;\r\n return typeof runtime === 'object' && runtime.id !== undefined;\r\n}\r\n/**\r\n * Detect React Native.\r\n *\r\n * @return true if ReactNative environment is detected.\r\n */\r\nfunction isReactNative() {\r\n return (typeof navigator === 'object' && navigator['product'] === 'ReactNative');\r\n}\r\n/** Detects Electron apps. */\r\nfunction isElectron() {\r\n return getUA().indexOf('Electron/') >= 0;\r\n}\r\n/** Detects Internet Explorer. */\r\nfunction isIE() {\r\n const ua = getUA();\r\n return ua.indexOf('MSIE ') >= 0 || ua.indexOf('Trident/') >= 0;\r\n}\r\n/** Detects Universal Windows Platform apps. */\r\nfunction isUWP() {\r\n return getUA().indexOf('MSAppHost/') >= 0;\r\n}\r\n/**\r\n * Detect whether the current SDK build is the Node version.\r\n *\r\n * @return true if it's the Node SDK build.\r\n */\r\nfunction isNodeSdk() {\r\n return CONSTANTS.NODE_CLIENT === true || CONSTANTS.NODE_ADMIN === true;\r\n}\r\n/** Returns true if we are running in Safari. */\r\nfunction isSafari() {\r\n return (!isNode() &&\r\n !!navigator.userAgent &&\r\n navigator.userAgent.includes('Safari') &&\r\n !navigator.userAgent.includes('Chrome'));\r\n}\r\n/**\r\n * This method checks if indexedDB is supported by current browser/service worker context\r\n * @return true if indexedDB is supported by current browser/service worker context\r\n */\r\nfunction isIndexedDBAvailable() {\r\n try {\r\n return typeof indexedDB === 'object';\r\n }\r\n catch (e) {\r\n return false;\r\n }\r\n}\r\n/**\r\n * This method validates browser/sw context for indexedDB by opening a dummy indexedDB database and reject\r\n * if errors occur during the database open operation.\r\n *\r\n * @throws exception if current browser/sw context can't run idb.open (ex: Safari iframe, Firefox\r\n * private browsing)\r\n */\r\nfunction validateIndexedDBOpenable() {\r\n return new Promise((resolve, reject) => {\r\n try {\r\n let preExist = true;\r\n const DB_CHECK_NAME = 'validate-browser-context-for-indexeddb-analytics-module';\r\n const request = self.indexedDB.open(DB_CHECK_NAME);\r\n request.onsuccess = () => {\r\n request.result.close();\r\n // delete database only when it doesn't pre-exist\r\n if (!preExist) {\r\n self.indexedDB.deleteDatabase(DB_CHECK_NAME);\r\n }\r\n resolve(true);\r\n };\r\n request.onupgradeneeded = () => {\r\n preExist = false;\r\n };\r\n request.onerror = () => {\r\n var _a;\r\n reject(((_a = request.error) === null || _a === void 0 ? void 0 : _a.message) || '');\r\n };\r\n }\r\n catch (error) {\r\n reject(error);\r\n }\r\n });\r\n}\r\n/**\r\n *\r\n * This method checks whether cookie is enabled within current browser\r\n * @return true if cookie is enabled within current browser\r\n */\r\nfunction areCookiesEnabled() {\r\n if (typeof navigator === 'undefined' || !navigator.cookieEnabled) {\r\n return false;\r\n }\r\n return true;\r\n}\n\n/**\r\n * @license\r\n * Copyright 2017 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n/**\r\n * @fileoverview Standardized Firebase Error.\r\n *\r\n * Usage:\r\n *\r\n * // Typescript string literals for type-safe codes\r\n * type Err =\r\n * 'unknown' |\r\n * 'object-not-found'\r\n * ;\r\n *\r\n * // Closure enum for type-safe error codes\r\n * // at-enum {string}\r\n * var Err = {\r\n * UNKNOWN: 'unknown',\r\n * OBJECT_NOT_FOUND: 'object-not-found',\r\n * }\r\n *\r\n * let errors: Map = {\r\n * 'generic-error': \"Unknown error\",\r\n * 'file-not-found': \"Could not find file: {$file}\",\r\n * };\r\n *\r\n * // Type-safe function - must pass a valid error code as param.\r\n * let error = new ErrorFactory('service', 'Service', errors);\r\n *\r\n * ...\r\n * throw error.create(Err.GENERIC);\r\n * ...\r\n * throw error.create(Err.FILE_NOT_FOUND, {'file': fileName});\r\n * ...\r\n * // Service: Could not file file: foo.txt (service/file-not-found).\r\n *\r\n * catch (e) {\r\n * assert(e.message === \"Could not find file: foo.txt.\");\r\n * if ((e as FirebaseError)?.code === 'service/file-not-found') {\r\n * console.log(\"Could not read file: \" + e['file']);\r\n * }\r\n * }\r\n */\r\nconst ERROR_NAME = 'FirebaseError';\r\n// Based on code from:\r\n// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Error#Custom_Error_Types\r\nclass FirebaseError extends Error {\r\n constructor(\r\n /** The error code for this error. */\r\n code, message, \r\n /** Custom data for this error. */\r\n customData) {\r\n super(message);\r\n this.code = code;\r\n this.customData = customData;\r\n /** The custom name for all FirebaseErrors. */\r\n this.name = ERROR_NAME;\r\n // Fix For ES5\r\n // https://github.com/Microsoft/TypeScript-wiki/blob/master/Breaking-Changes.md#extending-built-ins-like-error-array-and-map-may-no-longer-work\r\n Object.setPrototypeOf(this, FirebaseError.prototype);\r\n // Maintains proper stack trace for where our error was thrown.\r\n // Only available on V8.\r\n if (Error.captureStackTrace) {\r\n Error.captureStackTrace(this, ErrorFactory.prototype.create);\r\n }\r\n }\r\n}\r\nclass ErrorFactory {\r\n constructor(service, serviceName, errors) {\r\n this.service = service;\r\n this.serviceName = serviceName;\r\n this.errors = errors;\r\n }\r\n create(code, ...data) {\r\n const customData = data[0] || {};\r\n const fullCode = `${this.service}/${code}`;\r\n const template = this.errors[code];\r\n const message = template ? replaceTemplate(template, customData) : 'Error';\r\n // Service Name: Error message (service/code).\r\n const fullMessage = `${this.serviceName}: ${message} (${fullCode}).`;\r\n const error = new FirebaseError(fullCode, fullMessage, customData);\r\n return error;\r\n }\r\n}\r\nfunction replaceTemplate(template, data) {\r\n return template.replace(PATTERN, (_, key) => {\r\n const value = data[key];\r\n return value != null ? String(value) : `<${key}?>`;\r\n });\r\n}\r\nconst PATTERN = /\\{\\$([^}]+)}/g;\n\n/**\r\n * @license\r\n * Copyright 2017 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n/**\r\n * Evaluates a JSON string into a javascript object.\r\n *\r\n * @param {string} str A string containing JSON.\r\n * @return {*} The javascript object representing the specified JSON.\r\n */\r\nfunction jsonEval(str) {\r\n return JSON.parse(str);\r\n}\r\n/**\r\n * Returns JSON representing a javascript object.\r\n * @param {*} data Javascript object to be stringified.\r\n * @return {string} The JSON contents of the object.\r\n */\r\nfunction stringify(data) {\r\n return JSON.stringify(data);\r\n}\n\n/**\r\n * @license\r\n * Copyright 2017 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n/**\r\n * Decodes a Firebase auth. token into constituent parts.\r\n *\r\n * Notes:\r\n * - May return with invalid / incomplete claims if there's no native base64 decoding support.\r\n * - Doesn't check if the token is actually valid.\r\n */\r\nconst decode = function (token) {\r\n let header = {}, claims = {}, data = {}, signature = '';\r\n try {\r\n const parts = token.split('.');\r\n header = jsonEval(base64Decode(parts[0]) || '');\r\n claims = jsonEval(base64Decode(parts[1]) || '');\r\n signature = parts[2];\r\n data = claims['d'] || {};\r\n delete claims['d'];\r\n }\r\n catch (e) { }\r\n return {\r\n header,\r\n claims,\r\n data,\r\n signature\r\n };\r\n};\r\n/**\r\n * Decodes a Firebase auth. token and checks the validity of its time-based claims. Will return true if the\r\n * token is within the time window authorized by the 'nbf' (not-before) and 'iat' (issued-at) claims.\r\n *\r\n * Notes:\r\n * - May return a false negative if there's no native base64 decoding support.\r\n * - Doesn't check if the token is actually valid.\r\n */\r\nconst isValidTimestamp = function (token) {\r\n const claims = decode(token).claims;\r\n const now = Math.floor(new Date().getTime() / 1000);\r\n let validSince = 0, validUntil = 0;\r\n if (typeof claims === 'object') {\r\n if (claims.hasOwnProperty('nbf')) {\r\n validSince = claims['nbf'];\r\n }\r\n else if (claims.hasOwnProperty('iat')) {\r\n validSince = claims['iat'];\r\n }\r\n if (claims.hasOwnProperty('exp')) {\r\n validUntil = claims['exp'];\r\n }\r\n else {\r\n // token will expire after 24h by default\r\n validUntil = validSince + 86400;\r\n }\r\n }\r\n return (!!now &&\r\n !!validSince &&\r\n !!validUntil &&\r\n now >= validSince &&\r\n now <= validUntil);\r\n};\r\n/**\r\n * Decodes a Firebase auth. token and returns its issued at time if valid, null otherwise.\r\n *\r\n * Notes:\r\n * - May return null if there's no native base64 decoding support.\r\n * - Doesn't check if the token is actually valid.\r\n */\r\nconst issuedAtTime = function (token) {\r\n const claims = decode(token).claims;\r\n if (typeof claims === 'object' && claims.hasOwnProperty('iat')) {\r\n return claims['iat'];\r\n }\r\n return null;\r\n};\r\n/**\r\n * Decodes a Firebase auth. token and checks the validity of its format. Expects a valid issued-at time.\r\n *\r\n * Notes:\r\n * - May return a false negative if there's no native base64 decoding support.\r\n * - Doesn't check if the token is actually valid.\r\n */\r\nconst isValidFormat = function (token) {\r\n const decoded = decode(token), claims = decoded.claims;\r\n return !!claims && typeof claims === 'object' && claims.hasOwnProperty('iat');\r\n};\r\n/**\r\n * Attempts to peer into an auth token and determine if it's an admin auth token by looking at the claims portion.\r\n *\r\n * Notes:\r\n * - May return a false negative if there's no native base64 decoding support.\r\n * - Doesn't check if the token is actually valid.\r\n */\r\nconst isAdmin = function (token) {\r\n const claims = decode(token).claims;\r\n return typeof claims === 'object' && claims['admin'] === true;\r\n};\n\n/**\r\n * @license\r\n * Copyright 2017 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\nfunction contains(obj, key) {\r\n return Object.prototype.hasOwnProperty.call(obj, key);\r\n}\r\nfunction safeGet(obj, key) {\r\n if (Object.prototype.hasOwnProperty.call(obj, key)) {\r\n return obj[key];\r\n }\r\n else {\r\n return undefined;\r\n }\r\n}\r\nfunction isEmpty(obj) {\r\n for (const key in obj) {\r\n if (Object.prototype.hasOwnProperty.call(obj, key)) {\r\n return false;\r\n }\r\n }\r\n return true;\r\n}\r\nfunction map(obj, fn, contextObj) {\r\n const res = {};\r\n for (const key in obj) {\r\n if (Object.prototype.hasOwnProperty.call(obj, key)) {\r\n res[key] = fn.call(contextObj, obj[key], key, obj);\r\n }\r\n }\r\n return res;\r\n}\r\n/**\r\n * Deep equal two objects. Support Arrays and Objects.\r\n */\r\nfunction deepEqual(a, b) {\r\n if (a === b) {\r\n return true;\r\n }\r\n const aKeys = Object.keys(a);\r\n const bKeys = Object.keys(b);\r\n for (const k of aKeys) {\r\n if (!bKeys.includes(k)) {\r\n return false;\r\n }\r\n const aProp = a[k];\r\n const bProp = b[k];\r\n if (isObject(aProp) && isObject(bProp)) {\r\n if (!deepEqual(aProp, bProp)) {\r\n return false;\r\n }\r\n }\r\n else if (aProp !== bProp) {\r\n return false;\r\n }\r\n }\r\n for (const k of bKeys) {\r\n if (!aKeys.includes(k)) {\r\n return false;\r\n }\r\n }\r\n return true;\r\n}\r\nfunction isObject(thing) {\r\n return thing !== null && typeof thing === 'object';\r\n}\n\n/**\r\n * @license\r\n * Copyright 2022 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n/**\r\n * Rejects if the given promise doesn't resolve in timeInMS milliseconds.\r\n * @internal\r\n */\r\nfunction promiseWithTimeout(promise, timeInMS = 2000) {\r\n const deferredPromise = new Deferred();\r\n setTimeout(() => deferredPromise.reject('timeout!'), timeInMS);\r\n promise.then(deferredPromise.resolve, deferredPromise.reject);\r\n return deferredPromise.promise;\r\n}\n\n/**\r\n * @license\r\n * Copyright 2017 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n/**\r\n * Returns a querystring-formatted string (e.g. &arg=val&arg2=val2) from a\r\n * params object (e.g. {arg: 'val', arg2: 'val2'})\r\n * Note: You must prepend it with ? when adding it to a URL.\r\n */\r\nfunction querystring(querystringParams) {\r\n const params = [];\r\n for (const [key, value] of Object.entries(querystringParams)) {\r\n if (Array.isArray(value)) {\r\n value.forEach(arrayVal => {\r\n params.push(encodeURIComponent(key) + '=' + encodeURIComponent(arrayVal));\r\n });\r\n }\r\n else {\r\n params.push(encodeURIComponent(key) + '=' + encodeURIComponent(value));\r\n }\r\n }\r\n return params.length ? '&' + params.join('&') : '';\r\n}\r\n/**\r\n * Decodes a querystring (e.g. ?arg=val&arg2=val2) into a params object\r\n * (e.g. {arg: 'val', arg2: 'val2'})\r\n */\r\nfunction querystringDecode(querystring) {\r\n const obj = {};\r\n const tokens = querystring.replace(/^\\?/, '').split('&');\r\n tokens.forEach(token => {\r\n if (token) {\r\n const [key, value] = token.split('=');\r\n obj[decodeURIComponent(key)] = decodeURIComponent(value);\r\n }\r\n });\r\n return obj;\r\n}\r\n/**\r\n * Extract the query string part of a URL, including the leading question mark (if present).\r\n */\r\nfunction extractQuerystring(url) {\r\n const queryStart = url.indexOf('?');\r\n if (!queryStart) {\r\n return '';\r\n }\r\n const fragmentStart = url.indexOf('#', queryStart);\r\n return url.substring(queryStart, fragmentStart > 0 ? fragmentStart : undefined);\r\n}\n\n/**\r\n * @license\r\n * Copyright 2017 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n/**\r\n * @fileoverview SHA-1 cryptographic hash.\r\n * Variable names follow the notation in FIPS PUB 180-3:\r\n * http://csrc.nist.gov/publications/fips/fips180-3/fips180-3_final.pdf.\r\n *\r\n * Usage:\r\n * var sha1 = new sha1();\r\n * sha1.update(bytes);\r\n * var hash = sha1.digest();\r\n *\r\n * Performance:\r\n * Chrome 23: ~400 Mbit/s\r\n * Firefox 16: ~250 Mbit/s\r\n *\r\n */\r\n/**\r\n * SHA-1 cryptographic hash constructor.\r\n *\r\n * The properties declared here are discussed in the above algorithm document.\r\n * @constructor\r\n * @final\r\n * @struct\r\n */\r\nclass Sha1 {\r\n constructor() {\r\n /**\r\n * Holds the previous values of accumulated variables a-e in the compress_\r\n * function.\r\n * @private\r\n */\r\n this.chain_ = [];\r\n /**\r\n * A buffer holding the partially computed hash result.\r\n * @private\r\n */\r\n this.buf_ = [];\r\n /**\r\n * An array of 80 bytes, each a part of the message to be hashed. Referred to\r\n * as the message schedule in the docs.\r\n * @private\r\n */\r\n this.W_ = [];\r\n /**\r\n * Contains data needed to pad messages less than 64 bytes.\r\n * @private\r\n */\r\n this.pad_ = [];\r\n /**\r\n * @private {number}\r\n */\r\n this.inbuf_ = 0;\r\n /**\r\n * @private {number}\r\n */\r\n this.total_ = 0;\r\n this.blockSize = 512 / 8;\r\n this.pad_[0] = 128;\r\n for (let i = 1; i < this.blockSize; ++i) {\r\n this.pad_[i] = 0;\r\n }\r\n this.reset();\r\n }\r\n reset() {\r\n this.chain_[0] = 0x67452301;\r\n this.chain_[1] = 0xefcdab89;\r\n this.chain_[2] = 0x98badcfe;\r\n this.chain_[3] = 0x10325476;\r\n this.chain_[4] = 0xc3d2e1f0;\r\n this.inbuf_ = 0;\r\n this.total_ = 0;\r\n }\r\n /**\r\n * Internal compress helper function.\r\n * @param buf Block to compress.\r\n * @param offset Offset of the block in the buffer.\r\n * @private\r\n */\r\n compress_(buf, offset) {\r\n if (!offset) {\r\n offset = 0;\r\n }\r\n const W = this.W_;\r\n // get 16 big endian words\r\n if (typeof buf === 'string') {\r\n for (let i = 0; i < 16; i++) {\r\n // TODO(user): [bug 8140122] Recent versions of Safari for Mac OS and iOS\r\n // have a bug that turns the post-increment ++ operator into pre-increment\r\n // during JIT compilation. We have code that depends heavily on SHA-1 for\r\n // correctness and which is affected by this bug, so I've removed all uses\r\n // of post-increment ++ in which the result value is used. We can revert\r\n // this change once the Safari bug\r\n // (https://bugs.webkit.org/show_bug.cgi?id=109036) has been fixed and\r\n // most clients have been updated.\r\n W[i] =\r\n (buf.charCodeAt(offset) << 24) |\r\n (buf.charCodeAt(offset + 1) << 16) |\r\n (buf.charCodeAt(offset + 2) << 8) |\r\n buf.charCodeAt(offset + 3);\r\n offset += 4;\r\n }\r\n }\r\n else {\r\n for (let i = 0; i < 16; i++) {\r\n W[i] =\r\n (buf[offset] << 24) |\r\n (buf[offset + 1] << 16) |\r\n (buf[offset + 2] << 8) |\r\n buf[offset + 3];\r\n offset += 4;\r\n }\r\n }\r\n // expand to 80 words\r\n for (let i = 16; i < 80; i++) {\r\n const t = W[i - 3] ^ W[i - 8] ^ W[i - 14] ^ W[i - 16];\r\n W[i] = ((t << 1) | (t >>> 31)) & 0xffffffff;\r\n }\r\n let a = this.chain_[0];\r\n let b = this.chain_[1];\r\n let c = this.chain_[2];\r\n let d = this.chain_[3];\r\n let e = this.chain_[4];\r\n let f, k;\r\n // TODO(user): Try to unroll this loop to speed up the computation.\r\n for (let i = 0; i < 80; i++) {\r\n if (i < 40) {\r\n if (i < 20) {\r\n f = d ^ (b & (c ^ d));\r\n k = 0x5a827999;\r\n }\r\n else {\r\n f = b ^ c ^ d;\r\n k = 0x6ed9eba1;\r\n }\r\n }\r\n else {\r\n if (i < 60) {\r\n f = (b & c) | (d & (b | c));\r\n k = 0x8f1bbcdc;\r\n }\r\n else {\r\n f = b ^ c ^ d;\r\n k = 0xca62c1d6;\r\n }\r\n }\r\n const t = (((a << 5) | (a >>> 27)) + f + e + k + W[i]) & 0xffffffff;\r\n e = d;\r\n d = c;\r\n c = ((b << 30) | (b >>> 2)) & 0xffffffff;\r\n b = a;\r\n a = t;\r\n }\r\n this.chain_[0] = (this.chain_[0] + a) & 0xffffffff;\r\n this.chain_[1] = (this.chain_[1] + b) & 0xffffffff;\r\n this.chain_[2] = (this.chain_[2] + c) & 0xffffffff;\r\n this.chain_[3] = (this.chain_[3] + d) & 0xffffffff;\r\n this.chain_[4] = (this.chain_[4] + e) & 0xffffffff;\r\n }\r\n update(bytes, length) {\r\n // TODO(johnlenz): tighten the function signature and remove this check\r\n if (bytes == null) {\r\n return;\r\n }\r\n if (length === undefined) {\r\n length = bytes.length;\r\n }\r\n const lengthMinusBlock = length - this.blockSize;\r\n let n = 0;\r\n // Using local instead of member variables gives ~5% speedup on Firefox 16.\r\n const buf = this.buf_;\r\n let inbuf = this.inbuf_;\r\n // The outer while loop should execute at most twice.\r\n while (n < length) {\r\n // When we have no data in the block to top up, we can directly process the\r\n // input buffer (assuming it contains sufficient data). This gives ~25%\r\n // speedup on Chrome 23 and ~15% speedup on Firefox 16, but requires that\r\n // the data is provided in large chunks (or in multiples of 64 bytes).\r\n if (inbuf === 0) {\r\n while (n <= lengthMinusBlock) {\r\n this.compress_(bytes, n);\r\n n += this.blockSize;\r\n }\r\n }\r\n if (typeof bytes === 'string') {\r\n while (n < length) {\r\n buf[inbuf] = bytes.charCodeAt(n);\r\n ++inbuf;\r\n ++n;\r\n if (inbuf === this.blockSize) {\r\n this.compress_(buf);\r\n inbuf = 0;\r\n // Jump to the outer loop so we use the full-block optimization.\r\n break;\r\n }\r\n }\r\n }\r\n else {\r\n while (n < length) {\r\n buf[inbuf] = bytes[n];\r\n ++inbuf;\r\n ++n;\r\n if (inbuf === this.blockSize) {\r\n this.compress_(buf);\r\n inbuf = 0;\r\n // Jump to the outer loop so we use the full-block optimization.\r\n break;\r\n }\r\n }\r\n }\r\n }\r\n this.inbuf_ = inbuf;\r\n this.total_ += length;\r\n }\r\n /** @override */\r\n digest() {\r\n const digest = [];\r\n let totalBits = this.total_ * 8;\r\n // Add pad 0x80 0x00*.\r\n if (this.inbuf_ < 56) {\r\n this.update(this.pad_, 56 - this.inbuf_);\r\n }\r\n else {\r\n this.update(this.pad_, this.blockSize - (this.inbuf_ - 56));\r\n }\r\n // Add # bits.\r\n for (let i = this.blockSize - 1; i >= 56; i--) {\r\n this.buf_[i] = totalBits & 255;\r\n totalBits /= 256; // Don't use bit-shifting here!\r\n }\r\n this.compress_(this.buf_);\r\n let n = 0;\r\n for (let i = 0; i < 5; i++) {\r\n for (let j = 24; j >= 0; j -= 8) {\r\n digest[n] = (this.chain_[i] >> j) & 255;\r\n ++n;\r\n }\r\n }\r\n return digest;\r\n }\r\n}\n\n/**\r\n * Helper to make a Subscribe function (just like Promise helps make a\r\n * Thenable).\r\n *\r\n * @param executor Function which can make calls to a single Observer\r\n * as a proxy.\r\n * @param onNoObservers Callback when count of Observers goes to zero.\r\n */\r\nfunction createSubscribe(executor, onNoObservers) {\r\n const proxy = new ObserverProxy(executor, onNoObservers);\r\n return proxy.subscribe.bind(proxy);\r\n}\r\n/**\r\n * Implement fan-out for any number of Observers attached via a subscribe\r\n * function.\r\n */\r\nclass ObserverProxy {\r\n /**\r\n * @param executor Function which can make calls to a single Observer\r\n * as a proxy.\r\n * @param onNoObservers Callback when count of Observers goes to zero.\r\n */\r\n constructor(executor, onNoObservers) {\r\n this.observers = [];\r\n this.unsubscribes = [];\r\n this.observerCount = 0;\r\n // Micro-task scheduling by calling task.then().\r\n this.task = Promise.resolve();\r\n this.finalized = false;\r\n this.onNoObservers = onNoObservers;\r\n // Call the executor asynchronously so subscribers that are called\r\n // synchronously after the creation of the subscribe function\r\n // can still receive the very first value generated in the executor.\r\n this.task\r\n .then(() => {\r\n executor(this);\r\n })\r\n .catch(e => {\r\n this.error(e);\r\n });\r\n }\r\n next(value) {\r\n this.forEachObserver((observer) => {\r\n observer.next(value);\r\n });\r\n }\r\n error(error) {\r\n this.forEachObserver((observer) => {\r\n observer.error(error);\r\n });\r\n this.close(error);\r\n }\r\n complete() {\r\n this.forEachObserver((observer) => {\r\n observer.complete();\r\n });\r\n this.close();\r\n }\r\n /**\r\n * Subscribe function that can be used to add an Observer to the fan-out list.\r\n *\r\n * - We require that no event is sent to a subscriber sychronously to their\r\n * call to subscribe().\r\n */\r\n subscribe(nextOrObserver, error, complete) {\r\n let observer;\r\n if (nextOrObserver === undefined &&\r\n error === undefined &&\r\n complete === undefined) {\r\n throw new Error('Missing Observer.');\r\n }\r\n // Assemble an Observer object when passed as callback functions.\r\n if (implementsAnyMethods(nextOrObserver, [\r\n 'next',\r\n 'error',\r\n 'complete'\r\n ])) {\r\n observer = nextOrObserver;\r\n }\r\n else {\r\n observer = {\r\n next: nextOrObserver,\r\n error,\r\n complete\r\n };\r\n }\r\n if (observer.next === undefined) {\r\n observer.next = noop;\r\n }\r\n if (observer.error === undefined) {\r\n observer.error = noop;\r\n }\r\n if (observer.complete === undefined) {\r\n observer.complete = noop;\r\n }\r\n const unsub = this.unsubscribeOne.bind(this, this.observers.length);\r\n // Attempt to subscribe to a terminated Observable - we\r\n // just respond to the Observer with the final error or complete\r\n // event.\r\n if (this.finalized) {\r\n // eslint-disable-next-line @typescript-eslint/no-floating-promises\r\n this.task.then(() => {\r\n try {\r\n if (this.finalError) {\r\n observer.error(this.finalError);\r\n }\r\n else {\r\n observer.complete();\r\n }\r\n }\r\n catch (e) {\r\n // nothing\r\n }\r\n return;\r\n });\r\n }\r\n this.observers.push(observer);\r\n return unsub;\r\n }\r\n // Unsubscribe is synchronous - we guarantee that no events are sent to\r\n // any unsubscribed Observer.\r\n unsubscribeOne(i) {\r\n if (this.observers === undefined || this.observers[i] === undefined) {\r\n return;\r\n }\r\n delete this.observers[i];\r\n this.observerCount -= 1;\r\n if (this.observerCount === 0 && this.onNoObservers !== undefined) {\r\n this.onNoObservers(this);\r\n }\r\n }\r\n forEachObserver(fn) {\r\n if (this.finalized) {\r\n // Already closed by previous event....just eat the additional values.\r\n return;\r\n }\r\n // Since sendOne calls asynchronously - there is no chance that\r\n // this.observers will become undefined.\r\n for (let i = 0; i < this.observers.length; i++) {\r\n this.sendOne(i, fn);\r\n }\r\n }\r\n // Call the Observer via one of it's callback function. We are careful to\r\n // confirm that the observe has not been unsubscribed since this asynchronous\r\n // function had been queued.\r\n sendOne(i, fn) {\r\n // Execute the callback asynchronously\r\n // eslint-disable-next-line @typescript-eslint/no-floating-promises\r\n this.task.then(() => {\r\n if (this.observers !== undefined && this.observers[i] !== undefined) {\r\n try {\r\n fn(this.observers[i]);\r\n }\r\n catch (e) {\r\n // Ignore exceptions raised in Observers or missing methods of an\r\n // Observer.\r\n // Log error to console. b/31404806\r\n if (typeof console !== 'undefined' && console.error) {\r\n console.error(e);\r\n }\r\n }\r\n }\r\n });\r\n }\r\n close(err) {\r\n if (this.finalized) {\r\n return;\r\n }\r\n this.finalized = true;\r\n if (err !== undefined) {\r\n this.finalError = err;\r\n }\r\n // Proxy is no longer needed - garbage collect references\r\n // eslint-disable-next-line @typescript-eslint/no-floating-promises\r\n this.task.then(() => {\r\n this.observers = undefined;\r\n this.onNoObservers = undefined;\r\n });\r\n }\r\n}\r\n/** Turn synchronous function into one called asynchronously. */\r\n// eslint-disable-next-line @typescript-eslint/ban-types\r\nfunction async(fn, onError) {\r\n return (...args) => {\r\n Promise.resolve(true)\r\n .then(() => {\r\n fn(...args);\r\n })\r\n .catch((error) => {\r\n if (onError) {\r\n onError(error);\r\n }\r\n });\r\n };\r\n}\r\n/**\r\n * Return true if the object passed in implements any of the named methods.\r\n */\r\nfunction implementsAnyMethods(obj, methods) {\r\n if (typeof obj !== 'object' || obj === null) {\r\n return false;\r\n }\r\n for (const method of methods) {\r\n if (method in obj && typeof obj[method] === 'function') {\r\n return true;\r\n }\r\n }\r\n return false;\r\n}\r\nfunction noop() {\r\n // do nothing\r\n}\n\n/**\r\n * @license\r\n * Copyright 2017 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n/**\r\n * Check to make sure the appropriate number of arguments are provided for a public function.\r\n * Throws an error if it fails.\r\n *\r\n * @param fnName The function name\r\n * @param minCount The minimum number of arguments to allow for the function call\r\n * @param maxCount The maximum number of argument to allow for the function call\r\n * @param argCount The actual number of arguments provided.\r\n */\r\nconst validateArgCount = function (fnName, minCount, maxCount, argCount) {\r\n let argError;\r\n if (argCount < minCount) {\r\n argError = 'at least ' + minCount;\r\n }\r\n else if (argCount > maxCount) {\r\n argError = maxCount === 0 ? 'none' : 'no more than ' + maxCount;\r\n }\r\n if (argError) {\r\n const error = fnName +\r\n ' failed: Was called with ' +\r\n argCount +\r\n (argCount === 1 ? ' argument.' : ' arguments.') +\r\n ' Expects ' +\r\n argError +\r\n '.';\r\n throw new Error(error);\r\n }\r\n};\r\n/**\r\n * Generates a string to prefix an error message about failed argument validation\r\n *\r\n * @param fnName The function name\r\n * @param argName The name of the argument\r\n * @return The prefix to add to the error thrown for validation.\r\n */\r\nfunction errorPrefix(fnName, argName) {\r\n return `${fnName} failed: ${argName} argument `;\r\n}\r\n/**\r\n * @param fnName\r\n * @param argumentNumber\r\n * @param namespace\r\n * @param optional\r\n */\r\nfunction validateNamespace(fnName, namespace, optional) {\r\n if (optional && !namespace) {\r\n return;\r\n }\r\n if (typeof namespace !== 'string') {\r\n //TODO: I should do more validation here. We only allow certain chars in namespaces.\r\n throw new Error(errorPrefix(fnName, 'namespace') + 'must be a valid firebase namespace.');\r\n }\r\n}\r\nfunction validateCallback(fnName, argumentName, \r\n// eslint-disable-next-line @typescript-eslint/ban-types\r\ncallback, optional) {\r\n if (optional && !callback) {\r\n return;\r\n }\r\n if (typeof callback !== 'function') {\r\n throw new Error(errorPrefix(fnName, argumentName) + 'must be a valid function.');\r\n }\r\n}\r\nfunction validateContextObject(fnName, argumentName, context, optional) {\r\n if (optional && !context) {\r\n return;\r\n }\r\n if (typeof context !== 'object' || context === null) {\r\n throw new Error(errorPrefix(fnName, argumentName) + 'must be a valid context object.');\r\n }\r\n}\n\n/**\r\n * @license\r\n * Copyright 2017 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n// Code originally came from goog.crypt.stringToUtf8ByteArray, but for some reason they\r\n// automatically replaced '\\r\\n' with '\\n', and they didn't handle surrogate pairs,\r\n// so it's been modified.\r\n// Note that not all Unicode characters appear as single characters in JavaScript strings.\r\n// fromCharCode returns the UTF-16 encoding of a character - so some Unicode characters\r\n// use 2 characters in Javascript. All 4-byte UTF-8 characters begin with a first\r\n// character in the range 0xD800 - 0xDBFF (the first character of a so-called surrogate\r\n// pair).\r\n// See http://www.ecma-international.org/ecma-262/5.1/#sec-15.1.3\r\n/**\r\n * @param {string} str\r\n * @return {Array}\r\n */\r\nconst stringToByteArray = function (str) {\r\n const out = [];\r\n let p = 0;\r\n for (let i = 0; i < str.length; i++) {\r\n let c = str.charCodeAt(i);\r\n // Is this the lead surrogate in a surrogate pair?\r\n if (c >= 0xd800 && c <= 0xdbff) {\r\n const high = c - 0xd800; // the high 10 bits.\r\n i++;\r\n assert(i < str.length, 'Surrogate pair missing trail surrogate.');\r\n const low = str.charCodeAt(i) - 0xdc00; // the low 10 bits.\r\n c = 0x10000 + (high << 10) + low;\r\n }\r\n if (c < 128) {\r\n out[p++] = c;\r\n }\r\n else if (c < 2048) {\r\n out[p++] = (c >> 6) | 192;\r\n out[p++] = (c & 63) | 128;\r\n }\r\n else if (c < 65536) {\r\n out[p++] = (c >> 12) | 224;\r\n out[p++] = ((c >> 6) & 63) | 128;\r\n out[p++] = (c & 63) | 128;\r\n }\r\n else {\r\n out[p++] = (c >> 18) | 240;\r\n out[p++] = ((c >> 12) & 63) | 128;\r\n out[p++] = ((c >> 6) & 63) | 128;\r\n out[p++] = (c & 63) | 128;\r\n }\r\n }\r\n return out;\r\n};\r\n/**\r\n * Calculate length without actually converting; useful for doing cheaper validation.\r\n * @param {string} str\r\n * @return {number}\r\n */\r\nconst stringLength = function (str) {\r\n let p = 0;\r\n for (let i = 0; i < str.length; i++) {\r\n const c = str.charCodeAt(i);\r\n if (c < 128) {\r\n p++;\r\n }\r\n else if (c < 2048) {\r\n p += 2;\r\n }\r\n else if (c >= 0xd800 && c <= 0xdbff) {\r\n // Lead surrogate of a surrogate pair. The pair together will take 4 bytes to represent.\r\n p += 4;\r\n i++; // skip trail surrogate.\r\n }\r\n else {\r\n p += 3;\r\n }\r\n }\r\n return p;\r\n};\n\n/**\r\n * @license\r\n * Copyright 2022 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n/**\r\n * Copied from https://stackoverflow.com/a/2117523\r\n * Generates a new uuid.\r\n * @public\r\n */\r\nconst uuidv4 = function () {\r\n return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, c => {\r\n const r = (Math.random() * 16) | 0, v = c === 'x' ? r : (r & 0x3) | 0x8;\r\n return v.toString(16);\r\n });\r\n};\n\n/**\r\n * @license\r\n * Copyright 2019 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n/**\r\n * The amount of milliseconds to exponentially increase.\r\n */\r\nconst DEFAULT_INTERVAL_MILLIS = 1000;\r\n/**\r\n * The factor to backoff by.\r\n * Should be a number greater than 1.\r\n */\r\nconst DEFAULT_BACKOFF_FACTOR = 2;\r\n/**\r\n * The maximum milliseconds to increase to.\r\n *\r\n *

Visible for testing\r\n */\r\nconst MAX_VALUE_MILLIS = 4 * 60 * 60 * 1000; // Four hours, like iOS and Android.\r\n/**\r\n * The percentage of backoff time to randomize by.\r\n * See\r\n * http://go/safe-client-behavior#step-1-determine-the-appropriate-retry-interval-to-handle-spike-traffic\r\n * for context.\r\n *\r\n *

Visible for testing\r\n */\r\nconst RANDOM_FACTOR = 0.5;\r\n/**\r\n * Based on the backoff method from\r\n * https://github.com/google/closure-library/blob/master/closure/goog/math/exponentialbackoff.js.\r\n * Extracted here so we don't need to pass metadata and a stateful ExponentialBackoff object around.\r\n */\r\nfunction calculateBackoffMillis(backoffCount, intervalMillis = DEFAULT_INTERVAL_MILLIS, backoffFactor = DEFAULT_BACKOFF_FACTOR) {\r\n // Calculates an exponentially increasing value.\r\n // Deviation: calculates value from count and a constant interval, so we only need to save value\r\n // and count to restore state.\r\n const currBaseValue = intervalMillis * Math.pow(backoffFactor, backoffCount);\r\n // A random \"fuzz\" to avoid waves of retries.\r\n // Deviation: randomFactor is required.\r\n const randomWait = Math.round(\r\n // A fraction of the backoff value to add/subtract.\r\n // Deviation: changes multiplication order to improve readability.\r\n RANDOM_FACTOR *\r\n currBaseValue *\r\n // A random float (rounded to int by Math.round above) in the range [-1, 1]. Determines\r\n // if we add or subtract.\r\n (Math.random() - 0.5) *\r\n 2);\r\n // Limits backoff to max to avoid effectively permanent backoff.\r\n return Math.min(MAX_VALUE_MILLIS, currBaseValue + randomWait);\r\n}\n\n/**\r\n * @license\r\n * Copyright 2020 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n/**\r\n * Provide English ordinal letters after a number\r\n */\r\nfunction ordinal(i) {\r\n if (!Number.isFinite(i)) {\r\n return `${i}`;\r\n }\r\n return i + indicator(i);\r\n}\r\nfunction indicator(i) {\r\n i = Math.abs(i);\r\n const cent = i % 100;\r\n if (cent >= 10 && cent <= 20) {\r\n return 'th';\r\n }\r\n const dec = i % 10;\r\n if (dec === 1) {\r\n return 'st';\r\n }\r\n if (dec === 2) {\r\n return 'nd';\r\n }\r\n if (dec === 3) {\r\n return 'rd';\r\n }\r\n return 'th';\r\n}\n\n/**\r\n * @license\r\n * Copyright 2021 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\nfunction getModularInstance(service) {\r\n if (service && service._delegate) {\r\n return service._delegate;\r\n }\r\n else {\r\n return service;\r\n }\r\n}\n\nexport { CONSTANTS, DecodeBase64StringError, Deferred, ErrorFactory, FirebaseError, MAX_VALUE_MILLIS, RANDOM_FACTOR, Sha1, areCookiesEnabled, assert, assertionError, async, base64, base64Decode, base64Encode, base64urlEncodeWithoutPadding, calculateBackoffMillis, contains, createMockUserToken, createSubscribe, decode, deepCopy, deepEqual, deepExtend, errorPrefix, extractQuerystring, getDefaultAppConfig, getDefaultEmulatorHost, getDefaultEmulatorHostnameAndPort, getDefaults, getExperimentalSetting, getGlobal, getModularInstance, getUA, isAdmin, isBrowser, isBrowserExtension, isElectron, isEmpty, isIE, isIndexedDBAvailable, isMobileCordova, isNode, isNodeSdk, isReactNative, isSafari, isUWP, isValidFormat, isValidTimestamp, isWebWorker, issuedAtTime, jsonEval, map, ordinal, promiseWithTimeout, querystring, querystringDecode, safeGet, stringLength, stringToByteArray, stringify, uuidv4, validateArgCount, validateCallback, validateContextObject, validateIndexedDBOpenable, validateNamespace };\n//# sourceMappingURL=index.esm2017.js.map\n","import { Deferred } from '@firebase/util';\n\n/**\r\n * Component for service name T, e.g. `auth`, `auth-internal`\r\n */\r\nclass Component {\r\n /**\r\n *\r\n * @param name The public service name, e.g. app, auth, firestore, database\r\n * @param instanceFactory Service factory responsible for creating the public interface\r\n * @param type whether the service provided by the component is public or private\r\n */\r\n constructor(name, instanceFactory, type) {\r\n this.name = name;\r\n this.instanceFactory = instanceFactory;\r\n this.type = type;\r\n this.multipleInstances = false;\r\n /**\r\n * Properties to be added to the service namespace\r\n */\r\n this.serviceProps = {};\r\n this.instantiationMode = \"LAZY\" /* InstantiationMode.LAZY */;\r\n this.onInstanceCreated = null;\r\n }\r\n setInstantiationMode(mode) {\r\n this.instantiationMode = mode;\r\n return this;\r\n }\r\n setMultipleInstances(multipleInstances) {\r\n this.multipleInstances = multipleInstances;\r\n return this;\r\n }\r\n setServiceProps(props) {\r\n this.serviceProps = props;\r\n return this;\r\n }\r\n setInstanceCreatedCallback(callback) {\r\n this.onInstanceCreated = callback;\r\n return this;\r\n }\r\n}\n\n/**\r\n * @license\r\n * Copyright 2019 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\nconst DEFAULT_ENTRY_NAME = '[DEFAULT]';\n\n/**\r\n * @license\r\n * Copyright 2019 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n/**\r\n * Provider for instance for service name T, e.g. 'auth', 'auth-internal'\r\n * NameServiceMapping[T] is an alias for the type of the instance\r\n */\r\nclass Provider {\r\n constructor(name, container) {\r\n this.name = name;\r\n this.container = container;\r\n this.component = null;\r\n this.instances = new Map();\r\n this.instancesDeferred = new Map();\r\n this.instancesOptions = new Map();\r\n this.onInitCallbacks = new Map();\r\n }\r\n /**\r\n * @param identifier A provider can provide mulitple instances of a service\r\n * if this.component.multipleInstances is true.\r\n */\r\n get(identifier) {\r\n // if multipleInstances is not supported, use the default name\r\n const normalizedIdentifier = this.normalizeInstanceIdentifier(identifier);\r\n if (!this.instancesDeferred.has(normalizedIdentifier)) {\r\n const deferred = new Deferred();\r\n this.instancesDeferred.set(normalizedIdentifier, deferred);\r\n if (this.isInitialized(normalizedIdentifier) ||\r\n this.shouldAutoInitialize()) {\r\n // initialize the service if it can be auto-initialized\r\n try {\r\n const instance = this.getOrInitializeService({\r\n instanceIdentifier: normalizedIdentifier\r\n });\r\n if (instance) {\r\n deferred.resolve(instance);\r\n }\r\n }\r\n catch (e) {\r\n // when the instance factory throws an exception during get(), it should not cause\r\n // a fatal error. We just return the unresolved promise in this case.\r\n }\r\n }\r\n }\r\n return this.instancesDeferred.get(normalizedIdentifier).promise;\r\n }\r\n getImmediate(options) {\r\n var _a;\r\n // if multipleInstances is not supported, use the default name\r\n const normalizedIdentifier = this.normalizeInstanceIdentifier(options === null || options === void 0 ? void 0 : options.identifier);\r\n const optional = (_a = options === null || options === void 0 ? void 0 : options.optional) !== null && _a !== void 0 ? _a : false;\r\n if (this.isInitialized(normalizedIdentifier) ||\r\n this.shouldAutoInitialize()) {\r\n try {\r\n return this.getOrInitializeService({\r\n instanceIdentifier: normalizedIdentifier\r\n });\r\n }\r\n catch (e) {\r\n if (optional) {\r\n return null;\r\n }\r\n else {\r\n throw e;\r\n }\r\n }\r\n }\r\n else {\r\n // In case a component is not initialized and should/can not be auto-initialized at the moment, return null if the optional flag is set, or throw\r\n if (optional) {\r\n return null;\r\n }\r\n else {\r\n throw Error(`Service ${this.name} is not available`);\r\n }\r\n }\r\n }\r\n getComponent() {\r\n return this.component;\r\n }\r\n setComponent(component) {\r\n if (component.name !== this.name) {\r\n throw Error(`Mismatching Component ${component.name} for Provider ${this.name}.`);\r\n }\r\n if (this.component) {\r\n throw Error(`Component for ${this.name} has already been provided`);\r\n }\r\n this.component = component;\r\n // return early without attempting to initialize the component if the component requires explicit initialization (calling `Provider.initialize()`)\r\n if (!this.shouldAutoInitialize()) {\r\n return;\r\n }\r\n // if the service is eager, initialize the default instance\r\n if (isComponentEager(component)) {\r\n try {\r\n this.getOrInitializeService({ instanceIdentifier: DEFAULT_ENTRY_NAME });\r\n }\r\n catch (e) {\r\n // when the instance factory for an eager Component throws an exception during the eager\r\n // initialization, it should not cause a fatal error.\r\n // TODO: Investigate if we need to make it configurable, because some component may want to cause\r\n // a fatal error in this case?\r\n }\r\n }\r\n // Create service instances for the pending promises and resolve them\r\n // NOTE: if this.multipleInstances is false, only the default instance will be created\r\n // and all promises with resolve with it regardless of the identifier.\r\n for (const [instanceIdentifier, instanceDeferred] of this.instancesDeferred.entries()) {\r\n const normalizedIdentifier = this.normalizeInstanceIdentifier(instanceIdentifier);\r\n try {\r\n // `getOrInitializeService()` should always return a valid instance since a component is guaranteed. use ! to make typescript happy.\r\n const instance = this.getOrInitializeService({\r\n instanceIdentifier: normalizedIdentifier\r\n });\r\n instanceDeferred.resolve(instance);\r\n }\r\n catch (e) {\r\n // when the instance factory throws an exception, it should not cause\r\n // a fatal error. We just leave the promise unresolved.\r\n }\r\n }\r\n }\r\n clearInstance(identifier = DEFAULT_ENTRY_NAME) {\r\n this.instancesDeferred.delete(identifier);\r\n this.instancesOptions.delete(identifier);\r\n this.instances.delete(identifier);\r\n }\r\n // app.delete() will call this method on every provider to delete the services\r\n // TODO: should we mark the provider as deleted?\r\n async delete() {\r\n const services = Array.from(this.instances.values());\r\n await Promise.all([\r\n ...services\r\n .filter(service => 'INTERNAL' in service) // legacy services\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n .map(service => service.INTERNAL.delete()),\r\n ...services\r\n .filter(service => '_delete' in service) // modularized services\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n .map(service => service._delete())\r\n ]);\r\n }\r\n isComponentSet() {\r\n return this.component != null;\r\n }\r\n isInitialized(identifier = DEFAULT_ENTRY_NAME) {\r\n return this.instances.has(identifier);\r\n }\r\n getOptions(identifier = DEFAULT_ENTRY_NAME) {\r\n return this.instancesOptions.get(identifier) || {};\r\n }\r\n initialize(opts = {}) {\r\n const { options = {} } = opts;\r\n const normalizedIdentifier = this.normalizeInstanceIdentifier(opts.instanceIdentifier);\r\n if (this.isInitialized(normalizedIdentifier)) {\r\n throw Error(`${this.name}(${normalizedIdentifier}) has already been initialized`);\r\n }\r\n if (!this.isComponentSet()) {\r\n throw Error(`Component ${this.name} has not been registered yet`);\r\n }\r\n const instance = this.getOrInitializeService({\r\n instanceIdentifier: normalizedIdentifier,\r\n options\r\n });\r\n // resolve any pending promise waiting for the service instance\r\n for (const [instanceIdentifier, instanceDeferred] of this.instancesDeferred.entries()) {\r\n const normalizedDeferredIdentifier = this.normalizeInstanceIdentifier(instanceIdentifier);\r\n if (normalizedIdentifier === normalizedDeferredIdentifier) {\r\n instanceDeferred.resolve(instance);\r\n }\r\n }\r\n return instance;\r\n }\r\n /**\r\n *\r\n * @param callback - a function that will be invoked after the provider has been initialized by calling provider.initialize().\r\n * The function is invoked SYNCHRONOUSLY, so it should not execute any longrunning tasks in order to not block the program.\r\n *\r\n * @param identifier An optional instance identifier\r\n * @returns a function to unregister the callback\r\n */\r\n onInit(callback, identifier) {\r\n var _a;\r\n const normalizedIdentifier = this.normalizeInstanceIdentifier(identifier);\r\n const existingCallbacks = (_a = this.onInitCallbacks.get(normalizedIdentifier)) !== null && _a !== void 0 ? _a : new Set();\r\n existingCallbacks.add(callback);\r\n this.onInitCallbacks.set(normalizedIdentifier, existingCallbacks);\r\n const existingInstance = this.instances.get(normalizedIdentifier);\r\n if (existingInstance) {\r\n callback(existingInstance, normalizedIdentifier);\r\n }\r\n return () => {\r\n existingCallbacks.delete(callback);\r\n };\r\n }\r\n /**\r\n * Invoke onInit callbacks synchronously\r\n * @param instance the service instance`\r\n */\r\n invokeOnInitCallbacks(instance, identifier) {\r\n const callbacks = this.onInitCallbacks.get(identifier);\r\n if (!callbacks) {\r\n return;\r\n }\r\n for (const callback of callbacks) {\r\n try {\r\n callback(instance, identifier);\r\n }\r\n catch (_a) {\r\n // ignore errors in the onInit callback\r\n }\r\n }\r\n }\r\n getOrInitializeService({ instanceIdentifier, options = {} }) {\r\n let instance = this.instances.get(instanceIdentifier);\r\n if (!instance && this.component) {\r\n instance = this.component.instanceFactory(this.container, {\r\n instanceIdentifier: normalizeIdentifierForFactory(instanceIdentifier),\r\n options\r\n });\r\n this.instances.set(instanceIdentifier, instance);\r\n this.instancesOptions.set(instanceIdentifier, options);\r\n /**\r\n * Invoke onInit listeners.\r\n * Note this.component.onInstanceCreated is different, which is used by the component creator,\r\n * while onInit listeners are registered by consumers of the provider.\r\n */\r\n this.invokeOnInitCallbacks(instance, instanceIdentifier);\r\n /**\r\n * Order is important\r\n * onInstanceCreated() should be called after this.instances.set(instanceIdentifier, instance); which\r\n * makes `isInitialized()` return true.\r\n */\r\n if (this.component.onInstanceCreated) {\r\n try {\r\n this.component.onInstanceCreated(this.container, instanceIdentifier, instance);\r\n }\r\n catch (_a) {\r\n // ignore errors in the onInstanceCreatedCallback\r\n }\r\n }\r\n }\r\n return instance || null;\r\n }\r\n normalizeInstanceIdentifier(identifier = DEFAULT_ENTRY_NAME) {\r\n if (this.component) {\r\n return this.component.multipleInstances ? identifier : DEFAULT_ENTRY_NAME;\r\n }\r\n else {\r\n return identifier; // assume multiple instances are supported before the component is provided.\r\n }\r\n }\r\n shouldAutoInitialize() {\r\n return (!!this.component &&\r\n this.component.instantiationMode !== \"EXPLICIT\" /* InstantiationMode.EXPLICIT */);\r\n }\r\n}\r\n// undefined should be passed to the service factory for the default instance\r\nfunction normalizeIdentifierForFactory(identifier) {\r\n return identifier === DEFAULT_ENTRY_NAME ? undefined : identifier;\r\n}\r\nfunction isComponentEager(component) {\r\n return component.instantiationMode === \"EAGER\" /* InstantiationMode.EAGER */;\r\n}\n\n/**\r\n * @license\r\n * Copyright 2019 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n/**\r\n * ComponentContainer that provides Providers for service name T, e.g. `auth`, `auth-internal`\r\n */\r\nclass ComponentContainer {\r\n constructor(name) {\r\n this.name = name;\r\n this.providers = new Map();\r\n }\r\n /**\r\n *\r\n * @param component Component being added\r\n * @param overwrite When a component with the same name has already been registered,\r\n * if overwrite is true: overwrite the existing component with the new component and create a new\r\n * provider with the new component. It can be useful in tests where you want to use different mocks\r\n * for different tests.\r\n * if overwrite is false: throw an exception\r\n */\r\n addComponent(component) {\r\n const provider = this.getProvider(component.name);\r\n if (provider.isComponentSet()) {\r\n throw new Error(`Component ${component.name} has already been registered with ${this.name}`);\r\n }\r\n provider.setComponent(component);\r\n }\r\n addOrOverwriteComponent(component) {\r\n const provider = this.getProvider(component.name);\r\n if (provider.isComponentSet()) {\r\n // delete the existing provider from the container, so we can register the new component\r\n this.providers.delete(component.name);\r\n }\r\n this.addComponent(component);\r\n }\r\n /**\r\n * getProvider provides a type safe interface where it can only be called with a field name\r\n * present in NameServiceMapping interface.\r\n *\r\n * Firebase SDKs providing services should extend NameServiceMapping interface to register\r\n * themselves.\r\n */\r\n getProvider(name) {\r\n if (this.providers.has(name)) {\r\n return this.providers.get(name);\r\n }\r\n // create a Provider for a service that hasn't registered with Firebase\r\n const provider = new Provider(name, this);\r\n this.providers.set(name, provider);\r\n return provider;\r\n }\r\n getProviders() {\r\n return Array.from(this.providers.values());\r\n }\r\n}\n\nexport { Component, ComponentContainer, Provider };\n//# sourceMappingURL=index.esm2017.js.map\n","/**\r\n * @license\r\n * Copyright 2017 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n/**\r\n * A container for all of the Logger instances\r\n */\r\nconst instances = [];\r\n/**\r\n * The JS SDK supports 5 log levels and also allows a user the ability to\r\n * silence the logs altogether.\r\n *\r\n * The order is a follows:\r\n * DEBUG < VERBOSE < INFO < WARN < ERROR\r\n *\r\n * All of the log types above the current log level will be captured (i.e. if\r\n * you set the log level to `INFO`, errors will still be logged, but `DEBUG` and\r\n * `VERBOSE` logs will not)\r\n */\r\nvar LogLevel;\r\n(function (LogLevel) {\r\n LogLevel[LogLevel[\"DEBUG\"] = 0] = \"DEBUG\";\r\n LogLevel[LogLevel[\"VERBOSE\"] = 1] = \"VERBOSE\";\r\n LogLevel[LogLevel[\"INFO\"] = 2] = \"INFO\";\r\n LogLevel[LogLevel[\"WARN\"] = 3] = \"WARN\";\r\n LogLevel[LogLevel[\"ERROR\"] = 4] = \"ERROR\";\r\n LogLevel[LogLevel[\"SILENT\"] = 5] = \"SILENT\";\r\n})(LogLevel || (LogLevel = {}));\r\nconst levelStringToEnum = {\r\n 'debug': LogLevel.DEBUG,\r\n 'verbose': LogLevel.VERBOSE,\r\n 'info': LogLevel.INFO,\r\n 'warn': LogLevel.WARN,\r\n 'error': LogLevel.ERROR,\r\n 'silent': LogLevel.SILENT\r\n};\r\n/**\r\n * The default log level\r\n */\r\nconst defaultLogLevel = LogLevel.INFO;\r\n/**\r\n * By default, `console.debug` is not displayed in the developer console (in\r\n * chrome). To avoid forcing users to have to opt-in to these logs twice\r\n * (i.e. once for firebase, and once in the console), we are sending `DEBUG`\r\n * logs to the `console.log` function.\r\n */\r\nconst ConsoleMethod = {\r\n [LogLevel.DEBUG]: 'log',\r\n [LogLevel.VERBOSE]: 'log',\r\n [LogLevel.INFO]: 'info',\r\n [LogLevel.WARN]: 'warn',\r\n [LogLevel.ERROR]: 'error'\r\n};\r\n/**\r\n * The default log handler will forward DEBUG, VERBOSE, INFO, WARN, and ERROR\r\n * messages on to their corresponding console counterparts (if the log method\r\n * is supported by the current log level)\r\n */\r\nconst defaultLogHandler = (instance, logType, ...args) => {\r\n if (logType < instance.logLevel) {\r\n return;\r\n }\r\n const now = new Date().toISOString();\r\n const method = ConsoleMethod[logType];\r\n if (method) {\r\n console[method](`[${now}] ${instance.name}:`, ...args);\r\n }\r\n else {\r\n throw new Error(`Attempted to log a message with an invalid logType (value: ${logType})`);\r\n }\r\n};\r\nclass Logger {\r\n /**\r\n * Gives you an instance of a Logger to capture messages according to\r\n * Firebase's logging scheme.\r\n *\r\n * @param name The name that the logs will be associated with\r\n */\r\n constructor(name) {\r\n this.name = name;\r\n /**\r\n * The log level of the given Logger instance.\r\n */\r\n this._logLevel = defaultLogLevel;\r\n /**\r\n * The main (internal) log handler for the Logger instance.\r\n * Can be set to a new function in internal package code but not by user.\r\n */\r\n this._logHandler = defaultLogHandler;\r\n /**\r\n * The optional, additional, user-defined log handler for the Logger instance.\r\n */\r\n this._userLogHandler = null;\r\n /**\r\n * Capture the current instance for later use\r\n */\r\n instances.push(this);\r\n }\r\n get logLevel() {\r\n return this._logLevel;\r\n }\r\n set logLevel(val) {\r\n if (!(val in LogLevel)) {\r\n throw new TypeError(`Invalid value \"${val}\" assigned to \\`logLevel\\``);\r\n }\r\n this._logLevel = val;\r\n }\r\n // Workaround for setter/getter having to be the same type.\r\n setLogLevel(val) {\r\n this._logLevel = typeof val === 'string' ? levelStringToEnum[val] : val;\r\n }\r\n get logHandler() {\r\n return this._logHandler;\r\n }\r\n set logHandler(val) {\r\n if (typeof val !== 'function') {\r\n throw new TypeError('Value assigned to `logHandler` must be a function');\r\n }\r\n this._logHandler = val;\r\n }\r\n get userLogHandler() {\r\n return this._userLogHandler;\r\n }\r\n set userLogHandler(val) {\r\n this._userLogHandler = val;\r\n }\r\n /**\r\n * The functions below are all based on the `console` interface\r\n */\r\n debug(...args) {\r\n this._userLogHandler && this._userLogHandler(this, LogLevel.DEBUG, ...args);\r\n this._logHandler(this, LogLevel.DEBUG, ...args);\r\n }\r\n log(...args) {\r\n this._userLogHandler &&\r\n this._userLogHandler(this, LogLevel.VERBOSE, ...args);\r\n this._logHandler(this, LogLevel.VERBOSE, ...args);\r\n }\r\n info(...args) {\r\n this._userLogHandler && this._userLogHandler(this, LogLevel.INFO, ...args);\r\n this._logHandler(this, LogLevel.INFO, ...args);\r\n }\r\n warn(...args) {\r\n this._userLogHandler && this._userLogHandler(this, LogLevel.WARN, ...args);\r\n this._logHandler(this, LogLevel.WARN, ...args);\r\n }\r\n error(...args) {\r\n this._userLogHandler && this._userLogHandler(this, LogLevel.ERROR, ...args);\r\n this._logHandler(this, LogLevel.ERROR, ...args);\r\n }\r\n}\r\nfunction setLogLevel(level) {\r\n instances.forEach(inst => {\r\n inst.setLogLevel(level);\r\n });\r\n}\r\nfunction setUserLogHandler(logCallback, options) {\r\n for (const instance of instances) {\r\n let customLogLevel = null;\r\n if (options && options.level) {\r\n customLogLevel = levelStringToEnum[options.level];\r\n }\r\n if (logCallback === null) {\r\n instance.userLogHandler = null;\r\n }\r\n else {\r\n instance.userLogHandler = (instance, level, ...args) => {\r\n const message = args\r\n .map(arg => {\r\n if (arg == null) {\r\n return null;\r\n }\r\n else if (typeof arg === 'string') {\r\n return arg;\r\n }\r\n else if (typeof arg === 'number' || typeof arg === 'boolean') {\r\n return arg.toString();\r\n }\r\n else if (arg instanceof Error) {\r\n return arg.message;\r\n }\r\n else {\r\n try {\r\n return JSON.stringify(arg);\r\n }\r\n catch (ignored) {\r\n return null;\r\n }\r\n }\r\n })\r\n .filter(arg => arg)\r\n .join(' ');\r\n if (level >= (customLogLevel !== null && customLogLevel !== void 0 ? customLogLevel : instance.logLevel)) {\r\n logCallback({\r\n level: LogLevel[level].toLowerCase(),\r\n message,\r\n args,\r\n type: instance.name\r\n });\r\n }\r\n };\r\n }\r\n }\r\n}\n\nexport { LogLevel, Logger, setLogLevel, setUserLogHandler };\n//# sourceMappingURL=index.esm2017.js.map\n","const instanceOfAny = (object, constructors) => constructors.some((c) => object instanceof c);\n\nlet idbProxyableTypes;\nlet cursorAdvanceMethods;\n// This is a function to prevent it throwing up in node environments.\nfunction getIdbProxyableTypes() {\n return (idbProxyableTypes ||\n (idbProxyableTypes = [\n IDBDatabase,\n IDBObjectStore,\n IDBIndex,\n IDBCursor,\n IDBTransaction,\n ]));\n}\n// This is a function to prevent it throwing up in node environments.\nfunction getCursorAdvanceMethods() {\n return (cursorAdvanceMethods ||\n (cursorAdvanceMethods = [\n IDBCursor.prototype.advance,\n IDBCursor.prototype.continue,\n IDBCursor.prototype.continuePrimaryKey,\n ]));\n}\nconst cursorRequestMap = new WeakMap();\nconst transactionDoneMap = new WeakMap();\nconst transactionStoreNamesMap = new WeakMap();\nconst transformCache = new WeakMap();\nconst reverseTransformCache = new WeakMap();\nfunction promisifyRequest(request) {\n const promise = new Promise((resolve, reject) => {\n const unlisten = () => {\n request.removeEventListener('success', success);\n request.removeEventListener('error', error);\n };\n const success = () => {\n resolve(wrap(request.result));\n unlisten();\n };\n const error = () => {\n reject(request.error);\n unlisten();\n };\n request.addEventListener('success', success);\n request.addEventListener('error', error);\n });\n promise\n .then((value) => {\n // Since cursoring reuses the IDBRequest (*sigh*), we cache it for later retrieval\n // (see wrapFunction).\n if (value instanceof IDBCursor) {\n cursorRequestMap.set(value, request);\n }\n // Catching to avoid \"Uncaught Promise exceptions\"\n })\n .catch(() => { });\n // This mapping exists in reverseTransformCache but doesn't doesn't exist in transformCache. This\n // is because we create many promises from a single IDBRequest.\n reverseTransformCache.set(promise, request);\n return promise;\n}\nfunction cacheDonePromiseForTransaction(tx) {\n // Early bail if we've already created a done promise for this transaction.\n if (transactionDoneMap.has(tx))\n return;\n const done = new Promise((resolve, reject) => {\n const unlisten = () => {\n tx.removeEventListener('complete', complete);\n tx.removeEventListener('error', error);\n tx.removeEventListener('abort', error);\n };\n const complete = () => {\n resolve();\n unlisten();\n };\n const error = () => {\n reject(tx.error || new DOMException('AbortError', 'AbortError'));\n unlisten();\n };\n tx.addEventListener('complete', complete);\n tx.addEventListener('error', error);\n tx.addEventListener('abort', error);\n });\n // Cache it for later retrieval.\n transactionDoneMap.set(tx, done);\n}\nlet idbProxyTraps = {\n get(target, prop, receiver) {\n if (target instanceof IDBTransaction) {\n // Special handling for transaction.done.\n if (prop === 'done')\n return transactionDoneMap.get(target);\n // Polyfill for objectStoreNames because of Edge.\n if (prop === 'objectStoreNames') {\n return target.objectStoreNames || transactionStoreNamesMap.get(target);\n }\n // Make tx.store return the only store in the transaction, or undefined if there are many.\n if (prop === 'store') {\n return receiver.objectStoreNames[1]\n ? undefined\n : receiver.objectStore(receiver.objectStoreNames[0]);\n }\n }\n // Else transform whatever we get back.\n return wrap(target[prop]);\n },\n set(target, prop, value) {\n target[prop] = value;\n return true;\n },\n has(target, prop) {\n if (target instanceof IDBTransaction &&\n (prop === 'done' || prop === 'store')) {\n return true;\n }\n return prop in target;\n },\n};\nfunction replaceTraps(callback) {\n idbProxyTraps = callback(idbProxyTraps);\n}\nfunction wrapFunction(func) {\n // Due to expected object equality (which is enforced by the caching in `wrap`), we\n // only create one new func per func.\n // Edge doesn't support objectStoreNames (booo), so we polyfill it here.\n if (func === IDBDatabase.prototype.transaction &&\n !('objectStoreNames' in IDBTransaction.prototype)) {\n return function (storeNames, ...args) {\n const tx = func.call(unwrap(this), storeNames, ...args);\n transactionStoreNamesMap.set(tx, storeNames.sort ? storeNames.sort() : [storeNames]);\n return wrap(tx);\n };\n }\n // Cursor methods are special, as the behaviour is a little more different to standard IDB. In\n // IDB, you advance the cursor and wait for a new 'success' on the IDBRequest that gave you the\n // cursor. It's kinda like a promise that can resolve with many values. That doesn't make sense\n // with real promises, so each advance methods returns a new promise for the cursor object, or\n // undefined if the end of the cursor has been reached.\n if (getCursorAdvanceMethods().includes(func)) {\n return function (...args) {\n // Calling the original function with the proxy as 'this' causes ILLEGAL INVOCATION, so we use\n // the original object.\n func.apply(unwrap(this), args);\n return wrap(cursorRequestMap.get(this));\n };\n }\n return function (...args) {\n // Calling the original function with the proxy as 'this' causes ILLEGAL INVOCATION, so we use\n // the original object.\n return wrap(func.apply(unwrap(this), args));\n };\n}\nfunction transformCachableValue(value) {\n if (typeof value === 'function')\n return wrapFunction(value);\n // This doesn't return, it just creates a 'done' promise for the transaction,\n // which is later returned for transaction.done (see idbObjectHandler).\n if (value instanceof IDBTransaction)\n cacheDonePromiseForTransaction(value);\n if (instanceOfAny(value, getIdbProxyableTypes()))\n return new Proxy(value, idbProxyTraps);\n // Return the same value back if we're not going to transform it.\n return value;\n}\nfunction wrap(value) {\n // We sometimes generate multiple promises from a single IDBRequest (eg when cursoring), because\n // IDB is weird and a single IDBRequest can yield many responses, so these can't be cached.\n if (value instanceof IDBRequest)\n return promisifyRequest(value);\n // If we've already transformed this value before, reuse the transformed value.\n // This is faster, but it also provides object equality.\n if (transformCache.has(value))\n return transformCache.get(value);\n const newValue = transformCachableValue(value);\n // Not all types are transformed.\n // These may be primitive types, so they can't be WeakMap keys.\n if (newValue !== value) {\n transformCache.set(value, newValue);\n reverseTransformCache.set(newValue, value);\n }\n return newValue;\n}\nconst unwrap = (value) => reverseTransformCache.get(value);\n\nexport { reverseTransformCache as a, instanceOfAny as i, replaceTraps as r, unwrap as u, wrap as w };\n","import { w as wrap, r as replaceTraps } from './wrap-idb-value.js';\nexport { u as unwrap, w as wrap } from './wrap-idb-value.js';\n\n/**\n * Open a database.\n *\n * @param name Name of the database.\n * @param version Schema version.\n * @param callbacks Additional callbacks.\n */\nfunction openDB(name, version, { blocked, upgrade, blocking, terminated } = {}) {\n const request = indexedDB.open(name, version);\n const openPromise = wrap(request);\n if (upgrade) {\n request.addEventListener('upgradeneeded', (event) => {\n upgrade(wrap(request.result), event.oldVersion, event.newVersion, wrap(request.transaction), event);\n });\n }\n if (blocked) {\n request.addEventListener('blocked', (event) => blocked(\n // Casting due to https://github.com/microsoft/TypeScript-DOM-lib-generator/pull/1405\n event.oldVersion, event.newVersion, event));\n }\n openPromise\n .then((db) => {\n if (terminated)\n db.addEventListener('close', () => terminated());\n if (blocking) {\n db.addEventListener('versionchange', (event) => blocking(event.oldVersion, event.newVersion, event));\n }\n })\n .catch(() => { });\n return openPromise;\n}\n/**\n * Delete a database.\n *\n * @param name Name of the database.\n */\nfunction deleteDB(name, { blocked } = {}) {\n const request = indexedDB.deleteDatabase(name);\n if (blocked) {\n request.addEventListener('blocked', (event) => blocked(\n // Casting due to https://github.com/microsoft/TypeScript-DOM-lib-generator/pull/1405\n event.oldVersion, event));\n }\n return wrap(request).then(() => undefined);\n}\n\nconst readMethods = ['get', 'getKey', 'getAll', 'getAllKeys', 'count'];\nconst writeMethods = ['put', 'add', 'delete', 'clear'];\nconst cachedMethods = new Map();\nfunction getMethod(target, prop) {\n if (!(target instanceof IDBDatabase &&\n !(prop in target) &&\n typeof prop === 'string')) {\n return;\n }\n if (cachedMethods.get(prop))\n return cachedMethods.get(prop);\n const targetFuncName = prop.replace(/FromIndex$/, '');\n const useIndex = prop !== targetFuncName;\n const isWrite = writeMethods.includes(targetFuncName);\n if (\n // Bail if the target doesn't exist on the target. Eg, getAll isn't in Edge.\n !(targetFuncName in (useIndex ? IDBIndex : IDBObjectStore).prototype) ||\n !(isWrite || readMethods.includes(targetFuncName))) {\n return;\n }\n const method = async function (storeName, ...args) {\n // isWrite ? 'readwrite' : undefined gzipps better, but fails in Edge :(\n const tx = this.transaction(storeName, isWrite ? 'readwrite' : 'readonly');\n let target = tx.store;\n if (useIndex)\n target = target.index(args.shift());\n // Must reject if op rejects.\n // If it's a write operation, must reject if tx.done rejects.\n // Must reject with op rejection first.\n // Must resolve with op value.\n // Must handle both promises (no unhandled rejections)\n return (await Promise.all([\n target[targetFuncName](...args),\n isWrite && tx.done,\n ]))[0];\n };\n cachedMethods.set(prop, method);\n return method;\n}\nreplaceTraps((oldTraps) => ({\n ...oldTraps,\n get: (target, prop, receiver) => getMethod(target, prop) || oldTraps.get(target, prop, receiver),\n has: (target, prop) => !!getMethod(target, prop) || oldTraps.has(target, prop),\n}));\n\nexport { deleteDB, openDB };\n","import { Component, ComponentContainer } from '@firebase/component';\nimport { Logger, setUserLogHandler, setLogLevel as setLogLevel$1 } from '@firebase/logger';\nimport { ErrorFactory, getDefaultAppConfig, deepEqual, isBrowser, isWebWorker, FirebaseError, base64urlEncodeWithoutPadding, isIndexedDBAvailable, validateIndexedDBOpenable } from '@firebase/util';\nexport { FirebaseError } from '@firebase/util';\nimport { openDB } from 'idb';\n\n/**\r\n * @license\r\n * Copyright 2019 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\nclass PlatformLoggerServiceImpl {\r\n constructor(container) {\r\n this.container = container;\r\n }\r\n // In initial implementation, this will be called by installations on\r\n // auth token refresh, and installations will send this string.\r\n getPlatformInfoString() {\r\n const providers = this.container.getProviders();\r\n // Loop through providers and get library/version pairs from any that are\r\n // version components.\r\n return providers\r\n .map(provider => {\r\n if (isVersionServiceProvider(provider)) {\r\n const service = provider.getImmediate();\r\n return `${service.library}/${service.version}`;\r\n }\r\n else {\r\n return null;\r\n }\r\n })\r\n .filter(logString => logString)\r\n .join(' ');\r\n }\r\n}\r\n/**\r\n *\r\n * @param provider check if this provider provides a VersionService\r\n *\r\n * NOTE: Using Provider<'app-version'> is a hack to indicate that the provider\r\n * provides VersionService. The provider is not necessarily a 'app-version'\r\n * provider.\r\n */\r\nfunction isVersionServiceProvider(provider) {\r\n const component = provider.getComponent();\r\n return (component === null || component === void 0 ? void 0 : component.type) === \"VERSION\" /* ComponentType.VERSION */;\r\n}\n\nconst name$p = \"@firebase/app\";\nconst version$1 = \"0.10.8\";\n\n/**\r\n * @license\r\n * Copyright 2019 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\nconst logger = new Logger('@firebase/app');\n\nconst name$o = \"@firebase/app-compat\";\n\nconst name$n = \"@firebase/analytics-compat\";\n\nconst name$m = \"@firebase/analytics\";\n\nconst name$l = \"@firebase/app-check-compat\";\n\nconst name$k = \"@firebase/app-check\";\n\nconst name$j = \"@firebase/auth\";\n\nconst name$i = \"@firebase/auth-compat\";\n\nconst name$h = \"@firebase/database\";\n\nconst name$g = \"@firebase/database-compat\";\n\nconst name$f = \"@firebase/functions\";\n\nconst name$e = \"@firebase/functions-compat\";\n\nconst name$d = \"@firebase/installations\";\n\nconst name$c = \"@firebase/installations-compat\";\n\nconst name$b = \"@firebase/messaging\";\n\nconst name$a = \"@firebase/messaging-compat\";\n\nconst name$9 = \"@firebase/performance\";\n\nconst name$8 = \"@firebase/performance-compat\";\n\nconst name$7 = \"@firebase/remote-config\";\n\nconst name$6 = \"@firebase/remote-config-compat\";\n\nconst name$5 = \"@firebase/storage\";\n\nconst name$4 = \"@firebase/storage-compat\";\n\nconst name$3 = \"@firebase/firestore\";\n\nconst name$2 = \"@firebase/vertexai-preview\";\n\nconst name$1 = \"@firebase/firestore-compat\";\n\nconst name = \"firebase\";\nconst version = \"10.12.5\";\n\n/**\r\n * @license\r\n * Copyright 2019 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n/**\r\n * The default app name\r\n *\r\n * @internal\r\n */\r\nconst DEFAULT_ENTRY_NAME = '[DEFAULT]';\r\nconst PLATFORM_LOG_STRING = {\r\n [name$p]: 'fire-core',\r\n [name$o]: 'fire-core-compat',\r\n [name$m]: 'fire-analytics',\r\n [name$n]: 'fire-analytics-compat',\r\n [name$k]: 'fire-app-check',\r\n [name$l]: 'fire-app-check-compat',\r\n [name$j]: 'fire-auth',\r\n [name$i]: 'fire-auth-compat',\r\n [name$h]: 'fire-rtdb',\r\n [name$g]: 'fire-rtdb-compat',\r\n [name$f]: 'fire-fn',\r\n [name$e]: 'fire-fn-compat',\r\n [name$d]: 'fire-iid',\r\n [name$c]: 'fire-iid-compat',\r\n [name$b]: 'fire-fcm',\r\n [name$a]: 'fire-fcm-compat',\r\n [name$9]: 'fire-perf',\r\n [name$8]: 'fire-perf-compat',\r\n [name$7]: 'fire-rc',\r\n [name$6]: 'fire-rc-compat',\r\n [name$5]: 'fire-gcs',\r\n [name$4]: 'fire-gcs-compat',\r\n [name$3]: 'fire-fst',\r\n [name$1]: 'fire-fst-compat',\r\n [name$2]: 'fire-vertex',\r\n 'fire-js': 'fire-js',\r\n [name]: 'fire-js-all'\r\n};\n\n/**\r\n * @license\r\n * Copyright 2019 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n/**\r\n * @internal\r\n */\r\nconst _apps = new Map();\r\n/**\r\n * @internal\r\n */\r\nconst _serverApps = new Map();\r\n/**\r\n * Registered components.\r\n *\r\n * @internal\r\n */\r\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\r\nconst _components = new Map();\r\n/**\r\n * @param component - the component being added to this app's container\r\n *\r\n * @internal\r\n */\r\nfunction _addComponent(app, component) {\r\n try {\r\n app.container.addComponent(component);\r\n }\r\n catch (e) {\r\n logger.debug(`Component ${component.name} failed to register with FirebaseApp ${app.name}`, e);\r\n }\r\n}\r\n/**\r\n *\r\n * @internal\r\n */\r\nfunction _addOrOverwriteComponent(app, component) {\r\n app.container.addOrOverwriteComponent(component);\r\n}\r\n/**\r\n *\r\n * @param component - the component to register\r\n * @returns whether or not the component is registered successfully\r\n *\r\n * @internal\r\n */\r\nfunction _registerComponent(component) {\r\n const componentName = component.name;\r\n if (_components.has(componentName)) {\r\n logger.debug(`There were multiple attempts to register component ${componentName}.`);\r\n return false;\r\n }\r\n _components.set(componentName, component);\r\n // add the component to existing app instances\r\n for (const app of _apps.values()) {\r\n _addComponent(app, component);\r\n }\r\n for (const serverApp of _serverApps.values()) {\r\n _addComponent(serverApp, component);\r\n }\r\n return true;\r\n}\r\n/**\r\n *\r\n * @param app - FirebaseApp instance\r\n * @param name - service name\r\n *\r\n * @returns the provider for the service with the matching name\r\n *\r\n * @internal\r\n */\r\nfunction _getProvider(app, name) {\r\n const heartbeatController = app.container\r\n .getProvider('heartbeat')\r\n .getImmediate({ optional: true });\r\n if (heartbeatController) {\r\n void heartbeatController.triggerHeartbeat();\r\n }\r\n return app.container.getProvider(name);\r\n}\r\n/**\r\n *\r\n * @param app - FirebaseApp instance\r\n * @param name - service name\r\n * @param instanceIdentifier - service instance identifier in case the service supports multiple instances\r\n *\r\n * @internal\r\n */\r\nfunction _removeServiceInstance(app, name, instanceIdentifier = DEFAULT_ENTRY_NAME) {\r\n _getProvider(app, name).clearInstance(instanceIdentifier);\r\n}\r\n/**\r\n *\r\n * @param obj - an object of type FirebaseApp or FirebaseOptions.\r\n *\r\n * @returns true if the provide object is of type FirebaseApp.\r\n *\r\n * @internal\r\n */\r\nfunction _isFirebaseApp(obj) {\r\n return obj.options !== undefined;\r\n}\r\n/**\r\n *\r\n * @param obj - an object of type FirebaseApp.\r\n *\r\n * @returns true if the provided object is of type FirebaseServerAppImpl.\r\n *\r\n * @internal\r\n */\r\nfunction _isFirebaseServerApp(obj) {\r\n return obj.settings !== undefined;\r\n}\r\n/**\r\n * Test only\r\n *\r\n * @internal\r\n */\r\nfunction _clearComponents() {\r\n _components.clear();\r\n}\n\n/**\r\n * @license\r\n * Copyright 2019 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\nconst ERRORS = {\r\n [\"no-app\" /* AppError.NO_APP */]: \"No Firebase App '{$appName}' has been created - \" +\r\n 'call initializeApp() first',\r\n [\"bad-app-name\" /* AppError.BAD_APP_NAME */]: \"Illegal App name: '{$appName}'\",\r\n [\"duplicate-app\" /* AppError.DUPLICATE_APP */]: \"Firebase App named '{$appName}' already exists with different options or config\",\r\n [\"app-deleted\" /* AppError.APP_DELETED */]: \"Firebase App named '{$appName}' already deleted\",\r\n [\"server-app-deleted\" /* AppError.SERVER_APP_DELETED */]: 'Firebase Server App has been deleted',\r\n [\"no-options\" /* AppError.NO_OPTIONS */]: 'Need to provide options, when not being deployed to hosting via source.',\r\n [\"invalid-app-argument\" /* AppError.INVALID_APP_ARGUMENT */]: 'firebase.{$appName}() takes either no argument or a ' +\r\n 'Firebase App instance.',\r\n [\"invalid-log-argument\" /* AppError.INVALID_LOG_ARGUMENT */]: 'First argument to `onLog` must be null or a function.',\r\n [\"idb-open\" /* AppError.IDB_OPEN */]: 'Error thrown when opening IndexedDB. Original error: {$originalErrorMessage}.',\r\n [\"idb-get\" /* AppError.IDB_GET */]: 'Error thrown when reading from IndexedDB. Original error: {$originalErrorMessage}.',\r\n [\"idb-set\" /* AppError.IDB_WRITE */]: 'Error thrown when writing to IndexedDB. Original error: {$originalErrorMessage}.',\r\n [\"idb-delete\" /* AppError.IDB_DELETE */]: 'Error thrown when deleting from IndexedDB. Original error: {$originalErrorMessage}.',\r\n [\"finalization-registry-not-supported\" /* AppError.FINALIZATION_REGISTRY_NOT_SUPPORTED */]: 'FirebaseServerApp deleteOnDeref field defined but the JS runtime does not support FinalizationRegistry.',\r\n [\"invalid-server-app-environment\" /* AppError.INVALID_SERVER_APP_ENVIRONMENT */]: 'FirebaseServerApp is not for use in browser environments.'\r\n};\r\nconst ERROR_FACTORY = new ErrorFactory('app', 'Firebase', ERRORS);\n\n/**\r\n * @license\r\n * Copyright 2019 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\nclass FirebaseAppImpl {\r\n constructor(options, config, container) {\r\n this._isDeleted = false;\r\n this._options = Object.assign({}, options);\r\n this._config = Object.assign({}, config);\r\n this._name = config.name;\r\n this._automaticDataCollectionEnabled =\r\n config.automaticDataCollectionEnabled;\r\n this._container = container;\r\n this.container.addComponent(new Component('app', () => this, \"PUBLIC\" /* ComponentType.PUBLIC */));\r\n }\r\n get automaticDataCollectionEnabled() {\r\n this.checkDestroyed();\r\n return this._automaticDataCollectionEnabled;\r\n }\r\n set automaticDataCollectionEnabled(val) {\r\n this.checkDestroyed();\r\n this._automaticDataCollectionEnabled = val;\r\n }\r\n get name() {\r\n this.checkDestroyed();\r\n return this._name;\r\n }\r\n get options() {\r\n this.checkDestroyed();\r\n return this._options;\r\n }\r\n get config() {\r\n this.checkDestroyed();\r\n return this._config;\r\n }\r\n get container() {\r\n return this._container;\r\n }\r\n get isDeleted() {\r\n return this._isDeleted;\r\n }\r\n set isDeleted(val) {\r\n this._isDeleted = val;\r\n }\r\n /**\r\n * This function will throw an Error if the App has already been deleted -\r\n * use before performing API actions on the App.\r\n */\r\n checkDestroyed() {\r\n if (this.isDeleted) {\r\n throw ERROR_FACTORY.create(\"app-deleted\" /* AppError.APP_DELETED */, { appName: this._name });\r\n }\r\n }\r\n}\n\n/**\r\n * @license\r\n * Copyright 2023 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\nclass FirebaseServerAppImpl extends FirebaseAppImpl {\r\n constructor(options, serverConfig, name, container) {\r\n // Build configuration parameters for the FirebaseAppImpl base class.\r\n const automaticDataCollectionEnabled = serverConfig.automaticDataCollectionEnabled !== undefined\r\n ? serverConfig.automaticDataCollectionEnabled\r\n : false;\r\n // Create the FirebaseAppSettings object for the FirebaseAppImp constructor.\r\n const config = {\r\n name,\r\n automaticDataCollectionEnabled\r\n };\r\n if (options.apiKey !== undefined) {\r\n // Construct the parent FirebaseAppImp object.\r\n super(options, config, container);\r\n }\r\n else {\r\n const appImpl = options;\r\n super(appImpl.options, config, container);\r\n }\r\n // Now construct the data for the FirebaseServerAppImpl.\r\n this._serverConfig = Object.assign({ automaticDataCollectionEnabled }, serverConfig);\r\n this._finalizationRegistry = null;\r\n if (typeof FinalizationRegistry !== 'undefined') {\r\n this._finalizationRegistry = new FinalizationRegistry(() => {\r\n this.automaticCleanup();\r\n });\r\n }\r\n this._refCount = 0;\r\n this.incRefCount(this._serverConfig.releaseOnDeref);\r\n // Do not retain a hard reference to the dref object, otherwise the FinalizationRegistry\r\n // will never trigger.\r\n this._serverConfig.releaseOnDeref = undefined;\r\n serverConfig.releaseOnDeref = undefined;\r\n registerVersion(name$p, version$1, 'serverapp');\r\n }\r\n toJSON() {\r\n return undefined;\r\n }\r\n get refCount() {\r\n return this._refCount;\r\n }\r\n // Increment the reference count of this server app. If an object is provided, register it\r\n // with the finalization registry.\r\n incRefCount(obj) {\r\n if (this.isDeleted) {\r\n return;\r\n }\r\n this._refCount++;\r\n if (obj !== undefined && this._finalizationRegistry !== null) {\r\n this._finalizationRegistry.register(obj, this);\r\n }\r\n }\r\n // Decrement the reference count.\r\n decRefCount() {\r\n if (this.isDeleted) {\r\n return 0;\r\n }\r\n return --this._refCount;\r\n }\r\n // Invoked by the FinalizationRegistry callback to note that this app should go through its\r\n // reference counts and delete itself if no reference count remain. The coordinating logic that\r\n // handles this is in deleteApp(...).\r\n automaticCleanup() {\r\n void deleteApp(this);\r\n }\r\n get settings() {\r\n this.checkDestroyed();\r\n return this._serverConfig;\r\n }\r\n /**\r\n * This function will throw an Error if the App has already been deleted -\r\n * use before performing API actions on the App.\r\n */\r\n checkDestroyed() {\r\n if (this.isDeleted) {\r\n throw ERROR_FACTORY.create(\"server-app-deleted\" /* AppError.SERVER_APP_DELETED */);\r\n }\r\n }\r\n}\n\n/**\r\n * @license\r\n * Copyright 2019 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n/**\r\n * The current SDK version.\r\n *\r\n * @public\r\n */\r\nconst SDK_VERSION = version;\r\nfunction initializeApp(_options, rawConfig = {}) {\r\n let options = _options;\r\n if (typeof rawConfig !== 'object') {\r\n const name = rawConfig;\r\n rawConfig = { name };\r\n }\r\n const config = Object.assign({ name: DEFAULT_ENTRY_NAME, automaticDataCollectionEnabled: false }, rawConfig);\r\n const name = config.name;\r\n if (typeof name !== 'string' || !name) {\r\n throw ERROR_FACTORY.create(\"bad-app-name\" /* AppError.BAD_APP_NAME */, {\r\n appName: String(name)\r\n });\r\n }\r\n options || (options = getDefaultAppConfig());\r\n if (!options) {\r\n throw ERROR_FACTORY.create(\"no-options\" /* AppError.NO_OPTIONS */);\r\n }\r\n const existingApp = _apps.get(name);\r\n if (existingApp) {\r\n // return the existing app if options and config deep equal the ones in the existing app.\r\n if (deepEqual(options, existingApp.options) &&\r\n deepEqual(config, existingApp.config)) {\r\n return existingApp;\r\n }\r\n else {\r\n throw ERROR_FACTORY.create(\"duplicate-app\" /* AppError.DUPLICATE_APP */, { appName: name });\r\n }\r\n }\r\n const container = new ComponentContainer(name);\r\n for (const component of _components.values()) {\r\n container.addComponent(component);\r\n }\r\n const newApp = new FirebaseAppImpl(options, config, container);\r\n _apps.set(name, newApp);\r\n return newApp;\r\n}\r\nfunction initializeServerApp(_options, _serverAppConfig) {\r\n if (isBrowser() && !isWebWorker()) {\r\n // FirebaseServerApp isn't designed to be run in browsers.\r\n throw ERROR_FACTORY.create(\"invalid-server-app-environment\" /* AppError.INVALID_SERVER_APP_ENVIRONMENT */);\r\n }\r\n if (_serverAppConfig.automaticDataCollectionEnabled === undefined) {\r\n _serverAppConfig.automaticDataCollectionEnabled = false;\r\n }\r\n let appOptions;\r\n if (_isFirebaseApp(_options)) {\r\n appOptions = _options.options;\r\n }\r\n else {\r\n appOptions = _options;\r\n }\r\n // Build an app name based on a hash of the configuration options.\r\n const nameObj = Object.assign(Object.assign({}, _serverAppConfig), appOptions);\r\n // However, Do not mangle the name based on releaseOnDeref, since it will vary between the\r\n // construction of FirebaseServerApp instances. For example, if the object is the request headers.\r\n if (nameObj.releaseOnDeref !== undefined) {\r\n delete nameObj.releaseOnDeref;\r\n }\r\n const hashCode = (s) => {\r\n return [...s].reduce((hash, c) => (Math.imul(31, hash) + c.charCodeAt(0)) | 0, 0);\r\n };\r\n if (_serverAppConfig.releaseOnDeref !== undefined) {\r\n if (typeof FinalizationRegistry === 'undefined') {\r\n throw ERROR_FACTORY.create(\"finalization-registry-not-supported\" /* AppError.FINALIZATION_REGISTRY_NOT_SUPPORTED */, {});\r\n }\r\n }\r\n const nameString = '' + hashCode(JSON.stringify(nameObj));\r\n const existingApp = _serverApps.get(nameString);\r\n if (existingApp) {\r\n existingApp.incRefCount(_serverAppConfig.releaseOnDeref);\r\n return existingApp;\r\n }\r\n const container = new ComponentContainer(nameString);\r\n for (const component of _components.values()) {\r\n container.addComponent(component);\r\n }\r\n const newApp = new FirebaseServerAppImpl(appOptions, _serverAppConfig, nameString, container);\r\n _serverApps.set(nameString, newApp);\r\n return newApp;\r\n}\r\n/**\r\n * Retrieves a {@link @firebase/app#FirebaseApp} instance.\r\n *\r\n * When called with no arguments, the default app is returned. When an app name\r\n * is provided, the app corresponding to that name is returned.\r\n *\r\n * An exception is thrown if the app being retrieved has not yet been\r\n * initialized.\r\n *\r\n * @example\r\n * ```javascript\r\n * // Return the default app\r\n * const app = getApp();\r\n * ```\r\n *\r\n * @example\r\n * ```javascript\r\n * // Return a named app\r\n * const otherApp = getApp(\"otherApp\");\r\n * ```\r\n *\r\n * @param name - Optional name of the app to return. If no name is\r\n * provided, the default is `\"[DEFAULT]\"`.\r\n *\r\n * @returns The app corresponding to the provided app name.\r\n * If no app name is provided, the default app is returned.\r\n *\r\n * @public\r\n */\r\nfunction getApp(name = DEFAULT_ENTRY_NAME) {\r\n const app = _apps.get(name);\r\n if (!app && name === DEFAULT_ENTRY_NAME && getDefaultAppConfig()) {\r\n return initializeApp();\r\n }\r\n if (!app) {\r\n throw ERROR_FACTORY.create(\"no-app\" /* AppError.NO_APP */, { appName: name });\r\n }\r\n return app;\r\n}\r\n/**\r\n * A (read-only) array of all initialized apps.\r\n * @public\r\n */\r\nfunction getApps() {\r\n return Array.from(_apps.values());\r\n}\r\n/**\r\n * Renders this app unusable and frees the resources of all associated\r\n * services.\r\n *\r\n * @example\r\n * ```javascript\r\n * deleteApp(app)\r\n * .then(function() {\r\n * console.log(\"App deleted successfully\");\r\n * })\r\n * .catch(function(error) {\r\n * console.log(\"Error deleting app:\", error);\r\n * });\r\n * ```\r\n *\r\n * @public\r\n */\r\nasync function deleteApp(app) {\r\n let cleanupProviders = false;\r\n const name = app.name;\r\n if (_apps.has(name)) {\r\n cleanupProviders = true;\r\n _apps.delete(name);\r\n }\r\n else if (_serverApps.has(name)) {\r\n const firebaseServerApp = app;\r\n if (firebaseServerApp.decRefCount() <= 0) {\r\n _serverApps.delete(name);\r\n cleanupProviders = true;\r\n }\r\n }\r\n if (cleanupProviders) {\r\n await Promise.all(app.container\r\n .getProviders()\r\n .map(provider => provider.delete()));\r\n app.isDeleted = true;\r\n }\r\n}\r\n/**\r\n * Registers a library's name and version for platform logging purposes.\r\n * @param library - Name of 1p or 3p library (e.g. firestore, angularfire)\r\n * @param version - Current version of that library.\r\n * @param variant - Bundle variant, e.g., node, rn, etc.\r\n *\r\n * @public\r\n */\r\nfunction registerVersion(libraryKeyOrName, version, variant) {\r\n var _a;\r\n // TODO: We can use this check to whitelist strings when/if we set up\r\n // a good whitelist system.\r\n let library = (_a = PLATFORM_LOG_STRING[libraryKeyOrName]) !== null && _a !== void 0 ? _a : libraryKeyOrName;\r\n if (variant) {\r\n library += `-${variant}`;\r\n }\r\n const libraryMismatch = library.match(/\\s|\\//);\r\n const versionMismatch = version.match(/\\s|\\//);\r\n if (libraryMismatch || versionMismatch) {\r\n const warning = [\r\n `Unable to register library \"${library}\" with version \"${version}\":`\r\n ];\r\n if (libraryMismatch) {\r\n warning.push(`library name \"${library}\" contains illegal characters (whitespace or \"/\")`);\r\n }\r\n if (libraryMismatch && versionMismatch) {\r\n warning.push('and');\r\n }\r\n if (versionMismatch) {\r\n warning.push(`version name \"${version}\" contains illegal characters (whitespace or \"/\")`);\r\n }\r\n logger.warn(warning.join(' '));\r\n return;\r\n }\r\n _registerComponent(new Component(`${library}-version`, () => ({ library, version }), \"VERSION\" /* ComponentType.VERSION */));\r\n}\r\n/**\r\n * Sets log handler for all Firebase SDKs.\r\n * @param logCallback - An optional custom log handler that executes user code whenever\r\n * the Firebase SDK makes a logging call.\r\n *\r\n * @public\r\n */\r\nfunction onLog(logCallback, options) {\r\n if (logCallback !== null && typeof logCallback !== 'function') {\r\n throw ERROR_FACTORY.create(\"invalid-log-argument\" /* AppError.INVALID_LOG_ARGUMENT */);\r\n }\r\n setUserLogHandler(logCallback, options);\r\n}\r\n/**\r\n * Sets log level for all Firebase SDKs.\r\n *\r\n * All of the log types above the current log level are captured (i.e. if\r\n * you set the log level to `info`, errors are logged, but `debug` and\r\n * `verbose` logs are not).\r\n *\r\n * @public\r\n */\r\nfunction setLogLevel(logLevel) {\r\n setLogLevel$1(logLevel);\r\n}\n\n/**\r\n * @license\r\n * Copyright 2021 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\nconst DB_NAME = 'firebase-heartbeat-database';\r\nconst DB_VERSION = 1;\r\nconst STORE_NAME = 'firebase-heartbeat-store';\r\nlet dbPromise = null;\r\nfunction getDbPromise() {\r\n if (!dbPromise) {\r\n dbPromise = openDB(DB_NAME, DB_VERSION, {\r\n upgrade: (db, oldVersion) => {\r\n // We don't use 'break' in this switch statement, the fall-through\r\n // behavior is what we want, because if there are multiple versions between\r\n // the old version and the current version, we want ALL the migrations\r\n // that correspond to those versions to run, not only the last one.\r\n // eslint-disable-next-line default-case\r\n switch (oldVersion) {\r\n case 0:\r\n try {\r\n db.createObjectStore(STORE_NAME);\r\n }\r\n catch (e) {\r\n // Safari/iOS browsers throw occasional exceptions on\r\n // db.createObjectStore() that may be a bug. Avoid blocking\r\n // the rest of the app functionality.\r\n console.warn(e);\r\n }\r\n }\r\n }\r\n }).catch(e => {\r\n throw ERROR_FACTORY.create(\"idb-open\" /* AppError.IDB_OPEN */, {\r\n originalErrorMessage: e.message\r\n });\r\n });\r\n }\r\n return dbPromise;\r\n}\r\nasync function readHeartbeatsFromIndexedDB(app) {\r\n try {\r\n const db = await getDbPromise();\r\n const tx = db.transaction(STORE_NAME);\r\n const result = await tx.objectStore(STORE_NAME).get(computeKey(app));\r\n // We already have the value but tx.done can throw,\r\n // so we need to await it here to catch errors\r\n await tx.done;\r\n return result;\r\n }\r\n catch (e) {\r\n if (e instanceof FirebaseError) {\r\n logger.warn(e.message);\r\n }\r\n else {\r\n const idbGetError = ERROR_FACTORY.create(\"idb-get\" /* AppError.IDB_GET */, {\r\n originalErrorMessage: e === null || e === void 0 ? void 0 : e.message\r\n });\r\n logger.warn(idbGetError.message);\r\n }\r\n }\r\n}\r\nasync function writeHeartbeatsToIndexedDB(app, heartbeatObject) {\r\n try {\r\n const db = await getDbPromise();\r\n const tx = db.transaction(STORE_NAME, 'readwrite');\r\n const objectStore = tx.objectStore(STORE_NAME);\r\n await objectStore.put(heartbeatObject, computeKey(app));\r\n await tx.done;\r\n }\r\n catch (e) {\r\n if (e instanceof FirebaseError) {\r\n logger.warn(e.message);\r\n }\r\n else {\r\n const idbGetError = ERROR_FACTORY.create(\"idb-set\" /* AppError.IDB_WRITE */, {\r\n originalErrorMessage: e === null || e === void 0 ? void 0 : e.message\r\n });\r\n logger.warn(idbGetError.message);\r\n }\r\n }\r\n}\r\nfunction computeKey(app) {\r\n return `${app.name}!${app.options.appId}`;\r\n}\n\n/**\r\n * @license\r\n * Copyright 2021 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\nconst MAX_HEADER_BYTES = 1024;\r\n// 30 days\r\nconst STORED_HEARTBEAT_RETENTION_MAX_MILLIS = 30 * 24 * 60 * 60 * 1000;\r\nclass HeartbeatServiceImpl {\r\n constructor(container) {\r\n this.container = container;\r\n /**\r\n * In-memory cache for heartbeats, used by getHeartbeatsHeader() to generate\r\n * the header string.\r\n * Stores one record per date. This will be consolidated into the standard\r\n * format of one record per user agent string before being sent as a header.\r\n * Populated from indexedDB when the controller is instantiated and should\r\n * be kept in sync with indexedDB.\r\n * Leave public for easier testing.\r\n */\r\n this._heartbeatsCache = null;\r\n const app = this.container.getProvider('app').getImmediate();\r\n this._storage = new HeartbeatStorageImpl(app);\r\n this._heartbeatsCachePromise = this._storage.read().then(result => {\r\n this._heartbeatsCache = result;\r\n return result;\r\n });\r\n }\r\n /**\r\n * Called to report a heartbeat. The function will generate\r\n * a HeartbeatsByUserAgent object, update heartbeatsCache, and persist it\r\n * to IndexedDB.\r\n * Note that we only store one heartbeat per day. So if a heartbeat for today is\r\n * already logged, subsequent calls to this function in the same day will be ignored.\r\n */\r\n async triggerHeartbeat() {\r\n var _a, _b;\r\n const platformLogger = this.container\r\n .getProvider('platform-logger')\r\n .getImmediate();\r\n // This is the \"Firebase user agent\" string from the platform logger\r\n // service, not the browser user agent.\r\n const agent = platformLogger.getPlatformInfoString();\r\n const date = getUTCDateString();\r\n if (((_a = this._heartbeatsCache) === null || _a === void 0 ? void 0 : _a.heartbeats) == null) {\r\n this._heartbeatsCache = await this._heartbeatsCachePromise;\r\n // If we failed to construct a heartbeats cache, then return immediately.\r\n if (((_b = this._heartbeatsCache) === null || _b === void 0 ? void 0 : _b.heartbeats) == null) {\r\n return;\r\n }\r\n }\r\n // Do not store a heartbeat if one is already stored for this day\r\n // or if a header has already been sent today.\r\n if (this._heartbeatsCache.lastSentHeartbeatDate === date ||\r\n this._heartbeatsCache.heartbeats.some(singleDateHeartbeat => singleDateHeartbeat.date === date)) {\r\n return;\r\n }\r\n else {\r\n // There is no entry for this date. Create one.\r\n this._heartbeatsCache.heartbeats.push({ date, agent });\r\n }\r\n // Remove entries older than 30 days.\r\n this._heartbeatsCache.heartbeats = this._heartbeatsCache.heartbeats.filter(singleDateHeartbeat => {\r\n const hbTimestamp = new Date(singleDateHeartbeat.date).valueOf();\r\n const now = Date.now();\r\n return now - hbTimestamp <= STORED_HEARTBEAT_RETENTION_MAX_MILLIS;\r\n });\r\n return this._storage.overwrite(this._heartbeatsCache);\r\n }\r\n /**\r\n * Returns a base64 encoded string which can be attached to the heartbeat-specific header directly.\r\n * It also clears all heartbeats from memory as well as in IndexedDB.\r\n *\r\n * NOTE: Consuming product SDKs should not send the header if this method\r\n * returns an empty string.\r\n */\r\n async getHeartbeatsHeader() {\r\n var _a;\r\n if (this._heartbeatsCache === null) {\r\n await this._heartbeatsCachePromise;\r\n }\r\n // If it's still null or the array is empty, there is no data to send.\r\n if (((_a = this._heartbeatsCache) === null || _a === void 0 ? void 0 : _a.heartbeats) == null ||\r\n this._heartbeatsCache.heartbeats.length === 0) {\r\n return '';\r\n }\r\n const date = getUTCDateString();\r\n // Extract as many heartbeats from the cache as will fit under the size limit.\r\n const { heartbeatsToSend, unsentEntries } = extractHeartbeatsForHeader(this._heartbeatsCache.heartbeats);\r\n const headerString = base64urlEncodeWithoutPadding(JSON.stringify({ version: 2, heartbeats: heartbeatsToSend }));\r\n // Store last sent date to prevent another being logged/sent for the same day.\r\n this._heartbeatsCache.lastSentHeartbeatDate = date;\r\n if (unsentEntries.length > 0) {\r\n // Store any unsent entries if they exist.\r\n this._heartbeatsCache.heartbeats = unsentEntries;\r\n // This seems more likely than emptying the array (below) to lead to some odd state\r\n // since the cache isn't empty and this will be called again on the next request,\r\n // and is probably safest if we await it.\r\n await this._storage.overwrite(this._heartbeatsCache);\r\n }\r\n else {\r\n this._heartbeatsCache.heartbeats = [];\r\n // Do not wait for this, to reduce latency.\r\n void this._storage.overwrite(this._heartbeatsCache);\r\n }\r\n return headerString;\r\n }\r\n}\r\nfunction getUTCDateString() {\r\n const today = new Date();\r\n // Returns date format 'YYYY-MM-DD'\r\n return today.toISOString().substring(0, 10);\r\n}\r\nfunction extractHeartbeatsForHeader(heartbeatsCache, maxSize = MAX_HEADER_BYTES) {\r\n // Heartbeats grouped by user agent in the standard format to be sent in\r\n // the header.\r\n const heartbeatsToSend = [];\r\n // Single date format heartbeats that are not sent.\r\n let unsentEntries = heartbeatsCache.slice();\r\n for (const singleDateHeartbeat of heartbeatsCache) {\r\n // Look for an existing entry with the same user agent.\r\n const heartbeatEntry = heartbeatsToSend.find(hb => hb.agent === singleDateHeartbeat.agent);\r\n if (!heartbeatEntry) {\r\n // If no entry for this user agent exists, create one.\r\n heartbeatsToSend.push({\r\n agent: singleDateHeartbeat.agent,\r\n dates: [singleDateHeartbeat.date]\r\n });\r\n if (countBytes(heartbeatsToSend) > maxSize) {\r\n // If the header would exceed max size, remove the added heartbeat\r\n // entry and stop adding to the header.\r\n heartbeatsToSend.pop();\r\n break;\r\n }\r\n }\r\n else {\r\n heartbeatEntry.dates.push(singleDateHeartbeat.date);\r\n // If the header would exceed max size, remove the added date\r\n // and stop adding to the header.\r\n if (countBytes(heartbeatsToSend) > maxSize) {\r\n heartbeatEntry.dates.pop();\r\n break;\r\n }\r\n }\r\n // Pop unsent entry from queue. (Skipped if adding the entry exceeded\r\n // quota and the loop breaks early.)\r\n unsentEntries = unsentEntries.slice(1);\r\n }\r\n return {\r\n heartbeatsToSend,\r\n unsentEntries\r\n };\r\n}\r\nclass HeartbeatStorageImpl {\r\n constructor(app) {\r\n this.app = app;\r\n this._canUseIndexedDBPromise = this.runIndexedDBEnvironmentCheck();\r\n }\r\n async runIndexedDBEnvironmentCheck() {\r\n if (!isIndexedDBAvailable()) {\r\n return false;\r\n }\r\n else {\r\n return validateIndexedDBOpenable()\r\n .then(() => true)\r\n .catch(() => false);\r\n }\r\n }\r\n /**\r\n * Read all heartbeats.\r\n */\r\n async read() {\r\n const canUseIndexedDB = await this._canUseIndexedDBPromise;\r\n if (!canUseIndexedDB) {\r\n return { heartbeats: [] };\r\n }\r\n else {\r\n const idbHeartbeatObject = await readHeartbeatsFromIndexedDB(this.app);\r\n if (idbHeartbeatObject === null || idbHeartbeatObject === void 0 ? void 0 : idbHeartbeatObject.heartbeats) {\r\n return idbHeartbeatObject;\r\n }\r\n else {\r\n return { heartbeats: [] };\r\n }\r\n }\r\n }\r\n // overwrite the storage with the provided heartbeats\r\n async overwrite(heartbeatsObject) {\r\n var _a;\r\n const canUseIndexedDB = await this._canUseIndexedDBPromise;\r\n if (!canUseIndexedDB) {\r\n return;\r\n }\r\n else {\r\n const existingHeartbeatsObject = await this.read();\r\n return writeHeartbeatsToIndexedDB(this.app, {\r\n lastSentHeartbeatDate: (_a = heartbeatsObject.lastSentHeartbeatDate) !== null && _a !== void 0 ? _a : existingHeartbeatsObject.lastSentHeartbeatDate,\r\n heartbeats: heartbeatsObject.heartbeats\r\n });\r\n }\r\n }\r\n // add heartbeats\r\n async add(heartbeatsObject) {\r\n var _a;\r\n const canUseIndexedDB = await this._canUseIndexedDBPromise;\r\n if (!canUseIndexedDB) {\r\n return;\r\n }\r\n else {\r\n const existingHeartbeatsObject = await this.read();\r\n return writeHeartbeatsToIndexedDB(this.app, {\r\n lastSentHeartbeatDate: (_a = heartbeatsObject.lastSentHeartbeatDate) !== null && _a !== void 0 ? _a : existingHeartbeatsObject.lastSentHeartbeatDate,\r\n heartbeats: [\r\n ...existingHeartbeatsObject.heartbeats,\r\n ...heartbeatsObject.heartbeats\r\n ]\r\n });\r\n }\r\n }\r\n}\r\n/**\r\n * Calculate bytes of a HeartbeatsByUserAgent array after being wrapped\r\n * in a platform logging header JSON object, stringified, and converted\r\n * to base 64.\r\n */\r\nfunction countBytes(heartbeatsCache) {\r\n // base64 has a restricted set of characters, all of which should be 1 byte.\r\n return base64urlEncodeWithoutPadding(\r\n // heartbeatsCache wrapper properties\r\n JSON.stringify({ version: 2, heartbeats: heartbeatsCache })).length;\r\n}\n\n/**\r\n * @license\r\n * Copyright 2019 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\nfunction registerCoreComponents(variant) {\r\n _registerComponent(new Component('platform-logger', container => new PlatformLoggerServiceImpl(container), \"PRIVATE\" /* ComponentType.PRIVATE */));\r\n _registerComponent(new Component('heartbeat', container => new HeartbeatServiceImpl(container), \"PRIVATE\" /* ComponentType.PRIVATE */));\r\n // Register `app` package.\r\n registerVersion(name$p, version$1, variant);\r\n // BUILD_TARGET will be replaced by values like esm5, esm2017, cjs5, etc during the compilation\r\n registerVersion(name$p, version$1, 'esm2017');\r\n // Register platform SDK identifier (no version).\r\n registerVersion('fire-js', '');\r\n}\n\n/**\r\n * Firebase App\r\n *\r\n * @remarks This package coordinates the communication between the different Firebase components\r\n * @packageDocumentation\r\n */\r\nregisterCoreComponents('');\n\nexport { SDK_VERSION, DEFAULT_ENTRY_NAME as _DEFAULT_ENTRY_NAME, _addComponent, _addOrOverwriteComponent, _apps, _clearComponents, _components, _getProvider, _isFirebaseApp, _isFirebaseServerApp, _registerComponent, _removeServiceInstance, _serverApps, deleteApp, getApp, getApps, initializeApp, initializeServerApp, onLog, registerVersion, setLogLevel };\n//# sourceMappingURL=index.esm2017.js.map\n","import { registerVersion } from '@firebase/app';\nexport * from '@firebase/app';\n\nvar name = \"firebase\";\nvar version = \"10.12.5\";\n\n/**\r\n * @license\r\n * Copyright 2020 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\nregisterVersion(name, version, 'app');\n//# sourceMappingURL=index.esm.js.map\n"],"names":["stringToByteArray$1","str","out","p","i","c","byteArrayToString","bytes","pos","c1","c2","c3","c4","u","base64","input","webSafe","byteToCharMap","output","byte1","haveByte2","byte2","haveByte3","byte3","outByte1","outByte2","outByte3","outByte4","charToByteMap","byte4","DecodeBase64StringError","base64Encode","utf8Bytes","base64urlEncodeWithoutPadding","base64Decode","getGlobal","getDefaultsFromGlobal","getDefaultsFromEnvVariable","define_process_env_default","defaultsJsonString","getDefaultsFromCookie","match","decoded","getDefaults","e","getDefaultAppConfig","_a","Deferred","resolve","reject","callback","error","value","isIndexedDBAvailable","validateIndexedDBOpenable","preExist","DB_CHECK_NAME","request","ERROR_NAME","FirebaseError","code","message","customData","ErrorFactory","service","serviceName","errors","data","fullCode","template","replaceTemplate","fullMessage","PATTERN","_","key","deepEqual","a","b","aKeys","bKeys","k","aProp","bProp","isObject","thing","Component","name","instanceFactory","type","mode","multipleInstances","props","DEFAULT_ENTRY_NAME","Provider","container","identifier","normalizedIdentifier","deferred","instance","options","optional","component","isComponentEager","instanceIdentifier","instanceDeferred","services","opts","normalizedDeferredIdentifier","existingCallbacks","existingInstance","callbacks","normalizeIdentifierForFactory","ComponentContainer","provider","LogLevel","levelStringToEnum","defaultLogLevel","ConsoleMethod","defaultLogHandler","logType","args","now","method","Logger","val","instanceOfAny","object","constructors","idbProxyableTypes","cursorAdvanceMethods","getIdbProxyableTypes","getCursorAdvanceMethods","cursorRequestMap","transactionDoneMap","transactionStoreNamesMap","transformCache","reverseTransformCache","promisifyRequest","promise","unlisten","success","wrap","cacheDonePromiseForTransaction","tx","done","complete","idbProxyTraps","target","prop","receiver","replaceTraps","wrapFunction","func","storeNames","unwrap","transformCachableValue","newValue","openDB","version","blocked","upgrade","blocking","terminated","openPromise","event","db","readMethods","writeMethods","cachedMethods","getMethod","targetFuncName","useIndex","isWrite","storeName","oldTraps","PlatformLoggerServiceImpl","isVersionServiceProvider","logString","name$p","version$1","logger","name$o","name$n","name$m","name$l","name$k","name$j","name$i","name$h","name$g","name$f","name$e","name$d","name$c","name$b","name$a","name$9","name$8","name$7","name$6","name$5","name$4","name$3","name$2","name$1","PLATFORM_LOG_STRING","_apps","_serverApps","_components","_addComponent","app","_registerComponent","componentName","serverApp","ERRORS","ERROR_FACTORY","FirebaseAppImpl","config","initializeApp","_options","rawConfig","existingApp","newApp","registerVersion","libraryKeyOrName","variant","library","libraryMismatch","versionMismatch","warning","DB_NAME","DB_VERSION","STORE_NAME","dbPromise","getDbPromise","oldVersion","readHeartbeatsFromIndexedDB","result","computeKey","idbGetError","writeHeartbeatsToIndexedDB","heartbeatObject","MAX_HEADER_BYTES","STORED_HEARTBEAT_RETENTION_MAX_MILLIS","HeartbeatServiceImpl","HeartbeatStorageImpl","_b","agent","date","getUTCDateString","singleDateHeartbeat","hbTimestamp","heartbeatsToSend","unsentEntries","extractHeartbeatsForHeader","headerString","heartbeatsCache","maxSize","heartbeatEntry","hb","countBytes","idbHeartbeatObject","heartbeatsObject","existingHeartbeatsObject","registerCoreComponents"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,5,6]} \ No newline at end of file diff --git a/Target/index.html b/Target/index.html index f026a524..c9f0be40 100644 --- a/Target/index.html +++ b/Target/index.html @@ -1 +1 @@ -

\ No newline at end of file +
\ No newline at end of file diff --git a/Target/manifest_h2lZuw-H.mjs.map b/Target/manifest_mEtZhJau.mjs.map similarity index 99% rename from Target/manifest_h2lZuw-H.mjs.map rename to Target/manifest_mEtZhJau.mjs.map index 90466b4d..7b953f2b 100644 --- a/Target/manifest_h2lZuw-H.mjs.map +++ b/Target/manifest_mEtZhJau.mjs.map @@ -1 +1 @@ -{"version":3,"file":"manifest_h2lZuw-H.mjs","sources":["../node_modules/astro/dist/core/logger/core.js","../node_modules/astro/dist/core/routing/manifest/generator.js","../node_modules/astro/dist/core/routing/manifest/serialization.js","../node_modules/astro/dist/core/app/common.js"],"sourcesContent":["import { blue, bold, dim, red, yellow } from \"kleur/colors\";\nimport stringWidth from \"string-width\";\nconst dateTimeFormat = new Intl.DateTimeFormat([], {\n hour: \"2-digit\",\n minute: \"2-digit\",\n second: \"2-digit\",\n hour12: false\n});\nconst levels = {\n debug: 20,\n info: 30,\n warn: 40,\n error: 50,\n silent: 90\n};\nfunction log(opts, level, label, message, newLine = true) {\n const logLevel = opts.level;\n const dest = opts.dest;\n const event = {\n label,\n level,\n message,\n newLine\n };\n if (!isLogLevelEnabled(logLevel, level)) {\n return;\n }\n dest.write(event);\n}\nfunction isLogLevelEnabled(configuredLogLevel, level) {\n return levels[configuredLogLevel] <= levels[level];\n}\nfunction info(opts, label, message, newLine = true) {\n return log(opts, \"info\", label, message, newLine);\n}\nfunction warn(opts, label, message, newLine = true) {\n return log(opts, \"warn\", label, message, newLine);\n}\nfunction error(opts, label, message, newLine = true) {\n return log(opts, \"error\", label, message, newLine);\n}\nfunction table(opts, columns) {\n return function logTable(logFn, ...input) {\n const message = columns.map((len, i) => padStr(input[i].toString(), len)).join(\" \");\n logFn(opts, null, message);\n };\n}\nfunction debug(...args) {\n if (\"_astroGlobalDebug\" in globalThis) {\n globalThis._astroGlobalDebug(...args);\n }\n}\nfunction padStr(str, len) {\n const strLen = stringWidth(str);\n if (strLen > len) {\n return str.substring(0, len - 3) + \"...\";\n }\n const spaces = Array.from({ length: len - strLen }, () => \" \").join(\"\");\n return str + spaces;\n}\nfunction getEventPrefix({ level, label }) {\n const timestamp = `${dateTimeFormat.format(/* @__PURE__ */ new Date())}`;\n const prefix = [];\n if (level === \"error\" || level === \"warn\") {\n prefix.push(bold(timestamp));\n prefix.push(`[${level.toUpperCase()}]`);\n } else {\n prefix.push(timestamp);\n }\n if (label) {\n prefix.push(`[${label}]`);\n }\n if (level === \"error\") {\n return red(prefix.join(\" \"));\n }\n if (level === \"warn\") {\n return yellow(prefix.join(\" \"));\n }\n if (prefix.length === 1) {\n return dim(prefix[0]);\n }\n return dim(prefix[0]) + \" \" + blue(prefix.splice(1).join(\" \"));\n}\nlet defaultLogLevel;\nif (typeof process !== \"undefined\") {\n let proc = process;\n if (\"argv\" in proc && Array.isArray(proc.argv)) {\n if (proc.argv.includes(\"--verbose\")) {\n defaultLogLevel = \"debug\";\n } else if (proc.argv.includes(\"--silent\")) {\n defaultLogLevel = \"silent\";\n } else {\n defaultLogLevel = \"info\";\n }\n } else {\n defaultLogLevel = \"info\";\n }\n} else {\n defaultLogLevel = \"info\";\n}\nfunction timerMessage(message, startTime = Date.now()) {\n let timeDiff = Date.now() - startTime;\n let timeDisplay = timeDiff < 750 ? `${Math.round(timeDiff)}ms` : `${(timeDiff / 1e3).toFixed(1)}s`;\n return `${message} ${dim(timeDisplay)}`;\n}\nclass Logger {\n options;\n constructor(options) {\n this.options = options;\n }\n info(label, message, newLine = true) {\n info(this.options, label, message, newLine);\n }\n warn(label, message, newLine = true) {\n warn(this.options, label, message, newLine);\n }\n error(label, message, newLine = true) {\n error(this.options, label, message, newLine);\n }\n debug(label, ...messages) {\n debug(label, ...messages);\n }\n level() {\n return this.options.level;\n }\n forkIntegrationLogger(label) {\n return new AstroIntegrationLogger(this.options, label);\n }\n}\nclass AstroIntegrationLogger {\n options;\n label;\n constructor(logging, label) {\n this.options = logging;\n this.label = label;\n }\n /**\n * Creates a new logger instance with a new label, but the same log options.\n */\n fork(label) {\n return new AstroIntegrationLogger(this.options, label);\n }\n info(message) {\n info(this.options, this.label, message);\n }\n warn(message) {\n warn(this.options, this.label, message);\n }\n error(message) {\n error(this.options, this.label, message);\n }\n debug(message) {\n debug(this.label, message);\n }\n}\nexport {\n AstroIntegrationLogger,\n Logger,\n dateTimeFormat,\n debug,\n defaultLogLevel,\n error,\n getEventPrefix,\n info,\n isLogLevelEnabled,\n levels,\n log,\n table,\n timerMessage,\n warn\n};\n","import { compile } from \"path-to-regexp\";\nfunction sanitizeParams(params) {\n return Object.fromEntries(\n Object.entries(params).map(([key, value]) => {\n if (typeof value === \"string\") {\n return [key, value.normalize().replace(/#/g, \"%23\").replace(/\\?/g, \"%3F\")];\n }\n return [key, value];\n })\n );\n}\nfunction getRouteGenerator(segments, addTrailingSlash) {\n const template = segments.map((segment) => {\n return \"/\" + segment.map((part) => {\n if (part.spread) {\n return `:${part.content.slice(3)}(.*)?`;\n } else if (part.dynamic) {\n return `:${part.content}`;\n } else {\n return part.content.normalize().replace(/\\?/g, \"%3F\").replace(/#/g, \"%23\").replace(/%5B/g, \"[\").replace(/%5D/g, \"]\").replace(/[.*+?^${}()|[\\]\\\\]/g, \"\\\\$&\");\n }\n }).join(\"\");\n }).join(\"\");\n let trailing = \"\";\n if (addTrailingSlash === \"always\" && segments.length) {\n trailing = \"/\";\n }\n const toPath = compile(template + trailing);\n return (params) => {\n const sanitizedParams = sanitizeParams(params);\n const path = toPath(sanitizedParams);\n return path || \"/\";\n };\n}\nexport {\n getRouteGenerator\n};\n","import { getRouteGenerator } from \"./generator.js\";\nfunction serializeRouteData(routeData, trailingSlash) {\n return {\n ...routeData,\n generate: void 0,\n pattern: routeData.pattern.source,\n redirectRoute: routeData.redirectRoute ? serializeRouteData(routeData.redirectRoute, trailingSlash) : void 0,\n fallbackRoutes: routeData.fallbackRoutes.map((fallbackRoute) => {\n return serializeRouteData(fallbackRoute, trailingSlash);\n }),\n _meta: { trailingSlash }\n };\n}\nfunction deserializeRouteData(rawRouteData) {\n return {\n route: rawRouteData.route,\n type: rawRouteData.type,\n pattern: new RegExp(rawRouteData.pattern),\n params: rawRouteData.params,\n component: rawRouteData.component,\n generate: getRouteGenerator(rawRouteData.segments, rawRouteData._meta.trailingSlash),\n pathname: rawRouteData.pathname || void 0,\n segments: rawRouteData.segments,\n prerender: rawRouteData.prerender,\n redirect: rawRouteData.redirect,\n redirectRoute: rawRouteData.redirectRoute ? deserializeRouteData(rawRouteData.redirectRoute) : void 0,\n fallbackRoutes: rawRouteData.fallbackRoutes.map((fallback) => {\n return deserializeRouteData(fallback);\n }),\n isIndex: rawRouteData.isIndex\n };\n}\nexport {\n deserializeRouteData,\n serializeRouteData\n};\n","import { deserializeRouteData } from \"../routing/manifest/serialization.js\";\nfunction deserializeManifest(serializedManifest) {\n const routes = [];\n for (const serializedRoute of serializedManifest.routes) {\n routes.push({\n ...serializedRoute,\n routeData: deserializeRouteData(serializedRoute.routeData)\n });\n const route = serializedRoute;\n route.routeData = deserializeRouteData(serializedRoute.routeData);\n }\n const assets = new Set(serializedManifest.assets);\n const componentMetadata = new Map(serializedManifest.componentMetadata);\n const inlinedScripts = new Map(serializedManifest.inlinedScripts);\n const clientDirectives = new Map(serializedManifest.clientDirectives);\n const serverIslandNameMap = new Map(serializedManifest.serverIslandNameMap);\n return {\n // in case user middleware exists, this no-op middleware will be reassigned (see plugin-ssr.ts)\n middleware(_, next) {\n return next();\n },\n ...serializedManifest,\n assets,\n componentMetadata,\n inlinedScripts,\n clientDirectives,\n routes,\n serverIslandNameMap\n };\n}\nexport {\n deserializeManifest\n};\n"],"names":[],"mappings":";;;;;;;;;AAoFA,IAAI,OAAO,OAAO,KAAK,WAAW,EAAE;AACpC,EAAE,IAAI,IAAI,GAAG,OAAO,CAAC;AACrB,EAAE,IAAI,MAAM,IAAI,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;AAClD,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAEpC,MAAM,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAE1C,MAAM,CAEN;AACL,GAEG;AACH;;AChGA,SAAS,cAAc,CAAC,MAAM,EAAE;AAChC,EAAE,OAAO,MAAM,CAAC,WAAW;AAC3B,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,KAAK;AACjD,MAAM,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;AACrC,QAAQ,OAAO,CAAC,GAAG,EAAE,KAAK,CAAC,SAAS,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC;AACnF,OAAO;AACP,MAAM,OAAO,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;AAC1B,KAAK,CAAC;AACN,GAAG,CAAC;AACJ,CAAC;AACD,SAAS,iBAAiB,CAAC,QAAQ,EAAE,gBAAgB,EAAE;AACvD,EAAE,MAAM,QAAQ,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,KAAK;AAC7C,IAAI,OAAO,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,KAAK;AACvC,MAAM,IAAI,IAAI,CAAC,MAAM,EAAE;AACvB,QAAQ,OAAO,CAAC,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;AAChD,OAAO,MAAM,IAAI,IAAI,CAAC,OAAO,EAAE;AAC/B,QAAQ,OAAO,CAAC,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;AAClC,OAAO,MAAM;AACb,QAAQ,OAAO,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,qBAAqB,EAAE,MAAM,CAAC,CAAC;AACpK,OAAO;AACP,KAAK,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AAChB,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AACd,EAAE,IAAI,QAAQ,GAAG,EAAE,CAAC;AACpB,EAAE,IAAI,gBAAgB,KAAK,QAAQ,IAAI,QAAQ,CAAC,MAAM,EAAE;AACxD,IAAI,QAAQ,GAAG,GAAG,CAAC;AACnB,GAAG;AACH,EAAE,MAAM,MAAM,GAAG,OAAO,CAAC,QAAQ,GAAG,QAAQ,CAAC,CAAC;AAC9C,EAAE,OAAO,CAAC,MAAM,KAAK;AACrB,IAAI,MAAM,eAAe,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC;AACnD,IAAI,MAAM,IAAI,GAAG,MAAM,CAAC,eAAe,CAAC,CAAC;AACzC,IAAI,OAAO,IAAI,IAAI,GAAG,CAAC;AACvB,GAAG,CAAC;AACJ;;ACpBA,SAAS,oBAAoB,CAAC,YAAY,EAAE;AAC5C,EAAE,OAAO;AACT,IAAI,KAAK,EAAE,YAAY,CAAC,KAAK;AAC7B,IAAI,IAAI,EAAE,YAAY,CAAC,IAAI;AAC3B,IAAI,OAAO,EAAE,IAAI,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC;AAC7C,IAAI,MAAM,EAAE,YAAY,CAAC,MAAM;AAC/B,IAAI,SAAS,EAAE,YAAY,CAAC,SAAS;AACrC,IAAI,QAAQ,EAAE,iBAAiB,CAAC,YAAY,CAAC,QAAQ,EAAE,YAAY,CAAC,KAAK,CAAC,aAAa,CAAC;AACxF,IAAI,QAAQ,EAAE,YAAY,CAAC,QAAQ,IAAI,KAAK,CAAC;AAC7C,IAAI,QAAQ,EAAE,YAAY,CAAC,QAAQ;AACnC,IAAI,SAAS,EAAE,YAAY,CAAC,SAAS;AACrC,IAAI,QAAQ,EAAE,YAAY,CAAC,QAAQ;AACnC,IAAI,aAAa,EAAE,YAAY,CAAC,aAAa,GAAG,oBAAoB,CAAC,YAAY,CAAC,aAAa,CAAC,GAAG,KAAK,CAAC;AACzG,IAAI,cAAc,EAAE,YAAY,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,QAAQ,KAAK;AAClE,MAAM,OAAO,oBAAoB,CAAC,QAAQ,CAAC,CAAC;AAC5C,KAAK,CAAC;AACN,IAAI,OAAO,EAAE,YAAY,CAAC,OAAO;AACjC,GAAG,CAAC;AACJ;;AC9BA,SAAS,mBAAmB,CAAC,kBAAkB,EAAE;AACjD,EAAE,MAAM,MAAM,GAAG,EAAE,CAAC;AACpB,EAAE,KAAK,MAAM,eAAe,IAAI,kBAAkB,CAAC,MAAM,EAAE;AAC3D,IAAI,MAAM,CAAC,IAAI,CAAC;AAChB,MAAM,GAAG,eAAe;AACxB,MAAM,SAAS,EAAE,oBAAoB,CAAC,eAAe,CAAC,SAAS,CAAC;AAChE,KAAK,CAAC,CAAC;AACP,IAAI,MAAM,KAAK,GAAG,eAAe,CAAC;AAClC,IAAI,KAAK,CAAC,SAAS,GAAG,oBAAoB,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;AACtE,GAAG;AACH,EAAE,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC;AACpD,EAAE,MAAM,iBAAiB,GAAG,IAAI,GAAG,CAAC,kBAAkB,CAAC,iBAAiB,CAAC,CAAC;AAC1E,EAAE,MAAM,cAAc,GAAG,IAAI,GAAG,CAAC,kBAAkB,CAAC,cAAc,CAAC,CAAC;AACpE,EAAE,MAAM,gBAAgB,GAAG,IAAI,GAAG,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,CAAC;AACxE,EAAE,MAAM,mBAAmB,GAAG,IAAI,GAAG,CAAC,kBAAkB,CAAC,mBAAmB,CAAC,CAAC;AAC9E,EAAE,OAAO;AACT;AACA,IAAI,UAAU,CAAC,CAAC,EAAE,IAAI,EAAE;AACxB,MAAM,OAAO,IAAI,EAAE,CAAC;AACpB,KAAK;AACL,IAAI,GAAG,kBAAkB;AACzB,IAAI,MAAM;AACV,IAAI,iBAAiB;AACrB,IAAI,cAAc;AAClB,IAAI,gBAAgB;AACpB,IAAI,MAAM;AACV,IAAI,mBAAmB;AACvB,GAAG,CAAC;AACJ;;;;;;","x_google_ignoreList":[0,1,2,3]} \ No newline at end of file +{"version":3,"file":"manifest_mEtZhJau.mjs","sources":["../node_modules/astro/dist/core/logger/core.js","../node_modules/astro/dist/core/routing/manifest/generator.js","../node_modules/astro/dist/core/routing/manifest/serialization.js","../node_modules/astro/dist/core/app/common.js"],"sourcesContent":["import { blue, bold, dim, red, yellow } from \"kleur/colors\";\nimport stringWidth from \"string-width\";\nconst dateTimeFormat = new Intl.DateTimeFormat([], {\n hour: \"2-digit\",\n minute: \"2-digit\",\n second: \"2-digit\",\n hour12: false\n});\nconst levels = {\n debug: 20,\n info: 30,\n warn: 40,\n error: 50,\n silent: 90\n};\nfunction log(opts, level, label, message, newLine = true) {\n const logLevel = opts.level;\n const dest = opts.dest;\n const event = {\n label,\n level,\n message,\n newLine\n };\n if (!isLogLevelEnabled(logLevel, level)) {\n return;\n }\n dest.write(event);\n}\nfunction isLogLevelEnabled(configuredLogLevel, level) {\n return levels[configuredLogLevel] <= levels[level];\n}\nfunction info(opts, label, message, newLine = true) {\n return log(opts, \"info\", label, message, newLine);\n}\nfunction warn(opts, label, message, newLine = true) {\n return log(opts, \"warn\", label, message, newLine);\n}\nfunction error(opts, label, message, newLine = true) {\n return log(opts, \"error\", label, message, newLine);\n}\nfunction table(opts, columns) {\n return function logTable(logFn, ...input) {\n const message = columns.map((len, i) => padStr(input[i].toString(), len)).join(\" \");\n logFn(opts, null, message);\n };\n}\nfunction debug(...args) {\n if (\"_astroGlobalDebug\" in globalThis) {\n globalThis._astroGlobalDebug(...args);\n }\n}\nfunction padStr(str, len) {\n const strLen = stringWidth(str);\n if (strLen > len) {\n return str.substring(0, len - 3) + \"...\";\n }\n const spaces = Array.from({ length: len - strLen }, () => \" \").join(\"\");\n return str + spaces;\n}\nfunction getEventPrefix({ level, label }) {\n const timestamp = `${dateTimeFormat.format(/* @__PURE__ */ new Date())}`;\n const prefix = [];\n if (level === \"error\" || level === \"warn\") {\n prefix.push(bold(timestamp));\n prefix.push(`[${level.toUpperCase()}]`);\n } else {\n prefix.push(timestamp);\n }\n if (label) {\n prefix.push(`[${label}]`);\n }\n if (level === \"error\") {\n return red(prefix.join(\" \"));\n }\n if (level === \"warn\") {\n return yellow(prefix.join(\" \"));\n }\n if (prefix.length === 1) {\n return dim(prefix[0]);\n }\n return dim(prefix[0]) + \" \" + blue(prefix.splice(1).join(\" \"));\n}\nlet defaultLogLevel;\nif (typeof process !== \"undefined\") {\n let proc = process;\n if (\"argv\" in proc && Array.isArray(proc.argv)) {\n if (proc.argv.includes(\"--verbose\")) {\n defaultLogLevel = \"debug\";\n } else if (proc.argv.includes(\"--silent\")) {\n defaultLogLevel = \"silent\";\n } else {\n defaultLogLevel = \"info\";\n }\n } else {\n defaultLogLevel = \"info\";\n }\n} else {\n defaultLogLevel = \"info\";\n}\nfunction timerMessage(message, startTime = Date.now()) {\n let timeDiff = Date.now() - startTime;\n let timeDisplay = timeDiff < 750 ? `${Math.round(timeDiff)}ms` : `${(timeDiff / 1e3).toFixed(1)}s`;\n return `${message} ${dim(timeDisplay)}`;\n}\nclass Logger {\n options;\n constructor(options) {\n this.options = options;\n }\n info(label, message, newLine = true) {\n info(this.options, label, message, newLine);\n }\n warn(label, message, newLine = true) {\n warn(this.options, label, message, newLine);\n }\n error(label, message, newLine = true) {\n error(this.options, label, message, newLine);\n }\n debug(label, ...messages) {\n debug(label, ...messages);\n }\n level() {\n return this.options.level;\n }\n forkIntegrationLogger(label) {\n return new AstroIntegrationLogger(this.options, label);\n }\n}\nclass AstroIntegrationLogger {\n options;\n label;\n constructor(logging, label) {\n this.options = logging;\n this.label = label;\n }\n /**\n * Creates a new logger instance with a new label, but the same log options.\n */\n fork(label) {\n return new AstroIntegrationLogger(this.options, label);\n }\n info(message) {\n info(this.options, this.label, message);\n }\n warn(message) {\n warn(this.options, this.label, message);\n }\n error(message) {\n error(this.options, this.label, message);\n }\n debug(message) {\n debug(this.label, message);\n }\n}\nexport {\n AstroIntegrationLogger,\n Logger,\n dateTimeFormat,\n debug,\n defaultLogLevel,\n error,\n getEventPrefix,\n info,\n isLogLevelEnabled,\n levels,\n log,\n table,\n timerMessage,\n warn\n};\n","import { compile } from \"path-to-regexp\";\nfunction sanitizeParams(params) {\n return Object.fromEntries(\n Object.entries(params).map(([key, value]) => {\n if (typeof value === \"string\") {\n return [key, value.normalize().replace(/#/g, \"%23\").replace(/\\?/g, \"%3F\")];\n }\n return [key, value];\n })\n );\n}\nfunction getRouteGenerator(segments, addTrailingSlash) {\n const template = segments.map((segment) => {\n return \"/\" + segment.map((part) => {\n if (part.spread) {\n return `:${part.content.slice(3)}(.*)?`;\n } else if (part.dynamic) {\n return `:${part.content}`;\n } else {\n return part.content.normalize().replace(/\\?/g, \"%3F\").replace(/#/g, \"%23\").replace(/%5B/g, \"[\").replace(/%5D/g, \"]\").replace(/[.*+?^${}()|[\\]\\\\]/g, \"\\\\$&\");\n }\n }).join(\"\");\n }).join(\"\");\n let trailing = \"\";\n if (addTrailingSlash === \"always\" && segments.length) {\n trailing = \"/\";\n }\n const toPath = compile(template + trailing);\n return (params) => {\n const sanitizedParams = sanitizeParams(params);\n const path = toPath(sanitizedParams);\n return path || \"/\";\n };\n}\nexport {\n getRouteGenerator\n};\n","import { getRouteGenerator } from \"./generator.js\";\nfunction serializeRouteData(routeData, trailingSlash) {\n return {\n ...routeData,\n generate: void 0,\n pattern: routeData.pattern.source,\n redirectRoute: routeData.redirectRoute ? serializeRouteData(routeData.redirectRoute, trailingSlash) : void 0,\n fallbackRoutes: routeData.fallbackRoutes.map((fallbackRoute) => {\n return serializeRouteData(fallbackRoute, trailingSlash);\n }),\n _meta: { trailingSlash }\n };\n}\nfunction deserializeRouteData(rawRouteData) {\n return {\n route: rawRouteData.route,\n type: rawRouteData.type,\n pattern: new RegExp(rawRouteData.pattern),\n params: rawRouteData.params,\n component: rawRouteData.component,\n generate: getRouteGenerator(rawRouteData.segments, rawRouteData._meta.trailingSlash),\n pathname: rawRouteData.pathname || void 0,\n segments: rawRouteData.segments,\n prerender: rawRouteData.prerender,\n redirect: rawRouteData.redirect,\n redirectRoute: rawRouteData.redirectRoute ? deserializeRouteData(rawRouteData.redirectRoute) : void 0,\n fallbackRoutes: rawRouteData.fallbackRoutes.map((fallback) => {\n return deserializeRouteData(fallback);\n }),\n isIndex: rawRouteData.isIndex\n };\n}\nexport {\n deserializeRouteData,\n serializeRouteData\n};\n","import { deserializeRouteData } from \"../routing/manifest/serialization.js\";\nfunction deserializeManifest(serializedManifest) {\n const routes = [];\n for (const serializedRoute of serializedManifest.routes) {\n routes.push({\n ...serializedRoute,\n routeData: deserializeRouteData(serializedRoute.routeData)\n });\n const route = serializedRoute;\n route.routeData = deserializeRouteData(serializedRoute.routeData);\n }\n const assets = new Set(serializedManifest.assets);\n const componentMetadata = new Map(serializedManifest.componentMetadata);\n const inlinedScripts = new Map(serializedManifest.inlinedScripts);\n const clientDirectives = new Map(serializedManifest.clientDirectives);\n const serverIslandNameMap = new Map(serializedManifest.serverIslandNameMap);\n return {\n // in case user middleware exists, this no-op middleware will be reassigned (see plugin-ssr.ts)\n middleware(_, next) {\n return next();\n },\n ...serializedManifest,\n assets,\n componentMetadata,\n inlinedScripts,\n clientDirectives,\n routes,\n serverIslandNameMap\n };\n}\nexport {\n deserializeManifest\n};\n"],"names":[],"mappings":"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","x_google_ignoreList":[0,1,2,3]} \ No newline at end of file From 91ee1f9a529145074c0acfa9885309458cf00d70 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 5 Aug 2024 01:15:35 +0000 Subject: [PATCH 013/112] Bump actions/upload-artifact from 4.3.4 to 4.3.5 Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) from 4.3.4 to 4.3.5. - [Release notes](https://github.com/actions/upload-artifact/releases) - [Commits](https://github.com/actions/upload-artifact/compare/v4.3.4...v4.3.5) --- updated-dependencies: - dependency-name: actions/upload-artifact dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- .github/workflows/Node.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/Node.yml b/.github/workflows/Node.yml index 216f5b7e..97cc5642 100644 --- a/.github/workflows/Node.yml +++ b/.github/workflows/Node.yml @@ -87,7 +87,7 @@ jobs: - run: pnpm run prepublishOnly working-directory: . - - uses: actions/upload-artifact@v4.3.4 + - uses: actions/upload-artifact@v4.3.5 with: name: .-Node-${{ matrix.node-version }}-Target path: ./Target From d6c77f8e207ef68b93bda107b102e0222d0f4d63 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 5 Aug 2024 01:30:23 +0000 Subject: [PATCH 014/112] Bump @playform/compress from 0.1.0 to 0.1.1 Bumps [@playform/compress](https://github.com/PlayForm/Compress) from 0.1.0 to 0.1.1. - [Release notes](https://github.com/PlayForm/Compress/releases) - [Changelog](https://github.com/PlayForm/Compress/blob/Current/CHANGELOG.md) - [Commits](https://github.com/PlayForm/Compress/compare/Compress/v0.1.0...Compress/v0.1.1) --- updated-dependencies: - dependency-name: "@playform/compress" dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index f59c165c..dca1f193 100644 --- a/package.json +++ b/package.json @@ -30,7 +30,7 @@ "dependencies": { "@astrojs/sitemap": "3.1.6", "@playform/build": "0.1.2", - "@playform/compress": "0.1.0", + "@playform/compress": "0.1.1", "@playform/format": "0.0.7", "@playform/inline": "0.1.0", "@swup/body-class-plugin": "3.2.0", From ad6120732391172bfcdf2425603c4d115aa9140e Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 5 Aug 2024 01:30:31 +0000 Subject: [PATCH 015/112] Bump autoprefixer from 10.4.19 to 10.4.20 Bumps [autoprefixer](https://github.com/postcss/autoprefixer) from 10.4.19 to 10.4.20. - [Release notes](https://github.com/postcss/autoprefixer/releases) - [Changelog](https://github.com/postcss/autoprefixer/blob/main/CHANGELOG.md) - [Commits](https://github.com/postcss/autoprefixer/compare/10.4.19...10.4.20) --- updated-dependencies: - dependency-name: autoprefixer dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index f59c165c..8454cf47 100644 --- a/package.json +++ b/package.json @@ -46,7 +46,7 @@ "astro": "*", "astro-capo": "0.0.1", "astrojs-service-worker": "2.0.0", - "autoprefixer": "10.4.19", + "autoprefixer": "10.4.20", "cssnano": "7.0.4", "cssnano-preset-advanced": "7.0.4", "dotenv": "16.4.5", From 362386ee9d2c93ebe38c4bc9fda67022bdae5f71 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 6 Aug 2024 01:54:12 +0000 Subject: [PATCH 016/112] Bump postcss from 8.4.40 to 8.4.41 Bumps [postcss](https://github.com/postcss/postcss) from 8.4.40 to 8.4.41. - [Release notes](https://github.com/postcss/postcss/releases) - [Changelog](https://github.com/postcss/postcss/blob/main/CHANGELOG.md) - [Commits](https://github.com/postcss/postcss/compare/8.4.40...8.4.41) --- updated-dependencies: - dependency-name: postcss dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index d8a65983..1be50108 100644 --- a/package.json +++ b/package.json @@ -51,7 +51,7 @@ "cssnano-preset-advanced": "7.0.4", "dotenv": "16.4.5", "firebase": "10.12.5", - "postcss": "8.4.40", + "postcss": "8.4.41", "postcss-combine-duplicated-selectors": "10.0.3", "postcss-combine-media-query": "1.0.1", "postcss-import": "16.1.0", From 9687f40f4bb1b9460388e913cb70395c0a906522 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 6 Aug 2024 01:55:52 +0000 Subject: [PATCH 017/112] Bump @playform/build from 0.1.2 to 0.1.3 Bumps [@playform/build](https://github.com/PlayForm/Build) from 0.1.2 to 0.1.3. - [Release notes](https://github.com/PlayForm/Build/releases) - [Changelog](https://github.com/PlayForm/Build/blob/Current/CHANGELOG.md) - [Commits](https://github.com/PlayForm/Build/compare/v0.1.2...v0.1.3) --- updated-dependencies: - dependency-name: "@playform/build" dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 1be50108..b865a91f 100644 --- a/package.json +++ b/package.json @@ -29,7 +29,7 @@ }, "dependencies": { "@astrojs/sitemap": "3.1.6", - "@playform/build": "0.1.2", + "@playform/build": "0.1.3", "@playform/compress": "0.1.1", "@playform/format": "0.0.7", "@playform/inline": "0.1.0", From e07f242085acf17d7923eb89c3739a68f7393a79 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 7 Aug 2024 01:08:59 +0000 Subject: [PATCH 018/112] Bump actions/upload-artifact from 4.3.5 to 4.3.6 Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) from 4.3.5 to 4.3.6. - [Release notes](https://github.com/actions/upload-artifact/releases) - [Commits](https://github.com/actions/upload-artifact/compare/v4.3.5...v4.3.6) --- updated-dependencies: - dependency-name: actions/upload-artifact dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- .github/workflows/Node.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/Node.yml b/.github/workflows/Node.yml index 97cc5642..e9ddd246 100644 --- a/.github/workflows/Node.yml +++ b/.github/workflows/Node.yml @@ -87,7 +87,7 @@ jobs: - run: pnpm run prepublishOnly working-directory: . - - uses: actions/upload-artifact@v4.3.5 + - uses: actions/upload-artifact@v4.3.6 with: name: .-Node-${{ matrix.node-version }}-Target path: ./Target From e49082fdec66987fb94df9466945c385af109397 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 8 Aug 2024 01:25:26 +0000 Subject: [PATCH 019/112] Bump @tailwindcss/typography from 0.5.13 to 0.5.14 Bumps [@tailwindcss/typography](https://github.com/tailwindlabs/tailwindcss-typography) from 0.5.13 to 0.5.14. - [Release notes](https://github.com/tailwindlabs/tailwindcss-typography/releases) - [Changelog](https://github.com/tailwindlabs/tailwindcss-typography/blob/master/CHANGELOG.md) - [Commits](https://github.com/tailwindlabs/tailwindcss-typography/compare/v0.5.13...v0.5.14) --- updated-dependencies: - dependency-name: "@tailwindcss/typography" dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index b865a91f..878400a1 100644 --- a/package.json +++ b/package.json @@ -42,7 +42,7 @@ "@swup/slide-theme": "2.0.1", "@tailwindcss/aspect-ratio": "0.4.2", "@tailwindcss/forms": "0.5.7", - "@tailwindcss/typography": "0.5.13", + "@tailwindcss/typography": "0.5.14", "astro": "*", "astro-capo": "0.0.1", "astrojs-service-worker": "2.0.0", From 309f80c3f6d654063ba6a012c5e34d6d6031ca50 Mon Sep 17 00:00:00 2001 From: Nikola Hristov Date: Thu, 8 Aug 2024 11:31:11 +0300 Subject: [PATCH 020/112] --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index b865a91f..878400a1 100644 --- a/package.json +++ b/package.json @@ -42,7 +42,7 @@ "@swup/slide-theme": "2.0.1", "@tailwindcss/aspect-ratio": "0.4.2", "@tailwindcss/forms": "0.5.7", - "@tailwindcss/typography": "0.5.13", + "@tailwindcss/typography": "0.5.14", "astro": "*", "astro-capo": "0.0.1", "astrojs-service-worker": "2.0.0", From 05ef257b0a1ac45035a73fe315827539a410e320 Mon Sep 17 00:00:00 2001 From: Nikola Hristov Date: Sun, 11 Aug 2024 13:31:40 +0300 Subject: [PATCH 021/112] --- package.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/package.json b/package.json index 878400a1..c1dbacd3 100644 --- a/package.json +++ b/package.json @@ -47,8 +47,8 @@ "astro-capo": "0.0.1", "astrojs-service-worker": "2.0.0", "autoprefixer": "10.4.20", - "cssnano": "7.0.4", - "cssnano-preset-advanced": "7.0.4", + "cssnano": "7.0.5", + "cssnano-preset-advanced": "7.0.5", "dotenv": "16.4.5", "firebase": "10.12.5", "postcss": "8.4.41", From 9360f4f21f562b30514ebca35d26975b3ded1415 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 16 Aug 2024 01:46:35 +0000 Subject: [PATCH 022/112] Bump firebase from 10.12.5 to 10.13.0 Bumps [firebase](https://github.com/firebase/firebase-js-sdk) from 10.12.5 to 10.13.0. - [Release notes](https://github.com/firebase/firebase-js-sdk/releases) - [Changelog](https://github.com/firebase/firebase-js-sdk/blob/main/CHANGELOG.md) - [Commits](https://github.com/firebase/firebase-js-sdk/compare/firebase@10.12.5...firebase@10.13.0) --- updated-dependencies: - dependency-name: firebase dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index c1dbacd3..1cf1797c 100644 --- a/package.json +++ b/package.json @@ -50,7 +50,7 @@ "cssnano": "7.0.5", "cssnano-preset-advanced": "7.0.5", "dotenv": "16.4.5", - "firebase": "10.12.5", + "firebase": "10.13.0", "postcss": "8.4.41", "postcss-combine-duplicated-selectors": "10.0.3", "postcss-combine-media-query": "1.0.1", From cbe6c443a9e3fbfa48fe2b28b7c3efd729d60329 Mon Sep 17 00:00:00 2001 From: Nikola Hristov Date: Mon, 19 Aug 2024 00:19:59 +0300 Subject: [PATCH 023/112] --- .astro/types.d.ts | 1 + ... => Base.astro_astro_type_script_index_0_lang.CCQPt6x2.js} | 4 ++-- ...Base.astro_astro_type_script_index_0_lang.CCQPt6x2.js.map} | 2 +- .../Base.astro_astro_type_script_index_2_lang.D4DYKVOQ.js.map | 2 +- Target/_astro/Swup.modern.BemQoQWS.js.map | 2 +- ...tions.astro_astro_type_script_index_0_lang.Bvzvg9jW.js.map | 1 - ...nsitions.astro_astro_type_script_index_0_lang.DSSDe5pU.js} | 0 ...tions.astro_astro_type_script_index_0_lang.DSSDe5pU.js.map | 1 + Target/_astro/index.Pa49pp0M.css | 1 + Target/_astro/index.b4Ud5wVZ.css | 1 - Target/_astro/index.esm.JD-0sKti.js.map | 1 - .../_astro/{index.esm.JD-0sKti.js => index.esm.WPJ9Gp6O.js} | 2 +- Target/_astro/index.esm.WPJ9Gp6O.js.map | 1 + Target/_astro/index.modern.CUPCPLSa.js.map | 2 +- Target/_astro/index.modern.DpLP8u1C.js.map | 2 +- Target/_astro/index.modern.FjGODCox.js.map | 2 +- Target/_astro/index.modern.aa8fLSdp.js.map | 2 +- Target/_astro/index.modern.ljjH5-f0.js.map | 2 +- Target/chunks/astro/server_BFaOE388.mjs.map | 1 - Target/chunks/astro/server_O4728HY4.mjs.map | 1 + Target/chunks/astro_BCqEYKjy.mjs.map | 1 + Target/chunks/astro_CwJWwaRM.mjs.map | 1 - Target/index.html | 2 +- Target/manifest_D1oi77ek.mjs.map | 1 + Target/manifest_mEtZhJau.mjs.map | 1 - Target/pages/index.astro.mjs.map | 2 +- package.json | 2 +- 27 files changed, 21 insertions(+), 20 deletions(-) create mode 100644 .astro/types.d.ts rename Target/_astro/{Base.astro_astro_type_script_index_0_lang.Dhdjth5_.js => Base.astro_astro_type_script_index_0_lang.CCQPt6x2.js} (65%) rename Target/_astro/{Base.astro_astro_type_script_index_0_lang.Dhdjth5_.js.map => Base.astro_astro_type_script_index_0_lang.CCQPt6x2.js.map} (96%) delete mode 100644 Target/_astro/ViewTransitions.astro_astro_type_script_index_0_lang.Bvzvg9jW.js.map rename Target/_astro/{ViewTransitions.astro_astro_type_script_index_0_lang.Bvzvg9jW.js => ViewTransitions.astro_astro_type_script_index_0_lang.DSSDe5pU.js} (100%) create mode 100644 Target/_astro/ViewTransitions.astro_astro_type_script_index_0_lang.DSSDe5pU.js.map create mode 100644 Target/_astro/index.Pa49pp0M.css delete mode 100644 Target/_astro/index.b4Ud5wVZ.css delete mode 100644 Target/_astro/index.esm.JD-0sKti.js.map rename Target/_astro/{index.esm.JD-0sKti.js => index.esm.WPJ9Gp6O.js} (77%) create mode 100644 Target/_astro/index.esm.WPJ9Gp6O.js.map delete mode 100644 Target/chunks/astro/server_BFaOE388.mjs.map create mode 100644 Target/chunks/astro/server_O4728HY4.mjs.map create mode 100644 Target/chunks/astro_BCqEYKjy.mjs.map delete mode 100644 Target/chunks/astro_CwJWwaRM.mjs.map create mode 100644 Target/manifest_D1oi77ek.mjs.map delete mode 100644 Target/manifest_mEtZhJau.mjs.map diff --git a/.astro/types.d.ts b/.astro/types.d.ts new file mode 100644 index 00000000..f964fe0c --- /dev/null +++ b/.astro/types.d.ts @@ -0,0 +1 @@ +/// diff --git a/Target/_astro/Base.astro_astro_type_script_index_0_lang.Dhdjth5_.js b/Target/_astro/Base.astro_astro_type_script_index_0_lang.CCQPt6x2.js similarity index 65% rename from Target/_astro/Base.astro_astro_type_script_index_0_lang.Dhdjth5_.js rename to Target/_astro/Base.astro_astro_type_script_index_0_lang.CCQPt6x2.js index 45c927f6..7d0882a6 100644 --- a/Target/_astro/Base.astro_astro_type_script_index_0_lang.Dhdjth5_.js +++ b/Target/_astro/Base.astro_astro_type_script_index_0_lang.CCQPt6x2.js @@ -1,7 +1,7 @@ import { _ as e } from "./preload-helper.BiBI96sQ.js"; ( await e(async () => { - const { initializeApp: a } = await import("./index.esm.JD-0sKti.js"); + const { initializeApp: a } = await import("./index.esm.WPJ9Gp6O.js"); return { initializeApp: a }; }, []) ).initializeApp({ @@ -14,4 +14,4 @@ import { _ as e } from "./preload-helper.BiBI96sQ.js"; projectId: "", storageBucket: "", }); -//# sourceMappingURL=Base.astro_astro_type_script_index_0_lang.Dhdjth5_.js.map +//# sourceMappingURL=Base.astro_astro_type_script_index_0_lang.CCQPt6x2.js.map diff --git a/Target/_astro/Base.astro_astro_type_script_index_0_lang.Dhdjth5_.js.map b/Target/_astro/Base.astro_astro_type_script_index_0_lang.CCQPt6x2.js.map similarity index 96% rename from Target/_astro/Base.astro_astro_type_script_index_0_lang.Dhdjth5_.js.map rename to Target/_astro/Base.astro_astro_type_script_index_0_lang.CCQPt6x2.js.map index d207d0e8..ee8b5389 100644 --- a/Target/_astro/Base.astro_astro_type_script_index_0_lang.Dhdjth5_.js.map +++ b/Target/_astro/Base.astro_astro_type_script_index_0_lang.CCQPt6x2.js.map @@ -1 +1 @@ -{"version":3,"mappings":"kDAAgB,MAAMA,EAAA,8BAAAC,CAAA,eAAO,yBAAc,uBAAAA,CAAA,QAAG,cAAc,CAC3D,OAAQ,GACR,MAAO,GACP,WAAY,GACZ,YAAa,GACb,cAAe,GACf,kBAAmB,GACnB,UAAW,GACX,cAAe,EAChB,CAAC","names":["__vitePreload","initializeApp"],"ignoreList":[],"sources":["../../Source/Script/Firebase.ts"],"sourcesContent":["export default (await import(\"firebase/app\")).initializeApp({\n\tapiKey: \"\", // TODO Replace with your API key\n\tappId: \"\", // TODO Replace with your app ID\n\tauthDomain: \"\", // TODO Replace with your auth domain\n\tdatabaseURL: \"\", // TODO Replace with your database URL\n\tmeasurementId: \"\", // TODO Replace with your measurement ID\n\tmessagingSenderId: \"\", // TODO Replace with your messaging sender ID\n\tprojectId: \"\", // TODO Replace with your project ID\n\tstorageBucket: \"\", // TODO Replace with your storage bucket\n});\n"],"file":"_astro/Base.astro_astro_type_script_index_0_lang.Dhdjth5_.js"} \ No newline at end of file +{"version":3,"mappings":"kDAAgB,MAAMA,EAAA,8BAAAC,CAAA,eAAO,yBAAc,uBAAAA,CAAA,QAAG,cAAc,CAC3D,OAAQ,GACR,MAAO,GACP,WAAY,GACZ,YAAa,GACb,cAAe,GACf,kBAAmB,GACnB,UAAW,GACX,cAAe,EAChB,CAAC","names":["__vitePreload","initializeApp"],"ignoreList":[],"sources":["../../Source/Script/Firebase.ts"],"sourcesContent":["export default (await import(\"firebase/app\")).initializeApp({\n\tapiKey: \"\", // TODO Replace with your API key\n\tappId: \"\", // TODO Replace with your app ID\n\tauthDomain: \"\", // TODO Replace with your auth domain\n\tdatabaseURL: \"\", // TODO Replace with your database URL\n\tmeasurementId: \"\", // TODO Replace with your measurement ID\n\tmessagingSenderId: \"\", // TODO Replace with your messaging sender ID\n\tprojectId: \"\", // TODO Replace with your project ID\n\tstorageBucket: \"\", // TODO Replace with your storage bucket\n});\n"],"file":"_astro/Base.astro_astro_type_script_index_0_lang.CCQPt6x2.js"} \ No newline at end of file diff --git a/Target/_astro/Base.astro_astro_type_script_index_2_lang.D4DYKVOQ.js.map b/Target/_astro/Base.astro_astro_type_script_index_2_lang.D4DYKVOQ.js.map index 4b07b86c..db53aeff 100644 --- a/Target/_astro/Base.astro_astro_type_script_index_2_lang.D4DYKVOQ.js.map +++ b/Target/_astro/Base.astro_astro_type_script_index_2_lang.D4DYKVOQ.js.map @@ -1 +1 @@ -{"version":3,"file":"Base.astro_astro_type_script_index_2_lang.D4DYKVOQ.js","sources":["../../Source/Layout/Base.astro?astro&type=script&index=2&lang.ts"],"sourcesContent":["\t\t\tdocument.documentElement.classList.remove(\"no-js\");\n\t\t\tdocument.documentElement.classList.add(\"js\");\n\t\t\n\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyAidmVyc2lvbiI6IDMsICJzb3VyY2VzIjogWyJEOi9EZXZlbG9wZXIvQXBwbGljYXRpb24vUGxheUZvcm0vTlBNL1N0YXJ0ZXIvU291cmNlL0xheW91dC9CYXNlLmFzdHJvIl0sICJzb3VyY2VzQ29udGVudCI6IFsiLS0tXG5pbXBvcnQgXCJAU3R5bGVzaGVldC9CYXNlLmNzc1wiO1xuXG4vLyBUT0RPIFBsYWNlIHlvdXIgdGl0bGUgYW5kIGRlc2NyaXB0aW9uIGhlcmVcbmNvbnN0IHsgVGl0bGUgPSBcIlwiLCBEZXNjcmlwdGlvbiA9IFwiXCIgfSA9IEFzdHJvLnByb3BzO1xuXG5pbnRlcmZhY2UgUHJvcHMge1xuXHRUaXRsZT86IHN0cmluZztcblx0RGVzY3JpcHRpb24/OiBzdHJpbmc7XG59XG5cbmltcG9ydCB7IEhlYWQgfSBmcm9tIFwiYXN0cm8tY2Fwb1wiO1xuaW1wb3J0IHsgVmlld1RyYW5zaXRpb25zIH0gZnJvbSBcImFzdHJvOnRyYW5zaXRpb25zXCI7XG4tLS1cblxuXHUwMDNjIWRvY3R5cGUgaHRtbFx1MDAzZVxuXHUwMDNjaHRtbCBsYW5nPVwiZW5cIiBjbGFzcz1cIm5vLWpzXCIgZGlyPVwibHRyXCJcdTAwM2Vcblx0XHUwMDNjSGVhZFx1MDAzZVxuXHRcdFx1MDAzY3NjcmlwdFx1MDAzZVxuXHRcdFx0ZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNsYXNzTGlzdC5yZW1vdmUoXCJuby1qc1wiKTtcblx0XHRcdGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5jbGFzc0xpc3QuYWRkKFwianNcIik7XG5cdFx0XHUwMDNjL3NjcmlwdFx1MDAzZVxuXG5cdFx0XHUwMDNjIS0tIE1ldGEgLS1cdTAwM2Vcblx0XHRcdTAwM2N0aXRsZVx1MDAzZXtUaXRsZX1cdTAwM2MvdGl0bGVcdTAwM2Vcblx0XHRcdTAwM2NtZXRhIGNoYXJzZXQ9XCJ1dGYtOFwiIC9cdTAwM2Vcblx0XHRcdTAwM2NtZXRhIG5hbWU9XCJkZXNjcmlwdGlvblwiIGNvbnRlbnQ9e0Rlc2NyaXB0aW9ufSAvXHUwMDNlXG5cdFx0XHUwMDNjbWV0YSBuYW1lPVwidmlld3BvcnRcIiBjb250ZW50PVwid2lkdGg9ZGV2aWNlLXdpZHRoLGluaXRpYWwtc2NhbGU9MS4wXCIgL1x1MDAzZVxuXHRcdFx1MDAzYyEtLSBUT0RPIERlZmluZSB5b3VyIGNvbG9yIHRoZW1lIGluIGhleCBoZXJlIC0tXHUwMDNlXG5cdFx0XHUwMDNjbWV0YSBuYW1lPVwidGhlbWUtY29sb3JcIiBjb250ZW50PVwiXCIgL1x1MDAzZVxuXHRcdFx1MDAzY21ldGEgbmFtZT1cImZvcm1hdC1kZXRlY3Rpb25cIiBjb250ZW50PVwidGVsZXBob25lPW5vXCIgL1x1MDAzZVxuXHRcdFx1MDAzY21ldGEgbmFtZT1cInR3aXR0ZXI6ZG50XCIgY29udGVudD1cIm9uXCIgL1x1MDAzZVxuXG5cdFx0XHUwMDNjIS0tIExpbmtzIC0tXHUwMDNlXG5cdFx0XHUwMDNjbGlua1xuXHRcdFx0cmVsPVwicHJlY29ubmVjdFwiXG5cdFx0XHRocmVmPVwiaHR0cHM6Ly9mb250cy5nb29nbGVhcGlzLmNvbVwiXG5cdFx0XHRjcm9zc29yaWdpblxuXHRcdC9cdTAwM2Vcblx0XHRcdTAwM2NsaW5rIHJlbD1cInByZWNvbm5lY3RcIiBocmVmPVwiaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbVwiIGNyb3Nzb3JpZ2luIC9cdTAwM2Vcblx0XHRcdTAwM2NsaW5rXG5cdFx0XHRyZWw9XCJtYW5pZmVzdFwiXG5cdFx0XHRocmVmPVwiL3NpdGUud2VibWFuaWZlc3RcIlxuXHRcdFx0Y3Jvc3NvcmlnaW49XCJ1c2UtY3JlZGVudGlhbHNcIlxuXHRcdC9cdTAwM2VcblxuXHRcdFx1MDAzY3N0eWxlIGlzOmdsb2JhbFx1MDAzZVxuXHRcdFx0QGltcG9ydCBcIkBTdHlsZXNoZWV0L0dsb2JhbC5jc3NcIjtcblx0XHRcdTAwM2Mvc3R5bGVcdTAwM2VcblxuXHRcdFx1MDAzY3Nsb3QgbmFtZT1cInN0eWxlc1wiIC9cdTAwM2VcblxuXHRcdFx1MDAzY3NjcmlwdFx1MDAzZVxuXHRcdFx0aW1wb3J0IFwiQFNjcmlwdC9TV1VQXCI7XG5cdFx0XHUwMDNjL3NjcmlwdFx1MDAzZVxuXG5cdFx0XHUwMDNjc2xvdCBuYW1lPVwic2NyaXB0c1wiIC9cdTAwM2VcblxuXHRcdFx1MDAzYyEtLSBGYXZpY29uIC0tXHUwMDNlXG5cdFx0XHUwMDNjVmlld1RyYW5zaXRpb25zIC9cdTAwM2Vcblx0XHUwMDNjL0hlYWRcdTAwM2Vcblx0XHUwMDNjYm9keVx1MDAzZVxuXHRcdFx1MDAzY2RpdiBjbGFzcz1cImdyb3dcIlx1MDAzZVxuXHRcdFx0XHUwMDNjc2xvdCAvXHUwMDNlXG5cdFx0XHUwMDNjL2Rpdlx1MDAzZVxuXHRcdFx1MDAzY3NjcmlwdFx1MDAzZVxuXHRcdFx0aW1wb3J0IFwiQFNjcmlwdC9GaXJlYmFzZVwiO1xuXHRcdFx1MDAzYy9zY3JpcHRcdTAwM2Vcblx0XHUwMDNjL2JvZHlcdTAwM2Vcblx1MDAzYy9odG1sXHUwMDNlIl0sICJtYXBwaW5ncyI6ICJBQW1CQSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNyRCxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUMvQztBQUFBOyIsICJuYW1lcyI6IFtdIH0="],"names":[],"mappings":"AAmBG,SAAS,gBAAgB,UAAU,OAAO,OAAO,EACjD,SAAS,gBAAgB,UAAU,IAAI,IAAI"} \ No newline at end of file +{"version":3,"file":"Base.astro_astro_type_script_index_2_lang.D4DYKVOQ.js","sources":["../../Source/Layout/Base.astro?astro&type=script&index=2&lang.ts"],"sourcesContent":["\t\t\tdocument.documentElement.classList.remove(\"no-js\");\n\t\t\tdocument.documentElement.classList.add(\"js\");\n\t\t\n\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyAidmVyc2lvbiI6IDMsICJzb3VyY2VzIjogWyIvcnVuL21lZGlhL25pa29sYS9EZXZlbG9wZXIvRGV2ZWxvcGVyL0FwcGxpY2F0aW9uL1BsYXlGb3JtL05QTS9TdGFydGVyL1NvdXJjZS9MYXlvdXQvQmFzZS5hc3RybyJdLCAic291cmNlc0NvbnRlbnQiOiBbIi0tLVxuaW1wb3J0IFwiQFN0eWxlc2hlZXQvQmFzZS5jc3NcIjtcblxuLy8gVE9ETyBQbGFjZSB5b3VyIHRpdGxlIGFuZCBkZXNjcmlwdGlvbiBoZXJlXG5jb25zdCB7IFRpdGxlID0gXCJcIiwgRGVzY3JpcHRpb24gPSBcIlwiIH0gPSBBc3Ryby5wcm9wcztcblxuaW50ZXJmYWNlIFByb3BzIHtcblx0VGl0bGU/OiBzdHJpbmc7XG5cdERlc2NyaXB0aW9uPzogc3RyaW5nO1xufVxuXG5pbXBvcnQgeyBIZWFkIH0gZnJvbSBcImFzdHJvLWNhcG9cIjtcbmltcG9ydCB7IFZpZXdUcmFuc2l0aW9ucyB9IGZyb20gXCJhc3Rybzp0cmFuc2l0aW9uc1wiO1xuLS0tXG5cblx1MDAzYyFkb2N0eXBlIGh0bWxcdTAwM2Vcblx1MDAzY2h0bWwgbGFuZz1cImVuXCIgY2xhc3M9XCJuby1qc1wiIGRpcj1cImx0clwiXHUwMDNlXG5cdFx1MDAzY0hlYWRcdTAwM2Vcblx0XHRcdTAwM2NzY3JpcHRcdTAwM2Vcblx0XHRcdGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5jbGFzc0xpc3QucmVtb3ZlKFwibm8tanNcIik7XG5cdFx0XHRkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuY2xhc3NMaXN0LmFkZChcImpzXCIpO1xuXHRcdFx1MDAzYy9zY3JpcHRcdTAwM2VcblxuXHRcdFx1MDAzYyEtLSBNZXRhIC0tXHUwMDNlXG5cdFx0XHUwMDNjdGl0bGVcdTAwM2V7VGl0bGV9XHUwMDNjL3RpdGxlXHUwMDNlXG5cdFx0XHUwMDNjbWV0YSBjaGFyc2V0PVwidXRmLThcIiAvXHUwMDNlXG5cdFx0XHUwMDNjbWV0YSBuYW1lPVwiZGVzY3JpcHRpb25cIiBjb250ZW50PXtEZXNjcmlwdGlvbn0gL1x1MDAzZVxuXHRcdFx1MDAzY21ldGEgbmFtZT1cInZpZXdwb3J0XCIgY29udGVudD1cIndpZHRoPWRldmljZS13aWR0aCxpbml0aWFsLXNjYWxlPTEuMFwiIC9cdTAwM2Vcblx0XHRcdTAwM2MhLS0gVE9ETyBEZWZpbmUgeW91ciBjb2xvciB0aGVtZSBpbiBoZXggaGVyZSAtLVx1MDAzZVxuXHRcdFx1MDAzY21ldGEgbmFtZT1cInRoZW1lLWNvbG9yXCIgY29udGVudD1cIlwiIC9cdTAwM2Vcblx0XHRcdTAwM2NtZXRhIG5hbWU9XCJmb3JtYXQtZGV0ZWN0aW9uXCIgY29udGVudD1cInRlbGVwaG9uZT1ub1wiIC9cdTAwM2Vcblx0XHRcdTAwM2NtZXRhIG5hbWU9XCJ0d2l0dGVyOmRudFwiIGNvbnRlbnQ9XCJvblwiIC9cdTAwM2VcblxuXHRcdFx1MDAzYyEtLSBMaW5rcyAtLVx1MDAzZVxuXHRcdFx1MDAzY2xpbmtcblx0XHRcdHJlbD1cInByZWNvbm5lY3RcIlxuXHRcdFx0aHJlZj1cImh0dHBzOi8vZm9udHMuZ29vZ2xlYXBpcy5jb21cIlxuXHRcdFx0Y3Jvc3NvcmlnaW5cblx0XHQvXHUwMDNlXG5cdFx0XHUwMDNjbGluayByZWw9XCJwcmVjb25uZWN0XCIgaHJlZj1cImh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb21cIiBjcm9zc29yaWdpbiAvXHUwMDNlXG5cdFx0XHUwMDNjbGlua1xuXHRcdFx0cmVsPVwibWFuaWZlc3RcIlxuXHRcdFx0aHJlZj1cIi9zaXRlLndlYm1hbmlmZXN0XCJcblx0XHRcdGNyb3Nzb3JpZ2luPVwidXNlLWNyZWRlbnRpYWxzXCJcblx0XHQvXHUwMDNlXG5cblx0XHRcdTAwM2NzdHlsZSBpczpnbG9iYWxcdTAwM2Vcblx0XHRcdEBpbXBvcnQgXCJAU3R5bGVzaGVldC9HbG9iYWwuY3NzXCI7XG5cdFx0XHUwMDNjL3N0eWxlXHUwMDNlXG5cblx0XHRcdTAwM2NzbG90IG5hbWU9XCJzdHlsZXNcIiAvXHUwMDNlXG5cblx0XHRcdTAwM2NzY3JpcHRcdTAwM2Vcblx0XHRcdGltcG9ydCBcIkBTY3JpcHQvU1dVUFwiO1xuXHRcdFx1MDAzYy9zY3JpcHRcdTAwM2VcblxuXHRcdFx1MDAzY3Nsb3QgbmFtZT1cInNjcmlwdHNcIiAvXHUwMDNlXG5cblx0XHRcdTAwM2MhLS0gRmF2aWNvbiAtLVx1MDAzZVxuXHRcdFx1MDAzY1ZpZXdUcmFuc2l0aW9ucyAvXHUwMDNlXG5cdFx1MDAzYy9IZWFkXHUwMDNlXG5cdFx1MDAzY2JvZHlcdTAwM2Vcblx0XHRcdTAwM2NkaXYgY2xhc3M9XCJncm93XCJcdTAwM2Vcblx0XHRcdFx1MDAzY3Nsb3QgL1x1MDAzZVxuXHRcdFx1MDAzYy9kaXZcdTAwM2Vcblx0XHRcdTAwM2NzY3JpcHRcdTAwM2Vcblx0XHRcdGltcG9ydCBcIkBTY3JpcHQvRmlyZWJhc2VcIjtcblx0XHRcdTAwM2Mvc2NyaXB0XHUwMDNlXG5cdFx1MDAzYy9ib2R5XHUwMDNlXG5cdTAwM2MvaHRtbFx1MDAzZSJdLCAibWFwcGluZ3MiOiAiQUFtQkEsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDckQsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDL0M7QUFBQTsiLCAibmFtZXMiOiBbXSB9"],"names":[],"mappings":"AAmBG,SAAS,gBAAgB,UAAU,OAAO,OAAO,EACjD,SAAS,gBAAgB,UAAU,IAAI,IAAI"} \ No newline at end of file diff --git a/Target/_astro/Swup.modern.BemQoQWS.js.map b/Target/_astro/Swup.modern.BemQoQWS.js.map index ffe3b791..ebd927c5 100644 --- a/Target/_astro/Swup.modern.BemQoQWS.js.map +++ b/Target/_astro/Swup.modern.BemQoQWS.js.map @@ -1 +1 @@ -{"version":3,"file":"Swup.modern.BemQoQWS.js","sources":["../../../../../../node_modules/delegate-it/delegate.js","../../node_modules/swup/dist/Swup.modern.js"],"sourcesContent":["/** Keeps track of raw listeners added to the base elements to avoid duplication */\nconst ledger = new WeakMap();\nfunction editLedger(wanted, baseElement, callback, setup) {\n if (!wanted && !ledger.has(baseElement)) {\n return false;\n }\n const elementMap = ledger.get(baseElement)\n ?? new WeakMap();\n ledger.set(baseElement, elementMap);\n const setups = elementMap.get(callback) ?? new Set();\n elementMap.set(callback, setups);\n const existed = setups.has(setup);\n if (wanted) {\n setups.add(setup);\n }\n else {\n setups.delete(setup);\n }\n return existed && wanted;\n}\nfunction safeClosest(event, selector) {\n let target = event.target;\n if (target instanceof Text) {\n target = target.parentElement;\n }\n if (target instanceof Element && event.currentTarget instanceof Element) {\n // `.closest()` may match ancestors of `currentTarget` but we only need its children\n const closest = target.closest(selector);\n if (closest && event.currentTarget.contains(closest)) {\n return closest;\n }\n }\n}\n// This type isn't exported as a declaration, so it needs to be duplicated above\nfunction delegate(selector, type, callback, options = {}) {\n const { signal, base = document } = options;\n if (signal?.aborted) {\n return;\n }\n // Don't pass `once` to `addEventListener` because it needs to be handled in `delegate-it`\n const { once, ...nativeListenerOptions } = options;\n // `document` should never be the base, it's just an easy way to define \"global event listeners\"\n const baseElement = base instanceof Document ? base.documentElement : base;\n // Handle the regular Element usage\n const capture = Boolean(typeof options === 'object' ? options.capture : options);\n const listenerFunction = (event) => {\n const delegateTarget = safeClosest(event, selector);\n if (delegateTarget) {\n const delegateEvent = Object.assign(event, { delegateTarget });\n callback.call(baseElement, delegateEvent);\n if (once) {\n baseElement.removeEventListener(type, listenerFunction, nativeListenerOptions);\n editLedger(false, baseElement, callback, setup);\n }\n }\n };\n const setup = JSON.stringify({ selector, type, capture });\n const isAlreadyListening = editLedger(true, baseElement, callback, setup);\n if (!isAlreadyListening) {\n baseElement.addEventListener(type, listenerFunction, nativeListenerOptions);\n }\n signal?.addEventListener('abort', () => {\n editLedger(false, baseElement, callback, setup);\n });\n}\nexport default delegate;\n","import t from\"delegate-it\";import{match as e}from\"path-to-regexp\";function i(){return i=Object.assign?Object.assign.bind():function(t){for(var e=1;eString(t).toLowerCase().replace(/[\\s/_.]+/g,\"-\").replace(/[^\\w-]+/g,\"\").replace(/--+/g,\"-\").replace(/^-+|-+$/g,\"\")||e||\"\",n=({hash:t}={})=>window.location.pathname+window.location.search+(t?window.location.hash:\"\"),o=(t,e={})=>{const s=i({url:t=t||n({hash:!0}),random:Math.random(),source:\"swup\"},e);window.history.pushState(s,\"\",t)},r=(t=null,e={})=>{t=t||n({hash:!0});const s=i({},window.history.state||{},{url:t,random:Math.random(),source:\"swup\"},e);window.history.replaceState(s,\"\",t)},a=(e,s,n,o)=>{const r=new AbortController;return o=i({},o,{signal:r.signal}),t(e,s,n,o),{destroy:()=>r.abort()}};class l extends URL{constructor(t,e=document.baseURI){super(t.toString(),e),Object.setPrototypeOf(this,l.prototype)}get url(){return this.pathname+this.search}static fromElement(t){const e=t.getAttribute(\"href\")||t.getAttribute(\"xlink:href\")||\"\";return new l(e)}static fromUrl(t){return new l(t)}}const h=(t,i)=>{try{return e(t,i)}catch(e){throw new Error(`[swup] Error parsing path \"${String(t)}\":\\n${String(e)}`)}};class c extends Error{constructor(t,e){super(t),this.url=void 0,this.status=void 0,this.aborted=void 0,this.timedOut=void 0,this.name=\"FetchError\",this.url=e.url,this.status=e.status,this.aborted=e.aborted||!1,this.timedOut=e.timedOut||!1}}async function u(t,e={}){var s;t=l.fromUrl(t).url;const{visit:n=this.visit}=e,o=i({},this.options.requestHeaders,e.headers),r=null!=(s=e.timeout)?s:this.options.timeout,a=new AbortController,{signal:h}=a;e=i({},e,{headers:o,signal:h});let u,d=!1,p=null;r&&r>0&&(p=setTimeout(()=>{d=!0,a.abort(\"timeout\")},r));try{u=await this.hooks.call(\"fetch:request\",n,{url:t,options:e},(t,{url:e,options:i})=>fetch(e,i)),p&&clearTimeout(p)}catch(e){if(d)throw this.hooks.call(\"fetch:timeout\",n,{url:t}),new c(`Request timed out: ${t}`,{url:t,timedOut:d});if(\"AbortError\"===(null==e?void 0:e.name)||h.aborted)throw new c(`Request aborted: ${t}`,{url:t,aborted:!0});throw e}const{status:m,url:w}=u,g=await u.text();if(500===m)throw this.hooks.call(\"fetch:error\",n,{status:m,response:u,url:w}),new c(`Server error: ${w}`,{status:m,url:w});if(!g)throw new c(`Empty response: ${w}`,{status:m,url:w});const{url:f}=l.fromUrl(w),v={url:f,html:g};return!n.cache.write||e.method&&\"GET\"!==e.method||t!==f||this.cache.set(v.url,v),v}class d{constructor(t){this.swup=void 0,this.pages=new Map,this.swup=t}get size(){return this.pages.size}get all(){const t=new Map;return this.pages.forEach((e,s)=>{t.set(s,i({},e))}),t}has(t){return this.pages.has(this.resolve(t))}get(t){const e=this.pages.get(this.resolve(t));return e?i({},e):e}set(t,e){e=i({},e,{url:t=this.resolve(t)}),this.pages.set(t,e),this.swup.hooks.callSync(\"cache:set\",void 0,{page:e})}update(t,e){t=this.resolve(t);const s=i({},this.get(t),e,{url:t});this.pages.set(t,s)}delete(t){this.pages.delete(this.resolve(t))}clear(){this.pages.clear(),this.swup.hooks.callSync(\"cache:clear\",void 0,void 0)}prune(t){this.pages.forEach((e,i)=>{t(i,e)&&this.delete(i)})}resolve(t){const{url:e}=l.fromUrl(t);return this.swup.resolveUrl(e)}}const p=(t,e=document)=>e.querySelector(t),m=(t,e=document)=>Array.from(e.querySelectorAll(t)),w=()=>new Promise(t=>{requestAnimationFrame(()=>{requestAnimationFrame(()=>{t()})})});function g(t){return!!t&&(\"object\"==typeof t||\"function\"==typeof t)&&\"function\"==typeof t.then}function f(t,e=[]){return new Promise((i,s)=>{const n=t(...e);g(n)?n.then(i,s):i(n)})}function v(t){var e;null==(e=t=t||document.body)||e.getBoundingClientRect()}function y(t,e){const i=null==t?void 0:t.closest(`[${e}]`);return null!=i&&i.hasAttribute(e)?(null==i?void 0:i.getAttribute(e))||!0:void 0}class k{constructor(t){this.swup=void 0,this.swupClasses=[\"to-\",\"is-changing\",\"is-rendering\",\"is-popstate\",\"is-animating\",\"is-leaving\"],this.swup=t}get selectors(){const{scope:t}=this.swup.visit.animation;return\"containers\"===t?this.swup.visit.containers:\"html\"===t?[\"html\"]:Array.isArray(t)?t:[]}get selector(){return this.selectors.join(\",\")}get targets(){return this.selector.trim()?m(this.selector):[]}add(...t){this.targets.forEach(e=>e.classList.add(...t))}remove(...t){this.targets.forEach(e=>e.classList.remove(...t))}clear(){this.targets.forEach(t=>{const e=t.className.split(\" \").filter(t=>this.isSwupClass(t));t.classList.remove(...e)})}isSwupClass(t){return this.swupClasses.some(e=>t.startsWith(e))}}class b{constructor(t,e){this.id=void 0,this.state=void 0,this.from=void 0,this.to=void 0,this.containers=void 0,this.animation=void 0,this.trigger=void 0,this.cache=void 0,this.history=void 0,this.scroll=void 0;const{to:i,from:s,hash:n,el:o,event:r}=e;this.id=Math.random(),this.state=1,this.from={url:null!=s?s:t.location.url,hash:t.location.hash},this.to={url:i,hash:n},this.containers=t.options.containers,this.animation={animate:!0,wait:!1,name:void 0,native:t.options.native,scope:t.options.animationScope,selector:t.options.animationSelector},this.trigger={el:o,event:r},this.cache={read:t.options.cache,write:t.options.cache},this.history={action:\"push\",popstate:!1,direction:void 0},this.scroll={reset:!0,target:void 0}}advance(t){this.state=7}}function S(t){return new b(this,t)}class E{constructor(t){this.swup=void 0,this.registry=new Map,this.hooks=[\"animation:out:start\",\"animation:out:await\",\"animation:out:end\",\"animation:in:start\",\"animation:in:await\",\"animation:in:end\",\"animation:skip\",\"cache:clear\",\"cache:set\",\"content:replace\",\"content:scroll\",\"enable\",\"disable\",\"fetch:request\",\"fetch:error\",\"fetch:timeout\",\"history:popstate\",\"link:click\",\"link:self\",\"link:anchor\",\"link:newtab\",\"page:load\",\"page:view\",\"scroll:top\",\"scroll:anchor\",\"visit:start\",\"visit:transition\",\"visit:abort\",\"visit:end\"],this.swup=t,this.init()}init(){this.hooks.forEach(t=>this.create(t))}create(t){this.registry.has(t)||this.registry.set(t,new Map)}exists(t){return this.registry.has(t)}get(t){const e=this.registry.get(t);if(e)return e;console.error(`Unknown hook '${t}'`)}clear(){this.registry.forEach(t=>t.clear())}on(t,e,s={}){const n=this.get(t);if(!n)return console.warn(`Hook '${t}' not found.`),()=>{};const o=i({},s,{id:n.size+1,hook:t,handler:e});return n.set(e,o),()=>this.off(t,e)}before(t,e,s={}){return this.on(t,e,i({},s,{before:!0}))}replace(t,e,s={}){return this.on(t,e,i({},s,{replace:!0}))}once(t,e,s={}){return this.on(t,e,i({},s,{once:!0}))}off(t,e){const i=this.get(t);i&&e?i.delete(e)||console.warn(`Handler for hook '${t}' not found.`):i&&i.clear()}async call(t,e,i,s){const[n,o,r]=this.parseCallArgs(t,e,i,s),{before:a,handler:l,after:h}=this.getHandlers(t,r);await this.run(a,n,o);const[c]=await this.run(l,n,o,!0);return await this.run(h,n,o),this.dispatchDomEvent(t,n,o),c}callSync(t,e,i,s){const[n,o,r]=this.parseCallArgs(t,e,i,s),{before:a,handler:l,after:h}=this.getHandlers(t,r);this.runSync(a,n,o);const[c]=this.runSync(l,n,o,!0);return this.runSync(h,n,o),this.dispatchDomEvent(t,n,o),c}parseCallArgs(t,e,i,s){return e instanceof b||\"object\"!=typeof e&&\"function\"!=typeof i?[e,i,s]:[void 0,e,i]}async run(t,e=this.swup.visit,i,s=!1){const n=[];for(const{hook:o,handler:r,defaultHandler:a,once:l}of t)if(null==e||!e.done){l&&this.off(o,r);try{const t=await f(r,[e,i,a]);n.push(t)}catch(t){if(s)throw t;console.error(`Error in hook '${o}':`,t)}}return n}runSync(t,e=this.swup.visit,i,s=!1){const n=[];for(const{hook:o,handler:r,defaultHandler:a,once:l}of t)if(null==e||!e.done){l&&this.off(o,r);try{const t=r(e,i,a);n.push(t),g(t)&&console.warn(`Swup will not await Promises in handler for synchronous hook '${o}'.`)}catch(t){if(s)throw t;console.error(`Error in hook '${o}':`,t)}}return n}getHandlers(t,e){const i=this.get(t);if(!i)return{found:!1,before:[],handler:[],after:[],replaced:!1};const s=Array.from(i.values()),n=this.sortRegistrations,o=s.filter(({before:t,replace:e})=>t&&!e).sort(n),r=s.filter(({replace:t})=>t).filter(t=>!0).sort(n),a=s.filter(({before:t,replace:e})=>!t&&!e).sort(n),l=r.length>0;let h=[];if(e&&(h=[{id:0,hook:t,handler:e}],l)){const i=r.length-1,s=t=>{const i=r[t-1];return i?(e,n)=>i.handler(e,n,s(t-1)):e};h=[{id:0,hook:t,handler:r[i].handler,defaultHandler:s(i)}]}return{found:!0,before:o,handler:h,after:a,replaced:l}}sortRegistrations(t,e){var i,s;return(null!=(i=t.priority)?i:0)-(null!=(s=e.priority)?s:0)||t.id-e.id||0}dispatchDomEvent(t,e,i){if(null!=e&&e.done)return;const s={hook:t,args:i,visit:e||this.swup.visit};document.dispatchEvent(new CustomEvent(\"swup:any\",{detail:s,bubbles:!0})),document.dispatchEvent(new CustomEvent(`swup:${t}`,{detail:s,bubbles:!0}))}}const C=t=>{if(t&&\"#\"===t.charAt(0)&&(t=t.substring(1)),!t)return null;const e=decodeURIComponent(t);let i=document.getElementById(t)||document.getElementById(e)||p(`a[name='${CSS.escape(t)}']`)||p(`a[name='${CSS.escape(e)}']`);return i||\"top\"!==t||(i=document.body),i},U=\"transition\",P=\"animation\";async function $({selector:t,elements:e}){if(!1===t&&!e)return;let i=[];if(e)i=Array.from(e);else if(t&&(i=m(t,document.body),!i.length))return void console.warn(`[swup] No elements found matching animationSelector \\`${t}\\``);const s=i.map(t=>function(t){const{type:e,timeout:i,propCount:s}=function(t){const e=window.getComputedStyle(t),i=x(e,`${U}Delay`),s=x(e,`${U}Duration`),n=A(i,s),o=x(e,`${P}Delay`),r=x(e,`${P}Duration`),a=A(o,r),l=Math.max(n,a),h=l>0?n>a?U:P:null;return{type:h,timeout:l,propCount:h?h===U?s.length:r.length:0}}(t);return!(!e||!i)&&new Promise(n=>{const o=`${e}end`,r=performance.now();let a=0;const l=()=>{t.removeEventListener(o,h),n()},h=e=>{e.target===t&&((performance.now()-r)/1e3=s&&l())};setTimeout(()=>{a0?await Promise.all(s):t&&console.warn(`[swup] No CSS animation duration defined on elements matching \\`${t}\\``)}function x(t,e){return(t[e]||\"\").split(\", \")}function A(t,e){for(;t.lengthH(e)+H(t[i])))}function H(t){return 1e3*parseFloat(t)}function V(t,e={},s={}){if(\"string\"!=typeof t)throw new Error(\"swup.navigate() requires a URL parameter\");if(this.shouldIgnoreVisit(t,{el:s.el,event:s.event}))return void window.location.assign(t);const{url:n,hash:o}=l.fromUrl(t),r=this.createVisit(i({},s,{to:n,hash:o}));this.performNavigation(r,e)}async function I(t,e={}){if(this.navigating){if(this.visit.state>=6)return t.state=2,void(this.onVisitEnd=()=>this.performNavigation(t,e));await this.hooks.call(\"visit:abort\",this.visit,void 0),delete this.visit.to.document,this.visit.state=8}this.navigating=!0,this.visit=t;const{el:i}=t.trigger;e.referrer=e.referrer||this.location.url,!1===e.animate&&(t.animation.animate=!1),t.animation.animate||this.classes.clear();const n=e.history||y(i,\"data-swup-history\");\"string\"==typeof n&&[\"push\",\"replace\"].includes(n)&&(t.history.action=n);const a=e.animation||y(i,\"data-swup-animation\");var h,c;\"string\"==typeof a&&(t.animation.name=a),\"object\"==typeof e.cache?(t.cache.read=null!=(h=e.cache.read)?h:t.cache.read,t.cache.write=null!=(c=e.cache.write)?c:t.cache.write):void 0!==e.cache&&(t.cache={read:!!e.cache,write:!!e.cache}),delete e.cache;try{await this.hooks.call(\"visit:start\",t,void 0),t.state=3;const i=this.hooks.call(\"page:load\",t,{options:e},async(t,e)=>{let i;return t.cache.read&&(i=this.cache.get(t.to.url)),e.page=i||await this.fetchPage(t.to.url,e.options),e.cache=!!i,e.page});i.then(({html:e})=>{t.advance(5),t.to.html=e,t.to.document=(new DOMParser).parseFromString(e,\"text/html\")});const n=t.to.url+t.to.hash;if(t.history.popstate||(\"replace\"===t.history.action||t.to.url===this.location.url?r(n):(this.currentHistoryIndex++,o(n,{index:this.currentHistoryIndex}))),this.location=l.fromUrl(n),t.history.popstate&&this.classes.add(\"is-popstate\"),t.animation.name&&this.classes.add(`to-${s(t.animation.name)}`),t.animation.wait&&await i,t.done)return;if(await this.hooks.call(\"visit:transition\",t,void 0,async()=>{if(!t.animation.animate)return await this.hooks.call(\"animation:skip\",void 0),void await this.renderPage(t,await i);t.advance(4),await this.animatePageOut(t),t.animation.native&&document.startViewTransition?await document.startViewTransition(async()=>await this.renderPage(t,await i)).finished:await this.renderPage(t,await i),await this.animatePageIn(t)}),t.done)return;await this.hooks.call(\"visit:end\",t,void 0,()=>this.classes.clear()),t.state=7,this.navigating=!1,this.onVisitEnd&&(this.onVisitEnd(),this.onVisitEnd=void 0)}catch(e){if(!e||null!=e&&e.aborted)return void(t.state=8);t.state=9,console.error(e),this.options.skipPopStateHandling=()=>(window.location.assign(t.to.url+t.to.hash),!0),window.history.back()}finally{delete t.to.document}}const L=async function(t){await this.hooks.call(\"animation:out:start\",t,void 0,()=>{this.classes.add(\"is-changing\",\"is-animating\",\"is-leaving\")}),await this.hooks.call(\"animation:out:await\",t,{skip:!1},(t,{skip:e})=>{if(!e)return this.awaitAnimations({selector:t.animation.selector})}),await this.hooks.call(\"animation:out:end\",t,void 0)},q=function(t){var e;const i=t.to.document;if(!i)return!1;const s=(null==(e=i.querySelector(\"title\"))?void 0:e.innerText)||\"\";document.title=s;const n=m('[data-swup-persist]:not([data-swup-persist=\"\"])'),o=t.containers.map(t=>{const e=document.querySelector(t),s=i.querySelector(t);return e&&s?(e.replaceWith(s.cloneNode(!0)),!0):(e||console.warn(`[swup] Container missing in current document: ${t}`),s||console.warn(`[swup] Container missing in incoming document: ${t}`),!1)}).filter(Boolean);return n.forEach(t=>{const e=t.getAttribute(\"data-swup-persist\"),i=p(`[data-swup-persist=\"${e}\"]`);i&&i!==t&&i.replaceWith(t)}),o.length===t.containers.length},R=function(t){const e={behavior:\"auto\"},{target:s,reset:n}=t.scroll,o=null!=s?s:t.to.hash;let r=!1;return o&&(r=this.hooks.callSync(\"scroll:anchor\",t,{hash:o,options:e},(t,{hash:e,options:i})=>{const s=this.getAnchorElement(e);return s&&s.scrollIntoView(i),!!s})),n&&!r&&(r=this.hooks.callSync(\"scroll:top\",t,{options:e},(t,{options:e})=>(window.scrollTo(i({top:0,left:0},e)),!0))),r},T=async function(t){if(t.done)return;const e=this.hooks.call(\"animation:in:await\",t,{skip:!1},(t,{skip:e})=>{if(!e)return this.awaitAnimations({selector:t.animation.selector})});await w(),await this.hooks.call(\"animation:in:start\",t,void 0,()=>{this.classes.remove(\"is-animating\")}),await e,await this.hooks.call(\"animation:in:end\",t,void 0)},N=async function(t,e){if(t.done)return;t.advance(6);const{url:i}=e;this.isSameResolvedUrl(n(),i)||(r(i),this.location=l.fromUrl(i),t.to.url=this.location.url,t.to.hash=this.location.hash),await this.hooks.call(\"content:replace\",t,{page:e},(t,{})=>{if(this.classes.remove(\"is-leaving\"),t.animation.animate&&this.classes.add(\"is-rendering\"),!this.replaceContent(t))throw new Error(\"[swup] Container mismatch, aborting\");t.animation.animate&&(this.classes.add(\"is-changing\",\"is-animating\",\"is-rendering\"),t.animation.name&&this.classes.add(`to-${s(t.animation.name)}`))}),await this.hooks.call(\"content:scroll\",t,void 0,()=>this.scrollToContent(t)),await this.hooks.call(\"page:view\",t,{url:this.location.url,title:document.title})},O=function(t){var e;if(e=t,Boolean(null==e?void 0:e.isSwupPlugin)){if(t.swup=this,!t._checkRequirements||t._checkRequirements())return t._beforeMount&&t._beforeMount(),t.mount(),this.plugins.push(t),this.plugins}else console.error(\"Not a swup plugin instance\",t)};function D(t){const e=this.findPlugin(t);if(e)return e.unmount(),e._afterUnmount&&e._afterUnmount(),this.plugins=this.plugins.filter(t=>t!==e),this.plugins;console.error(\"No such plugin\",e)}function M(t){return this.plugins.find(e=>e===t||e.name===t||e.name===`Swup${String(t)}`)}function W(t){if(\"function\"!=typeof this.options.resolveUrl)return console.warn(\"[swup] options.resolveUrl expects a callback function.\"),t;const e=this.options.resolveUrl(t);return e&&\"string\"==typeof e?e.startsWith(\"//\")||e.startsWith(\"http\")?(console.warn(\"[swup] options.resolveUrl needs to return a relative url\"),t):e:(console.warn(\"[swup] options.resolveUrl needs to return a url\"),t)}function B(t,e){return this.resolveUrl(t)===this.resolveUrl(e)}const _={animateHistoryBrowsing:!1,animationSelector:'[class*=\"transition-\"]',animationScope:\"html\",cache:!0,containers:[\"#swup\"],ignoreVisit:(t,{el:e}={})=>!(null==e||!e.closest(\"[data-no-swup]\")),linkSelector:\"a[href]\",linkToSelf:\"scroll\",native:!1,plugins:[],resolveUrl:t=>t,requestHeaders:{\"X-Requested-With\":\"swup\",Accept:\"text/html, application/xhtml+xml\"},skipPopStateHandling:t=>{var e;return\"swup\"!==(null==(e=t.state)?void 0:e.source)},timeout:0};class j{get currentPageUrl(){return this.location.url}constructor(t={}){var e,s;this.version=\"4.7.0\",this.options=void 0,this.defaults=_,this.plugins=[],this.visit=void 0,this.cache=void 0,this.hooks=void 0,this.classes=void 0,this.location=l.fromUrl(window.location.href),this.currentHistoryIndex=void 0,this.clickDelegate=void 0,this.navigating=!1,this.onVisitEnd=void 0,this.use=O,this.unuse=D,this.findPlugin=M,this.log=()=>{},this.navigate=V,this.performNavigation=I,this.createVisit=S,this.delegateEvent=a,this.fetchPage=u,this.awaitAnimations=$,this.renderPage=N,this.replaceContent=q,this.animatePageIn=T,this.animatePageOut=L,this.scrollToContent=R,this.getAnchorElement=C,this.getCurrentUrl=n,this.resolveUrl=W,this.isSameResolvedUrl=B,this.options=i({},this.defaults,t),this.handleLinkClick=this.handleLinkClick.bind(this),this.handlePopState=this.handlePopState.bind(this),this.cache=new d(this),this.classes=new k(this),this.hooks=new E(this),this.visit=this.createVisit({to:\"\"}),this.currentHistoryIndex=null!=(e=null==(s=window.history.state)?void 0:s.index)?e:1,this.enable()}async enable(){var t;const{linkSelector:e}=this.options;this.clickDelegate=this.delegateEvent(e,\"click\",this.handleLinkClick),window.addEventListener(\"popstate\",this.handlePopState),this.options.animateHistoryBrowsing&&(window.history.scrollRestoration=\"manual\"),this.options.native=this.options.native&&!!document.startViewTransition,this.options.plugins.forEach(t=>this.use(t)),\"swup\"!==(null==(t=window.history.state)?void 0:t.source)&&r(null,{index:this.currentHistoryIndex}),await w(),await this.hooks.call(\"enable\",void 0,void 0,()=>{const t=document.documentElement;t.classList.add(\"swup-enabled\"),t.classList.toggle(\"swup-native\",this.options.native)})}async destroy(){this.clickDelegate.destroy(),window.removeEventListener(\"popstate\",this.handlePopState),this.cache.clear(),this.options.plugins.forEach(t=>this.unuse(t)),await this.hooks.call(\"disable\",void 0,void 0,()=>{const t=document.documentElement;t.classList.remove(\"swup-enabled\"),t.classList.remove(\"swup-native\")}),this.hooks.clear()}shouldIgnoreVisit(t,{el:e,event:i}={}){const{origin:s,url:n,hash:o}=l.fromUrl(t);return s!==window.location.origin||!(!e||!this.triggerWillOpenNewWindow(e))||!!this.options.ignoreVisit(n+o,{el:e,event:i})}handleLinkClick(t){const e=t.delegateTarget,{href:i,url:s,hash:n}=l.fromElement(e);if(this.shouldIgnoreVisit(i,{el:e,event:t}))return;if(this.navigating&&s===this.visit.to.url)return void t.preventDefault();const o=this.createVisit({to:s,hash:n,el:e,event:t});t.metaKey||t.ctrlKey||t.shiftKey||t.altKey?this.hooks.callSync(\"link:newtab\",o,{href:i}):0===t.button&&this.hooks.callSync(\"link:click\",o,{el:e,event:t},()=>{var e;const i=null!=(e=o.from.url)?e:\"\";t.preventDefault(),s&&s!==i?this.isSameResolvedUrl(s,i)||this.performNavigation(o):n?this.hooks.callSync(\"link:anchor\",o,{hash:n},()=>{r(s+n),this.scrollToContent(o)}):this.hooks.callSync(\"link:self\",o,void 0,()=>{\"navigate\"===this.options.linkToSelf?this.performNavigation(o):(r(s),this.scrollToContent(o))})})}handlePopState(t){var e,i,s,o;const r=null!=(e=null==(i=t.state)?void 0:i.url)?e:window.location.href;if(this.options.skipPopStateHandling(t))return;if(this.isSameResolvedUrl(n(),this.location.url))return;const{url:a,hash:h}=l.fromUrl(r),c=this.createVisit({to:a,hash:h,event:t});c.history.popstate=!0;const u=null!=(s=null==(o=t.state)?void 0:o.index)?s:0;u&&u!==this.currentHistoryIndex&&(c.history.direction=u-this.currentHistoryIndex>0?\"forwards\":\"backwards\",this.currentHistoryIndex=u),c.animation.animate=!1,c.scroll.reset=!1,c.scroll.target=!1,this.options.animateHistoryBrowsing&&(c.animation.animate=!0,c.scroll.reset=!0),this.hooks.callSync(\"history:popstate\",c,{event:t},()=>{this.performNavigation(c)})}triggerWillOpenNewWindow(t){return!!t.matches('[download], [target=\"_blank\"]')}}export{l as Location,s as classify,o as createHistoryRecord,j as default,a as delegateEvent,v as forceReflow,y as getContextualAttr,n as getCurrentUrl,g as isPromise,h as matchPath,w as nextTick,p as query,m as queryAll,f as runAsPromise,r as updateHistoryRecord};\n//# sourceMappingURL=Swup.modern.js.map\n"],"names":["ledger","editLedger","wanted","baseElement","callback","setup","elementMap","setups","existed","safeClosest","event","selector","target","closest","delegate","type","options","signal","base","once","nativeListenerOptions","capture","listenerFunction","delegateTarget","delegateEvent","i","t","e","s","n","o","r","a","l$1","l","c","u","h","d","p","m","w","g","v","f","y","k","b","S","E","C","U","P","$","x","A","H","V","I","L","q","R","T","N","O","D","M","W","B","_","j"],"mappings":"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","x_google_ignoreList":[0,1]} \ No newline at end of file +{"version":3,"file":"Swup.modern.BemQoQWS.js","sources":["../../../../../../node_modules/delegate-it/delegate.js","../../../../../../node_modules/swup/dist/Swup.modern.js"],"sourcesContent":["/** Keeps track of raw listeners added to the base elements to avoid duplication */\nconst ledger = new WeakMap();\nfunction editLedger(wanted, baseElement, callback, setup) {\n if (!wanted && !ledger.has(baseElement)) {\n return false;\n }\n const elementMap = ledger.get(baseElement)\n ?? new WeakMap();\n ledger.set(baseElement, elementMap);\n const setups = elementMap.get(callback) ?? new Set();\n elementMap.set(callback, setups);\n const existed = setups.has(setup);\n if (wanted) {\n setups.add(setup);\n }\n else {\n setups.delete(setup);\n }\n return existed && wanted;\n}\nfunction safeClosest(event, selector) {\n let target = event.target;\n if (target instanceof Text) {\n target = target.parentElement;\n }\n if (target instanceof Element && event.currentTarget instanceof Element) {\n // `.closest()` may match ancestors of `currentTarget` but we only need its children\n const closest = target.closest(selector);\n if (closest && event.currentTarget.contains(closest)) {\n return closest;\n }\n }\n}\n// This type isn't exported as a declaration, so it needs to be duplicated above\nfunction delegate(selector, type, callback, options = {}) {\n const { signal, base = document } = options;\n if (signal?.aborted) {\n return;\n }\n // Don't pass `once` to `addEventListener` because it needs to be handled in `delegate-it`\n const { once, ...nativeListenerOptions } = options;\n // `document` should never be the base, it's just an easy way to define \"global event listeners\"\n const baseElement = base instanceof Document ? base.documentElement : base;\n // Handle the regular Element usage\n const capture = Boolean(typeof options === 'object' ? options.capture : options);\n const listenerFunction = (event) => {\n const delegateTarget = safeClosest(event, selector);\n if (delegateTarget) {\n const delegateEvent = Object.assign(event, { delegateTarget });\n callback.call(baseElement, delegateEvent);\n if (once) {\n baseElement.removeEventListener(type, listenerFunction, nativeListenerOptions);\n editLedger(false, baseElement, callback, setup);\n }\n }\n };\n const setup = JSON.stringify({ selector, type, capture });\n const isAlreadyListening = editLedger(true, baseElement, callback, setup);\n if (!isAlreadyListening) {\n baseElement.addEventListener(type, listenerFunction, nativeListenerOptions);\n }\n signal?.addEventListener('abort', () => {\n editLedger(false, baseElement, callback, setup);\n });\n}\nexport default delegate;\n","import t from\"delegate-it\";import{match as e}from\"path-to-regexp\";function i(){return i=Object.assign?Object.assign.bind():function(t){for(var e=1;eString(t).toLowerCase().replace(/[\\s/_.]+/g,\"-\").replace(/[^\\w-]+/g,\"\").replace(/--+/g,\"-\").replace(/^-+|-+$/g,\"\")||e||\"\",n=({hash:t}={})=>window.location.pathname+window.location.search+(t?window.location.hash:\"\"),o=(t,e={})=>{const s=i({url:t=t||n({hash:!0}),random:Math.random(),source:\"swup\"},e);window.history.pushState(s,\"\",t)},r=(t=null,e={})=>{t=t||n({hash:!0});const s=i({},window.history.state||{},{url:t,random:Math.random(),source:\"swup\"},e);window.history.replaceState(s,\"\",t)},a=(e,s,n,o)=>{const r=new AbortController;return o=i({},o,{signal:r.signal}),t(e,s,n,o),{destroy:()=>r.abort()}};class l extends URL{constructor(t,e=document.baseURI){super(t.toString(),e),Object.setPrototypeOf(this,l.prototype)}get url(){return this.pathname+this.search}static fromElement(t){const e=t.getAttribute(\"href\")||t.getAttribute(\"xlink:href\")||\"\";return new l(e)}static fromUrl(t){return new l(t)}}const h=(t,i)=>{try{return e(t,i)}catch(e){throw new Error(`[swup] Error parsing path \"${String(t)}\":\\n${String(e)}`)}};class c extends Error{constructor(t,e){super(t),this.url=void 0,this.status=void 0,this.aborted=void 0,this.timedOut=void 0,this.name=\"FetchError\",this.url=e.url,this.status=e.status,this.aborted=e.aborted||!1,this.timedOut=e.timedOut||!1}}async function u(t,e={}){var s;t=l.fromUrl(t).url;const{visit:n=this.visit}=e,o=i({},this.options.requestHeaders,e.headers),r=null!=(s=e.timeout)?s:this.options.timeout,a=new AbortController,{signal:h}=a;e=i({},e,{headers:o,signal:h});let u,d=!1,p=null;r&&r>0&&(p=setTimeout(()=>{d=!0,a.abort(\"timeout\")},r));try{u=await this.hooks.call(\"fetch:request\",n,{url:t,options:e},(t,{url:e,options:i})=>fetch(e,i)),p&&clearTimeout(p)}catch(e){if(d)throw this.hooks.call(\"fetch:timeout\",n,{url:t}),new c(`Request timed out: ${t}`,{url:t,timedOut:d});if(\"AbortError\"===(null==e?void 0:e.name)||h.aborted)throw new c(`Request aborted: ${t}`,{url:t,aborted:!0});throw e}const{status:m,url:w}=u,g=await u.text();if(500===m)throw this.hooks.call(\"fetch:error\",n,{status:m,response:u,url:w}),new c(`Server error: ${w}`,{status:m,url:w});if(!g)throw new c(`Empty response: ${w}`,{status:m,url:w});const{url:f}=l.fromUrl(w),v={url:f,html:g};return!n.cache.write||e.method&&\"GET\"!==e.method||t!==f||this.cache.set(v.url,v),v}class d{constructor(t){this.swup=void 0,this.pages=new Map,this.swup=t}get size(){return this.pages.size}get all(){const t=new Map;return this.pages.forEach((e,s)=>{t.set(s,i({},e))}),t}has(t){return this.pages.has(this.resolve(t))}get(t){const e=this.pages.get(this.resolve(t));return e?i({},e):e}set(t,e){e=i({},e,{url:t=this.resolve(t)}),this.pages.set(t,e),this.swup.hooks.callSync(\"cache:set\",void 0,{page:e})}update(t,e){t=this.resolve(t);const s=i({},this.get(t),e,{url:t});this.pages.set(t,s)}delete(t){this.pages.delete(this.resolve(t))}clear(){this.pages.clear(),this.swup.hooks.callSync(\"cache:clear\",void 0,void 0)}prune(t){this.pages.forEach((e,i)=>{t(i,e)&&this.delete(i)})}resolve(t){const{url:e}=l.fromUrl(t);return this.swup.resolveUrl(e)}}const p=(t,e=document)=>e.querySelector(t),m=(t,e=document)=>Array.from(e.querySelectorAll(t)),w=()=>new Promise(t=>{requestAnimationFrame(()=>{requestAnimationFrame(()=>{t()})})});function g(t){return!!t&&(\"object\"==typeof t||\"function\"==typeof t)&&\"function\"==typeof t.then}function f(t,e=[]){return new Promise((i,s)=>{const n=t(...e);g(n)?n.then(i,s):i(n)})}function v(t){var e;null==(e=t=t||document.body)||e.getBoundingClientRect()}function y(t,e){const i=null==t?void 0:t.closest(`[${e}]`);return null!=i&&i.hasAttribute(e)?(null==i?void 0:i.getAttribute(e))||!0:void 0}class k{constructor(t){this.swup=void 0,this.swupClasses=[\"to-\",\"is-changing\",\"is-rendering\",\"is-popstate\",\"is-animating\",\"is-leaving\"],this.swup=t}get selectors(){const{scope:t}=this.swup.visit.animation;return\"containers\"===t?this.swup.visit.containers:\"html\"===t?[\"html\"]:Array.isArray(t)?t:[]}get selector(){return this.selectors.join(\",\")}get targets(){return this.selector.trim()?m(this.selector):[]}add(...t){this.targets.forEach(e=>e.classList.add(...t))}remove(...t){this.targets.forEach(e=>e.classList.remove(...t))}clear(){this.targets.forEach(t=>{const e=t.className.split(\" \").filter(t=>this.isSwupClass(t));t.classList.remove(...e)})}isSwupClass(t){return this.swupClasses.some(e=>t.startsWith(e))}}class b{constructor(t,e){this.id=void 0,this.state=void 0,this.from=void 0,this.to=void 0,this.containers=void 0,this.animation=void 0,this.trigger=void 0,this.cache=void 0,this.history=void 0,this.scroll=void 0;const{to:i,from:s,hash:n,el:o,event:r}=e;this.id=Math.random(),this.state=1,this.from={url:null!=s?s:t.location.url,hash:t.location.hash},this.to={url:i,hash:n},this.containers=t.options.containers,this.animation={animate:!0,wait:!1,name:void 0,native:t.options.native,scope:t.options.animationScope,selector:t.options.animationSelector},this.trigger={el:o,event:r},this.cache={read:t.options.cache,write:t.options.cache},this.history={action:\"push\",popstate:!1,direction:void 0},this.scroll={reset:!0,target:void 0}}advance(t){this.state=7}}function S(t){return new b(this,t)}class E{constructor(t){this.swup=void 0,this.registry=new Map,this.hooks=[\"animation:out:start\",\"animation:out:await\",\"animation:out:end\",\"animation:in:start\",\"animation:in:await\",\"animation:in:end\",\"animation:skip\",\"cache:clear\",\"cache:set\",\"content:replace\",\"content:scroll\",\"enable\",\"disable\",\"fetch:request\",\"fetch:error\",\"fetch:timeout\",\"history:popstate\",\"link:click\",\"link:self\",\"link:anchor\",\"link:newtab\",\"page:load\",\"page:view\",\"scroll:top\",\"scroll:anchor\",\"visit:start\",\"visit:transition\",\"visit:abort\",\"visit:end\"],this.swup=t,this.init()}init(){this.hooks.forEach(t=>this.create(t))}create(t){this.registry.has(t)||this.registry.set(t,new Map)}exists(t){return this.registry.has(t)}get(t){const e=this.registry.get(t);if(e)return e;console.error(`Unknown hook '${t}'`)}clear(){this.registry.forEach(t=>t.clear())}on(t,e,s={}){const n=this.get(t);if(!n)return console.warn(`Hook '${t}' not found.`),()=>{};const o=i({},s,{id:n.size+1,hook:t,handler:e});return n.set(e,o),()=>this.off(t,e)}before(t,e,s={}){return this.on(t,e,i({},s,{before:!0}))}replace(t,e,s={}){return this.on(t,e,i({},s,{replace:!0}))}once(t,e,s={}){return this.on(t,e,i({},s,{once:!0}))}off(t,e){const i=this.get(t);i&&e?i.delete(e)||console.warn(`Handler for hook '${t}' not found.`):i&&i.clear()}async call(t,e,i,s){const[n,o,r]=this.parseCallArgs(t,e,i,s),{before:a,handler:l,after:h}=this.getHandlers(t,r);await this.run(a,n,o);const[c]=await this.run(l,n,o,!0);return await this.run(h,n,o),this.dispatchDomEvent(t,n,o),c}callSync(t,e,i,s){const[n,o,r]=this.parseCallArgs(t,e,i,s),{before:a,handler:l,after:h}=this.getHandlers(t,r);this.runSync(a,n,o);const[c]=this.runSync(l,n,o,!0);return this.runSync(h,n,o),this.dispatchDomEvent(t,n,o),c}parseCallArgs(t,e,i,s){return e instanceof b||\"object\"!=typeof e&&\"function\"!=typeof i?[e,i,s]:[void 0,e,i]}async run(t,e=this.swup.visit,i,s=!1){const n=[];for(const{hook:o,handler:r,defaultHandler:a,once:l}of t)if(null==e||!e.done){l&&this.off(o,r);try{const t=await f(r,[e,i,a]);n.push(t)}catch(t){if(s)throw t;console.error(`Error in hook '${o}':`,t)}}return n}runSync(t,e=this.swup.visit,i,s=!1){const n=[];for(const{hook:o,handler:r,defaultHandler:a,once:l}of t)if(null==e||!e.done){l&&this.off(o,r);try{const t=r(e,i,a);n.push(t),g(t)&&console.warn(`Swup will not await Promises in handler for synchronous hook '${o}'.`)}catch(t){if(s)throw t;console.error(`Error in hook '${o}':`,t)}}return n}getHandlers(t,e){const i=this.get(t);if(!i)return{found:!1,before:[],handler:[],after:[],replaced:!1};const s=Array.from(i.values()),n=this.sortRegistrations,o=s.filter(({before:t,replace:e})=>t&&!e).sort(n),r=s.filter(({replace:t})=>t).filter(t=>!0).sort(n),a=s.filter(({before:t,replace:e})=>!t&&!e).sort(n),l=r.length>0;let h=[];if(e&&(h=[{id:0,hook:t,handler:e}],l)){const i=r.length-1,s=t=>{const i=r[t-1];return i?(e,n)=>i.handler(e,n,s(t-1)):e};h=[{id:0,hook:t,handler:r[i].handler,defaultHandler:s(i)}]}return{found:!0,before:o,handler:h,after:a,replaced:l}}sortRegistrations(t,e){var i,s;return(null!=(i=t.priority)?i:0)-(null!=(s=e.priority)?s:0)||t.id-e.id||0}dispatchDomEvent(t,e,i){if(null!=e&&e.done)return;const s={hook:t,args:i,visit:e||this.swup.visit};document.dispatchEvent(new CustomEvent(\"swup:any\",{detail:s,bubbles:!0})),document.dispatchEvent(new CustomEvent(`swup:${t}`,{detail:s,bubbles:!0}))}}const C=t=>{if(t&&\"#\"===t.charAt(0)&&(t=t.substring(1)),!t)return null;const e=decodeURIComponent(t);let i=document.getElementById(t)||document.getElementById(e)||p(`a[name='${CSS.escape(t)}']`)||p(`a[name='${CSS.escape(e)}']`);return i||\"top\"!==t||(i=document.body),i},U=\"transition\",P=\"animation\";async function $({selector:t,elements:e}){if(!1===t&&!e)return;let i=[];if(e)i=Array.from(e);else if(t&&(i=m(t,document.body),!i.length))return void console.warn(`[swup] No elements found matching animationSelector \\`${t}\\``);const s=i.map(t=>function(t){const{type:e,timeout:i,propCount:s}=function(t){const e=window.getComputedStyle(t),i=x(e,`${U}Delay`),s=x(e,`${U}Duration`),n=A(i,s),o=x(e,`${P}Delay`),r=x(e,`${P}Duration`),a=A(o,r),l=Math.max(n,a),h=l>0?n>a?U:P:null;return{type:h,timeout:l,propCount:h?h===U?s.length:r.length:0}}(t);return!(!e||!i)&&new Promise(n=>{const o=`${e}end`,r=performance.now();let a=0;const l=()=>{t.removeEventListener(o,h),n()},h=e=>{e.target===t&&((performance.now()-r)/1e3=s&&l())};setTimeout(()=>{a0?await Promise.all(s):t&&console.warn(`[swup] No CSS animation duration defined on elements matching \\`${t}\\``)}function x(t,e){return(t[e]||\"\").split(\", \")}function A(t,e){for(;t.lengthH(e)+H(t[i])))}function H(t){return 1e3*parseFloat(t)}function V(t,e={},s={}){if(\"string\"!=typeof t)throw new Error(\"swup.navigate() requires a URL parameter\");if(this.shouldIgnoreVisit(t,{el:s.el,event:s.event}))return void window.location.assign(t);const{url:n,hash:o}=l.fromUrl(t),r=this.createVisit(i({},s,{to:n,hash:o}));this.performNavigation(r,e)}async function I(t,e={}){if(this.navigating){if(this.visit.state>=6)return t.state=2,void(this.onVisitEnd=()=>this.performNavigation(t,e));await this.hooks.call(\"visit:abort\",this.visit,void 0),delete this.visit.to.document,this.visit.state=8}this.navigating=!0,this.visit=t;const{el:i}=t.trigger;e.referrer=e.referrer||this.location.url,!1===e.animate&&(t.animation.animate=!1),t.animation.animate||this.classes.clear();const n=e.history||y(i,\"data-swup-history\");\"string\"==typeof n&&[\"push\",\"replace\"].includes(n)&&(t.history.action=n);const a=e.animation||y(i,\"data-swup-animation\");var h,c;\"string\"==typeof a&&(t.animation.name=a),\"object\"==typeof e.cache?(t.cache.read=null!=(h=e.cache.read)?h:t.cache.read,t.cache.write=null!=(c=e.cache.write)?c:t.cache.write):void 0!==e.cache&&(t.cache={read:!!e.cache,write:!!e.cache}),delete e.cache;try{await this.hooks.call(\"visit:start\",t,void 0),t.state=3;const i=this.hooks.call(\"page:load\",t,{options:e},async(t,e)=>{let i;return t.cache.read&&(i=this.cache.get(t.to.url)),e.page=i||await this.fetchPage(t.to.url,e.options),e.cache=!!i,e.page});i.then(({html:e})=>{t.advance(5),t.to.html=e,t.to.document=(new DOMParser).parseFromString(e,\"text/html\")});const n=t.to.url+t.to.hash;if(t.history.popstate||(\"replace\"===t.history.action||t.to.url===this.location.url?r(n):(this.currentHistoryIndex++,o(n,{index:this.currentHistoryIndex}))),this.location=l.fromUrl(n),t.history.popstate&&this.classes.add(\"is-popstate\"),t.animation.name&&this.classes.add(`to-${s(t.animation.name)}`),t.animation.wait&&await i,t.done)return;if(await this.hooks.call(\"visit:transition\",t,void 0,async()=>{if(!t.animation.animate)return await this.hooks.call(\"animation:skip\",void 0),void await this.renderPage(t,await i);t.advance(4),await this.animatePageOut(t),t.animation.native&&document.startViewTransition?await document.startViewTransition(async()=>await this.renderPage(t,await i)).finished:await this.renderPage(t,await i),await this.animatePageIn(t)}),t.done)return;await this.hooks.call(\"visit:end\",t,void 0,()=>this.classes.clear()),t.state=7,this.navigating=!1,this.onVisitEnd&&(this.onVisitEnd(),this.onVisitEnd=void 0)}catch(e){if(!e||null!=e&&e.aborted)return void(t.state=8);t.state=9,console.error(e),this.options.skipPopStateHandling=()=>(window.location.assign(t.to.url+t.to.hash),!0),window.history.back()}finally{delete t.to.document}}const L=async function(t){await this.hooks.call(\"animation:out:start\",t,void 0,()=>{this.classes.add(\"is-changing\",\"is-animating\",\"is-leaving\")}),await this.hooks.call(\"animation:out:await\",t,{skip:!1},(t,{skip:e})=>{if(!e)return this.awaitAnimations({selector:t.animation.selector})}),await this.hooks.call(\"animation:out:end\",t,void 0)},q=function(t){var e;const i=t.to.document;if(!i)return!1;const s=(null==(e=i.querySelector(\"title\"))?void 0:e.innerText)||\"\";document.title=s;const n=m('[data-swup-persist]:not([data-swup-persist=\"\"])'),o=t.containers.map(t=>{const e=document.querySelector(t),s=i.querySelector(t);return e&&s?(e.replaceWith(s.cloneNode(!0)),!0):(e||console.warn(`[swup] Container missing in current document: ${t}`),s||console.warn(`[swup] Container missing in incoming document: ${t}`),!1)}).filter(Boolean);return n.forEach(t=>{const e=t.getAttribute(\"data-swup-persist\"),i=p(`[data-swup-persist=\"${e}\"]`);i&&i!==t&&i.replaceWith(t)}),o.length===t.containers.length},R=function(t){const e={behavior:\"auto\"},{target:s,reset:n}=t.scroll,o=null!=s?s:t.to.hash;let r=!1;return o&&(r=this.hooks.callSync(\"scroll:anchor\",t,{hash:o,options:e},(t,{hash:e,options:i})=>{const s=this.getAnchorElement(e);return s&&s.scrollIntoView(i),!!s})),n&&!r&&(r=this.hooks.callSync(\"scroll:top\",t,{options:e},(t,{options:e})=>(window.scrollTo(i({top:0,left:0},e)),!0))),r},T=async function(t){if(t.done)return;const e=this.hooks.call(\"animation:in:await\",t,{skip:!1},(t,{skip:e})=>{if(!e)return this.awaitAnimations({selector:t.animation.selector})});await w(),await this.hooks.call(\"animation:in:start\",t,void 0,()=>{this.classes.remove(\"is-animating\")}),await e,await this.hooks.call(\"animation:in:end\",t,void 0)},N=async function(t,e){if(t.done)return;t.advance(6);const{url:i}=e;this.isSameResolvedUrl(n(),i)||(r(i),this.location=l.fromUrl(i),t.to.url=this.location.url,t.to.hash=this.location.hash),await this.hooks.call(\"content:replace\",t,{page:e},(t,{})=>{if(this.classes.remove(\"is-leaving\"),t.animation.animate&&this.classes.add(\"is-rendering\"),!this.replaceContent(t))throw new Error(\"[swup] Container mismatch, aborting\");t.animation.animate&&(this.classes.add(\"is-changing\",\"is-animating\",\"is-rendering\"),t.animation.name&&this.classes.add(`to-${s(t.animation.name)}`))}),await this.hooks.call(\"content:scroll\",t,void 0,()=>this.scrollToContent(t)),await this.hooks.call(\"page:view\",t,{url:this.location.url,title:document.title})},O=function(t){var e;if(e=t,Boolean(null==e?void 0:e.isSwupPlugin)){if(t.swup=this,!t._checkRequirements||t._checkRequirements())return t._beforeMount&&t._beforeMount(),t.mount(),this.plugins.push(t),this.plugins}else console.error(\"Not a swup plugin instance\",t)};function D(t){const e=this.findPlugin(t);if(e)return e.unmount(),e._afterUnmount&&e._afterUnmount(),this.plugins=this.plugins.filter(t=>t!==e),this.plugins;console.error(\"No such plugin\",e)}function M(t){return this.plugins.find(e=>e===t||e.name===t||e.name===`Swup${String(t)}`)}function W(t){if(\"function\"!=typeof this.options.resolveUrl)return console.warn(\"[swup] options.resolveUrl expects a callback function.\"),t;const e=this.options.resolveUrl(t);return e&&\"string\"==typeof e?e.startsWith(\"//\")||e.startsWith(\"http\")?(console.warn(\"[swup] options.resolveUrl needs to return a relative url\"),t):e:(console.warn(\"[swup] options.resolveUrl needs to return a url\"),t)}function B(t,e){return this.resolveUrl(t)===this.resolveUrl(e)}const _={animateHistoryBrowsing:!1,animationSelector:'[class*=\"transition-\"]',animationScope:\"html\",cache:!0,containers:[\"#swup\"],ignoreVisit:(t,{el:e}={})=>!(null==e||!e.closest(\"[data-no-swup]\")),linkSelector:\"a[href]\",linkToSelf:\"scroll\",native:!1,plugins:[],resolveUrl:t=>t,requestHeaders:{\"X-Requested-With\":\"swup\",Accept:\"text/html, application/xhtml+xml\"},skipPopStateHandling:t=>{var e;return\"swup\"!==(null==(e=t.state)?void 0:e.source)},timeout:0};class j{get currentPageUrl(){return this.location.url}constructor(t={}){var e,s;this.version=\"4.7.0\",this.options=void 0,this.defaults=_,this.plugins=[],this.visit=void 0,this.cache=void 0,this.hooks=void 0,this.classes=void 0,this.location=l.fromUrl(window.location.href),this.currentHistoryIndex=void 0,this.clickDelegate=void 0,this.navigating=!1,this.onVisitEnd=void 0,this.use=O,this.unuse=D,this.findPlugin=M,this.log=()=>{},this.navigate=V,this.performNavigation=I,this.createVisit=S,this.delegateEvent=a,this.fetchPage=u,this.awaitAnimations=$,this.renderPage=N,this.replaceContent=q,this.animatePageIn=T,this.animatePageOut=L,this.scrollToContent=R,this.getAnchorElement=C,this.getCurrentUrl=n,this.resolveUrl=W,this.isSameResolvedUrl=B,this.options=i({},this.defaults,t),this.handleLinkClick=this.handleLinkClick.bind(this),this.handlePopState=this.handlePopState.bind(this),this.cache=new d(this),this.classes=new k(this),this.hooks=new E(this),this.visit=this.createVisit({to:\"\"}),this.currentHistoryIndex=null!=(e=null==(s=window.history.state)?void 0:s.index)?e:1,this.enable()}async enable(){var t;const{linkSelector:e}=this.options;this.clickDelegate=this.delegateEvent(e,\"click\",this.handleLinkClick),window.addEventListener(\"popstate\",this.handlePopState),this.options.animateHistoryBrowsing&&(window.history.scrollRestoration=\"manual\"),this.options.native=this.options.native&&!!document.startViewTransition,this.options.plugins.forEach(t=>this.use(t)),\"swup\"!==(null==(t=window.history.state)?void 0:t.source)&&r(null,{index:this.currentHistoryIndex}),await w(),await this.hooks.call(\"enable\",void 0,void 0,()=>{const t=document.documentElement;t.classList.add(\"swup-enabled\"),t.classList.toggle(\"swup-native\",this.options.native)})}async destroy(){this.clickDelegate.destroy(),window.removeEventListener(\"popstate\",this.handlePopState),this.cache.clear(),this.options.plugins.forEach(t=>this.unuse(t)),await this.hooks.call(\"disable\",void 0,void 0,()=>{const t=document.documentElement;t.classList.remove(\"swup-enabled\"),t.classList.remove(\"swup-native\")}),this.hooks.clear()}shouldIgnoreVisit(t,{el:e,event:i}={}){const{origin:s,url:n,hash:o}=l.fromUrl(t);return s!==window.location.origin||!(!e||!this.triggerWillOpenNewWindow(e))||!!this.options.ignoreVisit(n+o,{el:e,event:i})}handleLinkClick(t){const e=t.delegateTarget,{href:i,url:s,hash:n}=l.fromElement(e);if(this.shouldIgnoreVisit(i,{el:e,event:t}))return;if(this.navigating&&s===this.visit.to.url)return void t.preventDefault();const o=this.createVisit({to:s,hash:n,el:e,event:t});t.metaKey||t.ctrlKey||t.shiftKey||t.altKey?this.hooks.callSync(\"link:newtab\",o,{href:i}):0===t.button&&this.hooks.callSync(\"link:click\",o,{el:e,event:t},()=>{var e;const i=null!=(e=o.from.url)?e:\"\";t.preventDefault(),s&&s!==i?this.isSameResolvedUrl(s,i)||this.performNavigation(o):n?this.hooks.callSync(\"link:anchor\",o,{hash:n},()=>{r(s+n),this.scrollToContent(o)}):this.hooks.callSync(\"link:self\",o,void 0,()=>{\"navigate\"===this.options.linkToSelf?this.performNavigation(o):(r(s),this.scrollToContent(o))})})}handlePopState(t){var e,i,s,o;const r=null!=(e=null==(i=t.state)?void 0:i.url)?e:window.location.href;if(this.options.skipPopStateHandling(t))return;if(this.isSameResolvedUrl(n(),this.location.url))return;const{url:a,hash:h}=l.fromUrl(r),c=this.createVisit({to:a,hash:h,event:t});c.history.popstate=!0;const u=null!=(s=null==(o=t.state)?void 0:o.index)?s:0;u&&u!==this.currentHistoryIndex&&(c.history.direction=u-this.currentHistoryIndex>0?\"forwards\":\"backwards\",this.currentHistoryIndex=u),c.animation.animate=!1,c.scroll.reset=!1,c.scroll.target=!1,this.options.animateHistoryBrowsing&&(c.animation.animate=!0,c.scroll.reset=!0),this.hooks.callSync(\"history:popstate\",c,{event:t},()=>{this.performNavigation(c)})}triggerWillOpenNewWindow(t){return!!t.matches('[download], [target=\"_blank\"]')}}export{l as Location,s as classify,o as createHistoryRecord,j as default,a as delegateEvent,v as forceReflow,y as getContextualAttr,n as getCurrentUrl,g as isPromise,h as matchPath,w as nextTick,p as query,m as queryAll,f as runAsPromise,r as updateHistoryRecord};\n//# sourceMappingURL=Swup.modern.js.map\n"],"names":["ledger","editLedger","wanted","baseElement","callback","setup","elementMap","setups","existed","safeClosest","event","selector","target","closest","delegate","type","options","signal","base","once","nativeListenerOptions","capture","listenerFunction","delegateTarget","delegateEvent","i","t","e","s","n","o","r","a","l$1","l","c","u","h","d","p","m","w","g","v","f","y","k","b","S","E","C","U","P","$","x","A","H","V","I","L","q","R","T","N","O","D","M","W","B","_","j"],"mappings":"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","x_google_ignoreList":[0,1]} \ No newline at end of file diff --git a/Target/_astro/ViewTransitions.astro_astro_type_script_index_0_lang.Bvzvg9jW.js.map b/Target/_astro/ViewTransitions.astro_astro_type_script_index_0_lang.Bvzvg9jW.js.map deleted file mode 100644 index 5539b11a..00000000 --- a/Target/_astro/ViewTransitions.astro_astro_type_script_index_0_lang.Bvzvg9jW.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"ViewTransitions.astro_astro_type_script_index_0_lang.Bvzvg9jW.js","sources":["../../node_modules/astro/dist/transitions/swap-functions.js","../../node_modules/astro/dist/transitions/events.js","../../node_modules/astro/dist/transitions/router.js"],"sourcesContent":["const PERSIST_ATTR = \"data-astro-transition-persist\";\nfunction deselectScripts(doc) {\n for (const s1 of document.scripts) {\n for (const s2 of doc.scripts) {\n if (\n // Check if the script should be rerun regardless of it being the same\n !s2.hasAttribute(\"data-astro-rerun\") && // Inline\n (!s1.src && s1.textContent === s2.textContent || // External\n s1.src && s1.type === s2.type && s1.src === s2.src)\n ) {\n s2.dataset.astroExec = \"\";\n break;\n }\n }\n }\n}\nfunction swapRootAttributes(doc) {\n const html = document.documentElement;\n const astroAttributes = [...html.attributes].filter(\n ({ name }) => (html.removeAttribute(name), name.startsWith(\"data-astro-\"))\n );\n [...doc.documentElement.attributes, ...astroAttributes].forEach(\n ({ name, value }) => html.setAttribute(name, value)\n );\n}\nfunction swapHeadElements(doc) {\n for (const el of Array.from(document.head.children)) {\n const newEl = persistedHeadElement(el, doc);\n if (newEl) {\n newEl.remove();\n } else {\n el.remove();\n }\n }\n document.head.append(...doc.head.children);\n}\nfunction swapBodyElement(newElement, oldElement) {\n oldElement.replaceWith(newElement);\n for (const el of oldElement.querySelectorAll(`[${PERSIST_ATTR}]`)) {\n const id = el.getAttribute(PERSIST_ATTR);\n const newEl = newElement.querySelector(`[${PERSIST_ATTR}=\"${id}\"]`);\n if (newEl) {\n newEl.replaceWith(el);\n if (newEl.localName === \"astro-island\" && shouldCopyProps(el)) {\n el.setAttribute(\"ssr\", \"\");\n el.setAttribute(\"props\", newEl.getAttribute(\"props\"));\n }\n }\n }\n}\nconst saveFocus = () => {\n const activeElement = document.activeElement;\n if (activeElement?.closest(`[${PERSIST_ATTR}]`)) {\n if (activeElement instanceof HTMLInputElement || activeElement instanceof HTMLTextAreaElement) {\n const start = activeElement.selectionStart;\n const end = activeElement.selectionEnd;\n return () => restoreFocus({ activeElement, start, end });\n }\n return () => restoreFocus({ activeElement });\n } else {\n return () => restoreFocus({ activeElement: null });\n }\n};\nconst restoreFocus = ({ activeElement, start, end }) => {\n if (activeElement) {\n activeElement.focus();\n if (activeElement instanceof HTMLInputElement || activeElement instanceof HTMLTextAreaElement) {\n if (typeof start === \"number\") activeElement.selectionStart = start;\n if (typeof end === \"number\") activeElement.selectionEnd = end;\n }\n }\n};\nconst persistedHeadElement = (el, newDoc) => {\n const id = el.getAttribute(PERSIST_ATTR);\n const newEl = id && newDoc.head.querySelector(`[${PERSIST_ATTR}=\"${id}\"]`);\n if (newEl) {\n return newEl;\n }\n if (el.matches(\"link[rel=stylesheet]\")) {\n const href = el.getAttribute(\"href\");\n return newDoc.head.querySelector(`link[rel=stylesheet][href=\"${href}\"]`);\n }\n return null;\n};\nconst shouldCopyProps = (el) => {\n const persistProps = el.dataset.astroTransitionPersistProps;\n return persistProps == null || persistProps === \"false\";\n};\nconst swap = (doc) => {\n deselectScripts(doc);\n swapRootAttributes(doc);\n swapHeadElements(doc);\n const restoreFocusFunction = saveFocus();\n swapBodyElement(doc.body, document.body);\n restoreFocusFunction();\n};\nexport {\n deselectScripts,\n restoreFocus,\n saveFocus,\n swap,\n swapBodyElement,\n swapHeadElements,\n swapRootAttributes\n};\n","import { updateScrollPosition } from \"./router.js\";\nimport { swap } from \"./swap-functions.js\";\nconst TRANSITION_BEFORE_PREPARATION = \"astro:before-preparation\";\nconst TRANSITION_AFTER_PREPARATION = \"astro:after-preparation\";\nconst TRANSITION_BEFORE_SWAP = \"astro:before-swap\";\nconst TRANSITION_AFTER_SWAP = \"astro:after-swap\";\nconst TRANSITION_PAGE_LOAD = \"astro:page-load\";\nconst triggerEvent = (name) => document.dispatchEvent(new Event(name));\nconst onPageLoad = () => triggerEvent(TRANSITION_PAGE_LOAD);\nclass BeforeEvent extends Event {\n from;\n to;\n direction;\n navigationType;\n sourceElement;\n info;\n newDocument;\n signal;\n constructor(type, eventInitDict, from, to, direction, navigationType, sourceElement, info, newDocument, signal) {\n super(type, eventInitDict);\n this.from = from;\n this.to = to;\n this.direction = direction;\n this.navigationType = navigationType;\n this.sourceElement = sourceElement;\n this.info = info;\n this.newDocument = newDocument;\n this.signal = signal;\n Object.defineProperties(this, {\n from: { enumerable: true },\n to: { enumerable: true, writable: true },\n direction: { enumerable: true, writable: true },\n navigationType: { enumerable: true },\n sourceElement: { enumerable: true },\n info: { enumerable: true },\n newDocument: { enumerable: true, writable: true },\n signal: { enumerable: true }\n });\n }\n}\nconst isTransitionBeforePreparationEvent = (value) => value.type === TRANSITION_BEFORE_PREPARATION;\nclass TransitionBeforePreparationEvent extends BeforeEvent {\n formData;\n loader;\n constructor(from, to, direction, navigationType, sourceElement, info, newDocument, signal, formData, loader) {\n super(\n TRANSITION_BEFORE_PREPARATION,\n { cancelable: true },\n from,\n to,\n direction,\n navigationType,\n sourceElement,\n info,\n newDocument,\n signal\n );\n this.formData = formData;\n this.loader = loader.bind(this, this);\n Object.defineProperties(this, {\n formData: { enumerable: true },\n loader: { enumerable: true, writable: true }\n });\n }\n}\nconst isTransitionBeforeSwapEvent = (value) => value.type === TRANSITION_BEFORE_SWAP;\nclass TransitionBeforeSwapEvent extends BeforeEvent {\n direction;\n viewTransition;\n swap;\n constructor(afterPreparation, viewTransition) {\n super(\n TRANSITION_BEFORE_SWAP,\n void 0,\n afterPreparation.from,\n afterPreparation.to,\n afterPreparation.direction,\n afterPreparation.navigationType,\n afterPreparation.sourceElement,\n afterPreparation.info,\n afterPreparation.newDocument,\n afterPreparation.signal\n );\n this.direction = afterPreparation.direction;\n this.viewTransition = viewTransition;\n this.swap = () => swap(this.newDocument);\n Object.defineProperties(this, {\n direction: { enumerable: true },\n viewTransition: { enumerable: true },\n swap: { enumerable: true, writable: true }\n });\n }\n}\nasync function doPreparation(from, to, direction, navigationType, sourceElement, info, signal, formData, defaultLoader) {\n const event = new TransitionBeforePreparationEvent(\n from,\n to,\n direction,\n navigationType,\n sourceElement,\n info,\n window.document,\n signal,\n formData,\n defaultLoader\n );\n if (document.dispatchEvent(event)) {\n await event.loader();\n if (!event.defaultPrevented) {\n triggerEvent(TRANSITION_AFTER_PREPARATION);\n if (event.navigationType !== \"traverse\") {\n updateScrollPosition({ scrollX, scrollY });\n }\n }\n }\n return event;\n}\nfunction doSwap(afterPreparation, viewTransition) {\n const event = new TransitionBeforeSwapEvent(afterPreparation, viewTransition);\n document.dispatchEvent(event);\n event.swap();\n return event;\n}\nexport {\n TRANSITION_AFTER_PREPARATION,\n TRANSITION_AFTER_SWAP,\n TRANSITION_BEFORE_PREPARATION,\n TRANSITION_BEFORE_SWAP,\n TRANSITION_PAGE_LOAD,\n TransitionBeforePreparationEvent,\n TransitionBeforeSwapEvent,\n doPreparation,\n doSwap,\n isTransitionBeforePreparationEvent,\n isTransitionBeforeSwapEvent,\n onPageLoad,\n triggerEvent\n};\n","import { TRANSITION_AFTER_SWAP, doPreparation, doSwap } from \"./events.js\";\nimport {\n deselectScripts,\n restoreFocus,\n saveFocus,\n swapBodyElement,\n swapHeadElements,\n swapRootAttributes\n} from \"./swap-functions.js\";\nconst inBrowser = import.meta.env.SSR === false;\nconst pushState = inBrowser && history.pushState.bind(history);\nconst replaceState = inBrowser && history.replaceState.bind(history);\nconst updateScrollPosition = (positions) => {\n if (history.state) {\n history.scrollRestoration = \"manual\";\n replaceState({ ...history.state, ...positions }, \"\");\n }\n};\nconst supportsViewTransitions = inBrowser && !!document.startViewTransition;\nconst transitionEnabledOnThisPage = () => inBrowser && !!document.querySelector('[name=\"astro-view-transitions-enabled\"]');\nconst samePage = (thisLocation, otherLocation) => thisLocation.pathname === otherLocation.pathname && thisLocation.search === otherLocation.search;\nlet mostRecentNavigation;\nlet mostRecentTransition;\nlet originalLocation;\nconst triggerEvent = (name) => document.dispatchEvent(new Event(name));\nconst onPageLoad = () => triggerEvent(\"astro:page-load\");\nconst announce = () => {\n let div = document.createElement(\"div\");\n div.setAttribute(\"aria-live\", \"assertive\");\n div.setAttribute(\"aria-atomic\", \"true\");\n div.className = \"astro-route-announcer\";\n document.body.append(div);\n setTimeout(\n () => {\n let title = document.title || document.querySelector(\"h1\")?.textContent || location.pathname;\n div.textContent = title;\n },\n // Much thought went into this magic number; the gist is that screen readers\n // need to see that the element changed and might not do so if it happens\n // too quickly.\n 60\n );\n};\nconst PERSIST_ATTR = \"data-astro-transition-persist\";\nconst DIRECTION_ATTR = \"data-astro-transition\";\nconst OLD_NEW_ATTR = \"data-astro-transition-fallback\";\nconst VITE_ID = \"data-vite-dev-id\";\nlet parser;\nlet currentHistoryIndex = 0;\nif (inBrowser) {\n if (history.state) {\n currentHistoryIndex = history.state.index;\n scrollTo({ left: history.state.scrollX, top: history.state.scrollY });\n } else if (transitionEnabledOnThisPage()) {\n replaceState({ index: currentHistoryIndex, scrollX, scrollY }, \"\");\n history.scrollRestoration = \"manual\";\n }\n}\nasync function fetchHTML(href, init) {\n try {\n const res = await fetch(href, init);\n const contentType = res.headers.get(\"content-type\") ?? \"\";\n const mediaType = contentType.split(\";\", 1)[0].trim();\n if (mediaType !== \"text/html\" && mediaType !== \"application/xhtml+xml\") {\n return null;\n }\n const html = await res.text();\n return {\n html,\n redirected: res.redirected ? res.url : void 0,\n mediaType\n };\n } catch (err) {\n return null;\n }\n}\nfunction getFallback() {\n const el = document.querySelector('[name=\"astro-view-transitions-fallback\"]');\n if (el) {\n return el.getAttribute(\"content\");\n }\n return \"animate\";\n}\nfunction runScripts() {\n let wait = Promise.resolve();\n for (const script of Array.from(document.scripts)) {\n if (script.dataset.astroExec === \"\") continue;\n const type = script.getAttribute(\"type\");\n if (type && type !== \"module\" && type !== \"text/javascript\") continue;\n const newScript = document.createElement(\"script\");\n newScript.innerHTML = script.innerHTML;\n for (const attr of script.attributes) {\n if (attr.name === \"src\") {\n const p = new Promise((r) => {\n newScript.onload = newScript.onerror = r;\n });\n wait = wait.then(() => p);\n }\n newScript.setAttribute(attr.name, attr.value);\n }\n newScript.dataset.astroExec = \"\";\n script.replaceWith(newScript);\n }\n return wait;\n}\nconst moveToLocation = (to, from, options, pageTitleForBrowserHistory, historyState) => {\n const intraPage = samePage(from, to);\n const targetPageTitle = document.title;\n document.title = pageTitleForBrowserHistory;\n let scrolledToTop = false;\n if (to.href !== location.href && !historyState) {\n if (options.history === \"replace\") {\n const current = history.state;\n replaceState(\n {\n ...options.state,\n index: current.index,\n scrollX: current.scrollX,\n scrollY: current.scrollY\n },\n \"\",\n to.href\n );\n } else {\n pushState(\n { ...options.state, index: ++currentHistoryIndex, scrollX: 0, scrollY: 0 },\n \"\",\n to.href\n );\n }\n }\n document.title = targetPageTitle;\n originalLocation = to;\n if (!intraPage) {\n scrollTo({ left: 0, top: 0, behavior: \"instant\" });\n scrolledToTop = true;\n }\n if (historyState) {\n scrollTo(historyState.scrollX, historyState.scrollY);\n } else {\n if (to.hash) {\n history.scrollRestoration = \"auto\";\n const savedState = history.state;\n location.href = to.href;\n if (!history.state) {\n replaceState(savedState, \"\");\n if (intraPage) {\n window.dispatchEvent(new PopStateEvent(\"popstate\"));\n }\n }\n } else {\n if (!scrolledToTop) {\n scrollTo({ left: 0, top: 0, behavior: \"instant\" });\n }\n }\n history.scrollRestoration = \"manual\";\n }\n};\nfunction preloadStyleLinks(newDocument) {\n const links = [];\n for (const el of newDocument.querySelectorAll(\"head link[rel=stylesheet]\")) {\n if (!document.querySelector(\n `[${PERSIST_ATTR}=\"${el.getAttribute(\n PERSIST_ATTR\n )}\"], link[rel=stylesheet][href=\"${el.getAttribute(\"href\")}\"]`\n )) {\n const c = document.createElement(\"link\");\n c.setAttribute(\"rel\", \"preload\");\n c.setAttribute(\"as\", \"style\");\n c.setAttribute(\"href\", el.getAttribute(\"href\"));\n links.push(\n new Promise((resolve) => {\n [\"load\", \"error\"].forEach((evName) => c.addEventListener(evName, resolve));\n document.head.append(c);\n })\n );\n }\n }\n return links;\n}\nasync function updateDOM(preparationEvent, options, currentTransition, historyState, fallback) {\n async function animate(phase) {\n function isInfinite(animation) {\n const effect = animation.effect;\n if (!effect || !(effect instanceof KeyframeEffect) || !effect.target) return false;\n const style = window.getComputedStyle(effect.target, effect.pseudoElement);\n return style.animationIterationCount === \"infinite\";\n }\n const currentAnimations = document.getAnimations();\n document.documentElement.setAttribute(OLD_NEW_ATTR, phase);\n const nextAnimations = document.getAnimations();\n const newAnimations = nextAnimations.filter(\n (a) => !currentAnimations.includes(a) && !isInfinite(a)\n );\n return Promise.allSettled(newAnimations.map((a) => a.finished));\n }\n if (fallback === \"animate\" && !currentTransition.transitionSkipped && !preparationEvent.signal.aborted) {\n try {\n await animate(\"old\");\n } catch (err) {\n }\n }\n const pageTitleForBrowserHistory = document.title;\n const swapEvent = doSwap(preparationEvent, currentTransition.viewTransition);\n moveToLocation(swapEvent.to, swapEvent.from, options, pageTitleForBrowserHistory, historyState);\n triggerEvent(TRANSITION_AFTER_SWAP);\n if (fallback === \"animate\") {\n if (!currentTransition.transitionSkipped && !swapEvent.signal.aborted) {\n animate(\"new\").finally(() => currentTransition.viewTransitionFinished());\n } else {\n currentTransition.viewTransitionFinished();\n }\n }\n}\nfunction abortAndRecreateMostRecentNavigation() {\n mostRecentNavigation?.controller.abort();\n return mostRecentNavigation = {\n controller: new AbortController()\n };\n}\nasync function transition(direction, from, to, options, historyState) {\n const currentNavigation = abortAndRecreateMostRecentNavigation();\n if (!transitionEnabledOnThisPage() || location.origin !== to.origin) {\n if (currentNavigation === mostRecentNavigation) mostRecentNavigation = void 0;\n location.href = to.href;\n return;\n }\n const navigationType = historyState ? \"traverse\" : options.history === \"replace\" ? \"replace\" : \"push\";\n if (navigationType !== \"traverse\") {\n updateScrollPosition({ scrollX, scrollY });\n }\n if (samePage(from, to)) {\n if (direction !== \"back\" && to.hash || direction === \"back\" && from.hash) {\n moveToLocation(to, from, options, document.title, historyState);\n if (currentNavigation === mostRecentNavigation) mostRecentNavigation = void 0;\n return;\n }\n }\n const prepEvent = await doPreparation(\n from,\n to,\n direction,\n navigationType,\n options.sourceElement,\n options.info,\n currentNavigation.controller.signal,\n options.formData,\n defaultLoader\n );\n if (prepEvent.defaultPrevented || prepEvent.signal.aborted) {\n if (currentNavigation === mostRecentNavigation) mostRecentNavigation = void 0;\n if (!prepEvent.signal.aborted) {\n location.href = to.href;\n }\n return;\n }\n async function defaultLoader(preparationEvent) {\n const href = preparationEvent.to.href;\n const init = { signal: preparationEvent.signal };\n if (preparationEvent.formData) {\n init.method = \"POST\";\n const form = preparationEvent.sourceElement instanceof HTMLFormElement ? preparationEvent.sourceElement : preparationEvent.sourceElement instanceof HTMLElement && \"form\" in preparationEvent.sourceElement ? preparationEvent.sourceElement.form : preparationEvent.sourceElement?.closest(\"form\");\n init.body = form?.attributes.getNamedItem(\"enctype\")?.value === \"application/x-www-form-urlencoded\" ? new URLSearchParams(preparationEvent.formData) : preparationEvent.formData;\n }\n const response = await fetchHTML(href, init);\n if (response === null) {\n preparationEvent.preventDefault();\n return;\n }\n if (response.redirected) {\n const redirectedTo = new URL(response.redirected);\n if (redirectedTo.origin !== preparationEvent.to.origin) {\n preparationEvent.preventDefault();\n return;\n }\n preparationEvent.to = redirectedTo;\n }\n parser ??= new DOMParser();\n preparationEvent.newDocument = parser.parseFromString(response.html, response.mediaType);\n preparationEvent.newDocument.querySelectorAll(\"noscript\").forEach((el) => el.remove());\n if (!preparationEvent.newDocument.querySelector('[name=\"astro-view-transitions-enabled\"]') && !preparationEvent.formData) {\n preparationEvent.preventDefault();\n return;\n }\n const links = preloadStyleLinks(preparationEvent.newDocument);\n links.length && !preparationEvent.signal.aborted && await Promise.all(links);\n if (import.meta.env.DEV && !preparationEvent.signal.aborted)\n await prepareForClientOnlyComponents(\n preparationEvent.newDocument,\n preparationEvent.to,\n preparationEvent.signal\n );\n }\n async function abortAndRecreateMostRecentTransition() {\n if (mostRecentTransition) {\n if (mostRecentTransition.viewTransition) {\n try {\n mostRecentTransition.viewTransition.skipTransition();\n } catch {\n }\n try {\n await mostRecentTransition.viewTransition.updateCallbackDone;\n } catch {\n }\n }\n }\n return mostRecentTransition = { transitionSkipped: false };\n }\n const currentTransition = await abortAndRecreateMostRecentTransition();\n if (prepEvent.signal.aborted) {\n if (currentNavigation === mostRecentNavigation) mostRecentNavigation = void 0;\n return;\n }\n document.documentElement.setAttribute(DIRECTION_ATTR, prepEvent.direction);\n if (supportsViewTransitions) {\n currentTransition.viewTransition = document.startViewTransition(\n async () => await updateDOM(prepEvent, options, currentTransition, historyState)\n );\n } else {\n const updateDone = (async () => {\n await Promise.resolve();\n await updateDOM(prepEvent, options, currentTransition, historyState, getFallback());\n })();\n currentTransition.viewTransition = {\n updateCallbackDone: updateDone,\n // this is about correct\n ready: updateDone,\n // good enough\n // Finished promise could have been done better: finished rejects iff updateDone does.\n // Our simulation always resolves, never rejects.\n finished: new Promise((r) => currentTransition.viewTransitionFinished = r),\n // see end of updateDOM\n skipTransition: () => {\n currentTransition.transitionSkipped = true;\n document.documentElement.removeAttribute(OLD_NEW_ATTR);\n }\n };\n }\n currentTransition.viewTransition.updateCallbackDone.finally(async () => {\n await runScripts();\n onPageLoad();\n announce();\n });\n currentTransition.viewTransition.finished.finally(() => {\n currentTransition.viewTransition = void 0;\n if (currentTransition === mostRecentTransition) mostRecentTransition = void 0;\n if (currentNavigation === mostRecentNavigation) mostRecentNavigation = void 0;\n document.documentElement.removeAttribute(DIRECTION_ATTR);\n document.documentElement.removeAttribute(OLD_NEW_ATTR);\n });\n try {\n await currentTransition.viewTransition.updateCallbackDone;\n } catch (e) {\n const err = e;\n console.log(\"[astro]\", err.name, err.message, err.stack);\n }\n}\nlet navigateOnServerWarned = false;\nasync function navigate(href, options) {\n if (inBrowser === false) {\n if (!navigateOnServerWarned) {\n const warning = new Error(\n \"The view transitions client API was called during a server side render. This may be unintentional as the navigate() function is expected to be called in response to user interactions. Please make sure that your usage is correct.\"\n );\n warning.name = \"Warning\";\n console.warn(warning);\n navigateOnServerWarned = true;\n }\n return;\n }\n await transition(\"forward\", originalLocation, new URL(href, location.href), options ?? {});\n}\nfunction onPopState(ev) {\n if (!transitionEnabledOnThisPage() && ev.state) {\n location.reload();\n return;\n }\n if (ev.state === null) {\n return;\n }\n const state = history.state;\n const nextIndex = state.index;\n const direction = nextIndex > currentHistoryIndex ? \"forward\" : \"back\";\n currentHistoryIndex = nextIndex;\n transition(direction, originalLocation, new URL(location.href), {}, state);\n}\nconst onScrollEnd = () => {\n if (history.state && (scrollX !== history.state.scrollX || scrollY !== history.state.scrollY)) {\n updateScrollPosition({ scrollX, scrollY });\n }\n};\nif (inBrowser) {\n if (supportsViewTransitions || getFallback() !== \"none\") {\n originalLocation = new URL(location.href);\n addEventListener(\"popstate\", onPopState);\n addEventListener(\"load\", onPageLoad);\n if (\"onscrollend\" in window) addEventListener(\"scrollend\", onScrollEnd);\n else {\n let intervalId, lastY, lastX, lastIndex;\n const scrollInterval = () => {\n if (lastIndex !== history.state?.index) {\n clearInterval(intervalId);\n intervalId = void 0;\n return;\n }\n if (lastY === scrollY && lastX === scrollX) {\n clearInterval(intervalId);\n intervalId = void 0;\n onScrollEnd();\n return;\n } else {\n lastY = scrollY, lastX = scrollX;\n }\n };\n addEventListener(\n \"scroll\",\n () => {\n if (intervalId !== void 0) return;\n lastIndex = history.state.index, lastY = scrollY, lastX = scrollX;\n intervalId = window.setInterval(scrollInterval, 50);\n },\n { passive: true }\n );\n }\n }\n for (const script of document.scripts) {\n script.dataset.astroExec = \"\";\n }\n}\nasync function prepareForClientOnlyComponents(newDocument, toLocation, signal) {\n if (newDocument.body.querySelector(`astro-island[client='only']`)) {\n const nextPage = document.createElement(\"iframe\");\n nextPage.src = toLocation.href;\n nextPage.style.display = \"none\";\n document.body.append(nextPage);\n nextPage.contentWindow.console = Object.keys(console).reduce((acc, key) => {\n acc[key] = () => {\n };\n return acc;\n }, {});\n await hydrationDone(nextPage);\n const nextHead = nextPage.contentDocument?.head;\n if (nextHead) {\n const viteIds = [...nextHead.querySelectorAll(`style[${VITE_ID}]`)].map(\n (style) => style.getAttribute(VITE_ID)\n );\n viteIds.forEach((id) => {\n const style = nextHead.querySelector(`style[${VITE_ID}=\"${id}\"]`);\n if (style && !newDocument.head.querySelector(`style[${VITE_ID}=\"${id}\"]`)) {\n newDocument.head.appendChild(style.cloneNode(true));\n }\n });\n }\n async function hydrationDone(loadingPage) {\n if (!signal.aborted) {\n await new Promise(\n (r) => loadingPage.contentWindow?.addEventListener(\"load\", r, { once: true })\n );\n }\n return new Promise(async (r) => {\n for (let count = 0; count <= 20; ++count) {\n if (signal.aborted) break;\n if (!loadingPage.contentDocument.body.querySelector(\"astro-island[ssr]\")) break;\n await new Promise((r2) => setTimeout(r2, 50));\n }\n r();\n });\n }\n }\n}\nexport {\n getFallback,\n navigate,\n supportsViewTransitions,\n transitionEnabledOnThisPage,\n updateScrollPosition\n};\n"],"names":["PERSIST_ATTR","deselectScripts","doc","s1","s2","swapRootAttributes","html","astroAttributes","name","value","swapHeadElements","el","newEl","persistedHeadElement","swapBodyElement","newElement","oldElement","id","shouldCopyProps","saveFocus","activeElement","start","end","restoreFocus","newDoc","href","persistProps","swap","restoreFocusFunction","TRANSITION_BEFORE_PREPARATION","TRANSITION_AFTER_PREPARATION","TRANSITION_BEFORE_SWAP","TRANSITION_AFTER_SWAP","triggerEvent","BeforeEvent","type","eventInitDict","from","to","direction","navigationType","sourceElement","info","newDocument","signal","TransitionBeforePreparationEvent","formData","loader","TransitionBeforeSwapEvent","afterPreparation","viewTransition","doPreparation","defaultLoader","event","updateScrollPosition","doSwap","pushState","replaceState","positions","supportsViewTransitions","transitionEnabledOnThisPage","samePage","thisLocation","otherLocation","mostRecentNavigation","mostRecentTransition","originalLocation","onPageLoad","announce","div","title","DIRECTION_ATTR","OLD_NEW_ATTR","parser","currentHistoryIndex","fetchHTML","init","res","mediaType","getFallback","runScripts","wait","script","newScript","attr","p","r","moveToLocation","options","pageTitleForBrowserHistory","historyState","intraPage","targetPageTitle","scrolledToTop","current","savedState","preloadStyleLinks","links","c","resolve","evName","updateDOM","preparationEvent","currentTransition","fallback","animate","phase","isInfinite","animation","effect","currentAnimations","newAnimations","a","swapEvent","abortAndRecreateMostRecentNavigation","transition","currentNavigation","prepEvent","form","response","redirectedTo","abortAndRecreateMostRecentTransition","updateDone","e","err","navigate","onPopState","ev","state","nextIndex","onScrollEnd","intervalId","lastY","lastX","lastIndex","scrollInterval"],"mappings":"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","x_google_ignoreList":[0,1,2]} \ No newline at end of file diff --git a/Target/_astro/ViewTransitions.astro_astro_type_script_index_0_lang.Bvzvg9jW.js b/Target/_astro/ViewTransitions.astro_astro_type_script_index_0_lang.DSSDe5pU.js similarity index 100% rename from Target/_astro/ViewTransitions.astro_astro_type_script_index_0_lang.Bvzvg9jW.js rename to Target/_astro/ViewTransitions.astro_astro_type_script_index_0_lang.DSSDe5pU.js diff --git a/Target/_astro/ViewTransitions.astro_astro_type_script_index_0_lang.DSSDe5pU.js.map b/Target/_astro/ViewTransitions.astro_astro_type_script_index_0_lang.DSSDe5pU.js.map new file mode 100644 index 00000000..b8a01032 --- /dev/null +++ b/Target/_astro/ViewTransitions.astro_astro_type_script_index_0_lang.DSSDe5pU.js.map @@ -0,0 +1 @@ +{"version":3,"file":"ViewTransitions.astro_astro_type_script_index_0_lang.DSSDe5pU.js","sources":["../../../../../../node_modules/astro/dist/transitions/swap-functions.js","../../../../../../node_modules/astro/dist/transitions/events.js","../../../../../../node_modules/astro/dist/transitions/router.js"],"sourcesContent":["const PERSIST_ATTR = \"data-astro-transition-persist\";\nfunction deselectScripts(doc) {\n for (const s1 of document.scripts) {\n for (const s2 of doc.scripts) {\n if (\n // Check if the script should be rerun regardless of it being the same\n !s2.hasAttribute(\"data-astro-rerun\") && // Inline\n (!s1.src && s1.textContent === s2.textContent || // External\n s1.src && s1.type === s2.type && s1.src === s2.src)\n ) {\n s2.dataset.astroExec = \"\";\n break;\n }\n }\n }\n}\nfunction swapRootAttributes(doc) {\n const html = document.documentElement;\n const astroAttributes = [...html.attributes].filter(\n ({ name }) => (html.removeAttribute(name), name.startsWith(\"data-astro-\"))\n );\n [...doc.documentElement.attributes, ...astroAttributes].forEach(\n ({ name, value }) => html.setAttribute(name, value)\n );\n}\nfunction swapHeadElements(doc) {\n for (const el of Array.from(document.head.children)) {\n const newEl = persistedHeadElement(el, doc);\n if (newEl) {\n newEl.remove();\n } else {\n el.remove();\n }\n }\n document.head.append(...doc.head.children);\n}\nfunction swapBodyElement(newElement, oldElement) {\n oldElement.replaceWith(newElement);\n for (const el of oldElement.querySelectorAll(`[${PERSIST_ATTR}]`)) {\n const id = el.getAttribute(PERSIST_ATTR);\n const newEl = newElement.querySelector(`[${PERSIST_ATTR}=\"${id}\"]`);\n if (newEl) {\n newEl.replaceWith(el);\n if (newEl.localName === \"astro-island\" && shouldCopyProps(el)) {\n el.setAttribute(\"ssr\", \"\");\n el.setAttribute(\"props\", newEl.getAttribute(\"props\"));\n }\n }\n }\n}\nconst saveFocus = () => {\n const activeElement = document.activeElement;\n if (activeElement?.closest(`[${PERSIST_ATTR}]`)) {\n if (activeElement instanceof HTMLInputElement || activeElement instanceof HTMLTextAreaElement) {\n const start = activeElement.selectionStart;\n const end = activeElement.selectionEnd;\n return () => restoreFocus({ activeElement, start, end });\n }\n return () => restoreFocus({ activeElement });\n } else {\n return () => restoreFocus({ activeElement: null });\n }\n};\nconst restoreFocus = ({ activeElement, start, end }) => {\n if (activeElement) {\n activeElement.focus();\n if (activeElement instanceof HTMLInputElement || activeElement instanceof HTMLTextAreaElement) {\n if (typeof start === \"number\") activeElement.selectionStart = start;\n if (typeof end === \"number\") activeElement.selectionEnd = end;\n }\n }\n};\nconst persistedHeadElement = (el, newDoc) => {\n const id = el.getAttribute(PERSIST_ATTR);\n const newEl = id && newDoc.head.querySelector(`[${PERSIST_ATTR}=\"${id}\"]`);\n if (newEl) {\n return newEl;\n }\n if (el.matches(\"link[rel=stylesheet]\")) {\n const href = el.getAttribute(\"href\");\n return newDoc.head.querySelector(`link[rel=stylesheet][href=\"${href}\"]`);\n }\n return null;\n};\nconst shouldCopyProps = (el) => {\n const persistProps = el.dataset.astroTransitionPersistProps;\n return persistProps == null || persistProps === \"false\";\n};\nconst swap = (doc) => {\n deselectScripts(doc);\n swapRootAttributes(doc);\n swapHeadElements(doc);\n const restoreFocusFunction = saveFocus();\n swapBodyElement(doc.body, document.body);\n restoreFocusFunction();\n};\nexport {\n deselectScripts,\n restoreFocus,\n saveFocus,\n swap,\n swapBodyElement,\n swapHeadElements,\n swapRootAttributes\n};\n","import { updateScrollPosition } from \"./router.js\";\nimport { swap } from \"./swap-functions.js\";\nconst TRANSITION_BEFORE_PREPARATION = \"astro:before-preparation\";\nconst TRANSITION_AFTER_PREPARATION = \"astro:after-preparation\";\nconst TRANSITION_BEFORE_SWAP = \"astro:before-swap\";\nconst TRANSITION_AFTER_SWAP = \"astro:after-swap\";\nconst TRANSITION_PAGE_LOAD = \"astro:page-load\";\nconst triggerEvent = (name) => document.dispatchEvent(new Event(name));\nconst onPageLoad = () => triggerEvent(TRANSITION_PAGE_LOAD);\nclass BeforeEvent extends Event {\n from;\n to;\n direction;\n navigationType;\n sourceElement;\n info;\n newDocument;\n signal;\n constructor(type, eventInitDict, from, to, direction, navigationType, sourceElement, info, newDocument, signal) {\n super(type, eventInitDict);\n this.from = from;\n this.to = to;\n this.direction = direction;\n this.navigationType = navigationType;\n this.sourceElement = sourceElement;\n this.info = info;\n this.newDocument = newDocument;\n this.signal = signal;\n Object.defineProperties(this, {\n from: { enumerable: true },\n to: { enumerable: true, writable: true },\n direction: { enumerable: true, writable: true },\n navigationType: { enumerable: true },\n sourceElement: { enumerable: true },\n info: { enumerable: true },\n newDocument: { enumerable: true, writable: true },\n signal: { enumerable: true }\n });\n }\n}\nconst isTransitionBeforePreparationEvent = (value) => value.type === TRANSITION_BEFORE_PREPARATION;\nclass TransitionBeforePreparationEvent extends BeforeEvent {\n formData;\n loader;\n constructor(from, to, direction, navigationType, sourceElement, info, newDocument, signal, formData, loader) {\n super(\n TRANSITION_BEFORE_PREPARATION,\n { cancelable: true },\n from,\n to,\n direction,\n navigationType,\n sourceElement,\n info,\n newDocument,\n signal\n );\n this.formData = formData;\n this.loader = loader.bind(this, this);\n Object.defineProperties(this, {\n formData: { enumerable: true },\n loader: { enumerable: true, writable: true }\n });\n }\n}\nconst isTransitionBeforeSwapEvent = (value) => value.type === TRANSITION_BEFORE_SWAP;\nclass TransitionBeforeSwapEvent extends BeforeEvent {\n direction;\n viewTransition;\n swap;\n constructor(afterPreparation, viewTransition) {\n super(\n TRANSITION_BEFORE_SWAP,\n void 0,\n afterPreparation.from,\n afterPreparation.to,\n afterPreparation.direction,\n afterPreparation.navigationType,\n afterPreparation.sourceElement,\n afterPreparation.info,\n afterPreparation.newDocument,\n afterPreparation.signal\n );\n this.direction = afterPreparation.direction;\n this.viewTransition = viewTransition;\n this.swap = () => swap(this.newDocument);\n Object.defineProperties(this, {\n direction: { enumerable: true },\n viewTransition: { enumerable: true },\n swap: { enumerable: true, writable: true }\n });\n }\n}\nasync function doPreparation(from, to, direction, navigationType, sourceElement, info, signal, formData, defaultLoader) {\n const event = new TransitionBeforePreparationEvent(\n from,\n to,\n direction,\n navigationType,\n sourceElement,\n info,\n window.document,\n signal,\n formData,\n defaultLoader\n );\n if (document.dispatchEvent(event)) {\n await event.loader();\n if (!event.defaultPrevented) {\n triggerEvent(TRANSITION_AFTER_PREPARATION);\n if (event.navigationType !== \"traverse\") {\n updateScrollPosition({ scrollX, scrollY });\n }\n }\n }\n return event;\n}\nfunction doSwap(afterPreparation, viewTransition) {\n const event = new TransitionBeforeSwapEvent(afterPreparation, viewTransition);\n document.dispatchEvent(event);\n event.swap();\n return event;\n}\nexport {\n TRANSITION_AFTER_PREPARATION,\n TRANSITION_AFTER_SWAP,\n TRANSITION_BEFORE_PREPARATION,\n TRANSITION_BEFORE_SWAP,\n TRANSITION_PAGE_LOAD,\n TransitionBeforePreparationEvent,\n TransitionBeforeSwapEvent,\n doPreparation,\n doSwap,\n isTransitionBeforePreparationEvent,\n isTransitionBeforeSwapEvent,\n onPageLoad,\n triggerEvent\n};\n","import { TRANSITION_AFTER_SWAP, doPreparation, doSwap } from \"./events.js\";\nconst inBrowser = import.meta.env.SSR === false;\nconst pushState = inBrowser && history.pushState.bind(history);\nconst replaceState = inBrowser && history.replaceState.bind(history);\nconst updateScrollPosition = (positions) => {\n if (history.state) {\n history.scrollRestoration = \"manual\";\n replaceState({ ...history.state, ...positions }, \"\");\n }\n};\nconst supportsViewTransitions = inBrowser && !!document.startViewTransition;\nconst transitionEnabledOnThisPage = () => inBrowser && !!document.querySelector('[name=\"astro-view-transitions-enabled\"]');\nconst samePage = (thisLocation, otherLocation) => thisLocation.pathname === otherLocation.pathname && thisLocation.search === otherLocation.search;\nlet mostRecentNavigation;\nlet mostRecentTransition;\nlet originalLocation;\nconst triggerEvent = (name) => document.dispatchEvent(new Event(name));\nconst onPageLoad = () => triggerEvent(\"astro:page-load\");\nconst announce = () => {\n let div = document.createElement(\"div\");\n div.setAttribute(\"aria-live\", \"assertive\");\n div.setAttribute(\"aria-atomic\", \"true\");\n div.className = \"astro-route-announcer\";\n document.body.append(div);\n setTimeout(\n () => {\n let title = document.title || document.querySelector(\"h1\")?.textContent || location.pathname;\n div.textContent = title;\n },\n // Much thought went into this magic number; the gist is that screen readers\n // need to see that the element changed and might not do so if it happens\n // too quickly.\n 60\n );\n};\nconst PERSIST_ATTR = \"data-astro-transition-persist\";\nconst DIRECTION_ATTR = \"data-astro-transition\";\nconst OLD_NEW_ATTR = \"data-astro-transition-fallback\";\nconst VITE_ID = \"data-vite-dev-id\";\nlet parser;\nlet currentHistoryIndex = 0;\nif (inBrowser) {\n if (history.state) {\n currentHistoryIndex = history.state.index;\n scrollTo({ left: history.state.scrollX, top: history.state.scrollY });\n } else if (transitionEnabledOnThisPage()) {\n replaceState({ index: currentHistoryIndex, scrollX, scrollY }, \"\");\n history.scrollRestoration = \"manual\";\n }\n}\nasync function fetchHTML(href, init) {\n try {\n const res = await fetch(href, init);\n const contentType = res.headers.get(\"content-type\") ?? \"\";\n const mediaType = contentType.split(\";\", 1)[0].trim();\n if (mediaType !== \"text/html\" && mediaType !== \"application/xhtml+xml\") {\n return null;\n }\n const html = await res.text();\n return {\n html,\n redirected: res.redirected ? res.url : void 0,\n mediaType\n };\n } catch {\n return null;\n }\n}\nfunction getFallback() {\n const el = document.querySelector('[name=\"astro-view-transitions-fallback\"]');\n if (el) {\n return el.getAttribute(\"content\");\n }\n return \"animate\";\n}\nfunction runScripts() {\n let wait = Promise.resolve();\n for (const script of Array.from(document.scripts)) {\n if (script.dataset.astroExec === \"\") continue;\n const type = script.getAttribute(\"type\");\n if (type && type !== \"module\" && type !== \"text/javascript\") continue;\n const newScript = document.createElement(\"script\");\n newScript.innerHTML = script.innerHTML;\n for (const attr of script.attributes) {\n if (attr.name === \"src\") {\n const p = new Promise((r) => {\n newScript.onload = newScript.onerror = r;\n });\n wait = wait.then(() => p);\n }\n newScript.setAttribute(attr.name, attr.value);\n }\n newScript.dataset.astroExec = \"\";\n script.replaceWith(newScript);\n }\n return wait;\n}\nconst moveToLocation = (to, from, options, pageTitleForBrowserHistory, historyState) => {\n const intraPage = samePage(from, to);\n const targetPageTitle = document.title;\n document.title = pageTitleForBrowserHistory;\n let scrolledToTop = false;\n if (to.href !== location.href && !historyState) {\n if (options.history === \"replace\") {\n const current = history.state;\n replaceState(\n {\n ...options.state,\n index: current.index,\n scrollX: current.scrollX,\n scrollY: current.scrollY\n },\n \"\",\n to.href\n );\n } else {\n pushState(\n { ...options.state, index: ++currentHistoryIndex, scrollX: 0, scrollY: 0 },\n \"\",\n to.href\n );\n }\n }\n document.title = targetPageTitle;\n originalLocation = to;\n if (!intraPage) {\n scrollTo({ left: 0, top: 0, behavior: \"instant\" });\n scrolledToTop = true;\n }\n if (historyState) {\n scrollTo(historyState.scrollX, historyState.scrollY);\n } else {\n if (to.hash) {\n history.scrollRestoration = \"auto\";\n const savedState = history.state;\n location.href = to.href;\n if (!history.state) {\n replaceState(savedState, \"\");\n if (intraPage) {\n window.dispatchEvent(new PopStateEvent(\"popstate\"));\n }\n }\n } else {\n if (!scrolledToTop) {\n scrollTo({ left: 0, top: 0, behavior: \"instant\" });\n }\n }\n history.scrollRestoration = \"manual\";\n }\n};\nfunction preloadStyleLinks(newDocument) {\n const links = [];\n for (const el of newDocument.querySelectorAll(\"head link[rel=stylesheet]\")) {\n if (!document.querySelector(\n `[${PERSIST_ATTR}=\"${el.getAttribute(\n PERSIST_ATTR\n )}\"], link[rel=stylesheet][href=\"${el.getAttribute(\"href\")}\"]`\n )) {\n const c = document.createElement(\"link\");\n c.setAttribute(\"rel\", \"preload\");\n c.setAttribute(\"as\", \"style\");\n c.setAttribute(\"href\", el.getAttribute(\"href\"));\n links.push(\n new Promise((resolve) => {\n [\"load\", \"error\"].forEach((evName) => c.addEventListener(evName, resolve));\n document.head.append(c);\n })\n );\n }\n }\n return links;\n}\nasync function updateDOM(preparationEvent, options, currentTransition, historyState, fallback) {\n async function animate(phase) {\n function isInfinite(animation) {\n const effect = animation.effect;\n if (!effect || !(effect instanceof KeyframeEffect) || !effect.target) return false;\n const style = window.getComputedStyle(effect.target, effect.pseudoElement);\n return style.animationIterationCount === \"infinite\";\n }\n const currentAnimations = document.getAnimations();\n document.documentElement.setAttribute(OLD_NEW_ATTR, phase);\n const nextAnimations = document.getAnimations();\n const newAnimations = nextAnimations.filter(\n (a) => !currentAnimations.includes(a) && !isInfinite(a)\n );\n return Promise.allSettled(newAnimations.map((a) => a.finished));\n }\n if (fallback === \"animate\" && !currentTransition.transitionSkipped && !preparationEvent.signal.aborted) {\n try {\n await animate(\"old\");\n } catch {\n }\n }\n const pageTitleForBrowserHistory = document.title;\n const swapEvent = doSwap(preparationEvent, currentTransition.viewTransition);\n moveToLocation(swapEvent.to, swapEvent.from, options, pageTitleForBrowserHistory, historyState);\n triggerEvent(TRANSITION_AFTER_SWAP);\n if (fallback === \"animate\") {\n if (!currentTransition.transitionSkipped && !swapEvent.signal.aborted) {\n animate(\"new\").finally(() => currentTransition.viewTransitionFinished());\n } else {\n currentTransition.viewTransitionFinished();\n }\n }\n}\nfunction abortAndRecreateMostRecentNavigation() {\n mostRecentNavigation?.controller.abort();\n return mostRecentNavigation = {\n controller: new AbortController()\n };\n}\nasync function transition(direction, from, to, options, historyState) {\n const currentNavigation = abortAndRecreateMostRecentNavigation();\n if (!transitionEnabledOnThisPage() || location.origin !== to.origin) {\n if (currentNavigation === mostRecentNavigation) mostRecentNavigation = void 0;\n location.href = to.href;\n return;\n }\n const navigationType = historyState ? \"traverse\" : options.history === \"replace\" ? \"replace\" : \"push\";\n if (navigationType !== \"traverse\") {\n updateScrollPosition({ scrollX, scrollY });\n }\n if (samePage(from, to)) {\n if (direction !== \"back\" && to.hash || direction === \"back\" && from.hash) {\n moveToLocation(to, from, options, document.title, historyState);\n if (currentNavigation === mostRecentNavigation) mostRecentNavigation = void 0;\n return;\n }\n }\n const prepEvent = await doPreparation(\n from,\n to,\n direction,\n navigationType,\n options.sourceElement,\n options.info,\n currentNavigation.controller.signal,\n options.formData,\n defaultLoader\n );\n if (prepEvent.defaultPrevented || prepEvent.signal.aborted) {\n if (currentNavigation === mostRecentNavigation) mostRecentNavigation = void 0;\n if (!prepEvent.signal.aborted) {\n location.href = to.href;\n }\n return;\n }\n async function defaultLoader(preparationEvent) {\n const href = preparationEvent.to.href;\n const init = { signal: preparationEvent.signal };\n if (preparationEvent.formData) {\n init.method = \"POST\";\n const form = preparationEvent.sourceElement instanceof HTMLFormElement ? preparationEvent.sourceElement : preparationEvent.sourceElement instanceof HTMLElement && \"form\" in preparationEvent.sourceElement ? preparationEvent.sourceElement.form : preparationEvent.sourceElement?.closest(\"form\");\n init.body = form?.attributes.getNamedItem(\"enctype\")?.value === \"application/x-www-form-urlencoded\" ? new URLSearchParams(preparationEvent.formData) : preparationEvent.formData;\n }\n const response = await fetchHTML(href, init);\n if (response === null) {\n preparationEvent.preventDefault();\n return;\n }\n if (response.redirected) {\n const redirectedTo = new URL(response.redirected);\n if (redirectedTo.origin !== preparationEvent.to.origin) {\n preparationEvent.preventDefault();\n return;\n }\n preparationEvent.to = redirectedTo;\n }\n parser ??= new DOMParser();\n preparationEvent.newDocument = parser.parseFromString(response.html, response.mediaType);\n preparationEvent.newDocument.querySelectorAll(\"noscript\").forEach((el) => el.remove());\n if (!preparationEvent.newDocument.querySelector('[name=\"astro-view-transitions-enabled\"]') && !preparationEvent.formData) {\n preparationEvent.preventDefault();\n return;\n }\n const links = preloadStyleLinks(preparationEvent.newDocument);\n links.length && !preparationEvent.signal.aborted && await Promise.all(links);\n if (import.meta.env.DEV && !preparationEvent.signal.aborted)\n await prepareForClientOnlyComponents(\n preparationEvent.newDocument,\n preparationEvent.to,\n preparationEvent.signal\n );\n }\n async function abortAndRecreateMostRecentTransition() {\n if (mostRecentTransition) {\n if (mostRecentTransition.viewTransition) {\n try {\n mostRecentTransition.viewTransition.skipTransition();\n } catch {\n }\n try {\n await mostRecentTransition.viewTransition.updateCallbackDone;\n } catch {\n }\n }\n }\n return mostRecentTransition = { transitionSkipped: false };\n }\n const currentTransition = await abortAndRecreateMostRecentTransition();\n if (prepEvent.signal.aborted) {\n if (currentNavigation === mostRecentNavigation) mostRecentNavigation = void 0;\n return;\n }\n document.documentElement.setAttribute(DIRECTION_ATTR, prepEvent.direction);\n if (supportsViewTransitions) {\n currentTransition.viewTransition = document.startViewTransition(\n async () => await updateDOM(prepEvent, options, currentTransition, historyState)\n );\n } else {\n const updateDone = (async () => {\n await Promise.resolve();\n await updateDOM(prepEvent, options, currentTransition, historyState, getFallback());\n })();\n currentTransition.viewTransition = {\n updateCallbackDone: updateDone,\n // this is about correct\n ready: updateDone,\n // good enough\n // Finished promise could have been done better: finished rejects iff updateDone does.\n // Our simulation always resolves, never rejects.\n finished: new Promise((r) => currentTransition.viewTransitionFinished = r),\n // see end of updateDOM\n skipTransition: () => {\n currentTransition.transitionSkipped = true;\n document.documentElement.removeAttribute(OLD_NEW_ATTR);\n }\n };\n }\n currentTransition.viewTransition.updateCallbackDone.finally(async () => {\n await runScripts();\n onPageLoad();\n announce();\n });\n currentTransition.viewTransition.finished.finally(() => {\n currentTransition.viewTransition = void 0;\n if (currentTransition === mostRecentTransition) mostRecentTransition = void 0;\n if (currentNavigation === mostRecentNavigation) mostRecentNavigation = void 0;\n document.documentElement.removeAttribute(DIRECTION_ATTR);\n document.documentElement.removeAttribute(OLD_NEW_ATTR);\n });\n try {\n await currentTransition.viewTransition.updateCallbackDone;\n } catch (e) {\n const err = e;\n console.log(\"[astro]\", err.name, err.message, err.stack);\n }\n}\nlet navigateOnServerWarned = false;\nasync function navigate(href, options) {\n if (inBrowser === false) {\n if (!navigateOnServerWarned) {\n const warning = new Error(\n \"The view transitions client API was called during a server side render. This may be unintentional as the navigate() function is expected to be called in response to user interactions. Please make sure that your usage is correct.\"\n );\n warning.name = \"Warning\";\n console.warn(warning);\n navigateOnServerWarned = true;\n }\n return;\n }\n await transition(\"forward\", originalLocation, new URL(href, location.href), options ?? {});\n}\nfunction onPopState(ev) {\n if (!transitionEnabledOnThisPage() && ev.state) {\n location.reload();\n return;\n }\n if (ev.state === null) {\n return;\n }\n const state = history.state;\n const nextIndex = state.index;\n const direction = nextIndex > currentHistoryIndex ? \"forward\" : \"back\";\n currentHistoryIndex = nextIndex;\n transition(direction, originalLocation, new URL(location.href), {}, state);\n}\nconst onScrollEnd = () => {\n if (history.state && (scrollX !== history.state.scrollX || scrollY !== history.state.scrollY)) {\n updateScrollPosition({ scrollX, scrollY });\n }\n};\nif (inBrowser) {\n if (supportsViewTransitions || getFallback() !== \"none\") {\n originalLocation = new URL(location.href);\n addEventListener(\"popstate\", onPopState);\n addEventListener(\"load\", onPageLoad);\n if (\"onscrollend\" in window) addEventListener(\"scrollend\", onScrollEnd);\n else {\n let intervalId, lastY, lastX, lastIndex;\n const scrollInterval = () => {\n if (lastIndex !== history.state?.index) {\n clearInterval(intervalId);\n intervalId = void 0;\n return;\n }\n if (lastY === scrollY && lastX === scrollX) {\n clearInterval(intervalId);\n intervalId = void 0;\n onScrollEnd();\n return;\n } else {\n lastY = scrollY, lastX = scrollX;\n }\n };\n addEventListener(\n \"scroll\",\n () => {\n if (intervalId !== void 0) return;\n lastIndex = history.state.index, lastY = scrollY, lastX = scrollX;\n intervalId = window.setInterval(scrollInterval, 50);\n },\n { passive: true }\n );\n }\n }\n for (const script of document.scripts) {\n script.dataset.astroExec = \"\";\n }\n}\nasync function prepareForClientOnlyComponents(newDocument, toLocation, signal) {\n if (newDocument.body.querySelector(`astro-island[client='only']`)) {\n const nextPage = document.createElement(\"iframe\");\n nextPage.src = toLocation.href;\n nextPage.style.display = \"none\";\n document.body.append(nextPage);\n nextPage.contentWindow.console = Object.keys(console).reduce((acc, key) => {\n acc[key] = () => {\n };\n return acc;\n }, {});\n await hydrationDone(nextPage);\n const nextHead = nextPage.contentDocument?.head;\n if (nextHead) {\n const viteIds = [...nextHead.querySelectorAll(`style[${VITE_ID}]`)].map(\n (style) => style.getAttribute(VITE_ID)\n );\n viteIds.forEach((id) => {\n const style = nextHead.querySelector(`style[${VITE_ID}=\"${id}\"]`);\n if (style && !newDocument.head.querySelector(`style[${VITE_ID}=\"${id}\"]`)) {\n newDocument.head.appendChild(style.cloneNode(true));\n }\n });\n }\n async function hydrationDone(loadingPage) {\n if (!signal.aborted) {\n await new Promise(\n (r) => loadingPage.contentWindow?.addEventListener(\"load\", r, { once: true })\n );\n }\n return new Promise(async (r) => {\n for (let count = 0; count <= 20; ++count) {\n if (signal.aborted) break;\n if (!loadingPage.contentDocument.body.querySelector(\"astro-island[ssr]\")) break;\n await new Promise((r2) => setTimeout(r2, 50));\n }\n r();\n });\n }\n }\n}\nexport {\n getFallback,\n navigate,\n supportsViewTransitions,\n transitionEnabledOnThisPage,\n updateScrollPosition\n};\n"],"names":["PERSIST_ATTR","deselectScripts","doc","s1","s2","swapRootAttributes","html","astroAttributes","name","value","swapHeadElements","el","newEl","persistedHeadElement","swapBodyElement","newElement","oldElement","id","shouldCopyProps","saveFocus","activeElement","start","end","restoreFocus","newDoc","href","persistProps","swap","restoreFocusFunction","TRANSITION_BEFORE_PREPARATION","TRANSITION_AFTER_PREPARATION","TRANSITION_BEFORE_SWAP","TRANSITION_AFTER_SWAP","triggerEvent","BeforeEvent","type","eventInitDict","from","to","direction","navigationType","sourceElement","info","newDocument","signal","TransitionBeforePreparationEvent","formData","loader","TransitionBeforeSwapEvent","afterPreparation","viewTransition","doPreparation","defaultLoader","event","updateScrollPosition","doSwap","pushState","replaceState","positions","supportsViewTransitions","transitionEnabledOnThisPage","samePage","thisLocation","otherLocation","mostRecentNavigation","mostRecentTransition","originalLocation","onPageLoad","announce","div","title","DIRECTION_ATTR","OLD_NEW_ATTR","parser","currentHistoryIndex","fetchHTML","init","res","mediaType","getFallback","runScripts","wait","script","newScript","attr","p","r","moveToLocation","options","pageTitleForBrowserHistory","historyState","intraPage","targetPageTitle","scrolledToTop","current","savedState","preloadStyleLinks","links","c","resolve","evName","updateDOM","preparationEvent","currentTransition","fallback","animate","phase","isInfinite","animation","effect","currentAnimations","newAnimations","a","swapEvent","abortAndRecreateMostRecentNavigation","transition","currentNavigation","prepEvent","form","response","redirectedTo","abortAndRecreateMostRecentTransition","updateDone","e","err","navigate","onPopState","ev","state","nextIndex","onScrollEnd","intervalId","lastY","lastX","lastIndex","scrollInterval"],"mappings":"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","x_google_ignoreList":[0,1,2]} \ No newline at end of file diff --git a/Target/_astro/index.Pa49pp0M.css b/Target/_astro/index.Pa49pp0M.css new file mode 100644 index 00000000..1f04b210 --- /dev/null +++ b/Target/_astro/index.Pa49pp0M.css @@ -0,0 +1 @@ +/*! tailwindcss v3.4.10 | MIT License | https://tailwindcss.com*/*,:after,:before{border:0 solid #e5e7eb;box-sizing:border-box;--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }:after,:before{--tw-content:""}:host,html{line-height:1.5;-webkit-text-size-adjust:100%;font-family:Albert Sans,ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-feature-settings:normal;font-variation-settings:normal;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-tap-highlight-color:transparent}body{line-height:inherit;margin:0}hr{border-top-width:1px;color:inherit;height:0}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-size:1em;font-variation-settings:normal}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{border-collapse:collapse;border-color:inherit;text-indent:0}button,input,optgroup,select,textarea{color:inherit;font-family:inherit;font-feature-settings:inherit;font-size:100%;font-variation-settings:inherit;font-weight:inherit;letter-spacing:inherit;line-height:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{color:#6b7280;opacity:1}input::placeholder,textarea::placeholder{color:#6b7280;opacity:1}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{height:auto;max-width:100%}[hidden]{display:none}[multiple],[type=date],[type=datetime-local],[type=email],[type=month],[type=number],[type=password],[type=search],[type=tel],[type=text],[type=time],[type=url],[type=week],input:where(:not([type])),select,textarea{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:#fff;border-color:#6b7280;border-radius:0;border-width:1px;font-size:1rem;line-height:1.5rem;padding:.5rem .75rem;--tw-shadow:0 0 #0000}[multiple]:focus,[type=date]:focus,[type=datetime-local]:focus,[type=email]:focus,[type=month]:focus,[type=number]:focus,[type=password]:focus,[type=search]:focus,[type=tel]:focus,[type=text]:focus,[type=time]:focus,[type=url]:focus,[type=week]:focus,input:where(:not([type])):focus,select:focus,textarea:focus{outline:2px solid transparent;outline-offset:2px;--tw-ring-inset:var(--tw-empty, );--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#2563eb;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);border-color:#2563eb;box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-date-and-time-value{min-height:1.5em;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit,::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-meridiem-field,::-webkit-datetime-edit-millisecond-field,::-webkit-datetime-edit-minute-field,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-second-field,::-webkit-datetime-edit-year-field{padding-bottom:0;padding-top:0}select{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3E%3Cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m6 8 4 4 4-4'/%3E%3C/svg%3E");background-position:right .5rem center;background-repeat:no-repeat;background-size:1.5em 1.5em;padding-right:2.5rem;-webkit-print-color-adjust:exact;print-color-adjust:exact}[multiple],[size]:where(select:not([size="1"])){background-image:none;background-position:0 0;background-repeat:unset;background-size:initial;padding-right:.75rem;-webkit-print-color-adjust:unset;print-color-adjust:unset}[type=checkbox],[type=radio]{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:#fff;background-origin:border-box;border-color:#6b7280;border-width:1px;color:#2563eb;display:inline-block;flex-shrink:0;height:1rem;padding:0;-webkit-print-color-adjust:exact;print-color-adjust:exact;-webkit-user-select:none;-moz-user-select:none;user-select:none;vertical-align:middle;width:1rem;--tw-shadow:0 0 #0000}[type=checkbox]{border-radius:0}[type=radio]{border-radius:100%}[type=checkbox]:focus,[type=radio]:focus{outline:2px solid transparent;outline-offset:2px;--tw-ring-inset:var(--tw-empty, );--tw-ring-offset-width:2px;--tw-ring-offset-color:#fff;--tw-ring-color:#2563eb;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}[type=checkbox]:checked,[type=radio]:checked{background-color:currentColor;background-position:50%;background-repeat:no-repeat;background-size:100% 100%;border-color:transparent}[type=checkbox]:checked{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 16 16'%3E%3Cpath d='M12.207 4.793a1 1 0 0 1 0 1.414l-5 5a1 1 0 0 1-1.414 0l-2-2a1 1 0 0 1 1.414-1.414L6.5 9.086l4.293-4.293a1 1 0 0 1 1.414 0'/%3E%3C/svg%3E")}[type=radio]:checked{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 16 16'%3E%3Ccircle cx='8' cy='8' r='3'/%3E%3C/svg%3E")}[type=checkbox]:checked:focus,[type=checkbox]:checked:hover,[type=radio]:checked:focus,[type=radio]:checked:hover{background-color:currentColor;border-color:transparent}[type=checkbox]:indeterminate{background-color:currentColor;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 16 16'%3E%3Cpath stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M4 8h8'/%3E%3C/svg%3E");background-position:50%;background-repeat:no-repeat;background-size:100% 100%;border-color:transparent}[type=checkbox]:indeterminate:focus,[type=checkbox]:indeterminate:hover{background-color:currentColor;border-color:transparent}[type=file]{background:unset;border-color:inherit;border-radius:0;border-width:0;font-size:unset;line-height:inherit;padding:0}[type=file]:focus{outline:1px auto -webkit-focus-ring-color}:root{--background-light:#fff;--background-dark:#000}::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }.grow{flex-grow:1}@media (forced-colors:active){[type=checkbox]:checked,[type=radio]:checked{-webkit-appearance:auto;-moz-appearance:auto;appearance:auto}[type=checkbox]:indeterminate{-webkit-appearance:auto;-moz-appearance:auto;appearance:auto}}.astro-route-announcer{left:0;position:absolute;top:0;clip:rect(0 0 0 0);clip-path:inset(50%);height:1px;overflow:hidden;white-space:nowrap;width:1px}html{-webkit-tap-highlight-color:transparent}body,html{height:100%;width:100%}body{display:flex;flex-direction:column;flex-grow:1;--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity));--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction);--tw-text-opacity:1;color:rgb(0 0 0/var(--tw-text-opacity));-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-variant-ligatures:no-common-ligatures;--swup-overlay-theme-color:#fff;--swup-overlay-theme-duration:.21s;--swup-overlay-theme-delay:0s;--swup-overlay-theme-scale:.21;--swup-overlay-theme-skew:0deg}::-moz-selection{text-shadow:none;--tw-bg-opacity:1;background-color:rgb(251 191 36/var(--tw-bg-opacity));--tw-text-opacity:1;color:rgb(0 0 0/var(--tw-text-opacity))}::selection{text-shadow:none;--tw-bg-opacity:1;background-color:rgb(251 191 36/var(--tw-bg-opacity));--tw-text-opacity:1;color:rgb(0 0 0/var(--tw-text-opacity))}img{display:inline-block;outline:2px solid transparent;outline-offset:2px;-webkit-user-select:none;-moz-user-select:none;user-select:none;vertical-align:top}@media (min-width:640px){body{-webkit-font-smoothing:auto;-moz-osx-font-smoothing:auto}}@media (prefers-color-scheme:dark){body{--tw-bg-opacity:1;background-color:rgb(0 0 0/var(--tw-bg-opacity));--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity));--swup-overlay-theme-color:#000}::-moz-selection{--tw-bg-opacity:1;background-color:rgb(251 146 60/var(--tw-bg-opacity));--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}::selection{--tw-bg-opacity:1;background-color:rgb(251 146 60/var(--tw-bg-opacity));--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}} diff --git a/Target/_astro/index.b4Ud5wVZ.css b/Target/_astro/index.b4Ud5wVZ.css deleted file mode 100644 index 98617527..00000000 --- a/Target/_astro/index.b4Ud5wVZ.css +++ /dev/null @@ -1 +0,0 @@ -/*! tailwindcss v3.4.6 | MIT License | https://tailwindcss.com*/*,:after,:before{border:0 solid #e5e7eb;box-sizing:border-box;--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }:after,:before{--tw-content:""}:host,html{line-height:1.5;-webkit-text-size-adjust:100%;font-family:Albert Sans,ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-feature-settings:normal;font-variation-settings:normal;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-tap-highlight-color:transparent}body{line-height:inherit;margin:0}hr{border-top-width:1px;color:inherit;height:0}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-size:1em;font-variation-settings:normal}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{border-collapse:collapse;border-color:inherit;text-indent:0}button,input,optgroup,select,textarea{color:inherit;font-family:inherit;font-feature-settings:inherit;font-size:100%;font-variation-settings:inherit;font-weight:inherit;letter-spacing:inherit;line-height:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{color:#6b7280;opacity:1}input::placeholder,textarea::placeholder{color:#6b7280;opacity:1}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{height:auto;max-width:100%}[hidden]{display:none}[multiple],[type=date],[type=datetime-local],[type=email],[type=month],[type=number],[type=password],[type=search],[type=tel],[type=text],[type=time],[type=url],[type=week],input:where(:not([type])),select,textarea{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:#fff;border-color:#6b7280;border-radius:0;border-width:1px;font-size:1rem;line-height:1.5rem;padding:.5rem .75rem;--tw-shadow:0 0 #0000}[multiple]:focus,[type=date]:focus,[type=datetime-local]:focus,[type=email]:focus,[type=month]:focus,[type=number]:focus,[type=password]:focus,[type=search]:focus,[type=tel]:focus,[type=text]:focus,[type=time]:focus,[type=url]:focus,[type=week]:focus,input:where(:not([type])):focus,select:focus,textarea:focus{outline:2px solid transparent;outline-offset:2px;--tw-ring-inset:var(--tw-empty, );--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#2563eb;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);border-color:#2563eb;box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-date-and-time-value{min-height:1.5em;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit,::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-meridiem-field,::-webkit-datetime-edit-millisecond-field,::-webkit-datetime-edit-minute-field,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-second-field,::-webkit-datetime-edit-year-field{padding-bottom:0;padding-top:0}select{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3E%3Cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m6 8 4 4 4-4'/%3E%3C/svg%3E");background-position:right .5rem center;background-repeat:no-repeat;background-size:1.5em 1.5em;padding-right:2.5rem;-webkit-print-color-adjust:exact;print-color-adjust:exact}[multiple],[size]:where(select:not([size="1"])){background-image:none;background-position:0 0;background-repeat:unset;background-size:initial;padding-right:.75rem;-webkit-print-color-adjust:unset;print-color-adjust:unset}[type=checkbox],[type=radio]{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:#fff;background-origin:border-box;border-color:#6b7280;border-width:1px;color:#2563eb;display:inline-block;flex-shrink:0;height:1rem;padding:0;-webkit-print-color-adjust:exact;print-color-adjust:exact;-webkit-user-select:none;-moz-user-select:none;user-select:none;vertical-align:middle;width:1rem;--tw-shadow:0 0 #0000}[type=checkbox]{border-radius:0}[type=radio]{border-radius:100%}[type=checkbox]:focus,[type=radio]:focus{outline:2px solid transparent;outline-offset:2px;--tw-ring-inset:var(--tw-empty, );--tw-ring-offset-width:2px;--tw-ring-offset-color:#fff;--tw-ring-color:#2563eb;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}[type=checkbox]:checked,[type=radio]:checked{background-color:currentColor;background-position:50%;background-repeat:no-repeat;background-size:100% 100%;border-color:transparent}[type=checkbox]:checked{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 16 16'%3E%3Cpath d='M12.207 4.793a1 1 0 0 1 0 1.414l-5 5a1 1 0 0 1-1.414 0l-2-2a1 1 0 0 1 1.414-1.414L6.5 9.086l4.293-4.293a1 1 0 0 1 1.414 0'/%3E%3C/svg%3E")}[type=radio]:checked{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 16 16'%3E%3Ccircle cx='8' cy='8' r='3'/%3E%3C/svg%3E")}[type=checkbox]:checked:focus,[type=checkbox]:checked:hover,[type=radio]:checked:focus,[type=radio]:checked:hover{background-color:currentColor;border-color:transparent}[type=checkbox]:indeterminate{background-color:currentColor;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 16 16'%3E%3Cpath stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M4 8h8'/%3E%3C/svg%3E");background-position:50%;background-repeat:no-repeat;background-size:100% 100%;border-color:transparent}[type=checkbox]:indeterminate:focus,[type=checkbox]:indeterminate:hover{background-color:currentColor;border-color:transparent}[type=file]{background:unset;border-color:inherit;border-radius:0;border-width:0;font-size:unset;line-height:inherit;padding:0}[type=file]:focus{outline:1px auto -webkit-focus-ring-color}:root{--background-light:#fff;--background-dark:#000}::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }.grow{flex-grow:1}@media (forced-colors:active){[type=checkbox]:checked,[type=radio]:checked{-webkit-appearance:auto;-moz-appearance:auto;appearance:auto}[type=checkbox]:indeterminate{-webkit-appearance:auto;-moz-appearance:auto;appearance:auto}}.astro-route-announcer{left:0;position:absolute;top:0;clip:rect(0 0 0 0);clip-path:inset(50%);height:1px;overflow:hidden;white-space:nowrap;width:1px}html{-webkit-tap-highlight-color:transparent}body,html{height:100%;width:100%}body{display:flex;flex-direction:column;flex-grow:1;--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity));--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction);--tw-text-opacity:1;color:rgb(0 0 0/var(--tw-text-opacity));-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-variant-ligatures:no-common-ligatures;--swup-overlay-theme-color:#fff;--swup-overlay-theme-duration:.21s;--swup-overlay-theme-delay:0s;--swup-overlay-theme-scale:.21;--swup-overlay-theme-skew:0deg}::-moz-selection{text-shadow:none;--tw-bg-opacity:1;background-color:rgb(251 191 36/var(--tw-bg-opacity));--tw-text-opacity:1;color:rgb(0 0 0/var(--tw-text-opacity))}::selection{text-shadow:none;--tw-bg-opacity:1;background-color:rgb(251 191 36/var(--tw-bg-opacity));--tw-text-opacity:1;color:rgb(0 0 0/var(--tw-text-opacity))}img{display:inline-block;outline:2px solid transparent;outline-offset:2px;-webkit-user-select:none;-moz-user-select:none;user-select:none;vertical-align:top}@media (min-width:640px){body{-webkit-font-smoothing:auto;-moz-osx-font-smoothing:auto}}@media (prefers-color-scheme:dark){body{--tw-bg-opacity:1;background-color:rgb(0 0 0/var(--tw-bg-opacity));--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity));--swup-overlay-theme-color:#000}::-moz-selection{--tw-bg-opacity:1;background-color:rgb(251 146 60/var(--tw-bg-opacity));--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}::selection{--tw-bg-opacity:1;background-color:rgb(251 146 60/var(--tw-bg-opacity));--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}} diff --git a/Target/_astro/index.esm.JD-0sKti.js.map b/Target/_astro/index.esm.JD-0sKti.js.map deleted file mode 100644 index f437357c..00000000 --- a/Target/_astro/index.esm.JD-0sKti.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"index.esm.JD-0sKti.js","sources":["../../../../../../node_modules/@firebase/util/dist/index.esm2017.js","../../../../../../node_modules/@firebase/component/dist/esm/index.esm2017.js","../../../../../../node_modules/@firebase/logger/dist/esm/index.esm2017.js","../../../../../../node_modules/idb/build/wrap-idb-value.js","../../../../../../node_modules/idb/build/index.js","../../../../../../node_modules/@firebase/app/dist/esm/index.esm2017.js","../../node_modules/firebase/app/dist/esm/index.esm.js"],"sourcesContent":["/**\r\n * @license\r\n * Copyright 2017 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n/**\r\n * @fileoverview Firebase constants. Some of these (@defines) can be overridden at compile-time.\r\n */\r\nconst CONSTANTS = {\r\n /**\r\n * @define {boolean} Whether this is the client Node.js SDK.\r\n */\r\n NODE_CLIENT: false,\r\n /**\r\n * @define {boolean} Whether this is the Admin Node.js SDK.\r\n */\r\n NODE_ADMIN: false,\r\n /**\r\n * Firebase SDK Version\r\n */\r\n SDK_VERSION: '${JSCORE_VERSION}'\r\n};\n\n/**\r\n * @license\r\n * Copyright 2017 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n/**\r\n * Throws an error if the provided assertion is falsy\r\n */\r\nconst assert = function (assertion, message) {\r\n if (!assertion) {\r\n throw assertionError(message);\r\n }\r\n};\r\n/**\r\n * Returns an Error object suitable for throwing.\r\n */\r\nconst assertionError = function (message) {\r\n return new Error('Firebase Database (' +\r\n CONSTANTS.SDK_VERSION +\r\n ') INTERNAL ASSERT FAILED: ' +\r\n message);\r\n};\n\n/**\r\n * @license\r\n * Copyright 2017 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\nconst stringToByteArray$1 = function (str) {\r\n // TODO(user): Use native implementations if/when available\r\n const out = [];\r\n let p = 0;\r\n for (let i = 0; i < str.length; i++) {\r\n let c = str.charCodeAt(i);\r\n if (c < 128) {\r\n out[p++] = c;\r\n }\r\n else if (c < 2048) {\r\n out[p++] = (c >> 6) | 192;\r\n out[p++] = (c & 63) | 128;\r\n }\r\n else if ((c & 0xfc00) === 0xd800 &&\r\n i + 1 < str.length &&\r\n (str.charCodeAt(i + 1) & 0xfc00) === 0xdc00) {\r\n // Surrogate Pair\r\n c = 0x10000 + ((c & 0x03ff) << 10) + (str.charCodeAt(++i) & 0x03ff);\r\n out[p++] = (c >> 18) | 240;\r\n out[p++] = ((c >> 12) & 63) | 128;\r\n out[p++] = ((c >> 6) & 63) | 128;\r\n out[p++] = (c & 63) | 128;\r\n }\r\n else {\r\n out[p++] = (c >> 12) | 224;\r\n out[p++] = ((c >> 6) & 63) | 128;\r\n out[p++] = (c & 63) | 128;\r\n }\r\n }\r\n return out;\r\n};\r\n/**\r\n * Turns an array of numbers into the string given by the concatenation of the\r\n * characters to which the numbers correspond.\r\n * @param bytes Array of numbers representing characters.\r\n * @return Stringification of the array.\r\n */\r\nconst byteArrayToString = function (bytes) {\r\n // TODO(user): Use native implementations if/when available\r\n const out = [];\r\n let pos = 0, c = 0;\r\n while (pos < bytes.length) {\r\n const c1 = bytes[pos++];\r\n if (c1 < 128) {\r\n out[c++] = String.fromCharCode(c1);\r\n }\r\n else if (c1 > 191 && c1 < 224) {\r\n const c2 = bytes[pos++];\r\n out[c++] = String.fromCharCode(((c1 & 31) << 6) | (c2 & 63));\r\n }\r\n else if (c1 > 239 && c1 < 365) {\r\n // Surrogate Pair\r\n const c2 = bytes[pos++];\r\n const c3 = bytes[pos++];\r\n const c4 = bytes[pos++];\r\n const u = (((c1 & 7) << 18) | ((c2 & 63) << 12) | ((c3 & 63) << 6) | (c4 & 63)) -\r\n 0x10000;\r\n out[c++] = String.fromCharCode(0xd800 + (u >> 10));\r\n out[c++] = String.fromCharCode(0xdc00 + (u & 1023));\r\n }\r\n else {\r\n const c2 = bytes[pos++];\r\n const c3 = bytes[pos++];\r\n out[c++] = String.fromCharCode(((c1 & 15) << 12) | ((c2 & 63) << 6) | (c3 & 63));\r\n }\r\n }\r\n return out.join('');\r\n};\r\n// We define it as an object literal instead of a class because a class compiled down to es5 can't\r\n// be treeshaked. https://github.com/rollup/rollup/issues/1691\r\n// Static lookup maps, lazily populated by init_()\r\nconst base64 = {\r\n /**\r\n * Maps bytes to characters.\r\n */\r\n byteToCharMap_: null,\r\n /**\r\n * Maps characters to bytes.\r\n */\r\n charToByteMap_: null,\r\n /**\r\n * Maps bytes to websafe characters.\r\n * @private\r\n */\r\n byteToCharMapWebSafe_: null,\r\n /**\r\n * Maps websafe characters to bytes.\r\n * @private\r\n */\r\n charToByteMapWebSafe_: null,\r\n /**\r\n * Our default alphabet, shared between\r\n * ENCODED_VALS and ENCODED_VALS_WEBSAFE\r\n */\r\n ENCODED_VALS_BASE: 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' + 'abcdefghijklmnopqrstuvwxyz' + '0123456789',\r\n /**\r\n * Our default alphabet. Value 64 (=) is special; it means \"nothing.\"\r\n */\r\n get ENCODED_VALS() {\r\n return this.ENCODED_VALS_BASE + '+/=';\r\n },\r\n /**\r\n * Our websafe alphabet.\r\n */\r\n get ENCODED_VALS_WEBSAFE() {\r\n return this.ENCODED_VALS_BASE + '-_.';\r\n },\r\n /**\r\n * Whether this browser supports the atob and btoa functions. This extension\r\n * started at Mozilla but is now implemented by many browsers. We use the\r\n * ASSUME_* variables to avoid pulling in the full useragent detection library\r\n * but still allowing the standard per-browser compilations.\r\n *\r\n */\r\n HAS_NATIVE_SUPPORT: typeof atob === 'function',\r\n /**\r\n * Base64-encode an array of bytes.\r\n *\r\n * @param input An array of bytes (numbers with\r\n * value in [0, 255]) to encode.\r\n * @param webSafe Boolean indicating we should use the\r\n * alternative alphabet.\r\n * @return The base64 encoded string.\r\n */\r\n encodeByteArray(input, webSafe) {\r\n if (!Array.isArray(input)) {\r\n throw Error('encodeByteArray takes an array as a parameter');\r\n }\r\n this.init_();\r\n const byteToCharMap = webSafe\r\n ? this.byteToCharMapWebSafe_\r\n : this.byteToCharMap_;\r\n const output = [];\r\n for (let i = 0; i < input.length; i += 3) {\r\n const byte1 = input[i];\r\n const haveByte2 = i + 1 < input.length;\r\n const byte2 = haveByte2 ? input[i + 1] : 0;\r\n const haveByte3 = i + 2 < input.length;\r\n const byte3 = haveByte3 ? input[i + 2] : 0;\r\n const outByte1 = byte1 >> 2;\r\n const outByte2 = ((byte1 & 0x03) << 4) | (byte2 >> 4);\r\n let outByte3 = ((byte2 & 0x0f) << 2) | (byte3 >> 6);\r\n let outByte4 = byte3 & 0x3f;\r\n if (!haveByte3) {\r\n outByte4 = 64;\r\n if (!haveByte2) {\r\n outByte3 = 64;\r\n }\r\n }\r\n output.push(byteToCharMap[outByte1], byteToCharMap[outByte2], byteToCharMap[outByte3], byteToCharMap[outByte4]);\r\n }\r\n return output.join('');\r\n },\r\n /**\r\n * Base64-encode a string.\r\n *\r\n * @param input A string to encode.\r\n * @param webSafe If true, we should use the\r\n * alternative alphabet.\r\n * @return The base64 encoded string.\r\n */\r\n encodeString(input, webSafe) {\r\n // Shortcut for Mozilla browsers that implement\r\n // a native base64 encoder in the form of \"btoa/atob\"\r\n if (this.HAS_NATIVE_SUPPORT && !webSafe) {\r\n return btoa(input);\r\n }\r\n return this.encodeByteArray(stringToByteArray$1(input), webSafe);\r\n },\r\n /**\r\n * Base64-decode a string.\r\n *\r\n * @param input to decode.\r\n * @param webSafe True if we should use the\r\n * alternative alphabet.\r\n * @return string representing the decoded value.\r\n */\r\n decodeString(input, webSafe) {\r\n // Shortcut for Mozilla browsers that implement\r\n // a native base64 encoder in the form of \"btoa/atob\"\r\n if (this.HAS_NATIVE_SUPPORT && !webSafe) {\r\n return atob(input);\r\n }\r\n return byteArrayToString(this.decodeStringToByteArray(input, webSafe));\r\n },\r\n /**\r\n * Base64-decode a string.\r\n *\r\n * In base-64 decoding, groups of four characters are converted into three\r\n * bytes. If the encoder did not apply padding, the input length may not\r\n * be a multiple of 4.\r\n *\r\n * In this case, the last group will have fewer than 4 characters, and\r\n * padding will be inferred. If the group has one or two characters, it decodes\r\n * to one byte. If the group has three characters, it decodes to two bytes.\r\n *\r\n * @param input Input to decode.\r\n * @param webSafe True if we should use the web-safe alphabet.\r\n * @return bytes representing the decoded value.\r\n */\r\n decodeStringToByteArray(input, webSafe) {\r\n this.init_();\r\n const charToByteMap = webSafe\r\n ? this.charToByteMapWebSafe_\r\n : this.charToByteMap_;\r\n const output = [];\r\n for (let i = 0; i < input.length;) {\r\n const byte1 = charToByteMap[input.charAt(i++)];\r\n const haveByte2 = i < input.length;\r\n const byte2 = haveByte2 ? charToByteMap[input.charAt(i)] : 0;\r\n ++i;\r\n const haveByte3 = i < input.length;\r\n const byte3 = haveByte3 ? charToByteMap[input.charAt(i)] : 64;\r\n ++i;\r\n const haveByte4 = i < input.length;\r\n const byte4 = haveByte4 ? charToByteMap[input.charAt(i)] : 64;\r\n ++i;\r\n if (byte1 == null || byte2 == null || byte3 == null || byte4 == null) {\r\n throw new DecodeBase64StringError();\r\n }\r\n const outByte1 = (byte1 << 2) | (byte2 >> 4);\r\n output.push(outByte1);\r\n if (byte3 !== 64) {\r\n const outByte2 = ((byte2 << 4) & 0xf0) | (byte3 >> 2);\r\n output.push(outByte2);\r\n if (byte4 !== 64) {\r\n const outByte3 = ((byte3 << 6) & 0xc0) | byte4;\r\n output.push(outByte3);\r\n }\r\n }\r\n }\r\n return output;\r\n },\r\n /**\r\n * Lazy static initialization function. Called before\r\n * accessing any of the static map variables.\r\n * @private\r\n */\r\n init_() {\r\n if (!this.byteToCharMap_) {\r\n this.byteToCharMap_ = {};\r\n this.charToByteMap_ = {};\r\n this.byteToCharMapWebSafe_ = {};\r\n this.charToByteMapWebSafe_ = {};\r\n // We want quick mappings back and forth, so we precompute two maps.\r\n for (let i = 0; i < this.ENCODED_VALS.length; i++) {\r\n this.byteToCharMap_[i] = this.ENCODED_VALS.charAt(i);\r\n this.charToByteMap_[this.byteToCharMap_[i]] = i;\r\n this.byteToCharMapWebSafe_[i] = this.ENCODED_VALS_WEBSAFE.charAt(i);\r\n this.charToByteMapWebSafe_[this.byteToCharMapWebSafe_[i]] = i;\r\n // Be forgiving when decoding and correctly decode both encodings.\r\n if (i >= this.ENCODED_VALS_BASE.length) {\r\n this.charToByteMap_[this.ENCODED_VALS_WEBSAFE.charAt(i)] = i;\r\n this.charToByteMapWebSafe_[this.ENCODED_VALS.charAt(i)] = i;\r\n }\r\n }\r\n }\r\n }\r\n};\r\n/**\r\n * An error encountered while decoding base64 string.\r\n */\r\nclass DecodeBase64StringError extends Error {\r\n constructor() {\r\n super(...arguments);\r\n this.name = 'DecodeBase64StringError';\r\n }\r\n}\r\n/**\r\n * URL-safe base64 encoding\r\n */\r\nconst base64Encode = function (str) {\r\n const utf8Bytes = stringToByteArray$1(str);\r\n return base64.encodeByteArray(utf8Bytes, true);\r\n};\r\n/**\r\n * URL-safe base64 encoding (without \".\" padding in the end).\r\n * e.g. Used in JSON Web Token (JWT) parts.\r\n */\r\nconst base64urlEncodeWithoutPadding = function (str) {\r\n // Use base64url encoding and remove padding in the end (dot characters).\r\n return base64Encode(str).replace(/\\./g, '');\r\n};\r\n/**\r\n * URL-safe base64 decoding\r\n *\r\n * NOTE: DO NOT use the global atob() function - it does NOT support the\r\n * base64Url variant encoding.\r\n *\r\n * @param str To be decoded\r\n * @return Decoded result, if possible\r\n */\r\nconst base64Decode = function (str) {\r\n try {\r\n return base64.decodeString(str, true);\r\n }\r\n catch (e) {\r\n console.error('base64Decode failed: ', e);\r\n }\r\n return null;\r\n};\n\n/**\r\n * @license\r\n * Copyright 2017 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n/**\r\n * Do a deep-copy of basic JavaScript Objects or Arrays.\r\n */\r\nfunction deepCopy(value) {\r\n return deepExtend(undefined, value);\r\n}\r\n/**\r\n * Copy properties from source to target (recursively allows extension\r\n * of Objects and Arrays). Scalar values in the target are over-written.\r\n * If target is undefined, an object of the appropriate type will be created\r\n * (and returned).\r\n *\r\n * We recursively copy all child properties of plain Objects in the source- so\r\n * that namespace- like dictionaries are merged.\r\n *\r\n * Note that the target can be a function, in which case the properties in\r\n * the source Object are copied onto it as static properties of the Function.\r\n *\r\n * Note: we don't merge __proto__ to prevent prototype pollution\r\n */\r\nfunction deepExtend(target, source) {\r\n if (!(source instanceof Object)) {\r\n return source;\r\n }\r\n switch (source.constructor) {\r\n case Date:\r\n // Treat Dates like scalars; if the target date object had any child\r\n // properties - they will be lost!\r\n const dateValue = source;\r\n return new Date(dateValue.getTime());\r\n case Object:\r\n if (target === undefined) {\r\n target = {};\r\n }\r\n break;\r\n case Array:\r\n // Always copy the array source and overwrite the target.\r\n target = [];\r\n break;\r\n default:\r\n // Not a plain Object - treat it as a scalar.\r\n return source;\r\n }\r\n for (const prop in source) {\r\n // use isValidKey to guard against prototype pollution. See https://snyk.io/vuln/SNYK-JS-LODASH-450202\r\n if (!source.hasOwnProperty(prop) || !isValidKey(prop)) {\r\n continue;\r\n }\r\n target[prop] = deepExtend(target[prop], source[prop]);\r\n }\r\n return target;\r\n}\r\nfunction isValidKey(key) {\r\n return key !== '__proto__';\r\n}\n\n/**\r\n * @license\r\n * Copyright 2022 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n/**\r\n * Polyfill for `globalThis` object.\r\n * @returns the `globalThis` object for the given environment.\r\n * @public\r\n */\r\nfunction getGlobal() {\r\n if (typeof self !== 'undefined') {\r\n return self;\r\n }\r\n if (typeof window !== 'undefined') {\r\n return window;\r\n }\r\n if (typeof global !== 'undefined') {\r\n return global;\r\n }\r\n throw new Error('Unable to locate global object.');\r\n}\n\n/**\r\n * @license\r\n * Copyright 2022 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\nconst getDefaultsFromGlobal = () => getGlobal().__FIREBASE_DEFAULTS__;\r\n/**\r\n * Attempt to read defaults from a JSON string provided to\r\n * process(.)env(.)__FIREBASE_DEFAULTS__ or a JSON file whose path is in\r\n * process(.)env(.)__FIREBASE_DEFAULTS_PATH__\r\n * The dots are in parens because certain compilers (Vite?) cannot\r\n * handle seeing that variable in comments.\r\n * See https://github.com/firebase/firebase-js-sdk/issues/6838\r\n */\r\nconst getDefaultsFromEnvVariable = () => {\r\n if (typeof process === 'undefined' || typeof process.env === 'undefined') {\r\n return;\r\n }\r\n const defaultsJsonString = process.env.__FIREBASE_DEFAULTS__;\r\n if (defaultsJsonString) {\r\n return JSON.parse(defaultsJsonString);\r\n }\r\n};\r\nconst getDefaultsFromCookie = () => {\r\n if (typeof document === 'undefined') {\r\n return;\r\n }\r\n let match;\r\n try {\r\n match = document.cookie.match(/__FIREBASE_DEFAULTS__=([^;]+)/);\r\n }\r\n catch (e) {\r\n // Some environments such as Angular Universal SSR have a\r\n // `document` object but error on accessing `document.cookie`.\r\n return;\r\n }\r\n const decoded = match && base64Decode(match[1]);\r\n return decoded && JSON.parse(decoded);\r\n};\r\n/**\r\n * Get the __FIREBASE_DEFAULTS__ object. It checks in order:\r\n * (1) if such an object exists as a property of `globalThis`\r\n * (2) if such an object was provided on a shell environment variable\r\n * (3) if such an object exists in a cookie\r\n * @public\r\n */\r\nconst getDefaults = () => {\r\n try {\r\n return (getDefaultsFromGlobal() ||\r\n getDefaultsFromEnvVariable() ||\r\n getDefaultsFromCookie());\r\n }\r\n catch (e) {\r\n /**\r\n * Catch-all for being unable to get __FIREBASE_DEFAULTS__ due\r\n * to any environment case we have not accounted for. Log to\r\n * info instead of swallowing so we can find these unknown cases\r\n * and add paths for them if needed.\r\n */\r\n console.info(`Unable to get __FIREBASE_DEFAULTS__ due to: ${e}`);\r\n return;\r\n }\r\n};\r\n/**\r\n * Returns emulator host stored in the __FIREBASE_DEFAULTS__ object\r\n * for the given product.\r\n * @returns a URL host formatted like `127.0.0.1:9999` or `[::1]:4000` if available\r\n * @public\r\n */\r\nconst getDefaultEmulatorHost = (productName) => { var _a, _b; return (_b = (_a = getDefaults()) === null || _a === void 0 ? void 0 : _a.emulatorHosts) === null || _b === void 0 ? void 0 : _b[productName]; };\r\n/**\r\n * Returns emulator hostname and port stored in the __FIREBASE_DEFAULTS__ object\r\n * for the given product.\r\n * @returns a pair of hostname and port like `[\"::1\", 4000]` if available\r\n * @public\r\n */\r\nconst getDefaultEmulatorHostnameAndPort = (productName) => {\r\n const host = getDefaultEmulatorHost(productName);\r\n if (!host) {\r\n return undefined;\r\n }\r\n const separatorIndex = host.lastIndexOf(':'); // Finding the last since IPv6 addr also has colons.\r\n if (separatorIndex <= 0 || separatorIndex + 1 === host.length) {\r\n throw new Error(`Invalid host ${host} with no separate hostname and port!`);\r\n }\r\n // eslint-disable-next-line no-restricted-globals\r\n const port = parseInt(host.substring(separatorIndex + 1), 10);\r\n if (host[0] === '[') {\r\n // Bracket-quoted `[ipv6addr]:port` => return \"ipv6addr\" (without brackets).\r\n return [host.substring(1, separatorIndex - 1), port];\r\n }\r\n else {\r\n return [host.substring(0, separatorIndex), port];\r\n }\r\n};\r\n/**\r\n * Returns Firebase app config stored in the __FIREBASE_DEFAULTS__ object.\r\n * @public\r\n */\r\nconst getDefaultAppConfig = () => { var _a; return (_a = getDefaults()) === null || _a === void 0 ? void 0 : _a.config; };\r\n/**\r\n * Returns an experimental setting on the __FIREBASE_DEFAULTS__ object (properties\r\n * prefixed by \"_\")\r\n * @public\r\n */\r\nconst getExperimentalSetting = (name) => { var _a; return (_a = getDefaults()) === null || _a === void 0 ? void 0 : _a[`_${name}`]; };\n\n/**\r\n * @license\r\n * Copyright 2017 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\nclass Deferred {\r\n constructor() {\r\n this.reject = () => { };\r\n this.resolve = () => { };\r\n this.promise = new Promise((resolve, reject) => {\r\n this.resolve = resolve;\r\n this.reject = reject;\r\n });\r\n }\r\n /**\r\n * Our API internals are not promiseified and cannot because our callback APIs have subtle expectations around\r\n * invoking promises inline, which Promises are forbidden to do. This method accepts an optional node-style callback\r\n * and returns a node-style callback which will resolve or reject the Deferred's promise.\r\n */\r\n wrapCallback(callback) {\r\n return (error, value) => {\r\n if (error) {\r\n this.reject(error);\r\n }\r\n else {\r\n this.resolve(value);\r\n }\r\n if (typeof callback === 'function') {\r\n // Attaching noop handler just in case developer wasn't expecting\r\n // promises\r\n this.promise.catch(() => { });\r\n // Some of our callbacks don't expect a value and our own tests\r\n // assert that the parameter length is 1\r\n if (callback.length === 1) {\r\n callback(error);\r\n }\r\n else {\r\n callback(error, value);\r\n }\r\n }\r\n };\r\n }\r\n}\n\n/**\r\n * @license\r\n * Copyright 2021 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\nfunction createMockUserToken(token, projectId) {\r\n if (token.uid) {\r\n throw new Error('The \"uid\" field is no longer supported by mockUserToken. Please use \"sub\" instead for Firebase Auth User ID.');\r\n }\r\n // Unsecured JWTs use \"none\" as the algorithm.\r\n const header = {\r\n alg: 'none',\r\n type: 'JWT'\r\n };\r\n const project = projectId || 'demo-project';\r\n const iat = token.iat || 0;\r\n const sub = token.sub || token.user_id;\r\n if (!sub) {\r\n throw new Error(\"mockUserToken must contain 'sub' or 'user_id' field!\");\r\n }\r\n const payload = Object.assign({ \r\n // Set all required fields to decent defaults\r\n iss: `https://securetoken.google.com/${project}`, aud: project, iat, exp: iat + 3600, auth_time: iat, sub, user_id: sub, firebase: {\r\n sign_in_provider: 'custom',\r\n identities: {}\r\n } }, token);\r\n // Unsecured JWTs use the empty string as a signature.\r\n const signature = '';\r\n return [\r\n base64urlEncodeWithoutPadding(JSON.stringify(header)),\r\n base64urlEncodeWithoutPadding(JSON.stringify(payload)),\r\n signature\r\n ].join('.');\r\n}\n\n/**\r\n * @license\r\n * Copyright 2017 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n/**\r\n * Returns navigator.userAgent string or '' if it's not defined.\r\n * @return user agent string\r\n */\r\nfunction getUA() {\r\n if (typeof navigator !== 'undefined' &&\r\n typeof navigator['userAgent'] === 'string') {\r\n return navigator['userAgent'];\r\n }\r\n else {\r\n return '';\r\n }\r\n}\r\n/**\r\n * Detect Cordova / PhoneGap / Ionic frameworks on a mobile device.\r\n *\r\n * Deliberately does not rely on checking `file://` URLs (as this fails PhoneGap\r\n * in the Ripple emulator) nor Cordova `onDeviceReady`, which would normally\r\n * wait for a callback.\r\n */\r\nfunction isMobileCordova() {\r\n return (typeof window !== 'undefined' &&\r\n // @ts-ignore Setting up an broadly applicable index signature for Window\r\n // just to deal with this case would probably be a bad idea.\r\n !!(window['cordova'] || window['phonegap'] || window['PhoneGap']) &&\r\n /ios|iphone|ipod|ipad|android|blackberry|iemobile/i.test(getUA()));\r\n}\r\n/**\r\n * Detect Node.js.\r\n *\r\n * @return true if Node.js environment is detected or specified.\r\n */\r\n// Node detection logic from: https://github.com/iliakan/detect-node/\r\nfunction isNode() {\r\n var _a;\r\n const forceEnvironment = (_a = getDefaults()) === null || _a === void 0 ? void 0 : _a.forceEnvironment;\r\n if (forceEnvironment === 'node') {\r\n return true;\r\n }\r\n else if (forceEnvironment === 'browser') {\r\n return false;\r\n }\r\n try {\r\n return (Object.prototype.toString.call(global.process) === '[object process]');\r\n }\r\n catch (e) {\r\n return false;\r\n }\r\n}\r\n/**\r\n * Detect Browser Environment\r\n */\r\nfunction isBrowser() {\r\n return typeof window !== 'undefined' || isWebWorker();\r\n}\r\n/**\r\n * Detect Web Worker context\r\n */\r\nfunction isWebWorker() {\r\n return (typeof WorkerGlobalScope !== 'undefined' &&\r\n typeof self !== 'undefined' &&\r\n self instanceof WorkerGlobalScope);\r\n}\r\nfunction isBrowserExtension() {\r\n const runtime = typeof chrome === 'object'\r\n ? chrome.runtime\r\n : typeof browser === 'object'\r\n ? browser.runtime\r\n : undefined;\r\n return typeof runtime === 'object' && runtime.id !== undefined;\r\n}\r\n/**\r\n * Detect React Native.\r\n *\r\n * @return true if ReactNative environment is detected.\r\n */\r\nfunction isReactNative() {\r\n return (typeof navigator === 'object' && navigator['product'] === 'ReactNative');\r\n}\r\n/** Detects Electron apps. */\r\nfunction isElectron() {\r\n return getUA().indexOf('Electron/') >= 0;\r\n}\r\n/** Detects Internet Explorer. */\r\nfunction isIE() {\r\n const ua = getUA();\r\n return ua.indexOf('MSIE ') >= 0 || ua.indexOf('Trident/') >= 0;\r\n}\r\n/** Detects Universal Windows Platform apps. */\r\nfunction isUWP() {\r\n return getUA().indexOf('MSAppHost/') >= 0;\r\n}\r\n/**\r\n * Detect whether the current SDK build is the Node version.\r\n *\r\n * @return true if it's the Node SDK build.\r\n */\r\nfunction isNodeSdk() {\r\n return CONSTANTS.NODE_CLIENT === true || CONSTANTS.NODE_ADMIN === true;\r\n}\r\n/** Returns true if we are running in Safari. */\r\nfunction isSafari() {\r\n return (!isNode() &&\r\n !!navigator.userAgent &&\r\n navigator.userAgent.includes('Safari') &&\r\n !navigator.userAgent.includes('Chrome'));\r\n}\r\n/**\r\n * This method checks if indexedDB is supported by current browser/service worker context\r\n * @return true if indexedDB is supported by current browser/service worker context\r\n */\r\nfunction isIndexedDBAvailable() {\r\n try {\r\n return typeof indexedDB === 'object';\r\n }\r\n catch (e) {\r\n return false;\r\n }\r\n}\r\n/**\r\n * This method validates browser/sw context for indexedDB by opening a dummy indexedDB database and reject\r\n * if errors occur during the database open operation.\r\n *\r\n * @throws exception if current browser/sw context can't run idb.open (ex: Safari iframe, Firefox\r\n * private browsing)\r\n */\r\nfunction validateIndexedDBOpenable() {\r\n return new Promise((resolve, reject) => {\r\n try {\r\n let preExist = true;\r\n const DB_CHECK_NAME = 'validate-browser-context-for-indexeddb-analytics-module';\r\n const request = self.indexedDB.open(DB_CHECK_NAME);\r\n request.onsuccess = () => {\r\n request.result.close();\r\n // delete database only when it doesn't pre-exist\r\n if (!preExist) {\r\n self.indexedDB.deleteDatabase(DB_CHECK_NAME);\r\n }\r\n resolve(true);\r\n };\r\n request.onupgradeneeded = () => {\r\n preExist = false;\r\n };\r\n request.onerror = () => {\r\n var _a;\r\n reject(((_a = request.error) === null || _a === void 0 ? void 0 : _a.message) || '');\r\n };\r\n }\r\n catch (error) {\r\n reject(error);\r\n }\r\n });\r\n}\r\n/**\r\n *\r\n * This method checks whether cookie is enabled within current browser\r\n * @return true if cookie is enabled within current browser\r\n */\r\nfunction areCookiesEnabled() {\r\n if (typeof navigator === 'undefined' || !navigator.cookieEnabled) {\r\n return false;\r\n }\r\n return true;\r\n}\n\n/**\r\n * @license\r\n * Copyright 2017 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n/**\r\n * @fileoverview Standardized Firebase Error.\r\n *\r\n * Usage:\r\n *\r\n * // Typescript string literals for type-safe codes\r\n * type Err =\r\n * 'unknown' |\r\n * 'object-not-found'\r\n * ;\r\n *\r\n * // Closure enum for type-safe error codes\r\n * // at-enum {string}\r\n * var Err = {\r\n * UNKNOWN: 'unknown',\r\n * OBJECT_NOT_FOUND: 'object-not-found',\r\n * }\r\n *\r\n * let errors: Map = {\r\n * 'generic-error': \"Unknown error\",\r\n * 'file-not-found': \"Could not find file: {$file}\",\r\n * };\r\n *\r\n * // Type-safe function - must pass a valid error code as param.\r\n * let error = new ErrorFactory('service', 'Service', errors);\r\n *\r\n * ...\r\n * throw error.create(Err.GENERIC);\r\n * ...\r\n * throw error.create(Err.FILE_NOT_FOUND, {'file': fileName});\r\n * ...\r\n * // Service: Could not file file: foo.txt (service/file-not-found).\r\n *\r\n * catch (e) {\r\n * assert(e.message === \"Could not find file: foo.txt.\");\r\n * if ((e as FirebaseError)?.code === 'service/file-not-found') {\r\n * console.log(\"Could not read file: \" + e['file']);\r\n * }\r\n * }\r\n */\r\nconst ERROR_NAME = 'FirebaseError';\r\n// Based on code from:\r\n// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Error#Custom_Error_Types\r\nclass FirebaseError extends Error {\r\n constructor(\r\n /** The error code for this error. */\r\n code, message, \r\n /** Custom data for this error. */\r\n customData) {\r\n super(message);\r\n this.code = code;\r\n this.customData = customData;\r\n /** The custom name for all FirebaseErrors. */\r\n this.name = ERROR_NAME;\r\n // Fix For ES5\r\n // https://github.com/Microsoft/TypeScript-wiki/blob/master/Breaking-Changes.md#extending-built-ins-like-error-array-and-map-may-no-longer-work\r\n Object.setPrototypeOf(this, FirebaseError.prototype);\r\n // Maintains proper stack trace for where our error was thrown.\r\n // Only available on V8.\r\n if (Error.captureStackTrace) {\r\n Error.captureStackTrace(this, ErrorFactory.prototype.create);\r\n }\r\n }\r\n}\r\nclass ErrorFactory {\r\n constructor(service, serviceName, errors) {\r\n this.service = service;\r\n this.serviceName = serviceName;\r\n this.errors = errors;\r\n }\r\n create(code, ...data) {\r\n const customData = data[0] || {};\r\n const fullCode = `${this.service}/${code}`;\r\n const template = this.errors[code];\r\n const message = template ? replaceTemplate(template, customData) : 'Error';\r\n // Service Name: Error message (service/code).\r\n const fullMessage = `${this.serviceName}: ${message} (${fullCode}).`;\r\n const error = new FirebaseError(fullCode, fullMessage, customData);\r\n return error;\r\n }\r\n}\r\nfunction replaceTemplate(template, data) {\r\n return template.replace(PATTERN, (_, key) => {\r\n const value = data[key];\r\n return value != null ? String(value) : `<${key}?>`;\r\n });\r\n}\r\nconst PATTERN = /\\{\\$([^}]+)}/g;\n\n/**\r\n * @license\r\n * Copyright 2017 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n/**\r\n * Evaluates a JSON string into a javascript object.\r\n *\r\n * @param {string} str A string containing JSON.\r\n * @return {*} The javascript object representing the specified JSON.\r\n */\r\nfunction jsonEval(str) {\r\n return JSON.parse(str);\r\n}\r\n/**\r\n * Returns JSON representing a javascript object.\r\n * @param {*} data Javascript object to be stringified.\r\n * @return {string} The JSON contents of the object.\r\n */\r\nfunction stringify(data) {\r\n return JSON.stringify(data);\r\n}\n\n/**\r\n * @license\r\n * Copyright 2017 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n/**\r\n * Decodes a Firebase auth. token into constituent parts.\r\n *\r\n * Notes:\r\n * - May return with invalid / incomplete claims if there's no native base64 decoding support.\r\n * - Doesn't check if the token is actually valid.\r\n */\r\nconst decode = function (token) {\r\n let header = {}, claims = {}, data = {}, signature = '';\r\n try {\r\n const parts = token.split('.');\r\n header = jsonEval(base64Decode(parts[0]) || '');\r\n claims = jsonEval(base64Decode(parts[1]) || '');\r\n signature = parts[2];\r\n data = claims['d'] || {};\r\n delete claims['d'];\r\n }\r\n catch (e) { }\r\n return {\r\n header,\r\n claims,\r\n data,\r\n signature\r\n };\r\n};\r\n/**\r\n * Decodes a Firebase auth. token and checks the validity of its time-based claims. Will return true if the\r\n * token is within the time window authorized by the 'nbf' (not-before) and 'iat' (issued-at) claims.\r\n *\r\n * Notes:\r\n * - May return a false negative if there's no native base64 decoding support.\r\n * - Doesn't check if the token is actually valid.\r\n */\r\nconst isValidTimestamp = function (token) {\r\n const claims = decode(token).claims;\r\n const now = Math.floor(new Date().getTime() / 1000);\r\n let validSince = 0, validUntil = 0;\r\n if (typeof claims === 'object') {\r\n if (claims.hasOwnProperty('nbf')) {\r\n validSince = claims['nbf'];\r\n }\r\n else if (claims.hasOwnProperty('iat')) {\r\n validSince = claims['iat'];\r\n }\r\n if (claims.hasOwnProperty('exp')) {\r\n validUntil = claims['exp'];\r\n }\r\n else {\r\n // token will expire after 24h by default\r\n validUntil = validSince + 86400;\r\n }\r\n }\r\n return (!!now &&\r\n !!validSince &&\r\n !!validUntil &&\r\n now >= validSince &&\r\n now <= validUntil);\r\n};\r\n/**\r\n * Decodes a Firebase auth. token and returns its issued at time if valid, null otherwise.\r\n *\r\n * Notes:\r\n * - May return null if there's no native base64 decoding support.\r\n * - Doesn't check if the token is actually valid.\r\n */\r\nconst issuedAtTime = function (token) {\r\n const claims = decode(token).claims;\r\n if (typeof claims === 'object' && claims.hasOwnProperty('iat')) {\r\n return claims['iat'];\r\n }\r\n return null;\r\n};\r\n/**\r\n * Decodes a Firebase auth. token and checks the validity of its format. Expects a valid issued-at time.\r\n *\r\n * Notes:\r\n * - May return a false negative if there's no native base64 decoding support.\r\n * - Doesn't check if the token is actually valid.\r\n */\r\nconst isValidFormat = function (token) {\r\n const decoded = decode(token), claims = decoded.claims;\r\n return !!claims && typeof claims === 'object' && claims.hasOwnProperty('iat');\r\n};\r\n/**\r\n * Attempts to peer into an auth token and determine if it's an admin auth token by looking at the claims portion.\r\n *\r\n * Notes:\r\n * - May return a false negative if there's no native base64 decoding support.\r\n * - Doesn't check if the token is actually valid.\r\n */\r\nconst isAdmin = function (token) {\r\n const claims = decode(token).claims;\r\n return typeof claims === 'object' && claims['admin'] === true;\r\n};\n\n/**\r\n * @license\r\n * Copyright 2017 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\nfunction contains(obj, key) {\r\n return Object.prototype.hasOwnProperty.call(obj, key);\r\n}\r\nfunction safeGet(obj, key) {\r\n if (Object.prototype.hasOwnProperty.call(obj, key)) {\r\n return obj[key];\r\n }\r\n else {\r\n return undefined;\r\n }\r\n}\r\nfunction isEmpty(obj) {\r\n for (const key in obj) {\r\n if (Object.prototype.hasOwnProperty.call(obj, key)) {\r\n return false;\r\n }\r\n }\r\n return true;\r\n}\r\nfunction map(obj, fn, contextObj) {\r\n const res = {};\r\n for (const key in obj) {\r\n if (Object.prototype.hasOwnProperty.call(obj, key)) {\r\n res[key] = fn.call(contextObj, obj[key], key, obj);\r\n }\r\n }\r\n return res;\r\n}\r\n/**\r\n * Deep equal two objects. Support Arrays and Objects.\r\n */\r\nfunction deepEqual(a, b) {\r\n if (a === b) {\r\n return true;\r\n }\r\n const aKeys = Object.keys(a);\r\n const bKeys = Object.keys(b);\r\n for (const k of aKeys) {\r\n if (!bKeys.includes(k)) {\r\n return false;\r\n }\r\n const aProp = a[k];\r\n const bProp = b[k];\r\n if (isObject(aProp) && isObject(bProp)) {\r\n if (!deepEqual(aProp, bProp)) {\r\n return false;\r\n }\r\n }\r\n else if (aProp !== bProp) {\r\n return false;\r\n }\r\n }\r\n for (const k of bKeys) {\r\n if (!aKeys.includes(k)) {\r\n return false;\r\n }\r\n }\r\n return true;\r\n}\r\nfunction isObject(thing) {\r\n return thing !== null && typeof thing === 'object';\r\n}\n\n/**\r\n * @license\r\n * Copyright 2022 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n/**\r\n * Rejects if the given promise doesn't resolve in timeInMS milliseconds.\r\n * @internal\r\n */\r\nfunction promiseWithTimeout(promise, timeInMS = 2000) {\r\n const deferredPromise = new Deferred();\r\n setTimeout(() => deferredPromise.reject('timeout!'), timeInMS);\r\n promise.then(deferredPromise.resolve, deferredPromise.reject);\r\n return deferredPromise.promise;\r\n}\n\n/**\r\n * @license\r\n * Copyright 2017 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n/**\r\n * Returns a querystring-formatted string (e.g. &arg=val&arg2=val2) from a\r\n * params object (e.g. {arg: 'val', arg2: 'val2'})\r\n * Note: You must prepend it with ? when adding it to a URL.\r\n */\r\nfunction querystring(querystringParams) {\r\n const params = [];\r\n for (const [key, value] of Object.entries(querystringParams)) {\r\n if (Array.isArray(value)) {\r\n value.forEach(arrayVal => {\r\n params.push(encodeURIComponent(key) + '=' + encodeURIComponent(arrayVal));\r\n });\r\n }\r\n else {\r\n params.push(encodeURIComponent(key) + '=' + encodeURIComponent(value));\r\n }\r\n }\r\n return params.length ? '&' + params.join('&') : '';\r\n}\r\n/**\r\n * Decodes a querystring (e.g. ?arg=val&arg2=val2) into a params object\r\n * (e.g. {arg: 'val', arg2: 'val2'})\r\n */\r\nfunction querystringDecode(querystring) {\r\n const obj = {};\r\n const tokens = querystring.replace(/^\\?/, '').split('&');\r\n tokens.forEach(token => {\r\n if (token) {\r\n const [key, value] = token.split('=');\r\n obj[decodeURIComponent(key)] = decodeURIComponent(value);\r\n }\r\n });\r\n return obj;\r\n}\r\n/**\r\n * Extract the query string part of a URL, including the leading question mark (if present).\r\n */\r\nfunction extractQuerystring(url) {\r\n const queryStart = url.indexOf('?');\r\n if (!queryStart) {\r\n return '';\r\n }\r\n const fragmentStart = url.indexOf('#', queryStart);\r\n return url.substring(queryStart, fragmentStart > 0 ? fragmentStart : undefined);\r\n}\n\n/**\r\n * @license\r\n * Copyright 2017 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n/**\r\n * @fileoverview SHA-1 cryptographic hash.\r\n * Variable names follow the notation in FIPS PUB 180-3:\r\n * http://csrc.nist.gov/publications/fips/fips180-3/fips180-3_final.pdf.\r\n *\r\n * Usage:\r\n * var sha1 = new sha1();\r\n * sha1.update(bytes);\r\n * var hash = sha1.digest();\r\n *\r\n * Performance:\r\n * Chrome 23: ~400 Mbit/s\r\n * Firefox 16: ~250 Mbit/s\r\n *\r\n */\r\n/**\r\n * SHA-1 cryptographic hash constructor.\r\n *\r\n * The properties declared here are discussed in the above algorithm document.\r\n * @constructor\r\n * @final\r\n * @struct\r\n */\r\nclass Sha1 {\r\n constructor() {\r\n /**\r\n * Holds the previous values of accumulated variables a-e in the compress_\r\n * function.\r\n * @private\r\n */\r\n this.chain_ = [];\r\n /**\r\n * A buffer holding the partially computed hash result.\r\n * @private\r\n */\r\n this.buf_ = [];\r\n /**\r\n * An array of 80 bytes, each a part of the message to be hashed. Referred to\r\n * as the message schedule in the docs.\r\n * @private\r\n */\r\n this.W_ = [];\r\n /**\r\n * Contains data needed to pad messages less than 64 bytes.\r\n * @private\r\n */\r\n this.pad_ = [];\r\n /**\r\n * @private {number}\r\n */\r\n this.inbuf_ = 0;\r\n /**\r\n * @private {number}\r\n */\r\n this.total_ = 0;\r\n this.blockSize = 512 / 8;\r\n this.pad_[0] = 128;\r\n for (let i = 1; i < this.blockSize; ++i) {\r\n this.pad_[i] = 0;\r\n }\r\n this.reset();\r\n }\r\n reset() {\r\n this.chain_[0] = 0x67452301;\r\n this.chain_[1] = 0xefcdab89;\r\n this.chain_[2] = 0x98badcfe;\r\n this.chain_[3] = 0x10325476;\r\n this.chain_[4] = 0xc3d2e1f0;\r\n this.inbuf_ = 0;\r\n this.total_ = 0;\r\n }\r\n /**\r\n * Internal compress helper function.\r\n * @param buf Block to compress.\r\n * @param offset Offset of the block in the buffer.\r\n * @private\r\n */\r\n compress_(buf, offset) {\r\n if (!offset) {\r\n offset = 0;\r\n }\r\n const W = this.W_;\r\n // get 16 big endian words\r\n if (typeof buf === 'string') {\r\n for (let i = 0; i < 16; i++) {\r\n // TODO(user): [bug 8140122] Recent versions of Safari for Mac OS and iOS\r\n // have a bug that turns the post-increment ++ operator into pre-increment\r\n // during JIT compilation. We have code that depends heavily on SHA-1 for\r\n // correctness and which is affected by this bug, so I've removed all uses\r\n // of post-increment ++ in which the result value is used. We can revert\r\n // this change once the Safari bug\r\n // (https://bugs.webkit.org/show_bug.cgi?id=109036) has been fixed and\r\n // most clients have been updated.\r\n W[i] =\r\n (buf.charCodeAt(offset) << 24) |\r\n (buf.charCodeAt(offset + 1) << 16) |\r\n (buf.charCodeAt(offset + 2) << 8) |\r\n buf.charCodeAt(offset + 3);\r\n offset += 4;\r\n }\r\n }\r\n else {\r\n for (let i = 0; i < 16; i++) {\r\n W[i] =\r\n (buf[offset] << 24) |\r\n (buf[offset + 1] << 16) |\r\n (buf[offset + 2] << 8) |\r\n buf[offset + 3];\r\n offset += 4;\r\n }\r\n }\r\n // expand to 80 words\r\n for (let i = 16; i < 80; i++) {\r\n const t = W[i - 3] ^ W[i - 8] ^ W[i - 14] ^ W[i - 16];\r\n W[i] = ((t << 1) | (t >>> 31)) & 0xffffffff;\r\n }\r\n let a = this.chain_[0];\r\n let b = this.chain_[1];\r\n let c = this.chain_[2];\r\n let d = this.chain_[3];\r\n let e = this.chain_[4];\r\n let f, k;\r\n // TODO(user): Try to unroll this loop to speed up the computation.\r\n for (let i = 0; i < 80; i++) {\r\n if (i < 40) {\r\n if (i < 20) {\r\n f = d ^ (b & (c ^ d));\r\n k = 0x5a827999;\r\n }\r\n else {\r\n f = b ^ c ^ d;\r\n k = 0x6ed9eba1;\r\n }\r\n }\r\n else {\r\n if (i < 60) {\r\n f = (b & c) | (d & (b | c));\r\n k = 0x8f1bbcdc;\r\n }\r\n else {\r\n f = b ^ c ^ d;\r\n k = 0xca62c1d6;\r\n }\r\n }\r\n const t = (((a << 5) | (a >>> 27)) + f + e + k + W[i]) & 0xffffffff;\r\n e = d;\r\n d = c;\r\n c = ((b << 30) | (b >>> 2)) & 0xffffffff;\r\n b = a;\r\n a = t;\r\n }\r\n this.chain_[0] = (this.chain_[0] + a) & 0xffffffff;\r\n this.chain_[1] = (this.chain_[1] + b) & 0xffffffff;\r\n this.chain_[2] = (this.chain_[2] + c) & 0xffffffff;\r\n this.chain_[3] = (this.chain_[3] + d) & 0xffffffff;\r\n this.chain_[4] = (this.chain_[4] + e) & 0xffffffff;\r\n }\r\n update(bytes, length) {\r\n // TODO(johnlenz): tighten the function signature and remove this check\r\n if (bytes == null) {\r\n return;\r\n }\r\n if (length === undefined) {\r\n length = bytes.length;\r\n }\r\n const lengthMinusBlock = length - this.blockSize;\r\n let n = 0;\r\n // Using local instead of member variables gives ~5% speedup on Firefox 16.\r\n const buf = this.buf_;\r\n let inbuf = this.inbuf_;\r\n // The outer while loop should execute at most twice.\r\n while (n < length) {\r\n // When we have no data in the block to top up, we can directly process the\r\n // input buffer (assuming it contains sufficient data). This gives ~25%\r\n // speedup on Chrome 23 and ~15% speedup on Firefox 16, but requires that\r\n // the data is provided in large chunks (or in multiples of 64 bytes).\r\n if (inbuf === 0) {\r\n while (n <= lengthMinusBlock) {\r\n this.compress_(bytes, n);\r\n n += this.blockSize;\r\n }\r\n }\r\n if (typeof bytes === 'string') {\r\n while (n < length) {\r\n buf[inbuf] = bytes.charCodeAt(n);\r\n ++inbuf;\r\n ++n;\r\n if (inbuf === this.blockSize) {\r\n this.compress_(buf);\r\n inbuf = 0;\r\n // Jump to the outer loop so we use the full-block optimization.\r\n break;\r\n }\r\n }\r\n }\r\n else {\r\n while (n < length) {\r\n buf[inbuf] = bytes[n];\r\n ++inbuf;\r\n ++n;\r\n if (inbuf === this.blockSize) {\r\n this.compress_(buf);\r\n inbuf = 0;\r\n // Jump to the outer loop so we use the full-block optimization.\r\n break;\r\n }\r\n }\r\n }\r\n }\r\n this.inbuf_ = inbuf;\r\n this.total_ += length;\r\n }\r\n /** @override */\r\n digest() {\r\n const digest = [];\r\n let totalBits = this.total_ * 8;\r\n // Add pad 0x80 0x00*.\r\n if (this.inbuf_ < 56) {\r\n this.update(this.pad_, 56 - this.inbuf_);\r\n }\r\n else {\r\n this.update(this.pad_, this.blockSize - (this.inbuf_ - 56));\r\n }\r\n // Add # bits.\r\n for (let i = this.blockSize - 1; i >= 56; i--) {\r\n this.buf_[i] = totalBits & 255;\r\n totalBits /= 256; // Don't use bit-shifting here!\r\n }\r\n this.compress_(this.buf_);\r\n let n = 0;\r\n for (let i = 0; i < 5; i++) {\r\n for (let j = 24; j >= 0; j -= 8) {\r\n digest[n] = (this.chain_[i] >> j) & 255;\r\n ++n;\r\n }\r\n }\r\n return digest;\r\n }\r\n}\n\n/**\r\n * Helper to make a Subscribe function (just like Promise helps make a\r\n * Thenable).\r\n *\r\n * @param executor Function which can make calls to a single Observer\r\n * as a proxy.\r\n * @param onNoObservers Callback when count of Observers goes to zero.\r\n */\r\nfunction createSubscribe(executor, onNoObservers) {\r\n const proxy = new ObserverProxy(executor, onNoObservers);\r\n return proxy.subscribe.bind(proxy);\r\n}\r\n/**\r\n * Implement fan-out for any number of Observers attached via a subscribe\r\n * function.\r\n */\r\nclass ObserverProxy {\r\n /**\r\n * @param executor Function which can make calls to a single Observer\r\n * as a proxy.\r\n * @param onNoObservers Callback when count of Observers goes to zero.\r\n */\r\n constructor(executor, onNoObservers) {\r\n this.observers = [];\r\n this.unsubscribes = [];\r\n this.observerCount = 0;\r\n // Micro-task scheduling by calling task.then().\r\n this.task = Promise.resolve();\r\n this.finalized = false;\r\n this.onNoObservers = onNoObservers;\r\n // Call the executor asynchronously so subscribers that are called\r\n // synchronously after the creation of the subscribe function\r\n // can still receive the very first value generated in the executor.\r\n this.task\r\n .then(() => {\r\n executor(this);\r\n })\r\n .catch(e => {\r\n this.error(e);\r\n });\r\n }\r\n next(value) {\r\n this.forEachObserver((observer) => {\r\n observer.next(value);\r\n });\r\n }\r\n error(error) {\r\n this.forEachObserver((observer) => {\r\n observer.error(error);\r\n });\r\n this.close(error);\r\n }\r\n complete() {\r\n this.forEachObserver((observer) => {\r\n observer.complete();\r\n });\r\n this.close();\r\n }\r\n /**\r\n * Subscribe function that can be used to add an Observer to the fan-out list.\r\n *\r\n * - We require that no event is sent to a subscriber sychronously to their\r\n * call to subscribe().\r\n */\r\n subscribe(nextOrObserver, error, complete) {\r\n let observer;\r\n if (nextOrObserver === undefined &&\r\n error === undefined &&\r\n complete === undefined) {\r\n throw new Error('Missing Observer.');\r\n }\r\n // Assemble an Observer object when passed as callback functions.\r\n if (implementsAnyMethods(nextOrObserver, [\r\n 'next',\r\n 'error',\r\n 'complete'\r\n ])) {\r\n observer = nextOrObserver;\r\n }\r\n else {\r\n observer = {\r\n next: nextOrObserver,\r\n error,\r\n complete\r\n };\r\n }\r\n if (observer.next === undefined) {\r\n observer.next = noop;\r\n }\r\n if (observer.error === undefined) {\r\n observer.error = noop;\r\n }\r\n if (observer.complete === undefined) {\r\n observer.complete = noop;\r\n }\r\n const unsub = this.unsubscribeOne.bind(this, this.observers.length);\r\n // Attempt to subscribe to a terminated Observable - we\r\n // just respond to the Observer with the final error or complete\r\n // event.\r\n if (this.finalized) {\r\n // eslint-disable-next-line @typescript-eslint/no-floating-promises\r\n this.task.then(() => {\r\n try {\r\n if (this.finalError) {\r\n observer.error(this.finalError);\r\n }\r\n else {\r\n observer.complete();\r\n }\r\n }\r\n catch (e) {\r\n // nothing\r\n }\r\n return;\r\n });\r\n }\r\n this.observers.push(observer);\r\n return unsub;\r\n }\r\n // Unsubscribe is synchronous - we guarantee that no events are sent to\r\n // any unsubscribed Observer.\r\n unsubscribeOne(i) {\r\n if (this.observers === undefined || this.observers[i] === undefined) {\r\n return;\r\n }\r\n delete this.observers[i];\r\n this.observerCount -= 1;\r\n if (this.observerCount === 0 && this.onNoObservers !== undefined) {\r\n this.onNoObservers(this);\r\n }\r\n }\r\n forEachObserver(fn) {\r\n if (this.finalized) {\r\n // Already closed by previous event....just eat the additional values.\r\n return;\r\n }\r\n // Since sendOne calls asynchronously - there is no chance that\r\n // this.observers will become undefined.\r\n for (let i = 0; i < this.observers.length; i++) {\r\n this.sendOne(i, fn);\r\n }\r\n }\r\n // Call the Observer via one of it's callback function. We are careful to\r\n // confirm that the observe has not been unsubscribed since this asynchronous\r\n // function had been queued.\r\n sendOne(i, fn) {\r\n // Execute the callback asynchronously\r\n // eslint-disable-next-line @typescript-eslint/no-floating-promises\r\n this.task.then(() => {\r\n if (this.observers !== undefined && this.observers[i] !== undefined) {\r\n try {\r\n fn(this.observers[i]);\r\n }\r\n catch (e) {\r\n // Ignore exceptions raised in Observers or missing methods of an\r\n // Observer.\r\n // Log error to console. b/31404806\r\n if (typeof console !== 'undefined' && console.error) {\r\n console.error(e);\r\n }\r\n }\r\n }\r\n });\r\n }\r\n close(err) {\r\n if (this.finalized) {\r\n return;\r\n }\r\n this.finalized = true;\r\n if (err !== undefined) {\r\n this.finalError = err;\r\n }\r\n // Proxy is no longer needed - garbage collect references\r\n // eslint-disable-next-line @typescript-eslint/no-floating-promises\r\n this.task.then(() => {\r\n this.observers = undefined;\r\n this.onNoObservers = undefined;\r\n });\r\n }\r\n}\r\n/** Turn synchronous function into one called asynchronously. */\r\n// eslint-disable-next-line @typescript-eslint/ban-types\r\nfunction async(fn, onError) {\r\n return (...args) => {\r\n Promise.resolve(true)\r\n .then(() => {\r\n fn(...args);\r\n })\r\n .catch((error) => {\r\n if (onError) {\r\n onError(error);\r\n }\r\n });\r\n };\r\n}\r\n/**\r\n * Return true if the object passed in implements any of the named methods.\r\n */\r\nfunction implementsAnyMethods(obj, methods) {\r\n if (typeof obj !== 'object' || obj === null) {\r\n return false;\r\n }\r\n for (const method of methods) {\r\n if (method in obj && typeof obj[method] === 'function') {\r\n return true;\r\n }\r\n }\r\n return false;\r\n}\r\nfunction noop() {\r\n // do nothing\r\n}\n\n/**\r\n * @license\r\n * Copyright 2017 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n/**\r\n * Check to make sure the appropriate number of arguments are provided for a public function.\r\n * Throws an error if it fails.\r\n *\r\n * @param fnName The function name\r\n * @param minCount The minimum number of arguments to allow for the function call\r\n * @param maxCount The maximum number of argument to allow for the function call\r\n * @param argCount The actual number of arguments provided.\r\n */\r\nconst validateArgCount = function (fnName, minCount, maxCount, argCount) {\r\n let argError;\r\n if (argCount < minCount) {\r\n argError = 'at least ' + minCount;\r\n }\r\n else if (argCount > maxCount) {\r\n argError = maxCount === 0 ? 'none' : 'no more than ' + maxCount;\r\n }\r\n if (argError) {\r\n const error = fnName +\r\n ' failed: Was called with ' +\r\n argCount +\r\n (argCount === 1 ? ' argument.' : ' arguments.') +\r\n ' Expects ' +\r\n argError +\r\n '.';\r\n throw new Error(error);\r\n }\r\n};\r\n/**\r\n * Generates a string to prefix an error message about failed argument validation\r\n *\r\n * @param fnName The function name\r\n * @param argName The name of the argument\r\n * @return The prefix to add to the error thrown for validation.\r\n */\r\nfunction errorPrefix(fnName, argName) {\r\n return `${fnName} failed: ${argName} argument `;\r\n}\r\n/**\r\n * @param fnName\r\n * @param argumentNumber\r\n * @param namespace\r\n * @param optional\r\n */\r\nfunction validateNamespace(fnName, namespace, optional) {\r\n if (optional && !namespace) {\r\n return;\r\n }\r\n if (typeof namespace !== 'string') {\r\n //TODO: I should do more validation here. We only allow certain chars in namespaces.\r\n throw new Error(errorPrefix(fnName, 'namespace') + 'must be a valid firebase namespace.');\r\n }\r\n}\r\nfunction validateCallback(fnName, argumentName, \r\n// eslint-disable-next-line @typescript-eslint/ban-types\r\ncallback, optional) {\r\n if (optional && !callback) {\r\n return;\r\n }\r\n if (typeof callback !== 'function') {\r\n throw new Error(errorPrefix(fnName, argumentName) + 'must be a valid function.');\r\n }\r\n}\r\nfunction validateContextObject(fnName, argumentName, context, optional) {\r\n if (optional && !context) {\r\n return;\r\n }\r\n if (typeof context !== 'object' || context === null) {\r\n throw new Error(errorPrefix(fnName, argumentName) + 'must be a valid context object.');\r\n }\r\n}\n\n/**\r\n * @license\r\n * Copyright 2017 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n// Code originally came from goog.crypt.stringToUtf8ByteArray, but for some reason they\r\n// automatically replaced '\\r\\n' with '\\n', and they didn't handle surrogate pairs,\r\n// so it's been modified.\r\n// Note that not all Unicode characters appear as single characters in JavaScript strings.\r\n// fromCharCode returns the UTF-16 encoding of a character - so some Unicode characters\r\n// use 2 characters in Javascript. All 4-byte UTF-8 characters begin with a first\r\n// character in the range 0xD800 - 0xDBFF (the first character of a so-called surrogate\r\n// pair).\r\n// See http://www.ecma-international.org/ecma-262/5.1/#sec-15.1.3\r\n/**\r\n * @param {string} str\r\n * @return {Array}\r\n */\r\nconst stringToByteArray = function (str) {\r\n const out = [];\r\n let p = 0;\r\n for (let i = 0; i < str.length; i++) {\r\n let c = str.charCodeAt(i);\r\n // Is this the lead surrogate in a surrogate pair?\r\n if (c >= 0xd800 && c <= 0xdbff) {\r\n const high = c - 0xd800; // the high 10 bits.\r\n i++;\r\n assert(i < str.length, 'Surrogate pair missing trail surrogate.');\r\n const low = str.charCodeAt(i) - 0xdc00; // the low 10 bits.\r\n c = 0x10000 + (high << 10) + low;\r\n }\r\n if (c < 128) {\r\n out[p++] = c;\r\n }\r\n else if (c < 2048) {\r\n out[p++] = (c >> 6) | 192;\r\n out[p++] = (c & 63) | 128;\r\n }\r\n else if (c < 65536) {\r\n out[p++] = (c >> 12) | 224;\r\n out[p++] = ((c >> 6) & 63) | 128;\r\n out[p++] = (c & 63) | 128;\r\n }\r\n else {\r\n out[p++] = (c >> 18) | 240;\r\n out[p++] = ((c >> 12) & 63) | 128;\r\n out[p++] = ((c >> 6) & 63) | 128;\r\n out[p++] = (c & 63) | 128;\r\n }\r\n }\r\n return out;\r\n};\r\n/**\r\n * Calculate length without actually converting; useful for doing cheaper validation.\r\n * @param {string} str\r\n * @return {number}\r\n */\r\nconst stringLength = function (str) {\r\n let p = 0;\r\n for (let i = 0; i < str.length; i++) {\r\n const c = str.charCodeAt(i);\r\n if (c < 128) {\r\n p++;\r\n }\r\n else if (c < 2048) {\r\n p += 2;\r\n }\r\n else if (c >= 0xd800 && c <= 0xdbff) {\r\n // Lead surrogate of a surrogate pair. The pair together will take 4 bytes to represent.\r\n p += 4;\r\n i++; // skip trail surrogate.\r\n }\r\n else {\r\n p += 3;\r\n }\r\n }\r\n return p;\r\n};\n\n/**\r\n * @license\r\n * Copyright 2022 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n/**\r\n * Copied from https://stackoverflow.com/a/2117523\r\n * Generates a new uuid.\r\n * @public\r\n */\r\nconst uuidv4 = function () {\r\n return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, c => {\r\n const r = (Math.random() * 16) | 0, v = c === 'x' ? r : (r & 0x3) | 0x8;\r\n return v.toString(16);\r\n });\r\n};\n\n/**\r\n * @license\r\n * Copyright 2019 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n/**\r\n * The amount of milliseconds to exponentially increase.\r\n */\r\nconst DEFAULT_INTERVAL_MILLIS = 1000;\r\n/**\r\n * The factor to backoff by.\r\n * Should be a number greater than 1.\r\n */\r\nconst DEFAULT_BACKOFF_FACTOR = 2;\r\n/**\r\n * The maximum milliseconds to increase to.\r\n *\r\n *

Visible for testing\r\n */\r\nconst MAX_VALUE_MILLIS = 4 * 60 * 60 * 1000; // Four hours, like iOS and Android.\r\n/**\r\n * The percentage of backoff time to randomize by.\r\n * See\r\n * http://go/safe-client-behavior#step-1-determine-the-appropriate-retry-interval-to-handle-spike-traffic\r\n * for context.\r\n *\r\n *

Visible for testing\r\n */\r\nconst RANDOM_FACTOR = 0.5;\r\n/**\r\n * Based on the backoff method from\r\n * https://github.com/google/closure-library/blob/master/closure/goog/math/exponentialbackoff.js.\r\n * Extracted here so we don't need to pass metadata and a stateful ExponentialBackoff object around.\r\n */\r\nfunction calculateBackoffMillis(backoffCount, intervalMillis = DEFAULT_INTERVAL_MILLIS, backoffFactor = DEFAULT_BACKOFF_FACTOR) {\r\n // Calculates an exponentially increasing value.\r\n // Deviation: calculates value from count and a constant interval, so we only need to save value\r\n // and count to restore state.\r\n const currBaseValue = intervalMillis * Math.pow(backoffFactor, backoffCount);\r\n // A random \"fuzz\" to avoid waves of retries.\r\n // Deviation: randomFactor is required.\r\n const randomWait = Math.round(\r\n // A fraction of the backoff value to add/subtract.\r\n // Deviation: changes multiplication order to improve readability.\r\n RANDOM_FACTOR *\r\n currBaseValue *\r\n // A random float (rounded to int by Math.round above) in the range [-1, 1]. Determines\r\n // if we add or subtract.\r\n (Math.random() - 0.5) *\r\n 2);\r\n // Limits backoff to max to avoid effectively permanent backoff.\r\n return Math.min(MAX_VALUE_MILLIS, currBaseValue + randomWait);\r\n}\n\n/**\r\n * @license\r\n * Copyright 2020 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n/**\r\n * Provide English ordinal letters after a number\r\n */\r\nfunction ordinal(i) {\r\n if (!Number.isFinite(i)) {\r\n return `${i}`;\r\n }\r\n return i + indicator(i);\r\n}\r\nfunction indicator(i) {\r\n i = Math.abs(i);\r\n const cent = i % 100;\r\n if (cent >= 10 && cent <= 20) {\r\n return 'th';\r\n }\r\n const dec = i % 10;\r\n if (dec === 1) {\r\n return 'st';\r\n }\r\n if (dec === 2) {\r\n return 'nd';\r\n }\r\n if (dec === 3) {\r\n return 'rd';\r\n }\r\n return 'th';\r\n}\n\n/**\r\n * @license\r\n * Copyright 2021 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\nfunction getModularInstance(service) {\r\n if (service && service._delegate) {\r\n return service._delegate;\r\n }\r\n else {\r\n return service;\r\n }\r\n}\n\nexport { CONSTANTS, DecodeBase64StringError, Deferred, ErrorFactory, FirebaseError, MAX_VALUE_MILLIS, RANDOM_FACTOR, Sha1, areCookiesEnabled, assert, assertionError, async, base64, base64Decode, base64Encode, base64urlEncodeWithoutPadding, calculateBackoffMillis, contains, createMockUserToken, createSubscribe, decode, deepCopy, deepEqual, deepExtend, errorPrefix, extractQuerystring, getDefaultAppConfig, getDefaultEmulatorHost, getDefaultEmulatorHostnameAndPort, getDefaults, getExperimentalSetting, getGlobal, getModularInstance, getUA, isAdmin, isBrowser, isBrowserExtension, isElectron, isEmpty, isIE, isIndexedDBAvailable, isMobileCordova, isNode, isNodeSdk, isReactNative, isSafari, isUWP, isValidFormat, isValidTimestamp, isWebWorker, issuedAtTime, jsonEval, map, ordinal, promiseWithTimeout, querystring, querystringDecode, safeGet, stringLength, stringToByteArray, stringify, uuidv4, validateArgCount, validateCallback, validateContextObject, validateIndexedDBOpenable, validateNamespace };\n//# sourceMappingURL=index.esm2017.js.map\n","import { Deferred } from '@firebase/util';\n\n/**\r\n * Component for service name T, e.g. `auth`, `auth-internal`\r\n */\r\nclass Component {\r\n /**\r\n *\r\n * @param name The public service name, e.g. app, auth, firestore, database\r\n * @param instanceFactory Service factory responsible for creating the public interface\r\n * @param type whether the service provided by the component is public or private\r\n */\r\n constructor(name, instanceFactory, type) {\r\n this.name = name;\r\n this.instanceFactory = instanceFactory;\r\n this.type = type;\r\n this.multipleInstances = false;\r\n /**\r\n * Properties to be added to the service namespace\r\n */\r\n this.serviceProps = {};\r\n this.instantiationMode = \"LAZY\" /* InstantiationMode.LAZY */;\r\n this.onInstanceCreated = null;\r\n }\r\n setInstantiationMode(mode) {\r\n this.instantiationMode = mode;\r\n return this;\r\n }\r\n setMultipleInstances(multipleInstances) {\r\n this.multipleInstances = multipleInstances;\r\n return this;\r\n }\r\n setServiceProps(props) {\r\n this.serviceProps = props;\r\n return this;\r\n }\r\n setInstanceCreatedCallback(callback) {\r\n this.onInstanceCreated = callback;\r\n return this;\r\n }\r\n}\n\n/**\r\n * @license\r\n * Copyright 2019 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\nconst DEFAULT_ENTRY_NAME = '[DEFAULT]';\n\n/**\r\n * @license\r\n * Copyright 2019 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n/**\r\n * Provider for instance for service name T, e.g. 'auth', 'auth-internal'\r\n * NameServiceMapping[T] is an alias for the type of the instance\r\n */\r\nclass Provider {\r\n constructor(name, container) {\r\n this.name = name;\r\n this.container = container;\r\n this.component = null;\r\n this.instances = new Map();\r\n this.instancesDeferred = new Map();\r\n this.instancesOptions = new Map();\r\n this.onInitCallbacks = new Map();\r\n }\r\n /**\r\n * @param identifier A provider can provide mulitple instances of a service\r\n * if this.component.multipleInstances is true.\r\n */\r\n get(identifier) {\r\n // if multipleInstances is not supported, use the default name\r\n const normalizedIdentifier = this.normalizeInstanceIdentifier(identifier);\r\n if (!this.instancesDeferred.has(normalizedIdentifier)) {\r\n const deferred = new Deferred();\r\n this.instancesDeferred.set(normalizedIdentifier, deferred);\r\n if (this.isInitialized(normalizedIdentifier) ||\r\n this.shouldAutoInitialize()) {\r\n // initialize the service if it can be auto-initialized\r\n try {\r\n const instance = this.getOrInitializeService({\r\n instanceIdentifier: normalizedIdentifier\r\n });\r\n if (instance) {\r\n deferred.resolve(instance);\r\n }\r\n }\r\n catch (e) {\r\n // when the instance factory throws an exception during get(), it should not cause\r\n // a fatal error. We just return the unresolved promise in this case.\r\n }\r\n }\r\n }\r\n return this.instancesDeferred.get(normalizedIdentifier).promise;\r\n }\r\n getImmediate(options) {\r\n var _a;\r\n // if multipleInstances is not supported, use the default name\r\n const normalizedIdentifier = this.normalizeInstanceIdentifier(options === null || options === void 0 ? void 0 : options.identifier);\r\n const optional = (_a = options === null || options === void 0 ? void 0 : options.optional) !== null && _a !== void 0 ? _a : false;\r\n if (this.isInitialized(normalizedIdentifier) ||\r\n this.shouldAutoInitialize()) {\r\n try {\r\n return this.getOrInitializeService({\r\n instanceIdentifier: normalizedIdentifier\r\n });\r\n }\r\n catch (e) {\r\n if (optional) {\r\n return null;\r\n }\r\n else {\r\n throw e;\r\n }\r\n }\r\n }\r\n else {\r\n // In case a component is not initialized and should/can not be auto-initialized at the moment, return null if the optional flag is set, or throw\r\n if (optional) {\r\n return null;\r\n }\r\n else {\r\n throw Error(`Service ${this.name} is not available`);\r\n }\r\n }\r\n }\r\n getComponent() {\r\n return this.component;\r\n }\r\n setComponent(component) {\r\n if (component.name !== this.name) {\r\n throw Error(`Mismatching Component ${component.name} for Provider ${this.name}.`);\r\n }\r\n if (this.component) {\r\n throw Error(`Component for ${this.name} has already been provided`);\r\n }\r\n this.component = component;\r\n // return early without attempting to initialize the component if the component requires explicit initialization (calling `Provider.initialize()`)\r\n if (!this.shouldAutoInitialize()) {\r\n return;\r\n }\r\n // if the service is eager, initialize the default instance\r\n if (isComponentEager(component)) {\r\n try {\r\n this.getOrInitializeService({ instanceIdentifier: DEFAULT_ENTRY_NAME });\r\n }\r\n catch (e) {\r\n // when the instance factory for an eager Component throws an exception during the eager\r\n // initialization, it should not cause a fatal error.\r\n // TODO: Investigate if we need to make it configurable, because some component may want to cause\r\n // a fatal error in this case?\r\n }\r\n }\r\n // Create service instances for the pending promises and resolve them\r\n // NOTE: if this.multipleInstances is false, only the default instance will be created\r\n // and all promises with resolve with it regardless of the identifier.\r\n for (const [instanceIdentifier, instanceDeferred] of this.instancesDeferred.entries()) {\r\n const normalizedIdentifier = this.normalizeInstanceIdentifier(instanceIdentifier);\r\n try {\r\n // `getOrInitializeService()` should always return a valid instance since a component is guaranteed. use ! to make typescript happy.\r\n const instance = this.getOrInitializeService({\r\n instanceIdentifier: normalizedIdentifier\r\n });\r\n instanceDeferred.resolve(instance);\r\n }\r\n catch (e) {\r\n // when the instance factory throws an exception, it should not cause\r\n // a fatal error. We just leave the promise unresolved.\r\n }\r\n }\r\n }\r\n clearInstance(identifier = DEFAULT_ENTRY_NAME) {\r\n this.instancesDeferred.delete(identifier);\r\n this.instancesOptions.delete(identifier);\r\n this.instances.delete(identifier);\r\n }\r\n // app.delete() will call this method on every provider to delete the services\r\n // TODO: should we mark the provider as deleted?\r\n async delete() {\r\n const services = Array.from(this.instances.values());\r\n await Promise.all([\r\n ...services\r\n .filter(service => 'INTERNAL' in service) // legacy services\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n .map(service => service.INTERNAL.delete()),\r\n ...services\r\n .filter(service => '_delete' in service) // modularized services\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n .map(service => service._delete())\r\n ]);\r\n }\r\n isComponentSet() {\r\n return this.component != null;\r\n }\r\n isInitialized(identifier = DEFAULT_ENTRY_NAME) {\r\n return this.instances.has(identifier);\r\n }\r\n getOptions(identifier = DEFAULT_ENTRY_NAME) {\r\n return this.instancesOptions.get(identifier) || {};\r\n }\r\n initialize(opts = {}) {\r\n const { options = {} } = opts;\r\n const normalizedIdentifier = this.normalizeInstanceIdentifier(opts.instanceIdentifier);\r\n if (this.isInitialized(normalizedIdentifier)) {\r\n throw Error(`${this.name}(${normalizedIdentifier}) has already been initialized`);\r\n }\r\n if (!this.isComponentSet()) {\r\n throw Error(`Component ${this.name} has not been registered yet`);\r\n }\r\n const instance = this.getOrInitializeService({\r\n instanceIdentifier: normalizedIdentifier,\r\n options\r\n });\r\n // resolve any pending promise waiting for the service instance\r\n for (const [instanceIdentifier, instanceDeferred] of this.instancesDeferred.entries()) {\r\n const normalizedDeferredIdentifier = this.normalizeInstanceIdentifier(instanceIdentifier);\r\n if (normalizedIdentifier === normalizedDeferredIdentifier) {\r\n instanceDeferred.resolve(instance);\r\n }\r\n }\r\n return instance;\r\n }\r\n /**\r\n *\r\n * @param callback - a function that will be invoked after the provider has been initialized by calling provider.initialize().\r\n * The function is invoked SYNCHRONOUSLY, so it should not execute any longrunning tasks in order to not block the program.\r\n *\r\n * @param identifier An optional instance identifier\r\n * @returns a function to unregister the callback\r\n */\r\n onInit(callback, identifier) {\r\n var _a;\r\n const normalizedIdentifier = this.normalizeInstanceIdentifier(identifier);\r\n const existingCallbacks = (_a = this.onInitCallbacks.get(normalizedIdentifier)) !== null && _a !== void 0 ? _a : new Set();\r\n existingCallbacks.add(callback);\r\n this.onInitCallbacks.set(normalizedIdentifier, existingCallbacks);\r\n const existingInstance = this.instances.get(normalizedIdentifier);\r\n if (existingInstance) {\r\n callback(existingInstance, normalizedIdentifier);\r\n }\r\n return () => {\r\n existingCallbacks.delete(callback);\r\n };\r\n }\r\n /**\r\n * Invoke onInit callbacks synchronously\r\n * @param instance the service instance`\r\n */\r\n invokeOnInitCallbacks(instance, identifier) {\r\n const callbacks = this.onInitCallbacks.get(identifier);\r\n if (!callbacks) {\r\n return;\r\n }\r\n for (const callback of callbacks) {\r\n try {\r\n callback(instance, identifier);\r\n }\r\n catch (_a) {\r\n // ignore errors in the onInit callback\r\n }\r\n }\r\n }\r\n getOrInitializeService({ instanceIdentifier, options = {} }) {\r\n let instance = this.instances.get(instanceIdentifier);\r\n if (!instance && this.component) {\r\n instance = this.component.instanceFactory(this.container, {\r\n instanceIdentifier: normalizeIdentifierForFactory(instanceIdentifier),\r\n options\r\n });\r\n this.instances.set(instanceIdentifier, instance);\r\n this.instancesOptions.set(instanceIdentifier, options);\r\n /**\r\n * Invoke onInit listeners.\r\n * Note this.component.onInstanceCreated is different, which is used by the component creator,\r\n * while onInit listeners are registered by consumers of the provider.\r\n */\r\n this.invokeOnInitCallbacks(instance, instanceIdentifier);\r\n /**\r\n * Order is important\r\n * onInstanceCreated() should be called after this.instances.set(instanceIdentifier, instance); which\r\n * makes `isInitialized()` return true.\r\n */\r\n if (this.component.onInstanceCreated) {\r\n try {\r\n this.component.onInstanceCreated(this.container, instanceIdentifier, instance);\r\n }\r\n catch (_a) {\r\n // ignore errors in the onInstanceCreatedCallback\r\n }\r\n }\r\n }\r\n return instance || null;\r\n }\r\n normalizeInstanceIdentifier(identifier = DEFAULT_ENTRY_NAME) {\r\n if (this.component) {\r\n return this.component.multipleInstances ? identifier : DEFAULT_ENTRY_NAME;\r\n }\r\n else {\r\n return identifier; // assume multiple instances are supported before the component is provided.\r\n }\r\n }\r\n shouldAutoInitialize() {\r\n return (!!this.component &&\r\n this.component.instantiationMode !== \"EXPLICIT\" /* InstantiationMode.EXPLICIT */);\r\n }\r\n}\r\n// undefined should be passed to the service factory for the default instance\r\nfunction normalizeIdentifierForFactory(identifier) {\r\n return identifier === DEFAULT_ENTRY_NAME ? undefined : identifier;\r\n}\r\nfunction isComponentEager(component) {\r\n return component.instantiationMode === \"EAGER\" /* InstantiationMode.EAGER */;\r\n}\n\n/**\r\n * @license\r\n * Copyright 2019 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n/**\r\n * ComponentContainer that provides Providers for service name T, e.g. `auth`, `auth-internal`\r\n */\r\nclass ComponentContainer {\r\n constructor(name) {\r\n this.name = name;\r\n this.providers = new Map();\r\n }\r\n /**\r\n *\r\n * @param component Component being added\r\n * @param overwrite When a component with the same name has already been registered,\r\n * if overwrite is true: overwrite the existing component with the new component and create a new\r\n * provider with the new component. It can be useful in tests where you want to use different mocks\r\n * for different tests.\r\n * if overwrite is false: throw an exception\r\n */\r\n addComponent(component) {\r\n const provider = this.getProvider(component.name);\r\n if (provider.isComponentSet()) {\r\n throw new Error(`Component ${component.name} has already been registered with ${this.name}`);\r\n }\r\n provider.setComponent(component);\r\n }\r\n addOrOverwriteComponent(component) {\r\n const provider = this.getProvider(component.name);\r\n if (provider.isComponentSet()) {\r\n // delete the existing provider from the container, so we can register the new component\r\n this.providers.delete(component.name);\r\n }\r\n this.addComponent(component);\r\n }\r\n /**\r\n * getProvider provides a type safe interface where it can only be called with a field name\r\n * present in NameServiceMapping interface.\r\n *\r\n * Firebase SDKs providing services should extend NameServiceMapping interface to register\r\n * themselves.\r\n */\r\n getProvider(name) {\r\n if (this.providers.has(name)) {\r\n return this.providers.get(name);\r\n }\r\n // create a Provider for a service that hasn't registered with Firebase\r\n const provider = new Provider(name, this);\r\n this.providers.set(name, provider);\r\n return provider;\r\n }\r\n getProviders() {\r\n return Array.from(this.providers.values());\r\n }\r\n}\n\nexport { Component, ComponentContainer, Provider };\n//# sourceMappingURL=index.esm2017.js.map\n","/**\r\n * @license\r\n * Copyright 2017 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n/**\r\n * A container for all of the Logger instances\r\n */\r\nconst instances = [];\r\n/**\r\n * The JS SDK supports 5 log levels and also allows a user the ability to\r\n * silence the logs altogether.\r\n *\r\n * The order is a follows:\r\n * DEBUG < VERBOSE < INFO < WARN < ERROR\r\n *\r\n * All of the log types above the current log level will be captured (i.e. if\r\n * you set the log level to `INFO`, errors will still be logged, but `DEBUG` and\r\n * `VERBOSE` logs will not)\r\n */\r\nvar LogLevel;\r\n(function (LogLevel) {\r\n LogLevel[LogLevel[\"DEBUG\"] = 0] = \"DEBUG\";\r\n LogLevel[LogLevel[\"VERBOSE\"] = 1] = \"VERBOSE\";\r\n LogLevel[LogLevel[\"INFO\"] = 2] = \"INFO\";\r\n LogLevel[LogLevel[\"WARN\"] = 3] = \"WARN\";\r\n LogLevel[LogLevel[\"ERROR\"] = 4] = \"ERROR\";\r\n LogLevel[LogLevel[\"SILENT\"] = 5] = \"SILENT\";\r\n})(LogLevel || (LogLevel = {}));\r\nconst levelStringToEnum = {\r\n 'debug': LogLevel.DEBUG,\r\n 'verbose': LogLevel.VERBOSE,\r\n 'info': LogLevel.INFO,\r\n 'warn': LogLevel.WARN,\r\n 'error': LogLevel.ERROR,\r\n 'silent': LogLevel.SILENT\r\n};\r\n/**\r\n * The default log level\r\n */\r\nconst defaultLogLevel = LogLevel.INFO;\r\n/**\r\n * By default, `console.debug` is not displayed in the developer console (in\r\n * chrome). To avoid forcing users to have to opt-in to these logs twice\r\n * (i.e. once for firebase, and once in the console), we are sending `DEBUG`\r\n * logs to the `console.log` function.\r\n */\r\nconst ConsoleMethod = {\r\n [LogLevel.DEBUG]: 'log',\r\n [LogLevel.VERBOSE]: 'log',\r\n [LogLevel.INFO]: 'info',\r\n [LogLevel.WARN]: 'warn',\r\n [LogLevel.ERROR]: 'error'\r\n};\r\n/**\r\n * The default log handler will forward DEBUG, VERBOSE, INFO, WARN, and ERROR\r\n * messages on to their corresponding console counterparts (if the log method\r\n * is supported by the current log level)\r\n */\r\nconst defaultLogHandler = (instance, logType, ...args) => {\r\n if (logType < instance.logLevel) {\r\n return;\r\n }\r\n const now = new Date().toISOString();\r\n const method = ConsoleMethod[logType];\r\n if (method) {\r\n console[method](`[${now}] ${instance.name}:`, ...args);\r\n }\r\n else {\r\n throw new Error(`Attempted to log a message with an invalid logType (value: ${logType})`);\r\n }\r\n};\r\nclass Logger {\r\n /**\r\n * Gives you an instance of a Logger to capture messages according to\r\n * Firebase's logging scheme.\r\n *\r\n * @param name The name that the logs will be associated with\r\n */\r\n constructor(name) {\r\n this.name = name;\r\n /**\r\n * The log level of the given Logger instance.\r\n */\r\n this._logLevel = defaultLogLevel;\r\n /**\r\n * The main (internal) log handler for the Logger instance.\r\n * Can be set to a new function in internal package code but not by user.\r\n */\r\n this._logHandler = defaultLogHandler;\r\n /**\r\n * The optional, additional, user-defined log handler for the Logger instance.\r\n */\r\n this._userLogHandler = null;\r\n /**\r\n * Capture the current instance for later use\r\n */\r\n instances.push(this);\r\n }\r\n get logLevel() {\r\n return this._logLevel;\r\n }\r\n set logLevel(val) {\r\n if (!(val in LogLevel)) {\r\n throw new TypeError(`Invalid value \"${val}\" assigned to \\`logLevel\\``);\r\n }\r\n this._logLevel = val;\r\n }\r\n // Workaround for setter/getter having to be the same type.\r\n setLogLevel(val) {\r\n this._logLevel = typeof val === 'string' ? levelStringToEnum[val] : val;\r\n }\r\n get logHandler() {\r\n return this._logHandler;\r\n }\r\n set logHandler(val) {\r\n if (typeof val !== 'function') {\r\n throw new TypeError('Value assigned to `logHandler` must be a function');\r\n }\r\n this._logHandler = val;\r\n }\r\n get userLogHandler() {\r\n return this._userLogHandler;\r\n }\r\n set userLogHandler(val) {\r\n this._userLogHandler = val;\r\n }\r\n /**\r\n * The functions below are all based on the `console` interface\r\n */\r\n debug(...args) {\r\n this._userLogHandler && this._userLogHandler(this, LogLevel.DEBUG, ...args);\r\n this._logHandler(this, LogLevel.DEBUG, ...args);\r\n }\r\n log(...args) {\r\n this._userLogHandler &&\r\n this._userLogHandler(this, LogLevel.VERBOSE, ...args);\r\n this._logHandler(this, LogLevel.VERBOSE, ...args);\r\n }\r\n info(...args) {\r\n this._userLogHandler && this._userLogHandler(this, LogLevel.INFO, ...args);\r\n this._logHandler(this, LogLevel.INFO, ...args);\r\n }\r\n warn(...args) {\r\n this._userLogHandler && this._userLogHandler(this, LogLevel.WARN, ...args);\r\n this._logHandler(this, LogLevel.WARN, ...args);\r\n }\r\n error(...args) {\r\n this._userLogHandler && this._userLogHandler(this, LogLevel.ERROR, ...args);\r\n this._logHandler(this, LogLevel.ERROR, ...args);\r\n }\r\n}\r\nfunction setLogLevel(level) {\r\n instances.forEach(inst => {\r\n inst.setLogLevel(level);\r\n });\r\n}\r\nfunction setUserLogHandler(logCallback, options) {\r\n for (const instance of instances) {\r\n let customLogLevel = null;\r\n if (options && options.level) {\r\n customLogLevel = levelStringToEnum[options.level];\r\n }\r\n if (logCallback === null) {\r\n instance.userLogHandler = null;\r\n }\r\n else {\r\n instance.userLogHandler = (instance, level, ...args) => {\r\n const message = args\r\n .map(arg => {\r\n if (arg == null) {\r\n return null;\r\n }\r\n else if (typeof arg === 'string') {\r\n return arg;\r\n }\r\n else if (typeof arg === 'number' || typeof arg === 'boolean') {\r\n return arg.toString();\r\n }\r\n else if (arg instanceof Error) {\r\n return arg.message;\r\n }\r\n else {\r\n try {\r\n return JSON.stringify(arg);\r\n }\r\n catch (ignored) {\r\n return null;\r\n }\r\n }\r\n })\r\n .filter(arg => arg)\r\n .join(' ');\r\n if (level >= (customLogLevel !== null && customLogLevel !== void 0 ? customLogLevel : instance.logLevel)) {\r\n logCallback({\r\n level: LogLevel[level].toLowerCase(),\r\n message,\r\n args,\r\n type: instance.name\r\n });\r\n }\r\n };\r\n }\r\n }\r\n}\n\nexport { LogLevel, Logger, setLogLevel, setUserLogHandler };\n//# sourceMappingURL=index.esm2017.js.map\n","const instanceOfAny = (object, constructors) => constructors.some((c) => object instanceof c);\n\nlet idbProxyableTypes;\nlet cursorAdvanceMethods;\n// This is a function to prevent it throwing up in node environments.\nfunction getIdbProxyableTypes() {\n return (idbProxyableTypes ||\n (idbProxyableTypes = [\n IDBDatabase,\n IDBObjectStore,\n IDBIndex,\n IDBCursor,\n IDBTransaction,\n ]));\n}\n// This is a function to prevent it throwing up in node environments.\nfunction getCursorAdvanceMethods() {\n return (cursorAdvanceMethods ||\n (cursorAdvanceMethods = [\n IDBCursor.prototype.advance,\n IDBCursor.prototype.continue,\n IDBCursor.prototype.continuePrimaryKey,\n ]));\n}\nconst cursorRequestMap = new WeakMap();\nconst transactionDoneMap = new WeakMap();\nconst transactionStoreNamesMap = new WeakMap();\nconst transformCache = new WeakMap();\nconst reverseTransformCache = new WeakMap();\nfunction promisifyRequest(request) {\n const promise = new Promise((resolve, reject) => {\n const unlisten = () => {\n request.removeEventListener('success', success);\n request.removeEventListener('error', error);\n };\n const success = () => {\n resolve(wrap(request.result));\n unlisten();\n };\n const error = () => {\n reject(request.error);\n unlisten();\n };\n request.addEventListener('success', success);\n request.addEventListener('error', error);\n });\n promise\n .then((value) => {\n // Since cursoring reuses the IDBRequest (*sigh*), we cache it for later retrieval\n // (see wrapFunction).\n if (value instanceof IDBCursor) {\n cursorRequestMap.set(value, request);\n }\n // Catching to avoid \"Uncaught Promise exceptions\"\n })\n .catch(() => { });\n // This mapping exists in reverseTransformCache but doesn't doesn't exist in transformCache. This\n // is because we create many promises from a single IDBRequest.\n reverseTransformCache.set(promise, request);\n return promise;\n}\nfunction cacheDonePromiseForTransaction(tx) {\n // Early bail if we've already created a done promise for this transaction.\n if (transactionDoneMap.has(tx))\n return;\n const done = new Promise((resolve, reject) => {\n const unlisten = () => {\n tx.removeEventListener('complete', complete);\n tx.removeEventListener('error', error);\n tx.removeEventListener('abort', error);\n };\n const complete = () => {\n resolve();\n unlisten();\n };\n const error = () => {\n reject(tx.error || new DOMException('AbortError', 'AbortError'));\n unlisten();\n };\n tx.addEventListener('complete', complete);\n tx.addEventListener('error', error);\n tx.addEventListener('abort', error);\n });\n // Cache it for later retrieval.\n transactionDoneMap.set(tx, done);\n}\nlet idbProxyTraps = {\n get(target, prop, receiver) {\n if (target instanceof IDBTransaction) {\n // Special handling for transaction.done.\n if (prop === 'done')\n return transactionDoneMap.get(target);\n // Polyfill for objectStoreNames because of Edge.\n if (prop === 'objectStoreNames') {\n return target.objectStoreNames || transactionStoreNamesMap.get(target);\n }\n // Make tx.store return the only store in the transaction, or undefined if there are many.\n if (prop === 'store') {\n return receiver.objectStoreNames[1]\n ? undefined\n : receiver.objectStore(receiver.objectStoreNames[0]);\n }\n }\n // Else transform whatever we get back.\n return wrap(target[prop]);\n },\n set(target, prop, value) {\n target[prop] = value;\n return true;\n },\n has(target, prop) {\n if (target instanceof IDBTransaction &&\n (prop === 'done' || prop === 'store')) {\n return true;\n }\n return prop in target;\n },\n};\nfunction replaceTraps(callback) {\n idbProxyTraps = callback(idbProxyTraps);\n}\nfunction wrapFunction(func) {\n // Due to expected object equality (which is enforced by the caching in `wrap`), we\n // only create one new func per func.\n // Edge doesn't support objectStoreNames (booo), so we polyfill it here.\n if (func === IDBDatabase.prototype.transaction &&\n !('objectStoreNames' in IDBTransaction.prototype)) {\n return function (storeNames, ...args) {\n const tx = func.call(unwrap(this), storeNames, ...args);\n transactionStoreNamesMap.set(tx, storeNames.sort ? storeNames.sort() : [storeNames]);\n return wrap(tx);\n };\n }\n // Cursor methods are special, as the behaviour is a little more different to standard IDB. In\n // IDB, you advance the cursor and wait for a new 'success' on the IDBRequest that gave you the\n // cursor. It's kinda like a promise that can resolve with many values. That doesn't make sense\n // with real promises, so each advance methods returns a new promise for the cursor object, or\n // undefined if the end of the cursor has been reached.\n if (getCursorAdvanceMethods().includes(func)) {\n return function (...args) {\n // Calling the original function with the proxy as 'this' causes ILLEGAL INVOCATION, so we use\n // the original object.\n func.apply(unwrap(this), args);\n return wrap(cursorRequestMap.get(this));\n };\n }\n return function (...args) {\n // Calling the original function with the proxy as 'this' causes ILLEGAL INVOCATION, so we use\n // the original object.\n return wrap(func.apply(unwrap(this), args));\n };\n}\nfunction transformCachableValue(value) {\n if (typeof value === 'function')\n return wrapFunction(value);\n // This doesn't return, it just creates a 'done' promise for the transaction,\n // which is later returned for transaction.done (see idbObjectHandler).\n if (value instanceof IDBTransaction)\n cacheDonePromiseForTransaction(value);\n if (instanceOfAny(value, getIdbProxyableTypes()))\n return new Proxy(value, idbProxyTraps);\n // Return the same value back if we're not going to transform it.\n return value;\n}\nfunction wrap(value) {\n // We sometimes generate multiple promises from a single IDBRequest (eg when cursoring), because\n // IDB is weird and a single IDBRequest can yield many responses, so these can't be cached.\n if (value instanceof IDBRequest)\n return promisifyRequest(value);\n // If we've already transformed this value before, reuse the transformed value.\n // This is faster, but it also provides object equality.\n if (transformCache.has(value))\n return transformCache.get(value);\n const newValue = transformCachableValue(value);\n // Not all types are transformed.\n // These may be primitive types, so they can't be WeakMap keys.\n if (newValue !== value) {\n transformCache.set(value, newValue);\n reverseTransformCache.set(newValue, value);\n }\n return newValue;\n}\nconst unwrap = (value) => reverseTransformCache.get(value);\n\nexport { reverseTransformCache as a, instanceOfAny as i, replaceTraps as r, unwrap as u, wrap as w };\n","import { w as wrap, r as replaceTraps } from './wrap-idb-value.js';\nexport { u as unwrap, w as wrap } from './wrap-idb-value.js';\n\n/**\n * Open a database.\n *\n * @param name Name of the database.\n * @param version Schema version.\n * @param callbacks Additional callbacks.\n */\nfunction openDB(name, version, { blocked, upgrade, blocking, terminated } = {}) {\n const request = indexedDB.open(name, version);\n const openPromise = wrap(request);\n if (upgrade) {\n request.addEventListener('upgradeneeded', (event) => {\n upgrade(wrap(request.result), event.oldVersion, event.newVersion, wrap(request.transaction), event);\n });\n }\n if (blocked) {\n request.addEventListener('blocked', (event) => blocked(\n // Casting due to https://github.com/microsoft/TypeScript-DOM-lib-generator/pull/1405\n event.oldVersion, event.newVersion, event));\n }\n openPromise\n .then((db) => {\n if (terminated)\n db.addEventListener('close', () => terminated());\n if (blocking) {\n db.addEventListener('versionchange', (event) => blocking(event.oldVersion, event.newVersion, event));\n }\n })\n .catch(() => { });\n return openPromise;\n}\n/**\n * Delete a database.\n *\n * @param name Name of the database.\n */\nfunction deleteDB(name, { blocked } = {}) {\n const request = indexedDB.deleteDatabase(name);\n if (blocked) {\n request.addEventListener('blocked', (event) => blocked(\n // Casting due to https://github.com/microsoft/TypeScript-DOM-lib-generator/pull/1405\n event.oldVersion, event));\n }\n return wrap(request).then(() => undefined);\n}\n\nconst readMethods = ['get', 'getKey', 'getAll', 'getAllKeys', 'count'];\nconst writeMethods = ['put', 'add', 'delete', 'clear'];\nconst cachedMethods = new Map();\nfunction getMethod(target, prop) {\n if (!(target instanceof IDBDatabase &&\n !(prop in target) &&\n typeof prop === 'string')) {\n return;\n }\n if (cachedMethods.get(prop))\n return cachedMethods.get(prop);\n const targetFuncName = prop.replace(/FromIndex$/, '');\n const useIndex = prop !== targetFuncName;\n const isWrite = writeMethods.includes(targetFuncName);\n if (\n // Bail if the target doesn't exist on the target. Eg, getAll isn't in Edge.\n !(targetFuncName in (useIndex ? IDBIndex : IDBObjectStore).prototype) ||\n !(isWrite || readMethods.includes(targetFuncName))) {\n return;\n }\n const method = async function (storeName, ...args) {\n // isWrite ? 'readwrite' : undefined gzipps better, but fails in Edge :(\n const tx = this.transaction(storeName, isWrite ? 'readwrite' : 'readonly');\n let target = tx.store;\n if (useIndex)\n target = target.index(args.shift());\n // Must reject if op rejects.\n // If it's a write operation, must reject if tx.done rejects.\n // Must reject with op rejection first.\n // Must resolve with op value.\n // Must handle both promises (no unhandled rejections)\n return (await Promise.all([\n target[targetFuncName](...args),\n isWrite && tx.done,\n ]))[0];\n };\n cachedMethods.set(prop, method);\n return method;\n}\nreplaceTraps((oldTraps) => ({\n ...oldTraps,\n get: (target, prop, receiver) => getMethod(target, prop) || oldTraps.get(target, prop, receiver),\n has: (target, prop) => !!getMethod(target, prop) || oldTraps.has(target, prop),\n}));\n\nexport { deleteDB, openDB };\n","import { Component, ComponentContainer } from '@firebase/component';\nimport { Logger, setUserLogHandler, setLogLevel as setLogLevel$1 } from '@firebase/logger';\nimport { ErrorFactory, getDefaultAppConfig, deepEqual, isBrowser, isWebWorker, FirebaseError, base64urlEncodeWithoutPadding, isIndexedDBAvailable, validateIndexedDBOpenable } from '@firebase/util';\nexport { FirebaseError } from '@firebase/util';\nimport { openDB } from 'idb';\n\n/**\r\n * @license\r\n * Copyright 2019 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\nclass PlatformLoggerServiceImpl {\r\n constructor(container) {\r\n this.container = container;\r\n }\r\n // In initial implementation, this will be called by installations on\r\n // auth token refresh, and installations will send this string.\r\n getPlatformInfoString() {\r\n const providers = this.container.getProviders();\r\n // Loop through providers and get library/version pairs from any that are\r\n // version components.\r\n return providers\r\n .map(provider => {\r\n if (isVersionServiceProvider(provider)) {\r\n const service = provider.getImmediate();\r\n return `${service.library}/${service.version}`;\r\n }\r\n else {\r\n return null;\r\n }\r\n })\r\n .filter(logString => logString)\r\n .join(' ');\r\n }\r\n}\r\n/**\r\n *\r\n * @param provider check if this provider provides a VersionService\r\n *\r\n * NOTE: Using Provider<'app-version'> is a hack to indicate that the provider\r\n * provides VersionService. The provider is not necessarily a 'app-version'\r\n * provider.\r\n */\r\nfunction isVersionServiceProvider(provider) {\r\n const component = provider.getComponent();\r\n return (component === null || component === void 0 ? void 0 : component.type) === \"VERSION\" /* ComponentType.VERSION */;\r\n}\n\nconst name$p = \"@firebase/app\";\nconst version$1 = \"0.10.8\";\n\n/**\r\n * @license\r\n * Copyright 2019 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\nconst logger = new Logger('@firebase/app');\n\nconst name$o = \"@firebase/app-compat\";\n\nconst name$n = \"@firebase/analytics-compat\";\n\nconst name$m = \"@firebase/analytics\";\n\nconst name$l = \"@firebase/app-check-compat\";\n\nconst name$k = \"@firebase/app-check\";\n\nconst name$j = \"@firebase/auth\";\n\nconst name$i = \"@firebase/auth-compat\";\n\nconst name$h = \"@firebase/database\";\n\nconst name$g = \"@firebase/database-compat\";\n\nconst name$f = \"@firebase/functions\";\n\nconst name$e = \"@firebase/functions-compat\";\n\nconst name$d = \"@firebase/installations\";\n\nconst name$c = \"@firebase/installations-compat\";\n\nconst name$b = \"@firebase/messaging\";\n\nconst name$a = \"@firebase/messaging-compat\";\n\nconst name$9 = \"@firebase/performance\";\n\nconst name$8 = \"@firebase/performance-compat\";\n\nconst name$7 = \"@firebase/remote-config\";\n\nconst name$6 = \"@firebase/remote-config-compat\";\n\nconst name$5 = \"@firebase/storage\";\n\nconst name$4 = \"@firebase/storage-compat\";\n\nconst name$3 = \"@firebase/firestore\";\n\nconst name$2 = \"@firebase/vertexai-preview\";\n\nconst name$1 = \"@firebase/firestore-compat\";\n\nconst name = \"firebase\";\nconst version = \"10.12.5\";\n\n/**\r\n * @license\r\n * Copyright 2019 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n/**\r\n * The default app name\r\n *\r\n * @internal\r\n */\r\nconst DEFAULT_ENTRY_NAME = '[DEFAULT]';\r\nconst PLATFORM_LOG_STRING = {\r\n [name$p]: 'fire-core',\r\n [name$o]: 'fire-core-compat',\r\n [name$m]: 'fire-analytics',\r\n [name$n]: 'fire-analytics-compat',\r\n [name$k]: 'fire-app-check',\r\n [name$l]: 'fire-app-check-compat',\r\n [name$j]: 'fire-auth',\r\n [name$i]: 'fire-auth-compat',\r\n [name$h]: 'fire-rtdb',\r\n [name$g]: 'fire-rtdb-compat',\r\n [name$f]: 'fire-fn',\r\n [name$e]: 'fire-fn-compat',\r\n [name$d]: 'fire-iid',\r\n [name$c]: 'fire-iid-compat',\r\n [name$b]: 'fire-fcm',\r\n [name$a]: 'fire-fcm-compat',\r\n [name$9]: 'fire-perf',\r\n [name$8]: 'fire-perf-compat',\r\n [name$7]: 'fire-rc',\r\n [name$6]: 'fire-rc-compat',\r\n [name$5]: 'fire-gcs',\r\n [name$4]: 'fire-gcs-compat',\r\n [name$3]: 'fire-fst',\r\n [name$1]: 'fire-fst-compat',\r\n [name$2]: 'fire-vertex',\r\n 'fire-js': 'fire-js',\r\n [name]: 'fire-js-all'\r\n};\n\n/**\r\n * @license\r\n * Copyright 2019 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n/**\r\n * @internal\r\n */\r\nconst _apps = new Map();\r\n/**\r\n * @internal\r\n */\r\nconst _serverApps = new Map();\r\n/**\r\n * Registered components.\r\n *\r\n * @internal\r\n */\r\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\r\nconst _components = new Map();\r\n/**\r\n * @param component - the component being added to this app's container\r\n *\r\n * @internal\r\n */\r\nfunction _addComponent(app, component) {\r\n try {\r\n app.container.addComponent(component);\r\n }\r\n catch (e) {\r\n logger.debug(`Component ${component.name} failed to register with FirebaseApp ${app.name}`, e);\r\n }\r\n}\r\n/**\r\n *\r\n * @internal\r\n */\r\nfunction _addOrOverwriteComponent(app, component) {\r\n app.container.addOrOverwriteComponent(component);\r\n}\r\n/**\r\n *\r\n * @param component - the component to register\r\n * @returns whether or not the component is registered successfully\r\n *\r\n * @internal\r\n */\r\nfunction _registerComponent(component) {\r\n const componentName = component.name;\r\n if (_components.has(componentName)) {\r\n logger.debug(`There were multiple attempts to register component ${componentName}.`);\r\n return false;\r\n }\r\n _components.set(componentName, component);\r\n // add the component to existing app instances\r\n for (const app of _apps.values()) {\r\n _addComponent(app, component);\r\n }\r\n for (const serverApp of _serverApps.values()) {\r\n _addComponent(serverApp, component);\r\n }\r\n return true;\r\n}\r\n/**\r\n *\r\n * @param app - FirebaseApp instance\r\n * @param name - service name\r\n *\r\n * @returns the provider for the service with the matching name\r\n *\r\n * @internal\r\n */\r\nfunction _getProvider(app, name) {\r\n const heartbeatController = app.container\r\n .getProvider('heartbeat')\r\n .getImmediate({ optional: true });\r\n if (heartbeatController) {\r\n void heartbeatController.triggerHeartbeat();\r\n }\r\n return app.container.getProvider(name);\r\n}\r\n/**\r\n *\r\n * @param app - FirebaseApp instance\r\n * @param name - service name\r\n * @param instanceIdentifier - service instance identifier in case the service supports multiple instances\r\n *\r\n * @internal\r\n */\r\nfunction _removeServiceInstance(app, name, instanceIdentifier = DEFAULT_ENTRY_NAME) {\r\n _getProvider(app, name).clearInstance(instanceIdentifier);\r\n}\r\n/**\r\n *\r\n * @param obj - an object of type FirebaseApp or FirebaseOptions.\r\n *\r\n * @returns true if the provide object is of type FirebaseApp.\r\n *\r\n * @internal\r\n */\r\nfunction _isFirebaseApp(obj) {\r\n return obj.options !== undefined;\r\n}\r\n/**\r\n *\r\n * @param obj - an object of type FirebaseApp.\r\n *\r\n * @returns true if the provided object is of type FirebaseServerAppImpl.\r\n *\r\n * @internal\r\n */\r\nfunction _isFirebaseServerApp(obj) {\r\n return obj.settings !== undefined;\r\n}\r\n/**\r\n * Test only\r\n *\r\n * @internal\r\n */\r\nfunction _clearComponents() {\r\n _components.clear();\r\n}\n\n/**\r\n * @license\r\n * Copyright 2019 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\nconst ERRORS = {\r\n [\"no-app\" /* AppError.NO_APP */]: \"No Firebase App '{$appName}' has been created - \" +\r\n 'call initializeApp() first',\r\n [\"bad-app-name\" /* AppError.BAD_APP_NAME */]: \"Illegal App name: '{$appName}'\",\r\n [\"duplicate-app\" /* AppError.DUPLICATE_APP */]: \"Firebase App named '{$appName}' already exists with different options or config\",\r\n [\"app-deleted\" /* AppError.APP_DELETED */]: \"Firebase App named '{$appName}' already deleted\",\r\n [\"server-app-deleted\" /* AppError.SERVER_APP_DELETED */]: 'Firebase Server App has been deleted',\r\n [\"no-options\" /* AppError.NO_OPTIONS */]: 'Need to provide options, when not being deployed to hosting via source.',\r\n [\"invalid-app-argument\" /* AppError.INVALID_APP_ARGUMENT */]: 'firebase.{$appName}() takes either no argument or a ' +\r\n 'Firebase App instance.',\r\n [\"invalid-log-argument\" /* AppError.INVALID_LOG_ARGUMENT */]: 'First argument to `onLog` must be null or a function.',\r\n [\"idb-open\" /* AppError.IDB_OPEN */]: 'Error thrown when opening IndexedDB. Original error: {$originalErrorMessage}.',\r\n [\"idb-get\" /* AppError.IDB_GET */]: 'Error thrown when reading from IndexedDB. Original error: {$originalErrorMessage}.',\r\n [\"idb-set\" /* AppError.IDB_WRITE */]: 'Error thrown when writing to IndexedDB. Original error: {$originalErrorMessage}.',\r\n [\"idb-delete\" /* AppError.IDB_DELETE */]: 'Error thrown when deleting from IndexedDB. Original error: {$originalErrorMessage}.',\r\n [\"finalization-registry-not-supported\" /* AppError.FINALIZATION_REGISTRY_NOT_SUPPORTED */]: 'FirebaseServerApp deleteOnDeref field defined but the JS runtime does not support FinalizationRegistry.',\r\n [\"invalid-server-app-environment\" /* AppError.INVALID_SERVER_APP_ENVIRONMENT */]: 'FirebaseServerApp is not for use in browser environments.'\r\n};\r\nconst ERROR_FACTORY = new ErrorFactory('app', 'Firebase', ERRORS);\n\n/**\r\n * @license\r\n * Copyright 2019 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\nclass FirebaseAppImpl {\r\n constructor(options, config, container) {\r\n this._isDeleted = false;\r\n this._options = Object.assign({}, options);\r\n this._config = Object.assign({}, config);\r\n this._name = config.name;\r\n this._automaticDataCollectionEnabled =\r\n config.automaticDataCollectionEnabled;\r\n this._container = container;\r\n this.container.addComponent(new Component('app', () => this, \"PUBLIC\" /* ComponentType.PUBLIC */));\r\n }\r\n get automaticDataCollectionEnabled() {\r\n this.checkDestroyed();\r\n return this._automaticDataCollectionEnabled;\r\n }\r\n set automaticDataCollectionEnabled(val) {\r\n this.checkDestroyed();\r\n this._automaticDataCollectionEnabled = val;\r\n }\r\n get name() {\r\n this.checkDestroyed();\r\n return this._name;\r\n }\r\n get options() {\r\n this.checkDestroyed();\r\n return this._options;\r\n }\r\n get config() {\r\n this.checkDestroyed();\r\n return this._config;\r\n }\r\n get container() {\r\n return this._container;\r\n }\r\n get isDeleted() {\r\n return this._isDeleted;\r\n }\r\n set isDeleted(val) {\r\n this._isDeleted = val;\r\n }\r\n /**\r\n * This function will throw an Error if the App has already been deleted -\r\n * use before performing API actions on the App.\r\n */\r\n checkDestroyed() {\r\n if (this.isDeleted) {\r\n throw ERROR_FACTORY.create(\"app-deleted\" /* AppError.APP_DELETED */, { appName: this._name });\r\n }\r\n }\r\n}\n\n/**\r\n * @license\r\n * Copyright 2023 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\nclass FirebaseServerAppImpl extends FirebaseAppImpl {\r\n constructor(options, serverConfig, name, container) {\r\n // Build configuration parameters for the FirebaseAppImpl base class.\r\n const automaticDataCollectionEnabled = serverConfig.automaticDataCollectionEnabled !== undefined\r\n ? serverConfig.automaticDataCollectionEnabled\r\n : false;\r\n // Create the FirebaseAppSettings object for the FirebaseAppImp constructor.\r\n const config = {\r\n name,\r\n automaticDataCollectionEnabled\r\n };\r\n if (options.apiKey !== undefined) {\r\n // Construct the parent FirebaseAppImp object.\r\n super(options, config, container);\r\n }\r\n else {\r\n const appImpl = options;\r\n super(appImpl.options, config, container);\r\n }\r\n // Now construct the data for the FirebaseServerAppImpl.\r\n this._serverConfig = Object.assign({ automaticDataCollectionEnabled }, serverConfig);\r\n this._finalizationRegistry = null;\r\n if (typeof FinalizationRegistry !== 'undefined') {\r\n this._finalizationRegistry = new FinalizationRegistry(() => {\r\n this.automaticCleanup();\r\n });\r\n }\r\n this._refCount = 0;\r\n this.incRefCount(this._serverConfig.releaseOnDeref);\r\n // Do not retain a hard reference to the dref object, otherwise the FinalizationRegistry\r\n // will never trigger.\r\n this._serverConfig.releaseOnDeref = undefined;\r\n serverConfig.releaseOnDeref = undefined;\r\n registerVersion(name$p, version$1, 'serverapp');\r\n }\r\n toJSON() {\r\n return undefined;\r\n }\r\n get refCount() {\r\n return this._refCount;\r\n }\r\n // Increment the reference count of this server app. If an object is provided, register it\r\n // with the finalization registry.\r\n incRefCount(obj) {\r\n if (this.isDeleted) {\r\n return;\r\n }\r\n this._refCount++;\r\n if (obj !== undefined && this._finalizationRegistry !== null) {\r\n this._finalizationRegistry.register(obj, this);\r\n }\r\n }\r\n // Decrement the reference count.\r\n decRefCount() {\r\n if (this.isDeleted) {\r\n return 0;\r\n }\r\n return --this._refCount;\r\n }\r\n // Invoked by the FinalizationRegistry callback to note that this app should go through its\r\n // reference counts and delete itself if no reference count remain. The coordinating logic that\r\n // handles this is in deleteApp(...).\r\n automaticCleanup() {\r\n void deleteApp(this);\r\n }\r\n get settings() {\r\n this.checkDestroyed();\r\n return this._serverConfig;\r\n }\r\n /**\r\n * This function will throw an Error if the App has already been deleted -\r\n * use before performing API actions on the App.\r\n */\r\n checkDestroyed() {\r\n if (this.isDeleted) {\r\n throw ERROR_FACTORY.create(\"server-app-deleted\" /* AppError.SERVER_APP_DELETED */);\r\n }\r\n }\r\n}\n\n/**\r\n * @license\r\n * Copyright 2019 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n/**\r\n * The current SDK version.\r\n *\r\n * @public\r\n */\r\nconst SDK_VERSION = version;\r\nfunction initializeApp(_options, rawConfig = {}) {\r\n let options = _options;\r\n if (typeof rawConfig !== 'object') {\r\n const name = rawConfig;\r\n rawConfig = { name };\r\n }\r\n const config = Object.assign({ name: DEFAULT_ENTRY_NAME, automaticDataCollectionEnabled: false }, rawConfig);\r\n const name = config.name;\r\n if (typeof name !== 'string' || !name) {\r\n throw ERROR_FACTORY.create(\"bad-app-name\" /* AppError.BAD_APP_NAME */, {\r\n appName: String(name)\r\n });\r\n }\r\n options || (options = getDefaultAppConfig());\r\n if (!options) {\r\n throw ERROR_FACTORY.create(\"no-options\" /* AppError.NO_OPTIONS */);\r\n }\r\n const existingApp = _apps.get(name);\r\n if (existingApp) {\r\n // return the existing app if options and config deep equal the ones in the existing app.\r\n if (deepEqual(options, existingApp.options) &&\r\n deepEqual(config, existingApp.config)) {\r\n return existingApp;\r\n }\r\n else {\r\n throw ERROR_FACTORY.create(\"duplicate-app\" /* AppError.DUPLICATE_APP */, { appName: name });\r\n }\r\n }\r\n const container = new ComponentContainer(name);\r\n for (const component of _components.values()) {\r\n container.addComponent(component);\r\n }\r\n const newApp = new FirebaseAppImpl(options, config, container);\r\n _apps.set(name, newApp);\r\n return newApp;\r\n}\r\nfunction initializeServerApp(_options, _serverAppConfig) {\r\n if (isBrowser() && !isWebWorker()) {\r\n // FirebaseServerApp isn't designed to be run in browsers.\r\n throw ERROR_FACTORY.create(\"invalid-server-app-environment\" /* AppError.INVALID_SERVER_APP_ENVIRONMENT */);\r\n }\r\n if (_serverAppConfig.automaticDataCollectionEnabled === undefined) {\r\n _serverAppConfig.automaticDataCollectionEnabled = false;\r\n }\r\n let appOptions;\r\n if (_isFirebaseApp(_options)) {\r\n appOptions = _options.options;\r\n }\r\n else {\r\n appOptions = _options;\r\n }\r\n // Build an app name based on a hash of the configuration options.\r\n const nameObj = Object.assign(Object.assign({}, _serverAppConfig), appOptions);\r\n // However, Do not mangle the name based on releaseOnDeref, since it will vary between the\r\n // construction of FirebaseServerApp instances. For example, if the object is the request headers.\r\n if (nameObj.releaseOnDeref !== undefined) {\r\n delete nameObj.releaseOnDeref;\r\n }\r\n const hashCode = (s) => {\r\n return [...s].reduce((hash, c) => (Math.imul(31, hash) + c.charCodeAt(0)) | 0, 0);\r\n };\r\n if (_serverAppConfig.releaseOnDeref !== undefined) {\r\n if (typeof FinalizationRegistry === 'undefined') {\r\n throw ERROR_FACTORY.create(\"finalization-registry-not-supported\" /* AppError.FINALIZATION_REGISTRY_NOT_SUPPORTED */, {});\r\n }\r\n }\r\n const nameString = '' + hashCode(JSON.stringify(nameObj));\r\n const existingApp = _serverApps.get(nameString);\r\n if (existingApp) {\r\n existingApp.incRefCount(_serverAppConfig.releaseOnDeref);\r\n return existingApp;\r\n }\r\n const container = new ComponentContainer(nameString);\r\n for (const component of _components.values()) {\r\n container.addComponent(component);\r\n }\r\n const newApp = new FirebaseServerAppImpl(appOptions, _serverAppConfig, nameString, container);\r\n _serverApps.set(nameString, newApp);\r\n return newApp;\r\n}\r\n/**\r\n * Retrieves a {@link @firebase/app#FirebaseApp} instance.\r\n *\r\n * When called with no arguments, the default app is returned. When an app name\r\n * is provided, the app corresponding to that name is returned.\r\n *\r\n * An exception is thrown if the app being retrieved has not yet been\r\n * initialized.\r\n *\r\n * @example\r\n * ```javascript\r\n * // Return the default app\r\n * const app = getApp();\r\n * ```\r\n *\r\n * @example\r\n * ```javascript\r\n * // Return a named app\r\n * const otherApp = getApp(\"otherApp\");\r\n * ```\r\n *\r\n * @param name - Optional name of the app to return. If no name is\r\n * provided, the default is `\"[DEFAULT]\"`.\r\n *\r\n * @returns The app corresponding to the provided app name.\r\n * If no app name is provided, the default app is returned.\r\n *\r\n * @public\r\n */\r\nfunction getApp(name = DEFAULT_ENTRY_NAME) {\r\n const app = _apps.get(name);\r\n if (!app && name === DEFAULT_ENTRY_NAME && getDefaultAppConfig()) {\r\n return initializeApp();\r\n }\r\n if (!app) {\r\n throw ERROR_FACTORY.create(\"no-app\" /* AppError.NO_APP */, { appName: name });\r\n }\r\n return app;\r\n}\r\n/**\r\n * A (read-only) array of all initialized apps.\r\n * @public\r\n */\r\nfunction getApps() {\r\n return Array.from(_apps.values());\r\n}\r\n/**\r\n * Renders this app unusable and frees the resources of all associated\r\n * services.\r\n *\r\n * @example\r\n * ```javascript\r\n * deleteApp(app)\r\n * .then(function() {\r\n * console.log(\"App deleted successfully\");\r\n * })\r\n * .catch(function(error) {\r\n * console.log(\"Error deleting app:\", error);\r\n * });\r\n * ```\r\n *\r\n * @public\r\n */\r\nasync function deleteApp(app) {\r\n let cleanupProviders = false;\r\n const name = app.name;\r\n if (_apps.has(name)) {\r\n cleanupProviders = true;\r\n _apps.delete(name);\r\n }\r\n else if (_serverApps.has(name)) {\r\n const firebaseServerApp = app;\r\n if (firebaseServerApp.decRefCount() <= 0) {\r\n _serverApps.delete(name);\r\n cleanupProviders = true;\r\n }\r\n }\r\n if (cleanupProviders) {\r\n await Promise.all(app.container\r\n .getProviders()\r\n .map(provider => provider.delete()));\r\n app.isDeleted = true;\r\n }\r\n}\r\n/**\r\n * Registers a library's name and version for platform logging purposes.\r\n * @param library - Name of 1p or 3p library (e.g. firestore, angularfire)\r\n * @param version - Current version of that library.\r\n * @param variant - Bundle variant, e.g., node, rn, etc.\r\n *\r\n * @public\r\n */\r\nfunction registerVersion(libraryKeyOrName, version, variant) {\r\n var _a;\r\n // TODO: We can use this check to whitelist strings when/if we set up\r\n // a good whitelist system.\r\n let library = (_a = PLATFORM_LOG_STRING[libraryKeyOrName]) !== null && _a !== void 0 ? _a : libraryKeyOrName;\r\n if (variant) {\r\n library += `-${variant}`;\r\n }\r\n const libraryMismatch = library.match(/\\s|\\//);\r\n const versionMismatch = version.match(/\\s|\\//);\r\n if (libraryMismatch || versionMismatch) {\r\n const warning = [\r\n `Unable to register library \"${library}\" with version \"${version}\":`\r\n ];\r\n if (libraryMismatch) {\r\n warning.push(`library name \"${library}\" contains illegal characters (whitespace or \"/\")`);\r\n }\r\n if (libraryMismatch && versionMismatch) {\r\n warning.push('and');\r\n }\r\n if (versionMismatch) {\r\n warning.push(`version name \"${version}\" contains illegal characters (whitespace or \"/\")`);\r\n }\r\n logger.warn(warning.join(' '));\r\n return;\r\n }\r\n _registerComponent(new Component(`${library}-version`, () => ({ library, version }), \"VERSION\" /* ComponentType.VERSION */));\r\n}\r\n/**\r\n * Sets log handler for all Firebase SDKs.\r\n * @param logCallback - An optional custom log handler that executes user code whenever\r\n * the Firebase SDK makes a logging call.\r\n *\r\n * @public\r\n */\r\nfunction onLog(logCallback, options) {\r\n if (logCallback !== null && typeof logCallback !== 'function') {\r\n throw ERROR_FACTORY.create(\"invalid-log-argument\" /* AppError.INVALID_LOG_ARGUMENT */);\r\n }\r\n setUserLogHandler(logCallback, options);\r\n}\r\n/**\r\n * Sets log level for all Firebase SDKs.\r\n *\r\n * All of the log types above the current log level are captured (i.e. if\r\n * you set the log level to `info`, errors are logged, but `debug` and\r\n * `verbose` logs are not).\r\n *\r\n * @public\r\n */\r\nfunction setLogLevel(logLevel) {\r\n setLogLevel$1(logLevel);\r\n}\n\n/**\r\n * @license\r\n * Copyright 2021 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\nconst DB_NAME = 'firebase-heartbeat-database';\r\nconst DB_VERSION = 1;\r\nconst STORE_NAME = 'firebase-heartbeat-store';\r\nlet dbPromise = null;\r\nfunction getDbPromise() {\r\n if (!dbPromise) {\r\n dbPromise = openDB(DB_NAME, DB_VERSION, {\r\n upgrade: (db, oldVersion) => {\r\n // We don't use 'break' in this switch statement, the fall-through\r\n // behavior is what we want, because if there are multiple versions between\r\n // the old version and the current version, we want ALL the migrations\r\n // that correspond to those versions to run, not only the last one.\r\n // eslint-disable-next-line default-case\r\n switch (oldVersion) {\r\n case 0:\r\n try {\r\n db.createObjectStore(STORE_NAME);\r\n }\r\n catch (e) {\r\n // Safari/iOS browsers throw occasional exceptions on\r\n // db.createObjectStore() that may be a bug. Avoid blocking\r\n // the rest of the app functionality.\r\n console.warn(e);\r\n }\r\n }\r\n }\r\n }).catch(e => {\r\n throw ERROR_FACTORY.create(\"idb-open\" /* AppError.IDB_OPEN */, {\r\n originalErrorMessage: e.message\r\n });\r\n });\r\n }\r\n return dbPromise;\r\n}\r\nasync function readHeartbeatsFromIndexedDB(app) {\r\n try {\r\n const db = await getDbPromise();\r\n const tx = db.transaction(STORE_NAME);\r\n const result = await tx.objectStore(STORE_NAME).get(computeKey(app));\r\n // We already have the value but tx.done can throw,\r\n // so we need to await it here to catch errors\r\n await tx.done;\r\n return result;\r\n }\r\n catch (e) {\r\n if (e instanceof FirebaseError) {\r\n logger.warn(e.message);\r\n }\r\n else {\r\n const idbGetError = ERROR_FACTORY.create(\"idb-get\" /* AppError.IDB_GET */, {\r\n originalErrorMessage: e === null || e === void 0 ? void 0 : e.message\r\n });\r\n logger.warn(idbGetError.message);\r\n }\r\n }\r\n}\r\nasync function writeHeartbeatsToIndexedDB(app, heartbeatObject) {\r\n try {\r\n const db = await getDbPromise();\r\n const tx = db.transaction(STORE_NAME, 'readwrite');\r\n const objectStore = tx.objectStore(STORE_NAME);\r\n await objectStore.put(heartbeatObject, computeKey(app));\r\n await tx.done;\r\n }\r\n catch (e) {\r\n if (e instanceof FirebaseError) {\r\n logger.warn(e.message);\r\n }\r\n else {\r\n const idbGetError = ERROR_FACTORY.create(\"idb-set\" /* AppError.IDB_WRITE */, {\r\n originalErrorMessage: e === null || e === void 0 ? void 0 : e.message\r\n });\r\n logger.warn(idbGetError.message);\r\n }\r\n }\r\n}\r\nfunction computeKey(app) {\r\n return `${app.name}!${app.options.appId}`;\r\n}\n\n/**\r\n * @license\r\n * Copyright 2021 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\nconst MAX_HEADER_BYTES = 1024;\r\n// 30 days\r\nconst STORED_HEARTBEAT_RETENTION_MAX_MILLIS = 30 * 24 * 60 * 60 * 1000;\r\nclass HeartbeatServiceImpl {\r\n constructor(container) {\r\n this.container = container;\r\n /**\r\n * In-memory cache for heartbeats, used by getHeartbeatsHeader() to generate\r\n * the header string.\r\n * Stores one record per date. This will be consolidated into the standard\r\n * format of one record per user agent string before being sent as a header.\r\n * Populated from indexedDB when the controller is instantiated and should\r\n * be kept in sync with indexedDB.\r\n * Leave public for easier testing.\r\n */\r\n this._heartbeatsCache = null;\r\n const app = this.container.getProvider('app').getImmediate();\r\n this._storage = new HeartbeatStorageImpl(app);\r\n this._heartbeatsCachePromise = this._storage.read().then(result => {\r\n this._heartbeatsCache = result;\r\n return result;\r\n });\r\n }\r\n /**\r\n * Called to report a heartbeat. The function will generate\r\n * a HeartbeatsByUserAgent object, update heartbeatsCache, and persist it\r\n * to IndexedDB.\r\n * Note that we only store one heartbeat per day. So if a heartbeat for today is\r\n * already logged, subsequent calls to this function in the same day will be ignored.\r\n */\r\n async triggerHeartbeat() {\r\n var _a, _b;\r\n const platformLogger = this.container\r\n .getProvider('platform-logger')\r\n .getImmediate();\r\n // This is the \"Firebase user agent\" string from the platform logger\r\n // service, not the browser user agent.\r\n const agent = platformLogger.getPlatformInfoString();\r\n const date = getUTCDateString();\r\n if (((_a = this._heartbeatsCache) === null || _a === void 0 ? void 0 : _a.heartbeats) == null) {\r\n this._heartbeatsCache = await this._heartbeatsCachePromise;\r\n // If we failed to construct a heartbeats cache, then return immediately.\r\n if (((_b = this._heartbeatsCache) === null || _b === void 0 ? void 0 : _b.heartbeats) == null) {\r\n return;\r\n }\r\n }\r\n // Do not store a heartbeat if one is already stored for this day\r\n // or if a header has already been sent today.\r\n if (this._heartbeatsCache.lastSentHeartbeatDate === date ||\r\n this._heartbeatsCache.heartbeats.some(singleDateHeartbeat => singleDateHeartbeat.date === date)) {\r\n return;\r\n }\r\n else {\r\n // There is no entry for this date. Create one.\r\n this._heartbeatsCache.heartbeats.push({ date, agent });\r\n }\r\n // Remove entries older than 30 days.\r\n this._heartbeatsCache.heartbeats = this._heartbeatsCache.heartbeats.filter(singleDateHeartbeat => {\r\n const hbTimestamp = new Date(singleDateHeartbeat.date).valueOf();\r\n const now = Date.now();\r\n return now - hbTimestamp <= STORED_HEARTBEAT_RETENTION_MAX_MILLIS;\r\n });\r\n return this._storage.overwrite(this._heartbeatsCache);\r\n }\r\n /**\r\n * Returns a base64 encoded string which can be attached to the heartbeat-specific header directly.\r\n * It also clears all heartbeats from memory as well as in IndexedDB.\r\n *\r\n * NOTE: Consuming product SDKs should not send the header if this method\r\n * returns an empty string.\r\n */\r\n async getHeartbeatsHeader() {\r\n var _a;\r\n if (this._heartbeatsCache === null) {\r\n await this._heartbeatsCachePromise;\r\n }\r\n // If it's still null or the array is empty, there is no data to send.\r\n if (((_a = this._heartbeatsCache) === null || _a === void 0 ? void 0 : _a.heartbeats) == null ||\r\n this._heartbeatsCache.heartbeats.length === 0) {\r\n return '';\r\n }\r\n const date = getUTCDateString();\r\n // Extract as many heartbeats from the cache as will fit under the size limit.\r\n const { heartbeatsToSend, unsentEntries } = extractHeartbeatsForHeader(this._heartbeatsCache.heartbeats);\r\n const headerString = base64urlEncodeWithoutPadding(JSON.stringify({ version: 2, heartbeats: heartbeatsToSend }));\r\n // Store last sent date to prevent another being logged/sent for the same day.\r\n this._heartbeatsCache.lastSentHeartbeatDate = date;\r\n if (unsentEntries.length > 0) {\r\n // Store any unsent entries if they exist.\r\n this._heartbeatsCache.heartbeats = unsentEntries;\r\n // This seems more likely than emptying the array (below) to lead to some odd state\r\n // since the cache isn't empty and this will be called again on the next request,\r\n // and is probably safest if we await it.\r\n await this._storage.overwrite(this._heartbeatsCache);\r\n }\r\n else {\r\n this._heartbeatsCache.heartbeats = [];\r\n // Do not wait for this, to reduce latency.\r\n void this._storage.overwrite(this._heartbeatsCache);\r\n }\r\n return headerString;\r\n }\r\n}\r\nfunction getUTCDateString() {\r\n const today = new Date();\r\n // Returns date format 'YYYY-MM-DD'\r\n return today.toISOString().substring(0, 10);\r\n}\r\nfunction extractHeartbeatsForHeader(heartbeatsCache, maxSize = MAX_HEADER_BYTES) {\r\n // Heartbeats grouped by user agent in the standard format to be sent in\r\n // the header.\r\n const heartbeatsToSend = [];\r\n // Single date format heartbeats that are not sent.\r\n let unsentEntries = heartbeatsCache.slice();\r\n for (const singleDateHeartbeat of heartbeatsCache) {\r\n // Look for an existing entry with the same user agent.\r\n const heartbeatEntry = heartbeatsToSend.find(hb => hb.agent === singleDateHeartbeat.agent);\r\n if (!heartbeatEntry) {\r\n // If no entry for this user agent exists, create one.\r\n heartbeatsToSend.push({\r\n agent: singleDateHeartbeat.agent,\r\n dates: [singleDateHeartbeat.date]\r\n });\r\n if (countBytes(heartbeatsToSend) > maxSize) {\r\n // If the header would exceed max size, remove the added heartbeat\r\n // entry and stop adding to the header.\r\n heartbeatsToSend.pop();\r\n break;\r\n }\r\n }\r\n else {\r\n heartbeatEntry.dates.push(singleDateHeartbeat.date);\r\n // If the header would exceed max size, remove the added date\r\n // and stop adding to the header.\r\n if (countBytes(heartbeatsToSend) > maxSize) {\r\n heartbeatEntry.dates.pop();\r\n break;\r\n }\r\n }\r\n // Pop unsent entry from queue. (Skipped if adding the entry exceeded\r\n // quota and the loop breaks early.)\r\n unsentEntries = unsentEntries.slice(1);\r\n }\r\n return {\r\n heartbeatsToSend,\r\n unsentEntries\r\n };\r\n}\r\nclass HeartbeatStorageImpl {\r\n constructor(app) {\r\n this.app = app;\r\n this._canUseIndexedDBPromise = this.runIndexedDBEnvironmentCheck();\r\n }\r\n async runIndexedDBEnvironmentCheck() {\r\n if (!isIndexedDBAvailable()) {\r\n return false;\r\n }\r\n else {\r\n return validateIndexedDBOpenable()\r\n .then(() => true)\r\n .catch(() => false);\r\n }\r\n }\r\n /**\r\n * Read all heartbeats.\r\n */\r\n async read() {\r\n const canUseIndexedDB = await this._canUseIndexedDBPromise;\r\n if (!canUseIndexedDB) {\r\n return { heartbeats: [] };\r\n }\r\n else {\r\n const idbHeartbeatObject = await readHeartbeatsFromIndexedDB(this.app);\r\n if (idbHeartbeatObject === null || idbHeartbeatObject === void 0 ? void 0 : idbHeartbeatObject.heartbeats) {\r\n return idbHeartbeatObject;\r\n }\r\n else {\r\n return { heartbeats: [] };\r\n }\r\n }\r\n }\r\n // overwrite the storage with the provided heartbeats\r\n async overwrite(heartbeatsObject) {\r\n var _a;\r\n const canUseIndexedDB = await this._canUseIndexedDBPromise;\r\n if (!canUseIndexedDB) {\r\n return;\r\n }\r\n else {\r\n const existingHeartbeatsObject = await this.read();\r\n return writeHeartbeatsToIndexedDB(this.app, {\r\n lastSentHeartbeatDate: (_a = heartbeatsObject.lastSentHeartbeatDate) !== null && _a !== void 0 ? _a : existingHeartbeatsObject.lastSentHeartbeatDate,\r\n heartbeats: heartbeatsObject.heartbeats\r\n });\r\n }\r\n }\r\n // add heartbeats\r\n async add(heartbeatsObject) {\r\n var _a;\r\n const canUseIndexedDB = await this._canUseIndexedDBPromise;\r\n if (!canUseIndexedDB) {\r\n return;\r\n }\r\n else {\r\n const existingHeartbeatsObject = await this.read();\r\n return writeHeartbeatsToIndexedDB(this.app, {\r\n lastSentHeartbeatDate: (_a = heartbeatsObject.lastSentHeartbeatDate) !== null && _a !== void 0 ? _a : existingHeartbeatsObject.lastSentHeartbeatDate,\r\n heartbeats: [\r\n ...existingHeartbeatsObject.heartbeats,\r\n ...heartbeatsObject.heartbeats\r\n ]\r\n });\r\n }\r\n }\r\n}\r\n/**\r\n * Calculate bytes of a HeartbeatsByUserAgent array after being wrapped\r\n * in a platform logging header JSON object, stringified, and converted\r\n * to base 64.\r\n */\r\nfunction countBytes(heartbeatsCache) {\r\n // base64 has a restricted set of characters, all of which should be 1 byte.\r\n return base64urlEncodeWithoutPadding(\r\n // heartbeatsCache wrapper properties\r\n JSON.stringify({ version: 2, heartbeats: heartbeatsCache })).length;\r\n}\n\n/**\r\n * @license\r\n * Copyright 2019 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\nfunction registerCoreComponents(variant) {\r\n _registerComponent(new Component('platform-logger', container => new PlatformLoggerServiceImpl(container), \"PRIVATE\" /* ComponentType.PRIVATE */));\r\n _registerComponent(new Component('heartbeat', container => new HeartbeatServiceImpl(container), \"PRIVATE\" /* ComponentType.PRIVATE */));\r\n // Register `app` package.\r\n registerVersion(name$p, version$1, variant);\r\n // BUILD_TARGET will be replaced by values like esm5, esm2017, cjs5, etc during the compilation\r\n registerVersion(name$p, version$1, 'esm2017');\r\n // Register platform SDK identifier (no version).\r\n registerVersion('fire-js', '');\r\n}\n\n/**\r\n * Firebase App\r\n *\r\n * @remarks This package coordinates the communication between the different Firebase components\r\n * @packageDocumentation\r\n */\r\nregisterCoreComponents('');\n\nexport { SDK_VERSION, DEFAULT_ENTRY_NAME as _DEFAULT_ENTRY_NAME, _addComponent, _addOrOverwriteComponent, _apps, _clearComponents, _components, _getProvider, _isFirebaseApp, _isFirebaseServerApp, _registerComponent, _removeServiceInstance, _serverApps, deleteApp, getApp, getApps, initializeApp, initializeServerApp, onLog, registerVersion, setLogLevel };\n//# sourceMappingURL=index.esm2017.js.map\n","import { registerVersion } from '@firebase/app';\nexport * from '@firebase/app';\n\nvar name = \"firebase\";\nvar version = \"10.12.5\";\n\n/**\r\n * @license\r\n * Copyright 2020 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\nregisterVersion(name, version, 'app');\n//# sourceMappingURL=index.esm.js.map\n"],"names":["stringToByteArray$1","str","out","p","i","c","byteArrayToString","bytes","pos","c1","c2","c3","c4","u","base64","input","webSafe","byteToCharMap","output","byte1","haveByte2","byte2","haveByte3","byte3","outByte1","outByte2","outByte3","outByte4","charToByteMap","byte4","DecodeBase64StringError","base64Encode","utf8Bytes","base64urlEncodeWithoutPadding","base64Decode","getGlobal","getDefaultsFromGlobal","getDefaultsFromEnvVariable","define_process_env_default","defaultsJsonString","getDefaultsFromCookie","match","decoded","getDefaults","e","getDefaultAppConfig","_a","Deferred","resolve","reject","callback","error","value","isIndexedDBAvailable","validateIndexedDBOpenable","preExist","DB_CHECK_NAME","request","ERROR_NAME","FirebaseError","code","message","customData","ErrorFactory","service","serviceName","errors","data","fullCode","template","replaceTemplate","fullMessage","PATTERN","_","key","deepEqual","a","b","aKeys","bKeys","k","aProp","bProp","isObject","thing","Component","name","instanceFactory","type","mode","multipleInstances","props","DEFAULT_ENTRY_NAME","Provider","container","identifier","normalizedIdentifier","deferred","instance","options","optional","component","isComponentEager","instanceIdentifier","instanceDeferred","services","opts","normalizedDeferredIdentifier","existingCallbacks","existingInstance","callbacks","normalizeIdentifierForFactory","ComponentContainer","provider","LogLevel","levelStringToEnum","defaultLogLevel","ConsoleMethod","defaultLogHandler","logType","args","now","method","Logger","val","instanceOfAny","object","constructors","idbProxyableTypes","cursorAdvanceMethods","getIdbProxyableTypes","getCursorAdvanceMethods","cursorRequestMap","transactionDoneMap","transactionStoreNamesMap","transformCache","reverseTransformCache","promisifyRequest","promise","unlisten","success","wrap","cacheDonePromiseForTransaction","tx","done","complete","idbProxyTraps","target","prop","receiver","replaceTraps","wrapFunction","func","storeNames","unwrap","transformCachableValue","newValue","openDB","version","blocked","upgrade","blocking","terminated","openPromise","event","db","readMethods","writeMethods","cachedMethods","getMethod","targetFuncName","useIndex","isWrite","storeName","oldTraps","PlatformLoggerServiceImpl","isVersionServiceProvider","logString","name$p","version$1","logger","name$o","name$n","name$m","name$l","name$k","name$j","name$i","name$h","name$g","name$f","name$e","name$d","name$c","name$b","name$a","name$9","name$8","name$7","name$6","name$5","name$4","name$3","name$2","name$1","PLATFORM_LOG_STRING","_apps","_serverApps","_components","_addComponent","app","_registerComponent","componentName","serverApp","ERRORS","ERROR_FACTORY","FirebaseAppImpl","config","initializeApp","_options","rawConfig","existingApp","newApp","registerVersion","libraryKeyOrName","variant","library","libraryMismatch","versionMismatch","warning","DB_NAME","DB_VERSION","STORE_NAME","dbPromise","getDbPromise","oldVersion","readHeartbeatsFromIndexedDB","result","computeKey","idbGetError","writeHeartbeatsToIndexedDB","heartbeatObject","MAX_HEADER_BYTES","STORED_HEARTBEAT_RETENTION_MAX_MILLIS","HeartbeatServiceImpl","HeartbeatStorageImpl","_b","agent","date","getUTCDateString","singleDateHeartbeat","hbTimestamp","heartbeatsToSend","unsentEntries","extractHeartbeatsForHeader","headerString","heartbeatsCache","maxSize","heartbeatEntry","hb","countBytes","idbHeartbeatObject","heartbeatsObject","existingHeartbeatsObject","registerCoreComponents"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,5,6]} \ No newline at end of file diff --git a/Target/_astro/index.esm.JD-0sKti.js b/Target/_astro/index.esm.WPJ9Gp6O.js similarity index 77% rename from Target/_astro/index.esm.JD-0sKti.js rename to Target/_astro/index.esm.WPJ9Gp6O.js index e1bd4ada..d12f1412 100644 --- a/Target/_astro/index.esm.JD-0sKti.js +++ b/Target/_astro/index.esm.WPJ9Gp6O.js @@ -1 +1 @@ -var L={};const W=function(e){const t=[];let r=0;for(let n=0;n>6|192,t[r++]=63&a|128):55296==(64512&a)&&n+1>18|240,t[r++]=a>>12&63|128,t[r++]=a>>6&63|128,t[r++]=63&a|128):(t[r++]=a>>12|224,t[r++]=a>>6&63|128,t[r++]=63&a|128)}return t},ee=function(e){const t=[];let r=0,n=0;for(;r191&&a<224){const i=e[r++];t[n++]=String.fromCharCode((31&a)<<6|63&i)}else if(a>239&&a<365){const i=((7&a)<<18|(63&e[r++])<<12|(63&e[r++])<<6|63&e[r++])-65536;t[n++]=String.fromCharCode(55296+(i>>10)),t[n++]=String.fromCharCode(56320+(1023&i))}else{const i=e[r++],s=e[r++];t[n++]=String.fromCharCode((15&a)<<12|(63&i)<<6|63&s)}}return t.join("")},G={byteToCharMap_:null,charToByteMap_:null,byteToCharMapWebSafe_:null,charToByteMapWebSafe_:null,ENCODED_VALS_BASE:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789",get ENCODED_VALS(){return this.ENCODED_VALS_BASE+"+/="},get ENCODED_VALS_WEBSAFE(){return this.ENCODED_VALS_BASE+"-_."},HAS_NATIVE_SUPPORT:"function"==typeof atob,encodeByteArray(e,t){if(!Array.isArray(e))throw Error("encodeByteArray takes an array as a parameter");this.init_();const r=t?this.byteToCharMapWebSafe_:this.byteToCharMap_,n=[];for(let t=0;t>2,l=(3&a)<<4|s>>4;let d=(15&s)<<2|c>>6,u=63&c;o||(u=64,i||(d=64)),n.push(r[h],r[l],r[d],r[u])}return n.join("")},encodeString(e,t){return this.HAS_NATIVE_SUPPORT&&!t?btoa(e):this.encodeByteArray(W(e),t)},decodeString(e,t){return this.HAS_NATIVE_SUPPORT&&!t?atob(e):ee(this.decodeStringToByteArray(e,t))},decodeStringToByteArray(e,t){this.init_();const r=t?this.charToByteMapWebSafe_:this.charToByteMap_,n=[];for(let t=0;t>4;if(n.push(c),64!==s){const e=i<<4&240|s>>2;if(n.push(e),64!==o){const e=s<<6&192|o;n.push(e)}}}return n},init_(){if(!this.byteToCharMap_){this.byteToCharMap_={},this.charToByteMap_={},this.byteToCharMapWebSafe_={},this.charToByteMapWebSafe_={};for(let e=0;e=this.ENCODED_VALS_BASE.length&&(this.charToByteMap_[this.ENCODED_VALS_WEBSAFE.charAt(e)]=e,this.charToByteMapWebSafe_[this.ENCODED_VALS.charAt(e)]=e)}}};class te extends Error{constructor(){super(...arguments),this.name="DecodeBase64StringError"}}const ne=function(e){const t=W(e);return G.encodeByteArray(t,!0)},J=function(e){return ne(e).replace(/\./g,"")},re=function(e){try{return G.decodeString(e,!0)}catch(e){console.error("base64Decode failed: ",e)}return null};function se(){if(typeof self<"u")return self;if(typeof window<"u")return window;if(typeof global<"u")return global;throw new Error("Unable to locate global object.")}const ae=()=>se().__FIREBASE_DEFAULTS__,ie=()=>{if(typeof process>"u"||typeof L>"u")return;const e=L.__FIREBASE_DEFAULTS__;return e?JSON.parse(e):void 0},oe=()=>{if(typeof document>"u")return;let e;try{e=document.cookie.match(/__FIREBASE_DEFAULTS__=([^;]+)/)}catch{return}const t=e&&re(e[1]);return t&&JSON.parse(t)},ce=()=>{try{return ae()||ie()||oe()}catch(e){return void console.info(`Unable to get __FIREBASE_DEFAULTS__ due to: ${e}`)}},he=()=>{var e;return null===(e=ce())||void 0===e?void 0:e.config};class le{constructor(){this.reject=()=>{},this.resolve=()=>{},this.promise=new Promise(((e,t)=>{this.resolve=e,this.reject=t}))}wrapCallback(e){return(t,r)=>{t?this.reject(t):this.resolve(r),"function"==typeof e&&(this.promise.catch((()=>{})),1===e.length?e(t):e(t,r))}}}function de(){try{return"object"==typeof indexedDB}catch{return!1}}function fe(){return new Promise(((e,t)=>{try{let r=!0;const n="validate-browser-context-for-indexeddb-analytics-module",a=self.indexedDB.open(n);a.onsuccess=()=>{a.result.close(),r||self.indexedDB.deleteDatabase(n),e(!0)},a.onupgradeneeded=()=>{r=!1},a.onerror=()=>{var e;t((null===(e=a.error)||void 0===e?void 0:e.message)||"")}}catch(e){t(e)}}))}const ue="FirebaseError";class b extends Error{constructor(e,t,r){super(t),this.code=e,this.customData=r,this.name=ue,Object.setPrototypeOf(this,b.prototype),Error.captureStackTrace&&Error.captureStackTrace(this,K.prototype.create)}}class K{constructor(e,t,r){this.service=e,this.serviceName=t,this.errors=r}create(e,...t){const r=t[0]||{},n=`${this.service}/${e}`,a=this.errors[e],i=a?pe(a,r):"Error",s=`${this.serviceName}: ${i} (${n}).`;return new b(n,s,r)}}function pe(e,t){return e.replace(me,((e,r)=>{const n=t[r];return null!=n?String(n):`<${r}?>`}))}const me=/\{\$([^}]+)}/g;function C(e,t){if(e===t)return!0;const r=Object.keys(e),n=Object.keys(t);for(const a of r){if(!n.includes(a))return!1;const r=e[a],i=t[a];if(H(r)&&H(i)){if(!C(r,i))return!1}else if(r!==i)return!1}for(const e of n)if(!r.includes(e))return!1;return!0}function H(e){return null!==e&&"object"==typeof e}class D{constructor(e,t,r){this.name=e,this.instanceFactory=t,this.type=r,this.multipleInstances=!1,this.serviceProps={},this.instantiationMode="LAZY",this.onInstanceCreated=null}setInstantiationMode(e){return this.instantiationMode=e,this}setMultipleInstances(e){return this.multipleInstances=e,this}setServiceProps(e){return this.serviceProps=e,this}setInstanceCreatedCallback(e){return this.onInstanceCreated=e,this}}const f="[DEFAULT]";class ge{constructor(e,t){this.name=e,this.container=t,this.component=null,this.instances=new Map,this.instancesDeferred=new Map,this.instancesOptions=new Map,this.onInitCallbacks=new Map}get(e){const t=this.normalizeInstanceIdentifier(e);if(!this.instancesDeferred.has(t)){const e=new le;if(this.instancesDeferred.set(t,e),this.isInitialized(t)||this.shouldAutoInitialize())try{const r=this.getOrInitializeService({instanceIdentifier:t});r&&e.resolve(r)}catch{}}return this.instancesDeferred.get(t).promise}getImmediate(e){var t;const r=this.normalizeInstanceIdentifier(e?.identifier),n=null!==(t=e?.optional)&&void 0!==t&&t;if(!this.isInitialized(r)&&!this.shouldAutoInitialize()){if(n)return null;throw Error(`Service ${this.name} is not available`)}try{return this.getOrInitializeService({instanceIdentifier:r})}catch(e){if(n)return null;throw e}}getComponent(){return this.component}setComponent(e){if(e.name!==this.name)throw Error(`Mismatching Component ${e.name} for Provider ${this.name}.`);if(this.component)throw Error(`Component for ${this.name} has already been provided`);if(this.component=e,this.shouldAutoInitialize()){if(_e(e))try{this.getOrInitializeService({instanceIdentifier:f})}catch{}for(const[e,t]of this.instancesDeferred.entries()){const r=this.normalizeInstanceIdentifier(e);try{const e=this.getOrInitializeService({instanceIdentifier:r});t.resolve(e)}catch{}}}}clearInstance(e=f){this.instancesDeferred.delete(e),this.instancesOptions.delete(e),this.instances.delete(e)}async delete(){const e=Array.from(this.instances.values());await Promise.all([...e.filter((e=>"INTERNAL"in e)).map((e=>e.INTERNAL.delete())),...e.filter((e=>"_delete"in e)).map((e=>e._delete()))])}isComponentSet(){return null!=this.component}isInitialized(e=f){return this.instances.has(e)}getOptions(e=f){return this.instancesOptions.get(e)||{}}initialize(e={}){const{options:t={}}=e,r=this.normalizeInstanceIdentifier(e.instanceIdentifier);if(this.isInitialized(r))throw Error(`${this.name}(${r}) has already been initialized`);if(!this.isComponentSet())throw Error(`Component ${this.name} has not been registered yet`);const n=this.getOrInitializeService({instanceIdentifier:r,options:t});for(const[e,t]of this.instancesDeferred.entries()){r===this.normalizeInstanceIdentifier(e)&&t.resolve(n)}return n}onInit(e,t){var r;const n=this.normalizeInstanceIdentifier(t),a=null!==(r=this.onInitCallbacks.get(n))&&void 0!==r?r:new Set;a.add(e),this.onInitCallbacks.set(n,a);const i=this.instances.get(n);return i&&e(i,n),()=>{a.delete(e)}}invokeOnInitCallbacks(e,t){const r=this.onInitCallbacks.get(t);if(r)for(const n of r)try{n(e,t)}catch{}}getOrInitializeService({instanceIdentifier:e,options:t={}}){let r=this.instances.get(e);if(!r&&this.component&&(r=this.component.instanceFactory(this.container,{instanceIdentifier:be(e),options:t}),this.instances.set(e,r),this.instancesOptions.set(e,t),this.invokeOnInitCallbacks(r,e),this.component.onInstanceCreated))try{this.component.onInstanceCreated(this.container,e,r)}catch{}return r||null}normalizeInstanceIdentifier(e=f){return this.component?this.component.multipleInstances?e:f:e}shouldAutoInitialize(){return!!this.component&&"EXPLICIT"!==this.component.instantiationMode}}function be(e){return e===f?void 0:e}function _e(e){return"EAGER"===e.instantiationMode}class Ee{constructor(e){this.name=e,this.providers=new Map}addComponent(e){const t=this.getProvider(e.name);if(t.isComponentSet())throw new Error(`Component ${e.name} has already been registered with ${this.name}`);t.setComponent(e)}addOrOverwriteComponent(e){this.getProvider(e.name).isComponentSet()&&this.providers.delete(e.name),this.addComponent(e)}getProvider(e){if(this.providers.has(e))return this.providers.get(e);const t=new ge(e,this);return this.providers.set(e,t),t}getProviders(){return Array.from(this.providers.values())}}var h;!function(e){e[e.DEBUG=0]="DEBUG",e[e.VERBOSE=1]="VERBOSE",e[e.INFO=2]="INFO",e[e.WARN=3]="WARN",e[e.ERROR=4]="ERROR",e[e.SILENT=5]="SILENT"}(h||(h={}));const ye={debug:h.DEBUG,verbose:h.VERBOSE,info:h.INFO,warn:h.WARN,error:h.ERROR,silent:h.SILENT},De=h.INFO,Ie={[h.DEBUG]:"log",[h.VERBOSE]:"log",[h.INFO]:"info",[h.WARN]:"warn",[h.ERROR]:"error"},ve=(e,t,...r)=>{if(tt.some((t=>e instanceof t));let P,F;function Ce(){return P||(P=[IDBDatabase,IDBObjectStore,IDBIndex,IDBCursor,IDBTransaction])}function Ae(){return F||(F=[IDBCursor.prototype.advance,IDBCursor.prototype.continue,IDBCursor.prototype.continuePrimaryKey])}const Y=new WeakMap,A=new WeakMap,X=new WeakMap,I=new WeakMap,N=new WeakMap;function Be(e){const t=new Promise(((t,r)=>{const n=()=>{e.removeEventListener("success",a),e.removeEventListener("error",i)},a=()=>{t(d(e.result)),n()},i=()=>{r(e.error),n()};e.addEventListener("success",a),e.addEventListener("error",i)}));return t.then((t=>{t instanceof IDBCursor&&Y.set(t,e)})).catch((()=>{})),N.set(t,e),t}function Oe(e){if(A.has(e))return;const t=new Promise(((t,r)=>{const n=()=>{e.removeEventListener("complete",a),e.removeEventListener("error",i),e.removeEventListener("abort",i)},a=()=>{t(),n()},i=()=>{r(e.error||new DOMException("AbortError","AbortError")),n()};e.addEventListener("complete",a),e.addEventListener("error",i),e.addEventListener("abort",i)}));A.set(e,t)}let B={get(e,t,r){if(e instanceof IDBTransaction){if("done"===t)return A.get(e);if("objectStoreNames"===t)return e.objectStoreNames||X.get(e);if("store"===t)return r.objectStoreNames[1]?void 0:r.objectStore(r.objectStoreNames[0])}return d(e[t])},set:(e,t,r)=>(e[t]=r,!0),has:(e,t)=>e instanceof IDBTransaction&&("done"===t||"store"===t)||t in e};function Te(e){B=e(B)}function Me(e){return e!==IDBDatabase.prototype.transaction||"objectStoreNames"in IDBTransaction.prototype?Ae().includes(e)?function(...t){return e.apply(v(this),t),d(Y.get(this))}:function(...t){return d(e.apply(v(this),t))}:function(t,...r){const n=e.call(v(this),t,...r);return X.set(n,t.sort?t.sort():[t]),d(n)}}function $e(e){return"function"==typeof e?Me(e):(e instanceof IDBTransaction&&Oe(e),Se(e,Ce())?new Proxy(e,B):e)}function d(e){if(e instanceof IDBRequest)return Be(e);if(I.has(e))return I.get(e);const t=$e(e);return t!==e&&(I.set(e,t),N.set(t,e)),t}const v=e=>N.get(e);function Ne(e,t,{blocked:r,upgrade:n,blocking:a,terminated:i}={}){const s=indexedDB.open(e,t),o=d(s);return n&&s.addEventListener("upgradeneeded",(e=>{n(d(s.result),e.oldVersion,e.newVersion,d(s.transaction),e)})),r&&s.addEventListener("blocked",(e=>r(e.oldVersion,e.newVersion,e))),o.then((e=>{i&&e.addEventListener("close",(()=>i())),a&&e.addEventListener("versionchange",(e=>a(e.oldVersion,e.newVersion,e)))})).catch((()=>{})),o}const Re=["get","getKey","getAll","getAllKeys","count"],Le=["put","add","delete","clear"],w=new Map;function x(e,t){if(!(e instanceof IDBDatabase)||t in e||"string"!=typeof t)return;if(w.get(t))return w.get(t);const r=t.replace(/FromIndex$/,""),n=t!==r,a=Le.includes(r);if(!(r in(n?IDBIndex:IDBObjectStore).prototype)||!a&&!Re.includes(r))return;const i=async function(e,...t){const i=this.transaction(e,a?"readwrite":"readonly");let s=i.store;return n&&(s=s.index(t.shift())),(await Promise.all([s[r](...t),a&&i.done]))[0]};return w.set(t,i),i}Te((e=>({...e,get:(t,r,n)=>x(t,r)||e.get(t,r,n),has:(t,r)=>!!x(t,r)||e.has(t,r)})));class He{constructor(e){this.container=e}getPlatformInfoString(){return this.container.getProviders().map((e=>{if(Pe(e)){const t=e.getImmediate();return`${t.library}/${t.version}`}return null})).filter((e=>e)).join(" ")}}function Pe(e){const t=e.getComponent();return"VERSION"===t?.type}const O="@firebase/app",V="0.10.8",p=new we("@firebase/app"),Fe="@firebase/app-compat",xe="@firebase/analytics-compat",Ve="@firebase/analytics",je="@firebase/app-check-compat",ke="@firebase/app-check",ze="@firebase/auth",Ue="@firebase/auth-compat",We="@firebase/database",Ge="@firebase/database-compat",Je="@firebase/functions",Ke="@firebase/functions-compat",Ye="@firebase/installations",Xe="@firebase/installations-compat",Ze="@firebase/messaging",qe="@firebase/messaging-compat",Qe="@firebase/performance",et="@firebase/performance-compat",tt="@firebase/remote-config",nt="@firebase/remote-config-compat",rt="@firebase/storage",st="@firebase/storage-compat",at="@firebase/firestore",it="@firebase/vertexai-preview",ot="@firebase/firestore-compat",ct="firebase",ht="[DEFAULT]",lt={[O]:"fire-core",[Fe]:"fire-core-compat",[Ve]:"fire-analytics",[xe]:"fire-analytics-compat",[ke]:"fire-app-check",[je]:"fire-app-check-compat",[ze]:"fire-auth",[Ue]:"fire-auth-compat",[We]:"fire-rtdb",[Ge]:"fire-rtdb-compat",[Je]:"fire-fn",[Ke]:"fire-fn-compat",[Ye]:"fire-iid",[Xe]:"fire-iid-compat",[Ze]:"fire-fcm",[qe]:"fire-fcm-compat",[Qe]:"fire-perf",[et]:"fire-perf-compat",[tt]:"fire-rc",[nt]:"fire-rc-compat",[rt]:"fire-gcs",[st]:"fire-gcs-compat",[at]:"fire-fst",[ot]:"fire-fst-compat",[it]:"fire-vertex","fire-js":"fire-js",[ct]:"fire-js-all"},T=new Map,dt=new Map,M=new Map;function j(e,t){try{e.container.addComponent(t)}catch(r){p.debug(`Component ${t.name} failed to register with FirebaseApp ${e.name}`,r)}}function $(e){const t=e.name;if(M.has(t))return p.debug(`There were multiple attempts to register component ${t}.`),!1;M.set(t,e);for(const t of T.values())j(t,e);for(const t of dt.values())j(t,e);return!0}const ft={"no-app":"No Firebase App '{$appName}' has been created - call initializeApp() first","bad-app-name":"Illegal App name: '{$appName}'","duplicate-app":"Firebase App named '{$appName}' already exists with different options or config","app-deleted":"Firebase App named '{$appName}' already deleted","server-app-deleted":"Firebase Server App has been deleted","no-options":"Need to provide options, when not being deployed to hosting via source.","invalid-app-argument":"firebase.{$appName}() takes either no argument or a Firebase App instance.","invalid-log-argument":"First argument to `onLog` must be null or a function.","idb-open":"Error thrown when opening IndexedDB. Original error: {$originalErrorMessage}.","idb-get":"Error thrown when reading from IndexedDB. Original error: {$originalErrorMessage}.","idb-set":"Error thrown when writing to IndexedDB. Original error: {$originalErrorMessage}.","idb-delete":"Error thrown when deleting from IndexedDB. Original error: {$originalErrorMessage}.","finalization-registry-not-supported":"FirebaseServerApp deleteOnDeref field defined but the JS runtime does not support FinalizationRegistry.","invalid-server-app-environment":"FirebaseServerApp is not for use in browser environments."},u=new K("app","Firebase",ft);class ut{constructor(e,t,r){this._isDeleted=!1,this._options=Object.assign({},e),this._config=Object.assign({},t),this._name=t.name,this._automaticDataCollectionEnabled=t.automaticDataCollectionEnabled,this._container=r,this.container.addComponent(new D("app",(()=>this),"PUBLIC"))}get automaticDataCollectionEnabled(){return this.checkDestroyed(),this._automaticDataCollectionEnabled}set automaticDataCollectionEnabled(e){this.checkDestroyed(),this._automaticDataCollectionEnabled=e}get name(){return this.checkDestroyed(),this._name}get options(){return this.checkDestroyed(),this._options}get config(){return this.checkDestroyed(),this._config}get container(){return this._container}get isDeleted(){return this._isDeleted}set isDeleted(e){this._isDeleted=e}checkDestroyed(){if(this.isDeleted)throw u.create("app-deleted",{appName:this._name})}}function St(e,t={}){let r=e;"object"!=typeof t&&(t={name:t});const n=Object.assign({name:ht,automaticDataCollectionEnabled:!1},t),a=n.name;if("string"!=typeof a||!a)throw u.create("bad-app-name",{appName:String(a)});if(r||(r=he()),!r)throw u.create("no-options");const i=T.get(a);if(i){if(C(r,i.options)&&C(n,i.config))return i;throw u.create("duplicate-app",{appName:a})}const s=new Ee(a);for(const e of M.values())s.addComponent(e);const o=new ut(r,n,s);return T.set(a,o),o}function y(e,t,r){var n;let a=null!==(n=lt[e])&&void 0!==n?n:e;r&&(a+=`-${r}`);const i=a.match(/\s|\//),s=t.match(/\s|\//);if(i||s){const e=[`Unable to register library "${a}" with version "${t}":`];return i&&e.push(`library name "${a}" contains illegal characters (whitespace or "/")`),i&&s&&e.push("and"),s&&e.push(`version name "${t}" contains illegal characters (whitespace or "/")`),void p.warn(e.join(" "))}$(new D(`${a}-version`,(()=>({library:a,version:t})),"VERSION"))}const pt="firebase-heartbeat-database",mt=1,g="firebase-heartbeat-store";let S=null;function Z(){return S||(S=Ne(pt,mt,{upgrade:(e,t)=>{if(0===t)try{e.createObjectStore(g)}catch(e){console.warn(e)}}}).catch((e=>{throw u.create("idb-open",{originalErrorMessage:e.message})}))),S}async function gt(e){try{const t=(await Z()).transaction(g),r=await t.objectStore(g).get(q(e));return await t.done,r}catch(e){if(e instanceof b)p.warn(e.message);else{const t=u.create("idb-get",{originalErrorMessage:e?.message});p.warn(t.message)}}}async function k(e,t){try{const r=(await Z()).transaction(g,"readwrite");await r.objectStore(g).put(t,q(e)),await r.done}catch(e){if(e instanceof b)p.warn(e.message);else{const t=u.create("idb-set",{originalErrorMessage:e?.message});p.warn(t.message)}}}function q(e){return`${e.name}!${e.options.appId}`}const bt=1024,_t=2592e6;class Et{constructor(e){this.container=e,this._heartbeatsCache=null;const t=this.container.getProvider("app").getImmediate();this._storage=new Dt(t),this._heartbeatsCachePromise=this._storage.read().then((e=>(this._heartbeatsCache=e,e)))}async triggerHeartbeat(){var e,t;const r=this.container.getProvider("platform-logger").getImmediate().getPlatformInfoString(),n=z();if((null!=(null===(e=this._heartbeatsCache)||void 0===e?void 0:e.heartbeats)||(this._heartbeatsCache=await this._heartbeatsCachePromise,null!=(null===(t=this._heartbeatsCache)||void 0===t?void 0:t.heartbeats)))&&this._heartbeatsCache.lastSentHeartbeatDate!==n&&!this._heartbeatsCache.heartbeats.some((e=>e.date===n)))return this._heartbeatsCache.heartbeats.push({date:n,agent:r}),this._heartbeatsCache.heartbeats=this._heartbeatsCache.heartbeats.filter((e=>{const t=new Date(e.date).valueOf();return Date.now()-t<=_t})),this._storage.overwrite(this._heartbeatsCache)}async getHeartbeatsHeader(){var e;if(null===this._heartbeatsCache&&await this._heartbeatsCachePromise,null==(null===(e=this._heartbeatsCache)||void 0===e?void 0:e.heartbeats)||0===this._heartbeatsCache.heartbeats.length)return"";const t=z(),{heartbeatsToSend:r,unsentEntries:n}=yt(this._heartbeatsCache.heartbeats),a=J(JSON.stringify({version:2,heartbeats:r}));return this._heartbeatsCache.lastSentHeartbeatDate=t,n.length>0?(this._heartbeatsCache.heartbeats=n,await this._storage.overwrite(this._heartbeatsCache)):(this._heartbeatsCache.heartbeats=[],this._storage.overwrite(this._heartbeatsCache)),a}}function z(){return(new Date).toISOString().substring(0,10)}function yt(e,t=bt){const r=[];let n=e.slice();for(const a of e){const e=r.find((e=>e.agent===a.agent));if(e){if(e.dates.push(a.date),U(r)>t){e.dates.pop();break}}else if(r.push({agent:a.agent,dates:[a.date]}),U(r)>t){r.pop();break}n=n.slice(1)}return{heartbeatsToSend:r,unsentEntries:n}}class Dt{constructor(e){this.app=e,this._canUseIndexedDBPromise=this.runIndexedDBEnvironmentCheck()}async runIndexedDBEnvironmentCheck(){return!!de()&&fe().then((()=>!0)).catch((()=>!1))}async read(){if(await this._canUseIndexedDBPromise){const e=await gt(this.app);return e?.heartbeats?e:{heartbeats:[]}}return{heartbeats:[]}}async overwrite(e){var t;if(await this._canUseIndexedDBPromise){const r=await this.read();return k(this.app,{lastSentHeartbeatDate:null!==(t=e.lastSentHeartbeatDate)&&void 0!==t?t:r.lastSentHeartbeatDate,heartbeats:e.heartbeats})}}async add(e){var t;if(await this._canUseIndexedDBPromise){const r=await this.read();return k(this.app,{lastSentHeartbeatDate:null!==(t=e.lastSentHeartbeatDate)&&void 0!==t?t:r.lastSentHeartbeatDate,heartbeats:[...r.heartbeats,...e.heartbeats]})}}}function U(e){return J(JSON.stringify({version:2,heartbeats:e})).length}function It(e){$(new D("platform-logger",(e=>new He(e)),"PRIVATE")),$(new D("heartbeat",(e=>new Et(e)),"PRIVATE")),y(O,V,e),y(O,V,"esm2017"),y("fire-js","")}It("");var vt="firebase",wt="10.12.5";y(vt,wt,"app");export{b as FirebaseError,ht as _DEFAULT_ENTRY_NAME,j as _addComponent,T as _apps,M as _components,$ as _registerComponent,dt as _serverApps,St as initializeApp,y as registerVersion}; \ No newline at end of file +var L={};const W=function(e){const t=[];let r=0;for(let n=0;n>6|192,t[r++]=63&a|128):55296==(64512&a)&&n+1>18|240,t[r++]=a>>12&63|128,t[r++]=a>>6&63|128,t[r++]=63&a|128):(t[r++]=a>>12|224,t[r++]=a>>6&63|128,t[r++]=63&a|128)}return t},ee=function(e){const t=[];let r=0,n=0;for(;r191&&a<224){const i=e[r++];t[n++]=String.fromCharCode((31&a)<<6|63&i)}else if(a>239&&a<365){const i=((7&a)<<18|(63&e[r++])<<12|(63&e[r++])<<6|63&e[r++])-65536;t[n++]=String.fromCharCode(55296+(i>>10)),t[n++]=String.fromCharCode(56320+(1023&i))}else{const i=e[r++],s=e[r++];t[n++]=String.fromCharCode((15&a)<<12|(63&i)<<6|63&s)}}return t.join("")},G={byteToCharMap_:null,charToByteMap_:null,byteToCharMapWebSafe_:null,charToByteMapWebSafe_:null,ENCODED_VALS_BASE:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789",get ENCODED_VALS(){return this.ENCODED_VALS_BASE+"+/="},get ENCODED_VALS_WEBSAFE(){return this.ENCODED_VALS_BASE+"-_."},HAS_NATIVE_SUPPORT:"function"==typeof atob,encodeByteArray(e,t){if(!Array.isArray(e))throw Error("encodeByteArray takes an array as a parameter");this.init_();const r=t?this.byteToCharMapWebSafe_:this.byteToCharMap_,n=[];for(let t=0;t>2,l=(3&a)<<4|s>>4;let d=(15&s)<<2|c>>6,u=63&c;o||(u=64,i||(d=64)),n.push(r[h],r[l],r[d],r[u])}return n.join("")},encodeString(e,t){return this.HAS_NATIVE_SUPPORT&&!t?btoa(e):this.encodeByteArray(W(e),t)},decodeString(e,t){return this.HAS_NATIVE_SUPPORT&&!t?atob(e):ee(this.decodeStringToByteArray(e,t))},decodeStringToByteArray(e,t){this.init_();const r=t?this.charToByteMapWebSafe_:this.charToByteMap_,n=[];for(let t=0;t>4;if(n.push(c),64!==s){const e=i<<4&240|s>>2;if(n.push(e),64!==o){const e=s<<6&192|o;n.push(e)}}}return n},init_(){if(!this.byteToCharMap_){this.byteToCharMap_={},this.charToByteMap_={},this.byteToCharMapWebSafe_={},this.charToByteMapWebSafe_={};for(let e=0;e=this.ENCODED_VALS_BASE.length&&(this.charToByteMap_[this.ENCODED_VALS_WEBSAFE.charAt(e)]=e,this.charToByteMapWebSafe_[this.ENCODED_VALS.charAt(e)]=e)}}};class te extends Error{constructor(){super(...arguments),this.name="DecodeBase64StringError"}}const ne=function(e){const t=W(e);return G.encodeByteArray(t,!0)},J=function(e){return ne(e).replace(/\./g,"")},re=function(e){try{return G.decodeString(e,!0)}catch(e){console.error("base64Decode failed: ",e)}return null};function se(){if(typeof self<"u")return self;if(typeof window<"u")return window;if(typeof global<"u")return global;throw new Error("Unable to locate global object.")}const ae=()=>se().__FIREBASE_DEFAULTS__,ie=()=>{if(typeof process>"u"||typeof L>"u")return;const e=L.__FIREBASE_DEFAULTS__;return e?JSON.parse(e):void 0},oe=()=>{if(typeof document>"u")return;let e;try{e=document.cookie.match(/__FIREBASE_DEFAULTS__=([^;]+)/)}catch{return}const t=e&&re(e[1]);return t&&JSON.parse(t)},ce=()=>{try{return ae()||ie()||oe()}catch(e){return void console.info(`Unable to get __FIREBASE_DEFAULTS__ due to: ${e}`)}},he=()=>{var e;return null===(e=ce())||void 0===e?void 0:e.config};class le{constructor(){this.reject=()=>{},this.resolve=()=>{},this.promise=new Promise(((e,t)=>{this.resolve=e,this.reject=t}))}wrapCallback(e){return(t,r)=>{t?this.reject(t):this.resolve(r),"function"==typeof e&&(this.promise.catch((()=>{})),1===e.length?e(t):e(t,r))}}}function de(){try{return"object"==typeof indexedDB}catch{return!1}}function fe(){return new Promise(((e,t)=>{try{let r=!0;const n="validate-browser-context-for-indexeddb-analytics-module",a=self.indexedDB.open(n);a.onsuccess=()=>{a.result.close(),r||self.indexedDB.deleteDatabase(n),e(!0)},a.onupgradeneeded=()=>{r=!1},a.onerror=()=>{var e;t((null===(e=a.error)||void 0===e?void 0:e.message)||"")}}catch(e){t(e)}}))}const ue="FirebaseError";class b extends Error{constructor(e,t,r){super(t),this.code=e,this.customData=r,this.name=ue,Object.setPrototypeOf(this,b.prototype),Error.captureStackTrace&&Error.captureStackTrace(this,K.prototype.create)}}class K{constructor(e,t,r){this.service=e,this.serviceName=t,this.errors=r}create(e,...t){const r=t[0]||{},n=`${this.service}/${e}`,a=this.errors[e],i=a?pe(a,r):"Error",s=`${this.serviceName}: ${i} (${n}).`;return new b(n,s,r)}}function pe(e,t){return e.replace(me,((e,r)=>{const n=t[r];return null!=n?String(n):`<${r}?>`}))}const me=/\{\$([^}]+)}/g;function C(e,t){if(e===t)return!0;const r=Object.keys(e),n=Object.keys(t);for(const a of r){if(!n.includes(a))return!1;const r=e[a],i=t[a];if(H(r)&&H(i)){if(!C(r,i))return!1}else if(r!==i)return!1}for(const e of n)if(!r.includes(e))return!1;return!0}function H(e){return null!==e&&"object"==typeof e}class D{constructor(e,t,r){this.name=e,this.instanceFactory=t,this.type=r,this.multipleInstances=!1,this.serviceProps={},this.instantiationMode="LAZY",this.onInstanceCreated=null}setInstantiationMode(e){return this.instantiationMode=e,this}setMultipleInstances(e){return this.multipleInstances=e,this}setServiceProps(e){return this.serviceProps=e,this}setInstanceCreatedCallback(e){return this.onInstanceCreated=e,this}}const u="[DEFAULT]";class ge{constructor(e,t){this.name=e,this.container=t,this.component=null,this.instances=new Map,this.instancesDeferred=new Map,this.instancesOptions=new Map,this.onInitCallbacks=new Map}get(e){const t=this.normalizeInstanceIdentifier(e);if(!this.instancesDeferred.has(t)){const e=new le;if(this.instancesDeferred.set(t,e),this.isInitialized(t)||this.shouldAutoInitialize())try{const r=this.getOrInitializeService({instanceIdentifier:t});r&&e.resolve(r)}catch{}}return this.instancesDeferred.get(t).promise}getImmediate(e){var t;const r=this.normalizeInstanceIdentifier(e?.identifier),n=null!==(t=e?.optional)&&void 0!==t&&t;if(!this.isInitialized(r)&&!this.shouldAutoInitialize()){if(n)return null;throw Error(`Service ${this.name} is not available`)}try{return this.getOrInitializeService({instanceIdentifier:r})}catch(e){if(n)return null;throw e}}getComponent(){return this.component}setComponent(e){if(e.name!==this.name)throw Error(`Mismatching Component ${e.name} for Provider ${this.name}.`);if(this.component)throw Error(`Component for ${this.name} has already been provided`);if(this.component=e,this.shouldAutoInitialize()){if(_e(e))try{this.getOrInitializeService({instanceIdentifier:u})}catch{}for(const[e,t]of this.instancesDeferred.entries()){const r=this.normalizeInstanceIdentifier(e);try{const e=this.getOrInitializeService({instanceIdentifier:r});t.resolve(e)}catch{}}}}clearInstance(e=u){this.instancesDeferred.delete(e),this.instancesOptions.delete(e),this.instances.delete(e)}async delete(){const e=Array.from(this.instances.values());await Promise.all([...e.filter((e=>"INTERNAL"in e)).map((e=>e.INTERNAL.delete())),...e.filter((e=>"_delete"in e)).map((e=>e._delete()))])}isComponentSet(){return null!=this.component}isInitialized(e=u){return this.instances.has(e)}getOptions(e=u){return this.instancesOptions.get(e)||{}}initialize(e={}){const{options:t={}}=e,r=this.normalizeInstanceIdentifier(e.instanceIdentifier);if(this.isInitialized(r))throw Error(`${this.name}(${r}) has already been initialized`);if(!this.isComponentSet())throw Error(`Component ${this.name} has not been registered yet`);const n=this.getOrInitializeService({instanceIdentifier:r,options:t});for(const[e,t]of this.instancesDeferred.entries()){r===this.normalizeInstanceIdentifier(e)&&t.resolve(n)}return n}onInit(e,t){var r;const n=this.normalizeInstanceIdentifier(t),a=null!==(r=this.onInitCallbacks.get(n))&&void 0!==r?r:new Set;a.add(e),this.onInitCallbacks.set(n,a);const i=this.instances.get(n);return i&&e(i,n),()=>{a.delete(e)}}invokeOnInitCallbacks(e,t){const r=this.onInitCallbacks.get(t);if(r)for(const n of r)try{n(e,t)}catch{}}getOrInitializeService({instanceIdentifier:e,options:t={}}){let r=this.instances.get(e);if(!r&&this.component&&(r=this.component.instanceFactory(this.container,{instanceIdentifier:be(e),options:t}),this.instances.set(e,r),this.instancesOptions.set(e,t),this.invokeOnInitCallbacks(r,e),this.component.onInstanceCreated))try{this.component.onInstanceCreated(this.container,e,r)}catch{}return r||null}normalizeInstanceIdentifier(e=u){return this.component?this.component.multipleInstances?e:u:e}shouldAutoInitialize(){return!!this.component&&"EXPLICIT"!==this.component.instantiationMode}}function be(e){return e===u?void 0:e}function _e(e){return"EAGER"===e.instantiationMode}class Ee{constructor(e){this.name=e,this.providers=new Map}addComponent(e){const t=this.getProvider(e.name);if(t.isComponentSet())throw new Error(`Component ${e.name} has already been registered with ${this.name}`);t.setComponent(e)}addOrOverwriteComponent(e){this.getProvider(e.name).isComponentSet()&&this.providers.delete(e.name),this.addComponent(e)}getProvider(e){if(this.providers.has(e))return this.providers.get(e);const t=new ge(e,this);return this.providers.set(e,t),t}getProviders(){return Array.from(this.providers.values())}}var h;!function(e){e[e.DEBUG=0]="DEBUG",e[e.VERBOSE=1]="VERBOSE",e[e.INFO=2]="INFO",e[e.WARN=3]="WARN",e[e.ERROR=4]="ERROR",e[e.SILENT=5]="SILENT"}(h||(h={}));const ye={debug:h.DEBUG,verbose:h.VERBOSE,info:h.INFO,warn:h.WARN,error:h.ERROR,silent:h.SILENT},De=h.INFO,Ie={[h.DEBUG]:"log",[h.VERBOSE]:"log",[h.INFO]:"info",[h.WARN]:"warn",[h.ERROR]:"error"},ve=(e,t,...r)=>{if(tt.some((t=>e instanceof t));let P,F;function Ce(){return P||(P=[IDBDatabase,IDBObjectStore,IDBIndex,IDBCursor,IDBTransaction])}function Ae(){return F||(F=[IDBCursor.prototype.advance,IDBCursor.prototype.continue,IDBCursor.prototype.continuePrimaryKey])}const Y=new WeakMap,A=new WeakMap,X=new WeakMap,I=new WeakMap,N=new WeakMap;function Be(e){const t=new Promise(((t,r)=>{const n=()=>{e.removeEventListener("success",a),e.removeEventListener("error",i)},a=()=>{t(f(e.result)),n()},i=()=>{r(e.error),n()};e.addEventListener("success",a),e.addEventListener("error",i)}));return t.then((t=>{t instanceof IDBCursor&&Y.set(t,e)})).catch((()=>{})),N.set(t,e),t}function Oe(e){if(A.has(e))return;const t=new Promise(((t,r)=>{const n=()=>{e.removeEventListener("complete",a),e.removeEventListener("error",i),e.removeEventListener("abort",i)},a=()=>{t(),n()},i=()=>{r(e.error||new DOMException("AbortError","AbortError")),n()};e.addEventListener("complete",a),e.addEventListener("error",i),e.addEventListener("abort",i)}));A.set(e,t)}let B={get(e,t,r){if(e instanceof IDBTransaction){if("done"===t)return A.get(e);if("objectStoreNames"===t)return e.objectStoreNames||X.get(e);if("store"===t)return r.objectStoreNames[1]?void 0:r.objectStore(r.objectStoreNames[0])}return f(e[t])},set:(e,t,r)=>(e[t]=r,!0),has:(e,t)=>e instanceof IDBTransaction&&("done"===t||"store"===t)||t in e};function Te(e){B=e(B)}function Me(e){return e!==IDBDatabase.prototype.transaction||"objectStoreNames"in IDBTransaction.prototype?Ae().includes(e)?function(...t){return e.apply(v(this),t),f(Y.get(this))}:function(...t){return f(e.apply(v(this),t))}:function(t,...r){const n=e.call(v(this),t,...r);return X.set(n,t.sort?t.sort():[t]),f(n)}}function $e(e){return"function"==typeof e?Me(e):(e instanceof IDBTransaction&&Oe(e),Se(e,Ce())?new Proxy(e,B):e)}function f(e){if(e instanceof IDBRequest)return Be(e);if(I.has(e))return I.get(e);const t=$e(e);return t!==e&&(I.set(e,t),N.set(t,e)),t}const v=e=>N.get(e);function Ne(e,t,{blocked:r,upgrade:n,blocking:a,terminated:i}={}){const s=indexedDB.open(e,t),o=f(s);return n&&s.addEventListener("upgradeneeded",(e=>{n(f(s.result),e.oldVersion,e.newVersion,f(s.transaction),e)})),r&&s.addEventListener("blocked",(e=>r(e.oldVersion,e.newVersion,e))),o.then((e=>{i&&e.addEventListener("close",(()=>i())),a&&e.addEventListener("versionchange",(e=>a(e.oldVersion,e.newVersion,e)))})).catch((()=>{})),o}const Re=["get","getKey","getAll","getAllKeys","count"],Le=["put","add","delete","clear"],w=new Map;function x(e,t){if(!(e instanceof IDBDatabase)||t in e||"string"!=typeof t)return;if(w.get(t))return w.get(t);const r=t.replace(/FromIndex$/,""),n=t!==r,a=Le.includes(r);if(!(r in(n?IDBIndex:IDBObjectStore).prototype)||!a&&!Re.includes(r))return;const i=async function(e,...t){const i=this.transaction(e,a?"readwrite":"readonly");let s=i.store;return n&&(s=s.index(t.shift())),(await Promise.all([s[r](...t),a&&i.done]))[0]};return w.set(t,i),i}Te((e=>({...e,get:(t,r,n)=>x(t,r)||e.get(t,r,n),has:(t,r)=>!!x(t,r)||e.has(t,r)})));class He{constructor(e){this.container=e}getPlatformInfoString(){return this.container.getProviders().map((e=>{if(Pe(e)){const t=e.getImmediate();return`${t.library}/${t.version}`}return null})).filter((e=>e)).join(" ")}}function Pe(e){const t=e.getComponent();return"VERSION"===t?.type}const O="@firebase/app",V="0.10.9",d=new we("@firebase/app"),Fe="@firebase/app-compat",xe="@firebase/analytics-compat",Ve="@firebase/analytics",je="@firebase/app-check-compat",ke="@firebase/app-check",ze="@firebase/auth",Ue="@firebase/auth-compat",We="@firebase/database",Ge="@firebase/database-compat",Je="@firebase/functions",Ke="@firebase/functions-compat",Ye="@firebase/installations",Xe="@firebase/installations-compat",Ze="@firebase/messaging",qe="@firebase/messaging-compat",Qe="@firebase/performance",et="@firebase/performance-compat",tt="@firebase/remote-config",nt="@firebase/remote-config-compat",rt="@firebase/storage",st="@firebase/storage-compat",at="@firebase/firestore",it="@firebase/vertexai-preview",ot="@firebase/firestore-compat",ct="firebase",ht="[DEFAULT]",lt={[O]:"fire-core",[Fe]:"fire-core-compat",[Ve]:"fire-analytics",[xe]:"fire-analytics-compat",[ke]:"fire-app-check",[je]:"fire-app-check-compat",[ze]:"fire-auth",[Ue]:"fire-auth-compat",[We]:"fire-rtdb",[Ge]:"fire-rtdb-compat",[Je]:"fire-fn",[Ke]:"fire-fn-compat",[Ye]:"fire-iid",[Xe]:"fire-iid-compat",[Ze]:"fire-fcm",[qe]:"fire-fcm-compat",[Qe]:"fire-perf",[et]:"fire-perf-compat",[tt]:"fire-rc",[nt]:"fire-rc-compat",[rt]:"fire-gcs",[st]:"fire-gcs-compat",[at]:"fire-fst",[ot]:"fire-fst-compat",[it]:"fire-vertex","fire-js":"fire-js",[ct]:"fire-js-all"},T=new Map,dt=new Map,M=new Map;function j(e,t){try{e.container.addComponent(t)}catch(r){d.debug(`Component ${t.name} failed to register with FirebaseApp ${e.name}`,r)}}function $(e){const t=e.name;if(M.has(t))return d.debug(`There were multiple attempts to register component ${t}.`),!1;M.set(t,e);for(const t of T.values())j(t,e);for(const t of dt.values())j(t,e);return!0}const ft={"no-app":"No Firebase App '{$appName}' has been created - call initializeApp() first","bad-app-name":"Illegal App name: '{$appName}'","duplicate-app":"Firebase App named '{$appName}' already exists with different options or config","app-deleted":"Firebase App named '{$appName}' already deleted","server-app-deleted":"Firebase Server App has been deleted","no-options":"Need to provide options, when not being deployed to hosting via source.","invalid-app-argument":"firebase.{$appName}() takes either no argument or a Firebase App instance.","invalid-log-argument":"First argument to `onLog` must be null or a function.","idb-open":"Error thrown when opening IndexedDB. Original error: {$originalErrorMessage}.","idb-get":"Error thrown when reading from IndexedDB. Original error: {$originalErrorMessage}.","idb-set":"Error thrown when writing to IndexedDB. Original error: {$originalErrorMessage}.","idb-delete":"Error thrown when deleting from IndexedDB. Original error: {$originalErrorMessage}.","finalization-registry-not-supported":"FirebaseServerApp deleteOnDeref field defined but the JS runtime does not support FinalizationRegistry.","invalid-server-app-environment":"FirebaseServerApp is not for use in browser environments."},p=new K("app","Firebase",ft);class ut{constructor(e,t,r){this._isDeleted=!1,this._options=Object.assign({},e),this._config=Object.assign({},t),this._name=t.name,this._automaticDataCollectionEnabled=t.automaticDataCollectionEnabled,this._container=r,this.container.addComponent(new D("app",(()=>this),"PUBLIC"))}get automaticDataCollectionEnabled(){return this.checkDestroyed(),this._automaticDataCollectionEnabled}set automaticDataCollectionEnabled(e){this.checkDestroyed(),this._automaticDataCollectionEnabled=e}get name(){return this.checkDestroyed(),this._name}get options(){return this.checkDestroyed(),this._options}get config(){return this.checkDestroyed(),this._config}get container(){return this._container}get isDeleted(){return this._isDeleted}set isDeleted(e){this._isDeleted=e}checkDestroyed(){if(this.isDeleted)throw p.create("app-deleted",{appName:this._name})}}function St(e,t={}){let r=e;"object"!=typeof t&&(t={name:t});const n=Object.assign({name:ht,automaticDataCollectionEnabled:!1},t),a=n.name;if("string"!=typeof a||!a)throw p.create("bad-app-name",{appName:String(a)});if(r||(r=he()),!r)throw p.create("no-options");const i=T.get(a);if(i){if(C(r,i.options)&&C(n,i.config))return i;throw p.create("duplicate-app",{appName:a})}const s=new Ee(a);for(const e of M.values())s.addComponent(e);const o=new ut(r,n,s);return T.set(a,o),o}function y(e,t,r){var n;let a=null!==(n=lt[e])&&void 0!==n?n:e;r&&(a+=`-${r}`);const i=a.match(/\s|\//),s=t.match(/\s|\//);if(i||s){const e=[`Unable to register library "${a}" with version "${t}":`];return i&&e.push(`library name "${a}" contains illegal characters (whitespace or "/")`),i&&s&&e.push("and"),s&&e.push(`version name "${t}" contains illegal characters (whitespace or "/")`),void d.warn(e.join(" "))}$(new D(`${a}-version`,(()=>({library:a,version:t})),"VERSION"))}const pt="firebase-heartbeat-database",mt=1,g="firebase-heartbeat-store";let S=null;function Z(){return S||(S=Ne(pt,mt,{upgrade:(e,t)=>{if(0===t)try{e.createObjectStore(g)}catch(e){console.warn(e)}}}).catch((e=>{throw p.create("idb-open",{originalErrorMessage:e.message})}))),S}async function gt(e){try{const t=(await Z()).transaction(g),r=await t.objectStore(g).get(q(e));return await t.done,r}catch(e){if(e instanceof b)d.warn(e.message);else{const t=p.create("idb-get",{originalErrorMessage:e?.message});d.warn(t.message)}}}async function k(e,t){try{const r=(await Z()).transaction(g,"readwrite");await r.objectStore(g).put(t,q(e)),await r.done}catch(e){if(e instanceof b)d.warn(e.message);else{const t=p.create("idb-set",{originalErrorMessage:e?.message});d.warn(t.message)}}}function q(e){return`${e.name}!${e.options.appId}`}const bt=1024,_t=2592e6;class Et{constructor(e){this.container=e,this._heartbeatsCache=null;const t=this.container.getProvider("app").getImmediate();this._storage=new Dt(t),this._heartbeatsCachePromise=this._storage.read().then((e=>(this._heartbeatsCache=e,e)))}async triggerHeartbeat(){var e,t,r;try{const n=this.container.getProvider("platform-logger").getImmediate().getPlatformInfoString(),a=z();return console.log("heartbeats",null===(e=this._heartbeatsCache)||void 0===e?void 0:e.heartbeats),null==(null===(t=this._heartbeatsCache)||void 0===t?void 0:t.heartbeats)&&(this._heartbeatsCache=await this._heartbeatsCachePromise,null==(null===(r=this._heartbeatsCache)||void 0===r?void 0:r.heartbeats))||this._heartbeatsCache.lastSentHeartbeatDate===a||this._heartbeatsCache.heartbeats.some((e=>e.date===a))?void 0:(this._heartbeatsCache.heartbeats.push({date:a,agent:n}),this._heartbeatsCache.heartbeats=this._heartbeatsCache.heartbeats.filter((e=>{const t=new Date(e.date).valueOf();return Date.now()-t<=_t})),this._storage.overwrite(this._heartbeatsCache))}catch(e){d.warn(e)}}async getHeartbeatsHeader(){var e;try{if(null===this._heartbeatsCache&&await this._heartbeatsCachePromise,null==(null===(e=this._heartbeatsCache)||void 0===e?void 0:e.heartbeats)||0===this._heartbeatsCache.heartbeats.length)return"";const t=z(),{heartbeatsToSend:r,unsentEntries:n}=yt(this._heartbeatsCache.heartbeats),a=J(JSON.stringify({version:2,heartbeats:r}));return this._heartbeatsCache.lastSentHeartbeatDate=t,n.length>0?(this._heartbeatsCache.heartbeats=n,await this._storage.overwrite(this._heartbeatsCache)):(this._heartbeatsCache.heartbeats=[],this._storage.overwrite(this._heartbeatsCache)),a}catch(e){return d.warn(e),""}}}function z(){return(new Date).toISOString().substring(0,10)}function yt(e,t=bt){const r=[];let n=e.slice();for(const a of e){const e=r.find((e=>e.agent===a.agent));if(e){if(e.dates.push(a.date),U(r)>t){e.dates.pop();break}}else if(r.push({agent:a.agent,dates:[a.date]}),U(r)>t){r.pop();break}n=n.slice(1)}return{heartbeatsToSend:r,unsentEntries:n}}class Dt{constructor(e){this.app=e,this._canUseIndexedDBPromise=this.runIndexedDBEnvironmentCheck()}async runIndexedDBEnvironmentCheck(){return!!de()&&fe().then((()=>!0)).catch((()=>!1))}async read(){if(await this._canUseIndexedDBPromise){const e=await gt(this.app);return e?.heartbeats?e:{heartbeats:[]}}return{heartbeats:[]}}async overwrite(e){var t;if(await this._canUseIndexedDBPromise){const r=await this.read();return k(this.app,{lastSentHeartbeatDate:null!==(t=e.lastSentHeartbeatDate)&&void 0!==t?t:r.lastSentHeartbeatDate,heartbeats:e.heartbeats})}}async add(e){var t;if(await this._canUseIndexedDBPromise){const r=await this.read();return k(this.app,{lastSentHeartbeatDate:null!==(t=e.lastSentHeartbeatDate)&&void 0!==t?t:r.lastSentHeartbeatDate,heartbeats:[...r.heartbeats,...e.heartbeats]})}}}function U(e){return J(JSON.stringify({version:2,heartbeats:e})).length}function It(e){$(new D("platform-logger",(e=>new He(e)),"PRIVATE")),$(new D("heartbeat",(e=>new Et(e)),"PRIVATE")),y(O,V,e),y(O,V,"esm2017"),y("fire-js","")}It("");var vt="firebase",wt="10.13.0";y(vt,wt,"app");export{b as FirebaseError,ht as _DEFAULT_ENTRY_NAME,j as _addComponent,T as _apps,M as _components,$ as _registerComponent,dt as _serverApps,St as initializeApp,y as registerVersion}; \ No newline at end of file diff --git a/Target/_astro/index.esm.WPJ9Gp6O.js.map b/Target/_astro/index.esm.WPJ9Gp6O.js.map new file mode 100644 index 00000000..87430fb9 --- /dev/null +++ b/Target/_astro/index.esm.WPJ9Gp6O.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.esm.WPJ9Gp6O.js","sources":["../../../../../../node_modules/@firebase/util/dist/index.esm2017.js","../../../../../../node_modules/@firebase/component/dist/esm/index.esm2017.js","../../../../../../node_modules/@firebase/logger/dist/esm/index.esm2017.js","../../../../../../node_modules/idb/build/wrap-idb-value.js","../../../../../../node_modules/idb/build/index.js","../../../../../../node_modules/@firebase/app/dist/esm/index.esm2017.js","../../../../../../node_modules/firebase/app/dist/esm/index.esm.js"],"sourcesContent":["/**\r\n * @license\r\n * Copyright 2017 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n/**\r\n * @fileoverview Firebase constants. Some of these (@defines) can be overridden at compile-time.\r\n */\r\nconst CONSTANTS = {\r\n /**\r\n * @define {boolean} Whether this is the client Node.js SDK.\r\n */\r\n NODE_CLIENT: false,\r\n /**\r\n * @define {boolean} Whether this is the Admin Node.js SDK.\r\n */\r\n NODE_ADMIN: false,\r\n /**\r\n * Firebase SDK Version\r\n */\r\n SDK_VERSION: '${JSCORE_VERSION}'\r\n};\n\n/**\r\n * @license\r\n * Copyright 2017 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n/**\r\n * Throws an error if the provided assertion is falsy\r\n */\r\nconst assert = function (assertion, message) {\r\n if (!assertion) {\r\n throw assertionError(message);\r\n }\r\n};\r\n/**\r\n * Returns an Error object suitable for throwing.\r\n */\r\nconst assertionError = function (message) {\r\n return new Error('Firebase Database (' +\r\n CONSTANTS.SDK_VERSION +\r\n ') INTERNAL ASSERT FAILED: ' +\r\n message);\r\n};\n\n/**\r\n * @license\r\n * Copyright 2017 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\nconst stringToByteArray$1 = function (str) {\r\n // TODO(user): Use native implementations if/when available\r\n const out = [];\r\n let p = 0;\r\n for (let i = 0; i < str.length; i++) {\r\n let c = str.charCodeAt(i);\r\n if (c < 128) {\r\n out[p++] = c;\r\n }\r\n else if (c < 2048) {\r\n out[p++] = (c >> 6) | 192;\r\n out[p++] = (c & 63) | 128;\r\n }\r\n else if ((c & 0xfc00) === 0xd800 &&\r\n i + 1 < str.length &&\r\n (str.charCodeAt(i + 1) & 0xfc00) === 0xdc00) {\r\n // Surrogate Pair\r\n c = 0x10000 + ((c & 0x03ff) << 10) + (str.charCodeAt(++i) & 0x03ff);\r\n out[p++] = (c >> 18) | 240;\r\n out[p++] = ((c >> 12) & 63) | 128;\r\n out[p++] = ((c >> 6) & 63) | 128;\r\n out[p++] = (c & 63) | 128;\r\n }\r\n else {\r\n out[p++] = (c >> 12) | 224;\r\n out[p++] = ((c >> 6) & 63) | 128;\r\n out[p++] = (c & 63) | 128;\r\n }\r\n }\r\n return out;\r\n};\r\n/**\r\n * Turns an array of numbers into the string given by the concatenation of the\r\n * characters to which the numbers correspond.\r\n * @param bytes Array of numbers representing characters.\r\n * @return Stringification of the array.\r\n */\r\nconst byteArrayToString = function (bytes) {\r\n // TODO(user): Use native implementations if/when available\r\n const out = [];\r\n let pos = 0, c = 0;\r\n while (pos < bytes.length) {\r\n const c1 = bytes[pos++];\r\n if (c1 < 128) {\r\n out[c++] = String.fromCharCode(c1);\r\n }\r\n else if (c1 > 191 && c1 < 224) {\r\n const c2 = bytes[pos++];\r\n out[c++] = String.fromCharCode(((c1 & 31) << 6) | (c2 & 63));\r\n }\r\n else if (c1 > 239 && c1 < 365) {\r\n // Surrogate Pair\r\n const c2 = bytes[pos++];\r\n const c3 = bytes[pos++];\r\n const c4 = bytes[pos++];\r\n const u = (((c1 & 7) << 18) | ((c2 & 63) << 12) | ((c3 & 63) << 6) | (c4 & 63)) -\r\n 0x10000;\r\n out[c++] = String.fromCharCode(0xd800 + (u >> 10));\r\n out[c++] = String.fromCharCode(0xdc00 + (u & 1023));\r\n }\r\n else {\r\n const c2 = bytes[pos++];\r\n const c3 = bytes[pos++];\r\n out[c++] = String.fromCharCode(((c1 & 15) << 12) | ((c2 & 63) << 6) | (c3 & 63));\r\n }\r\n }\r\n return out.join('');\r\n};\r\n// We define it as an object literal instead of a class because a class compiled down to es5 can't\r\n// be treeshaked. https://github.com/rollup/rollup/issues/1691\r\n// Static lookup maps, lazily populated by init_()\r\nconst base64 = {\r\n /**\r\n * Maps bytes to characters.\r\n */\r\n byteToCharMap_: null,\r\n /**\r\n * Maps characters to bytes.\r\n */\r\n charToByteMap_: null,\r\n /**\r\n * Maps bytes to websafe characters.\r\n * @private\r\n */\r\n byteToCharMapWebSafe_: null,\r\n /**\r\n * Maps websafe characters to bytes.\r\n * @private\r\n */\r\n charToByteMapWebSafe_: null,\r\n /**\r\n * Our default alphabet, shared between\r\n * ENCODED_VALS and ENCODED_VALS_WEBSAFE\r\n */\r\n ENCODED_VALS_BASE: 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' + 'abcdefghijklmnopqrstuvwxyz' + '0123456789',\r\n /**\r\n * Our default alphabet. Value 64 (=) is special; it means \"nothing.\"\r\n */\r\n get ENCODED_VALS() {\r\n return this.ENCODED_VALS_BASE + '+/=';\r\n },\r\n /**\r\n * Our websafe alphabet.\r\n */\r\n get ENCODED_VALS_WEBSAFE() {\r\n return this.ENCODED_VALS_BASE + '-_.';\r\n },\r\n /**\r\n * Whether this browser supports the atob and btoa functions. This extension\r\n * started at Mozilla but is now implemented by many browsers. We use the\r\n * ASSUME_* variables to avoid pulling in the full useragent detection library\r\n * but still allowing the standard per-browser compilations.\r\n *\r\n */\r\n HAS_NATIVE_SUPPORT: typeof atob === 'function',\r\n /**\r\n * Base64-encode an array of bytes.\r\n *\r\n * @param input An array of bytes (numbers with\r\n * value in [0, 255]) to encode.\r\n * @param webSafe Boolean indicating we should use the\r\n * alternative alphabet.\r\n * @return The base64 encoded string.\r\n */\r\n encodeByteArray(input, webSafe) {\r\n if (!Array.isArray(input)) {\r\n throw Error('encodeByteArray takes an array as a parameter');\r\n }\r\n this.init_();\r\n const byteToCharMap = webSafe\r\n ? this.byteToCharMapWebSafe_\r\n : this.byteToCharMap_;\r\n const output = [];\r\n for (let i = 0; i < input.length; i += 3) {\r\n const byte1 = input[i];\r\n const haveByte2 = i + 1 < input.length;\r\n const byte2 = haveByte2 ? input[i + 1] : 0;\r\n const haveByte3 = i + 2 < input.length;\r\n const byte3 = haveByte3 ? input[i + 2] : 0;\r\n const outByte1 = byte1 >> 2;\r\n const outByte2 = ((byte1 & 0x03) << 4) | (byte2 >> 4);\r\n let outByte3 = ((byte2 & 0x0f) << 2) | (byte3 >> 6);\r\n let outByte4 = byte3 & 0x3f;\r\n if (!haveByte3) {\r\n outByte4 = 64;\r\n if (!haveByte2) {\r\n outByte3 = 64;\r\n }\r\n }\r\n output.push(byteToCharMap[outByte1], byteToCharMap[outByte2], byteToCharMap[outByte3], byteToCharMap[outByte4]);\r\n }\r\n return output.join('');\r\n },\r\n /**\r\n * Base64-encode a string.\r\n *\r\n * @param input A string to encode.\r\n * @param webSafe If true, we should use the\r\n * alternative alphabet.\r\n * @return The base64 encoded string.\r\n */\r\n encodeString(input, webSafe) {\r\n // Shortcut for Mozilla browsers that implement\r\n // a native base64 encoder in the form of \"btoa/atob\"\r\n if (this.HAS_NATIVE_SUPPORT && !webSafe) {\r\n return btoa(input);\r\n }\r\n return this.encodeByteArray(stringToByteArray$1(input), webSafe);\r\n },\r\n /**\r\n * Base64-decode a string.\r\n *\r\n * @param input to decode.\r\n * @param webSafe True if we should use the\r\n * alternative alphabet.\r\n * @return string representing the decoded value.\r\n */\r\n decodeString(input, webSafe) {\r\n // Shortcut for Mozilla browsers that implement\r\n // a native base64 encoder in the form of \"btoa/atob\"\r\n if (this.HAS_NATIVE_SUPPORT && !webSafe) {\r\n return atob(input);\r\n }\r\n return byteArrayToString(this.decodeStringToByteArray(input, webSafe));\r\n },\r\n /**\r\n * Base64-decode a string.\r\n *\r\n * In base-64 decoding, groups of four characters are converted into three\r\n * bytes. If the encoder did not apply padding, the input length may not\r\n * be a multiple of 4.\r\n *\r\n * In this case, the last group will have fewer than 4 characters, and\r\n * padding will be inferred. If the group has one or two characters, it decodes\r\n * to one byte. If the group has three characters, it decodes to two bytes.\r\n *\r\n * @param input Input to decode.\r\n * @param webSafe True if we should use the web-safe alphabet.\r\n * @return bytes representing the decoded value.\r\n */\r\n decodeStringToByteArray(input, webSafe) {\r\n this.init_();\r\n const charToByteMap = webSafe\r\n ? this.charToByteMapWebSafe_\r\n : this.charToByteMap_;\r\n const output = [];\r\n for (let i = 0; i < input.length;) {\r\n const byte1 = charToByteMap[input.charAt(i++)];\r\n const haveByte2 = i < input.length;\r\n const byte2 = haveByte2 ? charToByteMap[input.charAt(i)] : 0;\r\n ++i;\r\n const haveByte3 = i < input.length;\r\n const byte3 = haveByte3 ? charToByteMap[input.charAt(i)] : 64;\r\n ++i;\r\n const haveByte4 = i < input.length;\r\n const byte4 = haveByte4 ? charToByteMap[input.charAt(i)] : 64;\r\n ++i;\r\n if (byte1 == null || byte2 == null || byte3 == null || byte4 == null) {\r\n throw new DecodeBase64StringError();\r\n }\r\n const outByte1 = (byte1 << 2) | (byte2 >> 4);\r\n output.push(outByte1);\r\n if (byte3 !== 64) {\r\n const outByte2 = ((byte2 << 4) & 0xf0) | (byte3 >> 2);\r\n output.push(outByte2);\r\n if (byte4 !== 64) {\r\n const outByte3 = ((byte3 << 6) & 0xc0) | byte4;\r\n output.push(outByte3);\r\n }\r\n }\r\n }\r\n return output;\r\n },\r\n /**\r\n * Lazy static initialization function. Called before\r\n * accessing any of the static map variables.\r\n * @private\r\n */\r\n init_() {\r\n if (!this.byteToCharMap_) {\r\n this.byteToCharMap_ = {};\r\n this.charToByteMap_ = {};\r\n this.byteToCharMapWebSafe_ = {};\r\n this.charToByteMapWebSafe_ = {};\r\n // We want quick mappings back and forth, so we precompute two maps.\r\n for (let i = 0; i < this.ENCODED_VALS.length; i++) {\r\n this.byteToCharMap_[i] = this.ENCODED_VALS.charAt(i);\r\n this.charToByteMap_[this.byteToCharMap_[i]] = i;\r\n this.byteToCharMapWebSafe_[i] = this.ENCODED_VALS_WEBSAFE.charAt(i);\r\n this.charToByteMapWebSafe_[this.byteToCharMapWebSafe_[i]] = i;\r\n // Be forgiving when decoding and correctly decode both encodings.\r\n if (i >= this.ENCODED_VALS_BASE.length) {\r\n this.charToByteMap_[this.ENCODED_VALS_WEBSAFE.charAt(i)] = i;\r\n this.charToByteMapWebSafe_[this.ENCODED_VALS.charAt(i)] = i;\r\n }\r\n }\r\n }\r\n }\r\n};\r\n/**\r\n * An error encountered while decoding base64 string.\r\n */\r\nclass DecodeBase64StringError extends Error {\r\n constructor() {\r\n super(...arguments);\r\n this.name = 'DecodeBase64StringError';\r\n }\r\n}\r\n/**\r\n * URL-safe base64 encoding\r\n */\r\nconst base64Encode = function (str) {\r\n const utf8Bytes = stringToByteArray$1(str);\r\n return base64.encodeByteArray(utf8Bytes, true);\r\n};\r\n/**\r\n * URL-safe base64 encoding (without \".\" padding in the end).\r\n * e.g. Used in JSON Web Token (JWT) parts.\r\n */\r\nconst base64urlEncodeWithoutPadding = function (str) {\r\n // Use base64url encoding and remove padding in the end (dot characters).\r\n return base64Encode(str).replace(/\\./g, '');\r\n};\r\n/**\r\n * URL-safe base64 decoding\r\n *\r\n * NOTE: DO NOT use the global atob() function - it does NOT support the\r\n * base64Url variant encoding.\r\n *\r\n * @param str To be decoded\r\n * @return Decoded result, if possible\r\n */\r\nconst base64Decode = function (str) {\r\n try {\r\n return base64.decodeString(str, true);\r\n }\r\n catch (e) {\r\n console.error('base64Decode failed: ', e);\r\n }\r\n return null;\r\n};\n\n/**\r\n * @license\r\n * Copyright 2017 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n/**\r\n * Do a deep-copy of basic JavaScript Objects or Arrays.\r\n */\r\nfunction deepCopy(value) {\r\n return deepExtend(undefined, value);\r\n}\r\n/**\r\n * Copy properties from source to target (recursively allows extension\r\n * of Objects and Arrays). Scalar values in the target are over-written.\r\n * If target is undefined, an object of the appropriate type will be created\r\n * (and returned).\r\n *\r\n * We recursively copy all child properties of plain Objects in the source- so\r\n * that namespace- like dictionaries are merged.\r\n *\r\n * Note that the target can be a function, in which case the properties in\r\n * the source Object are copied onto it as static properties of the Function.\r\n *\r\n * Note: we don't merge __proto__ to prevent prototype pollution\r\n */\r\nfunction deepExtend(target, source) {\r\n if (!(source instanceof Object)) {\r\n return source;\r\n }\r\n switch (source.constructor) {\r\n case Date:\r\n // Treat Dates like scalars; if the target date object had any child\r\n // properties - they will be lost!\r\n const dateValue = source;\r\n return new Date(dateValue.getTime());\r\n case Object:\r\n if (target === undefined) {\r\n target = {};\r\n }\r\n break;\r\n case Array:\r\n // Always copy the array source and overwrite the target.\r\n target = [];\r\n break;\r\n default:\r\n // Not a plain Object - treat it as a scalar.\r\n return source;\r\n }\r\n for (const prop in source) {\r\n // use isValidKey to guard against prototype pollution. See https://snyk.io/vuln/SNYK-JS-LODASH-450202\r\n if (!source.hasOwnProperty(prop) || !isValidKey(prop)) {\r\n continue;\r\n }\r\n target[prop] = deepExtend(target[prop], source[prop]);\r\n }\r\n return target;\r\n}\r\nfunction isValidKey(key) {\r\n return key !== '__proto__';\r\n}\n\n/**\r\n * @license\r\n * Copyright 2022 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n/**\r\n * Polyfill for `globalThis` object.\r\n * @returns the `globalThis` object for the given environment.\r\n * @public\r\n */\r\nfunction getGlobal() {\r\n if (typeof self !== 'undefined') {\r\n return self;\r\n }\r\n if (typeof window !== 'undefined') {\r\n return window;\r\n }\r\n if (typeof global !== 'undefined') {\r\n return global;\r\n }\r\n throw new Error('Unable to locate global object.');\r\n}\n\n/**\r\n * @license\r\n * Copyright 2022 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\nconst getDefaultsFromGlobal = () => getGlobal().__FIREBASE_DEFAULTS__;\r\n/**\r\n * Attempt to read defaults from a JSON string provided to\r\n * process(.)env(.)__FIREBASE_DEFAULTS__ or a JSON file whose path is in\r\n * process(.)env(.)__FIREBASE_DEFAULTS_PATH__\r\n * The dots are in parens because certain compilers (Vite?) cannot\r\n * handle seeing that variable in comments.\r\n * See https://github.com/firebase/firebase-js-sdk/issues/6838\r\n */\r\nconst getDefaultsFromEnvVariable = () => {\r\n if (typeof process === 'undefined' || typeof process.env === 'undefined') {\r\n return;\r\n }\r\n const defaultsJsonString = process.env.__FIREBASE_DEFAULTS__;\r\n if (defaultsJsonString) {\r\n return JSON.parse(defaultsJsonString);\r\n }\r\n};\r\nconst getDefaultsFromCookie = () => {\r\n if (typeof document === 'undefined') {\r\n return;\r\n }\r\n let match;\r\n try {\r\n match = document.cookie.match(/__FIREBASE_DEFAULTS__=([^;]+)/);\r\n }\r\n catch (e) {\r\n // Some environments such as Angular Universal SSR have a\r\n // `document` object but error on accessing `document.cookie`.\r\n return;\r\n }\r\n const decoded = match && base64Decode(match[1]);\r\n return decoded && JSON.parse(decoded);\r\n};\r\n/**\r\n * Get the __FIREBASE_DEFAULTS__ object. It checks in order:\r\n * (1) if such an object exists as a property of `globalThis`\r\n * (2) if such an object was provided on a shell environment variable\r\n * (3) if such an object exists in a cookie\r\n * @public\r\n */\r\nconst getDefaults = () => {\r\n try {\r\n return (getDefaultsFromGlobal() ||\r\n getDefaultsFromEnvVariable() ||\r\n getDefaultsFromCookie());\r\n }\r\n catch (e) {\r\n /**\r\n * Catch-all for being unable to get __FIREBASE_DEFAULTS__ due\r\n * to any environment case we have not accounted for. Log to\r\n * info instead of swallowing so we can find these unknown cases\r\n * and add paths for them if needed.\r\n */\r\n console.info(`Unable to get __FIREBASE_DEFAULTS__ due to: ${e}`);\r\n return;\r\n }\r\n};\r\n/**\r\n * Returns emulator host stored in the __FIREBASE_DEFAULTS__ object\r\n * for the given product.\r\n * @returns a URL host formatted like `127.0.0.1:9999` or `[::1]:4000` if available\r\n * @public\r\n */\r\nconst getDefaultEmulatorHost = (productName) => { var _a, _b; return (_b = (_a = getDefaults()) === null || _a === void 0 ? void 0 : _a.emulatorHosts) === null || _b === void 0 ? void 0 : _b[productName]; };\r\n/**\r\n * Returns emulator hostname and port stored in the __FIREBASE_DEFAULTS__ object\r\n * for the given product.\r\n * @returns a pair of hostname and port like `[\"::1\", 4000]` if available\r\n * @public\r\n */\r\nconst getDefaultEmulatorHostnameAndPort = (productName) => {\r\n const host = getDefaultEmulatorHost(productName);\r\n if (!host) {\r\n return undefined;\r\n }\r\n const separatorIndex = host.lastIndexOf(':'); // Finding the last since IPv6 addr also has colons.\r\n if (separatorIndex <= 0 || separatorIndex + 1 === host.length) {\r\n throw new Error(`Invalid host ${host} with no separate hostname and port!`);\r\n }\r\n // eslint-disable-next-line no-restricted-globals\r\n const port = parseInt(host.substring(separatorIndex + 1), 10);\r\n if (host[0] === '[') {\r\n // Bracket-quoted `[ipv6addr]:port` => return \"ipv6addr\" (without brackets).\r\n return [host.substring(1, separatorIndex - 1), port];\r\n }\r\n else {\r\n return [host.substring(0, separatorIndex), port];\r\n }\r\n};\r\n/**\r\n * Returns Firebase app config stored in the __FIREBASE_DEFAULTS__ object.\r\n * @public\r\n */\r\nconst getDefaultAppConfig = () => { var _a; return (_a = getDefaults()) === null || _a === void 0 ? void 0 : _a.config; };\r\n/**\r\n * Returns an experimental setting on the __FIREBASE_DEFAULTS__ object (properties\r\n * prefixed by \"_\")\r\n * @public\r\n */\r\nconst getExperimentalSetting = (name) => { var _a; return (_a = getDefaults()) === null || _a === void 0 ? void 0 : _a[`_${name}`]; };\n\n/**\r\n * @license\r\n * Copyright 2017 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\nclass Deferred {\r\n constructor() {\r\n this.reject = () => { };\r\n this.resolve = () => { };\r\n this.promise = new Promise((resolve, reject) => {\r\n this.resolve = resolve;\r\n this.reject = reject;\r\n });\r\n }\r\n /**\r\n * Our API internals are not promiseified and cannot because our callback APIs have subtle expectations around\r\n * invoking promises inline, which Promises are forbidden to do. This method accepts an optional node-style callback\r\n * and returns a node-style callback which will resolve or reject the Deferred's promise.\r\n */\r\n wrapCallback(callback) {\r\n return (error, value) => {\r\n if (error) {\r\n this.reject(error);\r\n }\r\n else {\r\n this.resolve(value);\r\n }\r\n if (typeof callback === 'function') {\r\n // Attaching noop handler just in case developer wasn't expecting\r\n // promises\r\n this.promise.catch(() => { });\r\n // Some of our callbacks don't expect a value and our own tests\r\n // assert that the parameter length is 1\r\n if (callback.length === 1) {\r\n callback(error);\r\n }\r\n else {\r\n callback(error, value);\r\n }\r\n }\r\n };\r\n }\r\n}\n\n/**\r\n * @license\r\n * Copyright 2021 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\nfunction createMockUserToken(token, projectId) {\r\n if (token.uid) {\r\n throw new Error('The \"uid\" field is no longer supported by mockUserToken. Please use \"sub\" instead for Firebase Auth User ID.');\r\n }\r\n // Unsecured JWTs use \"none\" as the algorithm.\r\n const header = {\r\n alg: 'none',\r\n type: 'JWT'\r\n };\r\n const project = projectId || 'demo-project';\r\n const iat = token.iat || 0;\r\n const sub = token.sub || token.user_id;\r\n if (!sub) {\r\n throw new Error(\"mockUserToken must contain 'sub' or 'user_id' field!\");\r\n }\r\n const payload = Object.assign({ \r\n // Set all required fields to decent defaults\r\n iss: `https://securetoken.google.com/${project}`, aud: project, iat, exp: iat + 3600, auth_time: iat, sub, user_id: sub, firebase: {\r\n sign_in_provider: 'custom',\r\n identities: {}\r\n } }, token);\r\n // Unsecured JWTs use the empty string as a signature.\r\n const signature = '';\r\n return [\r\n base64urlEncodeWithoutPadding(JSON.stringify(header)),\r\n base64urlEncodeWithoutPadding(JSON.stringify(payload)),\r\n signature\r\n ].join('.');\r\n}\n\n/**\r\n * @license\r\n * Copyright 2017 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n/**\r\n * Returns navigator.userAgent string or '' if it's not defined.\r\n * @return user agent string\r\n */\r\nfunction getUA() {\r\n if (typeof navigator !== 'undefined' &&\r\n typeof navigator['userAgent'] === 'string') {\r\n return navigator['userAgent'];\r\n }\r\n else {\r\n return '';\r\n }\r\n}\r\n/**\r\n * Detect Cordova / PhoneGap / Ionic frameworks on a mobile device.\r\n *\r\n * Deliberately does not rely on checking `file://` URLs (as this fails PhoneGap\r\n * in the Ripple emulator) nor Cordova `onDeviceReady`, which would normally\r\n * wait for a callback.\r\n */\r\nfunction isMobileCordova() {\r\n return (typeof window !== 'undefined' &&\r\n // @ts-ignore Setting up an broadly applicable index signature for Window\r\n // just to deal with this case would probably be a bad idea.\r\n !!(window['cordova'] || window['phonegap'] || window['PhoneGap']) &&\r\n /ios|iphone|ipod|ipad|android|blackberry|iemobile/i.test(getUA()));\r\n}\r\n/**\r\n * Detect Node.js.\r\n *\r\n * @return true if Node.js environment is detected or specified.\r\n */\r\n// Node detection logic from: https://github.com/iliakan/detect-node/\r\nfunction isNode() {\r\n var _a;\r\n const forceEnvironment = (_a = getDefaults()) === null || _a === void 0 ? void 0 : _a.forceEnvironment;\r\n if (forceEnvironment === 'node') {\r\n return true;\r\n }\r\n else if (forceEnvironment === 'browser') {\r\n return false;\r\n }\r\n try {\r\n return (Object.prototype.toString.call(global.process) === '[object process]');\r\n }\r\n catch (e) {\r\n return false;\r\n }\r\n}\r\n/**\r\n * Detect Browser Environment\r\n */\r\nfunction isBrowser() {\r\n return typeof window !== 'undefined' || isWebWorker();\r\n}\r\n/**\r\n * Detect Web Worker context\r\n */\r\nfunction isWebWorker() {\r\n return (typeof WorkerGlobalScope !== 'undefined' &&\r\n typeof self !== 'undefined' &&\r\n self instanceof WorkerGlobalScope);\r\n}\r\nfunction isBrowserExtension() {\r\n const runtime = typeof chrome === 'object'\r\n ? chrome.runtime\r\n : typeof browser === 'object'\r\n ? browser.runtime\r\n : undefined;\r\n return typeof runtime === 'object' && runtime.id !== undefined;\r\n}\r\n/**\r\n * Detect React Native.\r\n *\r\n * @return true if ReactNative environment is detected.\r\n */\r\nfunction isReactNative() {\r\n return (typeof navigator === 'object' && navigator['product'] === 'ReactNative');\r\n}\r\n/** Detects Electron apps. */\r\nfunction isElectron() {\r\n return getUA().indexOf('Electron/') >= 0;\r\n}\r\n/** Detects Internet Explorer. */\r\nfunction isIE() {\r\n const ua = getUA();\r\n return ua.indexOf('MSIE ') >= 0 || ua.indexOf('Trident/') >= 0;\r\n}\r\n/** Detects Universal Windows Platform apps. */\r\nfunction isUWP() {\r\n return getUA().indexOf('MSAppHost/') >= 0;\r\n}\r\n/**\r\n * Detect whether the current SDK build is the Node version.\r\n *\r\n * @return true if it's the Node SDK build.\r\n */\r\nfunction isNodeSdk() {\r\n return CONSTANTS.NODE_CLIENT === true || CONSTANTS.NODE_ADMIN === true;\r\n}\r\n/** Returns true if we are running in Safari. */\r\nfunction isSafari() {\r\n return (!isNode() &&\r\n !!navigator.userAgent &&\r\n navigator.userAgent.includes('Safari') &&\r\n !navigator.userAgent.includes('Chrome'));\r\n}\r\n/**\r\n * This method checks if indexedDB is supported by current browser/service worker context\r\n * @return true if indexedDB is supported by current browser/service worker context\r\n */\r\nfunction isIndexedDBAvailable() {\r\n try {\r\n return typeof indexedDB === 'object';\r\n }\r\n catch (e) {\r\n return false;\r\n }\r\n}\r\n/**\r\n * This method validates browser/sw context for indexedDB by opening a dummy indexedDB database and reject\r\n * if errors occur during the database open operation.\r\n *\r\n * @throws exception if current browser/sw context can't run idb.open (ex: Safari iframe, Firefox\r\n * private browsing)\r\n */\r\nfunction validateIndexedDBOpenable() {\r\n return new Promise((resolve, reject) => {\r\n try {\r\n let preExist = true;\r\n const DB_CHECK_NAME = 'validate-browser-context-for-indexeddb-analytics-module';\r\n const request = self.indexedDB.open(DB_CHECK_NAME);\r\n request.onsuccess = () => {\r\n request.result.close();\r\n // delete database only when it doesn't pre-exist\r\n if (!preExist) {\r\n self.indexedDB.deleteDatabase(DB_CHECK_NAME);\r\n }\r\n resolve(true);\r\n };\r\n request.onupgradeneeded = () => {\r\n preExist = false;\r\n };\r\n request.onerror = () => {\r\n var _a;\r\n reject(((_a = request.error) === null || _a === void 0 ? void 0 : _a.message) || '');\r\n };\r\n }\r\n catch (error) {\r\n reject(error);\r\n }\r\n });\r\n}\r\n/**\r\n *\r\n * This method checks whether cookie is enabled within current browser\r\n * @return true if cookie is enabled within current browser\r\n */\r\nfunction areCookiesEnabled() {\r\n if (typeof navigator === 'undefined' || !navigator.cookieEnabled) {\r\n return false;\r\n }\r\n return true;\r\n}\n\n/**\r\n * @license\r\n * Copyright 2017 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n/**\r\n * @fileoverview Standardized Firebase Error.\r\n *\r\n * Usage:\r\n *\r\n * // Typescript string literals for type-safe codes\r\n * type Err =\r\n * 'unknown' |\r\n * 'object-not-found'\r\n * ;\r\n *\r\n * // Closure enum for type-safe error codes\r\n * // at-enum {string}\r\n * var Err = {\r\n * UNKNOWN: 'unknown',\r\n * OBJECT_NOT_FOUND: 'object-not-found',\r\n * }\r\n *\r\n * let errors: Map = {\r\n * 'generic-error': \"Unknown error\",\r\n * 'file-not-found': \"Could not find file: {$file}\",\r\n * };\r\n *\r\n * // Type-safe function - must pass a valid error code as param.\r\n * let error = new ErrorFactory('service', 'Service', errors);\r\n *\r\n * ...\r\n * throw error.create(Err.GENERIC);\r\n * ...\r\n * throw error.create(Err.FILE_NOT_FOUND, {'file': fileName});\r\n * ...\r\n * // Service: Could not file file: foo.txt (service/file-not-found).\r\n *\r\n * catch (e) {\r\n * assert(e.message === \"Could not find file: foo.txt.\");\r\n * if ((e as FirebaseError)?.code === 'service/file-not-found') {\r\n * console.log(\"Could not read file: \" + e['file']);\r\n * }\r\n * }\r\n */\r\nconst ERROR_NAME = 'FirebaseError';\r\n// Based on code from:\r\n// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Error#Custom_Error_Types\r\nclass FirebaseError extends Error {\r\n constructor(\r\n /** The error code for this error. */\r\n code, message, \r\n /** Custom data for this error. */\r\n customData) {\r\n super(message);\r\n this.code = code;\r\n this.customData = customData;\r\n /** The custom name for all FirebaseErrors. */\r\n this.name = ERROR_NAME;\r\n // Fix For ES5\r\n // https://github.com/Microsoft/TypeScript-wiki/blob/master/Breaking-Changes.md#extending-built-ins-like-error-array-and-map-may-no-longer-work\r\n Object.setPrototypeOf(this, FirebaseError.prototype);\r\n // Maintains proper stack trace for where our error was thrown.\r\n // Only available on V8.\r\n if (Error.captureStackTrace) {\r\n Error.captureStackTrace(this, ErrorFactory.prototype.create);\r\n }\r\n }\r\n}\r\nclass ErrorFactory {\r\n constructor(service, serviceName, errors) {\r\n this.service = service;\r\n this.serviceName = serviceName;\r\n this.errors = errors;\r\n }\r\n create(code, ...data) {\r\n const customData = data[0] || {};\r\n const fullCode = `${this.service}/${code}`;\r\n const template = this.errors[code];\r\n const message = template ? replaceTemplate(template, customData) : 'Error';\r\n // Service Name: Error message (service/code).\r\n const fullMessage = `${this.serviceName}: ${message} (${fullCode}).`;\r\n const error = new FirebaseError(fullCode, fullMessage, customData);\r\n return error;\r\n }\r\n}\r\nfunction replaceTemplate(template, data) {\r\n return template.replace(PATTERN, (_, key) => {\r\n const value = data[key];\r\n return value != null ? String(value) : `<${key}?>`;\r\n });\r\n}\r\nconst PATTERN = /\\{\\$([^}]+)}/g;\n\n/**\r\n * @license\r\n * Copyright 2017 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n/**\r\n * Evaluates a JSON string into a javascript object.\r\n *\r\n * @param {string} str A string containing JSON.\r\n * @return {*} The javascript object representing the specified JSON.\r\n */\r\nfunction jsonEval(str) {\r\n return JSON.parse(str);\r\n}\r\n/**\r\n * Returns JSON representing a javascript object.\r\n * @param {*} data Javascript object to be stringified.\r\n * @return {string} The JSON contents of the object.\r\n */\r\nfunction stringify(data) {\r\n return JSON.stringify(data);\r\n}\n\n/**\r\n * @license\r\n * Copyright 2017 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n/**\r\n * Decodes a Firebase auth. token into constituent parts.\r\n *\r\n * Notes:\r\n * - May return with invalid / incomplete claims if there's no native base64 decoding support.\r\n * - Doesn't check if the token is actually valid.\r\n */\r\nconst decode = function (token) {\r\n let header = {}, claims = {}, data = {}, signature = '';\r\n try {\r\n const parts = token.split('.');\r\n header = jsonEval(base64Decode(parts[0]) || '');\r\n claims = jsonEval(base64Decode(parts[1]) || '');\r\n signature = parts[2];\r\n data = claims['d'] || {};\r\n delete claims['d'];\r\n }\r\n catch (e) { }\r\n return {\r\n header,\r\n claims,\r\n data,\r\n signature\r\n };\r\n};\r\n/**\r\n * Decodes a Firebase auth. token and checks the validity of its time-based claims. Will return true if the\r\n * token is within the time window authorized by the 'nbf' (not-before) and 'iat' (issued-at) claims.\r\n *\r\n * Notes:\r\n * - May return a false negative if there's no native base64 decoding support.\r\n * - Doesn't check if the token is actually valid.\r\n */\r\nconst isValidTimestamp = function (token) {\r\n const claims = decode(token).claims;\r\n const now = Math.floor(new Date().getTime() / 1000);\r\n let validSince = 0, validUntil = 0;\r\n if (typeof claims === 'object') {\r\n if (claims.hasOwnProperty('nbf')) {\r\n validSince = claims['nbf'];\r\n }\r\n else if (claims.hasOwnProperty('iat')) {\r\n validSince = claims['iat'];\r\n }\r\n if (claims.hasOwnProperty('exp')) {\r\n validUntil = claims['exp'];\r\n }\r\n else {\r\n // token will expire after 24h by default\r\n validUntil = validSince + 86400;\r\n }\r\n }\r\n return (!!now &&\r\n !!validSince &&\r\n !!validUntil &&\r\n now >= validSince &&\r\n now <= validUntil);\r\n};\r\n/**\r\n * Decodes a Firebase auth. token and returns its issued at time if valid, null otherwise.\r\n *\r\n * Notes:\r\n * - May return null if there's no native base64 decoding support.\r\n * - Doesn't check if the token is actually valid.\r\n */\r\nconst issuedAtTime = function (token) {\r\n const claims = decode(token).claims;\r\n if (typeof claims === 'object' && claims.hasOwnProperty('iat')) {\r\n return claims['iat'];\r\n }\r\n return null;\r\n};\r\n/**\r\n * Decodes a Firebase auth. token and checks the validity of its format. Expects a valid issued-at time.\r\n *\r\n * Notes:\r\n * - May return a false negative if there's no native base64 decoding support.\r\n * - Doesn't check if the token is actually valid.\r\n */\r\nconst isValidFormat = function (token) {\r\n const decoded = decode(token), claims = decoded.claims;\r\n return !!claims && typeof claims === 'object' && claims.hasOwnProperty('iat');\r\n};\r\n/**\r\n * Attempts to peer into an auth token and determine if it's an admin auth token by looking at the claims portion.\r\n *\r\n * Notes:\r\n * - May return a false negative if there's no native base64 decoding support.\r\n * - Doesn't check if the token is actually valid.\r\n */\r\nconst isAdmin = function (token) {\r\n const claims = decode(token).claims;\r\n return typeof claims === 'object' && claims['admin'] === true;\r\n};\n\n/**\r\n * @license\r\n * Copyright 2017 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\nfunction contains(obj, key) {\r\n return Object.prototype.hasOwnProperty.call(obj, key);\r\n}\r\nfunction safeGet(obj, key) {\r\n if (Object.prototype.hasOwnProperty.call(obj, key)) {\r\n return obj[key];\r\n }\r\n else {\r\n return undefined;\r\n }\r\n}\r\nfunction isEmpty(obj) {\r\n for (const key in obj) {\r\n if (Object.prototype.hasOwnProperty.call(obj, key)) {\r\n return false;\r\n }\r\n }\r\n return true;\r\n}\r\nfunction map(obj, fn, contextObj) {\r\n const res = {};\r\n for (const key in obj) {\r\n if (Object.prototype.hasOwnProperty.call(obj, key)) {\r\n res[key] = fn.call(contextObj, obj[key], key, obj);\r\n }\r\n }\r\n return res;\r\n}\r\n/**\r\n * Deep equal two objects. Support Arrays and Objects.\r\n */\r\nfunction deepEqual(a, b) {\r\n if (a === b) {\r\n return true;\r\n }\r\n const aKeys = Object.keys(a);\r\n const bKeys = Object.keys(b);\r\n for (const k of aKeys) {\r\n if (!bKeys.includes(k)) {\r\n return false;\r\n }\r\n const aProp = a[k];\r\n const bProp = b[k];\r\n if (isObject(aProp) && isObject(bProp)) {\r\n if (!deepEqual(aProp, bProp)) {\r\n return false;\r\n }\r\n }\r\n else if (aProp !== bProp) {\r\n return false;\r\n }\r\n }\r\n for (const k of bKeys) {\r\n if (!aKeys.includes(k)) {\r\n return false;\r\n }\r\n }\r\n return true;\r\n}\r\nfunction isObject(thing) {\r\n return thing !== null && typeof thing === 'object';\r\n}\n\n/**\r\n * @license\r\n * Copyright 2022 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n/**\r\n * Rejects if the given promise doesn't resolve in timeInMS milliseconds.\r\n * @internal\r\n */\r\nfunction promiseWithTimeout(promise, timeInMS = 2000) {\r\n const deferredPromise = new Deferred();\r\n setTimeout(() => deferredPromise.reject('timeout!'), timeInMS);\r\n promise.then(deferredPromise.resolve, deferredPromise.reject);\r\n return deferredPromise.promise;\r\n}\n\n/**\r\n * @license\r\n * Copyright 2017 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n/**\r\n * Returns a querystring-formatted string (e.g. &arg=val&arg2=val2) from a\r\n * params object (e.g. {arg: 'val', arg2: 'val2'})\r\n * Note: You must prepend it with ? when adding it to a URL.\r\n */\r\nfunction querystring(querystringParams) {\r\n const params = [];\r\n for (const [key, value] of Object.entries(querystringParams)) {\r\n if (Array.isArray(value)) {\r\n value.forEach(arrayVal => {\r\n params.push(encodeURIComponent(key) + '=' + encodeURIComponent(arrayVal));\r\n });\r\n }\r\n else {\r\n params.push(encodeURIComponent(key) + '=' + encodeURIComponent(value));\r\n }\r\n }\r\n return params.length ? '&' + params.join('&') : '';\r\n}\r\n/**\r\n * Decodes a querystring (e.g. ?arg=val&arg2=val2) into a params object\r\n * (e.g. {arg: 'val', arg2: 'val2'})\r\n */\r\nfunction querystringDecode(querystring) {\r\n const obj = {};\r\n const tokens = querystring.replace(/^\\?/, '').split('&');\r\n tokens.forEach(token => {\r\n if (token) {\r\n const [key, value] = token.split('=');\r\n obj[decodeURIComponent(key)] = decodeURIComponent(value);\r\n }\r\n });\r\n return obj;\r\n}\r\n/**\r\n * Extract the query string part of a URL, including the leading question mark (if present).\r\n */\r\nfunction extractQuerystring(url) {\r\n const queryStart = url.indexOf('?');\r\n if (!queryStart) {\r\n return '';\r\n }\r\n const fragmentStart = url.indexOf('#', queryStart);\r\n return url.substring(queryStart, fragmentStart > 0 ? fragmentStart : undefined);\r\n}\n\n/**\r\n * @license\r\n * Copyright 2017 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n/**\r\n * @fileoverview SHA-1 cryptographic hash.\r\n * Variable names follow the notation in FIPS PUB 180-3:\r\n * http://csrc.nist.gov/publications/fips/fips180-3/fips180-3_final.pdf.\r\n *\r\n * Usage:\r\n * var sha1 = new sha1();\r\n * sha1.update(bytes);\r\n * var hash = sha1.digest();\r\n *\r\n * Performance:\r\n * Chrome 23: ~400 Mbit/s\r\n * Firefox 16: ~250 Mbit/s\r\n *\r\n */\r\n/**\r\n * SHA-1 cryptographic hash constructor.\r\n *\r\n * The properties declared here are discussed in the above algorithm document.\r\n * @constructor\r\n * @final\r\n * @struct\r\n */\r\nclass Sha1 {\r\n constructor() {\r\n /**\r\n * Holds the previous values of accumulated variables a-e in the compress_\r\n * function.\r\n * @private\r\n */\r\n this.chain_ = [];\r\n /**\r\n * A buffer holding the partially computed hash result.\r\n * @private\r\n */\r\n this.buf_ = [];\r\n /**\r\n * An array of 80 bytes, each a part of the message to be hashed. Referred to\r\n * as the message schedule in the docs.\r\n * @private\r\n */\r\n this.W_ = [];\r\n /**\r\n * Contains data needed to pad messages less than 64 bytes.\r\n * @private\r\n */\r\n this.pad_ = [];\r\n /**\r\n * @private {number}\r\n */\r\n this.inbuf_ = 0;\r\n /**\r\n * @private {number}\r\n */\r\n this.total_ = 0;\r\n this.blockSize = 512 / 8;\r\n this.pad_[0] = 128;\r\n for (let i = 1; i < this.blockSize; ++i) {\r\n this.pad_[i] = 0;\r\n }\r\n this.reset();\r\n }\r\n reset() {\r\n this.chain_[0] = 0x67452301;\r\n this.chain_[1] = 0xefcdab89;\r\n this.chain_[2] = 0x98badcfe;\r\n this.chain_[3] = 0x10325476;\r\n this.chain_[4] = 0xc3d2e1f0;\r\n this.inbuf_ = 0;\r\n this.total_ = 0;\r\n }\r\n /**\r\n * Internal compress helper function.\r\n * @param buf Block to compress.\r\n * @param offset Offset of the block in the buffer.\r\n * @private\r\n */\r\n compress_(buf, offset) {\r\n if (!offset) {\r\n offset = 0;\r\n }\r\n const W = this.W_;\r\n // get 16 big endian words\r\n if (typeof buf === 'string') {\r\n for (let i = 0; i < 16; i++) {\r\n // TODO(user): [bug 8140122] Recent versions of Safari for Mac OS and iOS\r\n // have a bug that turns the post-increment ++ operator into pre-increment\r\n // during JIT compilation. We have code that depends heavily on SHA-1 for\r\n // correctness and which is affected by this bug, so I've removed all uses\r\n // of post-increment ++ in which the result value is used. We can revert\r\n // this change once the Safari bug\r\n // (https://bugs.webkit.org/show_bug.cgi?id=109036) has been fixed and\r\n // most clients have been updated.\r\n W[i] =\r\n (buf.charCodeAt(offset) << 24) |\r\n (buf.charCodeAt(offset + 1) << 16) |\r\n (buf.charCodeAt(offset + 2) << 8) |\r\n buf.charCodeAt(offset + 3);\r\n offset += 4;\r\n }\r\n }\r\n else {\r\n for (let i = 0; i < 16; i++) {\r\n W[i] =\r\n (buf[offset] << 24) |\r\n (buf[offset + 1] << 16) |\r\n (buf[offset + 2] << 8) |\r\n buf[offset + 3];\r\n offset += 4;\r\n }\r\n }\r\n // expand to 80 words\r\n for (let i = 16; i < 80; i++) {\r\n const t = W[i - 3] ^ W[i - 8] ^ W[i - 14] ^ W[i - 16];\r\n W[i] = ((t << 1) | (t >>> 31)) & 0xffffffff;\r\n }\r\n let a = this.chain_[0];\r\n let b = this.chain_[1];\r\n let c = this.chain_[2];\r\n let d = this.chain_[3];\r\n let e = this.chain_[4];\r\n let f, k;\r\n // TODO(user): Try to unroll this loop to speed up the computation.\r\n for (let i = 0; i < 80; i++) {\r\n if (i < 40) {\r\n if (i < 20) {\r\n f = d ^ (b & (c ^ d));\r\n k = 0x5a827999;\r\n }\r\n else {\r\n f = b ^ c ^ d;\r\n k = 0x6ed9eba1;\r\n }\r\n }\r\n else {\r\n if (i < 60) {\r\n f = (b & c) | (d & (b | c));\r\n k = 0x8f1bbcdc;\r\n }\r\n else {\r\n f = b ^ c ^ d;\r\n k = 0xca62c1d6;\r\n }\r\n }\r\n const t = (((a << 5) | (a >>> 27)) + f + e + k + W[i]) & 0xffffffff;\r\n e = d;\r\n d = c;\r\n c = ((b << 30) | (b >>> 2)) & 0xffffffff;\r\n b = a;\r\n a = t;\r\n }\r\n this.chain_[0] = (this.chain_[0] + a) & 0xffffffff;\r\n this.chain_[1] = (this.chain_[1] + b) & 0xffffffff;\r\n this.chain_[2] = (this.chain_[2] + c) & 0xffffffff;\r\n this.chain_[3] = (this.chain_[3] + d) & 0xffffffff;\r\n this.chain_[4] = (this.chain_[4] + e) & 0xffffffff;\r\n }\r\n update(bytes, length) {\r\n // TODO(johnlenz): tighten the function signature and remove this check\r\n if (bytes == null) {\r\n return;\r\n }\r\n if (length === undefined) {\r\n length = bytes.length;\r\n }\r\n const lengthMinusBlock = length - this.blockSize;\r\n let n = 0;\r\n // Using local instead of member variables gives ~5% speedup on Firefox 16.\r\n const buf = this.buf_;\r\n let inbuf = this.inbuf_;\r\n // The outer while loop should execute at most twice.\r\n while (n < length) {\r\n // When we have no data in the block to top up, we can directly process the\r\n // input buffer (assuming it contains sufficient data). This gives ~25%\r\n // speedup on Chrome 23 and ~15% speedup on Firefox 16, but requires that\r\n // the data is provided in large chunks (or in multiples of 64 bytes).\r\n if (inbuf === 0) {\r\n while (n <= lengthMinusBlock) {\r\n this.compress_(bytes, n);\r\n n += this.blockSize;\r\n }\r\n }\r\n if (typeof bytes === 'string') {\r\n while (n < length) {\r\n buf[inbuf] = bytes.charCodeAt(n);\r\n ++inbuf;\r\n ++n;\r\n if (inbuf === this.blockSize) {\r\n this.compress_(buf);\r\n inbuf = 0;\r\n // Jump to the outer loop so we use the full-block optimization.\r\n break;\r\n }\r\n }\r\n }\r\n else {\r\n while (n < length) {\r\n buf[inbuf] = bytes[n];\r\n ++inbuf;\r\n ++n;\r\n if (inbuf === this.blockSize) {\r\n this.compress_(buf);\r\n inbuf = 0;\r\n // Jump to the outer loop so we use the full-block optimization.\r\n break;\r\n }\r\n }\r\n }\r\n }\r\n this.inbuf_ = inbuf;\r\n this.total_ += length;\r\n }\r\n /** @override */\r\n digest() {\r\n const digest = [];\r\n let totalBits = this.total_ * 8;\r\n // Add pad 0x80 0x00*.\r\n if (this.inbuf_ < 56) {\r\n this.update(this.pad_, 56 - this.inbuf_);\r\n }\r\n else {\r\n this.update(this.pad_, this.blockSize - (this.inbuf_ - 56));\r\n }\r\n // Add # bits.\r\n for (let i = this.blockSize - 1; i >= 56; i--) {\r\n this.buf_[i] = totalBits & 255;\r\n totalBits /= 256; // Don't use bit-shifting here!\r\n }\r\n this.compress_(this.buf_);\r\n let n = 0;\r\n for (let i = 0; i < 5; i++) {\r\n for (let j = 24; j >= 0; j -= 8) {\r\n digest[n] = (this.chain_[i] >> j) & 255;\r\n ++n;\r\n }\r\n }\r\n return digest;\r\n }\r\n}\n\n/**\r\n * Helper to make a Subscribe function (just like Promise helps make a\r\n * Thenable).\r\n *\r\n * @param executor Function which can make calls to a single Observer\r\n * as a proxy.\r\n * @param onNoObservers Callback when count of Observers goes to zero.\r\n */\r\nfunction createSubscribe(executor, onNoObservers) {\r\n const proxy = new ObserverProxy(executor, onNoObservers);\r\n return proxy.subscribe.bind(proxy);\r\n}\r\n/**\r\n * Implement fan-out for any number of Observers attached via a subscribe\r\n * function.\r\n */\r\nclass ObserverProxy {\r\n /**\r\n * @param executor Function which can make calls to a single Observer\r\n * as a proxy.\r\n * @param onNoObservers Callback when count of Observers goes to zero.\r\n */\r\n constructor(executor, onNoObservers) {\r\n this.observers = [];\r\n this.unsubscribes = [];\r\n this.observerCount = 0;\r\n // Micro-task scheduling by calling task.then().\r\n this.task = Promise.resolve();\r\n this.finalized = false;\r\n this.onNoObservers = onNoObservers;\r\n // Call the executor asynchronously so subscribers that are called\r\n // synchronously after the creation of the subscribe function\r\n // can still receive the very first value generated in the executor.\r\n this.task\r\n .then(() => {\r\n executor(this);\r\n })\r\n .catch(e => {\r\n this.error(e);\r\n });\r\n }\r\n next(value) {\r\n this.forEachObserver((observer) => {\r\n observer.next(value);\r\n });\r\n }\r\n error(error) {\r\n this.forEachObserver((observer) => {\r\n observer.error(error);\r\n });\r\n this.close(error);\r\n }\r\n complete() {\r\n this.forEachObserver((observer) => {\r\n observer.complete();\r\n });\r\n this.close();\r\n }\r\n /**\r\n * Subscribe function that can be used to add an Observer to the fan-out list.\r\n *\r\n * - We require that no event is sent to a subscriber sychronously to their\r\n * call to subscribe().\r\n */\r\n subscribe(nextOrObserver, error, complete) {\r\n let observer;\r\n if (nextOrObserver === undefined &&\r\n error === undefined &&\r\n complete === undefined) {\r\n throw new Error('Missing Observer.');\r\n }\r\n // Assemble an Observer object when passed as callback functions.\r\n if (implementsAnyMethods(nextOrObserver, [\r\n 'next',\r\n 'error',\r\n 'complete'\r\n ])) {\r\n observer = nextOrObserver;\r\n }\r\n else {\r\n observer = {\r\n next: nextOrObserver,\r\n error,\r\n complete\r\n };\r\n }\r\n if (observer.next === undefined) {\r\n observer.next = noop;\r\n }\r\n if (observer.error === undefined) {\r\n observer.error = noop;\r\n }\r\n if (observer.complete === undefined) {\r\n observer.complete = noop;\r\n }\r\n const unsub = this.unsubscribeOne.bind(this, this.observers.length);\r\n // Attempt to subscribe to a terminated Observable - we\r\n // just respond to the Observer with the final error or complete\r\n // event.\r\n if (this.finalized) {\r\n // eslint-disable-next-line @typescript-eslint/no-floating-promises\r\n this.task.then(() => {\r\n try {\r\n if (this.finalError) {\r\n observer.error(this.finalError);\r\n }\r\n else {\r\n observer.complete();\r\n }\r\n }\r\n catch (e) {\r\n // nothing\r\n }\r\n return;\r\n });\r\n }\r\n this.observers.push(observer);\r\n return unsub;\r\n }\r\n // Unsubscribe is synchronous - we guarantee that no events are sent to\r\n // any unsubscribed Observer.\r\n unsubscribeOne(i) {\r\n if (this.observers === undefined || this.observers[i] === undefined) {\r\n return;\r\n }\r\n delete this.observers[i];\r\n this.observerCount -= 1;\r\n if (this.observerCount === 0 && this.onNoObservers !== undefined) {\r\n this.onNoObservers(this);\r\n }\r\n }\r\n forEachObserver(fn) {\r\n if (this.finalized) {\r\n // Already closed by previous event....just eat the additional values.\r\n return;\r\n }\r\n // Since sendOne calls asynchronously - there is no chance that\r\n // this.observers will become undefined.\r\n for (let i = 0; i < this.observers.length; i++) {\r\n this.sendOne(i, fn);\r\n }\r\n }\r\n // Call the Observer via one of it's callback function. We are careful to\r\n // confirm that the observe has not been unsubscribed since this asynchronous\r\n // function had been queued.\r\n sendOne(i, fn) {\r\n // Execute the callback asynchronously\r\n // eslint-disable-next-line @typescript-eslint/no-floating-promises\r\n this.task.then(() => {\r\n if (this.observers !== undefined && this.observers[i] !== undefined) {\r\n try {\r\n fn(this.observers[i]);\r\n }\r\n catch (e) {\r\n // Ignore exceptions raised in Observers or missing methods of an\r\n // Observer.\r\n // Log error to console. b/31404806\r\n if (typeof console !== 'undefined' && console.error) {\r\n console.error(e);\r\n }\r\n }\r\n }\r\n });\r\n }\r\n close(err) {\r\n if (this.finalized) {\r\n return;\r\n }\r\n this.finalized = true;\r\n if (err !== undefined) {\r\n this.finalError = err;\r\n }\r\n // Proxy is no longer needed - garbage collect references\r\n // eslint-disable-next-line @typescript-eslint/no-floating-promises\r\n this.task.then(() => {\r\n this.observers = undefined;\r\n this.onNoObservers = undefined;\r\n });\r\n }\r\n}\r\n/** Turn synchronous function into one called asynchronously. */\r\n// eslint-disable-next-line @typescript-eslint/ban-types\r\nfunction async(fn, onError) {\r\n return (...args) => {\r\n Promise.resolve(true)\r\n .then(() => {\r\n fn(...args);\r\n })\r\n .catch((error) => {\r\n if (onError) {\r\n onError(error);\r\n }\r\n });\r\n };\r\n}\r\n/**\r\n * Return true if the object passed in implements any of the named methods.\r\n */\r\nfunction implementsAnyMethods(obj, methods) {\r\n if (typeof obj !== 'object' || obj === null) {\r\n return false;\r\n }\r\n for (const method of methods) {\r\n if (method in obj && typeof obj[method] === 'function') {\r\n return true;\r\n }\r\n }\r\n return false;\r\n}\r\nfunction noop() {\r\n // do nothing\r\n}\n\n/**\r\n * @license\r\n * Copyright 2017 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n/**\r\n * Check to make sure the appropriate number of arguments are provided for a public function.\r\n * Throws an error if it fails.\r\n *\r\n * @param fnName The function name\r\n * @param minCount The minimum number of arguments to allow for the function call\r\n * @param maxCount The maximum number of argument to allow for the function call\r\n * @param argCount The actual number of arguments provided.\r\n */\r\nconst validateArgCount = function (fnName, minCount, maxCount, argCount) {\r\n let argError;\r\n if (argCount < minCount) {\r\n argError = 'at least ' + minCount;\r\n }\r\n else if (argCount > maxCount) {\r\n argError = maxCount === 0 ? 'none' : 'no more than ' + maxCount;\r\n }\r\n if (argError) {\r\n const error = fnName +\r\n ' failed: Was called with ' +\r\n argCount +\r\n (argCount === 1 ? ' argument.' : ' arguments.') +\r\n ' Expects ' +\r\n argError +\r\n '.';\r\n throw new Error(error);\r\n }\r\n};\r\n/**\r\n * Generates a string to prefix an error message about failed argument validation\r\n *\r\n * @param fnName The function name\r\n * @param argName The name of the argument\r\n * @return The prefix to add to the error thrown for validation.\r\n */\r\nfunction errorPrefix(fnName, argName) {\r\n return `${fnName} failed: ${argName} argument `;\r\n}\r\n/**\r\n * @param fnName\r\n * @param argumentNumber\r\n * @param namespace\r\n * @param optional\r\n */\r\nfunction validateNamespace(fnName, namespace, optional) {\r\n if (optional && !namespace) {\r\n return;\r\n }\r\n if (typeof namespace !== 'string') {\r\n //TODO: I should do more validation here. We only allow certain chars in namespaces.\r\n throw new Error(errorPrefix(fnName, 'namespace') + 'must be a valid firebase namespace.');\r\n }\r\n}\r\nfunction validateCallback(fnName, argumentName, \r\n// eslint-disable-next-line @typescript-eslint/ban-types\r\ncallback, optional) {\r\n if (optional && !callback) {\r\n return;\r\n }\r\n if (typeof callback !== 'function') {\r\n throw new Error(errorPrefix(fnName, argumentName) + 'must be a valid function.');\r\n }\r\n}\r\nfunction validateContextObject(fnName, argumentName, context, optional) {\r\n if (optional && !context) {\r\n return;\r\n }\r\n if (typeof context !== 'object' || context === null) {\r\n throw new Error(errorPrefix(fnName, argumentName) + 'must be a valid context object.');\r\n }\r\n}\n\n/**\r\n * @license\r\n * Copyright 2017 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n// Code originally came from goog.crypt.stringToUtf8ByteArray, but for some reason they\r\n// automatically replaced '\\r\\n' with '\\n', and they didn't handle surrogate pairs,\r\n// so it's been modified.\r\n// Note that not all Unicode characters appear as single characters in JavaScript strings.\r\n// fromCharCode returns the UTF-16 encoding of a character - so some Unicode characters\r\n// use 2 characters in Javascript. All 4-byte UTF-8 characters begin with a first\r\n// character in the range 0xD800 - 0xDBFF (the first character of a so-called surrogate\r\n// pair).\r\n// See http://www.ecma-international.org/ecma-262/5.1/#sec-15.1.3\r\n/**\r\n * @param {string} str\r\n * @return {Array}\r\n */\r\nconst stringToByteArray = function (str) {\r\n const out = [];\r\n let p = 0;\r\n for (let i = 0; i < str.length; i++) {\r\n let c = str.charCodeAt(i);\r\n // Is this the lead surrogate in a surrogate pair?\r\n if (c >= 0xd800 && c <= 0xdbff) {\r\n const high = c - 0xd800; // the high 10 bits.\r\n i++;\r\n assert(i < str.length, 'Surrogate pair missing trail surrogate.');\r\n const low = str.charCodeAt(i) - 0xdc00; // the low 10 bits.\r\n c = 0x10000 + (high << 10) + low;\r\n }\r\n if (c < 128) {\r\n out[p++] = c;\r\n }\r\n else if (c < 2048) {\r\n out[p++] = (c >> 6) | 192;\r\n out[p++] = (c & 63) | 128;\r\n }\r\n else if (c < 65536) {\r\n out[p++] = (c >> 12) | 224;\r\n out[p++] = ((c >> 6) & 63) | 128;\r\n out[p++] = (c & 63) | 128;\r\n }\r\n else {\r\n out[p++] = (c >> 18) | 240;\r\n out[p++] = ((c >> 12) & 63) | 128;\r\n out[p++] = ((c >> 6) & 63) | 128;\r\n out[p++] = (c & 63) | 128;\r\n }\r\n }\r\n return out;\r\n};\r\n/**\r\n * Calculate length without actually converting; useful for doing cheaper validation.\r\n * @param {string} str\r\n * @return {number}\r\n */\r\nconst stringLength = function (str) {\r\n let p = 0;\r\n for (let i = 0; i < str.length; i++) {\r\n const c = str.charCodeAt(i);\r\n if (c < 128) {\r\n p++;\r\n }\r\n else if (c < 2048) {\r\n p += 2;\r\n }\r\n else if (c >= 0xd800 && c <= 0xdbff) {\r\n // Lead surrogate of a surrogate pair. The pair together will take 4 bytes to represent.\r\n p += 4;\r\n i++; // skip trail surrogate.\r\n }\r\n else {\r\n p += 3;\r\n }\r\n }\r\n return p;\r\n};\n\n/**\r\n * @license\r\n * Copyright 2022 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n/**\r\n * Copied from https://stackoverflow.com/a/2117523\r\n * Generates a new uuid.\r\n * @public\r\n */\r\nconst uuidv4 = function () {\r\n return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, c => {\r\n const r = (Math.random() * 16) | 0, v = c === 'x' ? r : (r & 0x3) | 0x8;\r\n return v.toString(16);\r\n });\r\n};\n\n/**\r\n * @license\r\n * Copyright 2019 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n/**\r\n * The amount of milliseconds to exponentially increase.\r\n */\r\nconst DEFAULT_INTERVAL_MILLIS = 1000;\r\n/**\r\n * The factor to backoff by.\r\n * Should be a number greater than 1.\r\n */\r\nconst DEFAULT_BACKOFF_FACTOR = 2;\r\n/**\r\n * The maximum milliseconds to increase to.\r\n *\r\n *

Visible for testing\r\n */\r\nconst MAX_VALUE_MILLIS = 4 * 60 * 60 * 1000; // Four hours, like iOS and Android.\r\n/**\r\n * The percentage of backoff time to randomize by.\r\n * See\r\n * http://go/safe-client-behavior#step-1-determine-the-appropriate-retry-interval-to-handle-spike-traffic\r\n * for context.\r\n *\r\n *

Visible for testing\r\n */\r\nconst RANDOM_FACTOR = 0.5;\r\n/**\r\n * Based on the backoff method from\r\n * https://github.com/google/closure-library/blob/master/closure/goog/math/exponentialbackoff.js.\r\n * Extracted here so we don't need to pass metadata and a stateful ExponentialBackoff object around.\r\n */\r\nfunction calculateBackoffMillis(backoffCount, intervalMillis = DEFAULT_INTERVAL_MILLIS, backoffFactor = DEFAULT_BACKOFF_FACTOR) {\r\n // Calculates an exponentially increasing value.\r\n // Deviation: calculates value from count and a constant interval, so we only need to save value\r\n // and count to restore state.\r\n const currBaseValue = intervalMillis * Math.pow(backoffFactor, backoffCount);\r\n // A random \"fuzz\" to avoid waves of retries.\r\n // Deviation: randomFactor is required.\r\n const randomWait = Math.round(\r\n // A fraction of the backoff value to add/subtract.\r\n // Deviation: changes multiplication order to improve readability.\r\n RANDOM_FACTOR *\r\n currBaseValue *\r\n // A random float (rounded to int by Math.round above) in the range [-1, 1]. Determines\r\n // if we add or subtract.\r\n (Math.random() - 0.5) *\r\n 2);\r\n // Limits backoff to max to avoid effectively permanent backoff.\r\n return Math.min(MAX_VALUE_MILLIS, currBaseValue + randomWait);\r\n}\n\n/**\r\n * @license\r\n * Copyright 2020 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n/**\r\n * Provide English ordinal letters after a number\r\n */\r\nfunction ordinal(i) {\r\n if (!Number.isFinite(i)) {\r\n return `${i}`;\r\n }\r\n return i + indicator(i);\r\n}\r\nfunction indicator(i) {\r\n i = Math.abs(i);\r\n const cent = i % 100;\r\n if (cent >= 10 && cent <= 20) {\r\n return 'th';\r\n }\r\n const dec = i % 10;\r\n if (dec === 1) {\r\n return 'st';\r\n }\r\n if (dec === 2) {\r\n return 'nd';\r\n }\r\n if (dec === 3) {\r\n return 'rd';\r\n }\r\n return 'th';\r\n}\n\n/**\r\n * @license\r\n * Copyright 2021 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\nfunction getModularInstance(service) {\r\n if (service && service._delegate) {\r\n return service._delegate;\r\n }\r\n else {\r\n return service;\r\n }\r\n}\n\nexport { CONSTANTS, DecodeBase64StringError, Deferred, ErrorFactory, FirebaseError, MAX_VALUE_MILLIS, RANDOM_FACTOR, Sha1, areCookiesEnabled, assert, assertionError, async, base64, base64Decode, base64Encode, base64urlEncodeWithoutPadding, calculateBackoffMillis, contains, createMockUserToken, createSubscribe, decode, deepCopy, deepEqual, deepExtend, errorPrefix, extractQuerystring, getDefaultAppConfig, getDefaultEmulatorHost, getDefaultEmulatorHostnameAndPort, getDefaults, getExperimentalSetting, getGlobal, getModularInstance, getUA, isAdmin, isBrowser, isBrowserExtension, isElectron, isEmpty, isIE, isIndexedDBAvailable, isMobileCordova, isNode, isNodeSdk, isReactNative, isSafari, isUWP, isValidFormat, isValidTimestamp, isWebWorker, issuedAtTime, jsonEval, map, ordinal, promiseWithTimeout, querystring, querystringDecode, safeGet, stringLength, stringToByteArray, stringify, uuidv4, validateArgCount, validateCallback, validateContextObject, validateIndexedDBOpenable, validateNamespace };\n//# sourceMappingURL=index.esm2017.js.map\n","import { Deferred } from '@firebase/util';\n\n/**\r\n * Component for service name T, e.g. `auth`, `auth-internal`\r\n */\r\nclass Component {\r\n /**\r\n *\r\n * @param name The public service name, e.g. app, auth, firestore, database\r\n * @param instanceFactory Service factory responsible for creating the public interface\r\n * @param type whether the service provided by the component is public or private\r\n */\r\n constructor(name, instanceFactory, type) {\r\n this.name = name;\r\n this.instanceFactory = instanceFactory;\r\n this.type = type;\r\n this.multipleInstances = false;\r\n /**\r\n * Properties to be added to the service namespace\r\n */\r\n this.serviceProps = {};\r\n this.instantiationMode = \"LAZY\" /* InstantiationMode.LAZY */;\r\n this.onInstanceCreated = null;\r\n }\r\n setInstantiationMode(mode) {\r\n this.instantiationMode = mode;\r\n return this;\r\n }\r\n setMultipleInstances(multipleInstances) {\r\n this.multipleInstances = multipleInstances;\r\n return this;\r\n }\r\n setServiceProps(props) {\r\n this.serviceProps = props;\r\n return this;\r\n }\r\n setInstanceCreatedCallback(callback) {\r\n this.onInstanceCreated = callback;\r\n return this;\r\n }\r\n}\n\n/**\r\n * @license\r\n * Copyright 2019 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\nconst DEFAULT_ENTRY_NAME = '[DEFAULT]';\n\n/**\r\n * @license\r\n * Copyright 2019 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n/**\r\n * Provider for instance for service name T, e.g. 'auth', 'auth-internal'\r\n * NameServiceMapping[T] is an alias for the type of the instance\r\n */\r\nclass Provider {\r\n constructor(name, container) {\r\n this.name = name;\r\n this.container = container;\r\n this.component = null;\r\n this.instances = new Map();\r\n this.instancesDeferred = new Map();\r\n this.instancesOptions = new Map();\r\n this.onInitCallbacks = new Map();\r\n }\r\n /**\r\n * @param identifier A provider can provide mulitple instances of a service\r\n * if this.component.multipleInstances is true.\r\n */\r\n get(identifier) {\r\n // if multipleInstances is not supported, use the default name\r\n const normalizedIdentifier = this.normalizeInstanceIdentifier(identifier);\r\n if (!this.instancesDeferred.has(normalizedIdentifier)) {\r\n const deferred = new Deferred();\r\n this.instancesDeferred.set(normalizedIdentifier, deferred);\r\n if (this.isInitialized(normalizedIdentifier) ||\r\n this.shouldAutoInitialize()) {\r\n // initialize the service if it can be auto-initialized\r\n try {\r\n const instance = this.getOrInitializeService({\r\n instanceIdentifier: normalizedIdentifier\r\n });\r\n if (instance) {\r\n deferred.resolve(instance);\r\n }\r\n }\r\n catch (e) {\r\n // when the instance factory throws an exception during get(), it should not cause\r\n // a fatal error. We just return the unresolved promise in this case.\r\n }\r\n }\r\n }\r\n return this.instancesDeferred.get(normalizedIdentifier).promise;\r\n }\r\n getImmediate(options) {\r\n var _a;\r\n // if multipleInstances is not supported, use the default name\r\n const normalizedIdentifier = this.normalizeInstanceIdentifier(options === null || options === void 0 ? void 0 : options.identifier);\r\n const optional = (_a = options === null || options === void 0 ? void 0 : options.optional) !== null && _a !== void 0 ? _a : false;\r\n if (this.isInitialized(normalizedIdentifier) ||\r\n this.shouldAutoInitialize()) {\r\n try {\r\n return this.getOrInitializeService({\r\n instanceIdentifier: normalizedIdentifier\r\n });\r\n }\r\n catch (e) {\r\n if (optional) {\r\n return null;\r\n }\r\n else {\r\n throw e;\r\n }\r\n }\r\n }\r\n else {\r\n // In case a component is not initialized and should/can not be auto-initialized at the moment, return null if the optional flag is set, or throw\r\n if (optional) {\r\n return null;\r\n }\r\n else {\r\n throw Error(`Service ${this.name} is not available`);\r\n }\r\n }\r\n }\r\n getComponent() {\r\n return this.component;\r\n }\r\n setComponent(component) {\r\n if (component.name !== this.name) {\r\n throw Error(`Mismatching Component ${component.name} for Provider ${this.name}.`);\r\n }\r\n if (this.component) {\r\n throw Error(`Component for ${this.name} has already been provided`);\r\n }\r\n this.component = component;\r\n // return early without attempting to initialize the component if the component requires explicit initialization (calling `Provider.initialize()`)\r\n if (!this.shouldAutoInitialize()) {\r\n return;\r\n }\r\n // if the service is eager, initialize the default instance\r\n if (isComponentEager(component)) {\r\n try {\r\n this.getOrInitializeService({ instanceIdentifier: DEFAULT_ENTRY_NAME });\r\n }\r\n catch (e) {\r\n // when the instance factory for an eager Component throws an exception during the eager\r\n // initialization, it should not cause a fatal error.\r\n // TODO: Investigate if we need to make it configurable, because some component may want to cause\r\n // a fatal error in this case?\r\n }\r\n }\r\n // Create service instances for the pending promises and resolve them\r\n // NOTE: if this.multipleInstances is false, only the default instance will be created\r\n // and all promises with resolve with it regardless of the identifier.\r\n for (const [instanceIdentifier, instanceDeferred] of this.instancesDeferred.entries()) {\r\n const normalizedIdentifier = this.normalizeInstanceIdentifier(instanceIdentifier);\r\n try {\r\n // `getOrInitializeService()` should always return a valid instance since a component is guaranteed. use ! to make typescript happy.\r\n const instance = this.getOrInitializeService({\r\n instanceIdentifier: normalizedIdentifier\r\n });\r\n instanceDeferred.resolve(instance);\r\n }\r\n catch (e) {\r\n // when the instance factory throws an exception, it should not cause\r\n // a fatal error. We just leave the promise unresolved.\r\n }\r\n }\r\n }\r\n clearInstance(identifier = DEFAULT_ENTRY_NAME) {\r\n this.instancesDeferred.delete(identifier);\r\n this.instancesOptions.delete(identifier);\r\n this.instances.delete(identifier);\r\n }\r\n // app.delete() will call this method on every provider to delete the services\r\n // TODO: should we mark the provider as deleted?\r\n async delete() {\r\n const services = Array.from(this.instances.values());\r\n await Promise.all([\r\n ...services\r\n .filter(service => 'INTERNAL' in service) // legacy services\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n .map(service => service.INTERNAL.delete()),\r\n ...services\r\n .filter(service => '_delete' in service) // modularized services\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n .map(service => service._delete())\r\n ]);\r\n }\r\n isComponentSet() {\r\n return this.component != null;\r\n }\r\n isInitialized(identifier = DEFAULT_ENTRY_NAME) {\r\n return this.instances.has(identifier);\r\n }\r\n getOptions(identifier = DEFAULT_ENTRY_NAME) {\r\n return this.instancesOptions.get(identifier) || {};\r\n }\r\n initialize(opts = {}) {\r\n const { options = {} } = opts;\r\n const normalizedIdentifier = this.normalizeInstanceIdentifier(opts.instanceIdentifier);\r\n if (this.isInitialized(normalizedIdentifier)) {\r\n throw Error(`${this.name}(${normalizedIdentifier}) has already been initialized`);\r\n }\r\n if (!this.isComponentSet()) {\r\n throw Error(`Component ${this.name} has not been registered yet`);\r\n }\r\n const instance = this.getOrInitializeService({\r\n instanceIdentifier: normalizedIdentifier,\r\n options\r\n });\r\n // resolve any pending promise waiting for the service instance\r\n for (const [instanceIdentifier, instanceDeferred] of this.instancesDeferred.entries()) {\r\n const normalizedDeferredIdentifier = this.normalizeInstanceIdentifier(instanceIdentifier);\r\n if (normalizedIdentifier === normalizedDeferredIdentifier) {\r\n instanceDeferred.resolve(instance);\r\n }\r\n }\r\n return instance;\r\n }\r\n /**\r\n *\r\n * @param callback - a function that will be invoked after the provider has been initialized by calling provider.initialize().\r\n * The function is invoked SYNCHRONOUSLY, so it should not execute any longrunning tasks in order to not block the program.\r\n *\r\n * @param identifier An optional instance identifier\r\n * @returns a function to unregister the callback\r\n */\r\n onInit(callback, identifier) {\r\n var _a;\r\n const normalizedIdentifier = this.normalizeInstanceIdentifier(identifier);\r\n const existingCallbacks = (_a = this.onInitCallbacks.get(normalizedIdentifier)) !== null && _a !== void 0 ? _a : new Set();\r\n existingCallbacks.add(callback);\r\n this.onInitCallbacks.set(normalizedIdentifier, existingCallbacks);\r\n const existingInstance = this.instances.get(normalizedIdentifier);\r\n if (existingInstance) {\r\n callback(existingInstance, normalizedIdentifier);\r\n }\r\n return () => {\r\n existingCallbacks.delete(callback);\r\n };\r\n }\r\n /**\r\n * Invoke onInit callbacks synchronously\r\n * @param instance the service instance`\r\n */\r\n invokeOnInitCallbacks(instance, identifier) {\r\n const callbacks = this.onInitCallbacks.get(identifier);\r\n if (!callbacks) {\r\n return;\r\n }\r\n for (const callback of callbacks) {\r\n try {\r\n callback(instance, identifier);\r\n }\r\n catch (_a) {\r\n // ignore errors in the onInit callback\r\n }\r\n }\r\n }\r\n getOrInitializeService({ instanceIdentifier, options = {} }) {\r\n let instance = this.instances.get(instanceIdentifier);\r\n if (!instance && this.component) {\r\n instance = this.component.instanceFactory(this.container, {\r\n instanceIdentifier: normalizeIdentifierForFactory(instanceIdentifier),\r\n options\r\n });\r\n this.instances.set(instanceIdentifier, instance);\r\n this.instancesOptions.set(instanceIdentifier, options);\r\n /**\r\n * Invoke onInit listeners.\r\n * Note this.component.onInstanceCreated is different, which is used by the component creator,\r\n * while onInit listeners are registered by consumers of the provider.\r\n */\r\n this.invokeOnInitCallbacks(instance, instanceIdentifier);\r\n /**\r\n * Order is important\r\n * onInstanceCreated() should be called after this.instances.set(instanceIdentifier, instance); which\r\n * makes `isInitialized()` return true.\r\n */\r\n if (this.component.onInstanceCreated) {\r\n try {\r\n this.component.onInstanceCreated(this.container, instanceIdentifier, instance);\r\n }\r\n catch (_a) {\r\n // ignore errors in the onInstanceCreatedCallback\r\n }\r\n }\r\n }\r\n return instance || null;\r\n }\r\n normalizeInstanceIdentifier(identifier = DEFAULT_ENTRY_NAME) {\r\n if (this.component) {\r\n return this.component.multipleInstances ? identifier : DEFAULT_ENTRY_NAME;\r\n }\r\n else {\r\n return identifier; // assume multiple instances are supported before the component is provided.\r\n }\r\n }\r\n shouldAutoInitialize() {\r\n return (!!this.component &&\r\n this.component.instantiationMode !== \"EXPLICIT\" /* InstantiationMode.EXPLICIT */);\r\n }\r\n}\r\n// undefined should be passed to the service factory for the default instance\r\nfunction normalizeIdentifierForFactory(identifier) {\r\n return identifier === DEFAULT_ENTRY_NAME ? undefined : identifier;\r\n}\r\nfunction isComponentEager(component) {\r\n return component.instantiationMode === \"EAGER\" /* InstantiationMode.EAGER */;\r\n}\n\n/**\r\n * @license\r\n * Copyright 2019 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n/**\r\n * ComponentContainer that provides Providers for service name T, e.g. `auth`, `auth-internal`\r\n */\r\nclass ComponentContainer {\r\n constructor(name) {\r\n this.name = name;\r\n this.providers = new Map();\r\n }\r\n /**\r\n *\r\n * @param component Component being added\r\n * @param overwrite When a component with the same name has already been registered,\r\n * if overwrite is true: overwrite the existing component with the new component and create a new\r\n * provider with the new component. It can be useful in tests where you want to use different mocks\r\n * for different tests.\r\n * if overwrite is false: throw an exception\r\n */\r\n addComponent(component) {\r\n const provider = this.getProvider(component.name);\r\n if (provider.isComponentSet()) {\r\n throw new Error(`Component ${component.name} has already been registered with ${this.name}`);\r\n }\r\n provider.setComponent(component);\r\n }\r\n addOrOverwriteComponent(component) {\r\n const provider = this.getProvider(component.name);\r\n if (provider.isComponentSet()) {\r\n // delete the existing provider from the container, so we can register the new component\r\n this.providers.delete(component.name);\r\n }\r\n this.addComponent(component);\r\n }\r\n /**\r\n * getProvider provides a type safe interface where it can only be called with a field name\r\n * present in NameServiceMapping interface.\r\n *\r\n * Firebase SDKs providing services should extend NameServiceMapping interface to register\r\n * themselves.\r\n */\r\n getProvider(name) {\r\n if (this.providers.has(name)) {\r\n return this.providers.get(name);\r\n }\r\n // create a Provider for a service that hasn't registered with Firebase\r\n const provider = new Provider(name, this);\r\n this.providers.set(name, provider);\r\n return provider;\r\n }\r\n getProviders() {\r\n return Array.from(this.providers.values());\r\n }\r\n}\n\nexport { Component, ComponentContainer, Provider };\n//# sourceMappingURL=index.esm2017.js.map\n","/**\r\n * @license\r\n * Copyright 2017 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n/**\r\n * A container for all of the Logger instances\r\n */\r\nconst instances = [];\r\n/**\r\n * The JS SDK supports 5 log levels and also allows a user the ability to\r\n * silence the logs altogether.\r\n *\r\n * The order is a follows:\r\n * DEBUG < VERBOSE < INFO < WARN < ERROR\r\n *\r\n * All of the log types above the current log level will be captured (i.e. if\r\n * you set the log level to `INFO`, errors will still be logged, but `DEBUG` and\r\n * `VERBOSE` logs will not)\r\n */\r\nvar LogLevel;\r\n(function (LogLevel) {\r\n LogLevel[LogLevel[\"DEBUG\"] = 0] = \"DEBUG\";\r\n LogLevel[LogLevel[\"VERBOSE\"] = 1] = \"VERBOSE\";\r\n LogLevel[LogLevel[\"INFO\"] = 2] = \"INFO\";\r\n LogLevel[LogLevel[\"WARN\"] = 3] = \"WARN\";\r\n LogLevel[LogLevel[\"ERROR\"] = 4] = \"ERROR\";\r\n LogLevel[LogLevel[\"SILENT\"] = 5] = \"SILENT\";\r\n})(LogLevel || (LogLevel = {}));\r\nconst levelStringToEnum = {\r\n 'debug': LogLevel.DEBUG,\r\n 'verbose': LogLevel.VERBOSE,\r\n 'info': LogLevel.INFO,\r\n 'warn': LogLevel.WARN,\r\n 'error': LogLevel.ERROR,\r\n 'silent': LogLevel.SILENT\r\n};\r\n/**\r\n * The default log level\r\n */\r\nconst defaultLogLevel = LogLevel.INFO;\r\n/**\r\n * By default, `console.debug` is not displayed in the developer console (in\r\n * chrome). To avoid forcing users to have to opt-in to these logs twice\r\n * (i.e. once for firebase, and once in the console), we are sending `DEBUG`\r\n * logs to the `console.log` function.\r\n */\r\nconst ConsoleMethod = {\r\n [LogLevel.DEBUG]: 'log',\r\n [LogLevel.VERBOSE]: 'log',\r\n [LogLevel.INFO]: 'info',\r\n [LogLevel.WARN]: 'warn',\r\n [LogLevel.ERROR]: 'error'\r\n};\r\n/**\r\n * The default log handler will forward DEBUG, VERBOSE, INFO, WARN, and ERROR\r\n * messages on to their corresponding console counterparts (if the log method\r\n * is supported by the current log level)\r\n */\r\nconst defaultLogHandler = (instance, logType, ...args) => {\r\n if (logType < instance.logLevel) {\r\n return;\r\n }\r\n const now = new Date().toISOString();\r\n const method = ConsoleMethod[logType];\r\n if (method) {\r\n console[method](`[${now}] ${instance.name}:`, ...args);\r\n }\r\n else {\r\n throw new Error(`Attempted to log a message with an invalid logType (value: ${logType})`);\r\n }\r\n};\r\nclass Logger {\r\n /**\r\n * Gives you an instance of a Logger to capture messages according to\r\n * Firebase's logging scheme.\r\n *\r\n * @param name The name that the logs will be associated with\r\n */\r\n constructor(name) {\r\n this.name = name;\r\n /**\r\n * The log level of the given Logger instance.\r\n */\r\n this._logLevel = defaultLogLevel;\r\n /**\r\n * The main (internal) log handler for the Logger instance.\r\n * Can be set to a new function in internal package code but not by user.\r\n */\r\n this._logHandler = defaultLogHandler;\r\n /**\r\n * The optional, additional, user-defined log handler for the Logger instance.\r\n */\r\n this._userLogHandler = null;\r\n /**\r\n * Capture the current instance for later use\r\n */\r\n instances.push(this);\r\n }\r\n get logLevel() {\r\n return this._logLevel;\r\n }\r\n set logLevel(val) {\r\n if (!(val in LogLevel)) {\r\n throw new TypeError(`Invalid value \"${val}\" assigned to \\`logLevel\\``);\r\n }\r\n this._logLevel = val;\r\n }\r\n // Workaround for setter/getter having to be the same type.\r\n setLogLevel(val) {\r\n this._logLevel = typeof val === 'string' ? levelStringToEnum[val] : val;\r\n }\r\n get logHandler() {\r\n return this._logHandler;\r\n }\r\n set logHandler(val) {\r\n if (typeof val !== 'function') {\r\n throw new TypeError('Value assigned to `logHandler` must be a function');\r\n }\r\n this._logHandler = val;\r\n }\r\n get userLogHandler() {\r\n return this._userLogHandler;\r\n }\r\n set userLogHandler(val) {\r\n this._userLogHandler = val;\r\n }\r\n /**\r\n * The functions below are all based on the `console` interface\r\n */\r\n debug(...args) {\r\n this._userLogHandler && this._userLogHandler(this, LogLevel.DEBUG, ...args);\r\n this._logHandler(this, LogLevel.DEBUG, ...args);\r\n }\r\n log(...args) {\r\n this._userLogHandler &&\r\n this._userLogHandler(this, LogLevel.VERBOSE, ...args);\r\n this._logHandler(this, LogLevel.VERBOSE, ...args);\r\n }\r\n info(...args) {\r\n this._userLogHandler && this._userLogHandler(this, LogLevel.INFO, ...args);\r\n this._logHandler(this, LogLevel.INFO, ...args);\r\n }\r\n warn(...args) {\r\n this._userLogHandler && this._userLogHandler(this, LogLevel.WARN, ...args);\r\n this._logHandler(this, LogLevel.WARN, ...args);\r\n }\r\n error(...args) {\r\n this._userLogHandler && this._userLogHandler(this, LogLevel.ERROR, ...args);\r\n this._logHandler(this, LogLevel.ERROR, ...args);\r\n }\r\n}\r\nfunction setLogLevel(level) {\r\n instances.forEach(inst => {\r\n inst.setLogLevel(level);\r\n });\r\n}\r\nfunction setUserLogHandler(logCallback, options) {\r\n for (const instance of instances) {\r\n let customLogLevel = null;\r\n if (options && options.level) {\r\n customLogLevel = levelStringToEnum[options.level];\r\n }\r\n if (logCallback === null) {\r\n instance.userLogHandler = null;\r\n }\r\n else {\r\n instance.userLogHandler = (instance, level, ...args) => {\r\n const message = args\r\n .map(arg => {\r\n if (arg == null) {\r\n return null;\r\n }\r\n else if (typeof arg === 'string') {\r\n return arg;\r\n }\r\n else if (typeof arg === 'number' || typeof arg === 'boolean') {\r\n return arg.toString();\r\n }\r\n else if (arg instanceof Error) {\r\n return arg.message;\r\n }\r\n else {\r\n try {\r\n return JSON.stringify(arg);\r\n }\r\n catch (ignored) {\r\n return null;\r\n }\r\n }\r\n })\r\n .filter(arg => arg)\r\n .join(' ');\r\n if (level >= (customLogLevel !== null && customLogLevel !== void 0 ? customLogLevel : instance.logLevel)) {\r\n logCallback({\r\n level: LogLevel[level].toLowerCase(),\r\n message,\r\n args,\r\n type: instance.name\r\n });\r\n }\r\n };\r\n }\r\n }\r\n}\n\nexport { LogLevel, Logger, setLogLevel, setUserLogHandler };\n//# sourceMappingURL=index.esm2017.js.map\n","const instanceOfAny = (object, constructors) => constructors.some((c) => object instanceof c);\n\nlet idbProxyableTypes;\nlet cursorAdvanceMethods;\n// This is a function to prevent it throwing up in node environments.\nfunction getIdbProxyableTypes() {\n return (idbProxyableTypes ||\n (idbProxyableTypes = [\n IDBDatabase,\n IDBObjectStore,\n IDBIndex,\n IDBCursor,\n IDBTransaction,\n ]));\n}\n// This is a function to prevent it throwing up in node environments.\nfunction getCursorAdvanceMethods() {\n return (cursorAdvanceMethods ||\n (cursorAdvanceMethods = [\n IDBCursor.prototype.advance,\n IDBCursor.prototype.continue,\n IDBCursor.prototype.continuePrimaryKey,\n ]));\n}\nconst cursorRequestMap = new WeakMap();\nconst transactionDoneMap = new WeakMap();\nconst transactionStoreNamesMap = new WeakMap();\nconst transformCache = new WeakMap();\nconst reverseTransformCache = new WeakMap();\nfunction promisifyRequest(request) {\n const promise = new Promise((resolve, reject) => {\n const unlisten = () => {\n request.removeEventListener('success', success);\n request.removeEventListener('error', error);\n };\n const success = () => {\n resolve(wrap(request.result));\n unlisten();\n };\n const error = () => {\n reject(request.error);\n unlisten();\n };\n request.addEventListener('success', success);\n request.addEventListener('error', error);\n });\n promise\n .then((value) => {\n // Since cursoring reuses the IDBRequest (*sigh*), we cache it for later retrieval\n // (see wrapFunction).\n if (value instanceof IDBCursor) {\n cursorRequestMap.set(value, request);\n }\n // Catching to avoid \"Uncaught Promise exceptions\"\n })\n .catch(() => { });\n // This mapping exists in reverseTransformCache but doesn't doesn't exist in transformCache. This\n // is because we create many promises from a single IDBRequest.\n reverseTransformCache.set(promise, request);\n return promise;\n}\nfunction cacheDonePromiseForTransaction(tx) {\n // Early bail if we've already created a done promise for this transaction.\n if (transactionDoneMap.has(tx))\n return;\n const done = new Promise((resolve, reject) => {\n const unlisten = () => {\n tx.removeEventListener('complete', complete);\n tx.removeEventListener('error', error);\n tx.removeEventListener('abort', error);\n };\n const complete = () => {\n resolve();\n unlisten();\n };\n const error = () => {\n reject(tx.error || new DOMException('AbortError', 'AbortError'));\n unlisten();\n };\n tx.addEventListener('complete', complete);\n tx.addEventListener('error', error);\n tx.addEventListener('abort', error);\n });\n // Cache it for later retrieval.\n transactionDoneMap.set(tx, done);\n}\nlet idbProxyTraps = {\n get(target, prop, receiver) {\n if (target instanceof IDBTransaction) {\n // Special handling for transaction.done.\n if (prop === 'done')\n return transactionDoneMap.get(target);\n // Polyfill for objectStoreNames because of Edge.\n if (prop === 'objectStoreNames') {\n return target.objectStoreNames || transactionStoreNamesMap.get(target);\n }\n // Make tx.store return the only store in the transaction, or undefined if there are many.\n if (prop === 'store') {\n return receiver.objectStoreNames[1]\n ? undefined\n : receiver.objectStore(receiver.objectStoreNames[0]);\n }\n }\n // Else transform whatever we get back.\n return wrap(target[prop]);\n },\n set(target, prop, value) {\n target[prop] = value;\n return true;\n },\n has(target, prop) {\n if (target instanceof IDBTransaction &&\n (prop === 'done' || prop === 'store')) {\n return true;\n }\n return prop in target;\n },\n};\nfunction replaceTraps(callback) {\n idbProxyTraps = callback(idbProxyTraps);\n}\nfunction wrapFunction(func) {\n // Due to expected object equality (which is enforced by the caching in `wrap`), we\n // only create one new func per func.\n // Edge doesn't support objectStoreNames (booo), so we polyfill it here.\n if (func === IDBDatabase.prototype.transaction &&\n !('objectStoreNames' in IDBTransaction.prototype)) {\n return function (storeNames, ...args) {\n const tx = func.call(unwrap(this), storeNames, ...args);\n transactionStoreNamesMap.set(tx, storeNames.sort ? storeNames.sort() : [storeNames]);\n return wrap(tx);\n };\n }\n // Cursor methods are special, as the behaviour is a little more different to standard IDB. In\n // IDB, you advance the cursor and wait for a new 'success' on the IDBRequest that gave you the\n // cursor. It's kinda like a promise that can resolve with many values. That doesn't make sense\n // with real promises, so each advance methods returns a new promise for the cursor object, or\n // undefined if the end of the cursor has been reached.\n if (getCursorAdvanceMethods().includes(func)) {\n return function (...args) {\n // Calling the original function with the proxy as 'this' causes ILLEGAL INVOCATION, so we use\n // the original object.\n func.apply(unwrap(this), args);\n return wrap(cursorRequestMap.get(this));\n };\n }\n return function (...args) {\n // Calling the original function with the proxy as 'this' causes ILLEGAL INVOCATION, so we use\n // the original object.\n return wrap(func.apply(unwrap(this), args));\n };\n}\nfunction transformCachableValue(value) {\n if (typeof value === 'function')\n return wrapFunction(value);\n // This doesn't return, it just creates a 'done' promise for the transaction,\n // which is later returned for transaction.done (see idbObjectHandler).\n if (value instanceof IDBTransaction)\n cacheDonePromiseForTransaction(value);\n if (instanceOfAny(value, getIdbProxyableTypes()))\n return new Proxy(value, idbProxyTraps);\n // Return the same value back if we're not going to transform it.\n return value;\n}\nfunction wrap(value) {\n // We sometimes generate multiple promises from a single IDBRequest (eg when cursoring), because\n // IDB is weird and a single IDBRequest can yield many responses, so these can't be cached.\n if (value instanceof IDBRequest)\n return promisifyRequest(value);\n // If we've already transformed this value before, reuse the transformed value.\n // This is faster, but it also provides object equality.\n if (transformCache.has(value))\n return transformCache.get(value);\n const newValue = transformCachableValue(value);\n // Not all types are transformed.\n // These may be primitive types, so they can't be WeakMap keys.\n if (newValue !== value) {\n transformCache.set(value, newValue);\n reverseTransformCache.set(newValue, value);\n }\n return newValue;\n}\nconst unwrap = (value) => reverseTransformCache.get(value);\n\nexport { reverseTransformCache as a, instanceOfAny as i, replaceTraps as r, unwrap as u, wrap as w };\n","import { w as wrap, r as replaceTraps } from './wrap-idb-value.js';\nexport { u as unwrap, w as wrap } from './wrap-idb-value.js';\n\n/**\n * Open a database.\n *\n * @param name Name of the database.\n * @param version Schema version.\n * @param callbacks Additional callbacks.\n */\nfunction openDB(name, version, { blocked, upgrade, blocking, terminated } = {}) {\n const request = indexedDB.open(name, version);\n const openPromise = wrap(request);\n if (upgrade) {\n request.addEventListener('upgradeneeded', (event) => {\n upgrade(wrap(request.result), event.oldVersion, event.newVersion, wrap(request.transaction), event);\n });\n }\n if (blocked) {\n request.addEventListener('blocked', (event) => blocked(\n // Casting due to https://github.com/microsoft/TypeScript-DOM-lib-generator/pull/1405\n event.oldVersion, event.newVersion, event));\n }\n openPromise\n .then((db) => {\n if (terminated)\n db.addEventListener('close', () => terminated());\n if (blocking) {\n db.addEventListener('versionchange', (event) => blocking(event.oldVersion, event.newVersion, event));\n }\n })\n .catch(() => { });\n return openPromise;\n}\n/**\n * Delete a database.\n *\n * @param name Name of the database.\n */\nfunction deleteDB(name, { blocked } = {}) {\n const request = indexedDB.deleteDatabase(name);\n if (blocked) {\n request.addEventListener('blocked', (event) => blocked(\n // Casting due to https://github.com/microsoft/TypeScript-DOM-lib-generator/pull/1405\n event.oldVersion, event));\n }\n return wrap(request).then(() => undefined);\n}\n\nconst readMethods = ['get', 'getKey', 'getAll', 'getAllKeys', 'count'];\nconst writeMethods = ['put', 'add', 'delete', 'clear'];\nconst cachedMethods = new Map();\nfunction getMethod(target, prop) {\n if (!(target instanceof IDBDatabase &&\n !(prop in target) &&\n typeof prop === 'string')) {\n return;\n }\n if (cachedMethods.get(prop))\n return cachedMethods.get(prop);\n const targetFuncName = prop.replace(/FromIndex$/, '');\n const useIndex = prop !== targetFuncName;\n const isWrite = writeMethods.includes(targetFuncName);\n if (\n // Bail if the target doesn't exist on the target. Eg, getAll isn't in Edge.\n !(targetFuncName in (useIndex ? IDBIndex : IDBObjectStore).prototype) ||\n !(isWrite || readMethods.includes(targetFuncName))) {\n return;\n }\n const method = async function (storeName, ...args) {\n // isWrite ? 'readwrite' : undefined gzipps better, but fails in Edge :(\n const tx = this.transaction(storeName, isWrite ? 'readwrite' : 'readonly');\n let target = tx.store;\n if (useIndex)\n target = target.index(args.shift());\n // Must reject if op rejects.\n // If it's a write operation, must reject if tx.done rejects.\n // Must reject with op rejection first.\n // Must resolve with op value.\n // Must handle both promises (no unhandled rejections)\n return (await Promise.all([\n target[targetFuncName](...args),\n isWrite && tx.done,\n ]))[0];\n };\n cachedMethods.set(prop, method);\n return method;\n}\nreplaceTraps((oldTraps) => ({\n ...oldTraps,\n get: (target, prop, receiver) => getMethod(target, prop) || oldTraps.get(target, prop, receiver),\n has: (target, prop) => !!getMethod(target, prop) || oldTraps.has(target, prop),\n}));\n\nexport { deleteDB, openDB };\n","import { Component, ComponentContainer } from '@firebase/component';\nimport { Logger, setUserLogHandler, setLogLevel as setLogLevel$1 } from '@firebase/logger';\nimport { ErrorFactory, getDefaultAppConfig, deepEqual, isBrowser, isWebWorker, FirebaseError, base64urlEncodeWithoutPadding, isIndexedDBAvailable, validateIndexedDBOpenable } from '@firebase/util';\nexport { FirebaseError } from '@firebase/util';\nimport { openDB } from 'idb';\n\n/**\r\n * @license\r\n * Copyright 2019 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\nclass PlatformLoggerServiceImpl {\r\n constructor(container) {\r\n this.container = container;\r\n }\r\n // In initial implementation, this will be called by installations on\r\n // auth token refresh, and installations will send this string.\r\n getPlatformInfoString() {\r\n const providers = this.container.getProviders();\r\n // Loop through providers and get library/version pairs from any that are\r\n // version components.\r\n return providers\r\n .map(provider => {\r\n if (isVersionServiceProvider(provider)) {\r\n const service = provider.getImmediate();\r\n return `${service.library}/${service.version}`;\r\n }\r\n else {\r\n return null;\r\n }\r\n })\r\n .filter(logString => logString)\r\n .join(' ');\r\n }\r\n}\r\n/**\r\n *\r\n * @param provider check if this provider provides a VersionService\r\n *\r\n * NOTE: Using Provider<'app-version'> is a hack to indicate that the provider\r\n * provides VersionService. The provider is not necessarily a 'app-version'\r\n * provider.\r\n */\r\nfunction isVersionServiceProvider(provider) {\r\n const component = provider.getComponent();\r\n return (component === null || component === void 0 ? void 0 : component.type) === \"VERSION\" /* ComponentType.VERSION */;\r\n}\n\nconst name$p = \"@firebase/app\";\nconst version$1 = \"0.10.9\";\n\n/**\r\n * @license\r\n * Copyright 2019 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\nconst logger = new Logger('@firebase/app');\n\nconst name$o = \"@firebase/app-compat\";\n\nconst name$n = \"@firebase/analytics-compat\";\n\nconst name$m = \"@firebase/analytics\";\n\nconst name$l = \"@firebase/app-check-compat\";\n\nconst name$k = \"@firebase/app-check\";\n\nconst name$j = \"@firebase/auth\";\n\nconst name$i = \"@firebase/auth-compat\";\n\nconst name$h = \"@firebase/database\";\n\nconst name$g = \"@firebase/database-compat\";\n\nconst name$f = \"@firebase/functions\";\n\nconst name$e = \"@firebase/functions-compat\";\n\nconst name$d = \"@firebase/installations\";\n\nconst name$c = \"@firebase/installations-compat\";\n\nconst name$b = \"@firebase/messaging\";\n\nconst name$a = \"@firebase/messaging-compat\";\n\nconst name$9 = \"@firebase/performance\";\n\nconst name$8 = \"@firebase/performance-compat\";\n\nconst name$7 = \"@firebase/remote-config\";\n\nconst name$6 = \"@firebase/remote-config-compat\";\n\nconst name$5 = \"@firebase/storage\";\n\nconst name$4 = \"@firebase/storage-compat\";\n\nconst name$3 = \"@firebase/firestore\";\n\nconst name$2 = \"@firebase/vertexai-preview\";\n\nconst name$1 = \"@firebase/firestore-compat\";\n\nconst name = \"firebase\";\nconst version = \"10.13.0\";\n\n/**\r\n * @license\r\n * Copyright 2019 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n/**\r\n * The default app name\r\n *\r\n * @internal\r\n */\r\nconst DEFAULT_ENTRY_NAME = '[DEFAULT]';\r\nconst PLATFORM_LOG_STRING = {\r\n [name$p]: 'fire-core',\r\n [name$o]: 'fire-core-compat',\r\n [name$m]: 'fire-analytics',\r\n [name$n]: 'fire-analytics-compat',\r\n [name$k]: 'fire-app-check',\r\n [name$l]: 'fire-app-check-compat',\r\n [name$j]: 'fire-auth',\r\n [name$i]: 'fire-auth-compat',\r\n [name$h]: 'fire-rtdb',\r\n [name$g]: 'fire-rtdb-compat',\r\n [name$f]: 'fire-fn',\r\n [name$e]: 'fire-fn-compat',\r\n [name$d]: 'fire-iid',\r\n [name$c]: 'fire-iid-compat',\r\n [name$b]: 'fire-fcm',\r\n [name$a]: 'fire-fcm-compat',\r\n [name$9]: 'fire-perf',\r\n [name$8]: 'fire-perf-compat',\r\n [name$7]: 'fire-rc',\r\n [name$6]: 'fire-rc-compat',\r\n [name$5]: 'fire-gcs',\r\n [name$4]: 'fire-gcs-compat',\r\n [name$3]: 'fire-fst',\r\n [name$1]: 'fire-fst-compat',\r\n [name$2]: 'fire-vertex',\r\n 'fire-js': 'fire-js',\r\n [name]: 'fire-js-all'\r\n};\n\n/**\r\n * @license\r\n * Copyright 2019 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n/**\r\n * @internal\r\n */\r\nconst _apps = new Map();\r\n/**\r\n * @internal\r\n */\r\nconst _serverApps = new Map();\r\n/**\r\n * Registered components.\r\n *\r\n * @internal\r\n */\r\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\r\nconst _components = new Map();\r\n/**\r\n * @param component - the component being added to this app's container\r\n *\r\n * @internal\r\n */\r\nfunction _addComponent(app, component) {\r\n try {\r\n app.container.addComponent(component);\r\n }\r\n catch (e) {\r\n logger.debug(`Component ${component.name} failed to register with FirebaseApp ${app.name}`, e);\r\n }\r\n}\r\n/**\r\n *\r\n * @internal\r\n */\r\nfunction _addOrOverwriteComponent(app, component) {\r\n app.container.addOrOverwriteComponent(component);\r\n}\r\n/**\r\n *\r\n * @param component - the component to register\r\n * @returns whether or not the component is registered successfully\r\n *\r\n * @internal\r\n */\r\nfunction _registerComponent(component) {\r\n const componentName = component.name;\r\n if (_components.has(componentName)) {\r\n logger.debug(`There were multiple attempts to register component ${componentName}.`);\r\n return false;\r\n }\r\n _components.set(componentName, component);\r\n // add the component to existing app instances\r\n for (const app of _apps.values()) {\r\n _addComponent(app, component);\r\n }\r\n for (const serverApp of _serverApps.values()) {\r\n _addComponent(serverApp, component);\r\n }\r\n return true;\r\n}\r\n/**\r\n *\r\n * @param app - FirebaseApp instance\r\n * @param name - service name\r\n *\r\n * @returns the provider for the service with the matching name\r\n *\r\n * @internal\r\n */\r\nfunction _getProvider(app, name) {\r\n const heartbeatController = app.container\r\n .getProvider('heartbeat')\r\n .getImmediate({ optional: true });\r\n if (heartbeatController) {\r\n void heartbeatController.triggerHeartbeat();\r\n }\r\n return app.container.getProvider(name);\r\n}\r\n/**\r\n *\r\n * @param app - FirebaseApp instance\r\n * @param name - service name\r\n * @param instanceIdentifier - service instance identifier in case the service supports multiple instances\r\n *\r\n * @internal\r\n */\r\nfunction _removeServiceInstance(app, name, instanceIdentifier = DEFAULT_ENTRY_NAME) {\r\n _getProvider(app, name).clearInstance(instanceIdentifier);\r\n}\r\n/**\r\n *\r\n * @param obj - an object of type FirebaseApp or FirebaseOptions.\r\n *\r\n * @returns true if the provide object is of type FirebaseApp.\r\n *\r\n * @internal\r\n */\r\nfunction _isFirebaseApp(obj) {\r\n return obj.options !== undefined;\r\n}\r\n/**\r\n *\r\n * @param obj - an object of type FirebaseApp.\r\n *\r\n * @returns true if the provided object is of type FirebaseServerAppImpl.\r\n *\r\n * @internal\r\n */\r\nfunction _isFirebaseServerApp(obj) {\r\n return obj.settings !== undefined;\r\n}\r\n/**\r\n * Test only\r\n *\r\n * @internal\r\n */\r\nfunction _clearComponents() {\r\n _components.clear();\r\n}\n\n/**\r\n * @license\r\n * Copyright 2019 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\nconst ERRORS = {\r\n [\"no-app\" /* AppError.NO_APP */]: \"No Firebase App '{$appName}' has been created - \" +\r\n 'call initializeApp() first',\r\n [\"bad-app-name\" /* AppError.BAD_APP_NAME */]: \"Illegal App name: '{$appName}'\",\r\n [\"duplicate-app\" /* AppError.DUPLICATE_APP */]: \"Firebase App named '{$appName}' already exists with different options or config\",\r\n [\"app-deleted\" /* AppError.APP_DELETED */]: \"Firebase App named '{$appName}' already deleted\",\r\n [\"server-app-deleted\" /* AppError.SERVER_APP_DELETED */]: 'Firebase Server App has been deleted',\r\n [\"no-options\" /* AppError.NO_OPTIONS */]: 'Need to provide options, when not being deployed to hosting via source.',\r\n [\"invalid-app-argument\" /* AppError.INVALID_APP_ARGUMENT */]: 'firebase.{$appName}() takes either no argument or a ' +\r\n 'Firebase App instance.',\r\n [\"invalid-log-argument\" /* AppError.INVALID_LOG_ARGUMENT */]: 'First argument to `onLog` must be null or a function.',\r\n [\"idb-open\" /* AppError.IDB_OPEN */]: 'Error thrown when opening IndexedDB. Original error: {$originalErrorMessage}.',\r\n [\"idb-get\" /* AppError.IDB_GET */]: 'Error thrown when reading from IndexedDB. Original error: {$originalErrorMessage}.',\r\n [\"idb-set\" /* AppError.IDB_WRITE */]: 'Error thrown when writing to IndexedDB. Original error: {$originalErrorMessage}.',\r\n [\"idb-delete\" /* AppError.IDB_DELETE */]: 'Error thrown when deleting from IndexedDB. Original error: {$originalErrorMessage}.',\r\n [\"finalization-registry-not-supported\" /* AppError.FINALIZATION_REGISTRY_NOT_SUPPORTED */]: 'FirebaseServerApp deleteOnDeref field defined but the JS runtime does not support FinalizationRegistry.',\r\n [\"invalid-server-app-environment\" /* AppError.INVALID_SERVER_APP_ENVIRONMENT */]: 'FirebaseServerApp is not for use in browser environments.'\r\n};\r\nconst ERROR_FACTORY = new ErrorFactory('app', 'Firebase', ERRORS);\n\n/**\r\n * @license\r\n * Copyright 2019 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\nclass FirebaseAppImpl {\r\n constructor(options, config, container) {\r\n this._isDeleted = false;\r\n this._options = Object.assign({}, options);\r\n this._config = Object.assign({}, config);\r\n this._name = config.name;\r\n this._automaticDataCollectionEnabled =\r\n config.automaticDataCollectionEnabled;\r\n this._container = container;\r\n this.container.addComponent(new Component('app', () => this, \"PUBLIC\" /* ComponentType.PUBLIC */));\r\n }\r\n get automaticDataCollectionEnabled() {\r\n this.checkDestroyed();\r\n return this._automaticDataCollectionEnabled;\r\n }\r\n set automaticDataCollectionEnabled(val) {\r\n this.checkDestroyed();\r\n this._automaticDataCollectionEnabled = val;\r\n }\r\n get name() {\r\n this.checkDestroyed();\r\n return this._name;\r\n }\r\n get options() {\r\n this.checkDestroyed();\r\n return this._options;\r\n }\r\n get config() {\r\n this.checkDestroyed();\r\n return this._config;\r\n }\r\n get container() {\r\n return this._container;\r\n }\r\n get isDeleted() {\r\n return this._isDeleted;\r\n }\r\n set isDeleted(val) {\r\n this._isDeleted = val;\r\n }\r\n /**\r\n * This function will throw an Error if the App has already been deleted -\r\n * use before performing API actions on the App.\r\n */\r\n checkDestroyed() {\r\n if (this.isDeleted) {\r\n throw ERROR_FACTORY.create(\"app-deleted\" /* AppError.APP_DELETED */, { appName: this._name });\r\n }\r\n }\r\n}\n\n/**\r\n * @license\r\n * Copyright 2023 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\nclass FirebaseServerAppImpl extends FirebaseAppImpl {\r\n constructor(options, serverConfig, name, container) {\r\n // Build configuration parameters for the FirebaseAppImpl base class.\r\n const automaticDataCollectionEnabled = serverConfig.automaticDataCollectionEnabled !== undefined\r\n ? serverConfig.automaticDataCollectionEnabled\r\n : false;\r\n // Create the FirebaseAppSettings object for the FirebaseAppImp constructor.\r\n const config = {\r\n name,\r\n automaticDataCollectionEnabled\r\n };\r\n if (options.apiKey !== undefined) {\r\n // Construct the parent FirebaseAppImp object.\r\n super(options, config, container);\r\n }\r\n else {\r\n const appImpl = options;\r\n super(appImpl.options, config, container);\r\n }\r\n // Now construct the data for the FirebaseServerAppImpl.\r\n this._serverConfig = Object.assign({ automaticDataCollectionEnabled }, serverConfig);\r\n this._finalizationRegistry = null;\r\n if (typeof FinalizationRegistry !== 'undefined') {\r\n this._finalizationRegistry = new FinalizationRegistry(() => {\r\n this.automaticCleanup();\r\n });\r\n }\r\n this._refCount = 0;\r\n this.incRefCount(this._serverConfig.releaseOnDeref);\r\n // Do not retain a hard reference to the dref object, otherwise the FinalizationRegistry\r\n // will never trigger.\r\n this._serverConfig.releaseOnDeref = undefined;\r\n serverConfig.releaseOnDeref = undefined;\r\n registerVersion(name$p, version$1, 'serverapp');\r\n }\r\n toJSON() {\r\n return undefined;\r\n }\r\n get refCount() {\r\n return this._refCount;\r\n }\r\n // Increment the reference count of this server app. If an object is provided, register it\r\n // with the finalization registry.\r\n incRefCount(obj) {\r\n if (this.isDeleted) {\r\n return;\r\n }\r\n this._refCount++;\r\n if (obj !== undefined && this._finalizationRegistry !== null) {\r\n this._finalizationRegistry.register(obj, this);\r\n }\r\n }\r\n // Decrement the reference count.\r\n decRefCount() {\r\n if (this.isDeleted) {\r\n return 0;\r\n }\r\n return --this._refCount;\r\n }\r\n // Invoked by the FinalizationRegistry callback to note that this app should go through its\r\n // reference counts and delete itself if no reference count remain. The coordinating logic that\r\n // handles this is in deleteApp(...).\r\n automaticCleanup() {\r\n void deleteApp(this);\r\n }\r\n get settings() {\r\n this.checkDestroyed();\r\n return this._serverConfig;\r\n }\r\n /**\r\n * This function will throw an Error if the App has already been deleted -\r\n * use before performing API actions on the App.\r\n */\r\n checkDestroyed() {\r\n if (this.isDeleted) {\r\n throw ERROR_FACTORY.create(\"server-app-deleted\" /* AppError.SERVER_APP_DELETED */);\r\n }\r\n }\r\n}\n\n/**\r\n * @license\r\n * Copyright 2019 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n/**\r\n * The current SDK version.\r\n *\r\n * @public\r\n */\r\nconst SDK_VERSION = version;\r\nfunction initializeApp(_options, rawConfig = {}) {\r\n let options = _options;\r\n if (typeof rawConfig !== 'object') {\r\n const name = rawConfig;\r\n rawConfig = { name };\r\n }\r\n const config = Object.assign({ name: DEFAULT_ENTRY_NAME, automaticDataCollectionEnabled: false }, rawConfig);\r\n const name = config.name;\r\n if (typeof name !== 'string' || !name) {\r\n throw ERROR_FACTORY.create(\"bad-app-name\" /* AppError.BAD_APP_NAME */, {\r\n appName: String(name)\r\n });\r\n }\r\n options || (options = getDefaultAppConfig());\r\n if (!options) {\r\n throw ERROR_FACTORY.create(\"no-options\" /* AppError.NO_OPTIONS */);\r\n }\r\n const existingApp = _apps.get(name);\r\n if (existingApp) {\r\n // return the existing app if options and config deep equal the ones in the existing app.\r\n if (deepEqual(options, existingApp.options) &&\r\n deepEqual(config, existingApp.config)) {\r\n return existingApp;\r\n }\r\n else {\r\n throw ERROR_FACTORY.create(\"duplicate-app\" /* AppError.DUPLICATE_APP */, { appName: name });\r\n }\r\n }\r\n const container = new ComponentContainer(name);\r\n for (const component of _components.values()) {\r\n container.addComponent(component);\r\n }\r\n const newApp = new FirebaseAppImpl(options, config, container);\r\n _apps.set(name, newApp);\r\n return newApp;\r\n}\r\nfunction initializeServerApp(_options, _serverAppConfig) {\r\n if (isBrowser() && !isWebWorker()) {\r\n // FirebaseServerApp isn't designed to be run in browsers.\r\n throw ERROR_FACTORY.create(\"invalid-server-app-environment\" /* AppError.INVALID_SERVER_APP_ENVIRONMENT */);\r\n }\r\n if (_serverAppConfig.automaticDataCollectionEnabled === undefined) {\r\n _serverAppConfig.automaticDataCollectionEnabled = false;\r\n }\r\n let appOptions;\r\n if (_isFirebaseApp(_options)) {\r\n appOptions = _options.options;\r\n }\r\n else {\r\n appOptions = _options;\r\n }\r\n // Build an app name based on a hash of the configuration options.\r\n const nameObj = Object.assign(Object.assign({}, _serverAppConfig), appOptions);\r\n // However, Do not mangle the name based on releaseOnDeref, since it will vary between the\r\n // construction of FirebaseServerApp instances. For example, if the object is the request headers.\r\n if (nameObj.releaseOnDeref !== undefined) {\r\n delete nameObj.releaseOnDeref;\r\n }\r\n const hashCode = (s) => {\r\n return [...s].reduce((hash, c) => (Math.imul(31, hash) + c.charCodeAt(0)) | 0, 0);\r\n };\r\n if (_serverAppConfig.releaseOnDeref !== undefined) {\r\n if (typeof FinalizationRegistry === 'undefined') {\r\n throw ERROR_FACTORY.create(\"finalization-registry-not-supported\" /* AppError.FINALIZATION_REGISTRY_NOT_SUPPORTED */, {});\r\n }\r\n }\r\n const nameString = '' + hashCode(JSON.stringify(nameObj));\r\n const existingApp = _serverApps.get(nameString);\r\n if (existingApp) {\r\n existingApp.incRefCount(_serverAppConfig.releaseOnDeref);\r\n return existingApp;\r\n }\r\n const container = new ComponentContainer(nameString);\r\n for (const component of _components.values()) {\r\n container.addComponent(component);\r\n }\r\n const newApp = new FirebaseServerAppImpl(appOptions, _serverAppConfig, nameString, container);\r\n _serverApps.set(nameString, newApp);\r\n return newApp;\r\n}\r\n/**\r\n * Retrieves a {@link @firebase/app#FirebaseApp} instance.\r\n *\r\n * When called with no arguments, the default app is returned. When an app name\r\n * is provided, the app corresponding to that name is returned.\r\n *\r\n * An exception is thrown if the app being retrieved has not yet been\r\n * initialized.\r\n *\r\n * @example\r\n * ```javascript\r\n * // Return the default app\r\n * const app = getApp();\r\n * ```\r\n *\r\n * @example\r\n * ```javascript\r\n * // Return a named app\r\n * const otherApp = getApp(\"otherApp\");\r\n * ```\r\n *\r\n * @param name - Optional name of the app to return. If no name is\r\n * provided, the default is `\"[DEFAULT]\"`.\r\n *\r\n * @returns The app corresponding to the provided app name.\r\n * If no app name is provided, the default app is returned.\r\n *\r\n * @public\r\n */\r\nfunction getApp(name = DEFAULT_ENTRY_NAME) {\r\n const app = _apps.get(name);\r\n if (!app && name === DEFAULT_ENTRY_NAME && getDefaultAppConfig()) {\r\n return initializeApp();\r\n }\r\n if (!app) {\r\n throw ERROR_FACTORY.create(\"no-app\" /* AppError.NO_APP */, { appName: name });\r\n }\r\n return app;\r\n}\r\n/**\r\n * A (read-only) array of all initialized apps.\r\n * @public\r\n */\r\nfunction getApps() {\r\n return Array.from(_apps.values());\r\n}\r\n/**\r\n * Renders this app unusable and frees the resources of all associated\r\n * services.\r\n *\r\n * @example\r\n * ```javascript\r\n * deleteApp(app)\r\n * .then(function() {\r\n * console.log(\"App deleted successfully\");\r\n * })\r\n * .catch(function(error) {\r\n * console.log(\"Error deleting app:\", error);\r\n * });\r\n * ```\r\n *\r\n * @public\r\n */\r\nasync function deleteApp(app) {\r\n let cleanupProviders = false;\r\n const name = app.name;\r\n if (_apps.has(name)) {\r\n cleanupProviders = true;\r\n _apps.delete(name);\r\n }\r\n else if (_serverApps.has(name)) {\r\n const firebaseServerApp = app;\r\n if (firebaseServerApp.decRefCount() <= 0) {\r\n _serverApps.delete(name);\r\n cleanupProviders = true;\r\n }\r\n }\r\n if (cleanupProviders) {\r\n await Promise.all(app.container\r\n .getProviders()\r\n .map(provider => provider.delete()));\r\n app.isDeleted = true;\r\n }\r\n}\r\n/**\r\n * Registers a library's name and version for platform logging purposes.\r\n * @param library - Name of 1p or 3p library (e.g. firestore, angularfire)\r\n * @param version - Current version of that library.\r\n * @param variant - Bundle variant, e.g., node, rn, etc.\r\n *\r\n * @public\r\n */\r\nfunction registerVersion(libraryKeyOrName, version, variant) {\r\n var _a;\r\n // TODO: We can use this check to whitelist strings when/if we set up\r\n // a good whitelist system.\r\n let library = (_a = PLATFORM_LOG_STRING[libraryKeyOrName]) !== null && _a !== void 0 ? _a : libraryKeyOrName;\r\n if (variant) {\r\n library += `-${variant}`;\r\n }\r\n const libraryMismatch = library.match(/\\s|\\//);\r\n const versionMismatch = version.match(/\\s|\\//);\r\n if (libraryMismatch || versionMismatch) {\r\n const warning = [\r\n `Unable to register library \"${library}\" with version \"${version}\":`\r\n ];\r\n if (libraryMismatch) {\r\n warning.push(`library name \"${library}\" contains illegal characters (whitespace or \"/\")`);\r\n }\r\n if (libraryMismatch && versionMismatch) {\r\n warning.push('and');\r\n }\r\n if (versionMismatch) {\r\n warning.push(`version name \"${version}\" contains illegal characters (whitespace or \"/\")`);\r\n }\r\n logger.warn(warning.join(' '));\r\n return;\r\n }\r\n _registerComponent(new Component(`${library}-version`, () => ({ library, version }), \"VERSION\" /* ComponentType.VERSION */));\r\n}\r\n/**\r\n * Sets log handler for all Firebase SDKs.\r\n * @param logCallback - An optional custom log handler that executes user code whenever\r\n * the Firebase SDK makes a logging call.\r\n *\r\n * @public\r\n */\r\nfunction onLog(logCallback, options) {\r\n if (logCallback !== null && typeof logCallback !== 'function') {\r\n throw ERROR_FACTORY.create(\"invalid-log-argument\" /* AppError.INVALID_LOG_ARGUMENT */);\r\n }\r\n setUserLogHandler(logCallback, options);\r\n}\r\n/**\r\n * Sets log level for all Firebase SDKs.\r\n *\r\n * All of the log types above the current log level are captured (i.e. if\r\n * you set the log level to `info`, errors are logged, but `debug` and\r\n * `verbose` logs are not).\r\n *\r\n * @public\r\n */\r\nfunction setLogLevel(logLevel) {\r\n setLogLevel$1(logLevel);\r\n}\n\n/**\r\n * @license\r\n * Copyright 2021 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\nconst DB_NAME = 'firebase-heartbeat-database';\r\nconst DB_VERSION = 1;\r\nconst STORE_NAME = 'firebase-heartbeat-store';\r\nlet dbPromise = null;\r\nfunction getDbPromise() {\r\n if (!dbPromise) {\r\n dbPromise = openDB(DB_NAME, DB_VERSION, {\r\n upgrade: (db, oldVersion) => {\r\n // We don't use 'break' in this switch statement, the fall-through\r\n // behavior is what we want, because if there are multiple versions between\r\n // the old version and the current version, we want ALL the migrations\r\n // that correspond to those versions to run, not only the last one.\r\n // eslint-disable-next-line default-case\r\n switch (oldVersion) {\r\n case 0:\r\n try {\r\n db.createObjectStore(STORE_NAME);\r\n }\r\n catch (e) {\r\n // Safari/iOS browsers throw occasional exceptions on\r\n // db.createObjectStore() that may be a bug. Avoid blocking\r\n // the rest of the app functionality.\r\n console.warn(e);\r\n }\r\n }\r\n }\r\n }).catch(e => {\r\n throw ERROR_FACTORY.create(\"idb-open\" /* AppError.IDB_OPEN */, {\r\n originalErrorMessage: e.message\r\n });\r\n });\r\n }\r\n return dbPromise;\r\n}\r\nasync function readHeartbeatsFromIndexedDB(app) {\r\n try {\r\n const db = await getDbPromise();\r\n const tx = db.transaction(STORE_NAME);\r\n const result = await tx.objectStore(STORE_NAME).get(computeKey(app));\r\n // We already have the value but tx.done can throw,\r\n // so we need to await it here to catch errors\r\n await tx.done;\r\n return result;\r\n }\r\n catch (e) {\r\n if (e instanceof FirebaseError) {\r\n logger.warn(e.message);\r\n }\r\n else {\r\n const idbGetError = ERROR_FACTORY.create(\"idb-get\" /* AppError.IDB_GET */, {\r\n originalErrorMessage: e === null || e === void 0 ? void 0 : e.message\r\n });\r\n logger.warn(idbGetError.message);\r\n }\r\n }\r\n}\r\nasync function writeHeartbeatsToIndexedDB(app, heartbeatObject) {\r\n try {\r\n const db = await getDbPromise();\r\n const tx = db.transaction(STORE_NAME, 'readwrite');\r\n const objectStore = tx.objectStore(STORE_NAME);\r\n await objectStore.put(heartbeatObject, computeKey(app));\r\n await tx.done;\r\n }\r\n catch (e) {\r\n if (e instanceof FirebaseError) {\r\n logger.warn(e.message);\r\n }\r\n else {\r\n const idbGetError = ERROR_FACTORY.create(\"idb-set\" /* AppError.IDB_WRITE */, {\r\n originalErrorMessage: e === null || e === void 0 ? void 0 : e.message\r\n });\r\n logger.warn(idbGetError.message);\r\n }\r\n }\r\n}\r\nfunction computeKey(app) {\r\n return `${app.name}!${app.options.appId}`;\r\n}\n\n/**\r\n * @license\r\n * Copyright 2021 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\nconst MAX_HEADER_BYTES = 1024;\r\n// 30 days\r\nconst STORED_HEARTBEAT_RETENTION_MAX_MILLIS = 30 * 24 * 60 * 60 * 1000;\r\nclass HeartbeatServiceImpl {\r\n constructor(container) {\r\n this.container = container;\r\n /**\r\n * In-memory cache for heartbeats, used by getHeartbeatsHeader() to generate\r\n * the header string.\r\n * Stores one record per date. This will be consolidated into the standard\r\n * format of one record per user agent string before being sent as a header.\r\n * Populated from indexedDB when the controller is instantiated and should\r\n * be kept in sync with indexedDB.\r\n * Leave public for easier testing.\r\n */\r\n this._heartbeatsCache = null;\r\n const app = this.container.getProvider('app').getImmediate();\r\n this._storage = new HeartbeatStorageImpl(app);\r\n this._heartbeatsCachePromise = this._storage.read().then(result => {\r\n this._heartbeatsCache = result;\r\n return result;\r\n });\r\n }\r\n /**\r\n * Called to report a heartbeat. The function will generate\r\n * a HeartbeatsByUserAgent object, update heartbeatsCache, and persist it\r\n * to IndexedDB.\r\n * Note that we only store one heartbeat per day. So if a heartbeat for today is\r\n * already logged, subsequent calls to this function in the same day will be ignored.\r\n */\r\n async triggerHeartbeat() {\r\n var _a, _b, _c;\r\n try {\r\n const platformLogger = this.container\r\n .getProvider('platform-logger')\r\n .getImmediate();\r\n // This is the \"Firebase user agent\" string from the platform logger\r\n // service, not the browser user agent.\r\n const agent = platformLogger.getPlatformInfoString();\r\n const date = getUTCDateString();\r\n console.log('heartbeats', (_a = this._heartbeatsCache) === null || _a === void 0 ? void 0 : _a.heartbeats);\r\n if (((_b = this._heartbeatsCache) === null || _b === void 0 ? void 0 : _b.heartbeats) == null) {\r\n this._heartbeatsCache = await this._heartbeatsCachePromise;\r\n // If we failed to construct a heartbeats cache, then return immediately.\r\n if (((_c = this._heartbeatsCache) === null || _c === void 0 ? void 0 : _c.heartbeats) == null) {\r\n return;\r\n }\r\n }\r\n // Do not store a heartbeat if one is already stored for this day\r\n // or if a header has already been sent today.\r\n if (this._heartbeatsCache.lastSentHeartbeatDate === date ||\r\n this._heartbeatsCache.heartbeats.some(singleDateHeartbeat => singleDateHeartbeat.date === date)) {\r\n return;\r\n }\r\n else {\r\n // There is no entry for this date. Create one.\r\n this._heartbeatsCache.heartbeats.push({ date, agent });\r\n }\r\n // Remove entries older than 30 days.\r\n this._heartbeatsCache.heartbeats =\r\n this._heartbeatsCache.heartbeats.filter(singleDateHeartbeat => {\r\n const hbTimestamp = new Date(singleDateHeartbeat.date).valueOf();\r\n const now = Date.now();\r\n return now - hbTimestamp <= STORED_HEARTBEAT_RETENTION_MAX_MILLIS;\r\n });\r\n return this._storage.overwrite(this._heartbeatsCache);\r\n }\r\n catch (e) {\r\n logger.warn(e);\r\n }\r\n }\r\n /**\r\n * Returns a base64 encoded string which can be attached to the heartbeat-specific header directly.\r\n * It also clears all heartbeats from memory as well as in IndexedDB.\r\n *\r\n * NOTE: Consuming product SDKs should not send the header if this method\r\n * returns an empty string.\r\n */\r\n async getHeartbeatsHeader() {\r\n var _a;\r\n try {\r\n if (this._heartbeatsCache === null) {\r\n await this._heartbeatsCachePromise;\r\n }\r\n // If it's still null or the array is empty, there is no data to send.\r\n if (((_a = this._heartbeatsCache) === null || _a === void 0 ? void 0 : _a.heartbeats) == null ||\r\n this._heartbeatsCache.heartbeats.length === 0) {\r\n return '';\r\n }\r\n const date = getUTCDateString();\r\n // Extract as many heartbeats from the cache as will fit under the size limit.\r\n const { heartbeatsToSend, unsentEntries } = extractHeartbeatsForHeader(this._heartbeatsCache.heartbeats);\r\n const headerString = base64urlEncodeWithoutPadding(JSON.stringify({ version: 2, heartbeats: heartbeatsToSend }));\r\n // Store last sent date to prevent another being logged/sent for the same day.\r\n this._heartbeatsCache.lastSentHeartbeatDate = date;\r\n if (unsentEntries.length > 0) {\r\n // Store any unsent entries if they exist.\r\n this._heartbeatsCache.heartbeats = unsentEntries;\r\n // This seems more likely than emptying the array (below) to lead to some odd state\r\n // since the cache isn't empty and this will be called again on the next request,\r\n // and is probably safest if we await it.\r\n await this._storage.overwrite(this._heartbeatsCache);\r\n }\r\n else {\r\n this._heartbeatsCache.heartbeats = [];\r\n // Do not wait for this, to reduce latency.\r\n void this._storage.overwrite(this._heartbeatsCache);\r\n }\r\n return headerString;\r\n }\r\n catch (e) {\r\n logger.warn(e);\r\n return '';\r\n }\r\n }\r\n}\r\nfunction getUTCDateString() {\r\n const today = new Date();\r\n // Returns date format 'YYYY-MM-DD'\r\n return today.toISOString().substring(0, 10);\r\n}\r\nfunction extractHeartbeatsForHeader(heartbeatsCache, maxSize = MAX_HEADER_BYTES) {\r\n // Heartbeats grouped by user agent in the standard format to be sent in\r\n // the header.\r\n const heartbeatsToSend = [];\r\n // Single date format heartbeats that are not sent.\r\n let unsentEntries = heartbeatsCache.slice();\r\n for (const singleDateHeartbeat of heartbeatsCache) {\r\n // Look for an existing entry with the same user agent.\r\n const heartbeatEntry = heartbeatsToSend.find(hb => hb.agent === singleDateHeartbeat.agent);\r\n if (!heartbeatEntry) {\r\n // If no entry for this user agent exists, create one.\r\n heartbeatsToSend.push({\r\n agent: singleDateHeartbeat.agent,\r\n dates: [singleDateHeartbeat.date]\r\n });\r\n if (countBytes(heartbeatsToSend) > maxSize) {\r\n // If the header would exceed max size, remove the added heartbeat\r\n // entry and stop adding to the header.\r\n heartbeatsToSend.pop();\r\n break;\r\n }\r\n }\r\n else {\r\n heartbeatEntry.dates.push(singleDateHeartbeat.date);\r\n // If the header would exceed max size, remove the added date\r\n // and stop adding to the header.\r\n if (countBytes(heartbeatsToSend) > maxSize) {\r\n heartbeatEntry.dates.pop();\r\n break;\r\n }\r\n }\r\n // Pop unsent entry from queue. (Skipped if adding the entry exceeded\r\n // quota and the loop breaks early.)\r\n unsentEntries = unsentEntries.slice(1);\r\n }\r\n return {\r\n heartbeatsToSend,\r\n unsentEntries\r\n };\r\n}\r\nclass HeartbeatStorageImpl {\r\n constructor(app) {\r\n this.app = app;\r\n this._canUseIndexedDBPromise = this.runIndexedDBEnvironmentCheck();\r\n }\r\n async runIndexedDBEnvironmentCheck() {\r\n if (!isIndexedDBAvailable()) {\r\n return false;\r\n }\r\n else {\r\n return validateIndexedDBOpenable()\r\n .then(() => true)\r\n .catch(() => false);\r\n }\r\n }\r\n /**\r\n * Read all heartbeats.\r\n */\r\n async read() {\r\n const canUseIndexedDB = await this._canUseIndexedDBPromise;\r\n if (!canUseIndexedDB) {\r\n return { heartbeats: [] };\r\n }\r\n else {\r\n const idbHeartbeatObject = await readHeartbeatsFromIndexedDB(this.app);\r\n if (idbHeartbeatObject === null || idbHeartbeatObject === void 0 ? void 0 : idbHeartbeatObject.heartbeats) {\r\n return idbHeartbeatObject;\r\n }\r\n else {\r\n return { heartbeats: [] };\r\n }\r\n }\r\n }\r\n // overwrite the storage with the provided heartbeats\r\n async overwrite(heartbeatsObject) {\r\n var _a;\r\n const canUseIndexedDB = await this._canUseIndexedDBPromise;\r\n if (!canUseIndexedDB) {\r\n return;\r\n }\r\n else {\r\n const existingHeartbeatsObject = await this.read();\r\n return writeHeartbeatsToIndexedDB(this.app, {\r\n lastSentHeartbeatDate: (_a = heartbeatsObject.lastSentHeartbeatDate) !== null && _a !== void 0 ? _a : existingHeartbeatsObject.lastSentHeartbeatDate,\r\n heartbeats: heartbeatsObject.heartbeats\r\n });\r\n }\r\n }\r\n // add heartbeats\r\n async add(heartbeatsObject) {\r\n var _a;\r\n const canUseIndexedDB = await this._canUseIndexedDBPromise;\r\n if (!canUseIndexedDB) {\r\n return;\r\n }\r\n else {\r\n const existingHeartbeatsObject = await this.read();\r\n return writeHeartbeatsToIndexedDB(this.app, {\r\n lastSentHeartbeatDate: (_a = heartbeatsObject.lastSentHeartbeatDate) !== null && _a !== void 0 ? _a : existingHeartbeatsObject.lastSentHeartbeatDate,\r\n heartbeats: [\r\n ...existingHeartbeatsObject.heartbeats,\r\n ...heartbeatsObject.heartbeats\r\n ]\r\n });\r\n }\r\n }\r\n}\r\n/**\r\n * Calculate bytes of a HeartbeatsByUserAgent array after being wrapped\r\n * in a platform logging header JSON object, stringified, and converted\r\n * to base 64.\r\n */\r\nfunction countBytes(heartbeatsCache) {\r\n // base64 has a restricted set of characters, all of which should be 1 byte.\r\n return base64urlEncodeWithoutPadding(\r\n // heartbeatsCache wrapper properties\r\n JSON.stringify({ version: 2, heartbeats: heartbeatsCache })).length;\r\n}\n\n/**\r\n * @license\r\n * Copyright 2019 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\nfunction registerCoreComponents(variant) {\r\n _registerComponent(new Component('platform-logger', container => new PlatformLoggerServiceImpl(container), \"PRIVATE\" /* ComponentType.PRIVATE */));\r\n _registerComponent(new Component('heartbeat', container => new HeartbeatServiceImpl(container), \"PRIVATE\" /* ComponentType.PRIVATE */));\r\n // Register `app` package.\r\n registerVersion(name$p, version$1, variant);\r\n // BUILD_TARGET will be replaced by values like esm5, esm2017, cjs5, etc during the compilation\r\n registerVersion(name$p, version$1, 'esm2017');\r\n // Register platform SDK identifier (no version).\r\n registerVersion('fire-js', '');\r\n}\n\n/**\r\n * Firebase App\r\n *\r\n * @remarks This package coordinates the communication between the different Firebase components\r\n * @packageDocumentation\r\n */\r\nregisterCoreComponents('');\n\nexport { SDK_VERSION, DEFAULT_ENTRY_NAME as _DEFAULT_ENTRY_NAME, _addComponent, _addOrOverwriteComponent, _apps, _clearComponents, _components, _getProvider, _isFirebaseApp, _isFirebaseServerApp, _registerComponent, _removeServiceInstance, _serverApps, deleteApp, getApp, getApps, initializeApp, initializeServerApp, onLog, registerVersion, setLogLevel };\n//# sourceMappingURL=index.esm2017.js.map\n","import { registerVersion } from '@firebase/app';\nexport * from '@firebase/app';\n\nvar name = \"firebase\";\nvar version = \"10.13.0\";\n\n/**\r\n * @license\r\n * Copyright 2020 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\nregisterVersion(name, version, 'app');\n//# sourceMappingURL=index.esm.js.map\n"],"names":["stringToByteArray$1","str","out","p","i","c","byteArrayToString","bytes","pos","c1","c2","c3","c4","u","base64","input","webSafe","byteToCharMap","output","byte1","haveByte2","byte2","haveByte3","byte3","outByte1","outByte2","outByte3","outByte4","charToByteMap","byte4","DecodeBase64StringError","base64Encode","utf8Bytes","base64urlEncodeWithoutPadding","base64Decode","getGlobal","getDefaultsFromGlobal","getDefaultsFromEnvVariable","define_process_env_default","defaultsJsonString","getDefaultsFromCookie","match","decoded","getDefaults","e","getDefaultAppConfig","_a","Deferred","resolve","reject","callback","error","value","isIndexedDBAvailable","validateIndexedDBOpenable","preExist","DB_CHECK_NAME","request","ERROR_NAME","FirebaseError","code","message","customData","ErrorFactory","service","serviceName","errors","data","fullCode","template","replaceTemplate","fullMessage","PATTERN","_","key","deepEqual","a","b","aKeys","bKeys","k","aProp","bProp","isObject","thing","Component","name","instanceFactory","type","mode","multipleInstances","props","DEFAULT_ENTRY_NAME","Provider","container","identifier","normalizedIdentifier","deferred","instance","options","optional","component","isComponentEager","instanceIdentifier","instanceDeferred","services","opts","normalizedDeferredIdentifier","existingCallbacks","existingInstance","callbacks","normalizeIdentifierForFactory","ComponentContainer","provider","LogLevel","levelStringToEnum","defaultLogLevel","ConsoleMethod","defaultLogHandler","logType","args","now","method","Logger","val","instanceOfAny","object","constructors","idbProxyableTypes","cursorAdvanceMethods","getIdbProxyableTypes","getCursorAdvanceMethods","cursorRequestMap","transactionDoneMap","transactionStoreNamesMap","transformCache","reverseTransformCache","promisifyRequest","promise","unlisten","success","wrap","cacheDonePromiseForTransaction","tx","done","complete","idbProxyTraps","target","prop","receiver","replaceTraps","wrapFunction","func","storeNames","unwrap","transformCachableValue","newValue","openDB","version","blocked","upgrade","blocking","terminated","openPromise","event","db","readMethods","writeMethods","cachedMethods","getMethod","targetFuncName","useIndex","isWrite","storeName","oldTraps","PlatformLoggerServiceImpl","isVersionServiceProvider","logString","name$p","version$1","logger","name$o","name$n","name$m","name$l","name$k","name$j","name$i","name$h","name$g","name$f","name$e","name$d","name$c","name$b","name$a","name$9","name$8","name$7","name$6","name$5","name$4","name$3","name$2","name$1","PLATFORM_LOG_STRING","_apps","_serverApps","_components","_addComponent","app","_registerComponent","componentName","serverApp","ERRORS","ERROR_FACTORY","FirebaseAppImpl","config","initializeApp","_options","rawConfig","existingApp","newApp","registerVersion","libraryKeyOrName","variant","library","libraryMismatch","versionMismatch","warning","DB_NAME","DB_VERSION","STORE_NAME","dbPromise","getDbPromise","oldVersion","readHeartbeatsFromIndexedDB","result","computeKey","idbGetError","writeHeartbeatsToIndexedDB","heartbeatObject","MAX_HEADER_BYTES","STORED_HEARTBEAT_RETENTION_MAX_MILLIS","HeartbeatServiceImpl","HeartbeatStorageImpl","_b","_c","agent","date","getUTCDateString","singleDateHeartbeat","hbTimestamp","heartbeatsToSend","unsentEntries","extractHeartbeatsForHeader","headerString","heartbeatsCache","maxSize","heartbeatEntry","hb","countBytes","idbHeartbeatObject","heartbeatsObject","existingHeartbeatsObject","registerCoreComponents"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,5,6]} \ No newline at end of file diff --git a/Target/_astro/index.modern.CUPCPLSa.js.map b/Target/_astro/index.modern.CUPCPLSa.js.map index f5ded62b..ac03b323 100644 --- a/Target/_astro/index.modern.CUPCPLSa.js.map +++ b/Target/_astro/index.modern.CUPCPLSa.js.map @@ -1 +1 @@ -{"version":3,"file":"index.modern.CUPCPLSa.js","sources":["../../node_modules/@swup/preload-plugin/dist/index.modern.js"],"sourcesContent":["import e from\"@swup/plugin\";import{Location as t,getCurrentUrl as s}from\"swup\";function r(){return r=Object.assign?Object.assign.bind():function(e){for(var t=1;tsetTimeout(e,1)),a=[\"preloadVisibleLinks\"];class l extends e{constructor(e={}){var s;super(),s=this,this.name=\"SwupPreloadPlugin\",this.requires={swup:\">=4.5\"},this.defaults={throttle:5,preloadInitialPage:!0,preloadHoveredLinks:!0,preloadVisibleLinks:{enabled:!1,threshold:.2,delay:500,containers:[\"body\"],ignore:()=>!1}},this.options=void 0,this.queue=void 0,this.preloadObserver=void 0,this.preloadPromises=new Map,this.mouseEnterDelegate=void 0,this.touchStartDelegate=void 0,this.focusDelegate=void 0,this.onPageLoad=(e,t,s)=>{const{url:r}=e.to;return r&&this.preloadPromises.has(r)?this.preloadPromises.get(r):s(e,t)},this.onMouseEnter=async function(e){if(e.target!==e.delegateTarget)return;if(!o())return;const r=e.delegateTarget;if(!i(r))return;const{url:n,hash:a}=t.fromElement(r),l=s.swup.createVisit({to:n,hash:a,el:r,event:e});s.swup.hooks.callSync(\"link:hover\",l,{el:r,event:e}),s.preload(r,{priority:!0})},this.onTouchStart=e=>{if(o())return;const t=e.delegateTarget;i(t)&&this.preload(t,{priority:!0})},this.onFocus=e=>{const t=e.delegateTarget;i(t)&&this.preload(t,{priority:!0})};const{preloadVisibleLinks:n}=e,l=function(e,t){if(null==e)return{};var s,r,o={},i=Object.keys(e);for(r=0;r=0||(o[s]=e[s]);return o}(e,a);this.options=r({},this.defaults,l),\"object\"==typeof n?this.options.preloadVisibleLinks=r({},this.options.preloadVisibleLinks,{enabled:!0},n):this.options.preloadVisibleLinks.enabled=Boolean(n),this.preload=this.preload.bind(this),this.queue=function(e=1){const t=[],s=[];let r=0,o=0;function i(){o0&&((s.shift()||t.shift()||(()=>{}))(),r--,o++)}return{add:function(e,o=!1){if(e.__queued){if(!o)return;{const s=t.indexOf(e);if(s>=0){const e=t.splice(s,1);r-=e.length}}}e.__queued=!0,(o?s:t).push(e),r++,r<=1&&i()},next:function(){o--,i()}}}(this.options.throttle)}mount(){const e=this.swup;e.options.cache?(e.hooks.create(\"page:preload\"),e.hooks.create(\"link:hover\"),e.preload=this.preload,e.preloadLinks=this.preloadLinks,this.replace(\"page:load\",this.onPageLoad),this.preloadLinks(),this.on(\"page:view\",()=>this.preloadLinks()),this.options.preloadVisibleLinks.enabled&&(this.preloadVisibleLinks(),this.on(\"page:view\",()=>this.preloadVisibleLinks())),this.options.preloadHoveredLinks&&this.preloadLinksOnAttention(),this.options.preloadInitialPage&&this.preload(s())):console.warn(\"SwupPreloadPlugin: swup cache needs to be enabled for preloading\")}unmount(){var e,t,s;this.swup.preload=void 0,this.swup.preloadLinks=void 0,this.preloadPromises.clear(),null==(e=this.mouseEnterDelegate)||e.destroy(),null==(t=this.touchStartDelegate)||t.destroy(),null==(s=this.focusDelegate)||s.destroy(),this.stopPreloadingVisibleLinks()}async preload(e,s={}){var r;let o,n;const a=null!=(r=s.priority)&&r;if(Array.isArray(e))return Promise.all(e.map(e=>this.preload(e)));if(i(e))n=e,({href:o}=t.fromElement(e));else{if(\"string\"!=typeof e)return;o=e}if(!o)return;if(this.preloadPromises.has(o))return this.preloadPromises.get(o);if(!this.shouldPreload(o,{el:n}))return;const l=new Promise(e=>{this.queue.add(()=>{this.performPreload(o).catch(()=>{}).then(t=>e(t)).finally(()=>{this.queue.next(),this.preloadPromises.delete(o)})},a)});return this.preloadPromises.set(o,l),l}preloadLinks(){n(()=>{Array.from(document.querySelectorAll(\"a[data-swup-preload], [data-swup-preload-all] a\")).forEach(e=>this.preload(e))})}preloadLinksOnAttention(){const{swup:e}=this,{linkSelector:t}=e.options,s={passive:!0,capture:!0};this.mouseEnterDelegate=e.delegateEvent(t,\"mouseenter\",this.onMouseEnter,s),this.touchStartDelegate=e.delegateEvent(t,\"touchstart\",this.onTouchStart,s),this.focusDelegate=e.delegateEvent(t,\"focus\",this.onFocus,s)}preloadVisibleLinks(){if(this.preloadObserver)return void this.preloadObserver.update();const{threshold:e,delay:s,containers:r}=this.options.preloadVisibleLinks;this.preloadObserver=function({threshold:e,delay:s,containers:r,callback:o,filter:i}){const a=new Map,l=new IntersectionObserver(e=>{e.forEach(e=>{e.isIntersecting?h(e.target):d(e.target)})},{threshold:e}),h=e=>{var r;const{href:i}=t.fromElement(e),n=null!=(r=a.get(i))?r:new Set;a.set(i,n),n.add(e),setTimeout(()=>{const t=a.get(i);null!=t&&t.size&&(o(e),l.unobserve(e),t.delete(e))},s)},d=e=>{var s;const{href:r}=t.fromElement(e);null==(s=a.get(r))||s.delete(e)},u=()=>{n(()=>{const e=r.map(e=>`${e} a[*|href]`).join(\", \");Array.from(document.querySelectorAll(e)).filter(e=>i(e)).forEach(e=>l.observe(e))})};return{start:()=>u(),stop:()=>l.disconnect(),update:()=>(a.clear(),u())}}({threshold:e,delay:s,containers:r,callback:e=>this.preload(e),filter:e=>{if(this.options.preloadVisibleLinks.ignore(e))return!1;if(!e.matches(this.swup.options.linkSelector))return!1;const{href:s}=t.fromElement(e);return this.shouldPreload(s,{el:e})}}),this.preloadObserver.start()}stopPreloadingVisibleLinks(){this.preloadObserver&&this.preloadObserver.stop()}shouldPreload(e,{el:r}={}){const{url:o,href:i}=t.fromUrl(e);return!(!function(){if(navigator.connection){var e;if(navigator.connection.saveData)return!1;if(null!=(e=navigator.connection.effectiveType)&&e.endsWith(\"2g\"))return!1}return!0}()||this.swup.cache.has(o)||this.preloadPromises.has(o)||this.swup.shouldIgnoreVisit(i,{el:r})||r&&this.swup.resolveUrl(o)===this.swup.resolveUrl(s()))}async performPreload(e){var s=this;const{url:r}=t.fromUrl(e),o=this.swup.createVisit({to:r}),i=await this.swup.hooks.call(\"page:preload\",o,{url:r},async function(t,r){return r.page=await s.swup.fetchPage(e,{visit:t}),r.page});return i}}export{l as default};\n//# sourceMappingURL=index.modern.js.map\n"],"names":["r","e","t","s","o","i","n","a","l","h","d","u"],"mappings":"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","x_google_ignoreList":[0]} \ No newline at end of file +{"version":3,"file":"index.modern.CUPCPLSa.js","sources":["../../../../../../node_modules/@swup/preload-plugin/dist/index.modern.js"],"sourcesContent":["import e from\"@swup/plugin\";import{Location as t,getCurrentUrl as s}from\"swup\";function r(){return r=Object.assign?Object.assign.bind():function(e){for(var t=1;tsetTimeout(e,1)),a=[\"preloadVisibleLinks\"];class l extends e{constructor(e={}){var s;super(),s=this,this.name=\"SwupPreloadPlugin\",this.requires={swup:\">=4.5\"},this.defaults={throttle:5,preloadInitialPage:!0,preloadHoveredLinks:!0,preloadVisibleLinks:{enabled:!1,threshold:.2,delay:500,containers:[\"body\"],ignore:()=>!1}},this.options=void 0,this.queue=void 0,this.preloadObserver=void 0,this.preloadPromises=new Map,this.mouseEnterDelegate=void 0,this.touchStartDelegate=void 0,this.focusDelegate=void 0,this.onPageLoad=(e,t,s)=>{const{url:r}=e.to;return r&&this.preloadPromises.has(r)?this.preloadPromises.get(r):s(e,t)},this.onMouseEnter=async function(e){if(e.target!==e.delegateTarget)return;if(!o())return;const r=e.delegateTarget;if(!i(r))return;const{url:n,hash:a}=t.fromElement(r),l=s.swup.createVisit({to:n,hash:a,el:r,event:e});s.swup.hooks.callSync(\"link:hover\",l,{el:r,event:e}),s.preload(r,{priority:!0})},this.onTouchStart=e=>{if(o())return;const t=e.delegateTarget;i(t)&&this.preload(t,{priority:!0})},this.onFocus=e=>{const t=e.delegateTarget;i(t)&&this.preload(t,{priority:!0})};const{preloadVisibleLinks:n}=e,l=function(e,t){if(null==e)return{};var s,r,o={},i=Object.keys(e);for(r=0;r=0||(o[s]=e[s]);return o}(e,a);this.options=r({},this.defaults,l),\"object\"==typeof n?this.options.preloadVisibleLinks=r({},this.options.preloadVisibleLinks,{enabled:!0},n):this.options.preloadVisibleLinks.enabled=Boolean(n),this.preload=this.preload.bind(this),this.queue=function(e=1){const t=[],s=[];let r=0,o=0;function i(){o0&&((s.shift()||t.shift()||(()=>{}))(),r--,o++)}return{add:function(e,o=!1){if(e.__queued){if(!o)return;{const s=t.indexOf(e);if(s>=0){const e=t.splice(s,1);r-=e.length}}}e.__queued=!0,(o?s:t).push(e),r++,r<=1&&i()},next:function(){o--,i()}}}(this.options.throttle)}mount(){const e=this.swup;e.options.cache?(e.hooks.create(\"page:preload\"),e.hooks.create(\"link:hover\"),e.preload=this.preload,e.preloadLinks=this.preloadLinks,this.replace(\"page:load\",this.onPageLoad),this.preloadLinks(),this.on(\"page:view\",()=>this.preloadLinks()),this.options.preloadVisibleLinks.enabled&&(this.preloadVisibleLinks(),this.on(\"page:view\",()=>this.preloadVisibleLinks())),this.options.preloadHoveredLinks&&this.preloadLinksOnAttention(),this.options.preloadInitialPage&&this.preload(s())):console.warn(\"SwupPreloadPlugin: swup cache needs to be enabled for preloading\")}unmount(){var e,t,s;this.swup.preload=void 0,this.swup.preloadLinks=void 0,this.preloadPromises.clear(),null==(e=this.mouseEnterDelegate)||e.destroy(),null==(t=this.touchStartDelegate)||t.destroy(),null==(s=this.focusDelegate)||s.destroy(),this.stopPreloadingVisibleLinks()}async preload(e,s={}){var r;let o,n;const a=null!=(r=s.priority)&&r;if(Array.isArray(e))return Promise.all(e.map(e=>this.preload(e)));if(i(e))n=e,({href:o}=t.fromElement(e));else{if(\"string\"!=typeof e)return;o=e}if(!o)return;if(this.preloadPromises.has(o))return this.preloadPromises.get(o);if(!this.shouldPreload(o,{el:n}))return;const l=new Promise(e=>{this.queue.add(()=>{this.performPreload(o).catch(()=>{}).then(t=>e(t)).finally(()=>{this.queue.next(),this.preloadPromises.delete(o)})},a)});return this.preloadPromises.set(o,l),l}preloadLinks(){n(()=>{Array.from(document.querySelectorAll(\"a[data-swup-preload], [data-swup-preload-all] a\")).forEach(e=>this.preload(e))})}preloadLinksOnAttention(){const{swup:e}=this,{linkSelector:t}=e.options,s={passive:!0,capture:!0};this.mouseEnterDelegate=e.delegateEvent(t,\"mouseenter\",this.onMouseEnter,s),this.touchStartDelegate=e.delegateEvent(t,\"touchstart\",this.onTouchStart,s),this.focusDelegate=e.delegateEvent(t,\"focus\",this.onFocus,s)}preloadVisibleLinks(){if(this.preloadObserver)return void this.preloadObserver.update();const{threshold:e,delay:s,containers:r}=this.options.preloadVisibleLinks;this.preloadObserver=function({threshold:e,delay:s,containers:r,callback:o,filter:i}){const a=new Map,l=new IntersectionObserver(e=>{e.forEach(e=>{e.isIntersecting?h(e.target):d(e.target)})},{threshold:e}),h=e=>{var r;const{href:i}=t.fromElement(e),n=null!=(r=a.get(i))?r:new Set;a.set(i,n),n.add(e),setTimeout(()=>{const t=a.get(i);null!=t&&t.size&&(o(e),l.unobserve(e),t.delete(e))},s)},d=e=>{var s;const{href:r}=t.fromElement(e);null==(s=a.get(r))||s.delete(e)},u=()=>{n(()=>{const e=r.map(e=>`${e} a[*|href]`).join(\", \");Array.from(document.querySelectorAll(e)).filter(e=>i(e)).forEach(e=>l.observe(e))})};return{start:()=>u(),stop:()=>l.disconnect(),update:()=>(a.clear(),u())}}({threshold:e,delay:s,containers:r,callback:e=>this.preload(e),filter:e=>{if(this.options.preloadVisibleLinks.ignore(e))return!1;if(!e.matches(this.swup.options.linkSelector))return!1;const{href:s}=t.fromElement(e);return this.shouldPreload(s,{el:e})}}),this.preloadObserver.start()}stopPreloadingVisibleLinks(){this.preloadObserver&&this.preloadObserver.stop()}shouldPreload(e,{el:r}={}){const{url:o,href:i}=t.fromUrl(e);return!(!function(){if(navigator.connection){var e;if(navigator.connection.saveData)return!1;if(null!=(e=navigator.connection.effectiveType)&&e.endsWith(\"2g\"))return!1}return!0}()||this.swup.cache.has(o)||this.preloadPromises.has(o)||this.swup.shouldIgnoreVisit(i,{el:r})||r&&this.swup.resolveUrl(o)===this.swup.resolveUrl(s()))}async performPreload(e){var s=this;const{url:r}=t.fromUrl(e),o=this.swup.createVisit({to:r}),i=await this.swup.hooks.call(\"page:preload\",o,{url:r},async function(t,r){return r.page=await s.swup.fetchPage(e,{visit:t}),r.page});return i}}export{l as default};\n//# sourceMappingURL=index.modern.js.map\n"],"names":["r","e","t","s","o","i","n","a","l","h","d","u"],"mappings":"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","x_google_ignoreList":[0]} \ No newline at end of file diff --git a/Target/_astro/index.modern.DpLP8u1C.js.map b/Target/_astro/index.modern.DpLP8u1C.js.map index 6da7c625..6e9abe3d 100644 --- a/Target/_astro/index.modern.DpLP8u1C.js.map +++ b/Target/_astro/index.modern.DpLP8u1C.js.map @@ -1 +1 @@ -{"version":3,"file":"index.modern.DpLP8u1C.js","sources":["../../../../../../node_modules/@swup/theme/dist/index.modern.js","../../node_modules/@swup/overlay-theme/dist/index.modern.js"],"sourcesContent":["import e from\"@swup/plugin\";class t extends e{constructor(...e){super(...e),this._originalAnimationSelectorOption=\"\",this._addedStyleElements=[],this._addedHTMLContent=[],this._classNameAddedToElements=[],this._addClassNameToElement=()=>{this._classNameAddedToElements.forEach(e=>{Array.from(document.querySelectorAll(e.selector)).forEach(t=>{t.classList.add(`swup-transition-${e.name}`)})})}}_beforeMount(){this._originalAnimationSelectorOption=String(this.swup.options.animationSelector),this.swup.options.animationSelector='[class*=\"swup-transition-\"]',this.swup.hooks.on(\"content:replace\",this._addClassNameToElement)}_afterUnmount(){this.swup.options.animationSelector=this._originalAnimationSelectorOption,this._addedStyleElements.forEach(e=>{e.outerHTML=\"\"}),this._addedStyleElements=[],this._addedHTMLContent.forEach(e=>{e.outerHTML=\"\"}),this._addedHTMLContent=[],this._classNameAddedToElements.forEach(e=>{Array.from(document.querySelectorAll(e.selector)).forEach(e=>{e.className.split(\" \").forEach(t=>{new RegExp(\"^swup-transition-\").test(t)&&e.classList.remove(t)})})}),this.swup.hooks.off(\"content:replace\",this._addClassNameToElement)}applyStyles(e){const t=document.createElement(\"style\");t.setAttribute(\"data-swup-theme\",\"\"),t.appendChild(document.createTextNode(e)),document.head.prepend(t),this._addedStyleElements.push(t)}applyHTML(e){const t=document.createElement(\"div\");t.innerHTML=e,document.body.appendChild(t),this._addedHTMLContent.push(t)}addClassName(e,t){this._classNameAddedToElements.push({selector:e,name:t}),this._addClassNameToElement()}}export{t as default};\n//# sourceMappingURL=index.modern.js.map\n","import a from\"@swup/theme\";function t(){return t=Object.assign?Object.assign.bind():function(a){for(var t=1;t\\n\\t\\t`}}export{e as default};\n//# sourceMappingURL=index.modern.js.map\n"],"names":["e","t","a","r"],"mappings":"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","x_google_ignoreList":[0,1]} \ No newline at end of file +{"version":3,"file":"index.modern.DpLP8u1C.js","sources":["../../../../../../node_modules/@swup/theme/dist/index.modern.js","../../../../../../node_modules/@swup/overlay-theme/dist/index.modern.js"],"sourcesContent":["import e from\"@swup/plugin\";class t extends e{constructor(...e){super(...e),this._originalAnimationSelectorOption=\"\",this._addedStyleElements=[],this._addedHTMLContent=[],this._classNameAddedToElements=[],this._addClassNameToElement=()=>{this._classNameAddedToElements.forEach(e=>{Array.from(document.querySelectorAll(e.selector)).forEach(t=>{t.classList.add(`swup-transition-${e.name}`)})})}}_beforeMount(){this._originalAnimationSelectorOption=String(this.swup.options.animationSelector),this.swup.options.animationSelector='[class*=\"swup-transition-\"]',this.swup.hooks.on(\"content:replace\",this._addClassNameToElement)}_afterUnmount(){this.swup.options.animationSelector=this._originalAnimationSelectorOption,this._addedStyleElements.forEach(e=>{e.outerHTML=\"\"}),this._addedStyleElements=[],this._addedHTMLContent.forEach(e=>{e.outerHTML=\"\"}),this._addedHTMLContent=[],this._classNameAddedToElements.forEach(e=>{Array.from(document.querySelectorAll(e.selector)).forEach(e=>{e.className.split(\" \").forEach(t=>{new RegExp(\"^swup-transition-\").test(t)&&e.classList.remove(t)})})}),this.swup.hooks.off(\"content:replace\",this._addClassNameToElement)}applyStyles(e){const t=document.createElement(\"style\");t.setAttribute(\"data-swup-theme\",\"\"),t.appendChild(document.createTextNode(e)),document.head.prepend(t),this._addedStyleElements.push(t)}applyHTML(e){const t=document.createElement(\"div\");t.innerHTML=e,document.body.appendChild(t),this._addedHTMLContent.push(t)}addClassName(e,t){this._classNameAddedToElements.push({selector:e,name:t}),this._addClassNameToElement()}}export{t as default};\n//# sourceMappingURL=index.modern.js.map\n","import a from\"@swup/theme\";function t(){return t=Object.assign?Object.assign.bind():function(a){for(var t=1;t\\n\\t\\t`}}export{e as default};\n//# sourceMappingURL=index.modern.js.map\n"],"names":["e","t","a","r"],"mappings":"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","x_google_ignoreList":[0,1]} \ No newline at end of file diff --git a/Target/_astro/index.modern.FjGODCox.js.map b/Target/_astro/index.modern.FjGODCox.js.map index 9ff11a55..8a49dde5 100644 --- a/Target/_astro/index.modern.FjGODCox.js.map +++ b/Target/_astro/index.modern.FjGODCox.js.map @@ -1 +1 @@ -{"version":3,"file":"index.modern.FjGODCox.js","sources":["../../node_modules/@swup/head-plugin/dist/index.modern.js"],"sourcesContent":["import e from\"@swup/plugin\";function t(){return t=Object.assign?Object.assign.bind():function(e){for(var t=1;t=4.6\"},this.defaults={persistTags:!1,persistAssets:!1,awaitAssets:!1,timeout:3e3},this.options=void 0,this.updateHead=async function(e,{page:{}}){const t=e.to.document,{removed:i,added:a}=function(e,t,{shouldPersist:r=(()=>!1)}={}){const o=Array.from(e.children),i=Array.from(t.children),a=(l=o,i.reduce((e,t,s)=>(l.some(e=>n(t,e))||e.push({el:t,index:s}),e),[]));var l;const u=function(e,t){return e.reduce((e,s)=>(t.some(e=>n(s,e))||e.push({el:s}),e),[])}(o,i);return u.reverse().filter(({el:e})=>s(e)).filter(({el:e})=>!r(e)).forEach(({el:t})=>e.removeChild(t)),a.filter(({el:e})=>s(e)).forEach(({el:t,index:s=0})=>{e.insertBefore(t.cloneNode(!0),e.children[s+1]||null)}),{removed:u.map(({el:e})=>e),added:a.map(({el:e})=>e)}}(document.head,t.head,{shouldPersist:e=>o.isPersistentTag(e)});o.swup.log(`Removed ${i.length} / added ${a.length} tags in head`);const l=(u=document.documentElement).lang!==(c=t.documentElement).lang?(u.lang=c.lang,u.lang):null;var u,c;if(l&&o.swup.log(`Updated lang attribute: ${l}`),o.options.awaitAssets){const e=function(e,t=0){return e.filter(r).map(e=>function(e,t=0){const s=t=>{(({href:e})=>Array.from(document.styleSheets).map(({href:e})=>e).includes(e))(e)?t():setTimeout(()=>s(t),10)};return new Promise(e=>{s(e),t>0&&setTimeout(e,t)})}(e,t))}(a,o.options.timeout);e.length&&(o.swup.log(`Waiting for ${e.length} assets to load`),await Promise.all(e))}},this.options=t({},this.defaults,e),this.options.persistAssets&&!this.options.persistTags&&(this.options.persistTags=\"link[rel=stylesheet], script[src], style\")}mount(){this.before(\"content:replace\",this.updateHead)}isPersistentTag(e){const{persistTags:t}=this.options;return\"function\"==typeof t?t(e):\"string\"==typeof t?e.matches(t):Boolean(t)}}export{o as default};\n//# sourceMappingURL=index.modern.js.map\n"],"names":["t","e","s","n","r","o","i","a","l","u","c"],"mappings":"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","x_google_ignoreList":[0]} \ No newline at end of file +{"version":3,"file":"index.modern.FjGODCox.js","sources":["../../../../../../node_modules/@swup/head-plugin/dist/index.modern.js"],"sourcesContent":["import e from\"@swup/plugin\";function t(){return t=Object.assign?Object.assign.bind():function(e){for(var t=1;t=4.6\"},this.defaults={persistTags:!1,persistAssets:!1,awaitAssets:!1,timeout:3e3},this.options=void 0,this.updateHead=async function(e,{page:{}}){const t=e.to.document,{removed:i,added:a}=function(e,t,{shouldPersist:r=(()=>!1)}={}){const o=Array.from(e.children),i=Array.from(t.children),a=(l=o,i.reduce((e,t,s)=>(l.some(e=>n(t,e))||e.push({el:t,index:s}),e),[]));var l;const u=function(e,t){return e.reduce((e,s)=>(t.some(e=>n(s,e))||e.push({el:s}),e),[])}(o,i);return u.reverse().filter(({el:e})=>s(e)).filter(({el:e})=>!r(e)).forEach(({el:t})=>e.removeChild(t)),a.filter(({el:e})=>s(e)).forEach(({el:t,index:s=0})=>{e.insertBefore(t.cloneNode(!0),e.children[s+1]||null)}),{removed:u.map(({el:e})=>e),added:a.map(({el:e})=>e)}}(document.head,t.head,{shouldPersist:e=>o.isPersistentTag(e)});o.swup.log(`Removed ${i.length} / added ${a.length} tags in head`);const l=(u=document.documentElement).lang!==(c=t.documentElement).lang?(u.lang=c.lang,u.lang):null;var u,c;if(l&&o.swup.log(`Updated lang attribute: ${l}`),o.options.awaitAssets){const e=function(e,t=0){return e.filter(r).map(e=>function(e,t=0){const s=t=>{(({href:e})=>Array.from(document.styleSheets).map(({href:e})=>e).includes(e))(e)?t():setTimeout(()=>s(t),10)};return new Promise(e=>{s(e),t>0&&setTimeout(e,t)})}(e,t))}(a,o.options.timeout);e.length&&(o.swup.log(`Waiting for ${e.length} assets to load`),await Promise.all(e))}},this.options=t({},this.defaults,e),this.options.persistAssets&&!this.options.persistTags&&(this.options.persistTags=\"link[rel=stylesheet], script[src], style\")}mount(){this.before(\"content:replace\",this.updateHead)}isPersistentTag(e){const{persistTags:t}=this.options;return\"function\"==typeof t?t(e):\"string\"==typeof t?e.matches(t):Boolean(t)}}export{o as default};\n//# sourceMappingURL=index.modern.js.map\n"],"names":["t","e","s","n","r","o","i","a","l","u","c"],"mappings":"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","x_google_ignoreList":[0]} \ No newline at end of file diff --git a/Target/_astro/index.modern.aa8fLSdp.js.map b/Target/_astro/index.modern.aa8fLSdp.js.map index 94e05c10..279c9a1e 100644 --- a/Target/_astro/index.modern.aa8fLSdp.js.map +++ b/Target/_astro/index.modern.aa8fLSdp.js.map @@ -1 +1 @@ -{"version":3,"file":"index.modern.aa8fLSdp.js","sources":["../../node_modules/@swup/body-class-plugin/dist/index.modern.js"],"sourcesContent":["import s from\"@swup/plugin\";function t(){return t=Object.assign?Object.assign.bind():function(s){for(var t=1;t=4.6\"},this.defaults={prefix:\"\"},this.options=void 0,this.updateBodyClass=s=>{this.updateClassNames(document.body,s.to.document.body)},this.options=t({},this.defaults,s)}mount(){this.on(\"content:replace\",this.updateBodyClass)}updateClassNames(s,t){const i=[...s.classList].filter(s=>this.isValidClassName(s)),a=[...t.classList].filter(s=>this.isValidClassName(s));s.classList.remove(...i),s.classList.add(...a)}isValidClassName(s){return s&&s.startsWith(this.options.prefix)}}export{i as default};\n//# sourceMappingURL=index.modern.js.map\n"],"names":["t","s","i","a"],"mappings":"+CAA4B,SAASA,GAAG,CAAC,OAAOA,EAAE,OAAO,OAAO,OAAO,OAAO,KAAM,EAAC,SAASC,EAAE,CAAC,QAAQD,EAAE,EAAEA,EAAE,UAAU,OAAOA,IAAI,CAAC,IAAIE,EAAE,UAAUF,CAAC,EAAE,QAAQ,KAAKE,EAAE,OAAO,UAAU,eAAe,KAAKA,EAAE,CAAC,IAAID,EAAE,CAAC,EAAEC,EAAE,CAAC,EAAE,CAAC,OAAOD,CAAC,EAAED,EAAE,MAAM,KAAK,SAAS,CAAC,CAAC,MAAME,UAAUD,CAAC,CAAC,YAAY,EAAE,CAAA,EAAG,CAAC,MAAO,EAAC,KAAK,KAAK,sBAAsB,KAAK,SAAS,CAAC,KAAK,OAAO,EAAE,KAAK,SAAS,CAAC,OAAO,EAAE,EAAE,KAAK,QAAQ,OAAO,KAAK,gBAAgBA,GAAG,CAAC,KAAK,iBAAiB,SAAS,KAAKA,EAAE,GAAG,SAAS,IAAI,CAAC,EAAE,KAAK,QAAQD,EAAE,CAAE,EAAC,KAAK,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,GAAG,kBAAkB,KAAK,eAAe,CAAC,CAAC,iBAAiB,EAAE,EAAE,CAAC,MAAME,EAAE,CAAC,GAAG,EAAE,SAAS,EAAE,OAAOD,GAAG,KAAK,iBAAiBA,CAAC,CAAC,EAAEE,EAAE,CAAC,GAAG,EAAE,SAAS,EAAE,OAAOF,GAAG,KAAK,iBAAiBA,CAAC,CAAC,EAAE,EAAE,UAAU,OAAO,GAAGC,CAAC,EAAE,EAAE,UAAU,IAAI,GAAGC,CAAC,CAAC,CAAC,iBAAiB,EAAE,CAAC,OAAO,GAAG,EAAE,WAAW,KAAK,QAAQ,MAAM,CAAC,CAAC","x_google_ignoreList":[0]} \ No newline at end of file +{"version":3,"file":"index.modern.aa8fLSdp.js","sources":["../../../../../../node_modules/@swup/body-class-plugin/dist/index.modern.js"],"sourcesContent":["import s from\"@swup/plugin\";function t(){return t=Object.assign?Object.assign.bind():function(s){for(var t=1;t=4.6\"},this.defaults={prefix:\"\"},this.options=void 0,this.updateBodyClass=s=>{this.updateClassNames(document.body,s.to.document.body)},this.options=t({},this.defaults,s)}mount(){this.on(\"content:replace\",this.updateBodyClass)}updateClassNames(s,t){const i=[...s.classList].filter(s=>this.isValidClassName(s)),a=[...t.classList].filter(s=>this.isValidClassName(s));s.classList.remove(...i),s.classList.add(...a)}isValidClassName(s){return s&&s.startsWith(this.options.prefix)}}export{i as default};\n//# sourceMappingURL=index.modern.js.map\n"],"names":["t","s","i","a"],"mappings":"+CAA4B,SAASA,GAAG,CAAC,OAAOA,EAAE,OAAO,OAAO,OAAO,OAAO,KAAM,EAAC,SAASC,EAAE,CAAC,QAAQD,EAAE,EAAEA,EAAE,UAAU,OAAOA,IAAI,CAAC,IAAIE,EAAE,UAAUF,CAAC,EAAE,QAAQ,KAAKE,EAAE,OAAO,UAAU,eAAe,KAAKA,EAAE,CAAC,IAAID,EAAE,CAAC,EAAEC,EAAE,CAAC,EAAE,CAAC,OAAOD,CAAC,EAAED,EAAE,MAAM,KAAK,SAAS,CAAC,CAAC,MAAME,UAAUD,CAAC,CAAC,YAAY,EAAE,CAAA,EAAG,CAAC,MAAO,EAAC,KAAK,KAAK,sBAAsB,KAAK,SAAS,CAAC,KAAK,OAAO,EAAE,KAAK,SAAS,CAAC,OAAO,EAAE,EAAE,KAAK,QAAQ,OAAO,KAAK,gBAAgBA,GAAG,CAAC,KAAK,iBAAiB,SAAS,KAAKA,EAAE,GAAG,SAAS,IAAI,CAAC,EAAE,KAAK,QAAQD,EAAE,CAAE,EAAC,KAAK,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,GAAG,kBAAkB,KAAK,eAAe,CAAC,CAAC,iBAAiB,EAAE,EAAE,CAAC,MAAME,EAAE,CAAC,GAAG,EAAE,SAAS,EAAE,OAAOD,GAAG,KAAK,iBAAiBA,CAAC,CAAC,EAAEE,EAAE,CAAC,GAAG,EAAE,SAAS,EAAE,OAAOF,GAAG,KAAK,iBAAiBA,CAAC,CAAC,EAAE,EAAE,UAAU,OAAO,GAAGC,CAAC,EAAE,EAAE,UAAU,IAAI,GAAGC,CAAC,CAAC,CAAC,iBAAiB,EAAE,CAAC,OAAO,GAAG,EAAE,WAAW,KAAK,QAAQ,MAAM,CAAC,CAAC","x_google_ignoreList":[0]} \ No newline at end of file diff --git a/Target/_astro/index.modern.ljjH5-f0.js.map b/Target/_astro/index.modern.ljjH5-f0.js.map index d8e52abf..8f1003f4 100644 --- a/Target/_astro/index.modern.ljjH5-f0.js.map +++ b/Target/_astro/index.modern.ljjH5-f0.js.map @@ -1 +1 @@ -{"version":3,"file":"index.modern.ljjH5-f0.js","sources":["../../../../../../node_modules/scrl/dist/index.modern.js","../../node_modules/@swup/scroll-plugin/dist/index.modern.js"],"sourcesContent":["function t(){return t=Object.assign?Object.assign.bind():function(t){for(var i=1;i{if(t&&t.nodeType)this._targetPositionY=Math.round(t.getBoundingClientRect().top+window.pageYOffset);else{if(parseInt(this._targetPositionY)!==this._targetPositionY)return void console.error(\"Argument must be a number or an element.\");this._targetPositionY=Math.round(t)}this._targetPositionY>document.documentElement.scrollHeight-window.innerHeight&&(this._targetPositionY=document.documentElement.scrollHeight-window.innerHeight),this._positionY=document.body.scrollTop||document.documentElement.scrollTop,this._direction=this._positionY>this._targetPositionY?-1:1,this._targetPositionYWithOffset=this._targetPositionY+this._direction,this._velocityY=0,this._positionY!==this._targetPositionY?(this.options.onStart(),this._animate()):this.options.onAlreadyAtPositions()},this._animate=()=>{this._update(),this._render(),1===this._direction&&this._targetPositionY>this._positionY||-1===this._direction&&this._targetPositionY{const t=this._targetPositionYWithOffset-this._positionY;return this._velocityY+=t*this.options.acceleration,this._velocityY*=this.options.friction,this._positionY+=this._velocityY,Math.abs(t)},this._render=()=>{window.scrollTo(0,this._positionY)},this.options=t({},{onAlreadyAtPositions:()=>{},onCancel:()=>{},onEnd:()=>{},onStart:()=>{},onTick:()=>{},friction:.7,acceleration:.04},i),i&&i.friction&&(this.options.friction=1-i.friction),window.addEventListener(\"mousewheel\",t=>{this._raf&&(this.options.onCancel(),cancelAnimationFrame(this._raf),this._raf=null)},{passive:!0})}}export{i as default};\n//# sourceMappingURL=index.modern.js.map\n","import t from\"@swup/plugin\";import{queryAll as o}from\"swup\";import s from\"scrl\";function e(){return e=Object.assign?Object.assign.bind():function(t){for(var o=1;o=4.2.0\"},this.scrl=void 0,this.defaults={doScrollingRightAway:!1,animateScroll:{betweenPages:!0,samePageWithHash:!0,samePage:!0},scrollFriction:.3,scrollAcceleration:.04,getAnchorElement:void 0,offset:0,scrollContainers:\"[data-swup-scroll-container]\",shouldResetScrollPosition:()=>!0,markScrollTarget:!1},this.options=void 0,this.cachedScrollPositions={},this.previousScrollRestoration=void 0,this.currentCacheKey=void 0,this.getAnchorElement=(t=\"\")=>\"function\"==typeof this.options.getAnchorElement?this.options.getAnchorElement(t):this.swup.getAnchorElement(t),this.getOffset=t=>t?\"function\"==typeof this.options.offset?parseInt(String(this.options.offset(t)),10):parseInt(String(this.options.offset),10):0,this.onBeforeLinkToSelf=t=>{t.scroll.animate=this.shouldAnimate(\"samePage\")},this.handleScrollToTop=t=>{var o,s;return null==(o=(s=this.swup).scrollTo)||o.call(s,0,t.scroll.animate),!0},this.onBeforeLinkToAnchor=t=>{t.scroll.animate=this.shouldAnimate(\"samePageWithHash\")},this.handleScrollToAnchor=(t,{hash:o})=>this.maybeScrollToAnchor(o,t.scroll.animate),this.onBeforeVisitStart=t=>{t.scroll.scrolledToContent=!1,t.scroll.animate=this.shouldAnimate(\"betweenPages\")},this.onVisitStart=t=>{var o;this.cacheScrollPositions(t.from.url),this.maybeResetScrollPositions(t);const s=null!=(o=t.scroll.target)?o:t.to.hash;t.scroll.animate&&this.options.doScrollingRightAway&&!s&&this.doScrollingBetweenPages(t)},this.handleScrollToContent=t=>{t.scroll.scrolledToContent||this.doScrollingBetweenPages(t),this.restoreScrollContainers(t.to.url)},this.doScrollingBetweenPages=t=>{var o,s;if(t.history.popstate&&!t.animation.animate)return;const e=null!=(o=t.scroll.target)?o:t.to.hash;if(e&&this.maybeScrollToAnchor(e,t.scroll.animate))return;if(!t.scroll.reset)return;const l=this.getCachedScrollPositions(t.to.url),r=(null==l||null==(s=l.window)?void 0:s.top)||0;requestAnimationFrame(()=>{var o,s;return null==(o=(s=this.swup).scrollTo)?void 0:o.call(s,r,t.scroll.animate)}),t.scroll.scrolledToContent=!0},this.maybeResetScrollPositions=t=>{const{popstate:o}=t.history,{url:s}=t.to,{el:e}=t.trigger;o||e&&!this.options.shouldResetScrollPosition(e)||this.resetScrollPositions(s)},this.options=e({},this.defaults,t)}mount(){const t=this.swup;t.hooks.create(\"scroll:start\"),t.hooks.create(\"scroll:end\");const o=this.swup.createVisit({to:this.swup.currentPageUrl});this.scrl=new s({onStart:()=>t.hooks.callSync(\"scroll:start\",o,void 0),onEnd:()=>t.hooks.callSync(\"scroll:end\",o,void 0),onCancel:()=>t.hooks.callSync(\"scroll:end\",o,void 0),friction:this.options.scrollFriction,acceleration:this.options.scrollAcceleration}),t.scrollTo=(s,e=!0)=>{e?this.scrl.scrollTo(s):(t.hooks.callSync(\"scroll:start\",o,void 0),window.scrollTo(0,s),t.hooks.callSync(\"scroll:end\",o,void 0))},this.previousScrollRestoration=window.history.scrollRestoration,t.options.animateHistoryBrowsing&&(window.history.scrollRestoration=\"manual\"),this.updateScrollTarget=this.updateScrollTarget.bind(this),this.options.markScrollTarget&&(window.addEventListener(\"popstate\",this.updateScrollTarget),window.addEventListener(\"hashchange\",this.updateScrollTarget),this.on(\"page:view\",this.updateScrollTarget),this.on(\"link:anchor\",this.updateScrollTarget),this.on(\"link:self\",this.updateScrollTarget),this.updateScrollTarget()),this.before(\"visit:start\",this.onBeforeVisitStart,{priority:-1}),this.on(\"visit:start\",this.onVisitStart,{priority:1}),this.replace(\"content:scroll\",this.handleScrollToContent),this.before(\"link:self\",this.onBeforeLinkToSelf,{priority:-1}),this.replace(\"scroll:top\",this.handleScrollToTop),this.before(\"link:anchor\",this.onBeforeLinkToAnchor,{priority:-1}),this.replace(\"scroll:anchor\",this.handleScrollToAnchor)}unmount(){super.unmount(),this.previousScrollRestoration&&(window.history.scrollRestoration=this.previousScrollRestoration),window.removeEventListener(\"popstate\",this.updateScrollTarget),window.removeEventListener(\"hashchange\",this.updateScrollTarget),this.cachedScrollPositions={},delete this.swup.scrollTo,delete this.scrl}shouldAnimate(t){return\"boolean\"==typeof this.options.animateScroll?this.options.animateScroll:this.options.animateScroll[t]}maybeScrollToAnchor(t,o=!1){var s,e;if(!t)return!1;const l=this.getAnchorElement(t);if(!l)return console.warn(`Anchor target ${t} not found`),!1;if(!(l instanceof Element))return console.warn(`Anchor target ${t} is not a DOM node`),!1;const{top:r}=l.getBoundingClientRect(),i=r+window.scrollY-this.getOffset(l);return null==(s=(e=this.swup).scrollTo)||s.call(e,i,o),!0}cacheScrollPositions(t){const s=this.swup.resolveUrl(t),e=o(this.options.scrollContainers).map(t=>({top:t.scrollTop,left:t.scrollLeft})),l={window:{top:window.scrollY,left:window.scrollX},containers:e};this.cachedScrollPositions[s]=l}resetScrollPositions(t){const o=this.swup.resolveUrl(t);delete this.cachedScrollPositions[o]}getCachedScrollPositions(t){const o=this.swup.resolveUrl(t);return this.cachedScrollPositions[o]}restoreScrollContainers(t){const s=this.getCachedScrollPositions(t);s&&0!==s.containers.length&&o(this.options.scrollContainers).forEach((t,o)=>{const e=s.containers[o];null!=e&&(t.scrollTop=e.top,t.scrollLeft=e.left)})}updateScrollTarget(){var t;const{hash:o}=window.location,s=document.querySelector(\"[data-swup-scroll-target]\");let e=this.getAnchorElement(o);e instanceof HTMLBodyElement&&(e=null),s!==e&&(null==s||s.removeAttribute(\"data-swup-scroll-target\"),null==(t=e)||t.setAttribute(\"data-swup-scroll-target\",\"\"))}}export{l as default};\n//# sourceMappingURL=index.modern.js.map\n"],"names":["t","i","o","e","s","l","r"],"mappings":"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","x_google_ignoreList":[0,1]} \ No newline at end of file +{"version":3,"file":"index.modern.ljjH5-f0.js","sources":["../../../../../../node_modules/scrl/dist/index.modern.js","../../../../../../node_modules/@swup/scroll-plugin/dist/index.modern.js"],"sourcesContent":["function t(){return t=Object.assign?Object.assign.bind():function(t){for(var i=1;i{if(t&&t.nodeType)this._targetPositionY=Math.round(t.getBoundingClientRect().top+window.pageYOffset);else{if(parseInt(this._targetPositionY)!==this._targetPositionY)return void console.error(\"Argument must be a number or an element.\");this._targetPositionY=Math.round(t)}this._targetPositionY>document.documentElement.scrollHeight-window.innerHeight&&(this._targetPositionY=document.documentElement.scrollHeight-window.innerHeight),this._positionY=document.body.scrollTop||document.documentElement.scrollTop,this._direction=this._positionY>this._targetPositionY?-1:1,this._targetPositionYWithOffset=this._targetPositionY+this._direction,this._velocityY=0,this._positionY!==this._targetPositionY?(this.options.onStart(),this._animate()):this.options.onAlreadyAtPositions()},this._animate=()=>{this._update(),this._render(),1===this._direction&&this._targetPositionY>this._positionY||-1===this._direction&&this._targetPositionY{const t=this._targetPositionYWithOffset-this._positionY;return this._velocityY+=t*this.options.acceleration,this._velocityY*=this.options.friction,this._positionY+=this._velocityY,Math.abs(t)},this._render=()=>{window.scrollTo(0,this._positionY)},this.options=t({},{onAlreadyAtPositions:()=>{},onCancel:()=>{},onEnd:()=>{},onStart:()=>{},onTick:()=>{},friction:.7,acceleration:.04},i),i&&i.friction&&(this.options.friction=1-i.friction),window.addEventListener(\"mousewheel\",t=>{this._raf&&(this.options.onCancel(),cancelAnimationFrame(this._raf),this._raf=null)},{passive:!0})}}export{i as default};\n//# sourceMappingURL=index.modern.js.map\n","import t from\"@swup/plugin\";import{queryAll as o}from\"swup\";import s from\"scrl\";function e(){return e=Object.assign?Object.assign.bind():function(t){for(var o=1;o=4.2.0\"},this.scrl=void 0,this.defaults={doScrollingRightAway:!1,animateScroll:{betweenPages:!0,samePageWithHash:!0,samePage:!0},scrollFriction:.3,scrollAcceleration:.04,getAnchorElement:void 0,offset:0,scrollContainers:\"[data-swup-scroll-container]\",shouldResetScrollPosition:()=>!0,markScrollTarget:!1},this.options=void 0,this.cachedScrollPositions={},this.previousScrollRestoration=void 0,this.currentCacheKey=void 0,this.getAnchorElement=(t=\"\")=>\"function\"==typeof this.options.getAnchorElement?this.options.getAnchorElement(t):this.swup.getAnchorElement(t),this.getOffset=t=>t?\"function\"==typeof this.options.offset?parseInt(String(this.options.offset(t)),10):parseInt(String(this.options.offset),10):0,this.onBeforeLinkToSelf=t=>{t.scroll.animate=this.shouldAnimate(\"samePage\")},this.handleScrollToTop=t=>{var o,s;return null==(o=(s=this.swup).scrollTo)||o.call(s,0,t.scroll.animate),!0},this.onBeforeLinkToAnchor=t=>{t.scroll.animate=this.shouldAnimate(\"samePageWithHash\")},this.handleScrollToAnchor=(t,{hash:o})=>this.maybeScrollToAnchor(o,t.scroll.animate),this.onBeforeVisitStart=t=>{t.scroll.scrolledToContent=!1,t.scroll.animate=this.shouldAnimate(\"betweenPages\")},this.onVisitStart=t=>{var o;this.cacheScrollPositions(t.from.url),this.maybeResetScrollPositions(t);const s=null!=(o=t.scroll.target)?o:t.to.hash;t.scroll.animate&&this.options.doScrollingRightAway&&!s&&this.doScrollingBetweenPages(t)},this.handleScrollToContent=t=>{t.scroll.scrolledToContent||this.doScrollingBetweenPages(t),this.restoreScrollContainers(t.to.url)},this.doScrollingBetweenPages=t=>{var o,s;if(t.history.popstate&&!t.animation.animate)return;const e=null!=(o=t.scroll.target)?o:t.to.hash;if(e&&this.maybeScrollToAnchor(e,t.scroll.animate))return;if(!t.scroll.reset)return;const l=this.getCachedScrollPositions(t.to.url),r=(null==l||null==(s=l.window)?void 0:s.top)||0;requestAnimationFrame(()=>{var o,s;return null==(o=(s=this.swup).scrollTo)?void 0:o.call(s,r,t.scroll.animate)}),t.scroll.scrolledToContent=!0},this.maybeResetScrollPositions=t=>{const{popstate:o}=t.history,{url:s}=t.to,{el:e}=t.trigger;o||e&&!this.options.shouldResetScrollPosition(e)||this.resetScrollPositions(s)},this.options=e({},this.defaults,t)}mount(){const t=this.swup;t.hooks.create(\"scroll:start\"),t.hooks.create(\"scroll:end\");const o=this.swup.createVisit({to:this.swup.currentPageUrl});this.scrl=new s({onStart:()=>t.hooks.callSync(\"scroll:start\",o,void 0),onEnd:()=>t.hooks.callSync(\"scroll:end\",o,void 0),onCancel:()=>t.hooks.callSync(\"scroll:end\",o,void 0),friction:this.options.scrollFriction,acceleration:this.options.scrollAcceleration}),t.scrollTo=(s,e=!0)=>{e?this.scrl.scrollTo(s):(t.hooks.callSync(\"scroll:start\",o,void 0),window.scrollTo(0,s),t.hooks.callSync(\"scroll:end\",o,void 0))},this.previousScrollRestoration=window.history.scrollRestoration,t.options.animateHistoryBrowsing&&(window.history.scrollRestoration=\"manual\"),this.updateScrollTarget=this.updateScrollTarget.bind(this),this.options.markScrollTarget&&(window.addEventListener(\"popstate\",this.updateScrollTarget),window.addEventListener(\"hashchange\",this.updateScrollTarget),this.on(\"page:view\",this.updateScrollTarget),this.on(\"link:anchor\",this.updateScrollTarget),this.on(\"link:self\",this.updateScrollTarget),this.updateScrollTarget()),this.before(\"visit:start\",this.onBeforeVisitStart,{priority:-1}),this.on(\"visit:start\",this.onVisitStart,{priority:1}),this.replace(\"content:scroll\",this.handleScrollToContent),this.before(\"link:self\",this.onBeforeLinkToSelf,{priority:-1}),this.replace(\"scroll:top\",this.handleScrollToTop),this.before(\"link:anchor\",this.onBeforeLinkToAnchor,{priority:-1}),this.replace(\"scroll:anchor\",this.handleScrollToAnchor)}unmount(){super.unmount(),this.previousScrollRestoration&&(window.history.scrollRestoration=this.previousScrollRestoration),window.removeEventListener(\"popstate\",this.updateScrollTarget),window.removeEventListener(\"hashchange\",this.updateScrollTarget),this.cachedScrollPositions={},delete this.swup.scrollTo,delete this.scrl}shouldAnimate(t){return\"boolean\"==typeof this.options.animateScroll?this.options.animateScroll:this.options.animateScroll[t]}maybeScrollToAnchor(t,o=!1){var s,e;if(!t)return!1;const l=this.getAnchorElement(t);if(!l)return console.warn(`Anchor target ${t} not found`),!1;if(!(l instanceof Element))return console.warn(`Anchor target ${t} is not a DOM node`),!1;const{top:r}=l.getBoundingClientRect(),i=r+window.scrollY-this.getOffset(l);return null==(s=(e=this.swup).scrollTo)||s.call(e,i,o),!0}cacheScrollPositions(t){const s=this.swup.resolveUrl(t),e=o(this.options.scrollContainers).map(t=>({top:t.scrollTop,left:t.scrollLeft})),l={window:{top:window.scrollY,left:window.scrollX},containers:e};this.cachedScrollPositions[s]=l}resetScrollPositions(t){const o=this.swup.resolveUrl(t);delete this.cachedScrollPositions[o]}getCachedScrollPositions(t){const o=this.swup.resolveUrl(t);return this.cachedScrollPositions[o]}restoreScrollContainers(t){const s=this.getCachedScrollPositions(t);s&&0!==s.containers.length&&o(this.options.scrollContainers).forEach((t,o)=>{const e=s.containers[o];null!=e&&(t.scrollTop=e.top,t.scrollLeft=e.left)})}updateScrollTarget(){var t;const{hash:o}=window.location,s=document.querySelector(\"[data-swup-scroll-target]\");let e=this.getAnchorElement(o);e instanceof HTMLBodyElement&&(e=null),s!==e&&(null==s||s.removeAttribute(\"data-swup-scroll-target\"),null==(t=e)||t.setAttribute(\"data-swup-scroll-target\",\"\"))}}export{l as default};\n//# sourceMappingURL=index.modern.js.map\n"],"names":["t","i","o","e","s","l","r"],"mappings":"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","x_google_ignoreList":[0,1]} \ No newline at end of file diff --git a/Target/chunks/astro/server_BFaOE388.mjs.map b/Target/chunks/astro/server_BFaOE388.mjs.map deleted file mode 100644 index edc60b19..00000000 --- a/Target/chunks/astro/server_BFaOE388.mjs.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"server_BFaOE388.mjs","sources":["../../../node_modules/astro/dist/core/errors/errors-data.js","../../../node_modules/astro/dist/core/errors/utils.js","../../../node_modules/astro/dist/core/errors/printer.js","../../../node_modules/astro/dist/core/errors/errors.js","../../../node_modules/astro/dist/runtime/server/astro-component.js","../../../node_modules/astro/dist/core/constants.js","../../../node_modules/astro/dist/runtime/server/astro-global.js","../../../node_modules/astro/dist/runtime/server/util.js","../../../node_modules/astro/dist/runtime/server/escape.js","../../../node_modules/astro/dist/runtime/server/render/instruction.js","../../../node_modules/astro/dist/runtime/server/serialize.js","../../../node_modules/astro/dist/runtime/server/hydration.js","../../../node_modules/astro/dist/runtime/server/shorthash.js","../../../node_modules/astro/dist/runtime/server/render/astro/factory.js","../../../node_modules/astro/dist/runtime/server/render/astro/head-and-content.js","../../../node_modules/astro/dist/runtime/server/astro-island.prebuilt-dev.js","../../../node_modules/astro/dist/runtime/server/astro-island.prebuilt.js","../../../node_modules/astro/dist/runtime/server/scripts.js","../../../node_modules/astro/dist/runtime/server/render/util.js","../../../node_modules/astro/dist/runtime/server/render/head.js","../../../node_modules/astro/dist/runtime/server/render/astro/render-template.js","../../../node_modules/astro/dist/runtime/server/render/slot.js","../../../node_modules/astro/dist/runtime/server/render/common.js","../../../node_modules/astro/dist/runtime/server/render/any.js","../../../node_modules/astro/dist/runtime/server/render/astro/instance.js","../../../node_modules/astro/dist/runtime/server/render/dom.js","../../../node_modules/astro/dist/runtime/server/render/server-islands.js","../../../node_modules/astro/dist/runtime/server/render/component.js","../../../node_modules/astro/dist/runtime/server/render/script.js","../../../node_modules/astro/dist/runtime/server/transition.js","../../../node_modules/astro/dist/runtime/server/index.js"],"sourcesContent":["const UnknownCompilerError = {\n name: \"UnknownCompilerError\",\n title: \"Unknown compiler error.\",\n hint: \"This is almost always a problem with the Astro compiler, not your code. Please open an issue at https://astro.build/issues/compiler.\"\n};\nconst StaticRedirectNotAvailable = {\n name: \"StaticRedirectNotAvailable\",\n title: \"`Astro.redirect` is not available in static mode.\",\n message: \"Redirects are only available when using `output: 'server'` or `output: 'hybrid'`. Update your Astro config if you need SSR features.\",\n hint: \"See https://docs.astro.build/en/guides/server-side-rendering/ for more information on how to enable SSR.\"\n};\nconst ClientAddressNotAvailable = {\n name: \"ClientAddressNotAvailable\",\n title: \"`Astro.clientAddress` is not available in current adapter.\",\n message: (adapterName) => `\\`Astro.clientAddress\\` is not available in the \\`${adapterName}\\` adapter. File an issue with the adapter to add support.`\n};\nconst PrerenderClientAddressNotAvailable = {\n name: \"PrerenderClientAddressNotAvailable\",\n title: \"`Astro.clientAddress` cannot be used inside prerendered routes.\",\n message: `\\`Astro.clientAddress\\` cannot be used inside prerendered routes`\n};\nconst StaticClientAddressNotAvailable = {\n name: \"StaticClientAddressNotAvailable\",\n title: \"`Astro.clientAddress` is not available in static mode.\",\n message: \"`Astro.clientAddress` is only available when using `output: 'server'` or `output: 'hybrid'`. Update your Astro config if you need SSR features.\",\n hint: \"See https://docs.astro.build/en/guides/server-side-rendering/ for more information on how to enable SSR.\"\n};\nconst NoMatchingStaticPathFound = {\n name: \"NoMatchingStaticPathFound\",\n title: \"No static path found for requested path.\",\n message: (pathName) => `A \\`getStaticPaths()\\` route pattern was matched, but no matching static path was found for requested path \\`${pathName}\\`.`,\n hint: (possibleRoutes) => `Possible dynamic routes being matched: ${possibleRoutes.join(\", \")}.`\n};\nconst OnlyResponseCanBeReturned = {\n name: \"OnlyResponseCanBeReturned\",\n title: \"Invalid type returned by Astro page.\",\n message: (route, returnedValue) => `Route \\`${route ? route : \"\"}\\` returned a \\`${returnedValue}\\`. Only a [Response](https://developer.mozilla.org/en-US/docs/Web/API/Response) can be returned from Astro files.`,\n hint: \"See https://docs.astro.build/en/guides/server-side-rendering/#response for more information.\"\n};\nconst MissingMediaQueryDirective = {\n name: \"MissingMediaQueryDirective\",\n title: \"Missing value for `client:media` directive.\",\n message: 'Media query not provided for `client:media` directive. A media query similar to `client:media=\"(max-width: 600px)\"` must be provided'\n};\nconst NoMatchingRenderer = {\n name: \"NoMatchingRenderer\",\n title: \"No matching renderer found.\",\n message: (componentName, componentExtension, plural, validRenderersCount) => `Unable to render \\`${componentName}\\`.\n\n${validRenderersCount > 0 ? `There ${plural ? \"are\" : \"is\"} ${validRenderersCount} renderer${plural ? \"s\" : \"\"} configured in your \\`astro.config.mjs\\` file,\nbut ${plural ? \"none were\" : \"it was not\"} able to server-side render \\`${componentName}\\`.` : `No valid renderer was found ${componentExtension ? `for the \\`.${componentExtension}\\` file extension.` : `for this file extension.`}`}`,\n hint: (probableRenderers) => `Did you mean to enable the ${probableRenderers} integration?\n\nSee https://docs.astro.build/en/guides/framework-components/ for more information on how to install and configure integrations.`\n};\nconst NoClientEntrypoint = {\n name: \"NoClientEntrypoint\",\n title: \"No client entrypoint specified in renderer.\",\n message: (componentName, clientDirective, rendererName) => `\\`${componentName}\\` component has a \\`client:${clientDirective}\\` directive, but no client entrypoint was provided by \\`${rendererName}\\`.`,\n hint: \"See https://docs.astro.build/en/reference/integrations-reference/#addrenderer-option for more information on how to configure your renderer.\"\n};\nconst NoClientOnlyHint = {\n name: \"NoClientOnlyHint\",\n title: \"Missing hint on client:only directive.\",\n message: (componentName) => `Unable to render \\`${componentName}\\`. When using the \\`client:only\\` hydration strategy, Astro needs a hint to use the correct renderer.`,\n hint: (probableRenderers) => `Did you mean to pass \\`client:only=\"${probableRenderers}\"\\`? See https://docs.astro.build/en/reference/directives-reference/#clientonly for more information on client:only`\n};\nconst InvalidGetStaticPathParam = {\n name: \"InvalidGetStaticPathParam\",\n title: \"Invalid value returned by a `getStaticPaths` path.\",\n message: (paramType) => `Invalid params given to \\`getStaticPaths\\` path. Expected an \\`object\\`, got \\`${paramType}\\``,\n hint: \"See https://docs.astro.build/en/reference/api-reference/#getstaticpaths for more information on getStaticPaths.\"\n};\nconst InvalidGetStaticPathsEntry = {\n name: \"InvalidGetStaticPathsEntry\",\n title: \"Invalid entry inside getStaticPath's return value\",\n message: (entryType) => `Invalid entry returned by getStaticPaths. Expected an object, got \\`${entryType}\\``,\n hint: \"If you're using a `.map` call, you might be looking for `.flatMap()` instead. See https://docs.astro.build/en/reference/api-reference/#getstaticpaths for more information on getStaticPaths.\"\n};\nconst InvalidGetStaticPathsReturn = {\n name: \"InvalidGetStaticPathsReturn\",\n title: \"Invalid value returned by getStaticPaths.\",\n message: (returnType) => `Invalid type returned by \\`getStaticPaths\\`. Expected an \\`array\\`, got \\`${returnType}\\``,\n hint: \"See https://docs.astro.build/en/reference/api-reference/#getstaticpaths for more information on getStaticPaths.\"\n};\nconst GetStaticPathsRemovedRSSHelper = {\n name: \"GetStaticPathsRemovedRSSHelper\",\n title: \"getStaticPaths RSS helper is not available anymore.\",\n message: \"The RSS helper has been removed from `getStaticPaths`. Try the new @astrojs/rss package instead.\",\n hint: \"See https://docs.astro.build/en/guides/rss/ for more information.\"\n};\nconst GetStaticPathsExpectedParams = {\n name: \"GetStaticPathsExpectedParams\",\n title: \"Missing params property on `getStaticPaths` route.\",\n message: \"Missing or empty required `params` property on `getStaticPaths` route.\",\n hint: \"See https://docs.astro.build/en/reference/api-reference/#getstaticpaths for more information on getStaticPaths.\"\n};\nconst GetStaticPathsInvalidRouteParam = {\n name: \"GetStaticPathsInvalidRouteParam\",\n title: \"Invalid value for `getStaticPaths` route parameter.\",\n message: (key, value, valueType) => `Invalid getStaticPaths route parameter for \\`${key}\\`. Expected undefined, a string or a number, received \\`${valueType}\\` (\\`${value}\\`)`,\n hint: \"See https://docs.astro.build/en/reference/api-reference/#getstaticpaths for more information on getStaticPaths.\"\n};\nconst GetStaticPathsRequired = {\n name: \"GetStaticPathsRequired\",\n title: \"`getStaticPaths()` function required for dynamic routes.\",\n message: \"`getStaticPaths()` function is required for dynamic routes. Make sure that you `export` a `getStaticPaths` function from your dynamic route.\",\n hint: `See https://docs.astro.build/en/guides/routing/#dynamic-routes for more information on dynamic routes.\n\nAlternatively, set \\`output: \"server\"\\` or \\`output: \"hybrid\"\\` in your Astro config file to switch to a non-static server build. This error can also occur if using \\`export const prerender = true;\\`.\nSee https://docs.astro.build/en/guides/server-side-rendering/ for more information on non-static rendering.`\n};\nconst ReservedSlotName = {\n name: \"ReservedSlotName\",\n title: \"Invalid slot name.\",\n message: (slotName) => `Unable to create a slot named \\`${slotName}\\`. \\`${slotName}\\` is a reserved slot name. Please update the name of this slot.`\n};\nconst NoAdapterInstalled = {\n name: \"NoAdapterInstalled\",\n title: \"Cannot use Server-side Rendering without an adapter.\",\n message: `Cannot use \\`output: 'server'\\` or \\`output: 'hybrid'\\` without an adapter. Please install and configure the appropriate server adapter for your final deployment.`,\n hint: \"See https://docs.astro.build/en/guides/server-side-rendering/ for more information.\"\n};\nconst NoMatchingImport = {\n name: \"NoMatchingImport\",\n title: \"No import found for component.\",\n message: (componentName) => `Could not render \\`${componentName}\\`. No matching import has been found for \\`${componentName}\\`.`,\n hint: \"Please make sure the component is properly imported.\"\n};\nconst InvalidPrerenderExport = {\n name: \"InvalidPrerenderExport\",\n title: \"Invalid prerender export.\",\n message(prefix, suffix, isHydridOutput) {\n const defaultExpectedValue = isHydridOutput ? \"false\" : \"true\";\n let msg = `A \\`prerender\\` export has been detected, but its value cannot be statically analyzed.`;\n if (prefix !== \"const\") msg += `\nExpected \\`const\\` declaration but got \\`${prefix}\\`.`;\n if (suffix !== \"true\")\n msg += `\nExpected \\`${defaultExpectedValue}\\` value but got \\`${suffix}\\`.`;\n return msg;\n },\n hint: \"Mutable values declared at runtime are not supported. Please make sure to use exactly `export const prerender = true`.\"\n};\nconst InvalidComponentArgs = {\n name: \"InvalidComponentArgs\",\n title: \"Invalid component arguments.\",\n message: (name) => `Invalid arguments passed to${name ? ` <${name}>` : \"\"} component.`,\n hint: \"Astro components cannot be rendered directly via function call, such as `Component()` or `{items.map(Component)}`.\"\n};\nconst PageNumberParamNotFound = {\n name: \"PageNumberParamNotFound\",\n title: \"Page number param not found.\",\n message: (paramName) => `[paginate()] page number param \\`${paramName}\\` not found in your filepath.`,\n hint: \"Rename your file to `[page].astro` or `[...page].astro`.\"\n};\nconst ImageMissingAlt = {\n name: \"ImageMissingAlt\",\n title: 'Image missing required \"alt\" property.',\n message: 'Image missing \"alt\" property. \"alt\" text is required to describe important images on the page.',\n hint: 'Use an empty string (\"\") for decorative images.'\n};\nconst InvalidImageService = {\n name: \"InvalidImageService\",\n title: \"Error while loading image service.\",\n message: \"There was an error loading the configured image service. Please see the stack trace for more information.\"\n};\nconst MissingImageDimension = {\n name: \"MissingImageDimension\",\n title: \"Missing image dimensions\",\n message: (missingDimension, imageURL) => `Missing ${missingDimension === \"both\" ? \"width and height attributes\" : `${missingDimension} attribute`} for ${imageURL}. When using remote images, both dimensions are required unless in order to avoid CLS.`,\n hint: \"If your image is inside your `src` folder, you probably meant to import it instead. See [the Imports guide for more information](https://docs.astro.build/en/guides/imports/#other-assets). You can also use `inferSize={true}` for remote images to get the original dimensions.\"\n};\nconst FailedToFetchRemoteImageDimensions = {\n name: \"FailedToFetchRemoteImageDimensions\",\n title: \"Failed to retrieve remote image dimensions\",\n message: (imageURL) => `Failed to get the dimensions for ${imageURL}.`,\n hint: \"Verify your remote image URL is accurate, and that you are not using `inferSize` with a file located in your `public/` folder.\"\n};\nconst UnsupportedImageFormat = {\n name: \"UnsupportedImageFormat\",\n title: \"Unsupported image format\",\n message: (format, imagePath, supportedFormats) => `Received unsupported format \\`${format}\\` from \\`${imagePath}\\`. Currently only ${supportedFormats.join(\n \", \"\n )} are supported by our image services.`,\n hint: \"Using an `img` tag directly instead of the `Image` component might be what you're looking for.\"\n};\nconst UnsupportedImageConversion = {\n name: \"UnsupportedImageConversion\",\n title: \"Unsupported image conversion\",\n message: \"Converting between vector (such as SVGs) and raster (such as PNGs and JPEGs) images is not currently supported.\"\n};\nconst PrerenderDynamicEndpointPathCollide = {\n name: \"PrerenderDynamicEndpointPathCollide\",\n title: \"Prerendered dynamic endpoint has path collision.\",\n message: (pathname) => `Could not render \\`${pathname}\\` with an \\`undefined\\` param as the generated path will collide during prerendering. Prevent passing \\`undefined\\` as \\`params\\` for the endpoint's \\`getStaticPaths()\\` function, or add an additional extension to the endpoint's filename.`,\n hint: (filename) => `Rename \\`${filename}\\` to \\`${filename.replace(/\\.(?:js|ts)/, (m) => `.json` + m)}\\``\n};\nconst ExpectedImage = {\n name: \"ExpectedImage\",\n title: \"Expected src to be an image.\",\n message: (src, typeofOptions, fullOptions) => `Expected \\`src\\` property for \\`getImage\\` or \\`\\` to be either an ESM imported image or a string with the path of a remote image. Received \\`${src}\\` (type: \\`${typeofOptions}\\`).\n\nFull serialized options received: \\`${fullOptions}\\`.`,\n hint: \"This error can often happen because of a wrong path. Make sure the path to your image is correct. If you're passing an async function, make sure to call and await it.\"\n};\nconst ExpectedImageOptions = {\n name: \"ExpectedImageOptions\",\n title: \"Expected image options.\",\n message: (options) => `Expected getImage() parameter to be an object. Received \\`${options}\\`.`\n};\nconst ExpectedNotESMImage = {\n name: \"ExpectedNotESMImage\",\n title: \"Expected image options, not an ESM-imported image.\",\n message: \"An ESM-imported image cannot be passed directly to `getImage()`. Instead, pass an object with the image in the `src` property.\",\n hint: \"Try changing `getImage(myImage)` to `getImage({ src: myImage })`\"\n};\nconst IncompatibleDescriptorOptions = {\n name: \"IncompatibleDescriptorOptions\",\n title: \"Cannot set both `densities` and `widths`\",\n message: \"Only one of `densities` or `widths` can be specified. In most cases, you'll probably want to use only `widths` if you require specific widths.\",\n hint: \"Those attributes are used to construct a `srcset` attribute, which cannot have both `x` and `w` descriptors.\"\n};\nconst ImageNotFound = {\n name: \"ImageNotFound\",\n title: \"Image not found.\",\n message: (imagePath) => `Could not find requested image \\`${imagePath}\\`. Does it exist?`,\n hint: \"This is often caused by a typo in the image path. Please make sure the file exists, and is spelled correctly.\"\n};\nconst NoImageMetadata = {\n name: \"NoImageMetadata\",\n title: \"Could not process image metadata.\",\n message: (imagePath) => `Could not process image metadata${imagePath ? ` for \\`${imagePath}\\`` : \"\"}.`,\n hint: \"This is often caused by a corrupted or malformed image. Re-exporting the image from your image editor may fix this issue.\"\n};\nconst MarkdownImageNotFound = {\n name: \"MarkdownImageNotFound\",\n title: \"Image not found.\",\n message: (imagePath, fullImagePath) => `Could not find requested image \\`${imagePath}\\`${fullImagePath ? ` at \\`${fullImagePath}\\`.` : \".\"}`,\n hint: \"This is often caused by a typo in the image path. Please make sure the file exists, and is spelled correctly.\"\n};\nconst CouldNotTransformImage = {\n name: \"CouldNotTransformImage\",\n title: \"Could not transform image.\",\n message: (imagePath) => `Could not transform image \\`${imagePath}\\`. See the stack trace for more information.`,\n hint: \"This is often caused by a corrupted or malformed image. Re-exporting the image from your image editor may fix this issue.\"\n};\nconst ResponseSentError = {\n name: \"ResponseSentError\",\n title: \"Unable to set response.\",\n message: \"The response has already been sent to the browser and cannot be altered.\"\n};\nconst MiddlewareNoDataOrNextCalled = {\n name: \"MiddlewareNoDataOrNextCalled\",\n title: \"The middleware didn't return a `Response`.\",\n message: \"Make sure your middleware returns a `Response` object, either directly or by returning the `Response` from calling the `next` function.\"\n};\nconst MiddlewareNotAResponse = {\n name: \"MiddlewareNotAResponse\",\n title: \"The middleware returned something that is not a `Response` object.\",\n message: \"Any data returned from middleware must be a valid `Response` object.\"\n};\nconst EndpointDidNotReturnAResponse = {\n name: \"EndpointDidNotReturnAResponse\",\n title: \"The endpoint did not return a `Response`.\",\n message: \"An endpoint must return either a `Response`, or a `Promise` that resolves with a `Response`.\"\n};\nconst LocalsNotAnObject = {\n name: \"LocalsNotAnObject\",\n title: \"Value assigned to `locals` is not accepted.\",\n message: \"`locals` can only be assigned to an object. Other values like numbers, strings, etc. are not accepted.\",\n hint: \"If you tried to remove some information from the `locals` object, try to use `delete` or set the property to `undefined`.\"\n};\nconst AstroResponseHeadersReassigned = {\n name: \"AstroResponseHeadersReassigned\",\n title: \"`Astro.response.headers` must not be reassigned.\",\n message: \"Individual headers can be added to and removed from `Astro.response.headers`, but it must not be replaced with another instance of `Headers` altogether.\",\n hint: \"Consider using `Astro.response.headers.add()`, and `Astro.response.headers.delete()`.\"\n};\nconst MiddlewareCantBeLoaded = {\n name: \"MiddlewareCantBeLoaded\",\n title: \"Can't load the middleware.\",\n message: \"An unknown error was thrown while loading your middleware.\"\n};\nconst LocalImageUsedWrongly = {\n name: \"LocalImageUsedWrongly\",\n title: \"Local images must be imported.\",\n message: (imageFilePath) => `\\`Image\\`'s and \\`getImage\\`'s \\`src\\` parameter must be an imported image or an URL, it cannot be a string filepath. Received \\`${imageFilePath}\\`.`,\n hint: \"If you want to use an image from your `src` folder, you need to either import it or if the image is coming from a content collection, use the [image() schema helper](https://docs.astro.build/en/guides/images/#images-in-content-collections). See https://docs.astro.build/en/guides/images/#src-required for more information on the `src` property.\"\n};\nconst AstroGlobUsedOutside = {\n name: \"AstroGlobUsedOutside\",\n title: \"Astro.glob() used outside of an Astro file.\",\n message: (globStr) => `\\`Astro.glob(${globStr})\\` can only be used in \\`.astro\\` files. \\`import.meta.glob(${globStr})\\` can be used instead to achieve a similar result.`,\n hint: \"See Vite's documentation on `import.meta.glob` for more information: https://vitejs.dev/guide/features.html#glob-import\"\n};\nconst AstroGlobNoMatch = {\n name: \"AstroGlobNoMatch\",\n title: \"Astro.glob() did not match any files.\",\n message: (globStr) => `\\`Astro.glob(${globStr})\\` did not return any matching files.`,\n hint: \"Check the pattern for typos.\"\n};\nconst RedirectWithNoLocation = {\n name: \"RedirectWithNoLocation\",\n title: \"A redirect must be given a location with the `Location` header.\"\n};\nconst InvalidDynamicRoute = {\n name: \"InvalidDynamicRoute\",\n title: \"Invalid dynamic route.\",\n message: (route, invalidParam, received) => `The ${invalidParam} param for route ${route} is invalid. Received **${received}**.`\n};\nconst MissingSharp = {\n name: \"MissingSharp\",\n title: \"Could not find Sharp.\",\n message: \"Could not find Sharp. Please install Sharp (`sharp`) manually into your project or migrate to another image service.\",\n hint: \"See Sharp's installation instructions for more information: https://sharp.pixelplumbing.com/install. If you are not relying on `astro:assets` to optimize, transform, or process any images, you can configure a passthrough image service instead of installing Sharp. See https://docs.astro.build/en/reference/errors/missing-sharp for more information.\\n\\nSee https://docs.astro.build/en/guides/images/#default-image-service for more information on how to migrate to another image service.\"\n};\nconst UnknownViteError = {\n name: \"UnknownViteError\",\n title: \"Unknown Vite Error.\"\n};\nconst FailedToLoadModuleSSR = {\n name: \"FailedToLoadModuleSSR\",\n title: \"Could not import file.\",\n message: (importName) => `Could not import \\`${importName}\\`.`,\n hint: \"This is often caused by a typo in the import path. Please make sure the file exists.\"\n};\nconst InvalidGlob = {\n name: \"InvalidGlob\",\n title: \"Invalid glob pattern.\",\n message: (globPattern) => `Invalid glob pattern: \\`${globPattern}\\`. Glob patterns must start with './', '../' or '/'.`,\n hint: \"See https://docs.astro.build/en/guides/imports/#glob-patterns for more information on supported glob patterns.\"\n};\nconst FailedToFindPageMapSSR = {\n name: \"FailedToFindPageMapSSR\",\n title: \"Astro couldn't find the correct page to render\",\n message: \"Astro couldn't find the correct page to render, probably because it wasn't correctly mapped for SSR usage. This is an internal error. Please file an issue.\"\n};\nconst MissingLocale = {\n name: \"MissingLocaleError\",\n title: \"The provided locale does not exist.\",\n message: (locale) => `The locale/path \\`${locale}\\` does not exist in the configured \\`i18n.locales\\`.`\n};\nconst MissingIndexForInternationalization = {\n name: \"MissingIndexForInternationalizationError\",\n title: \"Index page not found.\",\n message: (defaultLocale) => `Could not find index page. A root index page is required in order to create a redirect to the index URL of the default locale. (\\`/${defaultLocale}\\`)`,\n hint: (src) => `Create an index page (\\`index.astro, index.md, etc.\\`) in \\`${src}\\`.`\n};\nconst IncorrectStrategyForI18n = {\n name: \"IncorrectStrategyForI18n\",\n title: \"You can't use the current function with the current strategy\",\n message: (functionName) => `The function \\`${functionName}\\` can only be used when the \\`i18n.routing.strategy\\` is set to \\`\"manual\"\\`.`\n};\nconst NoPrerenderedRoutesWithDomains = {\n name: \"NoPrerenderedRoutesWithDomains\",\n title: \"Prerendered routes aren't supported when internationalization domains are enabled.\",\n message: (component) => `Static pages aren't yet supported with multiple domains. To enable this feature, you must disable prerendering for the page ${component}`\n};\nconst MissingMiddlewareForInternationalization = {\n name: \"MissingMiddlewareForInternationalization\",\n title: \"Enabled manual internationalization routing without having a middleware.\",\n message: \"Your configuration setting `i18n.routing: 'manual'` requires you to provide your own i18n `middleware` file.\"\n};\nconst RewriteEncounteredAnError = {\n name: \"RewriteEncounteredAnError\",\n title: \"Astro couldn't find the route to rewrite, or if was found but it emitted an error during the rendering phase.\",\n message: (route, stack) => `The route ${route} that you tried to render doesn't exist, or it emitted an error during the rendering phase. ${stack ? stack : \"\"}.`\n};\nconst CantRenderPage = {\n name: \"CantRenderPage\",\n title: \"Astro can't render the route.\",\n message: \"Astro cannot find any content to render for this route. There is no file or redirect associated with this route.\",\n hint: \"If you expect to find a route here, this may be an Astro bug. Please file an issue/restart the dev server\"\n};\nconst UnhandledRejection = {\n name: \"UnhandledRejection\",\n title: \"Unhandled rejection\",\n message: (stack) => `Astro detected an unhandled rejection. Here's the stack trace:\n${stack}`,\n hint: \"Make sure your promises all have an `await` or a `.catch()` handler.\"\n};\nconst i18nNotEnabled = {\n name: \"i18nNotEnabled\",\n title: \"i18n Not Enabled\",\n message: \"The `astro:i18n` module can not be used without enabling i18n in your Astro config.\",\n hint: \"See https://docs.astro.build/en/guides/internationalization for a guide on setting up i18n.\"\n};\nconst i18nNoLocaleFoundInPath = {\n name: \"i18nNoLocaleFoundInPath\",\n title: \"The path doesn't contain any locale\",\n message: \"You tried to use an i18n utility on a path that doesn't contain any locale. You can use `pathHasLocale` first to determine if the path has a locale.\"\n};\nconst RouteNotFound = {\n name: \"RouteNotFound\",\n title: \"Route not found.\",\n message: `Astro could not find a route that matches the one you requested.`\n};\nconst EnvInvalidVariables = {\n name: \"EnvInvalidVariables\",\n title: \"Invalid Environment Variables\",\n message: (errors) => `The following environment variables defined in \\`experimental.env.schema\\` are invalid:\n\n${errors.map((err) => `- ${err}`).join(\"\\n\")}\n`\n};\nconst EnvUnsupportedGetSecret = {\n name: \"EnvUnsupportedGetSecret\",\n title: \"Unsupported astro:env getSecret\",\n message: \"`astro:env/server` exported function `getSecret` is not supported by your adapter.\"\n};\nconst ServerOnlyModule = {\n name: \"ServerOnlyModule\",\n title: \"Module is only available server-side\",\n message: (name) => `The \"${name}\" module is only available server-side.`\n};\nconst RewriteWithBodyUsed = {\n name: \"RewriteWithBodyUsed\",\n title: \"Cannot use Astro.rewrite after the request body has been read\",\n message: \"Astro.rewrite() cannot be used if the request body has already been read. If you need to read the body, first clone the request.\"\n};\nconst UnknownCSSError = {\n name: \"UnknownCSSError\",\n title: \"Unknown CSS Error.\"\n};\nconst CSSSyntaxError = {\n name: \"CSSSyntaxError\",\n title: \"CSS Syntax Error.\"\n};\nconst UnknownMarkdownError = {\n name: \"UnknownMarkdownError\",\n title: \"Unknown Markdown Error.\"\n};\nconst MarkdownFrontmatterParseError = {\n name: \"MarkdownFrontmatterParseError\",\n title: \"Failed to parse Markdown frontmatter.\"\n};\nconst InvalidFrontmatterInjectionError = {\n name: \"InvalidFrontmatterInjectionError\",\n title: \"Invalid frontmatter injection.\",\n message: 'A remark or rehype plugin attempted to inject invalid frontmatter. Ensure \"astro.frontmatter\" is set to a valid JSON object that is not `null` or `undefined`.',\n hint: \"See the frontmatter injection docs https://docs.astro.build/en/guides/markdown-content/#modifying-frontmatter-programmatically for more information.\"\n};\nconst MdxIntegrationMissingError = {\n name: \"MdxIntegrationMissingError\",\n title: \"MDX integration missing.\",\n message: (file) => `Unable to render ${file}. Ensure that the \\`@astrojs/mdx\\` integration is installed.`,\n hint: \"See the MDX integration docs for installation and usage instructions: https://docs.astro.build/en/guides/integrations-guide/mdx/\"\n};\nconst UnknownConfigError = {\n name: \"UnknownConfigError\",\n title: \"Unknown configuration error.\"\n};\nconst ConfigNotFound = {\n name: \"ConfigNotFound\",\n title: \"Specified configuration file not found.\",\n message: (configFile) => `Unable to resolve \\`--config \"${configFile}\"\\`. Does the file exist?`\n};\nconst ConfigLegacyKey = {\n name: \"ConfigLegacyKey\",\n title: \"Legacy configuration detected.\",\n message: (legacyConfigKey) => `Legacy configuration detected: \\`${legacyConfigKey}\\`.`,\n hint: \"Please update your configuration to the new format.\\nSee https://astro.build/config for more information.\"\n};\nconst UnknownCLIError = {\n name: \"UnknownCLIError\",\n title: \"Unknown CLI Error.\"\n};\nconst GenerateContentTypesError = {\n name: \"GenerateContentTypesError\",\n title: \"Failed to generate content types.\",\n message: (errorMessage) => `\\`astro sync\\` command failed to generate content collection types: ${errorMessage}`,\n hint: \"Check your `src/content/config.*` file for typos.\"\n};\nconst UnknownContentCollectionError = {\n name: \"UnknownContentCollectionError\",\n title: \"Unknown Content Collection Error.\"\n};\nconst InvalidContentEntryFrontmatterError = {\n name: \"InvalidContentEntryFrontmatterError\",\n title: \"Content entry frontmatter does not match schema.\",\n message(collection, entryId, error) {\n return [\n `**${String(collection)} \\u2192 ${String(\n entryId\n )}** frontmatter does not match collection schema.`,\n ...error.errors.map((zodError) => zodError.message)\n ].join(\"\\n\");\n },\n hint: \"See https://docs.astro.build/en/guides/content-collections/ for more information on content schemas.\"\n};\nconst InvalidContentEntrySlugError = {\n name: \"InvalidContentEntrySlugError\",\n title: \"Invalid content entry slug.\",\n message(collection, entryId) {\n return `${String(collection)} \\u2192 ${String(\n entryId\n )} has an invalid slug. \\`slug\\` must be a string.`;\n },\n hint: \"See https://docs.astro.build/en/guides/content-collections/ for more on the `slug` field.\"\n};\nconst ContentSchemaContainsSlugError = {\n name: \"ContentSchemaContainsSlugError\",\n title: \"Content Schema should not contain `slug`.\",\n message: (collectionName) => `A content collection schema should not contain \\`slug\\` since it is reserved for slug generation. Remove this from your ${collectionName} collection schema.`,\n hint: \"See https://docs.astro.build/en/guides/content-collections/ for more on the `slug` field.\"\n};\nconst CollectionDoesNotExistError = {\n name: \"CollectionDoesNotExistError\",\n title: \"Collection does not exist\",\n message: (collectionName) => `The collection **${collectionName}** does not exist. Ensure a collection directory with this name exists.`,\n hint: \"See https://docs.astro.build/en/guides/content-collections/ for more on creating collections.\"\n};\nconst MixedContentDataCollectionError = {\n name: \"MixedContentDataCollectionError\",\n title: \"Content and data cannot be in same collection.\",\n message: (collectionName) => `**${collectionName}** contains a mix of content and data entries. All entries must be of the same type.`,\n hint: \"Store data entries in a new collection separate from your content collection.\"\n};\nconst ContentCollectionTypeMismatchError = {\n name: \"ContentCollectionTypeMismatchError\",\n title: \"Collection contains entries of a different type.\",\n message: (collection, expectedType, actualType) => `${collection} contains ${expectedType} entries, but is configured as a ${actualType} collection.`\n};\nconst DataCollectionEntryParseError = {\n name: \"DataCollectionEntryParseError\",\n title: \"Data collection entry failed to parse.\",\n message(entryId, errorMessage) {\n return `**${entryId}** failed to parse: ${errorMessage}`;\n },\n hint: \"Ensure your data entry is an object with valid JSON (for `.json` entries) or YAML (for `.yaml` entries).\"\n};\nconst DuplicateContentEntrySlugError = {\n name: \"DuplicateContentEntrySlugError\",\n title: \"Duplicate content entry slug.\",\n message(collection, slug, preExisting, alsoFound) {\n return `**${collection}** contains multiple entries with the same slug: \\`${slug}\\`. Slugs must be unique.\n\nEntries: \n- ${preExisting}\n- ${alsoFound}`;\n }\n};\nconst ActionsWithoutServerOutputError = {\n name: \"ActionsWithoutServerOutputError\",\n title: \"Actions must be used with server output.\",\n message: \"Actions enabled without setting a server build output. A server is required to create callable backend functions. To deploy routes to a server, add a server adapter to your astro config.\",\n hint: \"Learn about on-demand rendering: https://docs.astro.build/en/basics/rendering-modes/#on-demand-rendered\"\n};\nconst UnsupportedConfigTransformError = {\n name: \"UnsupportedConfigTransformError\",\n title: \"Unsupported transform in content config.\",\n message: (parseError) => `\\`transform()\\` functions in your content config must return valid JSON, or data types compatible with the devalue library (including Dates, Maps, and Sets).\nFull error: ${parseError}`,\n hint: \"See the devalue library for all supported types: https://github.com/rich-harris/devalue\"\n};\nconst UnknownError = { name: \"UnknownError\", title: \"Unknown Error.\" };\nexport {\n ActionsWithoutServerOutputError,\n AstroGlobNoMatch,\n AstroGlobUsedOutside,\n AstroResponseHeadersReassigned,\n CSSSyntaxError,\n CantRenderPage,\n ClientAddressNotAvailable,\n CollectionDoesNotExistError,\n ConfigLegacyKey,\n ConfigNotFound,\n ContentCollectionTypeMismatchError,\n ContentSchemaContainsSlugError,\n CouldNotTransformImage,\n DataCollectionEntryParseError,\n DuplicateContentEntrySlugError,\n EndpointDidNotReturnAResponse,\n EnvInvalidVariables,\n EnvUnsupportedGetSecret,\n ExpectedImage,\n ExpectedImageOptions,\n ExpectedNotESMImage,\n FailedToFetchRemoteImageDimensions,\n FailedToFindPageMapSSR,\n FailedToLoadModuleSSR,\n GenerateContentTypesError,\n GetStaticPathsExpectedParams,\n GetStaticPathsInvalidRouteParam,\n GetStaticPathsRemovedRSSHelper,\n GetStaticPathsRequired,\n ImageMissingAlt,\n ImageNotFound,\n IncompatibleDescriptorOptions,\n IncorrectStrategyForI18n,\n InvalidComponentArgs,\n InvalidContentEntryFrontmatterError,\n InvalidContentEntrySlugError,\n InvalidDynamicRoute,\n InvalidFrontmatterInjectionError,\n InvalidGetStaticPathParam,\n InvalidGetStaticPathsEntry,\n InvalidGetStaticPathsReturn,\n InvalidGlob,\n InvalidImageService,\n InvalidPrerenderExport,\n LocalImageUsedWrongly,\n LocalsNotAnObject,\n MarkdownFrontmatterParseError,\n MarkdownImageNotFound,\n MdxIntegrationMissingError,\n MiddlewareCantBeLoaded,\n MiddlewareNoDataOrNextCalled,\n MiddlewareNotAResponse,\n MissingImageDimension,\n MissingIndexForInternationalization,\n MissingLocale,\n MissingMediaQueryDirective,\n MissingMiddlewareForInternationalization,\n MissingSharp,\n MixedContentDataCollectionError,\n NoAdapterInstalled,\n NoClientEntrypoint,\n NoClientOnlyHint,\n NoImageMetadata,\n NoMatchingImport,\n NoMatchingRenderer,\n NoMatchingStaticPathFound,\n NoPrerenderedRoutesWithDomains,\n OnlyResponseCanBeReturned,\n PageNumberParamNotFound,\n PrerenderClientAddressNotAvailable,\n PrerenderDynamicEndpointPathCollide,\n RedirectWithNoLocation,\n ReservedSlotName,\n ResponseSentError,\n RewriteEncounteredAnError,\n RewriteWithBodyUsed,\n RouteNotFound,\n ServerOnlyModule,\n StaticClientAddressNotAvailable,\n StaticRedirectNotAvailable,\n UnhandledRejection,\n UnknownCLIError,\n UnknownCSSError,\n UnknownCompilerError,\n UnknownConfigError,\n UnknownContentCollectionError,\n UnknownError,\n UnknownMarkdownError,\n UnknownViteError,\n UnsupportedConfigTransformError,\n UnsupportedImageConversion,\n UnsupportedImageFormat,\n i18nNoLocaleFoundInPath,\n i18nNotEnabled\n};\n","function positionAt(offset, text) {\n const lineOffsets = getLineOffsets(text);\n offset = Math.max(0, Math.min(text.length, offset));\n let low = 0;\n let high = lineOffsets.length;\n if (high === 0) {\n return {\n line: 0,\n column: offset\n };\n }\n while (low <= high) {\n const mid = Math.floor((low + high) / 2);\n const lineOffset = lineOffsets[mid];\n if (lineOffset === offset) {\n return {\n line: mid,\n column: 0\n };\n } else if (offset > lineOffset) {\n low = mid + 1;\n } else {\n high = mid - 1;\n }\n }\n const line = low - 1;\n return { line, column: offset - lineOffsets[line] };\n}\nfunction getLineOffsets(text) {\n const lineOffsets = [];\n let isLineStart = true;\n for (let i = 0; i < text.length; i++) {\n if (isLineStart) {\n lineOffsets.push(i);\n isLineStart = false;\n }\n const ch = text.charAt(i);\n isLineStart = ch === \"\\r\" || ch === \"\\n\";\n if (ch === \"\\r\" && i + 1 < text.length && text.charAt(i + 1) === \"\\n\") {\n i++;\n }\n }\n if (isLineStart && text.length > 0) {\n lineOffsets.push(text.length);\n }\n return lineOffsets;\n}\nfunction isYAMLException(err) {\n return err instanceof Error && err.name === \"YAMLException\";\n}\nfunction formatYAMLException(e) {\n return {\n name: e.name,\n id: e.mark.name,\n loc: { file: e.mark.name, line: e.mark.line + 1, column: e.mark.column },\n message: e.reason,\n stack: e.stack ?? \"\"\n };\n}\nfunction createSafeError(err) {\n if (err instanceof Error || err?.name && err.message) {\n return err;\n } else {\n const error = new Error(JSON.stringify(err));\n error.hint = `To get as much information as possible from your errors, make sure to throw Error objects instead of \\`${typeof err}\\`. See https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Error for more information.`;\n return error;\n }\n}\nfunction normalizeLF(code) {\n return code.replace(/\\r\\n|\\r(?!\\n)|\\n/g, \"\\n\");\n}\nexport {\n createSafeError,\n formatYAMLException,\n isYAMLException,\n normalizeLF,\n positionAt\n};\n","import { normalizeLF } from \"./utils.js\";\nfunction codeFrame(src, loc) {\n if (!loc || loc.line === void 0 || loc.column === void 0) {\n return \"\";\n }\n const lines = normalizeLF(src).split(\"\\n\").map((ln) => ln.replace(/\\t/g, \" \"));\n const visibleLines = [];\n for (let n = -2; n <= 2; n++) {\n if (lines[loc.line + n]) visibleLines.push(loc.line + n);\n }\n let gutterWidth = 0;\n for (const lineNo of visibleLines) {\n let w = `> ${lineNo}`;\n if (w.length > gutterWidth) gutterWidth = w.length;\n }\n let output = \"\";\n for (const lineNo of visibleLines) {\n const isFocusedLine = lineNo === loc.line - 1;\n output += isFocusedLine ? \"> \" : \" \";\n output += `${lineNo + 1} | ${lines[lineNo]}\n`;\n if (isFocusedLine)\n output += `${Array.from({ length: gutterWidth }).join(\" \")} | ${Array.from({\n length: loc.column\n }).join(\" \")}^\n`;\n }\n return output;\n}\nexport {\n codeFrame\n};\n","import { codeFrame } from \"./printer.js\";\nfunction isAstroError(e) {\n return e instanceof AstroError;\n}\nclass AstroError extends Error {\n loc;\n title;\n hint;\n frame;\n type = \"AstroError\";\n constructor(props, options) {\n const { name, title, message, stack, location, hint, frame } = props;\n super(message, options);\n this.title = title;\n this.name = name;\n if (message) this.message = message;\n this.stack = stack ? stack : this.stack;\n this.loc = location;\n this.hint = hint;\n this.frame = frame;\n }\n setLocation(location) {\n this.loc = location;\n }\n setName(name) {\n this.name = name;\n }\n setMessage(message) {\n this.message = message;\n }\n setHint(hint) {\n this.hint = hint;\n }\n setFrame(source, location) {\n this.frame = codeFrame(source, location);\n }\n static is(err) {\n return err.type === \"AstroError\";\n }\n}\nclass CompilerError extends AstroError {\n type = \"CompilerError\";\n constructor(props, options) {\n super(props, options);\n }\n static is(err) {\n return err.type === \"CompilerError\";\n }\n}\nclass CSSError extends AstroError {\n type = \"CSSError\";\n static is(err) {\n return err.type === \"CSSError\";\n }\n}\nclass MarkdownError extends AstroError {\n type = \"MarkdownError\";\n static is(err) {\n return err.type === \"MarkdownError\";\n }\n}\nclass InternalError extends AstroError {\n type = \"InternalError\";\n static is(err) {\n return err.type === \"InternalError\";\n }\n}\nclass AggregateError extends AstroError {\n type = \"AggregateError\";\n errors;\n // Despite being a collection of errors, AggregateError still needs to have a main error attached to it\n // This is because Vite expects every thrown errors handled during HMR to be, well, Error and have a message\n constructor(props, options) {\n super(props, options);\n this.errors = props.errors;\n }\n static is(err) {\n return err.type === \"AggregateError\";\n }\n}\nconst astroConfigZodErrors = /* @__PURE__ */ new WeakSet();\nfunction isAstroConfigZodError(error) {\n return astroConfigZodErrors.has(error);\n}\nfunction trackAstroConfigZodError(error) {\n astroConfigZodErrors.add(error);\n}\nclass AstroUserError extends Error {\n type = \"AstroUserError\";\n /**\n * A message that explains to the user how they can fix the error.\n */\n hint;\n name = \"AstroUserError\";\n constructor(message, hint) {\n super();\n this.message = message;\n this.hint = hint;\n }\n static is(err) {\n return err.type === \"AstroUserError\";\n }\n}\nexport {\n AggregateError,\n AstroError,\n AstroUserError,\n CSSError,\n CompilerError,\n InternalError,\n MarkdownError,\n isAstroConfigZodError,\n isAstroError,\n trackAstroConfigZodError\n};\n","import { AstroError, AstroErrorData } from \"../../core/errors/index.js\";\nfunction validateArgs(args) {\n if (args.length !== 3) return false;\n if (!args[0] || typeof args[0] !== \"object\") return false;\n return true;\n}\nfunction baseCreateComponent(cb, moduleId, propagation) {\n const name = moduleId?.split(\"/\").pop()?.replace(\".astro\", \"\") ?? \"\";\n const fn = (...args) => {\n if (!validateArgs(args)) {\n throw new AstroError({\n ...AstroErrorData.InvalidComponentArgs,\n message: AstroErrorData.InvalidComponentArgs.message(name)\n });\n }\n return cb(...args);\n };\n Object.defineProperty(fn, \"name\", { value: name, writable: false });\n fn.isAstroComponentFactory = true;\n fn.moduleId = moduleId;\n fn.propagation = propagation;\n return fn;\n}\nfunction createComponentWithOptions(opts) {\n const cb = baseCreateComponent(opts.factory, opts.moduleId, opts.propagation);\n return cb;\n}\nfunction createComponent(arg1, moduleId, propagation) {\n if (typeof arg1 === \"function\") {\n return baseCreateComponent(arg1, moduleId, propagation);\n } else {\n return createComponentWithOptions(arg1);\n }\n}\nexport {\n createComponent\n};\n","const ASTRO_VERSION = \"4.12.2\";\nconst REROUTE_DIRECTIVE_HEADER = \"X-Astro-Reroute\";\nconst REWRITE_DIRECTIVE_HEADER_KEY = \"X-Astro-Rewrite\";\nconst REWRITE_DIRECTIVE_HEADER_VALUE = \"yes\";\nconst ROUTE_TYPE_HEADER = \"X-Astro-Route-Type\";\nconst DEFAULT_404_COMPONENT = \"astro-default-404.astro\";\nconst DEFAULT_500_COMPONENT = \"astro-default-500.astro\";\nconst REROUTABLE_STATUS_CODES = [404, 500];\nconst clientAddressSymbol = Symbol.for(\"astro.clientAddress\");\nconst clientLocalsSymbol = Symbol.for(\"astro.locals\");\nconst responseSentSymbol = Symbol.for(\"astro.responseSent\");\nconst SUPPORTED_MARKDOWN_FILE_EXTENSIONS = [\n \".markdown\",\n \".mdown\",\n \".mkdn\",\n \".mkd\",\n \".mdwn\",\n \".md\"\n];\nconst MIDDLEWARE_PATH_SEGMENT_NAME = \"middleware\";\nexport {\n ASTRO_VERSION,\n DEFAULT_404_COMPONENT,\n DEFAULT_500_COMPONENT,\n MIDDLEWARE_PATH_SEGMENT_NAME,\n REROUTABLE_STATUS_CODES,\n REROUTE_DIRECTIVE_HEADER,\n REWRITE_DIRECTIVE_HEADER_KEY,\n REWRITE_DIRECTIVE_HEADER_VALUE,\n ROUTE_TYPE_HEADER,\n SUPPORTED_MARKDOWN_FILE_EXTENSIONS,\n clientAddressSymbol,\n clientLocalsSymbol,\n responseSentSymbol\n};\n","import { ASTRO_VERSION } from \"../../core/constants.js\";\nimport { AstroError, AstroErrorData } from \"../../core/errors/index.js\";\nfunction createAstroGlobFn() {\n const globHandler = (importMetaGlobResult) => {\n if (typeof importMetaGlobResult === \"string\") {\n throw new AstroError({\n ...AstroErrorData.AstroGlobUsedOutside,\n message: AstroErrorData.AstroGlobUsedOutside.message(JSON.stringify(importMetaGlobResult))\n });\n }\n let allEntries = [...Object.values(importMetaGlobResult)];\n if (allEntries.length === 0) {\n throw new AstroError({\n ...AstroErrorData.AstroGlobNoMatch,\n message: AstroErrorData.AstroGlobNoMatch.message(JSON.stringify(importMetaGlobResult))\n });\n }\n return Promise.all(allEntries.map((fn) => fn()));\n };\n return globHandler;\n}\nfunction createAstro(site) {\n return {\n // TODO: this is no longer necessary for `Astro.site`\n // but it somehow allows working around caching issues in content collections for some tests\n site: site ? new URL(site) : void 0,\n generator: `Astro v${ASTRO_VERSION}`,\n glob: createAstroGlobFn()\n };\n}\nexport {\n createAstro\n};\n","function isPromise(value) {\n return !!value && typeof value === \"object\" && \"then\" in value && typeof value.then === \"function\";\n}\nasync function* streamAsyncIterator(stream) {\n const reader = stream.getReader();\n try {\n while (true) {\n const { done, value } = await reader.read();\n if (done) return;\n yield value;\n }\n } finally {\n reader.releaseLock();\n }\n}\nexport {\n isPromise,\n streamAsyncIterator\n};\n","import { escape } from \"html-escaper\";\nimport { streamAsyncIterator } from \"./util.js\";\nconst escapeHTML = escape;\nclass HTMLBytes extends Uint8Array {\n}\nObject.defineProperty(HTMLBytes.prototype, Symbol.toStringTag, {\n get() {\n return \"HTMLBytes\";\n }\n});\nclass HTMLString extends String {\n get [Symbol.toStringTag]() {\n return \"HTMLString\";\n }\n}\nconst markHTMLString = (value) => {\n if (value instanceof HTMLString) {\n return value;\n }\n if (typeof value === \"string\") {\n return new HTMLString(value);\n }\n return value;\n};\nfunction isHTMLString(value) {\n return Object.prototype.toString.call(value) === \"[object HTMLString]\";\n}\nfunction markHTMLBytes(bytes) {\n return new HTMLBytes(bytes);\n}\nfunction isHTMLBytes(value) {\n return Object.prototype.toString.call(value) === \"[object HTMLBytes]\";\n}\nfunction hasGetReader(obj) {\n return typeof obj.getReader === \"function\";\n}\nasync function* unescapeChunksAsync(iterable) {\n if (hasGetReader(iterable)) {\n for await (const chunk of streamAsyncIterator(iterable)) {\n yield unescapeHTML(chunk);\n }\n } else {\n for await (const chunk of iterable) {\n yield unescapeHTML(chunk);\n }\n }\n}\nfunction* unescapeChunks(iterable) {\n for (const chunk of iterable) {\n yield unescapeHTML(chunk);\n }\n}\nfunction unescapeHTML(str) {\n if (!!str && typeof str === \"object\") {\n if (str instanceof Uint8Array) {\n return markHTMLBytes(str);\n } else if (str instanceof Response && str.body) {\n const body = str.body;\n return unescapeChunksAsync(body);\n } else if (typeof str.then === \"function\") {\n return Promise.resolve(str).then((value) => {\n return unescapeHTML(value);\n });\n } else if (str[Symbol.for(\"astro:slot-string\")]) {\n return str;\n } else if (Symbol.iterator in str) {\n return unescapeChunks(str);\n } else if (Symbol.asyncIterator in str || hasGetReader(str)) {\n return unescapeChunksAsync(str);\n }\n }\n return markHTMLString(str);\n}\nexport {\n HTMLBytes,\n HTMLString,\n escapeHTML,\n isHTMLBytes,\n isHTMLString,\n markHTMLString,\n unescapeHTML\n};\n","const RenderInstructionSymbol = Symbol.for(\"astro:render\");\nfunction createRenderInstruction(instruction) {\n return Object.defineProperty(instruction, RenderInstructionSymbol, {\n value: true\n });\n}\nfunction isRenderInstruction(chunk) {\n return chunk && typeof chunk === \"object\" && chunk[RenderInstructionSymbol];\n}\nexport {\n createRenderInstruction,\n isRenderInstruction\n};\n","const PROP_TYPE = {\n Value: 0,\n JSON: 1,\n // Actually means Array\n RegExp: 2,\n Date: 3,\n Map: 4,\n Set: 5,\n BigInt: 6,\n URL: 7,\n Uint8Array: 8,\n Uint16Array: 9,\n Uint32Array: 10\n};\nfunction serializeArray(value, metadata = {}, parents = /* @__PURE__ */ new WeakSet()) {\n if (parents.has(value)) {\n throw new Error(`Cyclic reference detected while serializing props for <${metadata.displayName} client:${metadata.hydrate}>!\n\nCyclic references cannot be safely serialized for client-side usage. Please remove the cyclic reference.`);\n }\n parents.add(value);\n const serialized = value.map((v) => {\n return convertToSerializedForm(v, metadata, parents);\n });\n parents.delete(value);\n return serialized;\n}\nfunction serializeObject(value, metadata = {}, parents = /* @__PURE__ */ new WeakSet()) {\n if (parents.has(value)) {\n throw new Error(`Cyclic reference detected while serializing props for <${metadata.displayName} client:${metadata.hydrate}>!\n\nCyclic references cannot be safely serialized for client-side usage. Please remove the cyclic reference.`);\n }\n parents.add(value);\n const serialized = Object.fromEntries(\n Object.entries(value).map(([k, v]) => {\n return [k, convertToSerializedForm(v, metadata, parents)];\n })\n );\n parents.delete(value);\n return serialized;\n}\nfunction convertToSerializedForm(value, metadata = {}, parents = /* @__PURE__ */ new WeakSet()) {\n const tag = Object.prototype.toString.call(value);\n switch (tag) {\n case \"[object Date]\": {\n return [PROP_TYPE.Date, value.toISOString()];\n }\n case \"[object RegExp]\": {\n return [PROP_TYPE.RegExp, value.source];\n }\n case \"[object Map]\": {\n return [PROP_TYPE.Map, serializeArray(Array.from(value), metadata, parents)];\n }\n case \"[object Set]\": {\n return [PROP_TYPE.Set, serializeArray(Array.from(value), metadata, parents)];\n }\n case \"[object BigInt]\": {\n return [PROP_TYPE.BigInt, value.toString()];\n }\n case \"[object URL]\": {\n return [PROP_TYPE.URL, value.toString()];\n }\n case \"[object Array]\": {\n return [PROP_TYPE.JSON, serializeArray(value, metadata, parents)];\n }\n case \"[object Uint8Array]\": {\n return [PROP_TYPE.Uint8Array, Array.from(value)];\n }\n case \"[object Uint16Array]\": {\n return [PROP_TYPE.Uint16Array, Array.from(value)];\n }\n case \"[object Uint32Array]\": {\n return [PROP_TYPE.Uint32Array, Array.from(value)];\n }\n default: {\n if (value !== null && typeof value === \"object\") {\n return [PROP_TYPE.Value, serializeObject(value, metadata, parents)];\n } else if (value === void 0) {\n return [PROP_TYPE.Value];\n } else {\n return [PROP_TYPE.Value, value];\n }\n }\n }\n}\nfunction serializeProps(props, metadata) {\n const serialized = JSON.stringify(serializeObject(props, metadata));\n return serialized;\n}\nexport {\n serializeProps\n};\n","import { AstroError, AstroErrorData } from \"../../core/errors/index.js\";\nimport { escapeHTML } from \"./escape.js\";\nimport { serializeProps } from \"./serialize.js\";\nconst transitionDirectivesToCopyOnIsland = Object.freeze([\n \"data-astro-transition-scope\",\n \"data-astro-transition-persist\",\n \"data-astro-transition-persist-props\"\n]);\nfunction extractDirectives(inputProps, clientDirectives) {\n let extracted = {\n isPage: false,\n hydration: null,\n props: {},\n propsWithoutTransitionAttributes: {}\n };\n for (const [key, value] of Object.entries(inputProps)) {\n if (key.startsWith(\"server:\")) {\n if (key === \"server:root\") {\n extracted.isPage = true;\n }\n }\n if (key.startsWith(\"client:\")) {\n if (!extracted.hydration) {\n extracted.hydration = {\n directive: \"\",\n value: \"\",\n componentUrl: \"\",\n componentExport: { value: \"\" }\n };\n }\n switch (key) {\n case \"client:component-path\": {\n extracted.hydration.componentUrl = value;\n break;\n }\n case \"client:component-export\": {\n extracted.hydration.componentExport.value = value;\n break;\n }\n case \"client:component-hydration\": {\n break;\n }\n case \"client:display-name\": {\n break;\n }\n default: {\n extracted.hydration.directive = key.split(\":\")[1];\n extracted.hydration.value = value;\n if (!clientDirectives.has(extracted.hydration.directive)) {\n const hydrationMethods = Array.from(clientDirectives.keys()).map((d) => `client:${d}`).join(\", \");\n throw new Error(\n `Error: invalid hydration directive \"${key}\". Supported hydration methods: ${hydrationMethods}`\n );\n }\n if (extracted.hydration.directive === \"media\" && typeof extracted.hydration.value !== \"string\") {\n throw new AstroError(AstroErrorData.MissingMediaQueryDirective);\n }\n break;\n }\n }\n } else {\n extracted.props[key] = value;\n if (!transitionDirectivesToCopyOnIsland.includes(key)) {\n extracted.propsWithoutTransitionAttributes[key] = value;\n }\n }\n }\n for (const sym of Object.getOwnPropertySymbols(inputProps)) {\n extracted.props[sym] = inputProps[sym];\n extracted.propsWithoutTransitionAttributes[sym] = inputProps[sym];\n }\n return extracted;\n}\nasync function generateHydrateScript(scriptOptions, metadata) {\n const { renderer, result, astroId, props, attrs } = scriptOptions;\n const { hydrate, componentUrl, componentExport } = metadata;\n if (!componentExport.value) {\n throw new AstroError({\n ...AstroErrorData.NoMatchingImport,\n message: AstroErrorData.NoMatchingImport.message(metadata.displayName)\n });\n }\n const island = {\n children: \"\",\n props: {\n // This is for HMR, probably can avoid it in prod\n uid: astroId\n }\n };\n if (attrs) {\n for (const [key, value] of Object.entries(attrs)) {\n island.props[key] = escapeHTML(value);\n }\n }\n island.props[\"component-url\"] = await result.resolve(decodeURI(componentUrl));\n if (renderer.clientEntrypoint) {\n island.props[\"component-export\"] = componentExport.value;\n island.props[\"renderer-url\"] = await result.resolve(decodeURI(renderer.clientEntrypoint));\n island.props[\"props\"] = escapeHTML(serializeProps(props, metadata));\n }\n island.props[\"ssr\"] = \"\";\n island.props[\"client\"] = hydrate;\n let beforeHydrationUrl = await result.resolve(\"astro:scripts/before-hydration.js\");\n if (beforeHydrationUrl.length) {\n island.props[\"before-hydration-url\"] = beforeHydrationUrl;\n }\n island.props[\"opts\"] = escapeHTML(\n JSON.stringify({\n name: metadata.displayName,\n value: metadata.hydrateArgs || \"\"\n })\n );\n transitionDirectivesToCopyOnIsland.forEach((name) => {\n if (typeof props[name] !== \"undefined\") {\n island.props[name] = props[name];\n }\n });\n return island;\n}\nexport {\n extractDirectives,\n generateHydrateScript\n};\n","/**\n * shortdash - https://github.com/bibig/node-shorthash\n *\n * @license\n *\n * (The MIT License)\n *\n * Copyright (c) 2013 Bibig \n *\n * Permission is hereby granted, free of charge, to any person\n * obtaining a copy of this software and associated documentation\n * files (the \"Software\"), to deal in the Software without\n * restriction, including without limitation the rights to use,\n * copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the\n * Software is furnished to do so, subject to the following\n * conditions:\n *\n * The above copyright notice and this permission notice shall be\n * included in all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\n * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES\n * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\n * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT\n * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,\n * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING\n * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR\n * OTHER DEALINGS IN THE SOFTWARE.\n */\nconst dictionary = \"0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXY\";\nconst binary = dictionary.length;\nfunction bitwise(str) {\n let hash = 0;\n if (str.length === 0) return hash;\n for (let i = 0; i < str.length; i++) {\n const ch = str.charCodeAt(i);\n hash = (hash << 5) - hash + ch;\n hash = hash & hash;\n }\n return hash;\n}\nfunction shorthash(text) {\n let num;\n let result = \"\";\n let integer = bitwise(text);\n const sign = integer < 0 ? \"Z\" : \"\";\n integer = Math.abs(integer);\n while (integer >= binary) {\n num = integer % binary;\n integer = Math.floor(integer / binary);\n result = dictionary[num] + result;\n }\n if (integer > 0) {\n result = dictionary[integer] + result;\n }\n return sign + result;\n}\nexport {\n shorthash\n};\n","function isAstroComponentFactory(obj) {\n return obj == null ? false : obj.isAstroComponentFactory === true;\n}\nfunction isAPropagatingComponent(result, factory) {\n let hint = factory.propagation || \"none\";\n if (factory.moduleId && result.componentMetadata.has(factory.moduleId) && hint === \"none\") {\n hint = result.componentMetadata.get(factory.moduleId).propagation;\n }\n return hint === \"in-tree\" || hint === \"self\";\n}\nexport {\n isAPropagatingComponent,\n isAstroComponentFactory\n};\n","const headAndContentSym = Symbol.for(\"astro.headAndContent\");\nfunction isHeadAndContent(obj) {\n return typeof obj === \"object\" && !!obj[headAndContentSym];\n}\nfunction createHeadAndContent(head, content) {\n return {\n [headAndContentSym]: true,\n head,\n content\n };\n}\nexport {\n createHeadAndContent,\n isHeadAndContent\n};\n","var astro_island_prebuilt_dev_default = `(()=>{var A=Object.defineProperty;var g=(i,o,a)=>o in i?A(i,o,{enumerable:!0,configurable:!0,writable:!0,value:a}):i[o]=a;var l=(i,o,a)=>g(i,typeof o!=\"symbol\"?o+\"\":o,a);{let i={0:t=>y(t),1:t=>a(t),2:t=>new RegExp(t),3:t=>new Date(t),4:t=>new Map(a(t)),5:t=>new Set(a(t)),6:t=>BigInt(t),7:t=>new URL(t),8:t=>new Uint8Array(t),9:t=>new Uint16Array(t),10:t=>new Uint32Array(t)},o=t=>{let[h,e]=t;return h in i?i[h](e):void 0},a=t=>t.map(o),y=t=>typeof t!=\"object\"||t===null?t:Object.fromEntries(Object.entries(t).map(([h,e])=>[h,o(e)]));class f extends HTMLElement{constructor(){super(...arguments);l(this,\"Component\");l(this,\"hydrator\");l(this,\"hydrate\",async()=>{var b;if(!this.hydrator||!this.isConnected)return;let e=(b=this.parentElement)==null?void 0:b.closest(\"astro-island[ssr]\");if(e){e.addEventListener(\"astro:hydrate\",this.hydrate,{once:!0});return}let c=this.querySelectorAll(\"astro-slot\"),n={},p=this.querySelectorAll(\"template[data-astro-template]\");for(let r of p){let s=r.closest(this.tagName);s!=null&&s.isSameNode(this)&&(n[r.getAttribute(\"data-astro-template\")||\"default\"]=r.innerHTML,r.remove())}for(let r of c){let s=r.closest(this.tagName);s!=null&&s.isSameNode(this)&&(n[r.getAttribute(\"name\")||\"default\"]=r.innerHTML)}let u;try{u=this.hasAttribute(\"props\")?y(JSON.parse(this.getAttribute(\"props\"))):{}}catch(r){let s=this.getAttribute(\"component-url\")||\"\",v=this.getAttribute(\"component-export\");throw v&&(s+=\\` (export \\${v})\\`),console.error(\\`[hydrate] Error parsing props for component \\${s}\\`,this.getAttribute(\"props\"),r),r}let d,m=this.hydrator(this);d=performance.now(),await m(this.Component,u,n,{client:this.getAttribute(\"client\")}),d&&this.setAttribute(\"client-render-time\",(performance.now()-d).toString()),this.removeAttribute(\"ssr\"),this.dispatchEvent(new CustomEvent(\"astro:hydrate\"))});l(this,\"unmount\",()=>{this.isConnected||this.dispatchEvent(new CustomEvent(\"astro:unmount\"))})}disconnectedCallback(){document.removeEventListener(\"astro:after-swap\",this.unmount),document.addEventListener(\"astro:after-swap\",this.unmount,{once:!0})}connectedCallback(){if(!this.hasAttribute(\"await-children\")||document.readyState===\"interactive\"||document.readyState===\"complete\")this.childrenConnectedCallback();else{let e=()=>{document.removeEventListener(\"DOMContentLoaded\",e),c.disconnect(),this.childrenConnectedCallback()},c=new MutationObserver(()=>{var n;((n=this.lastChild)==null?void 0:n.nodeType)===Node.COMMENT_NODE&&this.lastChild.nodeValue===\"astro:end\"&&(this.lastChild.remove(),e())});c.observe(this,{childList:!0}),document.addEventListener(\"DOMContentLoaded\",e)}}async childrenConnectedCallback(){let e=this.getAttribute(\"before-hydration-url\");e&&await import(e),this.start()}async start(){let e=JSON.parse(this.getAttribute(\"opts\")),c=this.getAttribute(\"client\");if(Astro[c]===void 0){window.addEventListener(\\`astro:\\${c}\\`,()=>this.start(),{once:!0});return}try{await Astro[c](async()=>{let n=this.getAttribute(\"renderer-url\"),[p,{default:u}]=await Promise.all([import(this.getAttribute(\"component-url\")),n?import(n):()=>()=>{}]),d=this.getAttribute(\"component-export\")||\"default\";if(!d.includes(\".\"))this.Component=p[d];else{this.Component=p;for(let m of d.split(\".\"))this.Component=this.Component[m]}return this.hydrator=u,this.hydrate},e,this)}catch(n){console.error(\\`[astro-island] Error hydrating \\${this.getAttribute(\"component-url\")}\\`,n)}}attributeChangedCallback(){this.hydrate()}}l(f,\"observedAttributes\",[\"props\"]),customElements.get(\"astro-island\")||customElements.define(\"astro-island\",f)}})();`;\nexport {\n astro_island_prebuilt_dev_default as default\n};\n","var astro_island_prebuilt_default = `(()=>{var A=Object.defineProperty;var g=(i,o,a)=>o in i?A(i,o,{enumerable:!0,configurable:!0,writable:!0,value:a}):i[o]=a;var d=(i,o,a)=>g(i,typeof o!=\"symbol\"?o+\"\":o,a);{let i={0:t=>m(t),1:t=>a(t),2:t=>new RegExp(t),3:t=>new Date(t),4:t=>new Map(a(t)),5:t=>new Set(a(t)),6:t=>BigInt(t),7:t=>new URL(t),8:t=>new Uint8Array(t),9:t=>new Uint16Array(t),10:t=>new Uint32Array(t)},o=t=>{let[l,e]=t;return l in i?i[l](e):void 0},a=t=>t.map(o),m=t=>typeof t!=\"object\"||t===null?t:Object.fromEntries(Object.entries(t).map(([l,e])=>[l,o(e)]));class y extends HTMLElement{constructor(){super(...arguments);d(this,\"Component\");d(this,\"hydrator\");d(this,\"hydrate\",async()=>{var b;if(!this.hydrator||!this.isConnected)return;let e=(b=this.parentElement)==null?void 0:b.closest(\"astro-island[ssr]\");if(e){e.addEventListener(\"astro:hydrate\",this.hydrate,{once:!0});return}let c=this.querySelectorAll(\"astro-slot\"),n={},h=this.querySelectorAll(\"template[data-astro-template]\");for(let r of h){let s=r.closest(this.tagName);s!=null&&s.isSameNode(this)&&(n[r.getAttribute(\"data-astro-template\")||\"default\"]=r.innerHTML,r.remove())}for(let r of c){let s=r.closest(this.tagName);s!=null&&s.isSameNode(this)&&(n[r.getAttribute(\"name\")||\"default\"]=r.innerHTML)}let p;try{p=this.hasAttribute(\"props\")?m(JSON.parse(this.getAttribute(\"props\"))):{}}catch(r){let s=this.getAttribute(\"component-url\")||\"\",v=this.getAttribute(\"component-export\");throw v&&(s+=\\` (export \\${v})\\`),console.error(\\`[hydrate] Error parsing props for component \\${s}\\`,this.getAttribute(\"props\"),r),r}let u;await this.hydrator(this)(this.Component,p,n,{client:this.getAttribute(\"client\")}),this.removeAttribute(\"ssr\"),this.dispatchEvent(new CustomEvent(\"astro:hydrate\"))});d(this,\"unmount\",()=>{this.isConnected||this.dispatchEvent(new CustomEvent(\"astro:unmount\"))})}disconnectedCallback(){document.removeEventListener(\"astro:after-swap\",this.unmount),document.addEventListener(\"astro:after-swap\",this.unmount,{once:!0})}connectedCallback(){if(!this.hasAttribute(\"await-children\")||document.readyState===\"interactive\"||document.readyState===\"complete\")this.childrenConnectedCallback();else{let e=()=>{document.removeEventListener(\"DOMContentLoaded\",e),c.disconnect(),this.childrenConnectedCallback()},c=new MutationObserver(()=>{var n;((n=this.lastChild)==null?void 0:n.nodeType)===Node.COMMENT_NODE&&this.lastChild.nodeValue===\"astro:end\"&&(this.lastChild.remove(),e())});c.observe(this,{childList:!0}),document.addEventListener(\"DOMContentLoaded\",e)}}async childrenConnectedCallback(){let e=this.getAttribute(\"before-hydration-url\");e&&await import(e),this.start()}async start(){let e=JSON.parse(this.getAttribute(\"opts\")),c=this.getAttribute(\"client\");if(Astro[c]===void 0){window.addEventListener(\\`astro:\\${c}\\`,()=>this.start(),{once:!0});return}try{await Astro[c](async()=>{let n=this.getAttribute(\"renderer-url\"),[h,{default:p}]=await Promise.all([import(this.getAttribute(\"component-url\")),n?import(n):()=>()=>{}]),u=this.getAttribute(\"component-export\")||\"default\";if(!u.includes(\".\"))this.Component=h[u];else{this.Component=h;for(let f of u.split(\".\"))this.Component=this.Component[f]}return this.hydrator=p,this.hydrate},e,this)}catch(n){console.error(\\`[astro-island] Error hydrating \\${this.getAttribute(\"component-url\")}\\`,n)}}attributeChangedCallback(){this.hydrate()}}d(y,\"observedAttributes\",[\"props\"]),customElements.get(\"astro-island\")||customElements.define(\"astro-island\",y)}})();`;\nexport {\n astro_island_prebuilt_default as default\n};\n","import islandScriptDev from \"./astro-island.prebuilt-dev.js\";\nimport islandScript from \"./astro-island.prebuilt.js\";\nconst ISLAND_STYLES = ``;\nfunction determineIfNeedsHydrationScript(result) {\n if (result._metadata.hasHydrationScript) {\n return false;\n }\n return result._metadata.hasHydrationScript = true;\n}\nfunction determinesIfNeedsDirectiveScript(result, directive) {\n if (result._metadata.hasDirectives.has(directive)) {\n return false;\n }\n result._metadata.hasDirectives.add(directive);\n return true;\n}\nfunction getDirectiveScriptText(result, directive) {\n const clientDirectives = result.clientDirectives;\n const clientDirective = clientDirectives.get(directive);\n if (!clientDirective) {\n throw new Error(`Unknown directive: ${directive}`);\n }\n return clientDirective;\n}\nfunction getPrescripts(result, type, directive) {\n switch (type) {\n case \"both\":\n return `${ISLAND_STYLES}`;\n case \"directive\":\n return ``;\n case null:\n break;\n }\n return \"\";\n}\nexport {\n determineIfNeedsHydrationScript,\n determinesIfNeedsDirectiveScript,\n getPrescripts\n};\n","import { clsx } from \"clsx\";\nimport { HTMLString, markHTMLString } from \"../escape.js\";\nconst voidElementNames = /^(area|base|br|col|command|embed|hr|img|input|keygen|link|meta|param|source|track|wbr)$/i;\nconst htmlBooleanAttributes = /^(?:allowfullscreen|async|autofocus|autoplay|controls|default|defer|disabled|disablepictureinpicture|disableremoteplayback|formnovalidate|hidden|loop|nomodule|novalidate|open|playsinline|readonly|required|reversed|scoped|seamless|itemscope)$/i;\nconst htmlEnumAttributes = /^(?:contenteditable|draggable|spellcheck|value)$/i;\nconst svgEnumAttributes = /^(?:autoReverse|externalResourcesRequired|focusable|preserveAlpha)$/i;\nconst AMPERSAND_REGEX = /&/g;\nconst DOUBLE_QUOTE_REGEX = /\"/g;\nconst STATIC_DIRECTIVES = /* @__PURE__ */ new Set([\"set:html\", \"set:text\"]);\nconst toIdent = (k) => k.trim().replace(/(?!^)\\b\\w|\\s+|\\W+/g, (match, index) => {\n if (/\\W/.test(match)) return \"\";\n return index === 0 ? match : match.toUpperCase();\n});\nconst toAttributeString = (value, shouldEscape = true) => shouldEscape ? String(value).replace(AMPERSAND_REGEX, \"&\").replace(DOUBLE_QUOTE_REGEX, \""\") : value;\nconst kebab = (k) => k.toLowerCase() === k ? k : k.replace(/[A-Z]/g, (match) => `-${match.toLowerCase()}`);\nconst toStyleString = (obj) => Object.entries(obj).filter(([_, v]) => typeof v === \"string\" && v.trim() || typeof v === \"number\").map(([k, v]) => {\n if (k[0] !== \"-\" && k[1] !== \"-\") return `${kebab(k)}:${v}`;\n return `${k}:${v}`;\n}).join(\";\");\nfunction defineScriptVars(vars) {\n let output = \"\";\n for (const [key, value] of Object.entries(vars)) {\n output += `const ${toIdent(key)} = ${JSON.stringify(value)?.replace(\n /<\\/script>/g,\n \"\\\\x3C/script>\"\n )};\n`;\n }\n return markHTMLString(output);\n}\nfunction formatList(values) {\n if (values.length === 1) {\n return values[0];\n }\n return `${values.slice(0, -1).join(\", \")} or ${values[values.length - 1]}`;\n}\nfunction addAttribute(value, key, shouldEscape = true) {\n if (value == null) {\n return \"\";\n }\n if (value === false) {\n if (htmlEnumAttributes.test(key) || svgEnumAttributes.test(key)) {\n return markHTMLString(` ${key}=\"false\"`);\n }\n return \"\";\n }\n if (STATIC_DIRECTIVES.has(key)) {\n console.warn(`[astro] The \"${key}\" directive cannot be applied dynamically at runtime. It will not be rendered as an attribute.\n\nMake sure to use the static attribute syntax (\\`${key}={value}\\`) instead of the dynamic spread syntax (\\`{...{ \"${key}\": value }}\\`).`);\n return \"\";\n }\n if (key === \"class:list\") {\n const listValue = toAttributeString(clsx(value), shouldEscape);\n if (listValue === \"\") {\n return \"\";\n }\n return markHTMLString(` ${key.slice(0, -5)}=\"${listValue}\"`);\n }\n if (key === \"style\" && !(value instanceof HTMLString)) {\n if (Array.isArray(value) && value.length === 2) {\n return markHTMLString(\n ` ${key}=\"${toAttributeString(`${toStyleString(value[0])};${value[1]}`, shouldEscape)}\"`\n );\n }\n if (typeof value === \"object\") {\n return markHTMLString(` ${key}=\"${toAttributeString(toStyleString(value), shouldEscape)}\"`);\n }\n }\n if (key === \"className\") {\n return markHTMLString(` class=\"${toAttributeString(value, shouldEscape)}\"`);\n }\n if (typeof value === \"string\" && value.includes(\"&\") && isHttpUrl(value)) {\n return markHTMLString(` ${key}=\"${toAttributeString(value, false)}\"`);\n }\n if (value === true && (key.startsWith(\"data-\") || htmlBooleanAttributes.test(key))) {\n return markHTMLString(` ${key}`);\n } else {\n return markHTMLString(` ${key}=\"${toAttributeString(value, shouldEscape)}\"`);\n }\n}\nfunction internalSpreadAttributes(values, shouldEscape = true) {\n let output = \"\";\n for (const [key, value] of Object.entries(values)) {\n output += addAttribute(value, key, shouldEscape);\n }\n return markHTMLString(output);\n}\nfunction renderElement(name, { props: _props, children = \"\" }, shouldEscape = true) {\n const { lang: _, \"data-astro-id\": astroId, \"define:vars\": defineVars, ...props } = _props;\n if (defineVars) {\n if (name === \"style\") {\n delete props[\"is:global\"];\n delete props[\"is:scoped\"];\n }\n if (name === \"script\") {\n delete props.hoist;\n children = defineScriptVars(defineVars) + \"\\n\" + children;\n }\n }\n if ((children == null || children == \"\") && voidElementNames.test(name)) {\n return `<${name}${internalSpreadAttributes(props, shouldEscape)}>`;\n }\n return `<${name}${internalSpreadAttributes(props, shouldEscape)}>${children}`;\n}\nconst noop = () => {\n};\nclass BufferedRenderer {\n chunks = [];\n renderPromise;\n destination;\n constructor(bufferRenderFunction) {\n this.renderPromise = bufferRenderFunction(this);\n Promise.resolve(this.renderPromise).catch(noop);\n }\n write(chunk) {\n if (this.destination) {\n this.destination.write(chunk);\n } else {\n this.chunks.push(chunk);\n }\n }\n async renderToFinalDestination(destination) {\n for (const chunk of this.chunks) {\n destination.write(chunk);\n }\n this.destination = destination;\n await this.renderPromise;\n }\n}\nfunction renderToBufferDestination(bufferRenderFunction) {\n const renderer = new BufferedRenderer(bufferRenderFunction);\n return renderer;\n}\nconst isNode = typeof process !== \"undefined\" && Object.prototype.toString.call(process) === \"[object process]\";\nconst isDeno = typeof Deno !== \"undefined\";\nfunction promiseWithResolvers() {\n let resolve, reject;\n const promise = new Promise((_resolve, _reject) => {\n resolve = _resolve;\n reject = _reject;\n });\n return {\n promise,\n resolve,\n reject\n };\n}\nconst VALID_PROTOCOLS = [\"http:\", \"https:\"];\nfunction isHttpUrl(url) {\n try {\n const parsedUrl = new URL(url);\n return VALID_PROTOCOLS.includes(parsedUrl.protocol);\n } catch {\n return false;\n }\n}\nexport {\n addAttribute,\n defineScriptVars,\n formatList,\n internalSpreadAttributes,\n isDeno,\n isNode,\n promiseWithResolvers,\n renderElement,\n renderToBufferDestination,\n toAttributeString,\n voidElementNames\n};\n","import { markHTMLString } from \"../escape.js\";\nimport { createRenderInstruction } from \"./instruction.js\";\nimport { renderElement } from \"./util.js\";\nconst uniqueElements = (item, index, all) => {\n const props = JSON.stringify(item.props);\n const children = item.children;\n return index === all.findIndex((i) => JSON.stringify(i.props) === props && i.children == children);\n};\nfunction renderAllHeadContent(result) {\n result._metadata.hasRenderedHead = true;\n const styles = Array.from(result.styles).filter(uniqueElements).map(\n (style) => style.props.rel === \"stylesheet\" ? renderElement(\"link\", style) : renderElement(\"style\", style)\n );\n result.styles.clear();\n const scripts = Array.from(result.scripts).filter(uniqueElements).map((script) => {\n return renderElement(\"script\", script, false);\n });\n const links = Array.from(result.links).filter(uniqueElements).map((link) => renderElement(\"link\", link, false));\n let content = styles.join(\"\\n\") + links.join(\"\\n\") + scripts.join(\"\\n\");\n if (result._metadata.extraHead.length > 0) {\n for (const part of result._metadata.extraHead) {\n content += part;\n }\n }\n return markHTMLString(content);\n}\nfunction renderHead() {\n return createRenderInstruction({ type: \"head\" });\n}\nfunction maybeRenderHead() {\n return createRenderInstruction({ type: \"maybe-head\" });\n}\nexport {\n maybeRenderHead,\n renderAllHeadContent,\n renderHead\n};\n","import { markHTMLString } from \"../../escape.js\";\nimport { isPromise } from \"../../util.js\";\nimport { renderChild } from \"../any.js\";\nimport { renderToBufferDestination } from \"../util.js\";\nconst renderTemplateResultSym = Symbol.for(\"astro.renderTemplateResult\");\nclass RenderTemplateResult {\n [renderTemplateResultSym] = true;\n htmlParts;\n expressions;\n error;\n constructor(htmlParts, expressions) {\n this.htmlParts = htmlParts;\n this.error = void 0;\n this.expressions = expressions.map((expression) => {\n if (isPromise(expression)) {\n return Promise.resolve(expression).catch((err) => {\n if (!this.error) {\n this.error = err;\n throw err;\n }\n });\n }\n return expression;\n });\n }\n async render(destination) {\n const expRenders = this.expressions.map((exp) => {\n return renderToBufferDestination((bufferDestination) => {\n if (exp || exp === 0) {\n return renderChild(bufferDestination, exp);\n }\n });\n });\n for (let i = 0; i < this.htmlParts.length; i++) {\n const html = this.htmlParts[i];\n const expRender = expRenders[i];\n destination.write(markHTMLString(html));\n if (expRender) {\n await expRender.renderToFinalDestination(destination);\n }\n }\n }\n}\nfunction isRenderTemplateResult(obj) {\n return typeof obj === \"object\" && !!obj[renderTemplateResultSym];\n}\nfunction renderTemplate(htmlParts, ...expressions) {\n return new RenderTemplateResult(htmlParts, expressions);\n}\nexport {\n RenderTemplateResult,\n isRenderTemplateResult,\n renderTemplate\n};\n","import { renderTemplate } from \"./astro/render-template.js\";\nimport { HTMLString, markHTMLString, unescapeHTML } from \"../escape.js\";\nimport { renderChild } from \"./any.js\";\nimport { chunkToString } from \"./common.js\";\nconst slotString = Symbol.for(\"astro:slot-string\");\nclass SlotString extends HTMLString {\n instructions;\n [slotString];\n constructor(content, instructions) {\n super(content);\n this.instructions = instructions;\n this[slotString] = true;\n }\n}\nfunction isSlotString(str) {\n return !!str[slotString];\n}\nfunction renderSlot(result, slotted, fallback) {\n if (!slotted && fallback) {\n return renderSlot(result, fallback);\n }\n return {\n async render(destination) {\n await renderChild(destination, typeof slotted === \"function\" ? slotted(result) : slotted);\n }\n };\n}\nasync function renderSlotToString(result, slotted, fallback) {\n let content = \"\";\n let instructions = null;\n const temporaryDestination = {\n write(chunk) {\n if (chunk instanceof SlotString) {\n content += chunk;\n if (chunk.instructions) {\n instructions ??= [];\n instructions.push(...chunk.instructions);\n }\n } else if (chunk instanceof Response) return;\n else if (typeof chunk === \"object\" && \"type\" in chunk && typeof chunk.type === \"string\") {\n if (instructions === null) {\n instructions = [];\n }\n instructions.push(chunk);\n } else {\n content += chunkToString(result, chunk);\n }\n }\n };\n const renderInstance = renderSlot(result, slotted, fallback);\n await renderInstance.render(temporaryDestination);\n return markHTMLString(new SlotString(content, instructions));\n}\nasync function renderSlots(result, slots = {}) {\n let slotInstructions = null;\n let children = {};\n if (slots) {\n await Promise.all(\n Object.entries(slots).map(\n ([key, value]) => renderSlotToString(result, value).then((output) => {\n if (output.instructions) {\n if (slotInstructions === null) {\n slotInstructions = [];\n }\n slotInstructions.push(...output.instructions);\n }\n children[key] = output;\n })\n )\n );\n }\n return { slotInstructions, children };\n}\nfunction createSlotValueFromString(content) {\n return function() {\n return renderTemplate`${unescapeHTML(content)}`;\n };\n}\nexport {\n SlotString,\n createSlotValueFromString,\n isSlotString,\n renderSlot,\n renderSlotToString,\n renderSlots\n};\n","import { markHTMLString } from \"../escape.js\";\nimport {\n determineIfNeedsHydrationScript,\n determinesIfNeedsDirectiveScript,\n getPrescripts\n} from \"../scripts.js\";\nimport { renderAllHeadContent } from \"./head.js\";\nimport { isRenderInstruction } from \"./instruction.js\";\nimport { isSlotString } from \"./slot.js\";\nconst Fragment = Symbol.for(\"astro:fragment\");\nconst Renderer = Symbol.for(\"astro:renderer\");\nconst encoder = new TextEncoder();\nconst decoder = new TextDecoder();\nfunction stringifyChunk(result, chunk) {\n if (isRenderInstruction(chunk)) {\n const instruction = chunk;\n switch (instruction.type) {\n case \"directive\": {\n const { hydration } = instruction;\n let needsHydrationScript = hydration && determineIfNeedsHydrationScript(result);\n let needsDirectiveScript = hydration && determinesIfNeedsDirectiveScript(result, hydration.directive);\n let prescriptType = needsHydrationScript ? \"both\" : needsDirectiveScript ? \"directive\" : null;\n if (prescriptType) {\n let prescripts = getPrescripts(result, prescriptType, hydration.directive);\n return markHTMLString(prescripts);\n } else {\n return \"\";\n }\n }\n case \"head\": {\n if (result._metadata.hasRenderedHead || result.partial) {\n return \"\";\n }\n return renderAllHeadContent(result);\n }\n case \"maybe-head\": {\n if (result._metadata.hasRenderedHead || result._metadata.headInTree || result.partial) {\n return \"\";\n }\n return renderAllHeadContent(result);\n }\n case \"renderer-hydration-script\": {\n const { rendererSpecificHydrationScripts } = result._metadata;\n const { rendererName } = instruction;\n if (!rendererSpecificHydrationScripts.has(rendererName)) {\n rendererSpecificHydrationScripts.add(rendererName);\n return instruction.render();\n }\n return \"\";\n }\n default: {\n throw new Error(`Unknown chunk type: ${chunk.type}`);\n }\n }\n } else if (chunk instanceof Response) {\n return \"\";\n } else if (isSlotString(chunk)) {\n let out = \"\";\n const c = chunk;\n if (c.instructions) {\n for (const instr of c.instructions) {\n out += stringifyChunk(result, instr);\n }\n }\n out += chunk.toString();\n return out;\n }\n return chunk.toString();\n}\nfunction chunkToString(result, chunk) {\n if (ArrayBuffer.isView(chunk)) {\n return decoder.decode(chunk);\n } else {\n return stringifyChunk(result, chunk);\n }\n}\nfunction chunkToByteArray(result, chunk) {\n if (ArrayBuffer.isView(chunk)) {\n return chunk;\n } else {\n const stringified = stringifyChunk(result, chunk);\n return encoder.encode(stringified.toString());\n }\n}\nfunction isRenderInstance(obj) {\n return !!obj && typeof obj === \"object\" && \"render\" in obj && typeof obj.render === \"function\";\n}\nexport {\n Fragment,\n Renderer,\n chunkToByteArray,\n chunkToString,\n decoder,\n encoder,\n isRenderInstance\n};\n","import { escapeHTML, isHTMLString, markHTMLString } from \"../escape.js\";\nimport { isPromise } from \"../util.js\";\nimport { isAstroComponentInstance, isRenderTemplateResult } from \"./astro/index.js\";\nimport { isRenderInstance } from \"./common.js\";\nimport { SlotString } from \"./slot.js\";\nimport { renderToBufferDestination } from \"./util.js\";\nasync function renderChild(destination, child) {\n if (isPromise(child)) {\n child = await child;\n }\n if (child instanceof SlotString) {\n destination.write(child);\n } else if (isHTMLString(child)) {\n destination.write(child);\n } else if (Array.isArray(child)) {\n const childRenders = child.map((c) => {\n return renderToBufferDestination((bufferDestination) => {\n return renderChild(bufferDestination, c);\n });\n });\n for (const childRender of childRenders) {\n if (!childRender) continue;\n await childRender.renderToFinalDestination(destination);\n }\n } else if (typeof child === \"function\") {\n await renderChild(destination, child());\n } else if (typeof child === \"string\") {\n destination.write(markHTMLString(escapeHTML(child)));\n } else if (!child && child !== 0) {\n } else if (isRenderInstance(child)) {\n await child.render(destination);\n } else if (isRenderTemplateResult(child)) {\n await child.render(destination);\n } else if (isAstroComponentInstance(child)) {\n await child.render(destination);\n } else if (ArrayBuffer.isView(child)) {\n destination.write(child);\n } else if (typeof child === \"object\" && (Symbol.asyncIterator in child || Symbol.iterator in child)) {\n for await (const value of child) {\n await renderChild(destination, value);\n }\n } else {\n destination.write(child);\n }\n}\nexport {\n renderChild\n};\n","import { isPromise } from \"../../util.js\";\nimport { renderChild } from \"../any.js\";\nimport { isAPropagatingComponent } from \"./factory.js\";\nimport { isHeadAndContent } from \"./head-and-content.js\";\nconst astroComponentInstanceSym = Symbol.for(\"astro.componentInstance\");\nclass AstroComponentInstance {\n [astroComponentInstanceSym] = true;\n result;\n props;\n slotValues;\n factory;\n returnValue;\n constructor(result, props, slots, factory) {\n this.result = result;\n this.props = props;\n this.factory = factory;\n this.slotValues = {};\n for (const name in slots) {\n let didRender = false;\n let value = slots[name](result);\n this.slotValues[name] = () => {\n if (!didRender) {\n didRender = true;\n return value;\n }\n return slots[name](result);\n };\n }\n }\n async init(result) {\n if (this.returnValue !== void 0) return this.returnValue;\n this.returnValue = this.factory(result, this.props, this.slotValues);\n if (isPromise(this.returnValue)) {\n this.returnValue.then((resolved) => {\n this.returnValue = resolved;\n }).catch(() => {\n });\n }\n return this.returnValue;\n }\n async render(destination) {\n const returnValue = await this.init(this.result);\n if (isHeadAndContent(returnValue)) {\n await returnValue.content.render(destination);\n } else {\n await renderChild(destination, returnValue);\n }\n }\n}\nfunction validateComponentProps(props, displayName) {\n if (props != null) {\n for (const prop of Object.keys(props)) {\n if (prop.startsWith(\"client:\")) {\n console.warn(\n `You are attempting to render <${displayName} ${prop} />, but ${displayName} is an Astro component. Astro components do not render in the client and should not have a hydration directive. Please use a framework component for client rendering.`\n );\n }\n }\n }\n}\nfunction createAstroComponentInstance(result, displayName, factory, props, slots = {}) {\n validateComponentProps(props, displayName);\n const instance = new AstroComponentInstance(result, props, slots, factory);\n if (isAPropagatingComponent(result, factory)) {\n result._metadata.propagators.add(instance);\n }\n return instance;\n}\nfunction isAstroComponentInstance(obj) {\n return typeof obj === \"object\" && !!obj[astroComponentInstanceSym];\n}\nexport {\n AstroComponentInstance,\n createAstroComponentInstance,\n isAstroComponentInstance\n};\n","import { markHTMLString } from \"../escape.js\";\nimport { renderSlotToString } from \"./slot.js\";\nimport { toAttributeString } from \"./util.js\";\nfunction componentIsHTMLElement(Component) {\n return typeof HTMLElement !== \"undefined\" && HTMLElement.isPrototypeOf(Component);\n}\nasync function renderHTMLElement(result, constructor, props, slots) {\n const name = getHTMLElementName(constructor);\n let attrHTML = \"\";\n for (const attr in props) {\n attrHTML += ` ${attr}=\"${toAttributeString(await props[attr])}\"`;\n }\n return markHTMLString(\n `<${name}${attrHTML}>${await renderSlotToString(result, slots?.default)}`\n );\n}\nfunction getHTMLElementName(constructor) {\n const definedName = customElements.getName(constructor);\n if (definedName) return definedName;\n const assignedName = constructor.name.replace(/^HTML|Element$/g, \"\").replace(/[A-Z]/g, \"-$&\").toLowerCase().replace(/^-/, \"html-\");\n return assignedName;\n}\nexport {\n componentIsHTMLElement,\n renderHTMLElement\n};\n","import { renderChild } from \"./any.js\";\nimport { renderSlotToString } from \"./slot.js\";\nconst internalProps = /* @__PURE__ */ new Set([\n \"server:component-path\",\n \"server:component-export\",\n \"server:component-directive\",\n \"server:defer\"\n]);\nfunction containsServerDirective(props) {\n return \"server:component-directive\" in props;\n}\nfunction safeJsonStringify(obj) {\n return JSON.stringify(obj).replace(/\\u2028/g, \"\\\\u2028\").replace(/\\u2029/g, \"\\\\u2029\").replace(//g, \"\\\\u003e\").replace(/\\//g, \"\\\\u002f\");\n}\nfunction renderServerIsland(result, _displayName, props, slots) {\n return {\n async render(destination) {\n const componentPath = props[\"server:component-path\"];\n const componentExport = props[\"server:component-export\"];\n const componentId = result.serverIslandNameMap.get(componentPath);\n if (!componentId) {\n throw new Error(`Could not find server component name`);\n }\n for (const key of Object.keys(props)) {\n if (internalProps.has(key)) {\n delete props[key];\n }\n }\n destination.write(\"\");\n const renderedSlots = {};\n for (const name in slots) {\n if (name !== \"fallback\") {\n const content = await renderSlotToString(result, slots[name]);\n renderedSlots[name] = content.toString();\n } else {\n await renderChild(destination, slots.fallback(result));\n }\n }\n const hostId = crypto.randomUUID();\n destination.write(``);\n }\n };\n}\nexport {\n containsServerDirective,\n renderServerIsland\n};\n","import { createRenderInstruction } from \"./instruction.js\";\nimport { clsx } from \"clsx\";\nimport { AstroError, AstroErrorData } from \"../../../core/errors/index.js\";\nimport { markHTMLString } from \"../escape.js\";\nimport { extractDirectives, generateHydrateScript } from \"../hydration.js\";\nimport { serializeProps } from \"../serialize.js\";\nimport { shorthash } from \"../shorthash.js\";\nimport { isPromise } from \"../util.js\";\nimport { isAstroComponentFactory } from \"./astro/factory.js\";\nimport { renderTemplate } from \"./astro/index.js\";\nimport { createAstroComponentInstance } from \"./astro/instance.js\";\nimport {\n Fragment,\n Renderer,\n chunkToString\n} from \"./common.js\";\nimport { componentIsHTMLElement, renderHTMLElement } from \"./dom.js\";\nimport { maybeRenderHead } from \"./head.js\";\nimport { containsServerDirective, renderServerIsland } from \"./server-islands.js\";\nimport { renderSlotToString, renderSlots } from \"./slot.js\";\nimport { formatList, internalSpreadAttributes, renderElement, voidElementNames } from \"./util.js\";\nconst needsHeadRenderingSymbol = Symbol.for(\"astro.needsHeadRendering\");\nconst rendererAliases = /* @__PURE__ */ new Map([[\"solid\", \"solid-js\"]]);\nconst clientOnlyValues = /* @__PURE__ */ new Set([\"solid-js\", \"react\", \"preact\", \"vue\", \"svelte\", \"lit\"]);\nfunction guessRenderers(componentUrl) {\n const extname = componentUrl?.split(\".\").pop();\n switch (extname) {\n case \"svelte\":\n return [\"@astrojs/svelte\"];\n case \"vue\":\n return [\"@astrojs/vue\"];\n case \"jsx\":\n case \"tsx\":\n return [\"@astrojs/react\", \"@astrojs/preact\", \"@astrojs/solid-js\", \"@astrojs/vue (jsx)\"];\n default:\n return [\n \"@astrojs/react\",\n \"@astrojs/preact\",\n \"@astrojs/solid-js\",\n \"@astrojs/vue\",\n \"@astrojs/svelte\",\n \"@astrojs/lit\"\n ];\n }\n}\nfunction isFragmentComponent(Component) {\n return Component === Fragment;\n}\nfunction isHTMLComponent(Component) {\n return Component && Component[\"astro:html\"] === true;\n}\nconst ASTRO_SLOT_EXP = /<\\/?astro-slot\\b[^>]*>/g;\nconst ASTRO_STATIC_SLOT_EXP = /<\\/?astro-static-slot\\b[^>]*>/g;\nfunction removeStaticAstroSlot(html, supportsAstroStaticSlot = true) {\n const exp = supportsAstroStaticSlot ? ASTRO_STATIC_SLOT_EXP : ASTRO_SLOT_EXP;\n return html.replace(exp, \"\");\n}\nasync function renderFrameworkComponent(result, displayName, Component, _props, slots = {}) {\n if (!Component && \"client:only\" in _props === false) {\n throw new Error(\n `Unable to render ${displayName} because it is ${Component}!\nDid you forget to import the component or is it possible there is a typo?`\n );\n }\n const { renderers, clientDirectives } = result;\n const metadata = {\n astroStaticSlot: true,\n displayName\n };\n const { hydration, isPage, props, propsWithoutTransitionAttributes } = extractDirectives(\n _props,\n clientDirectives\n );\n let html = \"\";\n let attrs = void 0;\n if (hydration) {\n metadata.hydrate = hydration.directive;\n metadata.hydrateArgs = hydration.value;\n metadata.componentExport = hydration.componentExport;\n metadata.componentUrl = hydration.componentUrl;\n }\n const probableRendererNames = guessRenderers(metadata.componentUrl);\n const validRenderers = renderers.filter((r) => r.name !== \"astro:jsx\");\n const { children, slotInstructions } = await renderSlots(result, slots);\n let renderer;\n if (metadata.hydrate !== \"only\") {\n let isTagged = false;\n try {\n isTagged = Component && Component[Renderer];\n } catch {\n }\n if (isTagged) {\n const rendererName = Component[Renderer];\n renderer = renderers.find(({ name }) => name === rendererName);\n }\n if (!renderer) {\n let error;\n for (const r of renderers) {\n try {\n if (await r.ssr.check.call({ result }, Component, props, children)) {\n renderer = r;\n break;\n }\n } catch (e) {\n error ??= e;\n }\n }\n if (!renderer && error) {\n throw error;\n }\n }\n if (!renderer && typeof HTMLElement === \"function\" && componentIsHTMLElement(Component)) {\n const output = await renderHTMLElement(\n result,\n Component,\n _props,\n slots\n );\n return {\n render(destination) {\n destination.write(output);\n }\n };\n }\n } else {\n if (metadata.hydrateArgs) {\n const rendererName = rendererAliases.has(metadata.hydrateArgs) ? rendererAliases.get(metadata.hydrateArgs) : metadata.hydrateArgs;\n if (clientOnlyValues.has(rendererName)) {\n renderer = renderers.find(\n ({ name }) => name === `@astrojs/${rendererName}` || name === rendererName\n );\n }\n }\n if (!renderer && validRenderers.length === 1) {\n renderer = validRenderers[0];\n }\n if (!renderer) {\n const extname = metadata.componentUrl?.split(\".\").pop();\n renderer = renderers.filter(\n ({ name }) => name === `@astrojs/${extname}` || name === extname\n )[0];\n }\n }\n let componentServerRenderEndTime;\n if (!renderer) {\n if (metadata.hydrate === \"only\") {\n const rendererName = rendererAliases.has(metadata.hydrateArgs) ? rendererAliases.get(metadata.hydrateArgs) : metadata.hydrateArgs;\n if (clientOnlyValues.has(rendererName)) {\n const plural = validRenderers.length > 1;\n throw new AstroError({\n ...AstroErrorData.NoMatchingRenderer,\n message: AstroErrorData.NoMatchingRenderer.message(\n metadata.displayName,\n metadata?.componentUrl?.split(\".\").pop(),\n plural,\n validRenderers.length\n ),\n hint: AstroErrorData.NoMatchingRenderer.hint(\n formatList(probableRendererNames.map((r) => \"`\" + r + \"`\"))\n )\n });\n } else {\n throw new AstroError({\n ...AstroErrorData.NoClientOnlyHint,\n message: AstroErrorData.NoClientOnlyHint.message(metadata.displayName),\n hint: AstroErrorData.NoClientOnlyHint.hint(\n probableRendererNames.map((r) => r.replace(\"@astrojs/\", \"\")).join(\"|\")\n )\n });\n }\n } else if (typeof Component !== \"string\") {\n const matchingRenderers = validRenderers.filter(\n (r) => probableRendererNames.includes(r.name)\n );\n const plural = validRenderers.length > 1;\n if (matchingRenderers.length === 0) {\n throw new AstroError({\n ...AstroErrorData.NoMatchingRenderer,\n message: AstroErrorData.NoMatchingRenderer.message(\n metadata.displayName,\n metadata?.componentUrl?.split(\".\").pop(),\n plural,\n validRenderers.length\n ),\n hint: AstroErrorData.NoMatchingRenderer.hint(\n formatList(probableRendererNames.map((r) => \"`\" + r + \"`\"))\n )\n });\n } else if (matchingRenderers.length === 1) {\n renderer = matchingRenderers[0];\n ({ html, attrs } = await renderer.ssr.renderToStaticMarkup.call(\n { result },\n Component,\n propsWithoutTransitionAttributes,\n children,\n metadata\n ));\n } else {\n throw new Error(`Unable to render ${metadata.displayName}!\n\nThis component likely uses ${formatList(probableRendererNames)},\nbut Astro encountered an error during server-side rendering.\n\nPlease ensure that ${metadata.displayName}:\n1. Does not unconditionally access browser-specific globals like \\`window\\` or \\`document\\`.\n If this is unavoidable, use the \\`client:only\\` hydration directive.\n2. Does not conditionally return \\`null\\` or \\`undefined\\` when rendered on the server.\n\nIf you're still stuck, please open an issue on GitHub or join us at https://astro.build/chat.`);\n }\n }\n } else {\n if (metadata.hydrate === \"only\") {\n const rendererName = rendererAliases.has(metadata.hydrateArgs) ? rendererAliases.get(metadata.hydrateArgs) : metadata.hydrateArgs;\n if (!clientOnlyValues.has(rendererName)) {\n console.warn(\n `The client:only directive for ${metadata.displayName} is not recognized. The renderer ${renderer.name} will be used. If you intended to use a different renderer, please provide a valid client:only directive.`\n );\n }\n html = await renderSlotToString(result, slots?.fallback);\n } else {\n const componentRenderStartTime = performance.now();\n ({ html, attrs } = await renderer.ssr.renderToStaticMarkup.call(\n { result },\n Component,\n propsWithoutTransitionAttributes,\n children,\n metadata\n ));\n if (process.env.NODE_ENV === \"development\")\n componentServerRenderEndTime = performance.now() - componentRenderStartTime;\n }\n }\n if (renderer && !renderer.clientEntrypoint && renderer.name !== \"@astrojs/lit\" && metadata.hydrate) {\n throw new AstroError({\n ...AstroErrorData.NoClientEntrypoint,\n message: AstroErrorData.NoClientEntrypoint.message(\n displayName,\n metadata.hydrate,\n renderer.name\n )\n });\n }\n if (!html && typeof Component === \"string\") {\n const Tag = sanitizeElementName(Component);\n const childSlots = Object.values(children).join(\"\");\n const renderTemplateResult = renderTemplate`<${Tag}${internalSpreadAttributes(\n props\n )}${markHTMLString(\n childSlots === \"\" && voidElementNames.test(Tag) ? `/>` : `>${childSlots}`\n )}`;\n html = \"\";\n const destination = {\n write(chunk) {\n if (chunk instanceof Response) return;\n html += chunkToString(result, chunk);\n }\n };\n await renderTemplateResult.render(destination);\n }\n if (!hydration) {\n return {\n render(destination) {\n if (slotInstructions) {\n for (const instruction of slotInstructions) {\n destination.write(instruction);\n }\n }\n if (isPage || renderer?.name === \"astro:jsx\") {\n destination.write(html);\n } else if (html && html.length > 0) {\n destination.write(\n markHTMLString(removeStaticAstroSlot(html, renderer?.ssr?.supportsAstroStaticSlot))\n );\n }\n }\n };\n }\n const astroId = shorthash(\n `\n${html}\n${serializeProps(\n props,\n metadata\n )}`\n );\n const island = await generateHydrateScript(\n { renderer, result, astroId, props, attrs },\n metadata\n );\n if (componentServerRenderEndTime && process.env.NODE_ENV === \"development\")\n island.props[\"server-render-time\"] = componentServerRenderEndTime;\n let unrenderedSlots = [];\n if (html) {\n if (Object.keys(children).length > 0) {\n for (const key of Object.keys(children)) {\n let tagName = renderer?.ssr?.supportsAstroStaticSlot ? !!metadata.hydrate ? \"astro-slot\" : \"astro-static-slot\" : \"astro-slot\";\n let expectedHTML = key === \"default\" ? `<${tagName}>` : `<${tagName} name=\"${key}\">`;\n if (!html.includes(expectedHTML)) {\n unrenderedSlots.push(key);\n }\n }\n }\n } else {\n unrenderedSlots = Object.keys(children);\n }\n const template = unrenderedSlots.length > 0 ? unrenderedSlots.map(\n (key) => ``\n ).join(\"\") : \"\";\n island.children = `${html ?? \"\"}${template}`;\n if (island.children) {\n island.props[\"await-children\"] = \"\";\n island.children += ``;\n }\n return {\n render(destination) {\n if (slotInstructions) {\n for (const instruction of slotInstructions) {\n destination.write(instruction);\n }\n }\n destination.write(createRenderInstruction({ type: \"directive\", hydration }));\n if (hydration.directive !== \"only\" && renderer?.ssr.renderHydrationScript) {\n destination.write(\n createRenderInstruction({\n type: \"renderer-hydration-script\",\n rendererName: renderer.name,\n render: renderer.ssr.renderHydrationScript\n })\n );\n }\n const renderedElement = renderElement(\"astro-island\", island, false);\n destination.write(markHTMLString(renderedElement));\n }\n };\n}\nfunction sanitizeElementName(tag) {\n const unsafe = /[&<>'\"\\s]+/;\n if (!unsafe.test(tag)) return tag;\n return tag.trim().split(unsafe)[0].trim();\n}\nasync function renderFragmentComponent(result, slots = {}) {\n const children = await renderSlotToString(result, slots?.default);\n return {\n render(destination) {\n if (children == null) return;\n destination.write(children);\n }\n };\n}\nasync function renderHTMLComponent(result, Component, _props, slots = {}) {\n const { slotInstructions, children } = await renderSlots(result, slots);\n const html = Component({ slots: children });\n const hydrationHtml = slotInstructions ? slotInstructions.map((instr) => chunkToString(result, instr)).join(\"\") : \"\";\n return {\n render(destination) {\n destination.write(markHTMLString(hydrationHtml + html));\n }\n };\n}\nfunction renderAstroComponent(result, displayName, Component, props, slots = {}) {\n if (containsServerDirective(props)) {\n return renderServerIsland(result, displayName, props, slots);\n }\n const instance = createAstroComponentInstance(result, displayName, Component, props, slots);\n return {\n async render(destination) {\n await instance.render(destination);\n }\n };\n}\nasync function renderComponent(result, displayName, Component, props, slots = {}) {\n if (isPromise(Component)) {\n Component = await Component.catch(handleCancellation);\n }\n if (isFragmentComponent(Component)) {\n return await renderFragmentComponent(result, slots).catch(handleCancellation);\n }\n props = normalizeProps(props);\n if (isHTMLComponent(Component)) {\n return await renderHTMLComponent(result, Component, props, slots).catch(handleCancellation);\n }\n if (isAstroComponentFactory(Component)) {\n return renderAstroComponent(result, displayName, Component, props, slots);\n }\n return await renderFrameworkComponent(result, displayName, Component, props, slots).catch(\n handleCancellation\n );\n function handleCancellation(e) {\n if (result.cancelled)\n return {\n render() {\n }\n };\n throw e;\n }\n}\nfunction normalizeProps(props) {\n if (props[\"class:list\"] !== void 0) {\n const value = props[\"class:list\"];\n delete props[\"class:list\"];\n props[\"class\"] = clsx(props[\"class\"], value);\n if (props[\"class\"] === \"\") {\n delete props[\"class\"];\n }\n }\n return props;\n}\nasync function renderComponentToString(result, displayName, Component, props, slots = {}, isPage = false, route) {\n let str = \"\";\n let renderedFirstPageChunk = false;\n let head = \"\";\n if (isPage && !result.partial && nonAstroPageNeedsHeadInjection(Component)) {\n head += chunkToString(result, maybeRenderHead());\n }\n try {\n const destination = {\n write(chunk) {\n if (isPage && !result.partial && !renderedFirstPageChunk) {\n renderedFirstPageChunk = true;\n if (!/\" : \"\\n\";\n str += doctype + head;\n }\n }\n if (chunk instanceof Response) return;\n str += chunkToString(result, chunk);\n }\n };\n const renderInstance = await renderComponent(result, displayName, Component, props, slots);\n await renderInstance.render(destination);\n } catch (e) {\n if (AstroError.is(e) && !e.loc) {\n e.setLocation({\n file: route?.component\n });\n }\n throw e;\n }\n return str;\n}\nfunction nonAstroPageNeedsHeadInjection(pageComponent) {\n return !!pageComponent?.[needsHeadRenderingSymbol];\n}\nexport {\n renderComponent,\n renderComponentToString\n};\n","import { markHTMLString } from \"../escape.js\";\nasync function renderScript(result, id) {\n if (result._metadata.renderedScripts.has(id)) return;\n result._metadata.renderedScripts.add(id);\n const inlined = result.inlinedScripts.get(id);\n if (inlined != null) {\n if (inlined) {\n return markHTMLString(``);\n } else {\n return \"\";\n }\n }\n const resolved = await result.resolve(id);\n return markHTMLString(``);\n}\nexport {\n renderScript\n};\n","import cssesc from \"cssesc\";\nimport { fade, slide } from \"../../transitions/index.js\";\nimport { markHTMLString } from \"./escape.js\";\nconst transitionNameMap = /* @__PURE__ */ new WeakMap();\nfunction incrementTransitionNumber(result) {\n let num = 1;\n if (transitionNameMap.has(result)) {\n num = transitionNameMap.get(result) + 1;\n }\n transitionNameMap.set(result, num);\n return num;\n}\nfunction createTransitionScope(result, hash) {\n const num = incrementTransitionNumber(result);\n return `astro-${hash}-${num}`;\n}\nconst getAnimations = (name) => {\n if (name === \"fade\") return fade();\n if (name === \"slide\") return slide();\n if (typeof name === \"object\") return name;\n};\nconst addPairs = (animations, stylesheet) => {\n for (const [direction, images] of Object.entries(animations)) {\n for (const [image, rules] of Object.entries(images)) {\n stylesheet.addAnimationPair(direction, image, rules);\n }\n }\n};\nconst reEncodeValidChars = \"0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ-_\".split(\"\").reduce((v, c) => (v[c.charCodeAt(0)] = c, v), []);\nconst reEncodeInValidStart = \"-0123456789_\".split(\"\").reduce((v, c) => (v[c.charCodeAt(0)] = c, v), []);\nfunction reEncode(s) {\n let result = \"\";\n let codepoint;\n for (let i = 0; i < s.length; i += (codepoint ?? 0) > 65535 ? 2 : 1) {\n codepoint = s.codePointAt(i);\n if (codepoint !== void 0) {\n result += codepoint < 128 ? codepoint === 95 ? \"__\" : reEncodeValidChars[codepoint] ?? \"_\" + codepoint.toString(16).padStart(2, \"0\") : String.fromCodePoint(codepoint);\n }\n }\n return reEncodeInValidStart[result.codePointAt(0) ?? 0] ? \"_\" + result : result;\n}\nfunction renderTransition(result, hash, animationName, transitionName) {\n if (typeof (transitionName ?? \"\") !== \"string\") {\n throw new Error(`Invalid transition name {${transitionName}}`);\n }\n if (!animationName) animationName = \"fade\";\n const scope = createTransitionScope(result, hash);\n const name = transitionName ? cssesc(reEncode(transitionName), { isIdentifier: true }) : scope;\n const sheet = new ViewTransitionStyleSheet(scope, name);\n const animations = getAnimations(animationName);\n if (animations) {\n addPairs(animations, sheet);\n } else if (animationName === \"none\") {\n sheet.addFallback(\"old\", \"animation: none; mix-blend-mode: normal;\");\n sheet.addModern(\"old\", \"animation: none; opacity: 0; mix-blend-mode: normal;\");\n sheet.addAnimationRaw(\"new\", \"animation: none; mix-blend-mode: normal;\");\n sheet.addModern(\"group\", \"animation: none\");\n }\n result._metadata.extraHead.push(markHTMLString(``));\n return scope;\n}\nfunction createAnimationScope(transitionName, animations) {\n const hash = Math.random().toString(36).slice(2, 8);\n const scope = `astro-${hash}`;\n const sheet = new ViewTransitionStyleSheet(scope, transitionName);\n addPairs(animations, sheet);\n return { scope, styles: sheet.toString().replaceAll('\"', \"\") };\n}\nclass ViewTransitionStyleSheet {\n constructor(scope, name) {\n this.scope = scope;\n this.name = name;\n }\n modern = [];\n fallback = [];\n toString() {\n const { scope, name } = this;\n const [modern, fallback] = [this.modern, this.fallback].map((rules) => rules.join(\"\"));\n return [\n `[data-astro-transition-scope=\"${scope}\"] { view-transition-name: ${name}; }`,\n this.layer(modern),\n fallback\n ].join(\"\");\n }\n layer(cssText) {\n return cssText ? `@layer astro { ${cssText} }` : \"\";\n }\n addRule(target, cssText) {\n this[target].push(cssText);\n }\n addAnimationRaw(image, animation) {\n this.addModern(image, animation);\n this.addFallback(image, animation);\n }\n addModern(image, animation) {\n const { name } = this;\n this.addRule(\"modern\", `::view-transition-${image}(${name}) { ${animation} }`);\n }\n addFallback(image, animation) {\n const { scope } = this;\n this.addRule(\n \"fallback\",\n // Two selectors here, the second in case there is an animation on the root.\n `[data-astro-transition-fallback=\"${image}\"] [data-astro-transition-scope=\"${scope}\"],\n\t\t\t[data-astro-transition-fallback=\"${image}\"][data-astro-transition-scope=\"${scope}\"] { ${animation} }`\n );\n }\n addAnimationPair(direction, image, rules) {\n const { scope, name } = this;\n const animation = stringifyAnimation(rules);\n const prefix = direction === \"backwards\" ? `[data-astro-transition=back]` : direction === \"forwards\" ? \"\" : `[data-astro-transition=${direction}]`;\n this.addRule(\"modern\", `${prefix}::view-transition-${image}(${name}) { ${animation} }`);\n this.addRule(\n \"fallback\",\n `${prefix}[data-astro-transition-fallback=\"${image}\"] [data-astro-transition-scope=\"${scope}\"],\n\t\t\t${prefix}[data-astro-transition-fallback=\"${image}\"][data-astro-transition-scope=\"${scope}\"] { ${animation} }`\n );\n }\n}\nfunction addAnimationProperty(builder, prop, value) {\n let arr = builder[prop];\n if (Array.isArray(arr)) {\n arr.push(value.toString());\n } else {\n builder[prop] = [value.toString()];\n }\n}\nfunction animationBuilder() {\n return {\n toString() {\n let out = \"\";\n for (let k in this) {\n let value = this[k];\n if (Array.isArray(value)) {\n out += `\n\t${k}: ${value.join(\", \")};`;\n }\n }\n return out;\n }\n };\n}\nfunction stringifyAnimation(anim) {\n if (Array.isArray(anim)) {\n return stringifyAnimations(anim);\n } else {\n return stringifyAnimations([anim]);\n }\n}\nfunction stringifyAnimations(anims) {\n const builder = animationBuilder();\n for (const anim of anims) {\n if (anim.duration) {\n addAnimationProperty(builder, \"animation-duration\", toTimeValue(anim.duration));\n }\n if (anim.easing) {\n addAnimationProperty(builder, \"animation-timing-function\", anim.easing);\n }\n if (anim.direction) {\n addAnimationProperty(builder, \"animation-direction\", anim.direction);\n }\n if (anim.delay) {\n addAnimationProperty(builder, \"animation-delay\", anim.delay);\n }\n if (anim.fillMode) {\n addAnimationProperty(builder, \"animation-fill-mode\", anim.fillMode);\n }\n addAnimationProperty(builder, \"animation-name\", anim.name);\n }\n return builder.toString();\n}\nfunction toTimeValue(num) {\n return typeof num === \"number\" ? num + \"ms\" : num;\n}\nexport {\n createAnimationScope,\n createTransitionScope,\n renderTransition\n};\n","import { createComponent } from \"./astro-component.js\";\nimport { createAstro } from \"./astro-global.js\";\nimport { renderEndpoint } from \"./endpoint.js\";\nimport {\n escapeHTML,\n HTMLBytes,\n HTMLString,\n isHTMLString,\n markHTMLString,\n unescapeHTML\n} from \"./escape.js\";\nimport { renderJSX } from \"./jsx.js\";\nimport {\n addAttribute,\n createHeadAndContent,\n defineScriptVars,\n Fragment,\n maybeRenderHead,\n renderTemplate,\n renderComponent,\n Renderer,\n renderHead,\n renderHTMLElement,\n renderPage,\n renderScript,\n renderScriptElement,\n renderSlot,\n renderSlotToString,\n renderTemplate as renderTemplate2,\n renderToString,\n renderUniqueStylesheet,\n voidElementNames\n} from \"./render/index.js\";\nimport { createTransitionScope, renderTransition } from \"./transition.js\";\nimport { markHTMLString as markHTMLString2 } from \"./escape.js\";\nimport { Renderer as Renderer2, addAttribute as addAttribute2 } from \"./render/index.js\";\nfunction mergeSlots(...slotted) {\n const slots = {};\n for (const slot of slotted) {\n if (!slot) continue;\n if (typeof slot === \"object\") {\n Object.assign(slots, slot);\n } else if (typeof slot === \"function\") {\n Object.assign(slots, mergeSlots(slot()));\n }\n }\n return slots;\n}\nfunction __astro_tag_component__(Component, rendererName) {\n if (!Component) return;\n if (typeof Component !== \"function\") return;\n Object.defineProperty(Component, Renderer2, {\n value: rendererName,\n enumerable: false,\n writable: false\n });\n}\nfunction spreadAttributes(values = {}, _name, { class: scopedClassName } = {}) {\n let output = \"\";\n if (scopedClassName) {\n if (typeof values.class !== \"undefined\") {\n values.class += ` ${scopedClassName}`;\n } else if (typeof values[\"class:list\"] !== \"undefined\") {\n values[\"class:list\"] = [values[\"class:list\"], scopedClassName];\n } else {\n values.class = scopedClassName;\n }\n }\n for (const [key, value] of Object.entries(values)) {\n output += addAttribute2(value, key, true);\n }\n return markHTMLString2(output);\n}\nfunction defineStyleVars(defs) {\n let output = \"\";\n let arr = !Array.isArray(defs) ? [defs] : defs;\n for (const vars of arr) {\n for (const [key, value] of Object.entries(vars)) {\n if (value || value === 0) {\n output += `--${key}: ${value};`;\n }\n }\n }\n return markHTMLString2(output);\n}\nexport {\n Fragment,\n HTMLBytes,\n HTMLString,\n Renderer,\n __astro_tag_component__,\n addAttribute,\n createAstro,\n createComponent,\n createHeadAndContent,\n createTransitionScope,\n defineScriptVars,\n defineStyleVars,\n escapeHTML,\n isHTMLString,\n markHTMLString,\n maybeRenderHead,\n mergeSlots,\n renderTemplate as render,\n renderComponent,\n renderEndpoint,\n renderHTMLElement,\n renderHead,\n renderJSX,\n renderPage,\n renderScript,\n renderScriptElement,\n renderSlot,\n renderSlotToString,\n renderTemplate2 as renderTemplate,\n renderToString,\n renderTransition,\n renderUniqueStylesheet,\n spreadAttributes,\n unescapeHTML,\n voidElementNames\n};\n"],"names":["AstroErrorData.InvalidComponentArgs","AstroErrorData.AstroGlobUsedOutside","AstroErrorData.AstroGlobNoMatch","AstroErrorData.MissingMediaQueryDirective","AstroErrorData.NoMatchingImport","islandScriptDev","islandScript","AstroErrorData.NoMatchingRenderer","AstroErrorData.NoClientOnlyHint","AstroErrorData.NoClientEntrypoint","addAttribute2","markHTMLString2"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30]} \ No newline at end of file diff --git a/Target/chunks/astro/server_O4728HY4.mjs.map b/Target/chunks/astro/server_O4728HY4.mjs.map new file mode 100644 index 00000000..55c1b74c --- /dev/null +++ b/Target/chunks/astro/server_O4728HY4.mjs.map @@ -0,0 +1 @@ +{"version":3,"file":"server_O4728HY4.mjs","sources":["../../../../../../../node_modules/astro/dist/core/errors/errors-data.js","../../../../../../../node_modules/astro/dist/core/errors/utils.js","../../../../../../../node_modules/astro/dist/core/errors/printer.js","../../../../../../../node_modules/astro/dist/core/errors/errors.js","../../../../../../../node_modules/astro/dist/runtime/server/astro-component.js","../../../../../../../node_modules/astro/dist/core/constants.js","../../../../../../../node_modules/astro/dist/runtime/server/astro-global.js","../../../../../../../node_modules/astro/dist/runtime/server/util.js","../../../../../../../node_modules/astro/dist/runtime/server/escape.js","../../../../../../../node_modules/astro/dist/runtime/server/render/instruction.js","../../../../../../../node_modules/astro/dist/runtime/server/serialize.js","../../../../../../../node_modules/astro/dist/runtime/server/hydration.js","../../../../../../../node_modules/astro/dist/runtime/server/shorthash.js","../../../../../../../node_modules/astro/dist/runtime/server/render/astro/factory.js","../../../../../../../node_modules/astro/dist/runtime/server/render/astro/head-and-content.js","../../../../../../../node_modules/astro/dist/runtime/server/astro-island.prebuilt-dev.js","../../../../../../../node_modules/astro/dist/runtime/server/astro-island.prebuilt.js","../../../../../../../node_modules/astro/dist/runtime/server/scripts.js","../../../../../../../node_modules/astro/dist/runtime/server/render/util.js","../../../../../../../node_modules/astro/dist/runtime/server/render/head.js","../../../../../../../node_modules/astro/dist/runtime/server/render/astro/render-template.js","../../../../../../../node_modules/astro/dist/runtime/server/render/slot.js","../../../../../../../node_modules/astro/dist/runtime/server/render/common.js","../../../../../../../node_modules/astro/dist/runtime/server/render/any.js","../../../../../../../node_modules/astro/dist/runtime/server/render/astro/instance.js","../../../../../../../node_modules/astro/dist/runtime/server/render/dom.js","../../../../../../../node_modules/astro/dist/core/encryption.js","../../../../../../../node_modules/astro/dist/runtime/server/render/server-islands.js","../../../../../../../node_modules/astro/dist/runtime/server/render/component.js","../../../../../../../node_modules/astro/dist/runtime/server/render/script.js","../../../../../../../node_modules/astro/dist/runtime/server/transition.js","../../../../../../../node_modules/astro/dist/runtime/server/index.js"],"sourcesContent":["const UnknownCompilerError = {\n name: \"UnknownCompilerError\",\n title: \"Unknown compiler error.\",\n hint: \"This is almost always a problem with the Astro compiler, not your code. Please open an issue at https://astro.build/issues/compiler.\"\n};\nconst StaticRedirectNotAvailable = {\n name: \"StaticRedirectNotAvailable\",\n title: \"`Astro.redirect` is not available in static mode.\",\n message: \"Redirects are only available when using `output: 'server'` or `output: 'hybrid'`. Update your Astro config if you need SSR features.\",\n hint: \"See https://docs.astro.build/en/guides/server-side-rendering/ for more information on how to enable SSR.\"\n};\nconst ClientAddressNotAvailable = {\n name: \"ClientAddressNotAvailable\",\n title: \"`Astro.clientAddress` is not available in current adapter.\",\n message: (adapterName) => `\\`Astro.clientAddress\\` is not available in the \\`${adapterName}\\` adapter. File an issue with the adapter to add support.`\n};\nconst PrerenderClientAddressNotAvailable = {\n name: \"PrerenderClientAddressNotAvailable\",\n title: \"`Astro.clientAddress` cannot be used inside prerendered routes.\",\n message: `\\`Astro.clientAddress\\` cannot be used inside prerendered routes`\n};\nconst StaticClientAddressNotAvailable = {\n name: \"StaticClientAddressNotAvailable\",\n title: \"`Astro.clientAddress` is not available in static mode.\",\n message: \"`Astro.clientAddress` is only available when using `output: 'server'` or `output: 'hybrid'`. Update your Astro config if you need SSR features.\",\n hint: \"See https://docs.astro.build/en/guides/server-side-rendering/ for more information on how to enable SSR.\"\n};\nconst NoMatchingStaticPathFound = {\n name: \"NoMatchingStaticPathFound\",\n title: \"No static path found for requested path.\",\n message: (pathName) => `A \\`getStaticPaths()\\` route pattern was matched, but no matching static path was found for requested path \\`${pathName}\\`.`,\n hint: (possibleRoutes) => `Possible dynamic routes being matched: ${possibleRoutes.join(\", \")}.`\n};\nconst OnlyResponseCanBeReturned = {\n name: \"OnlyResponseCanBeReturned\",\n title: \"Invalid type returned by Astro page.\",\n message: (route, returnedValue) => `Route \\`${route ? route : \"\"}\\` returned a \\`${returnedValue}\\`. Only a [Response](https://developer.mozilla.org/en-US/docs/Web/API/Response) can be returned from Astro files.`,\n hint: \"See https://docs.astro.build/en/guides/server-side-rendering/#response for more information.\"\n};\nconst MissingMediaQueryDirective = {\n name: \"MissingMediaQueryDirective\",\n title: \"Missing value for `client:media` directive.\",\n message: 'Media query not provided for `client:media` directive. A media query similar to `client:media=\"(max-width: 600px)\"` must be provided'\n};\nconst NoMatchingRenderer = {\n name: \"NoMatchingRenderer\",\n title: \"No matching renderer found.\",\n message: (componentName, componentExtension, plural, validRenderersCount) => `Unable to render \\`${componentName}\\`.\n\n${validRenderersCount > 0 ? `There ${plural ? \"are\" : \"is\"} ${validRenderersCount} renderer${plural ? \"s\" : \"\"} configured in your \\`astro.config.mjs\\` file,\nbut ${plural ? \"none were\" : \"it was not\"} able to server-side render \\`${componentName}\\`.` : `No valid renderer was found ${componentExtension ? `for the \\`.${componentExtension}\\` file extension.` : `for this file extension.`}`}`,\n hint: (probableRenderers) => `Did you mean to enable the ${probableRenderers} integration?\n\nSee https://docs.astro.build/en/guides/framework-components/ for more information on how to install and configure integrations.`\n};\nconst NoClientEntrypoint = {\n name: \"NoClientEntrypoint\",\n title: \"No client entrypoint specified in renderer.\",\n message: (componentName, clientDirective, rendererName) => `\\`${componentName}\\` component has a \\`client:${clientDirective}\\` directive, but no client entrypoint was provided by \\`${rendererName}\\`.`,\n hint: \"See https://docs.astro.build/en/reference/integrations-reference/#addrenderer-option for more information on how to configure your renderer.\"\n};\nconst NoClientOnlyHint = {\n name: \"NoClientOnlyHint\",\n title: \"Missing hint on client:only directive.\",\n message: (componentName) => `Unable to render \\`${componentName}\\`. When using the \\`client:only\\` hydration strategy, Astro needs a hint to use the correct renderer.`,\n hint: (probableRenderers) => `Did you mean to pass \\`client:only=\"${probableRenderers}\"\\`? See https://docs.astro.build/en/reference/directives-reference/#clientonly for more information on client:only`\n};\nconst InvalidGetStaticPathParam = {\n name: \"InvalidGetStaticPathParam\",\n title: \"Invalid value returned by a `getStaticPaths` path.\",\n message: (paramType) => `Invalid params given to \\`getStaticPaths\\` path. Expected an \\`object\\`, got \\`${paramType}\\``,\n hint: \"See https://docs.astro.build/en/reference/api-reference/#getstaticpaths for more information on getStaticPaths.\"\n};\nconst InvalidGetStaticPathsEntry = {\n name: \"InvalidGetStaticPathsEntry\",\n title: \"Invalid entry inside getStaticPath's return value\",\n message: (entryType) => `Invalid entry returned by getStaticPaths. Expected an object, got \\`${entryType}\\``,\n hint: \"If you're using a `.map` call, you might be looking for `.flatMap()` instead. See https://docs.astro.build/en/reference/api-reference/#getstaticpaths for more information on getStaticPaths.\"\n};\nconst InvalidGetStaticPathsReturn = {\n name: \"InvalidGetStaticPathsReturn\",\n title: \"Invalid value returned by getStaticPaths.\",\n message: (returnType) => `Invalid type returned by \\`getStaticPaths\\`. Expected an \\`array\\`, got \\`${returnType}\\``,\n hint: \"See https://docs.astro.build/en/reference/api-reference/#getstaticpaths for more information on getStaticPaths.\"\n};\nconst GetStaticPathsRemovedRSSHelper = {\n name: \"GetStaticPathsRemovedRSSHelper\",\n title: \"getStaticPaths RSS helper is not available anymore.\",\n message: \"The RSS helper has been removed from `getStaticPaths`. Try the new @astrojs/rss package instead.\",\n hint: \"See https://docs.astro.build/en/guides/rss/ for more information.\"\n};\nconst GetStaticPathsExpectedParams = {\n name: \"GetStaticPathsExpectedParams\",\n title: \"Missing params property on `getStaticPaths` route.\",\n message: \"Missing or empty required `params` property on `getStaticPaths` route.\",\n hint: \"See https://docs.astro.build/en/reference/api-reference/#getstaticpaths for more information on getStaticPaths.\"\n};\nconst GetStaticPathsInvalidRouteParam = {\n name: \"GetStaticPathsInvalidRouteParam\",\n title: \"Invalid value for `getStaticPaths` route parameter.\",\n message: (key, value, valueType) => `Invalid getStaticPaths route parameter for \\`${key}\\`. Expected undefined, a string or a number, received \\`${valueType}\\` (\\`${value}\\`)`,\n hint: \"See https://docs.astro.build/en/reference/api-reference/#getstaticpaths for more information on getStaticPaths.\"\n};\nconst GetStaticPathsRequired = {\n name: \"GetStaticPathsRequired\",\n title: \"`getStaticPaths()` function required for dynamic routes.\",\n message: \"`getStaticPaths()` function is required for dynamic routes. Make sure that you `export` a `getStaticPaths` function from your dynamic route.\",\n hint: `See https://docs.astro.build/en/guides/routing/#dynamic-routes for more information on dynamic routes.\n\nAlternatively, set \\`output: \"server\"\\` or \\`output: \"hybrid\"\\` in your Astro config file to switch to a non-static server build. This error can also occur if using \\`export const prerender = true;\\`.\nSee https://docs.astro.build/en/guides/server-side-rendering/ for more information on non-static rendering.`\n};\nconst ReservedSlotName = {\n name: \"ReservedSlotName\",\n title: \"Invalid slot name.\",\n message: (slotName) => `Unable to create a slot named \\`${slotName}\\`. \\`${slotName}\\` is a reserved slot name. Please update the name of this slot.`\n};\nconst NoAdapterInstalled = {\n name: \"NoAdapterInstalled\",\n title: \"Cannot use Server-side Rendering without an adapter.\",\n message: `Cannot use \\`output: 'server'\\` or \\`output: 'hybrid'\\` without an adapter. Please install and configure the appropriate server adapter for your final deployment.`,\n hint: \"See https://docs.astro.build/en/guides/server-side-rendering/ for more information.\"\n};\nconst NoMatchingImport = {\n name: \"NoMatchingImport\",\n title: \"No import found for component.\",\n message: (componentName) => `Could not render \\`${componentName}\\`. No matching import has been found for \\`${componentName}\\`.`,\n hint: \"Please make sure the component is properly imported.\"\n};\nconst InvalidPrerenderExport = {\n name: \"InvalidPrerenderExport\",\n title: \"Invalid prerender export.\",\n message(prefix, suffix, isHydridOutput) {\n const defaultExpectedValue = isHydridOutput ? \"false\" : \"true\";\n let msg = `A \\`prerender\\` export has been detected, but its value cannot be statically analyzed.`;\n if (prefix !== \"const\") msg += `\nExpected \\`const\\` declaration but got \\`${prefix}\\`.`;\n if (suffix !== \"true\")\n msg += `\nExpected \\`${defaultExpectedValue}\\` value but got \\`${suffix}\\`.`;\n return msg;\n },\n hint: \"Mutable values declared at runtime are not supported. Please make sure to use exactly `export const prerender = true`.\"\n};\nconst InvalidComponentArgs = {\n name: \"InvalidComponentArgs\",\n title: \"Invalid component arguments.\",\n message: (name) => `Invalid arguments passed to${name ? ` <${name}>` : \"\"} component.`,\n hint: \"Astro components cannot be rendered directly via function call, such as `Component()` or `{items.map(Component)}`.\"\n};\nconst PageNumberParamNotFound = {\n name: \"PageNumberParamNotFound\",\n title: \"Page number param not found.\",\n message: (paramName) => `[paginate()] page number param \\`${paramName}\\` not found in your filepath.`,\n hint: \"Rename your file to `[page].astro` or `[...page].astro`.\"\n};\nconst ImageMissingAlt = {\n name: \"ImageMissingAlt\",\n title: 'Image missing required \"alt\" property.',\n message: 'Image missing \"alt\" property. \"alt\" text is required to describe important images on the page.',\n hint: 'Use an empty string (\"\") for decorative images.'\n};\nconst InvalidImageService = {\n name: \"InvalidImageService\",\n title: \"Error while loading image service.\",\n message: \"There was an error loading the configured image service. Please see the stack trace for more information.\"\n};\nconst MissingImageDimension = {\n name: \"MissingImageDimension\",\n title: \"Missing image dimensions\",\n message: (missingDimension, imageURL) => `Missing ${missingDimension === \"both\" ? \"width and height attributes\" : `${missingDimension} attribute`} for ${imageURL}. When using remote images, both dimensions are required unless in order to avoid CLS.`,\n hint: \"If your image is inside your `src` folder, you probably meant to import it instead. See [the Imports guide for more information](https://docs.astro.build/en/guides/imports/#other-assets). You can also use `inferSize={true}` for remote images to get the original dimensions.\"\n};\nconst FailedToFetchRemoteImageDimensions = {\n name: \"FailedToFetchRemoteImageDimensions\",\n title: \"Failed to retrieve remote image dimensions\",\n message: (imageURL) => `Failed to get the dimensions for ${imageURL}.`,\n hint: \"Verify your remote image URL is accurate, and that you are not using `inferSize` with a file located in your `public/` folder.\"\n};\nconst UnsupportedImageFormat = {\n name: \"UnsupportedImageFormat\",\n title: \"Unsupported image format\",\n message: (format, imagePath, supportedFormats) => `Received unsupported format \\`${format}\\` from \\`${imagePath}\\`. Currently only ${supportedFormats.join(\n \", \"\n )} are supported by our image services.`,\n hint: \"Using an `img` tag directly instead of the `Image` component might be what you're looking for.\"\n};\nconst UnsupportedImageConversion = {\n name: \"UnsupportedImageConversion\",\n title: \"Unsupported image conversion\",\n message: \"Converting between vector (such as SVGs) and raster (such as PNGs and JPEGs) images is not currently supported.\"\n};\nconst PrerenderDynamicEndpointPathCollide = {\n name: \"PrerenderDynamicEndpointPathCollide\",\n title: \"Prerendered dynamic endpoint has path collision.\",\n message: (pathname) => `Could not render \\`${pathname}\\` with an \\`undefined\\` param as the generated path will collide during prerendering. Prevent passing \\`undefined\\` as \\`params\\` for the endpoint's \\`getStaticPaths()\\` function, or add an additional extension to the endpoint's filename.`,\n hint: (filename) => `Rename \\`${filename}\\` to \\`${filename.replace(/\\.(?:js|ts)/, (m) => `.json` + m)}\\``\n};\nconst ExpectedImage = {\n name: \"ExpectedImage\",\n title: \"Expected src to be an image.\",\n message: (src, typeofOptions, fullOptions) => `Expected \\`src\\` property for \\`getImage\\` or \\`\\` to be either an ESM imported image or a string with the path of a remote image. Received \\`${src}\\` (type: \\`${typeofOptions}\\`).\n\nFull serialized options received: \\`${fullOptions}\\`.`,\n hint: \"This error can often happen because of a wrong path. Make sure the path to your image is correct. If you're passing an async function, make sure to call and await it.\"\n};\nconst ExpectedImageOptions = {\n name: \"ExpectedImageOptions\",\n title: \"Expected image options.\",\n message: (options) => `Expected getImage() parameter to be an object. Received \\`${options}\\`.`\n};\nconst ExpectedNotESMImage = {\n name: \"ExpectedNotESMImage\",\n title: \"Expected image options, not an ESM-imported image.\",\n message: \"An ESM-imported image cannot be passed directly to `getImage()`. Instead, pass an object with the image in the `src` property.\",\n hint: \"Try changing `getImage(myImage)` to `getImage({ src: myImage })`\"\n};\nconst IncompatibleDescriptorOptions = {\n name: \"IncompatibleDescriptorOptions\",\n title: \"Cannot set both `densities` and `widths`\",\n message: \"Only one of `densities` or `widths` can be specified. In most cases, you'll probably want to use only `widths` if you require specific widths.\",\n hint: \"Those attributes are used to construct a `srcset` attribute, which cannot have both `x` and `w` descriptors.\"\n};\nconst ImageNotFound = {\n name: \"ImageNotFound\",\n title: \"Image not found.\",\n message: (imagePath) => `Could not find requested image \\`${imagePath}\\`. Does it exist?`,\n hint: \"This is often caused by a typo in the image path. Please make sure the file exists, and is spelled correctly.\"\n};\nconst NoImageMetadata = {\n name: \"NoImageMetadata\",\n title: \"Could not process image metadata.\",\n message: (imagePath) => `Could not process image metadata${imagePath ? ` for \\`${imagePath}\\`` : \"\"}.`,\n hint: \"This is often caused by a corrupted or malformed image. Re-exporting the image from your image editor may fix this issue.\"\n};\nconst MarkdownImageNotFound = {\n name: \"MarkdownImageNotFound\",\n title: \"Image not found.\",\n message: (imagePath, fullImagePath) => `Could not find requested image \\`${imagePath}\\`${fullImagePath ? ` at \\`${fullImagePath}\\`.` : \".\"}`,\n hint: \"This is often caused by a typo in the image path. Please make sure the file exists, and is spelled correctly.\"\n};\nconst CouldNotTransformImage = {\n name: \"CouldNotTransformImage\",\n title: \"Could not transform image.\",\n message: (imagePath) => `Could not transform image \\`${imagePath}\\`. See the stack trace for more information.`,\n hint: \"This is often caused by a corrupted or malformed image. Re-exporting the image from your image editor may fix this issue.\"\n};\nconst ResponseSentError = {\n name: \"ResponseSentError\",\n title: \"Unable to set response.\",\n message: \"The response has already been sent to the browser and cannot be altered.\"\n};\nconst MiddlewareNoDataOrNextCalled = {\n name: \"MiddlewareNoDataOrNextCalled\",\n title: \"The middleware didn't return a `Response`.\",\n message: \"Make sure your middleware returns a `Response` object, either directly or by returning the `Response` from calling the `next` function.\"\n};\nconst MiddlewareNotAResponse = {\n name: \"MiddlewareNotAResponse\",\n title: \"The middleware returned something that is not a `Response` object.\",\n message: \"Any data returned from middleware must be a valid `Response` object.\"\n};\nconst EndpointDidNotReturnAResponse = {\n name: \"EndpointDidNotReturnAResponse\",\n title: \"The endpoint did not return a `Response`.\",\n message: \"An endpoint must return either a `Response`, or a `Promise` that resolves with a `Response`.\"\n};\nconst LocalsNotAnObject = {\n name: \"LocalsNotAnObject\",\n title: \"Value assigned to `locals` is not accepted.\",\n message: \"`locals` can only be assigned to an object. Other values like numbers, strings, etc. are not accepted.\",\n hint: \"If you tried to remove some information from the `locals` object, try to use `delete` or set the property to `undefined`.\"\n};\nconst AstroResponseHeadersReassigned = {\n name: \"AstroResponseHeadersReassigned\",\n title: \"`Astro.response.headers` must not be reassigned.\",\n message: \"Individual headers can be added to and removed from `Astro.response.headers`, but it must not be replaced with another instance of `Headers` altogether.\",\n hint: \"Consider using `Astro.response.headers.add()`, and `Astro.response.headers.delete()`.\"\n};\nconst MiddlewareCantBeLoaded = {\n name: \"MiddlewareCantBeLoaded\",\n title: \"Can't load the middleware.\",\n message: \"An unknown error was thrown while loading your middleware.\"\n};\nconst LocalImageUsedWrongly = {\n name: \"LocalImageUsedWrongly\",\n title: \"Local images must be imported.\",\n message: (imageFilePath) => `\\`Image\\`'s and \\`getImage\\`'s \\`src\\` parameter must be an imported image or an URL, it cannot be a string filepath. Received \\`${imageFilePath}\\`.`,\n hint: \"If you want to use an image from your `src` folder, you need to either import it or if the image is coming from a content collection, use the [image() schema helper](https://docs.astro.build/en/guides/images/#images-in-content-collections). See https://docs.astro.build/en/guides/images/#src-required for more information on the `src` property.\"\n};\nconst AstroGlobUsedOutside = {\n name: \"AstroGlobUsedOutside\",\n title: \"Astro.glob() used outside of an Astro file.\",\n message: (globStr) => `\\`Astro.glob(${globStr})\\` can only be used in \\`.astro\\` files. \\`import.meta.glob(${globStr})\\` can be used instead to achieve a similar result.`,\n hint: \"See Vite's documentation on `import.meta.glob` for more information: https://vitejs.dev/guide/features.html#glob-import\"\n};\nconst AstroGlobNoMatch = {\n name: \"AstroGlobNoMatch\",\n title: \"Astro.glob() did not match any files.\",\n message: (globStr) => `\\`Astro.glob(${globStr})\\` did not return any matching files.`,\n hint: \"Check the pattern for typos.\"\n};\nconst RedirectWithNoLocation = {\n name: \"RedirectWithNoLocation\",\n title: \"A redirect must be given a location with the `Location` header.\"\n};\nconst InvalidDynamicRoute = {\n name: \"InvalidDynamicRoute\",\n title: \"Invalid dynamic route.\",\n message: (route, invalidParam, received) => `The ${invalidParam} param for route ${route} is invalid. Received **${received}**.`\n};\nconst MissingSharp = {\n name: \"MissingSharp\",\n title: \"Could not find Sharp.\",\n message: \"Could not find Sharp. Please install Sharp (`sharp`) manually into your project or migrate to another image service.\",\n hint: \"See Sharp's installation instructions for more information: https://sharp.pixelplumbing.com/install. If you are not relying on `astro:assets` to optimize, transform, or process any images, you can configure a passthrough image service instead of installing Sharp. See https://docs.astro.build/en/reference/errors/missing-sharp for more information.\\n\\nSee https://docs.astro.build/en/guides/images/#default-image-service for more information on how to migrate to another image service.\"\n};\nconst UnknownViteError = {\n name: \"UnknownViteError\",\n title: \"Unknown Vite Error.\"\n};\nconst FailedToLoadModuleSSR = {\n name: \"FailedToLoadModuleSSR\",\n title: \"Could not import file.\",\n message: (importName) => `Could not import \\`${importName}\\`.`,\n hint: \"This is often caused by a typo in the import path. Please make sure the file exists.\"\n};\nconst InvalidGlob = {\n name: \"InvalidGlob\",\n title: \"Invalid glob pattern.\",\n message: (globPattern) => `Invalid glob pattern: \\`${globPattern}\\`. Glob patterns must start with './', '../' or '/'.`,\n hint: \"See https://docs.astro.build/en/guides/imports/#glob-patterns for more information on supported glob patterns.\"\n};\nconst FailedToFindPageMapSSR = {\n name: \"FailedToFindPageMapSSR\",\n title: \"Astro couldn't find the correct page to render\",\n message: \"Astro couldn't find the correct page to render, probably because it wasn't correctly mapped for SSR usage. This is an internal error. Please file an issue.\"\n};\nconst MissingLocale = {\n name: \"MissingLocaleError\",\n title: \"The provided locale does not exist.\",\n message: (locale) => `The locale/path \\`${locale}\\` does not exist in the configured \\`i18n.locales\\`.`\n};\nconst MissingIndexForInternationalization = {\n name: \"MissingIndexForInternationalizationError\",\n title: \"Index page not found.\",\n message: (defaultLocale) => `Could not find index page. A root index page is required in order to create a redirect to the index URL of the default locale. (\\`/${defaultLocale}\\`)`,\n hint: (src) => `Create an index page (\\`index.astro, index.md, etc.\\`) in \\`${src}\\`.`\n};\nconst IncorrectStrategyForI18n = {\n name: \"IncorrectStrategyForI18n\",\n title: \"You can't use the current function with the current strategy\",\n message: (functionName) => `The function \\`${functionName}\\` can only be used when the \\`i18n.routing.strategy\\` is set to \\`\"manual\"\\`.`\n};\nconst NoPrerenderedRoutesWithDomains = {\n name: \"NoPrerenderedRoutesWithDomains\",\n title: \"Prerendered routes aren't supported when internationalization domains are enabled.\",\n message: (component) => `Static pages aren't yet supported with multiple domains. To enable this feature, you must disable prerendering for the page ${component}`\n};\nconst MissingMiddlewareForInternationalization = {\n name: \"MissingMiddlewareForInternationalization\",\n title: \"Enabled manual internationalization routing without having a middleware.\",\n message: \"Your configuration setting `i18n.routing: 'manual'` requires you to provide your own i18n `middleware` file.\"\n};\nconst RewriteEncounteredAnError = {\n name: \"RewriteEncounteredAnError\",\n title: \"Astro couldn't find the route to rewrite, or if was found but it emitted an error during the rendering phase.\",\n message: (route, stack) => `The route ${route} that you tried to render doesn't exist, or it emitted an error during the rendering phase. ${stack ? stack : \"\"}.`\n};\nconst CantRenderPage = {\n name: \"CantRenderPage\",\n title: \"Astro can't render the route.\",\n message: \"Astro cannot find any content to render for this route. There is no file or redirect associated with this route.\",\n hint: \"If you expect to find a route here, this may be an Astro bug. Please file an issue/restart the dev server\"\n};\nconst UnhandledRejection = {\n name: \"UnhandledRejection\",\n title: \"Unhandled rejection\",\n message: (stack) => `Astro detected an unhandled rejection. Here's the stack trace:\n${stack}`,\n hint: \"Make sure your promises all have an `await` or a `.catch()` handler.\"\n};\nconst i18nNotEnabled = {\n name: \"i18nNotEnabled\",\n title: \"i18n Not Enabled\",\n message: \"The `astro:i18n` module can not be used without enabling i18n in your Astro config.\",\n hint: \"See https://docs.astro.build/en/guides/internationalization for a guide on setting up i18n.\"\n};\nconst i18nNoLocaleFoundInPath = {\n name: \"i18nNoLocaleFoundInPath\",\n title: \"The path doesn't contain any locale\",\n message: \"You tried to use an i18n utility on a path that doesn't contain any locale. You can use `pathHasLocale` first to determine if the path has a locale.\"\n};\nconst RouteNotFound = {\n name: \"RouteNotFound\",\n title: \"Route not found.\",\n message: `Astro could not find a route that matches the one you requested.`\n};\nconst EnvInvalidVariables = {\n name: \"EnvInvalidVariables\",\n title: \"Invalid Environment Variables\",\n message: (errors) => `The following environment variables defined in \\`experimental.env.schema\\` are invalid:\n\n${errors.map((err) => `- ${err}`).join(\"\\n\")}\n`\n};\nconst EnvUnsupportedGetSecret = {\n name: \"EnvUnsupportedGetSecret\",\n title: \"Unsupported astro:env getSecret\",\n message: \"`astro:env/server` exported function `getSecret` is not supported by your adapter.\"\n};\nconst ServerOnlyModule = {\n name: \"ServerOnlyModule\",\n title: \"Module is only available server-side\",\n message: (name) => `The \"${name}\" module is only available server-side.`\n};\nconst RewriteWithBodyUsed = {\n name: \"RewriteWithBodyUsed\",\n title: \"Cannot use Astro.rewrite after the request body has been read\",\n message: \"Astro.rewrite() cannot be used if the request body has already been read. If you need to read the body, first clone the request.\"\n};\nconst UnknownFilesystemError = {\n name: \"UnknownFilesystemError\",\n title: \"An unknown error occurred while reading or writing files to disk.\",\n hint: \"It can be caused by many things, eg. missing permissions or a file not existing we attempt to read. Check the error cause for more details.\"\n};\nconst UnknownCSSError = {\n name: \"UnknownCSSError\",\n title: \"Unknown CSS Error.\"\n};\nconst CSSSyntaxError = {\n name: \"CSSSyntaxError\",\n title: \"CSS Syntax Error.\"\n};\nconst UnknownMarkdownError = {\n name: \"UnknownMarkdownError\",\n title: \"Unknown Markdown Error.\"\n};\nconst MarkdownFrontmatterParseError = {\n name: \"MarkdownFrontmatterParseError\",\n title: \"Failed to parse Markdown frontmatter.\"\n};\nconst InvalidFrontmatterInjectionError = {\n name: \"InvalidFrontmatterInjectionError\",\n title: \"Invalid frontmatter injection.\",\n message: 'A remark or rehype plugin attempted to inject invalid frontmatter. Ensure \"astro.frontmatter\" is set to a valid JSON object that is not `null` or `undefined`.',\n hint: \"See the frontmatter injection docs https://docs.astro.build/en/guides/markdown-content/#modifying-frontmatter-programmatically for more information.\"\n};\nconst MdxIntegrationMissingError = {\n name: \"MdxIntegrationMissingError\",\n title: \"MDX integration missing.\",\n message: (file) => `Unable to render ${file}. Ensure that the \\`@astrojs/mdx\\` integration is installed.`,\n hint: \"See the MDX integration docs for installation and usage instructions: https://docs.astro.build/en/guides/integrations-guide/mdx/\"\n};\nconst UnknownConfigError = {\n name: \"UnknownConfigError\",\n title: \"Unknown configuration error.\"\n};\nconst ConfigNotFound = {\n name: \"ConfigNotFound\",\n title: \"Specified configuration file not found.\",\n message: (configFile) => `Unable to resolve \\`--config \"${configFile}\"\\`. Does the file exist?`\n};\nconst ConfigLegacyKey = {\n name: \"ConfigLegacyKey\",\n title: \"Legacy configuration detected.\",\n message: (legacyConfigKey) => `Legacy configuration detected: \\`${legacyConfigKey}\\`.`,\n hint: \"Please update your configuration to the new format.\\nSee https://astro.build/config for more information.\"\n};\nconst UnknownCLIError = {\n name: \"UnknownCLIError\",\n title: \"Unknown CLI Error.\"\n};\nconst GenerateContentTypesError = {\n name: \"GenerateContentTypesError\",\n title: \"Failed to generate content types.\",\n message: (errorMessage) => `\\`astro sync\\` command failed to generate content collection types: ${errorMessage}`,\n hint: \"Check your `src/content/config.*` file for typos.\"\n};\nconst UnknownContentCollectionError = {\n name: \"UnknownContentCollectionError\",\n title: \"Unknown Content Collection Error.\"\n};\nconst GetEntryDeprecationError = {\n name: \"GetEntryDeprecationError\",\n title: \"Invalid use of `getDataEntryById` or `getEntryBySlug` function.\",\n message: (collection, method) => `The \\`${method}\\` function is deprecated and cannot be used to query the \"${collection}\" collection. Use \\`getEntry\\` instead.`,\n hint: \"Use the `getEntry` or `getCollection` functions to query content layer collections.\"\n};\nconst InvalidContentEntryFrontmatterError = {\n name: \"InvalidContentEntryFrontmatterError\",\n title: \"Content entry frontmatter does not match schema.\",\n message(collection, entryId, error) {\n return [\n `**${String(collection)} \\u2192 ${String(\n entryId\n )}** frontmatter does not match collection schema.`,\n ...error.errors.map((zodError) => zodError.message)\n ].join(\"\\n\");\n },\n hint: \"See https://docs.astro.build/en/guides/content-collections/ for more information on content schemas.\"\n};\nconst InvalidContentEntrySlugError = {\n name: \"InvalidContentEntrySlugError\",\n title: \"Invalid content entry slug.\",\n message(collection, entryId) {\n return `${String(collection)} \\u2192 ${String(\n entryId\n )} has an invalid slug. \\`slug\\` must be a string.`;\n },\n hint: \"See https://docs.astro.build/en/guides/content-collections/ for more on the `slug` field.\"\n};\nconst ContentSchemaContainsSlugError = {\n name: \"ContentSchemaContainsSlugError\",\n title: \"Content Schema should not contain `slug`.\",\n message: (collectionName) => `A content collection schema should not contain \\`slug\\` since it is reserved for slug generation. Remove this from your ${collectionName} collection schema.`,\n hint: \"See https://docs.astro.build/en/guides/content-collections/ for more on the `slug` field.\"\n};\nconst CollectionDoesNotExistError = {\n name: \"CollectionDoesNotExistError\",\n title: \"Collection does not exist\",\n message: (collectionName) => `The collection **${collectionName}** does not exist. Ensure a collection directory with this name exists.`,\n hint: \"See https://docs.astro.build/en/guides/content-collections/ for more on creating collections.\"\n};\nconst MixedContentDataCollectionError = {\n name: \"MixedContentDataCollectionError\",\n title: \"Content and data cannot be in same collection.\",\n message: (collectionName) => `**${collectionName}** contains a mix of content and data entries. All entries must be of the same type.`,\n hint: \"Store data entries in a new collection separate from your content collection.\"\n};\nconst ContentCollectionTypeMismatchError = {\n name: \"ContentCollectionTypeMismatchError\",\n title: \"Collection contains entries of a different type.\",\n message: (collection, expectedType, actualType) => `${collection} contains ${expectedType} entries, but is configured as a ${actualType} collection.`\n};\nconst DataCollectionEntryParseError = {\n name: \"DataCollectionEntryParseError\",\n title: \"Data collection entry failed to parse.\",\n message(entryId, errorMessage) {\n return `**${entryId}** failed to parse: ${errorMessage}`;\n },\n hint: \"Ensure your data entry is an object with valid JSON (for `.json` entries) or YAML (for `.yaml` entries).\"\n};\nconst DuplicateContentEntrySlugError = {\n name: \"DuplicateContentEntrySlugError\",\n title: \"Duplicate content entry slug.\",\n message(collection, slug, preExisting, alsoFound) {\n return `**${collection}** contains multiple entries with the same slug: \\`${slug}\\`. Slugs must be unique.\n\nEntries: \n- ${preExisting}\n- ${alsoFound}`;\n }\n};\nconst UnsupportedConfigTransformError = {\n name: \"UnsupportedConfigTransformError\",\n title: \"Unsupported transform in content config.\",\n message: (parseError) => `\\`transform()\\` functions in your content config must return valid JSON, or data types compatible with the devalue library (including Dates, Maps, and Sets).\nFull error: ${parseError}`,\n hint: \"See the devalue library for all supported types: https://github.com/rich-harris/devalue\"\n};\nconst ActionsWithoutServerOutputError = {\n name: \"ActionsWithoutServerOutputError\",\n title: \"Actions must be used with server output.\",\n message: \"Actions enabled without setting a server build output. A server is required to create callable backend functions. To deploy routes to a server, add a server adapter to your astro config.\",\n hint: \"Learn about on-demand rendering: https://docs.astro.build/en/basics/rendering-modes/#on-demand-rendered\"\n};\nconst ActionsUsedWithForGetError = {\n name: \"ActionsUsedWithForGetError\",\n title: \"An invalid Action query string was passed by a form.\",\n message: (actionName) => `Action ${actionName} was called from a form using a GET request, but only POST requests are supported. This often occurs if \\`method=\"POST\"\\` is missing on the form.`,\n hint: \"Actions are experimental. Visit the RFC for usage instructions: https://github.com/withastro/roadmap/blob/actions/proposals/0046-actions.md\"\n};\nconst ActionQueryStringInvalidError = {\n name: \"ActionQueryStringInvalidError\",\n title: \"An invalid Action query string was passed by a form.\",\n message: (actionName) => `The server received the query string \\`?_astroAction=${actionName}\\`, but could not find an action with that name. If you changed an action's name in development, remove this query param from your URL and refresh.`,\n hint: \"Actions are experimental. Visit the RFC for usage instructions: https://github.com/withastro/roadmap/blob/actions/proposals/0046-actions.md\"\n};\nconst ActionCalledFromServerError = {\n name: \"ActionCalledFromServerError\",\n title: \"Action unexpected called from the server.\",\n message: \"Action called from a server page or endpoint without using `Astro.callAction()`.\",\n hint: \"See the RFC section on server calls for usage instructions: https://github.com/withastro/roadmap/blob/actions/proposals/0046-actions.md#call-actions-directly-from-server-code\"\n};\nconst UnknownError = { name: \"UnknownError\", title: \"Unknown Error.\" };\nexport {\n ActionCalledFromServerError,\n ActionQueryStringInvalidError,\n ActionsUsedWithForGetError,\n ActionsWithoutServerOutputError,\n AstroGlobNoMatch,\n AstroGlobUsedOutside,\n AstroResponseHeadersReassigned,\n CSSSyntaxError,\n CantRenderPage,\n ClientAddressNotAvailable,\n CollectionDoesNotExistError,\n ConfigLegacyKey,\n ConfigNotFound,\n ContentCollectionTypeMismatchError,\n ContentSchemaContainsSlugError,\n CouldNotTransformImage,\n DataCollectionEntryParseError,\n DuplicateContentEntrySlugError,\n EndpointDidNotReturnAResponse,\n EnvInvalidVariables,\n EnvUnsupportedGetSecret,\n ExpectedImage,\n ExpectedImageOptions,\n ExpectedNotESMImage,\n FailedToFetchRemoteImageDimensions,\n FailedToFindPageMapSSR,\n FailedToLoadModuleSSR,\n GenerateContentTypesError,\n GetEntryDeprecationError,\n GetStaticPathsExpectedParams,\n GetStaticPathsInvalidRouteParam,\n GetStaticPathsRemovedRSSHelper,\n GetStaticPathsRequired,\n ImageMissingAlt,\n ImageNotFound,\n IncompatibleDescriptorOptions,\n IncorrectStrategyForI18n,\n InvalidComponentArgs,\n InvalidContentEntryFrontmatterError,\n InvalidContentEntrySlugError,\n InvalidDynamicRoute,\n InvalidFrontmatterInjectionError,\n InvalidGetStaticPathParam,\n InvalidGetStaticPathsEntry,\n InvalidGetStaticPathsReturn,\n InvalidGlob,\n InvalidImageService,\n InvalidPrerenderExport,\n LocalImageUsedWrongly,\n LocalsNotAnObject,\n MarkdownFrontmatterParseError,\n MarkdownImageNotFound,\n MdxIntegrationMissingError,\n MiddlewareCantBeLoaded,\n MiddlewareNoDataOrNextCalled,\n MiddlewareNotAResponse,\n MissingImageDimension,\n MissingIndexForInternationalization,\n MissingLocale,\n MissingMediaQueryDirective,\n MissingMiddlewareForInternationalization,\n MissingSharp,\n MixedContentDataCollectionError,\n NoAdapterInstalled,\n NoClientEntrypoint,\n NoClientOnlyHint,\n NoImageMetadata,\n NoMatchingImport,\n NoMatchingRenderer,\n NoMatchingStaticPathFound,\n NoPrerenderedRoutesWithDomains,\n OnlyResponseCanBeReturned,\n PageNumberParamNotFound,\n PrerenderClientAddressNotAvailable,\n PrerenderDynamicEndpointPathCollide,\n RedirectWithNoLocation,\n ReservedSlotName,\n ResponseSentError,\n RewriteEncounteredAnError,\n RewriteWithBodyUsed,\n RouteNotFound,\n ServerOnlyModule,\n StaticClientAddressNotAvailable,\n StaticRedirectNotAvailable,\n UnhandledRejection,\n UnknownCLIError,\n UnknownCSSError,\n UnknownCompilerError,\n UnknownConfigError,\n UnknownContentCollectionError,\n UnknownError,\n UnknownFilesystemError,\n UnknownMarkdownError,\n UnknownViteError,\n UnsupportedConfigTransformError,\n UnsupportedImageConversion,\n UnsupportedImageFormat,\n i18nNoLocaleFoundInPath,\n i18nNotEnabled\n};\n","function positionAt(offset, text) {\n const lineOffsets = getLineOffsets(text);\n offset = Math.max(0, Math.min(text.length, offset));\n let low = 0;\n let high = lineOffsets.length;\n if (high === 0) {\n return {\n line: 0,\n column: offset\n };\n }\n while (low <= high) {\n const mid = Math.floor((low + high) / 2);\n const lineOffset = lineOffsets[mid];\n if (lineOffset === offset) {\n return {\n line: mid,\n column: 0\n };\n } else if (offset > lineOffset) {\n low = mid + 1;\n } else {\n high = mid - 1;\n }\n }\n const line = low - 1;\n return { line, column: offset - lineOffsets[line] };\n}\nfunction getLineOffsets(text) {\n const lineOffsets = [];\n let isLineStart = true;\n for (let i = 0; i < text.length; i++) {\n if (isLineStart) {\n lineOffsets.push(i);\n isLineStart = false;\n }\n const ch = text.charAt(i);\n isLineStart = ch === \"\\r\" || ch === \"\\n\";\n if (ch === \"\\r\" && i + 1 < text.length && text.charAt(i + 1) === \"\\n\") {\n i++;\n }\n }\n if (isLineStart && text.length > 0) {\n lineOffsets.push(text.length);\n }\n return lineOffsets;\n}\nfunction isYAMLException(err) {\n return err instanceof Error && err.name === \"YAMLException\";\n}\nfunction formatYAMLException(e) {\n return {\n name: e.name,\n id: e.mark.name,\n loc: { file: e.mark.name, line: e.mark.line + 1, column: e.mark.column },\n message: e.reason,\n stack: e.stack ?? \"\"\n };\n}\nfunction createSafeError(err) {\n if (err instanceof Error || err?.name && err.message) {\n return err;\n } else {\n const error = new Error(JSON.stringify(err));\n error.hint = `To get as much information as possible from your errors, make sure to throw Error objects instead of \\`${typeof err}\\`. See https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Error for more information.`;\n return error;\n }\n}\nfunction normalizeLF(code) {\n return code.replace(/\\r\\n|\\r(?!\\n)|\\n/g, \"\\n\");\n}\nexport {\n createSafeError,\n formatYAMLException,\n isYAMLException,\n normalizeLF,\n positionAt\n};\n","import { normalizeLF } from \"./utils.js\";\nfunction codeFrame(src, loc) {\n if (!loc || loc.line === void 0 || loc.column === void 0) {\n return \"\";\n }\n const lines = normalizeLF(src).split(\"\\n\").map((ln) => ln.replace(/\\t/g, \" \"));\n const visibleLines = [];\n for (let n = -2; n <= 2; n++) {\n if (lines[loc.line + n]) visibleLines.push(loc.line + n);\n }\n let gutterWidth = 0;\n for (const lineNo of visibleLines) {\n let w = `> ${lineNo}`;\n if (w.length > gutterWidth) gutterWidth = w.length;\n }\n let output = \"\";\n for (const lineNo of visibleLines) {\n const isFocusedLine = lineNo === loc.line - 1;\n output += isFocusedLine ? \"> \" : \" \";\n output += `${lineNo + 1} | ${lines[lineNo]}\n`;\n if (isFocusedLine)\n output += `${Array.from({ length: gutterWidth }).join(\" \")} | ${Array.from({\n length: loc.column\n }).join(\" \")}^\n`;\n }\n return output;\n}\nexport {\n codeFrame\n};\n","import { codeFrame } from \"./printer.js\";\nfunction isAstroError(e) {\n return e instanceof AstroError;\n}\nclass AstroError extends Error {\n loc;\n title;\n hint;\n frame;\n type = \"AstroError\";\n constructor(props, options) {\n const { name, title, message, stack, location, hint, frame } = props;\n super(message, options);\n this.title = title;\n this.name = name;\n if (message) this.message = message;\n this.stack = stack ? stack : this.stack;\n this.loc = location;\n this.hint = hint;\n this.frame = frame;\n }\n setLocation(location) {\n this.loc = location;\n }\n setName(name) {\n this.name = name;\n }\n setMessage(message) {\n this.message = message;\n }\n setHint(hint) {\n this.hint = hint;\n }\n setFrame(source, location) {\n this.frame = codeFrame(source, location);\n }\n static is(err) {\n return err.type === \"AstroError\";\n }\n}\nclass CompilerError extends AstroError {\n type = \"CompilerError\";\n constructor(props, options) {\n super(props, options);\n }\n static is(err) {\n return err.type === \"CompilerError\";\n }\n}\nclass CSSError extends AstroError {\n type = \"CSSError\";\n static is(err) {\n return err.type === \"CSSError\";\n }\n}\nclass MarkdownError extends AstroError {\n type = \"MarkdownError\";\n static is(err) {\n return err.type === \"MarkdownError\";\n }\n}\nclass InternalError extends AstroError {\n type = \"InternalError\";\n static is(err) {\n return err.type === \"InternalError\";\n }\n}\nclass AggregateError extends AstroError {\n type = \"AggregateError\";\n errors;\n // Despite being a collection of errors, AggregateError still needs to have a main error attached to it\n // This is because Vite expects every thrown errors handled during HMR to be, well, Error and have a message\n constructor(props, options) {\n super(props, options);\n this.errors = props.errors;\n }\n static is(err) {\n return err.type === \"AggregateError\";\n }\n}\nconst astroConfigZodErrors = /* @__PURE__ */ new WeakSet();\nfunction isAstroConfigZodError(error) {\n return astroConfigZodErrors.has(error);\n}\nfunction trackAstroConfigZodError(error) {\n astroConfigZodErrors.add(error);\n}\nclass AstroUserError extends Error {\n type = \"AstroUserError\";\n /**\n * A message that explains to the user how they can fix the error.\n */\n hint;\n name = \"AstroUserError\";\n constructor(message, hint) {\n super();\n this.message = message;\n this.hint = hint;\n }\n static is(err) {\n return err.type === \"AstroUserError\";\n }\n}\nexport {\n AggregateError,\n AstroError,\n AstroUserError,\n CSSError,\n CompilerError,\n InternalError,\n MarkdownError,\n isAstroConfigZodError,\n isAstroError,\n trackAstroConfigZodError\n};\n","import { AstroError, AstroErrorData } from \"../../core/errors/index.js\";\nfunction validateArgs(args) {\n if (args.length !== 3) return false;\n if (!args[0] || typeof args[0] !== \"object\") return false;\n return true;\n}\nfunction baseCreateComponent(cb, moduleId, propagation) {\n const name = moduleId?.split(\"/\").pop()?.replace(\".astro\", \"\") ?? \"\";\n const fn = (...args) => {\n if (!validateArgs(args)) {\n throw new AstroError({\n ...AstroErrorData.InvalidComponentArgs,\n message: AstroErrorData.InvalidComponentArgs.message(name)\n });\n }\n return cb(...args);\n };\n Object.defineProperty(fn, \"name\", { value: name, writable: false });\n fn.isAstroComponentFactory = true;\n fn.moduleId = moduleId;\n fn.propagation = propagation;\n return fn;\n}\nfunction createComponentWithOptions(opts) {\n const cb = baseCreateComponent(opts.factory, opts.moduleId, opts.propagation);\n return cb;\n}\nfunction createComponent(arg1, moduleId, propagation) {\n if (typeof arg1 === \"function\") {\n return baseCreateComponent(arg1, moduleId, propagation);\n } else {\n return createComponentWithOptions(arg1);\n }\n}\nexport {\n createComponent\n};\n","const ASTRO_VERSION = \"4.14.2\";\nconst REROUTE_DIRECTIVE_HEADER = \"X-Astro-Reroute\";\nconst REWRITE_DIRECTIVE_HEADER_KEY = \"X-Astro-Rewrite\";\nconst REWRITE_DIRECTIVE_HEADER_VALUE = \"yes\";\nconst ROUTE_TYPE_HEADER = \"X-Astro-Route-Type\";\nconst DEFAULT_404_COMPONENT = \"astro-default-404.astro\";\nconst DEFAULT_500_COMPONENT = \"astro-default-500.astro\";\nconst REROUTABLE_STATUS_CODES = [404, 500];\nconst clientAddressSymbol = Symbol.for(\"astro.clientAddress\");\nconst clientLocalsSymbol = Symbol.for(\"astro.locals\");\nconst responseSentSymbol = Symbol.for(\"astro.responseSent\");\nconst SUPPORTED_MARKDOWN_FILE_EXTENSIONS = [\n \".markdown\",\n \".mdown\",\n \".mkdn\",\n \".mkd\",\n \".mdwn\",\n \".md\"\n];\nconst MIDDLEWARE_PATH_SEGMENT_NAME = \"middleware\";\nexport {\n ASTRO_VERSION,\n DEFAULT_404_COMPONENT,\n DEFAULT_500_COMPONENT,\n MIDDLEWARE_PATH_SEGMENT_NAME,\n REROUTABLE_STATUS_CODES,\n REROUTE_DIRECTIVE_HEADER,\n REWRITE_DIRECTIVE_HEADER_KEY,\n REWRITE_DIRECTIVE_HEADER_VALUE,\n ROUTE_TYPE_HEADER,\n SUPPORTED_MARKDOWN_FILE_EXTENSIONS,\n clientAddressSymbol,\n clientLocalsSymbol,\n responseSentSymbol\n};\n","import { ASTRO_VERSION } from \"../../core/constants.js\";\nimport { AstroError, AstroErrorData } from \"../../core/errors/index.js\";\nfunction createAstroGlobFn() {\n const globHandler = (importMetaGlobResult) => {\n if (typeof importMetaGlobResult === \"string\") {\n throw new AstroError({\n ...AstroErrorData.AstroGlobUsedOutside,\n message: AstroErrorData.AstroGlobUsedOutside.message(JSON.stringify(importMetaGlobResult))\n });\n }\n let allEntries = [...Object.values(importMetaGlobResult)];\n if (allEntries.length === 0) {\n throw new AstroError({\n ...AstroErrorData.AstroGlobNoMatch,\n message: AstroErrorData.AstroGlobNoMatch.message(JSON.stringify(importMetaGlobResult))\n });\n }\n return Promise.all(allEntries.map((fn) => fn()));\n };\n return globHandler;\n}\nfunction createAstro(site) {\n return {\n // TODO: this is no longer necessary for `Astro.site`\n // but it somehow allows working around caching issues in content collections for some tests\n site: site ? new URL(site) : void 0,\n generator: `Astro v${ASTRO_VERSION}`,\n glob: createAstroGlobFn()\n };\n}\nexport {\n createAstro\n};\n","function isPromise(value) {\n return !!value && typeof value === \"object\" && \"then\" in value && typeof value.then === \"function\";\n}\nasync function* streamAsyncIterator(stream) {\n const reader = stream.getReader();\n try {\n while (true) {\n const { done, value } = await reader.read();\n if (done) return;\n yield value;\n }\n } finally {\n reader.releaseLock();\n }\n}\nexport {\n isPromise,\n streamAsyncIterator\n};\n","import { escape } from \"html-escaper\";\nimport { streamAsyncIterator } from \"./util.js\";\nconst escapeHTML = escape;\nclass HTMLBytes extends Uint8Array {\n}\nObject.defineProperty(HTMLBytes.prototype, Symbol.toStringTag, {\n get() {\n return \"HTMLBytes\";\n }\n});\nclass HTMLString extends String {\n get [Symbol.toStringTag]() {\n return \"HTMLString\";\n }\n}\nconst markHTMLString = (value) => {\n if (value instanceof HTMLString) {\n return value;\n }\n if (typeof value === \"string\") {\n return new HTMLString(value);\n }\n return value;\n};\nfunction isHTMLString(value) {\n return Object.prototype.toString.call(value) === \"[object HTMLString]\";\n}\nfunction markHTMLBytes(bytes) {\n return new HTMLBytes(bytes);\n}\nfunction isHTMLBytes(value) {\n return Object.prototype.toString.call(value) === \"[object HTMLBytes]\";\n}\nfunction hasGetReader(obj) {\n return typeof obj.getReader === \"function\";\n}\nasync function* unescapeChunksAsync(iterable) {\n if (hasGetReader(iterable)) {\n for await (const chunk of streamAsyncIterator(iterable)) {\n yield unescapeHTML(chunk);\n }\n } else {\n for await (const chunk of iterable) {\n yield unescapeHTML(chunk);\n }\n }\n}\nfunction* unescapeChunks(iterable) {\n for (const chunk of iterable) {\n yield unescapeHTML(chunk);\n }\n}\nfunction unescapeHTML(str) {\n if (!!str && typeof str === \"object\") {\n if (str instanceof Uint8Array) {\n return markHTMLBytes(str);\n } else if (str instanceof Response && str.body) {\n const body = str.body;\n return unescapeChunksAsync(body);\n } else if (typeof str.then === \"function\") {\n return Promise.resolve(str).then((value) => {\n return unescapeHTML(value);\n });\n } else if (str[Symbol.for(\"astro:slot-string\")]) {\n return str;\n } else if (Symbol.iterator in str) {\n return unescapeChunks(str);\n } else if (Symbol.asyncIterator in str || hasGetReader(str)) {\n return unescapeChunksAsync(str);\n }\n }\n return markHTMLString(str);\n}\nexport {\n HTMLBytes,\n HTMLString,\n escapeHTML,\n isHTMLBytes,\n isHTMLString,\n markHTMLString,\n unescapeHTML\n};\n","const RenderInstructionSymbol = Symbol.for(\"astro:render\");\nfunction createRenderInstruction(instruction) {\n return Object.defineProperty(instruction, RenderInstructionSymbol, {\n value: true\n });\n}\nfunction isRenderInstruction(chunk) {\n return chunk && typeof chunk === \"object\" && chunk[RenderInstructionSymbol];\n}\nexport {\n createRenderInstruction,\n isRenderInstruction\n};\n","const PROP_TYPE = {\n Value: 0,\n JSON: 1,\n // Actually means Array\n RegExp: 2,\n Date: 3,\n Map: 4,\n Set: 5,\n BigInt: 6,\n URL: 7,\n Uint8Array: 8,\n Uint16Array: 9,\n Uint32Array: 10\n};\nfunction serializeArray(value, metadata = {}, parents = /* @__PURE__ */ new WeakSet()) {\n if (parents.has(value)) {\n throw new Error(`Cyclic reference detected while serializing props for <${metadata.displayName} client:${metadata.hydrate}>!\n\nCyclic references cannot be safely serialized for client-side usage. Please remove the cyclic reference.`);\n }\n parents.add(value);\n const serialized = value.map((v) => {\n return convertToSerializedForm(v, metadata, parents);\n });\n parents.delete(value);\n return serialized;\n}\nfunction serializeObject(value, metadata = {}, parents = /* @__PURE__ */ new WeakSet()) {\n if (parents.has(value)) {\n throw new Error(`Cyclic reference detected while serializing props for <${metadata.displayName} client:${metadata.hydrate}>!\n\nCyclic references cannot be safely serialized for client-side usage. Please remove the cyclic reference.`);\n }\n parents.add(value);\n const serialized = Object.fromEntries(\n Object.entries(value).map(([k, v]) => {\n return [k, convertToSerializedForm(v, metadata, parents)];\n })\n );\n parents.delete(value);\n return serialized;\n}\nfunction convertToSerializedForm(value, metadata = {}, parents = /* @__PURE__ */ new WeakSet()) {\n const tag = Object.prototype.toString.call(value);\n switch (tag) {\n case \"[object Date]\": {\n return [PROP_TYPE.Date, value.toISOString()];\n }\n case \"[object RegExp]\": {\n return [PROP_TYPE.RegExp, value.source];\n }\n case \"[object Map]\": {\n return [PROP_TYPE.Map, serializeArray(Array.from(value), metadata, parents)];\n }\n case \"[object Set]\": {\n return [PROP_TYPE.Set, serializeArray(Array.from(value), metadata, parents)];\n }\n case \"[object BigInt]\": {\n return [PROP_TYPE.BigInt, value.toString()];\n }\n case \"[object URL]\": {\n return [PROP_TYPE.URL, value.toString()];\n }\n case \"[object Array]\": {\n return [PROP_TYPE.JSON, serializeArray(value, metadata, parents)];\n }\n case \"[object Uint8Array]\": {\n return [PROP_TYPE.Uint8Array, Array.from(value)];\n }\n case \"[object Uint16Array]\": {\n return [PROP_TYPE.Uint16Array, Array.from(value)];\n }\n case \"[object Uint32Array]\": {\n return [PROP_TYPE.Uint32Array, Array.from(value)];\n }\n default: {\n if (value !== null && typeof value === \"object\") {\n return [PROP_TYPE.Value, serializeObject(value, metadata, parents)];\n } else if (value === void 0) {\n return [PROP_TYPE.Value];\n } else {\n return [PROP_TYPE.Value, value];\n }\n }\n }\n}\nfunction serializeProps(props, metadata) {\n const serialized = JSON.stringify(serializeObject(props, metadata));\n return serialized;\n}\nexport {\n serializeProps\n};\n","import { AstroError, AstroErrorData } from \"../../core/errors/index.js\";\nimport { escapeHTML } from \"./escape.js\";\nimport { serializeProps } from \"./serialize.js\";\nconst transitionDirectivesToCopyOnIsland = Object.freeze([\n \"data-astro-transition-scope\",\n \"data-astro-transition-persist\",\n \"data-astro-transition-persist-props\"\n]);\nfunction extractDirectives(inputProps, clientDirectives) {\n let extracted = {\n isPage: false,\n hydration: null,\n props: {},\n propsWithoutTransitionAttributes: {}\n };\n for (const [key, value] of Object.entries(inputProps)) {\n if (key.startsWith(\"server:\")) {\n if (key === \"server:root\") {\n extracted.isPage = true;\n }\n }\n if (key.startsWith(\"client:\")) {\n if (!extracted.hydration) {\n extracted.hydration = {\n directive: \"\",\n value: \"\",\n componentUrl: \"\",\n componentExport: { value: \"\" }\n };\n }\n switch (key) {\n case \"client:component-path\": {\n extracted.hydration.componentUrl = value;\n break;\n }\n case \"client:component-export\": {\n extracted.hydration.componentExport.value = value;\n break;\n }\n case \"client:component-hydration\": {\n break;\n }\n case \"client:display-name\": {\n break;\n }\n default: {\n extracted.hydration.directive = key.split(\":\")[1];\n extracted.hydration.value = value;\n if (!clientDirectives.has(extracted.hydration.directive)) {\n const hydrationMethods = Array.from(clientDirectives.keys()).map((d) => `client:${d}`).join(\", \");\n throw new Error(\n `Error: invalid hydration directive \"${key}\". Supported hydration methods: ${hydrationMethods}`\n );\n }\n if (extracted.hydration.directive === \"media\" && typeof extracted.hydration.value !== \"string\") {\n throw new AstroError(AstroErrorData.MissingMediaQueryDirective);\n }\n break;\n }\n }\n } else {\n extracted.props[key] = value;\n if (!transitionDirectivesToCopyOnIsland.includes(key)) {\n extracted.propsWithoutTransitionAttributes[key] = value;\n }\n }\n }\n for (const sym of Object.getOwnPropertySymbols(inputProps)) {\n extracted.props[sym] = inputProps[sym];\n extracted.propsWithoutTransitionAttributes[sym] = inputProps[sym];\n }\n return extracted;\n}\nasync function generateHydrateScript(scriptOptions, metadata) {\n const { renderer, result, astroId, props, attrs } = scriptOptions;\n const { hydrate, componentUrl, componentExport } = metadata;\n if (!componentExport.value) {\n throw new AstroError({\n ...AstroErrorData.NoMatchingImport,\n message: AstroErrorData.NoMatchingImport.message(metadata.displayName)\n });\n }\n const island = {\n children: \"\",\n props: {\n // This is for HMR, probably can avoid it in prod\n uid: astroId\n }\n };\n if (attrs) {\n for (const [key, value] of Object.entries(attrs)) {\n island.props[key] = escapeHTML(value);\n }\n }\n island.props[\"component-url\"] = await result.resolve(decodeURI(componentUrl));\n if (renderer.clientEntrypoint) {\n island.props[\"component-export\"] = componentExport.value;\n island.props[\"renderer-url\"] = await result.resolve(decodeURI(renderer.clientEntrypoint));\n island.props[\"props\"] = escapeHTML(serializeProps(props, metadata));\n }\n island.props[\"ssr\"] = \"\";\n island.props[\"client\"] = hydrate;\n let beforeHydrationUrl = await result.resolve(\"astro:scripts/before-hydration.js\");\n if (beforeHydrationUrl.length) {\n island.props[\"before-hydration-url\"] = beforeHydrationUrl;\n }\n island.props[\"opts\"] = escapeHTML(\n JSON.stringify({\n name: metadata.displayName,\n value: metadata.hydrateArgs || \"\"\n })\n );\n transitionDirectivesToCopyOnIsland.forEach((name) => {\n if (typeof props[name] !== \"undefined\") {\n island.props[name] = props[name];\n }\n });\n return island;\n}\nexport {\n extractDirectives,\n generateHydrateScript\n};\n","/**\n * shortdash - https://github.com/bibig/node-shorthash\n *\n * @license\n *\n * (The MIT License)\n *\n * Copyright (c) 2013 Bibig \n *\n * Permission is hereby granted, free of charge, to any person\n * obtaining a copy of this software and associated documentation\n * files (the \"Software\"), to deal in the Software without\n * restriction, including without limitation the rights to use,\n * copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the\n * Software is furnished to do so, subject to the following\n * conditions:\n *\n * The above copyright notice and this permission notice shall be\n * included in all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\n * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES\n * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\n * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT\n * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,\n * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING\n * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR\n * OTHER DEALINGS IN THE SOFTWARE.\n */\nconst dictionary = \"0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXY\";\nconst binary = dictionary.length;\nfunction bitwise(str) {\n let hash = 0;\n if (str.length === 0) return hash;\n for (let i = 0; i < str.length; i++) {\n const ch = str.charCodeAt(i);\n hash = (hash << 5) - hash + ch;\n hash = hash & hash;\n }\n return hash;\n}\nfunction shorthash(text) {\n let num;\n let result = \"\";\n let integer = bitwise(text);\n const sign = integer < 0 ? \"Z\" : \"\";\n integer = Math.abs(integer);\n while (integer >= binary) {\n num = integer % binary;\n integer = Math.floor(integer / binary);\n result = dictionary[num] + result;\n }\n if (integer > 0) {\n result = dictionary[integer] + result;\n }\n return sign + result;\n}\nexport {\n shorthash\n};\n","function isAstroComponentFactory(obj) {\n return obj == null ? false : obj.isAstroComponentFactory === true;\n}\nfunction isAPropagatingComponent(result, factory) {\n let hint = factory.propagation || \"none\";\n if (factory.moduleId && result.componentMetadata.has(factory.moduleId) && hint === \"none\") {\n hint = result.componentMetadata.get(factory.moduleId).propagation;\n }\n return hint === \"in-tree\" || hint === \"self\";\n}\nexport {\n isAPropagatingComponent,\n isAstroComponentFactory\n};\n","const headAndContentSym = Symbol.for(\"astro.headAndContent\");\nfunction isHeadAndContent(obj) {\n return typeof obj === \"object\" && !!obj[headAndContentSym];\n}\nfunction createHeadAndContent(head, content) {\n return {\n [headAndContentSym]: true,\n head,\n content\n };\n}\nexport {\n createHeadAndContent,\n isHeadAndContent\n};\n","var astro_island_prebuilt_dev_default = `(()=>{var A=Object.defineProperty;var g=(i,o,a)=>o in i?A(i,o,{enumerable:!0,configurable:!0,writable:!0,value:a}):i[o]=a;var l=(i,o,a)=>g(i,typeof o!=\"symbol\"?o+\"\":o,a);{let i={0:t=>y(t),1:t=>a(t),2:t=>new RegExp(t),3:t=>new Date(t),4:t=>new Map(a(t)),5:t=>new Set(a(t)),6:t=>BigInt(t),7:t=>new URL(t),8:t=>new Uint8Array(t),9:t=>new Uint16Array(t),10:t=>new Uint32Array(t)},o=t=>{let[h,e]=t;return h in i?i[h](e):void 0},a=t=>t.map(o),y=t=>typeof t!=\"object\"||t===null?t:Object.fromEntries(Object.entries(t).map(([h,e])=>[h,o(e)]));class f extends HTMLElement{constructor(){super(...arguments);l(this,\"Component\");l(this,\"hydrator\");l(this,\"hydrate\",async()=>{var b;if(!this.hydrator||!this.isConnected)return;let e=(b=this.parentElement)==null?void 0:b.closest(\"astro-island[ssr]\");if(e){e.addEventListener(\"astro:hydrate\",this.hydrate,{once:!0});return}let c=this.querySelectorAll(\"astro-slot\"),n={},p=this.querySelectorAll(\"template[data-astro-template]\");for(let r of p){let s=r.closest(this.tagName);s!=null&&s.isSameNode(this)&&(n[r.getAttribute(\"data-astro-template\")||\"default\"]=r.innerHTML,r.remove())}for(let r of c){let s=r.closest(this.tagName);s!=null&&s.isSameNode(this)&&(n[r.getAttribute(\"name\")||\"default\"]=r.innerHTML)}let u;try{u=this.hasAttribute(\"props\")?y(JSON.parse(this.getAttribute(\"props\"))):{}}catch(r){let s=this.getAttribute(\"component-url\")||\"\",v=this.getAttribute(\"component-export\");throw v&&(s+=\\` (export \\${v})\\`),console.error(\\`[hydrate] Error parsing props for component \\${s}\\`,this.getAttribute(\"props\"),r),r}let d,m=this.hydrator(this);d=performance.now(),await m(this.Component,u,n,{client:this.getAttribute(\"client\")}),d&&this.setAttribute(\"client-render-time\",(performance.now()-d).toString()),this.removeAttribute(\"ssr\"),this.dispatchEvent(new CustomEvent(\"astro:hydrate\"))});l(this,\"unmount\",()=>{this.isConnected||this.dispatchEvent(new CustomEvent(\"astro:unmount\"))})}disconnectedCallback(){document.removeEventListener(\"astro:after-swap\",this.unmount),document.addEventListener(\"astro:after-swap\",this.unmount,{once:!0})}connectedCallback(){if(!this.hasAttribute(\"await-children\")||document.readyState===\"interactive\"||document.readyState===\"complete\")this.childrenConnectedCallback();else{let e=()=>{document.removeEventListener(\"DOMContentLoaded\",e),c.disconnect(),this.childrenConnectedCallback()},c=new MutationObserver(()=>{var n;((n=this.lastChild)==null?void 0:n.nodeType)===Node.COMMENT_NODE&&this.lastChild.nodeValue===\"astro:end\"&&(this.lastChild.remove(),e())});c.observe(this,{childList:!0}),document.addEventListener(\"DOMContentLoaded\",e)}}async childrenConnectedCallback(){let e=this.getAttribute(\"before-hydration-url\");e&&await import(e),this.start()}async start(){let e=JSON.parse(this.getAttribute(\"opts\")),c=this.getAttribute(\"client\");if(Astro[c]===void 0){window.addEventListener(\\`astro:\\${c}\\`,()=>this.start(),{once:!0});return}try{await Astro[c](async()=>{let n=this.getAttribute(\"renderer-url\"),[p,{default:u}]=await Promise.all([import(this.getAttribute(\"component-url\")),n?import(n):()=>()=>{}]),d=this.getAttribute(\"component-export\")||\"default\";if(!d.includes(\".\"))this.Component=p[d];else{this.Component=p;for(let m of d.split(\".\"))this.Component=this.Component[m]}return this.hydrator=u,this.hydrate},e,this)}catch(n){console.error(\\`[astro-island] Error hydrating \\${this.getAttribute(\"component-url\")}\\`,n)}}attributeChangedCallback(){this.hydrate()}}l(f,\"observedAttributes\",[\"props\"]),customElements.get(\"astro-island\")||customElements.define(\"astro-island\",f)}})();`;\nexport {\n astro_island_prebuilt_dev_default as default\n};\n","var astro_island_prebuilt_default = `(()=>{var A=Object.defineProperty;var g=(i,o,a)=>o in i?A(i,o,{enumerable:!0,configurable:!0,writable:!0,value:a}):i[o]=a;var d=(i,o,a)=>g(i,typeof o!=\"symbol\"?o+\"\":o,a);{let i={0:t=>m(t),1:t=>a(t),2:t=>new RegExp(t),3:t=>new Date(t),4:t=>new Map(a(t)),5:t=>new Set(a(t)),6:t=>BigInt(t),7:t=>new URL(t),8:t=>new Uint8Array(t),9:t=>new Uint16Array(t),10:t=>new Uint32Array(t)},o=t=>{let[l,e]=t;return l in i?i[l](e):void 0},a=t=>t.map(o),m=t=>typeof t!=\"object\"||t===null?t:Object.fromEntries(Object.entries(t).map(([l,e])=>[l,o(e)]));class y extends HTMLElement{constructor(){super(...arguments);d(this,\"Component\");d(this,\"hydrator\");d(this,\"hydrate\",async()=>{var b;if(!this.hydrator||!this.isConnected)return;let e=(b=this.parentElement)==null?void 0:b.closest(\"astro-island[ssr]\");if(e){e.addEventListener(\"astro:hydrate\",this.hydrate,{once:!0});return}let c=this.querySelectorAll(\"astro-slot\"),n={},h=this.querySelectorAll(\"template[data-astro-template]\");for(let r of h){let s=r.closest(this.tagName);s!=null&&s.isSameNode(this)&&(n[r.getAttribute(\"data-astro-template\")||\"default\"]=r.innerHTML,r.remove())}for(let r of c){let s=r.closest(this.tagName);s!=null&&s.isSameNode(this)&&(n[r.getAttribute(\"name\")||\"default\"]=r.innerHTML)}let p;try{p=this.hasAttribute(\"props\")?m(JSON.parse(this.getAttribute(\"props\"))):{}}catch(r){let s=this.getAttribute(\"component-url\")||\"\",v=this.getAttribute(\"component-export\");throw v&&(s+=\\` (export \\${v})\\`),console.error(\\`[hydrate] Error parsing props for component \\${s}\\`,this.getAttribute(\"props\"),r),r}let u;await this.hydrator(this)(this.Component,p,n,{client:this.getAttribute(\"client\")}),this.removeAttribute(\"ssr\"),this.dispatchEvent(new CustomEvent(\"astro:hydrate\"))});d(this,\"unmount\",()=>{this.isConnected||this.dispatchEvent(new CustomEvent(\"astro:unmount\"))})}disconnectedCallback(){document.removeEventListener(\"astro:after-swap\",this.unmount),document.addEventListener(\"astro:after-swap\",this.unmount,{once:!0})}connectedCallback(){if(!this.hasAttribute(\"await-children\")||document.readyState===\"interactive\"||document.readyState===\"complete\")this.childrenConnectedCallback();else{let e=()=>{document.removeEventListener(\"DOMContentLoaded\",e),c.disconnect(),this.childrenConnectedCallback()},c=new MutationObserver(()=>{var n;((n=this.lastChild)==null?void 0:n.nodeType)===Node.COMMENT_NODE&&this.lastChild.nodeValue===\"astro:end\"&&(this.lastChild.remove(),e())});c.observe(this,{childList:!0}),document.addEventListener(\"DOMContentLoaded\",e)}}async childrenConnectedCallback(){let e=this.getAttribute(\"before-hydration-url\");e&&await import(e),this.start()}async start(){let e=JSON.parse(this.getAttribute(\"opts\")),c=this.getAttribute(\"client\");if(Astro[c]===void 0){window.addEventListener(\\`astro:\\${c}\\`,()=>this.start(),{once:!0});return}try{await Astro[c](async()=>{let n=this.getAttribute(\"renderer-url\"),[h,{default:p}]=await Promise.all([import(this.getAttribute(\"component-url\")),n?import(n):()=>()=>{}]),u=this.getAttribute(\"component-export\")||\"default\";if(!u.includes(\".\"))this.Component=h[u];else{this.Component=h;for(let f of u.split(\".\"))this.Component=this.Component[f]}return this.hydrator=p,this.hydrate},e,this)}catch(n){console.error(\\`[astro-island] Error hydrating \\${this.getAttribute(\"component-url\")}\\`,n)}}attributeChangedCallback(){this.hydrate()}}d(y,\"observedAttributes\",[\"props\"]),customElements.get(\"astro-island\")||customElements.define(\"astro-island\",y)}})();`;\nexport {\n astro_island_prebuilt_default as default\n};\n","import islandScriptDev from \"./astro-island.prebuilt-dev.js\";\nimport islandScript from \"./astro-island.prebuilt.js\";\nconst ISLAND_STYLES = ``;\nfunction determineIfNeedsHydrationScript(result) {\n if (result._metadata.hasHydrationScript) {\n return false;\n }\n return result._metadata.hasHydrationScript = true;\n}\nfunction determinesIfNeedsDirectiveScript(result, directive) {\n if (result._metadata.hasDirectives.has(directive)) {\n return false;\n }\n result._metadata.hasDirectives.add(directive);\n return true;\n}\nfunction getDirectiveScriptText(result, directive) {\n const clientDirectives = result.clientDirectives;\n const clientDirective = clientDirectives.get(directive);\n if (!clientDirective) {\n throw new Error(`Unknown directive: ${directive}`);\n }\n return clientDirective;\n}\nfunction getPrescripts(result, type, directive) {\n switch (type) {\n case \"both\":\n return `${ISLAND_STYLES}`;\n case \"directive\":\n return ``;\n case null:\n break;\n }\n return \"\";\n}\nexport {\n determineIfNeedsHydrationScript,\n determinesIfNeedsDirectiveScript,\n getPrescripts\n};\n","import { clsx } from \"clsx\";\nimport { HTMLString, markHTMLString } from \"../escape.js\";\nconst voidElementNames = /^(area|base|br|col|command|embed|hr|img|input|keygen|link|meta|param|source|track|wbr)$/i;\nconst htmlBooleanAttributes = /^(?:allowfullscreen|async|autofocus|autoplay|controls|default|defer|disabled|disablepictureinpicture|disableremoteplayback|formnovalidate|hidden|loop|nomodule|novalidate|open|playsinline|readonly|required|reversed|scoped|seamless|itemscope)$/i;\nconst htmlEnumAttributes = /^(?:contenteditable|draggable|spellcheck|value)$/i;\nconst svgEnumAttributes = /^(?:autoReverse|externalResourcesRequired|focusable|preserveAlpha)$/i;\nconst AMPERSAND_REGEX = /&/g;\nconst DOUBLE_QUOTE_REGEX = /\"/g;\nconst STATIC_DIRECTIVES = /* @__PURE__ */ new Set([\"set:html\", \"set:text\"]);\nconst toIdent = (k) => k.trim().replace(/(?!^)\\b\\w|\\s+|\\W+/g, (match, index) => {\n if (/\\W/.test(match)) return \"\";\n return index === 0 ? match : match.toUpperCase();\n});\nconst toAttributeString = (value, shouldEscape = true) => shouldEscape ? String(value).replace(AMPERSAND_REGEX, \"&\").replace(DOUBLE_QUOTE_REGEX, \""\") : value;\nconst kebab = (k) => k.toLowerCase() === k ? k : k.replace(/[A-Z]/g, (match) => `-${match.toLowerCase()}`);\nconst toStyleString = (obj) => Object.entries(obj).filter(([_, v]) => typeof v === \"string\" && v.trim() || typeof v === \"number\").map(([k, v]) => {\n if (k[0] !== \"-\" && k[1] !== \"-\") return `${kebab(k)}:${v}`;\n return `${k}:${v}`;\n}).join(\";\");\nfunction defineScriptVars(vars) {\n let output = \"\";\n for (const [key, value] of Object.entries(vars)) {\n output += `const ${toIdent(key)} = ${JSON.stringify(value)?.replace(\n /<\\/script>/g,\n \"\\\\x3C/script>\"\n )};\n`;\n }\n return markHTMLString(output);\n}\nfunction formatList(values) {\n if (values.length === 1) {\n return values[0];\n }\n return `${values.slice(0, -1).join(\", \")} or ${values[values.length - 1]}`;\n}\nfunction addAttribute(value, key, shouldEscape = true) {\n if (value == null) {\n return \"\";\n }\n if (value === false) {\n if (htmlEnumAttributes.test(key) || svgEnumAttributes.test(key)) {\n return markHTMLString(` ${key}=\"false\"`);\n }\n return \"\";\n }\n if (STATIC_DIRECTIVES.has(key)) {\n console.warn(`[astro] The \"${key}\" directive cannot be applied dynamically at runtime. It will not be rendered as an attribute.\n\nMake sure to use the static attribute syntax (\\`${key}={value}\\`) instead of the dynamic spread syntax (\\`{...{ \"${key}\": value }}\\`).`);\n return \"\";\n }\n if (key === \"class:list\") {\n const listValue = toAttributeString(clsx(value), shouldEscape);\n if (listValue === \"\") {\n return \"\";\n }\n return markHTMLString(` ${key.slice(0, -5)}=\"${listValue}\"`);\n }\n if (key === \"style\" && !(value instanceof HTMLString)) {\n if (Array.isArray(value) && value.length === 2) {\n return markHTMLString(\n ` ${key}=\"${toAttributeString(`${toStyleString(value[0])};${value[1]}`, shouldEscape)}\"`\n );\n }\n if (typeof value === \"object\") {\n return markHTMLString(` ${key}=\"${toAttributeString(toStyleString(value), shouldEscape)}\"`);\n }\n }\n if (key === \"className\") {\n return markHTMLString(` class=\"${toAttributeString(value, shouldEscape)}\"`);\n }\n if (typeof value === \"string\" && value.includes(\"&\") && isHttpUrl(value)) {\n return markHTMLString(` ${key}=\"${toAttributeString(value, false)}\"`);\n }\n if (value === true && (key.startsWith(\"data-\") || htmlBooleanAttributes.test(key))) {\n return markHTMLString(` ${key}`);\n } else {\n return markHTMLString(` ${key}=\"${toAttributeString(value, shouldEscape)}\"`);\n }\n}\nfunction internalSpreadAttributes(values, shouldEscape = true) {\n let output = \"\";\n for (const [key, value] of Object.entries(values)) {\n output += addAttribute(value, key, shouldEscape);\n }\n return markHTMLString(output);\n}\nfunction renderElement(name, { props: _props, children = \"\" }, shouldEscape = true) {\n const { lang: _, \"data-astro-id\": astroId, \"define:vars\": defineVars, ...props } = _props;\n if (defineVars) {\n if (name === \"style\") {\n delete props[\"is:global\"];\n delete props[\"is:scoped\"];\n }\n if (name === \"script\") {\n delete props.hoist;\n children = defineScriptVars(defineVars) + \"\\n\" + children;\n }\n }\n if ((children == null || children == \"\") && voidElementNames.test(name)) {\n return `<${name}${internalSpreadAttributes(props, shouldEscape)}>`;\n }\n return `<${name}${internalSpreadAttributes(props, shouldEscape)}>${children}`;\n}\nconst noop = () => {\n};\nclass BufferedRenderer {\n chunks = [];\n renderPromise;\n destination;\n constructor(bufferRenderFunction) {\n this.renderPromise = bufferRenderFunction(this);\n Promise.resolve(this.renderPromise).catch(noop);\n }\n write(chunk) {\n if (this.destination) {\n this.destination.write(chunk);\n } else {\n this.chunks.push(chunk);\n }\n }\n async renderToFinalDestination(destination) {\n for (const chunk of this.chunks) {\n destination.write(chunk);\n }\n this.destination = destination;\n await this.renderPromise;\n }\n}\nfunction renderToBufferDestination(bufferRenderFunction) {\n const renderer = new BufferedRenderer(bufferRenderFunction);\n return renderer;\n}\nconst isNode = typeof process !== \"undefined\" && Object.prototype.toString.call(process) === \"[object process]\";\nconst isDeno = typeof Deno !== \"undefined\";\nfunction promiseWithResolvers() {\n let resolve, reject;\n const promise = new Promise((_resolve, _reject) => {\n resolve = _resolve;\n reject = _reject;\n });\n return {\n promise,\n resolve,\n reject\n };\n}\nconst VALID_PROTOCOLS = [\"http:\", \"https:\"];\nfunction isHttpUrl(url) {\n try {\n const parsedUrl = new URL(url);\n return VALID_PROTOCOLS.includes(parsedUrl.protocol);\n } catch {\n return false;\n }\n}\nexport {\n addAttribute,\n defineScriptVars,\n formatList,\n internalSpreadAttributes,\n isDeno,\n isNode,\n promiseWithResolvers,\n renderElement,\n renderToBufferDestination,\n toAttributeString,\n voidElementNames\n};\n","import { markHTMLString } from \"../escape.js\";\nimport { createRenderInstruction } from \"./instruction.js\";\nimport { renderElement } from \"./util.js\";\nconst uniqueElements = (item, index, all) => {\n const props = JSON.stringify(item.props);\n const children = item.children;\n return index === all.findIndex((i) => JSON.stringify(i.props) === props && i.children == children);\n};\nfunction renderAllHeadContent(result) {\n result._metadata.hasRenderedHead = true;\n const styles = Array.from(result.styles).filter(uniqueElements).map(\n (style) => style.props.rel === \"stylesheet\" ? renderElement(\"link\", style) : renderElement(\"style\", style)\n );\n result.styles.clear();\n const scripts = Array.from(result.scripts).filter(uniqueElements).map((script) => {\n return renderElement(\"script\", script, false);\n });\n const links = Array.from(result.links).filter(uniqueElements).map((link) => renderElement(\"link\", link, false));\n let content = styles.join(\"\\n\") + links.join(\"\\n\") + scripts.join(\"\\n\");\n if (result._metadata.extraHead.length > 0) {\n for (const part of result._metadata.extraHead) {\n content += part;\n }\n }\n return markHTMLString(content);\n}\nfunction renderHead() {\n return createRenderInstruction({ type: \"head\" });\n}\nfunction maybeRenderHead() {\n return createRenderInstruction({ type: \"maybe-head\" });\n}\nexport {\n maybeRenderHead,\n renderAllHeadContent,\n renderHead\n};\n","import { markHTMLString } from \"../../escape.js\";\nimport { isPromise } from \"../../util.js\";\nimport { renderChild } from \"../any.js\";\nimport { renderToBufferDestination } from \"../util.js\";\nconst renderTemplateResultSym = Symbol.for(\"astro.renderTemplateResult\");\nclass RenderTemplateResult {\n [renderTemplateResultSym] = true;\n htmlParts;\n expressions;\n error;\n constructor(htmlParts, expressions) {\n this.htmlParts = htmlParts;\n this.error = void 0;\n this.expressions = expressions.map((expression) => {\n if (isPromise(expression)) {\n return Promise.resolve(expression).catch((err) => {\n if (!this.error) {\n this.error = err;\n throw err;\n }\n });\n }\n return expression;\n });\n }\n async render(destination) {\n const expRenders = this.expressions.map((exp) => {\n return renderToBufferDestination((bufferDestination) => {\n if (exp || exp === 0) {\n return renderChild(bufferDestination, exp);\n }\n });\n });\n for (let i = 0; i < this.htmlParts.length; i++) {\n const html = this.htmlParts[i];\n const expRender = expRenders[i];\n destination.write(markHTMLString(html));\n if (expRender) {\n await expRender.renderToFinalDestination(destination);\n }\n }\n }\n}\nfunction isRenderTemplateResult(obj) {\n return typeof obj === \"object\" && !!obj[renderTemplateResultSym];\n}\nfunction renderTemplate(htmlParts, ...expressions) {\n return new RenderTemplateResult(htmlParts, expressions);\n}\nexport {\n RenderTemplateResult,\n isRenderTemplateResult,\n renderTemplate\n};\n","import { renderTemplate } from \"./astro/render-template.js\";\nimport { HTMLString, markHTMLString, unescapeHTML } from \"../escape.js\";\nimport { renderChild } from \"./any.js\";\nimport { chunkToString } from \"./common.js\";\nconst slotString = Symbol.for(\"astro:slot-string\");\nclass SlotString extends HTMLString {\n instructions;\n [slotString];\n constructor(content, instructions) {\n super(content);\n this.instructions = instructions;\n this[slotString] = true;\n }\n}\nfunction isSlotString(str) {\n return !!str[slotString];\n}\nfunction renderSlot(result, slotted, fallback) {\n if (!slotted && fallback) {\n return renderSlot(result, fallback);\n }\n return {\n async render(destination) {\n await renderChild(destination, typeof slotted === \"function\" ? slotted(result) : slotted);\n }\n };\n}\nasync function renderSlotToString(result, slotted, fallback) {\n let content = \"\";\n let instructions = null;\n const temporaryDestination = {\n write(chunk) {\n if (chunk instanceof SlotString) {\n content += chunk;\n if (chunk.instructions) {\n instructions ??= [];\n instructions.push(...chunk.instructions);\n }\n } else if (chunk instanceof Response) return;\n else if (typeof chunk === \"object\" && \"type\" in chunk && typeof chunk.type === \"string\") {\n if (instructions === null) {\n instructions = [];\n }\n instructions.push(chunk);\n } else {\n content += chunkToString(result, chunk);\n }\n }\n };\n const renderInstance = renderSlot(result, slotted, fallback);\n await renderInstance.render(temporaryDestination);\n return markHTMLString(new SlotString(content, instructions));\n}\nasync function renderSlots(result, slots = {}) {\n let slotInstructions = null;\n let children = {};\n if (slots) {\n await Promise.all(\n Object.entries(slots).map(\n ([key, value]) => renderSlotToString(result, value).then((output) => {\n if (output.instructions) {\n if (slotInstructions === null) {\n slotInstructions = [];\n }\n slotInstructions.push(...output.instructions);\n }\n children[key] = output;\n })\n )\n );\n }\n return { slotInstructions, children };\n}\nfunction createSlotValueFromString(content) {\n return function() {\n return renderTemplate`${unescapeHTML(content)}`;\n };\n}\nexport {\n SlotString,\n createSlotValueFromString,\n isSlotString,\n renderSlot,\n renderSlotToString,\n renderSlots\n};\n","import { markHTMLString } from \"../escape.js\";\nimport {\n determineIfNeedsHydrationScript,\n determinesIfNeedsDirectiveScript,\n getPrescripts\n} from \"../scripts.js\";\nimport { renderAllHeadContent } from \"./head.js\";\nimport { isRenderInstruction } from \"./instruction.js\";\nimport { isSlotString } from \"./slot.js\";\nconst Fragment = Symbol.for(\"astro:fragment\");\nconst Renderer = Symbol.for(\"astro:renderer\");\nconst encoder = new TextEncoder();\nconst decoder = new TextDecoder();\nfunction stringifyChunk(result, chunk) {\n if (isRenderInstruction(chunk)) {\n const instruction = chunk;\n switch (instruction.type) {\n case \"directive\": {\n const { hydration } = instruction;\n let needsHydrationScript = hydration && determineIfNeedsHydrationScript(result);\n let needsDirectiveScript = hydration && determinesIfNeedsDirectiveScript(result, hydration.directive);\n let prescriptType = needsHydrationScript ? \"both\" : needsDirectiveScript ? \"directive\" : null;\n if (prescriptType) {\n let prescripts = getPrescripts(result, prescriptType, hydration.directive);\n return markHTMLString(prescripts);\n } else {\n return \"\";\n }\n }\n case \"head\": {\n if (result._metadata.hasRenderedHead || result.partial) {\n return \"\";\n }\n return renderAllHeadContent(result);\n }\n case \"maybe-head\": {\n if (result._metadata.hasRenderedHead || result._metadata.headInTree || result.partial) {\n return \"\";\n }\n return renderAllHeadContent(result);\n }\n case \"renderer-hydration-script\": {\n const { rendererSpecificHydrationScripts } = result._metadata;\n const { rendererName } = instruction;\n if (!rendererSpecificHydrationScripts.has(rendererName)) {\n rendererSpecificHydrationScripts.add(rendererName);\n return instruction.render();\n }\n return \"\";\n }\n default: {\n throw new Error(`Unknown chunk type: ${chunk.type}`);\n }\n }\n } else if (chunk instanceof Response) {\n return \"\";\n } else if (isSlotString(chunk)) {\n let out = \"\";\n const c = chunk;\n if (c.instructions) {\n for (const instr of c.instructions) {\n out += stringifyChunk(result, instr);\n }\n }\n out += chunk.toString();\n return out;\n }\n return chunk.toString();\n}\nfunction chunkToString(result, chunk) {\n if (ArrayBuffer.isView(chunk)) {\n return decoder.decode(chunk);\n } else {\n return stringifyChunk(result, chunk);\n }\n}\nfunction chunkToByteArray(result, chunk) {\n if (ArrayBuffer.isView(chunk)) {\n return chunk;\n } else {\n const stringified = stringifyChunk(result, chunk);\n return encoder.encode(stringified.toString());\n }\n}\nfunction isRenderInstance(obj) {\n return !!obj && typeof obj === \"object\" && \"render\" in obj && typeof obj.render === \"function\";\n}\nexport {\n Fragment,\n Renderer,\n chunkToByteArray,\n chunkToString,\n decoder,\n encoder,\n isRenderInstance\n};\n","import { escapeHTML, isHTMLString, markHTMLString } from \"../escape.js\";\nimport { isPromise } from \"../util.js\";\nimport { isAstroComponentInstance, isRenderTemplateResult } from \"./astro/index.js\";\nimport { isRenderInstance } from \"./common.js\";\nimport { SlotString } from \"./slot.js\";\nimport { renderToBufferDestination } from \"./util.js\";\nasync function renderChild(destination, child) {\n if (isPromise(child)) {\n child = await child;\n }\n if (child instanceof SlotString) {\n destination.write(child);\n } else if (isHTMLString(child)) {\n destination.write(child);\n } else if (Array.isArray(child)) {\n const childRenders = child.map((c) => {\n return renderToBufferDestination((bufferDestination) => {\n return renderChild(bufferDestination, c);\n });\n });\n for (const childRender of childRenders) {\n if (!childRender) continue;\n await childRender.renderToFinalDestination(destination);\n }\n } else if (typeof child === \"function\") {\n await renderChild(destination, child());\n } else if (typeof child === \"string\") {\n destination.write(markHTMLString(escapeHTML(child)));\n } else if (!child && child !== 0) {\n } else if (isRenderInstance(child)) {\n await child.render(destination);\n } else if (isRenderTemplateResult(child)) {\n await child.render(destination);\n } else if (isAstroComponentInstance(child)) {\n await child.render(destination);\n } else if (ArrayBuffer.isView(child)) {\n destination.write(child);\n } else if (typeof child === \"object\" && (Symbol.asyncIterator in child || Symbol.iterator in child)) {\n for await (const value of child) {\n await renderChild(destination, value);\n }\n } else {\n destination.write(child);\n }\n}\nexport {\n renderChild\n};\n","import { isPromise } from \"../../util.js\";\nimport { renderChild } from \"../any.js\";\nimport { isAPropagatingComponent } from \"./factory.js\";\nimport { isHeadAndContent } from \"./head-and-content.js\";\nconst astroComponentInstanceSym = Symbol.for(\"astro.componentInstance\");\nclass AstroComponentInstance {\n [astroComponentInstanceSym] = true;\n result;\n props;\n slotValues;\n factory;\n returnValue;\n constructor(result, props, slots, factory) {\n this.result = result;\n this.props = props;\n this.factory = factory;\n this.slotValues = {};\n for (const name in slots) {\n let didRender = false;\n let value = slots[name](result);\n this.slotValues[name] = () => {\n if (!didRender) {\n didRender = true;\n return value;\n }\n return slots[name](result);\n };\n }\n }\n async init(result) {\n if (this.returnValue !== void 0) return this.returnValue;\n this.returnValue = this.factory(result, this.props, this.slotValues);\n if (isPromise(this.returnValue)) {\n this.returnValue.then((resolved) => {\n this.returnValue = resolved;\n }).catch(() => {\n });\n }\n return this.returnValue;\n }\n async render(destination) {\n const returnValue = await this.init(this.result);\n if (isHeadAndContent(returnValue)) {\n await returnValue.content.render(destination);\n } else {\n await renderChild(destination, returnValue);\n }\n }\n}\nfunction validateComponentProps(props, displayName) {\n if (props != null) {\n for (const prop of Object.keys(props)) {\n if (prop.startsWith(\"client:\")) {\n console.warn(\n `You are attempting to render <${displayName} ${prop} />, but ${displayName} is an Astro component. Astro components do not render in the client and should not have a hydration directive. Please use a framework component for client rendering.`\n );\n }\n }\n }\n}\nfunction createAstroComponentInstance(result, displayName, factory, props, slots = {}) {\n validateComponentProps(props, displayName);\n const instance = new AstroComponentInstance(result, props, slots, factory);\n if (isAPropagatingComponent(result, factory)) {\n result._metadata.propagators.add(instance);\n }\n return instance;\n}\nfunction isAstroComponentInstance(obj) {\n return typeof obj === \"object\" && !!obj[astroComponentInstanceSym];\n}\nexport {\n AstroComponentInstance,\n createAstroComponentInstance,\n isAstroComponentInstance\n};\n","import { markHTMLString } from \"../escape.js\";\nimport { renderSlotToString } from \"./slot.js\";\nimport { toAttributeString } from \"./util.js\";\nfunction componentIsHTMLElement(Component) {\n return typeof HTMLElement !== \"undefined\" && HTMLElement.isPrototypeOf(Component);\n}\nasync function renderHTMLElement(result, constructor, props, slots) {\n const name = getHTMLElementName(constructor);\n let attrHTML = \"\";\n for (const attr in props) {\n attrHTML += ` ${attr}=\"${toAttributeString(await props[attr])}\"`;\n }\n return markHTMLString(\n `<${name}${attrHTML}>${await renderSlotToString(result, slots?.default)}`\n );\n}\nfunction getHTMLElementName(constructor) {\n const definedName = customElements.getName(constructor);\n if (definedName) return definedName;\n const assignedName = constructor.name.replace(/^HTML|Element$/g, \"\").replace(/[A-Z]/g, \"-$&\").toLowerCase().replace(/^-/, \"html-\");\n return assignedName;\n}\nexport {\n componentIsHTMLElement,\n renderHTMLElement\n};\n","import { decodeBase64, decodeHex, encodeBase64, encodeHexUpperCase } from \"@oslojs/encoding\";\nconst ALGORITHM = \"AES-GCM\";\nasync function createKey() {\n const key = await crypto.subtle.generateKey(\n {\n name: ALGORITHM,\n length: 256\n },\n true,\n [\"encrypt\", \"decrypt\"]\n );\n return key;\n}\nasync function importKey(bytes) {\n const key = await crypto.subtle.importKey(\"raw\", bytes, ALGORITHM, true, [\"encrypt\", \"decrypt\"]);\n return key;\n}\nasync function encodeKey(key) {\n const exported = await crypto.subtle.exportKey(\"raw\", key);\n const encodedKey = encodeBase64(new Uint8Array(exported));\n return encodedKey;\n}\nasync function decodeKey(encoded) {\n const bytes = decodeBase64(encoded);\n return crypto.subtle.importKey(\"raw\", bytes, ALGORITHM, true, [\"encrypt\", \"decrypt\"]);\n}\nconst encoder = new TextEncoder();\nconst decoder = new TextDecoder();\nconst IV_LENGTH = 24;\nasync function encryptString(key, raw) {\n const iv = crypto.getRandomValues(new Uint8Array(IV_LENGTH / 2));\n const data = encoder.encode(raw);\n const buffer = await crypto.subtle.encrypt(\n {\n name: ALGORITHM,\n iv\n },\n key,\n data\n );\n return encodeHexUpperCase(iv) + encodeBase64(new Uint8Array(buffer));\n}\nasync function decryptString(key, encoded) {\n const iv = decodeHex(encoded.slice(0, IV_LENGTH));\n const dataArray = decodeBase64(encoded.slice(IV_LENGTH));\n const decryptedBuffer = await crypto.subtle.decrypt(\n {\n name: ALGORITHM,\n iv\n },\n key,\n dataArray\n );\n const decryptedString = decoder.decode(decryptedBuffer);\n return decryptedString;\n}\nexport {\n createKey,\n decodeKey,\n decryptString,\n encodeKey,\n encryptString,\n importKey\n};\n","import { encryptString } from \"../../../core/encryption.js\";\nimport { renderChild } from \"./any.js\";\nimport { renderSlotToString } from \"./slot.js\";\nconst internalProps = /* @__PURE__ */ new Set([\n \"server:component-path\",\n \"server:component-export\",\n \"server:component-directive\",\n \"server:defer\"\n]);\nfunction containsServerDirective(props) {\n return \"server:component-directive\" in props;\n}\nfunction safeJsonStringify(obj) {\n return JSON.stringify(obj).replace(/\\u2028/g, \"\\\\u2028\").replace(/\\u2029/g, \"\\\\u2029\").replace(//g, \"\\\\u003e\").replace(/\\//g, \"\\\\u002f\");\n}\nfunction renderServerIsland(result, _displayName, props, slots) {\n return {\n async render(destination) {\n const componentPath = props[\"server:component-path\"];\n const componentExport = props[\"server:component-export\"];\n const componentId = result.serverIslandNameMap.get(componentPath);\n if (!componentId) {\n throw new Error(`Could not find server component name`);\n }\n for (const key2 of Object.keys(props)) {\n if (internalProps.has(key2)) {\n delete props[key2];\n }\n }\n destination.write(\"\");\n const renderedSlots = {};\n for (const name in slots) {\n if (name !== \"fallback\") {\n const content = await renderSlotToString(result, slots[name]);\n renderedSlots[name] = content.toString();\n } else {\n await renderChild(destination, slots.fallback(result));\n }\n }\n const key = await result.key;\n const propsEncrypted = await encryptString(key, JSON.stringify(props));\n const hostId = crypto.randomUUID();\n const slash = result.base.endsWith(\"/\") ? \"\" : \"/\";\n const serverIslandUrl = `${result.base}${slash}_server-islands/${componentId}${result.trailingSlash === \"always\" ? \"/\" : \"\"}`;\n destination.write(``);\n }\n };\n}\nexport {\n containsServerDirective,\n renderServerIsland\n};\n","import { createRenderInstruction } from \"./instruction.js\";\nimport { clsx } from \"clsx\";\nimport { AstroError, AstroErrorData } from \"../../../core/errors/index.js\";\nimport { markHTMLString } from \"../escape.js\";\nimport { extractDirectives, generateHydrateScript } from \"../hydration.js\";\nimport { serializeProps } from \"../serialize.js\";\nimport { shorthash } from \"../shorthash.js\";\nimport { isPromise } from \"../util.js\";\nimport { isAstroComponentFactory } from \"./astro/factory.js\";\nimport { renderTemplate } from \"./astro/index.js\";\nimport { createAstroComponentInstance } from \"./astro/instance.js\";\nimport {\n Fragment,\n Renderer,\n chunkToString\n} from \"./common.js\";\nimport { componentIsHTMLElement, renderHTMLElement } from \"./dom.js\";\nimport { maybeRenderHead } from \"./head.js\";\nimport { containsServerDirective, renderServerIsland } from \"./server-islands.js\";\nimport { renderSlotToString, renderSlots } from \"./slot.js\";\nimport { formatList, internalSpreadAttributes, renderElement, voidElementNames } from \"./util.js\";\nconst needsHeadRenderingSymbol = Symbol.for(\"astro.needsHeadRendering\");\nconst rendererAliases = /* @__PURE__ */ new Map([[\"solid\", \"solid-js\"]]);\nconst clientOnlyValues = /* @__PURE__ */ new Set([\"solid-js\", \"react\", \"preact\", \"vue\", \"svelte\", \"lit\"]);\nfunction guessRenderers(componentUrl) {\n const extname = componentUrl?.split(\".\").pop();\n switch (extname) {\n case \"svelte\":\n return [\"@astrojs/svelte\"];\n case \"vue\":\n return [\"@astrojs/vue\"];\n case \"jsx\":\n case \"tsx\":\n return [\"@astrojs/react\", \"@astrojs/preact\", \"@astrojs/solid-js\", \"@astrojs/vue (jsx)\"];\n default:\n return [\n \"@astrojs/react\",\n \"@astrojs/preact\",\n \"@astrojs/solid-js\",\n \"@astrojs/vue\",\n \"@astrojs/svelte\",\n \"@astrojs/lit\"\n ];\n }\n}\nfunction isFragmentComponent(Component) {\n return Component === Fragment;\n}\nfunction isHTMLComponent(Component) {\n return Component && Component[\"astro:html\"] === true;\n}\nconst ASTRO_SLOT_EXP = /<\\/?astro-slot\\b[^>]*>/g;\nconst ASTRO_STATIC_SLOT_EXP = /<\\/?astro-static-slot\\b[^>]*>/g;\nfunction removeStaticAstroSlot(html, supportsAstroStaticSlot = true) {\n const exp = supportsAstroStaticSlot ? ASTRO_STATIC_SLOT_EXP : ASTRO_SLOT_EXP;\n return html.replace(exp, \"\");\n}\nasync function renderFrameworkComponent(result, displayName, Component, _props, slots = {}) {\n if (!Component && \"client:only\" in _props === false) {\n throw new Error(\n `Unable to render ${displayName} because it is ${Component}!\nDid you forget to import the component or is it possible there is a typo?`\n );\n }\n const { renderers, clientDirectives } = result;\n const metadata = {\n astroStaticSlot: true,\n displayName\n };\n const { hydration, isPage, props, propsWithoutTransitionAttributes } = extractDirectives(\n _props,\n clientDirectives\n );\n let html = \"\";\n let attrs = void 0;\n if (hydration) {\n metadata.hydrate = hydration.directive;\n metadata.hydrateArgs = hydration.value;\n metadata.componentExport = hydration.componentExport;\n metadata.componentUrl = hydration.componentUrl;\n }\n const probableRendererNames = guessRenderers(metadata.componentUrl);\n const validRenderers = renderers.filter((r) => r.name !== \"astro:jsx\");\n const { children, slotInstructions } = await renderSlots(result, slots);\n let renderer;\n if (metadata.hydrate !== \"only\") {\n let isTagged = false;\n try {\n isTagged = Component && Component[Renderer];\n } catch {\n }\n if (isTagged) {\n const rendererName = Component[Renderer];\n renderer = renderers.find(({ name }) => name === rendererName);\n }\n if (!renderer) {\n let error;\n for (const r of renderers) {\n try {\n if (await r.ssr.check.call({ result }, Component, props, children)) {\n renderer = r;\n break;\n }\n } catch (e) {\n error ??= e;\n }\n }\n if (!renderer && error) {\n throw error;\n }\n }\n if (!renderer && typeof HTMLElement === \"function\" && componentIsHTMLElement(Component)) {\n const output = await renderHTMLElement(\n result,\n Component,\n _props,\n slots\n );\n return {\n render(destination) {\n destination.write(output);\n }\n };\n }\n } else {\n if (metadata.hydrateArgs) {\n const rendererName = rendererAliases.has(metadata.hydrateArgs) ? rendererAliases.get(metadata.hydrateArgs) : metadata.hydrateArgs;\n if (clientOnlyValues.has(rendererName)) {\n renderer = renderers.find(\n ({ name }) => name === `@astrojs/${rendererName}` || name === rendererName\n );\n }\n }\n if (!renderer && validRenderers.length === 1) {\n renderer = validRenderers[0];\n }\n if (!renderer) {\n const extname = metadata.componentUrl?.split(\".\").pop();\n renderer = renderers.find(({ name }) => name === `@astrojs/${extname}` || name === extname);\n }\n }\n let componentServerRenderEndTime;\n if (!renderer) {\n if (metadata.hydrate === \"only\") {\n const rendererName = rendererAliases.has(metadata.hydrateArgs) ? rendererAliases.get(metadata.hydrateArgs) : metadata.hydrateArgs;\n if (clientOnlyValues.has(rendererName)) {\n const plural = validRenderers.length > 1;\n throw new AstroError({\n ...AstroErrorData.NoMatchingRenderer,\n message: AstroErrorData.NoMatchingRenderer.message(\n metadata.displayName,\n metadata?.componentUrl?.split(\".\").pop(),\n plural,\n validRenderers.length\n ),\n hint: AstroErrorData.NoMatchingRenderer.hint(\n formatList(probableRendererNames.map((r) => \"`\" + r + \"`\"))\n )\n });\n } else {\n throw new AstroError({\n ...AstroErrorData.NoClientOnlyHint,\n message: AstroErrorData.NoClientOnlyHint.message(metadata.displayName),\n hint: AstroErrorData.NoClientOnlyHint.hint(\n probableRendererNames.map((r) => r.replace(\"@astrojs/\", \"\")).join(\"|\")\n )\n });\n }\n } else if (typeof Component !== \"string\") {\n const matchingRenderers = validRenderers.filter(\n (r) => probableRendererNames.includes(r.name)\n );\n const plural = validRenderers.length > 1;\n if (matchingRenderers.length === 0) {\n throw new AstroError({\n ...AstroErrorData.NoMatchingRenderer,\n message: AstroErrorData.NoMatchingRenderer.message(\n metadata.displayName,\n metadata?.componentUrl?.split(\".\").pop(),\n plural,\n validRenderers.length\n ),\n hint: AstroErrorData.NoMatchingRenderer.hint(\n formatList(probableRendererNames.map((r) => \"`\" + r + \"`\"))\n )\n });\n } else if (matchingRenderers.length === 1) {\n renderer = matchingRenderers[0];\n ({ html, attrs } = await renderer.ssr.renderToStaticMarkup.call(\n { result },\n Component,\n propsWithoutTransitionAttributes,\n children,\n metadata\n ));\n } else {\n throw new Error(`Unable to render ${metadata.displayName}!\n\nThis component likely uses ${formatList(probableRendererNames)},\nbut Astro encountered an error during server-side rendering.\n\nPlease ensure that ${metadata.displayName}:\n1. Does not unconditionally access browser-specific globals like \\`window\\` or \\`document\\`.\n If this is unavoidable, use the \\`client:only\\` hydration directive.\n2. Does not conditionally return \\`null\\` or \\`undefined\\` when rendered on the server.\n\nIf you're still stuck, please open an issue on GitHub or join us at https://astro.build/chat.`);\n }\n }\n } else {\n if (metadata.hydrate === \"only\") {\n const rendererName = rendererAliases.has(metadata.hydrateArgs) ? rendererAliases.get(metadata.hydrateArgs) : metadata.hydrateArgs;\n if (!clientOnlyValues.has(rendererName)) {\n console.warn(\n `The client:only directive for ${metadata.displayName} is not recognized. The renderer ${renderer.name} will be used. If you intended to use a different renderer, please provide a valid client:only directive.`\n );\n }\n html = await renderSlotToString(result, slots?.fallback);\n } else {\n const componentRenderStartTime = performance.now();\n ({ html, attrs } = await renderer.ssr.renderToStaticMarkup.call(\n { result },\n Component,\n propsWithoutTransitionAttributes,\n children,\n metadata\n ));\n if (process.env.NODE_ENV === \"development\")\n componentServerRenderEndTime = performance.now() - componentRenderStartTime;\n }\n }\n if (renderer && !renderer.clientEntrypoint && renderer.name !== \"@astrojs/lit\" && metadata.hydrate) {\n throw new AstroError({\n ...AstroErrorData.NoClientEntrypoint,\n message: AstroErrorData.NoClientEntrypoint.message(\n displayName,\n metadata.hydrate,\n renderer.name\n )\n });\n }\n if (!html && typeof Component === \"string\") {\n const Tag = sanitizeElementName(Component);\n const childSlots = Object.values(children).join(\"\");\n const renderTemplateResult = renderTemplate`<${Tag}${internalSpreadAttributes(\n props\n )}${markHTMLString(\n childSlots === \"\" && voidElementNames.test(Tag) ? `/>` : `>${childSlots}`\n )}`;\n html = \"\";\n const destination = {\n write(chunk) {\n if (chunk instanceof Response) return;\n html += chunkToString(result, chunk);\n }\n };\n await renderTemplateResult.render(destination);\n }\n if (!hydration) {\n return {\n render(destination) {\n if (slotInstructions) {\n for (const instruction of slotInstructions) {\n destination.write(instruction);\n }\n }\n if (isPage || renderer?.name === \"astro:jsx\") {\n destination.write(html);\n } else if (html && html.length > 0) {\n destination.write(\n markHTMLString(removeStaticAstroSlot(html, renderer?.ssr?.supportsAstroStaticSlot))\n );\n }\n }\n };\n }\n const astroId = shorthash(\n `\n${html}\n${serializeProps(\n props,\n metadata\n )}`\n );\n const island = await generateHydrateScript(\n { renderer, result, astroId, props, attrs },\n metadata\n );\n if (componentServerRenderEndTime && process.env.NODE_ENV === \"development\")\n island.props[\"server-render-time\"] = componentServerRenderEndTime;\n let unrenderedSlots = [];\n if (html) {\n if (Object.keys(children).length > 0) {\n for (const key of Object.keys(children)) {\n let tagName = renderer?.ssr?.supportsAstroStaticSlot ? !!metadata.hydrate ? \"astro-slot\" : \"astro-static-slot\" : \"astro-slot\";\n let expectedHTML = key === \"default\" ? `<${tagName}>` : `<${tagName} name=\"${key}\">`;\n if (!html.includes(expectedHTML)) {\n unrenderedSlots.push(key);\n }\n }\n }\n } else {\n unrenderedSlots = Object.keys(children);\n }\n const template = unrenderedSlots.length > 0 ? unrenderedSlots.map(\n (key) => ``\n ).join(\"\") : \"\";\n island.children = `${html ?? \"\"}${template}`;\n if (island.children) {\n island.props[\"await-children\"] = \"\";\n island.children += ``;\n }\n return {\n render(destination) {\n if (slotInstructions) {\n for (const instruction of slotInstructions) {\n destination.write(instruction);\n }\n }\n destination.write(createRenderInstruction({ type: \"directive\", hydration }));\n if (hydration.directive !== \"only\" && renderer?.ssr.renderHydrationScript) {\n destination.write(\n createRenderInstruction({\n type: \"renderer-hydration-script\",\n rendererName: renderer.name,\n render: renderer.ssr.renderHydrationScript\n })\n );\n }\n const renderedElement = renderElement(\"astro-island\", island, false);\n destination.write(markHTMLString(renderedElement));\n }\n };\n}\nfunction sanitizeElementName(tag) {\n const unsafe = /[&<>'\"\\s]+/;\n if (!unsafe.test(tag)) return tag;\n return tag.trim().split(unsafe)[0].trim();\n}\nasync function renderFragmentComponent(result, slots = {}) {\n const children = await renderSlotToString(result, slots?.default);\n return {\n render(destination) {\n if (children == null) return;\n destination.write(children);\n }\n };\n}\nasync function renderHTMLComponent(result, Component, _props, slots = {}) {\n const { slotInstructions, children } = await renderSlots(result, slots);\n const html = Component({ slots: children });\n const hydrationHtml = slotInstructions ? slotInstructions.map((instr) => chunkToString(result, instr)).join(\"\") : \"\";\n return {\n render(destination) {\n destination.write(markHTMLString(hydrationHtml + html));\n }\n };\n}\nfunction renderAstroComponent(result, displayName, Component, props, slots = {}) {\n if (containsServerDirective(props)) {\n return renderServerIsland(result, displayName, props, slots);\n }\n const instance = createAstroComponentInstance(result, displayName, Component, props, slots);\n return {\n async render(destination) {\n await instance.render(destination);\n }\n };\n}\nasync function renderComponent(result, displayName, Component, props, slots = {}) {\n if (isPromise(Component)) {\n Component = await Component.catch(handleCancellation);\n }\n if (isFragmentComponent(Component)) {\n return await renderFragmentComponent(result, slots).catch(handleCancellation);\n }\n props = normalizeProps(props);\n if (isHTMLComponent(Component)) {\n return await renderHTMLComponent(result, Component, props, slots).catch(handleCancellation);\n }\n if (isAstroComponentFactory(Component)) {\n return renderAstroComponent(result, displayName, Component, props, slots);\n }\n return await renderFrameworkComponent(result, displayName, Component, props, slots).catch(\n handleCancellation\n );\n function handleCancellation(e) {\n if (result.cancelled)\n return {\n render() {\n }\n };\n throw e;\n }\n}\nfunction normalizeProps(props) {\n if (props[\"class:list\"] !== void 0) {\n const value = props[\"class:list\"];\n delete props[\"class:list\"];\n props[\"class\"] = clsx(props[\"class\"], value);\n if (props[\"class\"] === \"\") {\n delete props[\"class\"];\n }\n }\n return props;\n}\nasync function renderComponentToString(result, displayName, Component, props, slots = {}, isPage = false, route) {\n let str = \"\";\n let renderedFirstPageChunk = false;\n let head = \"\";\n if (isPage && !result.partial && nonAstroPageNeedsHeadInjection(Component)) {\n head += chunkToString(result, maybeRenderHead());\n }\n try {\n const destination = {\n write(chunk) {\n if (isPage && !result.partial && !renderedFirstPageChunk) {\n renderedFirstPageChunk = true;\n if (!/\" : \"\\n\";\n str += doctype + head;\n }\n }\n if (chunk instanceof Response) return;\n str += chunkToString(result, chunk);\n }\n };\n const renderInstance = await renderComponent(result, displayName, Component, props, slots);\n await renderInstance.render(destination);\n } catch (e) {\n if (AstroError.is(e) && !e.loc) {\n e.setLocation({\n file: route?.component\n });\n }\n throw e;\n }\n return str;\n}\nfunction nonAstroPageNeedsHeadInjection(pageComponent) {\n return !!pageComponent?.[needsHeadRenderingSymbol];\n}\nexport {\n renderComponent,\n renderComponentToString\n};\n","import { markHTMLString } from \"../escape.js\";\nasync function renderScript(result, id) {\n if (result._metadata.renderedScripts.has(id)) return;\n result._metadata.renderedScripts.add(id);\n const inlined = result.inlinedScripts.get(id);\n if (inlined != null) {\n if (inlined) {\n return markHTMLString(``);\n } else {\n return \"\";\n }\n }\n const resolved = await result.resolve(id);\n return markHTMLString(``);\n}\nexport {\n renderScript\n};\n","import cssesc from \"cssesc\";\nimport { fade, slide } from \"../../transitions/index.js\";\nimport { markHTMLString } from \"./escape.js\";\nconst transitionNameMap = /* @__PURE__ */ new WeakMap();\nfunction incrementTransitionNumber(result) {\n let num = 1;\n if (transitionNameMap.has(result)) {\n num = transitionNameMap.get(result) + 1;\n }\n transitionNameMap.set(result, num);\n return num;\n}\nfunction createTransitionScope(result, hash) {\n const num = incrementTransitionNumber(result);\n return `astro-${hash}-${num}`;\n}\nconst getAnimations = (name) => {\n if (name === \"fade\") return fade();\n if (name === \"slide\") return slide();\n if (typeof name === \"object\") return name;\n};\nconst addPairs = (animations, stylesheet) => {\n for (const [direction, images] of Object.entries(animations)) {\n for (const [image, rules] of Object.entries(images)) {\n stylesheet.addAnimationPair(direction, image, rules);\n }\n }\n};\nconst reEncodeValidChars = \"0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ-_\".split(\"\").reduce((v, c) => (v[c.charCodeAt(0)] = c, v), []);\nconst reEncodeInValidStart = \"-0123456789_\".split(\"\").reduce((v, c) => (v[c.charCodeAt(0)] = c, v), []);\nfunction reEncode(s) {\n let result = \"\";\n let codepoint;\n for (let i = 0; i < s.length; i += (codepoint ?? 0) > 65535 ? 2 : 1) {\n codepoint = s.codePointAt(i);\n if (codepoint !== void 0) {\n result += codepoint < 128 ? codepoint === 95 ? \"__\" : reEncodeValidChars[codepoint] ?? \"_\" + codepoint.toString(16).padStart(2, \"0\") : String.fromCodePoint(codepoint);\n }\n }\n return reEncodeInValidStart[result.codePointAt(0) ?? 0] ? \"_\" + result : result;\n}\nfunction renderTransition(result, hash, animationName, transitionName) {\n if (typeof (transitionName ?? \"\") !== \"string\") {\n throw new Error(`Invalid transition name {${transitionName}}`);\n }\n if (!animationName) animationName = \"fade\";\n const scope = createTransitionScope(result, hash);\n const name = transitionName ? cssesc(reEncode(transitionName), { isIdentifier: true }) : scope;\n const sheet = new ViewTransitionStyleSheet(scope, name);\n const animations = getAnimations(animationName);\n if (animations) {\n addPairs(animations, sheet);\n } else if (animationName === \"none\") {\n sheet.addFallback(\"old\", \"animation: none; mix-blend-mode: normal;\");\n sheet.addModern(\"old\", \"animation: none; opacity: 0; mix-blend-mode: normal;\");\n sheet.addAnimationRaw(\"new\", \"animation: none; mix-blend-mode: normal;\");\n sheet.addModern(\"group\", \"animation: none\");\n }\n result._metadata.extraHead.push(markHTMLString(``));\n return scope;\n}\nfunction createAnimationScope(transitionName, animations) {\n const hash = Math.random().toString(36).slice(2, 8);\n const scope = `astro-${hash}`;\n const sheet = new ViewTransitionStyleSheet(scope, transitionName);\n addPairs(animations, sheet);\n return { scope, styles: sheet.toString().replaceAll('\"', \"\") };\n}\nclass ViewTransitionStyleSheet {\n constructor(scope, name) {\n this.scope = scope;\n this.name = name;\n }\n modern = [];\n fallback = [];\n toString() {\n const { scope, name } = this;\n const [modern, fallback] = [this.modern, this.fallback].map((rules) => rules.join(\"\"));\n return [\n `[data-astro-transition-scope=\"${scope}\"] { view-transition-name: ${name}; }`,\n this.layer(modern),\n fallback\n ].join(\"\");\n }\n layer(cssText) {\n return cssText ? `@layer astro { ${cssText} }` : \"\";\n }\n addRule(target, cssText) {\n this[target].push(cssText);\n }\n addAnimationRaw(image, animation) {\n this.addModern(image, animation);\n this.addFallback(image, animation);\n }\n addModern(image, animation) {\n const { name } = this;\n this.addRule(\"modern\", `::view-transition-${image}(${name}) { ${animation} }`);\n }\n addFallback(image, animation) {\n const { scope } = this;\n this.addRule(\n \"fallback\",\n // Two selectors here, the second in case there is an animation on the root.\n `[data-astro-transition-fallback=\"${image}\"] [data-astro-transition-scope=\"${scope}\"],\n\t\t\t[data-astro-transition-fallback=\"${image}\"][data-astro-transition-scope=\"${scope}\"] { ${animation} }`\n );\n }\n addAnimationPair(direction, image, rules) {\n const { scope, name } = this;\n const animation = stringifyAnimation(rules);\n const prefix = direction === \"backwards\" ? `[data-astro-transition=back]` : direction === \"forwards\" ? \"\" : `[data-astro-transition=${direction}]`;\n this.addRule(\"modern\", `${prefix}::view-transition-${image}(${name}) { ${animation} }`);\n this.addRule(\n \"fallback\",\n `${prefix}[data-astro-transition-fallback=\"${image}\"] [data-astro-transition-scope=\"${scope}\"],\n\t\t\t${prefix}[data-astro-transition-fallback=\"${image}\"][data-astro-transition-scope=\"${scope}\"] { ${animation} }`\n );\n }\n}\nfunction addAnimationProperty(builder, prop, value) {\n let arr = builder[prop];\n if (Array.isArray(arr)) {\n arr.push(value.toString());\n } else {\n builder[prop] = [value.toString()];\n }\n}\nfunction animationBuilder() {\n return {\n toString() {\n let out = \"\";\n for (let k in this) {\n let value = this[k];\n if (Array.isArray(value)) {\n out += `\n\t${k}: ${value.join(\", \")};`;\n }\n }\n return out;\n }\n };\n}\nfunction stringifyAnimation(anim) {\n if (Array.isArray(anim)) {\n return stringifyAnimations(anim);\n } else {\n return stringifyAnimations([anim]);\n }\n}\nfunction stringifyAnimations(anims) {\n const builder = animationBuilder();\n for (const anim of anims) {\n if (anim.duration) {\n addAnimationProperty(builder, \"animation-duration\", toTimeValue(anim.duration));\n }\n if (anim.easing) {\n addAnimationProperty(builder, \"animation-timing-function\", anim.easing);\n }\n if (anim.direction) {\n addAnimationProperty(builder, \"animation-direction\", anim.direction);\n }\n if (anim.delay) {\n addAnimationProperty(builder, \"animation-delay\", anim.delay);\n }\n if (anim.fillMode) {\n addAnimationProperty(builder, \"animation-fill-mode\", anim.fillMode);\n }\n addAnimationProperty(builder, \"animation-name\", anim.name);\n }\n return builder.toString();\n}\nfunction toTimeValue(num) {\n return typeof num === \"number\" ? num + \"ms\" : num;\n}\nexport {\n createAnimationScope,\n createTransitionScope,\n renderTransition\n};\n","import { createComponent } from \"./astro-component.js\";\nimport { createAstro } from \"./astro-global.js\";\nimport { renderEndpoint } from \"./endpoint.js\";\nimport {\n escapeHTML,\n HTMLBytes,\n HTMLString,\n isHTMLString,\n markHTMLString,\n unescapeHTML\n} from \"./escape.js\";\nimport { renderJSX } from \"./jsx.js\";\nimport {\n addAttribute,\n createHeadAndContent,\n defineScriptVars,\n Fragment,\n maybeRenderHead,\n renderTemplate,\n renderComponent,\n Renderer,\n renderHead,\n renderHTMLElement,\n renderPage,\n renderScript,\n renderScriptElement,\n renderSlot,\n renderSlotToString,\n renderTemplate as renderTemplate2,\n renderToString,\n renderUniqueStylesheet,\n voidElementNames\n} from \"./render/index.js\";\nimport { createTransitionScope, renderTransition } from \"./transition.js\";\nimport { markHTMLString as markHTMLString2 } from \"./escape.js\";\nimport { Renderer as Renderer2, addAttribute as addAttribute2 } from \"./render/index.js\";\nfunction mergeSlots(...slotted) {\n const slots = {};\n for (const slot of slotted) {\n if (!slot) continue;\n if (typeof slot === \"object\") {\n Object.assign(slots, slot);\n } else if (typeof slot === \"function\") {\n Object.assign(slots, mergeSlots(slot()));\n }\n }\n return slots;\n}\nfunction __astro_tag_component__(Component, rendererName) {\n if (!Component) return;\n if (typeof Component !== \"function\") return;\n Object.defineProperty(Component, Renderer2, {\n value: rendererName,\n enumerable: false,\n writable: false\n });\n}\nfunction spreadAttributes(values = {}, _name, { class: scopedClassName } = {}) {\n let output = \"\";\n if (scopedClassName) {\n if (typeof values.class !== \"undefined\") {\n values.class += ` ${scopedClassName}`;\n } else if (typeof values[\"class:list\"] !== \"undefined\") {\n values[\"class:list\"] = [values[\"class:list\"], scopedClassName];\n } else {\n values.class = scopedClassName;\n }\n }\n for (const [key, value] of Object.entries(values)) {\n output += addAttribute2(value, key, true);\n }\n return markHTMLString2(output);\n}\nfunction defineStyleVars(defs) {\n let output = \"\";\n let arr = !Array.isArray(defs) ? [defs] : defs;\n for (const vars of arr) {\n for (const [key, value] of Object.entries(vars)) {\n if (value || value === 0) {\n output += `--${key}: ${value};`;\n }\n }\n }\n return markHTMLString2(output);\n}\nexport {\n Fragment,\n HTMLBytes,\n HTMLString,\n Renderer,\n __astro_tag_component__,\n addAttribute,\n createAstro,\n createComponent,\n createHeadAndContent,\n createTransitionScope,\n defineScriptVars,\n defineStyleVars,\n escapeHTML,\n isHTMLString,\n markHTMLString,\n maybeRenderHead,\n mergeSlots,\n renderTemplate as render,\n renderComponent,\n renderEndpoint,\n renderHTMLElement,\n renderHead,\n renderJSX,\n renderPage,\n renderScript,\n renderScriptElement,\n renderSlot,\n renderSlotToString,\n renderTemplate2 as renderTemplate,\n renderToString,\n renderTransition,\n renderUniqueStylesheet,\n spreadAttributes,\n unescapeHTML,\n voidElementNames\n};\n"],"names":["AstroErrorData.InvalidComponentArgs","AstroErrorData.AstroGlobUsedOutside","AstroErrorData.AstroGlobNoMatch","AstroErrorData.MissingMediaQueryDirective","AstroErrorData.NoMatchingImport","islandScriptDev","islandScript","AstroErrorData.NoMatchingRenderer","AstroErrorData.NoClientOnlyHint","AstroErrorData.NoClientEntrypoint","addAttribute2","markHTMLString2"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31]} \ No newline at end of file diff --git a/Target/chunks/astro_BCqEYKjy.mjs.map b/Target/chunks/astro_BCqEYKjy.mjs.map new file mode 100644 index 00000000..5588507c --- /dev/null +++ b/Target/chunks/astro_BCqEYKjy.mjs.map @@ -0,0 +1 @@ +{"version":3,"file":"astro_BCqEYKjy.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;"} \ No newline at end of file diff --git a/Target/chunks/astro_CwJWwaRM.mjs.map b/Target/chunks/astro_CwJWwaRM.mjs.map deleted file mode 100644 index d3aaf1f0..00000000 --- a/Target/chunks/astro_CwJWwaRM.mjs.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"astro_CwJWwaRM.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;"} \ No newline at end of file diff --git a/Target/index.html b/Target/index.html index c9f0be40..ad030427 100644 --- a/Target/index.html +++ b/Target/index.html @@ -1 +1 @@ -

\ No newline at end of file +
\ No newline at end of file diff --git a/Target/manifest_D1oi77ek.mjs.map b/Target/manifest_D1oi77ek.mjs.map new file mode 100644 index 00000000..977577db --- /dev/null +++ b/Target/manifest_D1oi77ek.mjs.map @@ -0,0 +1 @@ +{"version":3,"file":"manifest_D1oi77ek.mjs","sources":["../../../../../node_modules/astro/dist/actions/runtime/virtual/shared.js","../../../../../node_modules/astro/dist/core/routing/manifest/generator.js","../../../../../node_modules/astro/dist/core/routing/manifest/serialization.js","../../../../../node_modules/astro/dist/core/app/common.js"],"sourcesContent":["import { parse as devalueParse, stringify as devalueStringify } from \"devalue\";\nimport { ACTION_QUERY_PARAMS as _ACTION_QUERY_PARAMS } from \"../../consts.js\";\nconst ACTION_QUERY_PARAMS = _ACTION_QUERY_PARAMS;\nconst ACTION_ERROR_CODES = [\n \"BAD_REQUEST\",\n \"UNAUTHORIZED\",\n \"FORBIDDEN\",\n \"NOT_FOUND\",\n \"TIMEOUT\",\n \"CONFLICT\",\n \"PRECONDITION_FAILED\",\n \"PAYLOAD_TOO_LARGE\",\n \"UNSUPPORTED_MEDIA_TYPE\",\n \"UNPROCESSABLE_CONTENT\",\n \"TOO_MANY_REQUESTS\",\n \"CLIENT_CLOSED_REQUEST\",\n \"INTERNAL_SERVER_ERROR\"\n];\nconst codeToStatusMap = {\n // Implemented from tRPC error code table\n // https://trpc.io/docs/server/error-handling#error-codes\n BAD_REQUEST: 400,\n UNAUTHORIZED: 401,\n FORBIDDEN: 403,\n NOT_FOUND: 404,\n TIMEOUT: 405,\n CONFLICT: 409,\n PRECONDITION_FAILED: 412,\n PAYLOAD_TOO_LARGE: 413,\n UNSUPPORTED_MEDIA_TYPE: 415,\n UNPROCESSABLE_CONTENT: 422,\n TOO_MANY_REQUESTS: 429,\n CLIENT_CLOSED_REQUEST: 499,\n INTERNAL_SERVER_ERROR: 500\n};\nconst statusToCodeMap = Object.entries(codeToStatusMap).reduce(\n // reverse the key-value pairs\n (acc, [key, value]) => ({ ...acc, [value]: key }),\n {}\n);\nclass ActionError extends Error {\n type = \"AstroActionError\";\n code = \"INTERNAL_SERVER_ERROR\";\n status = 500;\n constructor(params) {\n super(params.message);\n this.code = params.code;\n this.status = ActionError.codeToStatus(params.code);\n if (params.stack) {\n this.stack = params.stack;\n }\n }\n static codeToStatus(code) {\n return codeToStatusMap[code];\n }\n static statusToCode(status) {\n return statusToCodeMap[status] ?? \"INTERNAL_SERVER_ERROR\";\n }\n static fromJson(body) {\n if (isInputError(body)) {\n return new ActionInputError(body.issues);\n }\n if (isActionError(body)) {\n return new ActionError(body);\n }\n return new ActionError({\n code: \"INTERNAL_SERVER_ERROR\"\n });\n }\n}\nfunction isActionError(error) {\n return typeof error === \"object\" && error != null && \"type\" in error && error.type === \"AstroActionError\";\n}\nfunction isInputError(error) {\n return typeof error === \"object\" && error != null && \"type\" in error && error.type === \"AstroActionInputError\" && \"issues\" in error && Array.isArray(error.issues);\n}\nclass ActionInputError extends ActionError {\n type = \"AstroActionInputError\";\n // We don't expose all ZodError properties.\n // Not all properties will serialize from server to client,\n // and we don't want to import the full ZodError object into the client.\n issues;\n fields;\n constructor(issues) {\n super({\n message: `Failed to validate: ${JSON.stringify(issues, null, 2)}`,\n code: \"BAD_REQUEST\"\n });\n this.issues = issues;\n this.fields = {};\n for (const issue of issues) {\n if (issue.path.length > 0) {\n const key = issue.path[0].toString();\n this.fields[key] ??= [];\n this.fields[key]?.push(issue.message);\n }\n }\n }\n}\nasync function callSafely(handler) {\n try {\n const data = await handler();\n return { data, error: void 0 };\n } catch (e) {\n if (e instanceof ActionError) {\n return { data: void 0, error: e };\n }\n return {\n data: void 0,\n error: new ActionError({\n message: e instanceof Error ? e.message : \"Unknown error\",\n code: \"INTERNAL_SERVER_ERROR\"\n })\n };\n }\n}\nfunction getActionQueryString(name) {\n const searchParams = new URLSearchParams({ [_ACTION_QUERY_PARAMS.actionName]: name });\n return `?${searchParams.toString()}`;\n}\nfunction getActionProps(action) {\n const params = new URLSearchParams(action.toString());\n const actionName = params.get(\"_astroAction\");\n if (!actionName) {\n throw new Error(\"Invalid actions function was passed to getActionProps()\");\n }\n return {\n type: \"hidden\",\n name: \"_astroAction\",\n value: actionName\n };\n}\nfunction serializeActionResult(res) {\n if (res.error) {\n if (import.meta.env?.DEV) {\n actionResultErrorStack.set(res.error.stack);\n }\n return {\n type: \"error\",\n status: res.error.status,\n contentType: \"application/json\",\n body: JSON.stringify({\n ...res.error,\n message: res.error.message\n })\n };\n }\n if (res.data === void 0) {\n return {\n type: \"empty\",\n status: 204\n };\n }\n return {\n type: \"data\",\n status: 200,\n contentType: \"application/json+devalue\",\n body: devalueStringify(res.data, {\n // Add support for URL objects\n URL: (value) => value instanceof URL && value.href\n })\n };\n}\nfunction deserializeActionResult(res) {\n if (res.type === \"error\") {\n if (import.meta.env?.PROD) {\n return { error: ActionError.fromJson(JSON.parse(res.body)), data: void 0 };\n } else {\n const error = ActionError.fromJson(JSON.parse(res.body));\n error.stack = actionResultErrorStack.get();\n return {\n error,\n data: void 0\n };\n }\n }\n if (res.type === \"empty\") {\n return { data: void 0, error: void 0 };\n }\n return {\n data: devalueParse(res.body, {\n URL: (href) => new URL(href)\n }),\n error: void 0\n };\n}\nconst actionResultErrorStack = /* @__PURE__ */ function actionResultErrorStackFn() {\n let errorStack;\n return {\n set(stack) {\n errorStack = stack;\n },\n get() {\n return errorStack;\n }\n };\n}();\nexport {\n ACTION_ERROR_CODES,\n ACTION_QUERY_PARAMS,\n ActionError,\n ActionInputError,\n callSafely,\n deserializeActionResult,\n getActionProps,\n getActionQueryString,\n isActionError,\n isInputError,\n serializeActionResult\n};\n","import { compile } from \"path-to-regexp\";\nfunction sanitizeParams(params) {\n return Object.fromEntries(\n Object.entries(params).map(([key, value]) => {\n if (typeof value === \"string\") {\n return [key, value.normalize().replace(/#/g, \"%23\").replace(/\\?/g, \"%3F\")];\n }\n return [key, value];\n })\n );\n}\nfunction getRouteGenerator(segments, addTrailingSlash) {\n const template = segments.map((segment) => {\n return \"/\" + segment.map((part) => {\n if (part.spread) {\n return `:${part.content.slice(3)}(.*)?`;\n } else if (part.dynamic) {\n return `:${part.content}`;\n } else {\n return part.content.normalize().replace(/\\?/g, \"%3F\").replace(/#/g, \"%23\").replace(/%5B/g, \"[\").replace(/%5D/g, \"]\").replace(/[.*+?^${}()|[\\]\\\\]/g, \"\\\\$&\");\n }\n }).join(\"\");\n }).join(\"\");\n let trailing = \"\";\n if (addTrailingSlash === \"always\" && segments.length) {\n trailing = \"/\";\n }\n const toPath = compile(template + trailing);\n return (params) => {\n const sanitizedParams = sanitizeParams(params);\n const path = toPath(sanitizedParams);\n return path || \"/\";\n };\n}\nexport {\n getRouteGenerator\n};\n","import { getRouteGenerator } from \"./generator.js\";\nfunction serializeRouteData(routeData, trailingSlash) {\n return {\n ...routeData,\n generate: void 0,\n pattern: routeData.pattern.source,\n redirectRoute: routeData.redirectRoute ? serializeRouteData(routeData.redirectRoute, trailingSlash) : void 0,\n fallbackRoutes: routeData.fallbackRoutes.map((fallbackRoute) => {\n return serializeRouteData(fallbackRoute, trailingSlash);\n }),\n _meta: { trailingSlash }\n };\n}\nfunction deserializeRouteData(rawRouteData) {\n return {\n route: rawRouteData.route,\n type: rawRouteData.type,\n pattern: new RegExp(rawRouteData.pattern),\n params: rawRouteData.params,\n component: rawRouteData.component,\n generate: getRouteGenerator(rawRouteData.segments, rawRouteData._meta.trailingSlash),\n pathname: rawRouteData.pathname || void 0,\n segments: rawRouteData.segments,\n prerender: rawRouteData.prerender,\n redirect: rawRouteData.redirect,\n redirectRoute: rawRouteData.redirectRoute ? deserializeRouteData(rawRouteData.redirectRoute) : void 0,\n fallbackRoutes: rawRouteData.fallbackRoutes.map((fallback) => {\n return deserializeRouteData(fallback);\n }),\n isIndex: rawRouteData.isIndex\n };\n}\nexport {\n deserializeRouteData,\n serializeRouteData\n};\n","import { decodeKey } from \"../encryption.js\";\nimport { deserializeRouteData } from \"../routing/manifest/serialization.js\";\nfunction deserializeManifest(serializedManifest) {\n const routes = [];\n for (const serializedRoute of serializedManifest.routes) {\n routes.push({\n ...serializedRoute,\n routeData: deserializeRouteData(serializedRoute.routeData)\n });\n const route = serializedRoute;\n route.routeData = deserializeRouteData(serializedRoute.routeData);\n }\n const assets = new Set(serializedManifest.assets);\n const componentMetadata = new Map(serializedManifest.componentMetadata);\n const inlinedScripts = new Map(serializedManifest.inlinedScripts);\n const clientDirectives = new Map(serializedManifest.clientDirectives);\n const serverIslandNameMap = new Map(serializedManifest.serverIslandNameMap);\n const key = decodeKey(serializedManifest.key);\n return {\n // in case user middleware exists, this no-op middleware will be reassigned (see plugin-ssr.ts)\n middleware(_, next) {\n return next();\n },\n ...serializedManifest,\n assets,\n componentMetadata,\n inlinedScripts,\n clientDirectives,\n routes,\n serverIslandNameMap,\n key\n };\n}\nexport {\n deserializeManifest\n};\n"],"names":[],"mappings":"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","x_google_ignoreList":[0,1,2,3]} \ No newline at end of file diff --git a/Target/manifest_mEtZhJau.mjs.map b/Target/manifest_mEtZhJau.mjs.map deleted file mode 100644 index 7b953f2b..00000000 --- a/Target/manifest_mEtZhJau.mjs.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"manifest_mEtZhJau.mjs","sources":["../node_modules/astro/dist/core/logger/core.js","../node_modules/astro/dist/core/routing/manifest/generator.js","../node_modules/astro/dist/core/routing/manifest/serialization.js","../node_modules/astro/dist/core/app/common.js"],"sourcesContent":["import { blue, bold, dim, red, yellow } from \"kleur/colors\";\nimport stringWidth from \"string-width\";\nconst dateTimeFormat = new Intl.DateTimeFormat([], {\n hour: \"2-digit\",\n minute: \"2-digit\",\n second: \"2-digit\",\n hour12: false\n});\nconst levels = {\n debug: 20,\n info: 30,\n warn: 40,\n error: 50,\n silent: 90\n};\nfunction log(opts, level, label, message, newLine = true) {\n const logLevel = opts.level;\n const dest = opts.dest;\n const event = {\n label,\n level,\n message,\n newLine\n };\n if (!isLogLevelEnabled(logLevel, level)) {\n return;\n }\n dest.write(event);\n}\nfunction isLogLevelEnabled(configuredLogLevel, level) {\n return levels[configuredLogLevel] <= levels[level];\n}\nfunction info(opts, label, message, newLine = true) {\n return log(opts, \"info\", label, message, newLine);\n}\nfunction warn(opts, label, message, newLine = true) {\n return log(opts, \"warn\", label, message, newLine);\n}\nfunction error(opts, label, message, newLine = true) {\n return log(opts, \"error\", label, message, newLine);\n}\nfunction table(opts, columns) {\n return function logTable(logFn, ...input) {\n const message = columns.map((len, i) => padStr(input[i].toString(), len)).join(\" \");\n logFn(opts, null, message);\n };\n}\nfunction debug(...args) {\n if (\"_astroGlobalDebug\" in globalThis) {\n globalThis._astroGlobalDebug(...args);\n }\n}\nfunction padStr(str, len) {\n const strLen = stringWidth(str);\n if (strLen > len) {\n return str.substring(0, len - 3) + \"...\";\n }\n const spaces = Array.from({ length: len - strLen }, () => \" \").join(\"\");\n return str + spaces;\n}\nfunction getEventPrefix({ level, label }) {\n const timestamp = `${dateTimeFormat.format(/* @__PURE__ */ new Date())}`;\n const prefix = [];\n if (level === \"error\" || level === \"warn\") {\n prefix.push(bold(timestamp));\n prefix.push(`[${level.toUpperCase()}]`);\n } else {\n prefix.push(timestamp);\n }\n if (label) {\n prefix.push(`[${label}]`);\n }\n if (level === \"error\") {\n return red(prefix.join(\" \"));\n }\n if (level === \"warn\") {\n return yellow(prefix.join(\" \"));\n }\n if (prefix.length === 1) {\n return dim(prefix[0]);\n }\n return dim(prefix[0]) + \" \" + blue(prefix.splice(1).join(\" \"));\n}\nlet defaultLogLevel;\nif (typeof process !== \"undefined\") {\n let proc = process;\n if (\"argv\" in proc && Array.isArray(proc.argv)) {\n if (proc.argv.includes(\"--verbose\")) {\n defaultLogLevel = \"debug\";\n } else if (proc.argv.includes(\"--silent\")) {\n defaultLogLevel = \"silent\";\n } else {\n defaultLogLevel = \"info\";\n }\n } else {\n defaultLogLevel = \"info\";\n }\n} else {\n defaultLogLevel = \"info\";\n}\nfunction timerMessage(message, startTime = Date.now()) {\n let timeDiff = Date.now() - startTime;\n let timeDisplay = timeDiff < 750 ? `${Math.round(timeDiff)}ms` : `${(timeDiff / 1e3).toFixed(1)}s`;\n return `${message} ${dim(timeDisplay)}`;\n}\nclass Logger {\n options;\n constructor(options) {\n this.options = options;\n }\n info(label, message, newLine = true) {\n info(this.options, label, message, newLine);\n }\n warn(label, message, newLine = true) {\n warn(this.options, label, message, newLine);\n }\n error(label, message, newLine = true) {\n error(this.options, label, message, newLine);\n }\n debug(label, ...messages) {\n debug(label, ...messages);\n }\n level() {\n return this.options.level;\n }\n forkIntegrationLogger(label) {\n return new AstroIntegrationLogger(this.options, label);\n }\n}\nclass AstroIntegrationLogger {\n options;\n label;\n constructor(logging, label) {\n this.options = logging;\n this.label = label;\n }\n /**\n * Creates a new logger instance with a new label, but the same log options.\n */\n fork(label) {\n return new AstroIntegrationLogger(this.options, label);\n }\n info(message) {\n info(this.options, this.label, message);\n }\n warn(message) {\n warn(this.options, this.label, message);\n }\n error(message) {\n error(this.options, this.label, message);\n }\n debug(message) {\n debug(this.label, message);\n }\n}\nexport {\n AstroIntegrationLogger,\n Logger,\n dateTimeFormat,\n debug,\n defaultLogLevel,\n error,\n getEventPrefix,\n info,\n isLogLevelEnabled,\n levels,\n log,\n table,\n timerMessage,\n warn\n};\n","import { compile } from \"path-to-regexp\";\nfunction sanitizeParams(params) {\n return Object.fromEntries(\n Object.entries(params).map(([key, value]) => {\n if (typeof value === \"string\") {\n return [key, value.normalize().replace(/#/g, \"%23\").replace(/\\?/g, \"%3F\")];\n }\n return [key, value];\n })\n );\n}\nfunction getRouteGenerator(segments, addTrailingSlash) {\n const template = segments.map((segment) => {\n return \"/\" + segment.map((part) => {\n if (part.spread) {\n return `:${part.content.slice(3)}(.*)?`;\n } else if (part.dynamic) {\n return `:${part.content}`;\n } else {\n return part.content.normalize().replace(/\\?/g, \"%3F\").replace(/#/g, \"%23\").replace(/%5B/g, \"[\").replace(/%5D/g, \"]\").replace(/[.*+?^${}()|[\\]\\\\]/g, \"\\\\$&\");\n }\n }).join(\"\");\n }).join(\"\");\n let trailing = \"\";\n if (addTrailingSlash === \"always\" && segments.length) {\n trailing = \"/\";\n }\n const toPath = compile(template + trailing);\n return (params) => {\n const sanitizedParams = sanitizeParams(params);\n const path = toPath(sanitizedParams);\n return path || \"/\";\n };\n}\nexport {\n getRouteGenerator\n};\n","import { getRouteGenerator } from \"./generator.js\";\nfunction serializeRouteData(routeData, trailingSlash) {\n return {\n ...routeData,\n generate: void 0,\n pattern: routeData.pattern.source,\n redirectRoute: routeData.redirectRoute ? serializeRouteData(routeData.redirectRoute, trailingSlash) : void 0,\n fallbackRoutes: routeData.fallbackRoutes.map((fallbackRoute) => {\n return serializeRouteData(fallbackRoute, trailingSlash);\n }),\n _meta: { trailingSlash }\n };\n}\nfunction deserializeRouteData(rawRouteData) {\n return {\n route: rawRouteData.route,\n type: rawRouteData.type,\n pattern: new RegExp(rawRouteData.pattern),\n params: rawRouteData.params,\n component: rawRouteData.component,\n generate: getRouteGenerator(rawRouteData.segments, rawRouteData._meta.trailingSlash),\n pathname: rawRouteData.pathname || void 0,\n segments: rawRouteData.segments,\n prerender: rawRouteData.prerender,\n redirect: rawRouteData.redirect,\n redirectRoute: rawRouteData.redirectRoute ? deserializeRouteData(rawRouteData.redirectRoute) : void 0,\n fallbackRoutes: rawRouteData.fallbackRoutes.map((fallback) => {\n return deserializeRouteData(fallback);\n }),\n isIndex: rawRouteData.isIndex\n };\n}\nexport {\n deserializeRouteData,\n serializeRouteData\n};\n","import { deserializeRouteData } from \"../routing/manifest/serialization.js\";\nfunction deserializeManifest(serializedManifest) {\n const routes = [];\n for (const serializedRoute of serializedManifest.routes) {\n routes.push({\n ...serializedRoute,\n routeData: deserializeRouteData(serializedRoute.routeData)\n });\n const route = serializedRoute;\n route.routeData = deserializeRouteData(serializedRoute.routeData);\n }\n const assets = new Set(serializedManifest.assets);\n const componentMetadata = new Map(serializedManifest.componentMetadata);\n const inlinedScripts = new Map(serializedManifest.inlinedScripts);\n const clientDirectives = new Map(serializedManifest.clientDirectives);\n const serverIslandNameMap = new Map(serializedManifest.serverIslandNameMap);\n return {\n // in case user middleware exists, this no-op middleware will be reassigned (see plugin-ssr.ts)\n middleware(_, next) {\n return next();\n },\n ...serializedManifest,\n assets,\n componentMetadata,\n inlinedScripts,\n clientDirectives,\n routes,\n serverIslandNameMap\n };\n}\nexport {\n deserializeManifest\n};\n"],"names":[],"mappings":"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","x_google_ignoreList":[0,1,2,3]} \ No newline at end of file diff --git a/Target/pages/index.astro.mjs.map b/Target/pages/index.astro.mjs.map index 35bccb04..91e1b338 100644 --- a/Target/pages/index.astro.mjs.map +++ b/Target/pages/index.astro.mjs.map @@ -1 +1 @@ -{"version":3,"file":"index.astro.mjs","sources":["../../node_modules/astro-capo/src/capo/rules.ts","../../node_modules/astro-capo/src/capo/index.ts","../../node_modules/astro-capo/src/Head.ts","../../node_modules/astro/components/ViewTransitions.astro","../../Source/Layout/Base.astro","../../Source/pages/index.astro"],"sourcesContent":["import type { ElementNode } from \"ultrahtml\";\nimport { renderSync } from 'ultrahtml';\n\ntype Attributes = Record;\n\nfunction has(value: unknown): value is string {\n return typeof value === 'string';\n}\nfunction is(a: unknown, b: T): a is T {\n return a === b;\n}\nfunction any(a: string | undefined, b: string[]): a is string {\n return has(a) && b.includes(a.toLowerCase());\n}\n\nexport const ElementWeights: Record = {\n META: 10,\n TITLE: 9,\n PRECONNECT: 8,\n ASYNC_SCRIPT: 7,\n IMPORT_STYLES: 6,\n SYNC_SCRIPT: 5,\n SYNC_STYLES: 4,\n PRELOAD: 3,\n DEFER_SCRIPT: 2,\n PREFETCH_PRERENDER: 1,\n OTHER: 0\n};\n\nexport const ElementDetectors = {\n META: isMeta,\n TITLE: isTitle,\n PRECONNECT: isPreconnect,\n DEFER_SCRIPT: isDeferScript,\n ASYNC_SCRIPT: isAsyncScript,\n IMPORT_STYLES: isImportStyles,\n SYNC_SCRIPT: isSyncScript,\n SYNC_STYLES: isSyncStyles,\n PRELOAD: isPreload,\n PREFETCH_PRERENDER: isPrefetchPrerender\n}\n\nexport const META_HTTP_EQUIV_KEYWORDS = [\n 'accept-ch',\n 'content-security-policy',\n 'content-type',\n 'default-style',\n 'delegate-ch',\n 'origin-trial',\n 'x-dns-prefetch-control'\n];\n\n// meta:is([charset], ${httpEquivSelector}, [name=viewport]), base\nexport function isMeta(name: string, a: Attributes) {\n if (name === 'base') return true;\n if (name !== 'meta') return false;\n return has(a.charset) || is(a.name, 'viewport') || any(a['http-equiv'], META_HTTP_EQUIV_KEYWORDS)\n}\n\n// title\nexport function isTitle(name: string) {\n return name === 'title';\n}\n\n// link[rel=preconnect]\nexport function isPreconnect(name: string, { rel }: Attributes) {\n return name === 'link' && is(rel, 'preconnect');\n}\n\n// script[src][async]\nexport function isAsyncScript(name: string, { src, async }: Attributes) {\n return name === 'script' && has(src) && has(async);\n}\n\n// style that contains @import\nexport function isImportStyles(name: string, a: Attributes, children: string) {\n const importRe = /@import/;\n\n if (name === 'style') {\n return importRe.test(children);\n }\n\n // Can't support external stylesheets on the server\n return false;\n}\n\n// script:not([src][defer],[src][type=module],[src][async],[type*=json])\nexport function isSyncScript(name: string, { src, defer, async, type = '' }: Attributes) {\n if (name !== 'script') return false;\n return !(has(src) && (has(defer) || has(async) || is(type, 'module')) || type.includes('json'))\n}\n\n// link[rel=stylesheet],style\nexport function isSyncStyles(name: string, { rel }: Attributes) {\n if (name === 'style') return true;\n return name === 'link' && is(rel, 'stylesheet')\n}\n\n// link:is([rel=preload], [rel=modulepreload])\nexport function isPreload(name: string, { rel }: Attributes) {\n return name === 'link' && any(rel, ['preload', 'modulepreload']);\n}\n\n// script[src][defer], script:not([src][async])[src][type=module]\nexport function isDeferScript(name: string, { src, defer, async, type }: Attributes) {\n if (name !== 'script') return false;\n return (has(src) && has(defer)) || (has(src) && is(type, 'module') && !has(async));\n}\n\n// link:is([rel=prefetch], [rel=dns-prefetch], [rel=prerender])\nexport function isPrefetchPrerender(name: string, { rel }: Attributes) {\n return name === 'link' && any(rel, ['prefetch', 'dns-prefetch', 'prerender'])\n}\n\n// meta[http-equiv=\"origin-trial\"i]\nexport function isOriginTrial(name: string, { 'http-equiv': http }: Attributes) {\n return name === 'meta' && is(http, 'origin-trial');\n}\n\n// meta[http-equiv=\"Content-Security-Policy\" i]\nexport function isMetaCSP(name: string, { 'http-equiv': http }: Attributes) {\n return name === 'meta' && is(http, 'Content-Security-Policy');\n}\n\nexport function getWeight(element: ElementNode) {\n for (const [id, detector] of Object.entries(ElementDetectors)) {\n const children = (element.name === 'style' && element.children.length > 0) ? renderSync(element) : '';\n if (detector(element.name, element.attributes, children)) {\n return ElementWeights[id];\n }\n }\n return ElementWeights.OTHER;\n}\n","import type { ElementNode } from 'ultrahtml';\nimport { parse, walkSync, renderSync, ELEMENT_NODE } from 'ultrahtml';\nimport { getWeight } from './rules.ts';\n\nexport default function capo(html: string) {\n const ast = parse(html);\n try {\n walkSync(ast, (node, parent, index) => {\n if (node.type === ELEMENT_NODE && node.name === 'head') {\n if (parent) {\n parent.children.splice(index, 1, getSortedHead(node));\n throw 'done' // short-circuit\n }\n }\n })\n } catch (e) {\n if (e !== 'done') throw e;\n }\n return renderSync(ast);\n}\n\nfunction getSortedHead(head: ElementNode): ElementNode {\n const weightedChildren = head.children.map((node) => {\n if (node.type === ELEMENT_NODE) {\n const weight = getWeight(node);\n return [weight, node];\n }\n }).filter(Boolean) as [number, ElementNode][]\n const children = weightedChildren.sort((a, b) => b[0] - a[0]).map(([_, element]) => element)\n return { ...head, children };\n}\n","import type { SSRResult } from \"astro\";\n// @ts-expect-error using astro internals\nimport { renderAllHeadContent } from \"astro/runtime/server/render/head.js\";\n// @ts-expect-error using astro internals\nimport { createComponent, unescapeHTML, renderSlotToString, spreadAttributes } from \"astro/runtime/server/index.js\";\nimport capo from \"./capo/index.ts\";\n\nexport const Head = createComponent({\n factory: async (result: SSRResult, props: Record, slots: Record) => {\n let head = '';\n head += ``\n head += await renderSlotToString(result, slots.default);\n head += renderAllHeadContent(result);\n head += '';\n return unescapeHTML(capo(head));\n }\n})\n","---\ntype Fallback = 'none' | 'animate' | 'swap';\n\nexport interface Props {\n\tfallback?: Fallback;\n\t/** @deprecated handleForms is enabled by default in Astro 4.0\n\t *\n\t * Set `data-astro-reload` on your form to opt-out of the default behavior.\n\t */\n\thandleForms?: boolean;\n}\n\nconst { fallback = 'animate' } = Astro.props;\n---\n\n\n\n\n\n","---\nimport \"@Stylesheet/Base.css\";\n\n// TODO Place your title and description here\nconst { Title = \"\", Description = \"\" } = Astro.props;\n\ninterface Props {\n\tTitle?: string;\n\tDescription?: string;\n}\n\nimport { Head } from \"astro-capo\";\nimport { ViewTransitions } from \"astro:transitions\";\n---\n\n\n\n\t\n\t\t\n\n\t\t\n\t\t{Title}\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\n\t\t\n\t\t\n\t\t\n\t\t\n\n\t\t\n\n\t\t\n\n\t\t\n\n\t\t\n\n\t\t\n\t\t\n\t\n\t\n\t\t
\n\t\t\t\n\t\t
\n\t\t\n\t\n\n","---\nimport Base from \"@Layout/Base.astro\";\n---\n\n\n"],"names":["$$createComponent","Astro","$$Astro","$$render","$$addAttribute","$$renderScript","$$createAstro","$$renderComponent","$$result","$$renderSlot","ViewTransitions","$$maybeRenderHead","Base"],"mappings":"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","x_google_ignoreList":[0,1,2,3]} \ No newline at end of file +{"version":3,"file":"index.astro.mjs","sources":["../../../../../../node_modules/astro-capo/src/capo/rules.ts","../../../../../../node_modules/astro-capo/src/capo/index.ts","../../../../../../node_modules/astro-capo/src/Head.ts","../../../../../../node_modules/astro/components/ViewTransitions.astro","../../Source/Layout/Base.astro","../../Source/pages/index.astro"],"sourcesContent":["import type { ElementNode } from \"ultrahtml\";\nimport { renderSync } from 'ultrahtml';\n\ntype Attributes = Record;\n\nfunction has(value: unknown): value is string {\n return typeof value === 'string';\n}\nfunction is(a: unknown, b: T): a is T {\n return a === b;\n}\nfunction any(a: string | undefined, b: string[]): a is string {\n return has(a) && b.includes(a.toLowerCase());\n}\n\nexport const ElementWeights: Record = {\n META: 10,\n TITLE: 9,\n PRECONNECT: 8,\n ASYNC_SCRIPT: 7,\n IMPORT_STYLES: 6,\n SYNC_SCRIPT: 5,\n SYNC_STYLES: 4,\n PRELOAD: 3,\n DEFER_SCRIPT: 2,\n PREFETCH_PRERENDER: 1,\n OTHER: 0\n};\n\nexport const ElementDetectors = {\n META: isMeta,\n TITLE: isTitle,\n PRECONNECT: isPreconnect,\n DEFER_SCRIPT: isDeferScript,\n ASYNC_SCRIPT: isAsyncScript,\n IMPORT_STYLES: isImportStyles,\n SYNC_SCRIPT: isSyncScript,\n SYNC_STYLES: isSyncStyles,\n PRELOAD: isPreload,\n PREFETCH_PRERENDER: isPrefetchPrerender\n}\n\nexport const META_HTTP_EQUIV_KEYWORDS = [\n 'accept-ch',\n 'content-security-policy',\n 'content-type',\n 'default-style',\n 'delegate-ch',\n 'origin-trial',\n 'x-dns-prefetch-control'\n];\n\n// meta:is([charset], ${httpEquivSelector}, [name=viewport]), base\nexport function isMeta(name: string, a: Attributes) {\n if (name === 'base') return true;\n if (name !== 'meta') return false;\n return has(a.charset) || is(a.name, 'viewport') || any(a['http-equiv'], META_HTTP_EQUIV_KEYWORDS)\n}\n\n// title\nexport function isTitle(name: string) {\n return name === 'title';\n}\n\n// link[rel=preconnect]\nexport function isPreconnect(name: string, { rel }: Attributes) {\n return name === 'link' && is(rel, 'preconnect');\n}\n\n// script[src][async]\nexport function isAsyncScript(name: string, { src, async }: Attributes) {\n return name === 'script' && has(src) && has(async);\n}\n\n// style that contains @import\nexport function isImportStyles(name: string, a: Attributes, children: string) {\n const importRe = /@import/;\n\n if (name === 'style') {\n return importRe.test(children);\n }\n\n // Can't support external stylesheets on the server\n return false;\n}\n\n// script:not([src][defer],[src][type=module],[src][async],[type*=json])\nexport function isSyncScript(name: string, { src, defer, async, type = '' }: Attributes) {\n if (name !== 'script') return false;\n return !(has(src) && (has(defer) || has(async) || is(type, 'module')) || type.includes('json'))\n}\n\n// link[rel=stylesheet],style\nexport function isSyncStyles(name: string, { rel }: Attributes) {\n if (name === 'style') return true;\n return name === 'link' && is(rel, 'stylesheet')\n}\n\n// link:is([rel=preload], [rel=modulepreload])\nexport function isPreload(name: string, { rel }: Attributes) {\n return name === 'link' && any(rel, ['preload', 'modulepreload']);\n}\n\n// script[src][defer], script:not([src][async])[src][type=module]\nexport function isDeferScript(name: string, { src, defer, async, type }: Attributes) {\n if (name !== 'script') return false;\n return (has(src) && has(defer)) || (has(src) && is(type, 'module') && !has(async));\n}\n\n// link:is([rel=prefetch], [rel=dns-prefetch], [rel=prerender])\nexport function isPrefetchPrerender(name: string, { rel }: Attributes) {\n return name === 'link' && any(rel, ['prefetch', 'dns-prefetch', 'prerender'])\n}\n\n// meta[http-equiv=\"origin-trial\"i]\nexport function isOriginTrial(name: string, { 'http-equiv': http }: Attributes) {\n return name === 'meta' && is(http, 'origin-trial');\n}\n\n// meta[http-equiv=\"Content-Security-Policy\" i]\nexport function isMetaCSP(name: string, { 'http-equiv': http }: Attributes) {\n return name === 'meta' && is(http, 'Content-Security-Policy');\n}\n\nexport function getWeight(element: ElementNode) {\n for (const [id, detector] of Object.entries(ElementDetectors)) {\n const children = (element.name === 'style' && element.children.length > 0) ? renderSync(element) : '';\n if (detector(element.name, element.attributes, children)) {\n return ElementWeights[id];\n }\n }\n return ElementWeights.OTHER;\n}\n","import type { ElementNode } from 'ultrahtml';\nimport { parse, walkSync, renderSync, ELEMENT_NODE } from 'ultrahtml';\nimport { getWeight } from './rules.ts';\n\nexport default function capo(html: string) {\n const ast = parse(html);\n try {\n walkSync(ast, (node, parent, index) => {\n if (node.type === ELEMENT_NODE && node.name === 'head') {\n if (parent) {\n parent.children.splice(index, 1, getSortedHead(node));\n throw 'done' // short-circuit\n }\n }\n })\n } catch (e) {\n if (e !== 'done') throw e;\n }\n return renderSync(ast);\n}\n\nfunction getSortedHead(head: ElementNode): ElementNode {\n const weightedChildren = head.children.map((node) => {\n if (node.type === ELEMENT_NODE) {\n const weight = getWeight(node);\n return [weight, node];\n }\n }).filter(Boolean) as [number, ElementNode][]\n const children = weightedChildren.sort((a, b) => b[0] - a[0]).map(([_, element]) => element)\n return { ...head, children };\n}\n","import type { SSRResult } from \"astro\";\n// @ts-expect-error using astro internals\nimport { renderAllHeadContent } from \"astro/runtime/server/render/head.js\";\n// @ts-expect-error using astro internals\nimport { createComponent, unescapeHTML, renderSlotToString, spreadAttributes } from \"astro/runtime/server/index.js\";\nimport capo from \"./capo/index.ts\";\n\nexport const Head = createComponent({\n factory: async (result: SSRResult, props: Record, slots: Record) => {\n let head = '';\n head += ``\n head += await renderSlotToString(result, slots.default);\n head += renderAllHeadContent(result);\n head += '';\n return unescapeHTML(capo(head));\n }\n})\n","---\ntype Fallback = 'none' | 'animate' | 'swap';\n\nexport interface Props {\n\tfallback?: Fallback;\n\t/** @deprecated handleForms is enabled by default in Astro 4.0\n\t *\n\t * Set `data-astro-reload` on your form to opt-out of the default behavior.\n\t */\n\thandleForms?: boolean;\n}\n\nconst { fallback = 'animate' } = Astro.props;\n---\n\n\n\n\n\n","---\nimport \"@Stylesheet/Base.css\";\n\n// TODO Place your title and description here\nconst { Title = \"\", Description = \"\" } = Astro.props;\n\ninterface Props {\n\tTitle?: string;\n\tDescription?: string;\n}\n\nimport { Head } from \"astro-capo\";\nimport { ViewTransitions } from \"astro:transitions\";\n---\n\n\n\n\t\n\t\t\n\n\t\t\n\t\t{Title}\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\n\t\t\n\t\t\n\t\t\n\t\t\n\n\t\t\n\n\t\t\n\n\t\t\n\n\t\t\n\n\t\t\n\t\t\n\t\n\t\n\t\t
\n\t\t\t\n\t\t
\n\t\t\n\t\n\n","---\nimport Base from \"@Layout/Base.astro\";\n---\n\n\n"],"names":["$$createComponent","Astro","$$Astro","$$render","$$addAttribute","$$renderScript","$$createAstro","$$renderComponent","$$result","$$renderSlot","ViewTransitions","$$maybeRenderHead","Base"],"mappings":"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","x_google_ignoreList":[0,1,2,3]} \ No newline at end of file diff --git a/package.json b/package.json index c1dbacd3..1cf1797c 100644 --- a/package.json +++ b/package.json @@ -50,7 +50,7 @@ "cssnano": "7.0.5", "cssnano-preset-advanced": "7.0.5", "dotenv": "16.4.5", - "firebase": "10.12.5", + "firebase": "10.13.0", "postcss": "8.4.41", "postcss-combine-duplicated-selectors": "10.0.3", "postcss-combine-media-query": "1.0.1", From 23b28a2088dba8dd256f478ed6b6949c4251ea34 Mon Sep 17 00:00:00 2001 From: Nikola Hristov Date: Mon, 19 Aug 2024 00:28:54 +0300 Subject: [PATCH 024/112] --- Target/{manifest_D1oi77ek.mjs.map => manifest_BdcszbVF.mjs.map} | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) rename Target/{manifest_D1oi77ek.mjs.map => manifest_BdcszbVF.mjs.map} (99%) diff --git a/Target/manifest_D1oi77ek.mjs.map b/Target/manifest_BdcszbVF.mjs.map similarity index 99% rename from Target/manifest_D1oi77ek.mjs.map rename to Target/manifest_BdcszbVF.mjs.map index 977577db..91b92b73 100644 --- a/Target/manifest_D1oi77ek.mjs.map +++ b/Target/manifest_BdcszbVF.mjs.map @@ -1 +1 @@ -{"version":3,"file":"manifest_D1oi77ek.mjs","sources":["../../../../../node_modules/astro/dist/actions/runtime/virtual/shared.js","../../../../../node_modules/astro/dist/core/routing/manifest/generator.js","../../../../../node_modules/astro/dist/core/routing/manifest/serialization.js","../../../../../node_modules/astro/dist/core/app/common.js"],"sourcesContent":["import { parse as devalueParse, stringify as devalueStringify } from \"devalue\";\nimport { ACTION_QUERY_PARAMS as _ACTION_QUERY_PARAMS } from \"../../consts.js\";\nconst ACTION_QUERY_PARAMS = _ACTION_QUERY_PARAMS;\nconst ACTION_ERROR_CODES = [\n \"BAD_REQUEST\",\n \"UNAUTHORIZED\",\n \"FORBIDDEN\",\n \"NOT_FOUND\",\n \"TIMEOUT\",\n \"CONFLICT\",\n \"PRECONDITION_FAILED\",\n \"PAYLOAD_TOO_LARGE\",\n \"UNSUPPORTED_MEDIA_TYPE\",\n \"UNPROCESSABLE_CONTENT\",\n \"TOO_MANY_REQUESTS\",\n \"CLIENT_CLOSED_REQUEST\",\n \"INTERNAL_SERVER_ERROR\"\n];\nconst codeToStatusMap = {\n // Implemented from tRPC error code table\n // https://trpc.io/docs/server/error-handling#error-codes\n BAD_REQUEST: 400,\n UNAUTHORIZED: 401,\n FORBIDDEN: 403,\n NOT_FOUND: 404,\n TIMEOUT: 405,\n CONFLICT: 409,\n PRECONDITION_FAILED: 412,\n PAYLOAD_TOO_LARGE: 413,\n UNSUPPORTED_MEDIA_TYPE: 415,\n UNPROCESSABLE_CONTENT: 422,\n TOO_MANY_REQUESTS: 429,\n CLIENT_CLOSED_REQUEST: 499,\n INTERNAL_SERVER_ERROR: 500\n};\nconst statusToCodeMap = Object.entries(codeToStatusMap).reduce(\n // reverse the key-value pairs\n (acc, [key, value]) => ({ ...acc, [value]: key }),\n {}\n);\nclass ActionError extends Error {\n type = \"AstroActionError\";\n code = \"INTERNAL_SERVER_ERROR\";\n status = 500;\n constructor(params) {\n super(params.message);\n this.code = params.code;\n this.status = ActionError.codeToStatus(params.code);\n if (params.stack) {\n this.stack = params.stack;\n }\n }\n static codeToStatus(code) {\n return codeToStatusMap[code];\n }\n static statusToCode(status) {\n return statusToCodeMap[status] ?? \"INTERNAL_SERVER_ERROR\";\n }\n static fromJson(body) {\n if (isInputError(body)) {\n return new ActionInputError(body.issues);\n }\n if (isActionError(body)) {\n return new ActionError(body);\n }\n return new ActionError({\n code: \"INTERNAL_SERVER_ERROR\"\n });\n }\n}\nfunction isActionError(error) {\n return typeof error === \"object\" && error != null && \"type\" in error && error.type === \"AstroActionError\";\n}\nfunction isInputError(error) {\n return typeof error === \"object\" && error != null && \"type\" in error && error.type === \"AstroActionInputError\" && \"issues\" in error && Array.isArray(error.issues);\n}\nclass ActionInputError extends ActionError {\n type = \"AstroActionInputError\";\n // We don't expose all ZodError properties.\n // Not all properties will serialize from server to client,\n // and we don't want to import the full ZodError object into the client.\n issues;\n fields;\n constructor(issues) {\n super({\n message: `Failed to validate: ${JSON.stringify(issues, null, 2)}`,\n code: \"BAD_REQUEST\"\n });\n this.issues = issues;\n this.fields = {};\n for (const issue of issues) {\n if (issue.path.length > 0) {\n const key = issue.path[0].toString();\n this.fields[key] ??= [];\n this.fields[key]?.push(issue.message);\n }\n }\n }\n}\nasync function callSafely(handler) {\n try {\n const data = await handler();\n return { data, error: void 0 };\n } catch (e) {\n if (e instanceof ActionError) {\n return { data: void 0, error: e };\n }\n return {\n data: void 0,\n error: new ActionError({\n message: e instanceof Error ? e.message : \"Unknown error\",\n code: \"INTERNAL_SERVER_ERROR\"\n })\n };\n }\n}\nfunction getActionQueryString(name) {\n const searchParams = new URLSearchParams({ [_ACTION_QUERY_PARAMS.actionName]: name });\n return `?${searchParams.toString()}`;\n}\nfunction getActionProps(action) {\n const params = new URLSearchParams(action.toString());\n const actionName = params.get(\"_astroAction\");\n if (!actionName) {\n throw new Error(\"Invalid actions function was passed to getActionProps()\");\n }\n return {\n type: \"hidden\",\n name: \"_astroAction\",\n value: actionName\n };\n}\nfunction serializeActionResult(res) {\n if (res.error) {\n if (import.meta.env?.DEV) {\n actionResultErrorStack.set(res.error.stack);\n }\n return {\n type: \"error\",\n status: res.error.status,\n contentType: \"application/json\",\n body: JSON.stringify({\n ...res.error,\n message: res.error.message\n })\n };\n }\n if (res.data === void 0) {\n return {\n type: \"empty\",\n status: 204\n };\n }\n return {\n type: \"data\",\n status: 200,\n contentType: \"application/json+devalue\",\n body: devalueStringify(res.data, {\n // Add support for URL objects\n URL: (value) => value instanceof URL && value.href\n })\n };\n}\nfunction deserializeActionResult(res) {\n if (res.type === \"error\") {\n if (import.meta.env?.PROD) {\n return { error: ActionError.fromJson(JSON.parse(res.body)), data: void 0 };\n } else {\n const error = ActionError.fromJson(JSON.parse(res.body));\n error.stack = actionResultErrorStack.get();\n return {\n error,\n data: void 0\n };\n }\n }\n if (res.type === \"empty\") {\n return { data: void 0, error: void 0 };\n }\n return {\n data: devalueParse(res.body, {\n URL: (href) => new URL(href)\n }),\n error: void 0\n };\n}\nconst actionResultErrorStack = /* @__PURE__ */ function actionResultErrorStackFn() {\n let errorStack;\n return {\n set(stack) {\n errorStack = stack;\n },\n get() {\n return errorStack;\n }\n };\n}();\nexport {\n ACTION_ERROR_CODES,\n ACTION_QUERY_PARAMS,\n ActionError,\n ActionInputError,\n callSafely,\n deserializeActionResult,\n getActionProps,\n getActionQueryString,\n isActionError,\n isInputError,\n serializeActionResult\n};\n","import { compile } from \"path-to-regexp\";\nfunction sanitizeParams(params) {\n return Object.fromEntries(\n Object.entries(params).map(([key, value]) => {\n if (typeof value === \"string\") {\n return [key, value.normalize().replace(/#/g, \"%23\").replace(/\\?/g, \"%3F\")];\n }\n return [key, value];\n })\n );\n}\nfunction getRouteGenerator(segments, addTrailingSlash) {\n const template = segments.map((segment) => {\n return \"/\" + segment.map((part) => {\n if (part.spread) {\n return `:${part.content.slice(3)}(.*)?`;\n } else if (part.dynamic) {\n return `:${part.content}`;\n } else {\n return part.content.normalize().replace(/\\?/g, \"%3F\").replace(/#/g, \"%23\").replace(/%5B/g, \"[\").replace(/%5D/g, \"]\").replace(/[.*+?^${}()|[\\]\\\\]/g, \"\\\\$&\");\n }\n }).join(\"\");\n }).join(\"\");\n let trailing = \"\";\n if (addTrailingSlash === \"always\" && segments.length) {\n trailing = \"/\";\n }\n const toPath = compile(template + trailing);\n return (params) => {\n const sanitizedParams = sanitizeParams(params);\n const path = toPath(sanitizedParams);\n return path || \"/\";\n };\n}\nexport {\n getRouteGenerator\n};\n","import { getRouteGenerator } from \"./generator.js\";\nfunction serializeRouteData(routeData, trailingSlash) {\n return {\n ...routeData,\n generate: void 0,\n pattern: routeData.pattern.source,\n redirectRoute: routeData.redirectRoute ? serializeRouteData(routeData.redirectRoute, trailingSlash) : void 0,\n fallbackRoutes: routeData.fallbackRoutes.map((fallbackRoute) => {\n return serializeRouteData(fallbackRoute, trailingSlash);\n }),\n _meta: { trailingSlash }\n };\n}\nfunction deserializeRouteData(rawRouteData) {\n return {\n route: rawRouteData.route,\n type: rawRouteData.type,\n pattern: new RegExp(rawRouteData.pattern),\n params: rawRouteData.params,\n component: rawRouteData.component,\n generate: getRouteGenerator(rawRouteData.segments, rawRouteData._meta.trailingSlash),\n pathname: rawRouteData.pathname || void 0,\n segments: rawRouteData.segments,\n prerender: rawRouteData.prerender,\n redirect: rawRouteData.redirect,\n redirectRoute: rawRouteData.redirectRoute ? deserializeRouteData(rawRouteData.redirectRoute) : void 0,\n fallbackRoutes: rawRouteData.fallbackRoutes.map((fallback) => {\n return deserializeRouteData(fallback);\n }),\n isIndex: rawRouteData.isIndex\n };\n}\nexport {\n deserializeRouteData,\n serializeRouteData\n};\n","import { decodeKey } from \"../encryption.js\";\nimport { deserializeRouteData } from \"../routing/manifest/serialization.js\";\nfunction deserializeManifest(serializedManifest) {\n const routes = [];\n for (const serializedRoute of serializedManifest.routes) {\n routes.push({\n ...serializedRoute,\n routeData: deserializeRouteData(serializedRoute.routeData)\n });\n const route = serializedRoute;\n route.routeData = deserializeRouteData(serializedRoute.routeData);\n }\n const assets = new Set(serializedManifest.assets);\n const componentMetadata = new Map(serializedManifest.componentMetadata);\n const inlinedScripts = new Map(serializedManifest.inlinedScripts);\n const clientDirectives = new Map(serializedManifest.clientDirectives);\n const serverIslandNameMap = new Map(serializedManifest.serverIslandNameMap);\n const key = decodeKey(serializedManifest.key);\n return {\n // in case user middleware exists, this no-op middleware will be reassigned (see plugin-ssr.ts)\n middleware(_, next) {\n return next();\n },\n ...serializedManifest,\n assets,\n componentMetadata,\n inlinedScripts,\n clientDirectives,\n routes,\n serverIslandNameMap,\n key\n };\n}\nexport {\n deserializeManifest\n};\n"],"names":[],"mappings":"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","x_google_ignoreList":[0,1,2,3]} \ No newline at end of file +{"version":3,"file":"manifest_BdcszbVF.mjs","sources":["../../../../../node_modules/astro/dist/actions/runtime/virtual/shared.js","../../../../../node_modules/astro/dist/core/routing/manifest/generator.js","../../../../../node_modules/astro/dist/core/routing/manifest/serialization.js","../../../../../node_modules/astro/dist/core/app/common.js"],"sourcesContent":["import { parse as devalueParse, stringify as devalueStringify } from \"devalue\";\nimport { ACTION_QUERY_PARAMS as _ACTION_QUERY_PARAMS } from \"../../consts.js\";\nconst ACTION_QUERY_PARAMS = _ACTION_QUERY_PARAMS;\nconst ACTION_ERROR_CODES = [\n \"BAD_REQUEST\",\n \"UNAUTHORIZED\",\n \"FORBIDDEN\",\n \"NOT_FOUND\",\n \"TIMEOUT\",\n \"CONFLICT\",\n \"PRECONDITION_FAILED\",\n \"PAYLOAD_TOO_LARGE\",\n \"UNSUPPORTED_MEDIA_TYPE\",\n \"UNPROCESSABLE_CONTENT\",\n \"TOO_MANY_REQUESTS\",\n \"CLIENT_CLOSED_REQUEST\",\n \"INTERNAL_SERVER_ERROR\"\n];\nconst codeToStatusMap = {\n // Implemented from tRPC error code table\n // https://trpc.io/docs/server/error-handling#error-codes\n BAD_REQUEST: 400,\n UNAUTHORIZED: 401,\n FORBIDDEN: 403,\n NOT_FOUND: 404,\n TIMEOUT: 405,\n CONFLICT: 409,\n PRECONDITION_FAILED: 412,\n PAYLOAD_TOO_LARGE: 413,\n UNSUPPORTED_MEDIA_TYPE: 415,\n UNPROCESSABLE_CONTENT: 422,\n TOO_MANY_REQUESTS: 429,\n CLIENT_CLOSED_REQUEST: 499,\n INTERNAL_SERVER_ERROR: 500\n};\nconst statusToCodeMap = Object.entries(codeToStatusMap).reduce(\n // reverse the key-value pairs\n (acc, [key, value]) => ({ ...acc, [value]: key }),\n {}\n);\nclass ActionError extends Error {\n type = \"AstroActionError\";\n code = \"INTERNAL_SERVER_ERROR\";\n status = 500;\n constructor(params) {\n super(params.message);\n this.code = params.code;\n this.status = ActionError.codeToStatus(params.code);\n if (params.stack) {\n this.stack = params.stack;\n }\n }\n static codeToStatus(code) {\n return codeToStatusMap[code];\n }\n static statusToCode(status) {\n return statusToCodeMap[status] ?? \"INTERNAL_SERVER_ERROR\";\n }\n static fromJson(body) {\n if (isInputError(body)) {\n return new ActionInputError(body.issues);\n }\n if (isActionError(body)) {\n return new ActionError(body);\n }\n return new ActionError({\n code: \"INTERNAL_SERVER_ERROR\"\n });\n }\n}\nfunction isActionError(error) {\n return typeof error === \"object\" && error != null && \"type\" in error && error.type === \"AstroActionError\";\n}\nfunction isInputError(error) {\n return typeof error === \"object\" && error != null && \"type\" in error && error.type === \"AstroActionInputError\" && \"issues\" in error && Array.isArray(error.issues);\n}\nclass ActionInputError extends ActionError {\n type = \"AstroActionInputError\";\n // We don't expose all ZodError properties.\n // Not all properties will serialize from server to client,\n // and we don't want to import the full ZodError object into the client.\n issues;\n fields;\n constructor(issues) {\n super({\n message: `Failed to validate: ${JSON.stringify(issues, null, 2)}`,\n code: \"BAD_REQUEST\"\n });\n this.issues = issues;\n this.fields = {};\n for (const issue of issues) {\n if (issue.path.length > 0) {\n const key = issue.path[0].toString();\n this.fields[key] ??= [];\n this.fields[key]?.push(issue.message);\n }\n }\n }\n}\nasync function callSafely(handler) {\n try {\n const data = await handler();\n return { data, error: void 0 };\n } catch (e) {\n if (e instanceof ActionError) {\n return { data: void 0, error: e };\n }\n return {\n data: void 0,\n error: new ActionError({\n message: e instanceof Error ? e.message : \"Unknown error\",\n code: \"INTERNAL_SERVER_ERROR\"\n })\n };\n }\n}\nfunction getActionQueryString(name) {\n const searchParams = new URLSearchParams({ [_ACTION_QUERY_PARAMS.actionName]: name });\n return `?${searchParams.toString()}`;\n}\nfunction getActionProps(action) {\n const params = new URLSearchParams(action.toString());\n const actionName = params.get(\"_astroAction\");\n if (!actionName) {\n throw new Error(\"Invalid actions function was passed to getActionProps()\");\n }\n return {\n type: \"hidden\",\n name: \"_astroAction\",\n value: actionName\n };\n}\nfunction serializeActionResult(res) {\n if (res.error) {\n if (import.meta.env?.DEV) {\n actionResultErrorStack.set(res.error.stack);\n }\n return {\n type: \"error\",\n status: res.error.status,\n contentType: \"application/json\",\n body: JSON.stringify({\n ...res.error,\n message: res.error.message\n })\n };\n }\n if (res.data === void 0) {\n return {\n type: \"empty\",\n status: 204\n };\n }\n return {\n type: \"data\",\n status: 200,\n contentType: \"application/json+devalue\",\n body: devalueStringify(res.data, {\n // Add support for URL objects\n URL: (value) => value instanceof URL && value.href\n })\n };\n}\nfunction deserializeActionResult(res) {\n if (res.type === \"error\") {\n if (import.meta.env?.PROD) {\n return { error: ActionError.fromJson(JSON.parse(res.body)), data: void 0 };\n } else {\n const error = ActionError.fromJson(JSON.parse(res.body));\n error.stack = actionResultErrorStack.get();\n return {\n error,\n data: void 0\n };\n }\n }\n if (res.type === \"empty\") {\n return { data: void 0, error: void 0 };\n }\n return {\n data: devalueParse(res.body, {\n URL: (href) => new URL(href)\n }),\n error: void 0\n };\n}\nconst actionResultErrorStack = /* @__PURE__ */ function actionResultErrorStackFn() {\n let errorStack;\n return {\n set(stack) {\n errorStack = stack;\n },\n get() {\n return errorStack;\n }\n };\n}();\nexport {\n ACTION_ERROR_CODES,\n ACTION_QUERY_PARAMS,\n ActionError,\n ActionInputError,\n callSafely,\n deserializeActionResult,\n getActionProps,\n getActionQueryString,\n isActionError,\n isInputError,\n serializeActionResult\n};\n","import { compile } from \"path-to-regexp\";\nfunction sanitizeParams(params) {\n return Object.fromEntries(\n Object.entries(params).map(([key, value]) => {\n if (typeof value === \"string\") {\n return [key, value.normalize().replace(/#/g, \"%23\").replace(/\\?/g, \"%3F\")];\n }\n return [key, value];\n })\n );\n}\nfunction getRouteGenerator(segments, addTrailingSlash) {\n const template = segments.map((segment) => {\n return \"/\" + segment.map((part) => {\n if (part.spread) {\n return `:${part.content.slice(3)}(.*)?`;\n } else if (part.dynamic) {\n return `:${part.content}`;\n } else {\n return part.content.normalize().replace(/\\?/g, \"%3F\").replace(/#/g, \"%23\").replace(/%5B/g, \"[\").replace(/%5D/g, \"]\").replace(/[.*+?^${}()|[\\]\\\\]/g, \"\\\\$&\");\n }\n }).join(\"\");\n }).join(\"\");\n let trailing = \"\";\n if (addTrailingSlash === \"always\" && segments.length) {\n trailing = \"/\";\n }\n const toPath = compile(template + trailing);\n return (params) => {\n const sanitizedParams = sanitizeParams(params);\n const path = toPath(sanitizedParams);\n return path || \"/\";\n };\n}\nexport {\n getRouteGenerator\n};\n","import { getRouteGenerator } from \"./generator.js\";\nfunction serializeRouteData(routeData, trailingSlash) {\n return {\n ...routeData,\n generate: void 0,\n pattern: routeData.pattern.source,\n redirectRoute: routeData.redirectRoute ? serializeRouteData(routeData.redirectRoute, trailingSlash) : void 0,\n fallbackRoutes: routeData.fallbackRoutes.map((fallbackRoute) => {\n return serializeRouteData(fallbackRoute, trailingSlash);\n }),\n _meta: { trailingSlash }\n };\n}\nfunction deserializeRouteData(rawRouteData) {\n return {\n route: rawRouteData.route,\n type: rawRouteData.type,\n pattern: new RegExp(rawRouteData.pattern),\n params: rawRouteData.params,\n component: rawRouteData.component,\n generate: getRouteGenerator(rawRouteData.segments, rawRouteData._meta.trailingSlash),\n pathname: rawRouteData.pathname || void 0,\n segments: rawRouteData.segments,\n prerender: rawRouteData.prerender,\n redirect: rawRouteData.redirect,\n redirectRoute: rawRouteData.redirectRoute ? deserializeRouteData(rawRouteData.redirectRoute) : void 0,\n fallbackRoutes: rawRouteData.fallbackRoutes.map((fallback) => {\n return deserializeRouteData(fallback);\n }),\n isIndex: rawRouteData.isIndex\n };\n}\nexport {\n deserializeRouteData,\n serializeRouteData\n};\n","import { decodeKey } from \"../encryption.js\";\nimport { deserializeRouteData } from \"../routing/manifest/serialization.js\";\nfunction deserializeManifest(serializedManifest) {\n const routes = [];\n for (const serializedRoute of serializedManifest.routes) {\n routes.push({\n ...serializedRoute,\n routeData: deserializeRouteData(serializedRoute.routeData)\n });\n const route = serializedRoute;\n route.routeData = deserializeRouteData(serializedRoute.routeData);\n }\n const assets = new Set(serializedManifest.assets);\n const componentMetadata = new Map(serializedManifest.componentMetadata);\n const inlinedScripts = new Map(serializedManifest.inlinedScripts);\n const clientDirectives = new Map(serializedManifest.clientDirectives);\n const serverIslandNameMap = new Map(serializedManifest.serverIslandNameMap);\n const key = decodeKey(serializedManifest.key);\n return {\n // in case user middleware exists, this no-op middleware will be reassigned (see plugin-ssr.ts)\n middleware(_, next) {\n return next();\n },\n ...serializedManifest,\n assets,\n componentMetadata,\n inlinedScripts,\n clientDirectives,\n routes,\n serverIslandNameMap,\n key\n };\n}\nexport {\n deserializeManifest\n};\n"],"names":[],"mappings":"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","x_google_ignoreList":[0,1,2,3]} \ No newline at end of file From f0e9b08a0e48d2fafcb8bfe835f5a232b6daf778 Mon Sep 17 00:00:00 2001 From: Nikola Hristov Date: Thu, 22 Aug 2024 03:02:42 +0300 Subject: [PATCH 025/112] --- ...tro_astro_type_script_index_1_lang.CP2le5wW.js} | 14 +++++++------- ...astro_type_script_index_1_lang.CP2le5wW.js.map} | 2 +- ..._astro_type_script_index_2_lang.D4DYKVOQ.js.map | 2 +- Target/_astro/Swup.modern.BemQoQWS.js | 1 - Target/_astro/Swup.modern.BemQoQWS.js.map | 1 - Target/_astro/Swup.modern.UA9jlYbO.js | 1 + Target/_astro/Swup.modern.UA9jlYbO.js.map | 1 + ...modern.ljjH5-f0.js => index.modern.CiCz6VZW.js} | 2 +- ...jjH5-f0.js.map => index.modern.CiCz6VZW.js.map} | 2 +- ...modern.CUPCPLSa.js => index.modern.Dzx6rguv.js} | 2 +- ...UPCPLSa.js.map => index.modern.Dzx6rguv.js.map} | 2 +- ...er_O4728HY4.mjs.map => server_DfodAsKQ.mjs.map} | 2 +- Target/chunks/astro_BCqEYKjy.mjs.map | 1 - Target/chunks/astro_nwDp3uAs.mjs.map | 1 + Target/index.html | 2 +- ..._BdcszbVF.mjs.map => manifest_DDIw0zP7.mjs.map} | 2 +- Target/pages/index.astro.mjs.map | 2 +- 17 files changed, 20 insertions(+), 20 deletions(-) rename Target/_astro/{Base.astro_astro_type_script_index_1_lang.DvSLRLVP.js => Base.astro_astro_type_script_index_1_lang.CP2le5wW.js} (81%) rename Target/_astro/{Base.astro_astro_type_script_index_1_lang.DvSLRLVP.js.map => Base.astro_astro_type_script_index_1_lang.CP2le5wW.js.map} (97%) delete mode 100644 Target/_astro/Swup.modern.BemQoQWS.js delete mode 100644 Target/_astro/Swup.modern.BemQoQWS.js.map create mode 100644 Target/_astro/Swup.modern.UA9jlYbO.js create mode 100644 Target/_astro/Swup.modern.UA9jlYbO.js.map rename Target/_astro/{index.modern.ljjH5-f0.js => index.modern.CiCz6VZW.js} (99%) rename Target/_astro/{index.modern.ljjH5-f0.js.map => index.modern.CiCz6VZW.js.map} (99%) rename Target/_astro/{index.modern.CUPCPLSa.js => index.modern.Dzx6rguv.js} (98%) rename Target/_astro/{index.modern.CUPCPLSa.js.map => index.modern.Dzx6rguv.js.map} (99%) rename Target/chunks/astro/{server_O4728HY4.mjs.map => server_DfodAsKQ.mjs.map} (99%) delete mode 100644 Target/chunks/astro_BCqEYKjy.mjs.map create mode 100644 Target/chunks/astro_nwDp3uAs.mjs.map rename Target/{manifest_BdcszbVF.mjs.map => manifest_DDIw0zP7.mjs.map} (99%) diff --git a/Target/_astro/Base.astro_astro_type_script_index_1_lang.DvSLRLVP.js b/Target/_astro/Base.astro_astro_type_script_index_1_lang.CP2le5wW.js similarity index 81% rename from Target/_astro/Base.astro_astro_type_script_index_1_lang.DvSLRLVP.js rename to Target/_astro/Base.astro_astro_type_script_index_1_lang.CP2le5wW.js index 27659dec..89ac0a5d 100644 --- a/Target/_astro/Base.astro_astro_type_script_index_1_lang.DvSLRLVP.js +++ b/Target/_astro/Base.astro_astro_type_script_index_1_lang.CP2le5wW.js @@ -6,16 +6,16 @@ const __vite__mapDeps = ( "_astro/index.modern.DpLP8u1C.js", "_astro/index.modern.CkIAsQri.js", "_astro/index.modern.FjGODCox.js", - "_astro/index.modern.CUPCPLSa.js", - "_astro/Swup.modern.BemQoQWS.js", - "_astro/index.modern.ljjH5-f0.js", + "_astro/index.modern.Dzx6rguv.js", + "_astro/Swup.modern.UA9jlYbO.js", + "_astro/index.modern.CiCz6VZW.js", "_astro/index.modern.aa8fLSdp.js", ]), ) => i.map((i) => d[i]); import { _ } from "./preload-helper.BiBI96sQ.js"; new ( await _(async () => { - const { default: t } = await import("./Swup.modern.BemQoQWS.js"); + const { default: t } = await import("./Swup.modern.UA9jlYbO.js"); return { default: t }; }, []) ).default({ @@ -47,7 +47,7 @@ new ( await _( async () => { const { default: t } = await import( - "./index.modern.CUPCPLSa.js" + "./index.modern.Dzx6rguv.js" ); return { default: t }; }, @@ -58,7 +58,7 @@ new ( await _( async () => { const { default: t } = await import( - "./index.modern.ljjH5-f0.js" + "./index.modern.CiCz6VZW.js" ); return { default: t }; }, @@ -78,4 +78,4 @@ new ( ).default(), ], }); -//# sourceMappingURL=Base.astro_astro_type_script_index_1_lang.DvSLRLVP.js.map +//# sourceMappingURL=Base.astro_astro_type_script_index_1_lang.CP2le5wW.js.map diff --git a/Target/_astro/Base.astro_astro_type_script_index_1_lang.DvSLRLVP.js.map b/Target/_astro/Base.astro_astro_type_script_index_1_lang.CP2le5wW.js.map similarity index 97% rename from Target/_astro/Base.astro_astro_type_script_index_1_lang.DvSLRLVP.js.map rename to Target/_astro/Base.astro_astro_type_script_index_1_lang.CP2le5wW.js.map index 253a23c8..8e7ce936 100644 --- a/Target/_astro/Base.astro_astro_type_script_index_1_lang.DvSLRLVP.js.map +++ b/Target/_astro/Base.astro_astro_type_script_index_1_lang.CP2le5wW.js.map @@ -1 +1 @@ -{"version":3,"mappings":";4CAAe,IAAK,MAAMA,EAAA,wBAAAC,CAAA,eAAO,2BAAM,iBAAAA,CAAA,QAAG,QAAQ,CACjD,WAAY,CAAC,UAAW,QAAS,SAAS,EAC1C,QAAS,CACR,IACC,MAAMD,EAAA,wBAAAC,CAAA,eAEL,8BACD,eAAAA,EAAA,2BACC,QACF,IAAK,MAAAD,EAAA,wBAAAC,CAAA,OAAM,QAAO,4BAAmB,iBAAAA,CAAA,4BAAG,QACxC,IAAK,MAAAD,EAAA,wBAAAC,CAAA,OAAM,QAAO,4BAAsB,iBAAAA,CAAA,8BAAG,QAC3C,IAAK,MAAAD,EAAA,wBAAAC,CAAA,OAAM,QAAO,4BAAqB,iBAAAA,CAAA,8BAAG,QAC1C,IAAK,MAAAD,EAAA,wBAAAC,CAAA,OAAM,QAAO,4BAAyB,iBAAAA,CAAA,4BAAG,OAC/C,CACD,CAAC","names":["__vitePreload","__vite_default__"],"ignoreList":[],"sources":["../../Source/Script/SWUP.ts"],"sourcesContent":["export default new (await import(\"swup\")).default({\n\tcontainers: [\"#footer\", \"#main\", \"#header\"],\n\tplugins: [\n\t\tnew (\n\t\t\tawait import(\n\t\t\t\t// @ts-expect-error\n\t\t\t\t\"@swup/overlay-theme\"\n\t\t\t)\n\t\t).default(),\n\t\tnew (await import(\"@swup/head-plugin\")).default(),\n\t\tnew (await import(\"@swup/preload-plugin\")).default(),\n\t\tnew (await import(\"@swup/scroll-plugin\")).default(),\n\t\tnew (await import(\"@swup/body-class-plugin\")).default(),\n\t],\n});\n"],"file":"_astro/Base.astro_astro_type_script_index_1_lang.DvSLRLVP.js"} \ No newline at end of file +{"version":3,"mappings":";4CAAe,IAAK,MAAMA,EAAA,wBAAAC,CAAA,eAAO,2BAAM,iBAAAA,CAAA,QAAG,QAAQ,CACjD,WAAY,CAAC,UAAW,QAAS,SAAS,EAC1C,QAAS,CACR,IACC,MAAMD,EAAA,wBAAAC,CAAA,eAEL,8BACD,eAAAA,EAAA,2BACC,QACF,IAAK,MAAAD,EAAA,wBAAAC,CAAA,OAAM,QAAO,4BAAmB,iBAAAA,CAAA,4BAAG,QACxC,IAAK,MAAAD,EAAA,wBAAAC,CAAA,OAAM,QAAO,4BAAsB,iBAAAA,CAAA,8BAAG,QAC3C,IAAK,MAAAD,EAAA,wBAAAC,CAAA,OAAM,QAAO,4BAAqB,iBAAAA,CAAA,8BAAG,QAC1C,IAAK,MAAAD,EAAA,wBAAAC,CAAA,OAAM,QAAO,4BAAyB,iBAAAA,CAAA,4BAAG,OAC/C,CACD,CAAC","names":["__vitePreload","__vite_default__"],"ignoreList":[],"sources":["../../Source/Script/SWUP.ts"],"sourcesContent":["export default new (await import(\"swup\")).default({\n\tcontainers: [\"#footer\", \"#main\", \"#header\"],\n\tplugins: [\n\t\tnew (\n\t\t\tawait import(\n\t\t\t\t// @ts-expect-error\n\t\t\t\t\"@swup/overlay-theme\"\n\t\t\t)\n\t\t).default(),\n\t\tnew (await import(\"@swup/head-plugin\")).default(),\n\t\tnew (await import(\"@swup/preload-plugin\")).default(),\n\t\tnew (await import(\"@swup/scroll-plugin\")).default(),\n\t\tnew (await import(\"@swup/body-class-plugin\")).default(),\n\t],\n});\n"],"file":"_astro/Base.astro_astro_type_script_index_1_lang.CP2le5wW.js"} \ No newline at end of file diff --git a/Target/_astro/Base.astro_astro_type_script_index_2_lang.D4DYKVOQ.js.map b/Target/_astro/Base.astro_astro_type_script_index_2_lang.D4DYKVOQ.js.map index db53aeff..4b07b86c 100644 --- a/Target/_astro/Base.astro_astro_type_script_index_2_lang.D4DYKVOQ.js.map +++ b/Target/_astro/Base.astro_astro_type_script_index_2_lang.D4DYKVOQ.js.map @@ -1 +1 @@ -{"version":3,"file":"Base.astro_astro_type_script_index_2_lang.D4DYKVOQ.js","sources":["../../Source/Layout/Base.astro?astro&type=script&index=2&lang.ts"],"sourcesContent":["\t\t\tdocument.documentElement.classList.remove(\"no-js\");\n\t\t\tdocument.documentElement.classList.add(\"js\");\n\t\t\n\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyAidmVyc2lvbiI6IDMsICJzb3VyY2VzIjogWyIvcnVuL21lZGlhL25pa29sYS9EZXZlbG9wZXIvRGV2ZWxvcGVyL0FwcGxpY2F0aW9uL1BsYXlGb3JtL05QTS9TdGFydGVyL1NvdXJjZS9MYXlvdXQvQmFzZS5hc3RybyJdLCAic291cmNlc0NvbnRlbnQiOiBbIi0tLVxuaW1wb3J0IFwiQFN0eWxlc2hlZXQvQmFzZS5jc3NcIjtcblxuLy8gVE9ETyBQbGFjZSB5b3VyIHRpdGxlIGFuZCBkZXNjcmlwdGlvbiBoZXJlXG5jb25zdCB7IFRpdGxlID0gXCJcIiwgRGVzY3JpcHRpb24gPSBcIlwiIH0gPSBBc3Ryby5wcm9wcztcblxuaW50ZXJmYWNlIFByb3BzIHtcblx0VGl0bGU/OiBzdHJpbmc7XG5cdERlc2NyaXB0aW9uPzogc3RyaW5nO1xufVxuXG5pbXBvcnQgeyBIZWFkIH0gZnJvbSBcImFzdHJvLWNhcG9cIjtcbmltcG9ydCB7IFZpZXdUcmFuc2l0aW9ucyB9IGZyb20gXCJhc3Rybzp0cmFuc2l0aW9uc1wiO1xuLS0tXG5cblx1MDAzYyFkb2N0eXBlIGh0bWxcdTAwM2Vcblx1MDAzY2h0bWwgbGFuZz1cImVuXCIgY2xhc3M9XCJuby1qc1wiIGRpcj1cImx0clwiXHUwMDNlXG5cdFx1MDAzY0hlYWRcdTAwM2Vcblx0XHRcdTAwM2NzY3JpcHRcdTAwM2Vcblx0XHRcdGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5jbGFzc0xpc3QucmVtb3ZlKFwibm8tanNcIik7XG5cdFx0XHRkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuY2xhc3NMaXN0LmFkZChcImpzXCIpO1xuXHRcdFx1MDAzYy9zY3JpcHRcdTAwM2VcblxuXHRcdFx1MDAzYyEtLSBNZXRhIC0tXHUwMDNlXG5cdFx0XHUwMDNjdGl0bGVcdTAwM2V7VGl0bGV9XHUwMDNjL3RpdGxlXHUwMDNlXG5cdFx0XHUwMDNjbWV0YSBjaGFyc2V0PVwidXRmLThcIiAvXHUwMDNlXG5cdFx0XHUwMDNjbWV0YSBuYW1lPVwiZGVzY3JpcHRpb25cIiBjb250ZW50PXtEZXNjcmlwdGlvbn0gL1x1MDAzZVxuXHRcdFx1MDAzY21ldGEgbmFtZT1cInZpZXdwb3J0XCIgY29udGVudD1cIndpZHRoPWRldmljZS13aWR0aCxpbml0aWFsLXNjYWxlPTEuMFwiIC9cdTAwM2Vcblx0XHRcdTAwM2MhLS0gVE9ETyBEZWZpbmUgeW91ciBjb2xvciB0aGVtZSBpbiBoZXggaGVyZSAtLVx1MDAzZVxuXHRcdFx1MDAzY21ldGEgbmFtZT1cInRoZW1lLWNvbG9yXCIgY29udGVudD1cIlwiIC9cdTAwM2Vcblx0XHRcdTAwM2NtZXRhIG5hbWU9XCJmb3JtYXQtZGV0ZWN0aW9uXCIgY29udGVudD1cInRlbGVwaG9uZT1ub1wiIC9cdTAwM2Vcblx0XHRcdTAwM2NtZXRhIG5hbWU9XCJ0d2l0dGVyOmRudFwiIGNvbnRlbnQ9XCJvblwiIC9cdTAwM2VcblxuXHRcdFx1MDAzYyEtLSBMaW5rcyAtLVx1MDAzZVxuXHRcdFx1MDAzY2xpbmtcblx0XHRcdHJlbD1cInByZWNvbm5lY3RcIlxuXHRcdFx0aHJlZj1cImh0dHBzOi8vZm9udHMuZ29vZ2xlYXBpcy5jb21cIlxuXHRcdFx0Y3Jvc3NvcmlnaW5cblx0XHQvXHUwMDNlXG5cdFx0XHUwMDNjbGluayByZWw9XCJwcmVjb25uZWN0XCIgaHJlZj1cImh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb21cIiBjcm9zc29yaWdpbiAvXHUwMDNlXG5cdFx0XHUwMDNjbGlua1xuXHRcdFx0cmVsPVwibWFuaWZlc3RcIlxuXHRcdFx0aHJlZj1cIi9zaXRlLndlYm1hbmlmZXN0XCJcblx0XHRcdGNyb3Nzb3JpZ2luPVwidXNlLWNyZWRlbnRpYWxzXCJcblx0XHQvXHUwMDNlXG5cblx0XHRcdTAwM2NzdHlsZSBpczpnbG9iYWxcdTAwM2Vcblx0XHRcdEBpbXBvcnQgXCJAU3R5bGVzaGVldC9HbG9iYWwuY3NzXCI7XG5cdFx0XHUwMDNjL3N0eWxlXHUwMDNlXG5cblx0XHRcdTAwM2NzbG90IG5hbWU9XCJzdHlsZXNcIiAvXHUwMDNlXG5cblx0XHRcdTAwM2NzY3JpcHRcdTAwM2Vcblx0XHRcdGltcG9ydCBcIkBTY3JpcHQvU1dVUFwiO1xuXHRcdFx1MDAzYy9zY3JpcHRcdTAwM2VcblxuXHRcdFx1MDAzY3Nsb3QgbmFtZT1cInNjcmlwdHNcIiAvXHUwMDNlXG5cblx0XHRcdTAwM2MhLS0gRmF2aWNvbiAtLVx1MDAzZVxuXHRcdFx1MDAzY1ZpZXdUcmFuc2l0aW9ucyAvXHUwMDNlXG5cdFx1MDAzYy9IZWFkXHUwMDNlXG5cdFx1MDAzY2JvZHlcdTAwM2Vcblx0XHRcdTAwM2NkaXYgY2xhc3M9XCJncm93XCJcdTAwM2Vcblx0XHRcdFx1MDAzY3Nsb3QgL1x1MDAzZVxuXHRcdFx1MDAzYy9kaXZcdTAwM2Vcblx0XHRcdTAwM2NzY3JpcHRcdTAwM2Vcblx0XHRcdGltcG9ydCBcIkBTY3JpcHQvRmlyZWJhc2VcIjtcblx0XHRcdTAwM2Mvc2NyaXB0XHUwMDNlXG5cdFx1MDAzYy9ib2R5XHUwMDNlXG5cdTAwM2MvaHRtbFx1MDAzZSJdLCAibWFwcGluZ3MiOiAiQUFtQkEsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDckQsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDL0M7QUFBQTsiLCAibmFtZXMiOiBbXSB9"],"names":[],"mappings":"AAmBG,SAAS,gBAAgB,UAAU,OAAO,OAAO,EACjD,SAAS,gBAAgB,UAAU,IAAI,IAAI"} \ No newline at end of file +{"version":3,"file":"Base.astro_astro_type_script_index_2_lang.D4DYKVOQ.js","sources":["../../Source/Layout/Base.astro?astro&type=script&index=2&lang.ts"],"sourcesContent":["\t\t\tdocument.documentElement.classList.remove(\"no-js\");\n\t\t\tdocument.documentElement.classList.add(\"js\");\n\t\t\n\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyAidmVyc2lvbiI6IDMsICJzb3VyY2VzIjogWyJEOi9EZXZlbG9wZXIvQXBwbGljYXRpb24vUGxheUZvcm0vTlBNL1N0YXJ0ZXIvU291cmNlL0xheW91dC9CYXNlLmFzdHJvIl0sICJzb3VyY2VzQ29udGVudCI6IFsiLS0tXG5pbXBvcnQgXCJAU3R5bGVzaGVldC9CYXNlLmNzc1wiO1xuXG4vLyBUT0RPIFBsYWNlIHlvdXIgdGl0bGUgYW5kIGRlc2NyaXB0aW9uIGhlcmVcbmNvbnN0IHsgVGl0bGUgPSBcIlwiLCBEZXNjcmlwdGlvbiA9IFwiXCIgfSA9IEFzdHJvLnByb3BzO1xuXG5pbnRlcmZhY2UgUHJvcHMge1xuXHRUaXRsZT86IHN0cmluZztcblx0RGVzY3JpcHRpb24/OiBzdHJpbmc7XG59XG5cbmltcG9ydCB7IEhlYWQgfSBmcm9tIFwiYXN0cm8tY2Fwb1wiO1xuaW1wb3J0IHsgVmlld1RyYW5zaXRpb25zIH0gZnJvbSBcImFzdHJvOnRyYW5zaXRpb25zXCI7XG4tLS1cblxuXHUwMDNjIWRvY3R5cGUgaHRtbFx1MDAzZVxuXHUwMDNjaHRtbCBsYW5nPVwiZW5cIiBjbGFzcz1cIm5vLWpzXCIgZGlyPVwibHRyXCJcdTAwM2Vcblx0XHUwMDNjSGVhZFx1MDAzZVxuXHRcdFx1MDAzY3NjcmlwdFx1MDAzZVxuXHRcdFx0ZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNsYXNzTGlzdC5yZW1vdmUoXCJuby1qc1wiKTtcblx0XHRcdGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5jbGFzc0xpc3QuYWRkKFwianNcIik7XG5cdFx0XHUwMDNjL3NjcmlwdFx1MDAzZVxuXG5cdFx0XHUwMDNjIS0tIE1ldGEgLS1cdTAwM2Vcblx0XHRcdTAwM2N0aXRsZVx1MDAzZXtUaXRsZX1cdTAwM2MvdGl0bGVcdTAwM2Vcblx0XHRcdTAwM2NtZXRhIGNoYXJzZXQ9XCJ1dGYtOFwiIC9cdTAwM2Vcblx0XHRcdTAwM2NtZXRhIG5hbWU9XCJkZXNjcmlwdGlvblwiIGNvbnRlbnQ9e0Rlc2NyaXB0aW9ufSAvXHUwMDNlXG5cdFx0XHUwMDNjbWV0YSBuYW1lPVwidmlld3BvcnRcIiBjb250ZW50PVwid2lkdGg9ZGV2aWNlLXdpZHRoLGluaXRpYWwtc2NhbGU9MS4wXCIgL1x1MDAzZVxuXHRcdFx1MDAzYyEtLSBUT0RPIERlZmluZSB5b3VyIGNvbG9yIHRoZW1lIGluIGhleCBoZXJlIC0tXHUwMDNlXG5cdFx0XHUwMDNjbWV0YSBuYW1lPVwidGhlbWUtY29sb3JcIiBjb250ZW50PVwiXCIgL1x1MDAzZVxuXHRcdFx1MDAzY21ldGEgbmFtZT1cImZvcm1hdC1kZXRlY3Rpb25cIiBjb250ZW50PVwidGVsZXBob25lPW5vXCIgL1x1MDAzZVxuXHRcdFx1MDAzY21ldGEgbmFtZT1cInR3aXR0ZXI6ZG50XCIgY29udGVudD1cIm9uXCIgL1x1MDAzZVxuXG5cdFx0XHUwMDNjIS0tIExpbmtzIC0tXHUwMDNlXG5cdFx0XHUwMDNjbGlua1xuXHRcdFx0cmVsPVwicHJlY29ubmVjdFwiXG5cdFx0XHRocmVmPVwiaHR0cHM6Ly9mb250cy5nb29nbGVhcGlzLmNvbVwiXG5cdFx0XHRjcm9zc29yaWdpblxuXHRcdC9cdTAwM2Vcblx0XHRcdTAwM2NsaW5rIHJlbD1cInByZWNvbm5lY3RcIiBocmVmPVwiaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbVwiIGNyb3Nzb3JpZ2luIC9cdTAwM2Vcblx0XHRcdTAwM2NsaW5rXG5cdFx0XHRyZWw9XCJtYW5pZmVzdFwiXG5cdFx0XHRocmVmPVwiL3NpdGUud2VibWFuaWZlc3RcIlxuXHRcdFx0Y3Jvc3NvcmlnaW49XCJ1c2UtY3JlZGVudGlhbHNcIlxuXHRcdC9cdTAwM2VcblxuXHRcdFx1MDAzY3N0eWxlIGlzOmdsb2JhbFx1MDAzZVxuXHRcdFx0QGltcG9ydCBcIkBTdHlsZXNoZWV0L0dsb2JhbC5jc3NcIjtcblx0XHRcdTAwM2Mvc3R5bGVcdTAwM2VcblxuXHRcdFx1MDAzY3Nsb3QgbmFtZT1cInN0eWxlc1wiIC9cdTAwM2VcblxuXHRcdFx1MDAzY3NjcmlwdFx1MDAzZVxuXHRcdFx0aW1wb3J0IFwiQFNjcmlwdC9TV1VQXCI7XG5cdFx0XHUwMDNjL3NjcmlwdFx1MDAzZVxuXG5cdFx0XHUwMDNjc2xvdCBuYW1lPVwic2NyaXB0c1wiIC9cdTAwM2VcblxuXHRcdFx1MDAzYyEtLSBGYXZpY29uIC0tXHUwMDNlXG5cdFx0XHUwMDNjVmlld1RyYW5zaXRpb25zIC9cdTAwM2Vcblx0XHUwMDNjL0hlYWRcdTAwM2Vcblx0XHUwMDNjYm9keVx1MDAzZVxuXHRcdFx1MDAzY2RpdiBjbGFzcz1cImdyb3dcIlx1MDAzZVxuXHRcdFx0XHUwMDNjc2xvdCAvXHUwMDNlXG5cdFx0XHUwMDNjL2Rpdlx1MDAzZVxuXHRcdFx1MDAzY3NjcmlwdFx1MDAzZVxuXHRcdFx0aW1wb3J0IFwiQFNjcmlwdC9GaXJlYmFzZVwiO1xuXHRcdFx1MDAzYy9zY3JpcHRcdTAwM2Vcblx0XHUwMDNjL2JvZHlcdTAwM2Vcblx1MDAzYy9odG1sXHUwMDNlIl0sICJtYXBwaW5ncyI6ICJBQW1CQSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNyRCxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUMvQztBQUFBOyIsICJuYW1lcyI6IFtdIH0="],"names":[],"mappings":"AAmBG,SAAS,gBAAgB,UAAU,OAAO,OAAO,EACjD,SAAS,gBAAgB,UAAU,IAAI,IAAI"} \ No newline at end of file diff --git a/Target/_astro/Swup.modern.BemQoQWS.js b/Target/_astro/Swup.modern.BemQoQWS.js deleted file mode 100644 index dd148165..00000000 --- a/Target/_astro/Swup.modern.BemQoQWS.js +++ /dev/null @@ -1 +0,0 @@ -const A=new WeakMap;function x(t,e,i,s){if(!t&&!A.has(e))return!1;const n=A.get(e)??new WeakMap;A.set(e,n);const o=n.get(i)??new Set;n.set(i,o);const a=o.has(s);return t?o.add(s):o.delete(s),a&&t}function N(t,e){let i=t.target;if(i instanceof Text&&(i=i.parentElement),i instanceof Element&&t.currentTarget instanceof Element){const s=i.closest(e);if(s&&t.currentTarget.contains(s))return s}}function D(t,e,i,s={}){const{signal:n,base:o=document}=s;if(n?.aborted)return;const{once:a,...r}=s,l=o instanceof Document?o.documentElement:o,c=!!("object"==typeof s?s.capture:s),h=s=>{const n=N(s,t);if(n){const t=Object.assign(s,{delegateTarget:n});i.call(l,t),a&&(l.removeEventListener(e,h,r),x(!1,l,i,u))}},u=JSON.stringify({selector:t,type:e,capture:c});x(!0,l,i,u)||l.addEventListener(e,h,r),n?.addEventListener("abort",(()=>{x(!1,l,i,u)}))}function p(){return p=Object.assign?Object.assign.bind():function(t){for(var e=1;eString(t).toLowerCase().replace(/[\s/_.]+/g,"-").replace(/[^\w-]+/g,"").replace(/--+/g,"-").replace(/^-+|-+$/g,"")||e||"",b=({hash:t}={})=>window.location.pathname+window.location.search+(t?window.location.hash:""),W=(t,e={})=>{const i=p({url:t=t||b({hash:!0}),random:Math.random(),source:"swup"},e);window.history.pushState(i,"",t)},k=(t=null,e={})=>{t=t||b({hash:!0});const i=p({},window.history.state||{},{url:t,random:Math.random(),source:"swup"},e);window.history.replaceState(i,"",t)},j=(t,e,i,s)=>{const n=new AbortController;return D(t,e,i,s=p({},s,{signal:n.signal})),{destroy:()=>n.abort()}};let w=class t extends URL{constructor(e,i=document.baseURI){super(e.toString(),i),Object.setPrototypeOf(this,t.prototype)}get url(){return this.pathname+this.search}static fromElement(e){const i=e.getAttribute("href")||e.getAttribute("xlink:href")||"";return new t(i)}static fromUrl(e){return new t(e)}};class E extends Error{constructor(t,e){super(t),this.url=void 0,this.status=void 0,this.aborted=void 0,this.timedOut=void 0,this.name="FetchError",this.url=e.url,this.status=e.status,this.aborted=e.aborted||!1,this.timedOut=e.timedOut||!1}}async function B(t,e={}){var i;t=w.fromUrl(t).url;const{visit:s=this.visit}=e,n=p({},this.options.requestHeaders,e.headers),o=null!=(i=e.timeout)?i:this.options.timeout,a=new AbortController,{signal:r}=a;e=p({},e,{headers:n,signal:r});let l,c=!1,h=null;o&&o>0&&(h=setTimeout((()=>{c=!0,a.abort("timeout")}),o));try{l=await this.hooks.call("fetch:request",s,{url:t,options:e},((t,{url:e,options:i})=>fetch(e,i))),h&&clearTimeout(h)}catch(e){throw c?(this.hooks.call("fetch:timeout",s,{url:t}),new E(`Request timed out: ${t}`,{url:t,timedOut:c})):"AbortError"===e?.name||r.aborted?new E(`Request aborted: ${t}`,{url:t,aborted:!0}):e}const{status:u,url:d}=l,m=await l.text();if(500===u)throw this.hooks.call("fetch:error",s,{status:u,response:l,url:d}),new E(`Server error: ${d}`,{status:u,url:d});if(!m)throw new E(`Empty response: ${d}`,{status:u,url:d});const{url:f}=w.fromUrl(d),g={url:f,html:m};return!s.cache.write||e.method&&"GET"!==e.method||t!==f||this.cache.set(g.url,g),g}class F{constructor(t){this.swup=void 0,this.pages=new Map,this.swup=t}get size(){return this.pages.size}get all(){const t=new Map;return this.pages.forEach(((e,i)=>{t.set(i,p({},e))})),t}has(t){return this.pages.has(this.resolve(t))}get(t){const e=this.pages.get(this.resolve(t));return e&&p({},e)}set(t,e){e=p({},e,{url:t=this.resolve(t)}),this.pages.set(t,e),this.swup.hooks.callSync("cache:set",void 0,{page:e})}update(t,e){t=this.resolve(t);const i=p({},this.get(t),e,{url:t});this.pages.set(t,i)}delete(t){this.pages.delete(this.resolve(t))}clear(){this.pages.clear(),this.swup.hooks.callSync("cache:clear",void 0,void 0)}prune(t){this.pages.forEach(((e,i)=>{t(i,e)&&this.delete(i)}))}resolve(t){const{url:e}=w.fromUrl(t);return this.swup.resolveUrl(e)}}const H=(t,e=document)=>e.querySelector(t),L=(t,e=document)=>Array.from(e.querySelectorAll(t)),R=()=>new Promise((t=>{requestAnimationFrame((()=>{requestAnimationFrame((()=>{t()}))}))}));function O(t){return!!t&&("object"==typeof t||"function"==typeof t)&&"function"==typeof t.then}function _(t,e=[]){return new Promise(((i,s)=>{const n=t(...e);O(n)?n.then(i,s):i(n)}))}function T(t,e){const i=t?.closest(`[${e}]`);return null!=i&&i.hasAttribute(e)?i?.getAttribute(e)||!0:void 0}class K{constructor(t){this.swup=void 0,this.swupClasses=["to-","is-changing","is-rendering","is-popstate","is-animating","is-leaving"],this.swup=t}get selectors(){const{scope:t}=this.swup.visit.animation;return"containers"===t?this.swup.visit.containers:"html"===t?["html"]:Array.isArray(t)?t:[]}get selector(){return this.selectors.join(",")}get targets(){return this.selector.trim()?L(this.selector):[]}add(...t){this.targets.forEach((e=>e.classList.add(...t)))}remove(...t){this.targets.forEach((e=>e.classList.remove(...t)))}clear(){this.targets.forEach((t=>{const e=t.className.split(" ").filter((t=>this.isSwupClass(t)));t.classList.remove(...e)}))}isSwupClass(t){return this.swupClasses.some((e=>t.startsWith(e)))}}class M{constructor(t,e){this.id=void 0,this.state=void 0,this.from=void 0,this.to=void 0,this.containers=void 0,this.animation=void 0,this.trigger=void 0,this.cache=void 0,this.history=void 0,this.scroll=void 0;const{to:i,from:s,hash:n,el:o,event:a}=e;this.id=Math.random(),this.state=1,this.from={url:s??t.location.url,hash:t.location.hash},this.to={url:i,hash:n},this.containers=t.options.containers,this.animation={animate:!0,wait:!1,name:void 0,native:t.options.native,scope:t.options.animationScope,selector:t.options.animationSelector},this.trigger={el:o,event:a},this.cache={read:t.options.cache,write:t.options.cache},this.history={action:"push",popstate:!1,direction:void 0},this.scroll={reset:!0,target:void 0}}advance(t){this.state=7}}function z(t){return new M(this,t)}class G{constructor(t){this.swup=void 0,this.registry=new Map,this.hooks=["animation:out:start","animation:out:await","animation:out:end","animation:in:start","animation:in:await","animation:in:end","animation:skip","cache:clear","cache:set","content:replace","content:scroll","enable","disable","fetch:request","fetch:error","fetch:timeout","history:popstate","link:click","link:self","link:anchor","link:newtab","page:load","page:view","scroll:top","scroll:anchor","visit:start","visit:transition","visit:abort","visit:end"],this.swup=t,this.init()}init(){this.hooks.forEach((t=>this.create(t)))}create(t){this.registry.has(t)||this.registry.set(t,new Map)}exists(t){return this.registry.has(t)}get(t){const e=this.registry.get(t);if(e)return e;console.error(`Unknown hook '${t}'`)}clear(){this.registry.forEach((t=>t.clear()))}on(t,e,i={}){const s=this.get(t);if(!s)return console.warn(`Hook '${t}' not found.`),()=>{};const n=p({},i,{id:s.size+1,hook:t,handler:e});return s.set(e,n),()=>this.off(t,e)}before(t,e,i={}){return this.on(t,e,p({},i,{before:!0}))}replace(t,e,i={}){return this.on(t,e,p({},i,{replace:!0}))}once(t,e,i={}){return this.on(t,e,p({},i,{once:!0}))}off(t,e){const i=this.get(t);i&&e?i.delete(e)||console.warn(`Handler for hook '${t}' not found.`):i&&i.clear()}async call(t,e,i,s){const[n,o,a]=this.parseCallArgs(t,e,i,s),{before:r,handler:l,after:c}=this.getHandlers(t,a);await this.run(r,n,o);const[h]=await this.run(l,n,o,!0);return await this.run(c,n,o),this.dispatchDomEvent(t,n,o),h}callSync(t,e,i,s){const[n,o,a]=this.parseCallArgs(t,e,i,s),{before:r,handler:l,after:c}=this.getHandlers(t,a);this.runSync(r,n,o);const[h]=this.runSync(l,n,o,!0);return this.runSync(c,n,o),this.dispatchDomEvent(t,n,o),h}parseCallArgs(t,e,i,s){return e instanceof M||"object"!=typeof e&&"function"!=typeof i?[e,i,s]:[void 0,e,i]}async run(t,e=this.swup.visit,i,s=!1){const n=[];for(const{hook:o,handler:a,defaultHandler:r,once:l}of t)if(null==e||!e.done){l&&this.off(o,a);try{const t=await _(a,[e,i,r]);n.push(t)}catch(t){if(s)throw t;console.error(`Error in hook '${o}':`,t)}}return n}runSync(t,e=this.swup.visit,i,s=!1){const n=[];for(const{hook:o,handler:a,defaultHandler:r,once:l}of t)if(null==e||!e.done){l&&this.off(o,a);try{const t=a(e,i,r);n.push(t),O(t)&&console.warn(`Swup will not await Promises in handler for synchronous hook '${o}'.`)}catch(t){if(s)throw t;console.error(`Error in hook '${o}':`,t)}}return n}getHandlers(t,e){const i=this.get(t);if(!i)return{found:!1,before:[],handler:[],after:[],replaced:!1};const s=Array.from(i.values()),n=this.sortRegistrations,o=s.filter((({before:t,replace:e})=>t&&!e)).sort(n),a=s.filter((({replace:t})=>t)).filter((t=>!0)).sort(n),r=s.filter((({before:t,replace:e})=>!t&&!e)).sort(n),l=a.length>0;let c=[];if(e&&(c=[{id:0,hook:t,handler:e}],l)){const i=a.length-1,s=t=>{const i=a[t-1];return i?(e,n)=>i.handler(e,n,s(t-1)):e};c=[{id:0,hook:t,handler:a[i].handler,defaultHandler:s(i)}]}return{found:!0,before:o,handler:c,after:r,replaced:l}}sortRegistrations(t,e){var i,s;return(null!=(i=t.priority)?i:0)-(null!=(s=e.priority)?s:0)||t.id-e.id||0}dispatchDomEvent(t,e,i){if(null!=e&&e.done)return;const s={hook:t,args:i,visit:e||this.swup.visit};document.dispatchEvent(new CustomEvent("swup:any",{detail:s,bubbles:!0})),document.dispatchEvent(new CustomEvent(`swup:${t}`,{detail:s,bubbles:!0}))}}const J=t=>{if(t&&"#"===t.charAt(0)&&(t=t.substring(1)),!t)return null;const e=decodeURIComponent(t);let i=document.getElementById(t)||document.getElementById(e)||H(`a[name='${CSS.escape(t)}']`)||H(`a[name='${CSS.escape(e)}']`);return i||"top"!==t||(i=document.body),i},C="transition",$="animation";async function X({selector:t,elements:e}){if(!1===t&&!e)return;let i=[];if(e)i=Array.from(e);else if(t&&(i=L(t,document.body),!i.length))return void console.warn(`[swup] No elements found matching animationSelector \`${t}\``);const s=i.map((t=>function(t){const{type:e,timeout:i,propCount:s}=function(t){const e=window.getComputedStyle(t),i=U(e,`${C}Delay`),s=U(e,`${C}Duration`),n=q(i,s),o=U(e,`${$}Delay`),a=U(e,`${$}Duration`),r=q(o,a),l=Math.max(n,r),c=l>0?n>r?C:$:null;return{type:c,timeout:l,propCount:c?c===C?s.length:a.length:0}}(t);return!(!e||!i)&&new Promise((n=>{const o=`${e}end`,a=performance.now();let r=0;const l=()=>{t.removeEventListener(o,c),n()},c=e=>{e.target===t&&((performance.now()-a)/1e3=s&&l())};setTimeout((()=>{r0?await Promise.all(s):t&&console.warn(`[swup] No CSS animation duration defined on elements matching \`${t}\``)}function U(t,e){return(t[e]||"").split(", ")}function q(t,e){for(;t.lengthV(e)+V(t[i]))))}function V(t){return 1e3*parseFloat(t)}function Q(t,e={},i={}){if("string"!=typeof t)throw new Error("swup.navigate() requires a URL parameter");if(this.shouldIgnoreVisit(t,{el:i.el,event:i.event}))return void window.location.assign(t);const{url:s,hash:n}=w.fromUrl(t),o=this.createVisit(p({},i,{to:s,hash:n}));this.performNavigation(o,e)}async function Y(t,e={}){if(this.navigating){if(this.visit.state>=6)return t.state=2,void(this.onVisitEnd=()=>this.performNavigation(t,e));await this.hooks.call("visit:abort",this.visit,void 0),delete this.visit.to.document,this.visit.state=8}this.navigating=!0,this.visit=t;const{el:i}=t.trigger;e.referrer=e.referrer||this.location.url,!1===e.animate&&(t.animation.animate=!1),t.animation.animate||this.classes.clear();const s=e.history||T(i,"data-swup-history");"string"==typeof s&&["push","replace"].includes(s)&&(t.history.action=s);const n=e.animation||T(i,"data-swup-animation");var o,a;"string"==typeof n&&(t.animation.name=n),"object"==typeof e.cache?(t.cache.read=null!=(o=e.cache.read)?o:t.cache.read,t.cache.write=null!=(a=e.cache.write)?a:t.cache.write):void 0!==e.cache&&(t.cache={read:!!e.cache,write:!!e.cache}),delete e.cache;try{await this.hooks.call("visit:start",t,void 0),t.state=3;const i=this.hooks.call("page:load",t,{options:e},(async(t,e)=>{let i;return t.cache.read&&(i=this.cache.get(t.to.url)),e.page=i||await this.fetchPage(t.to.url,e.options),e.cache=!!i,e.page}));i.then((({html:e})=>{t.advance(5),t.to.html=e,t.to.document=(new DOMParser).parseFromString(e,"text/html")}));const s=t.to.url+t.to.hash;if(t.history.popstate||("replace"===t.history.action||t.to.url===this.location.url?k(s):(this.currentHistoryIndex++,W(s,{index:this.currentHistoryIndex}))),this.location=w.fromUrl(s),t.history.popstate&&this.classes.add("is-popstate"),t.animation.name&&this.classes.add(`to-${I(t.animation.name)}`),t.animation.wait&&await i,t.done||(await this.hooks.call("visit:transition",t,void 0,(async()=>{if(!t.animation.animate)return await this.hooks.call("animation:skip",void 0),void await this.renderPage(t,await i);t.advance(4),await this.animatePageOut(t),t.animation.native&&document.startViewTransition?await document.startViewTransition((async()=>await this.renderPage(t,await i))).finished:await this.renderPage(t,await i),await this.animatePageIn(t)})),t.done))return;await this.hooks.call("visit:end",t,void 0,(()=>this.classes.clear())),t.state=7,this.navigating=!1,this.onVisitEnd&&(this.onVisitEnd(),this.onVisitEnd=void 0)}catch(e){if(!e||null!=e&&e.aborted)return void(t.state=8);t.state=9,console.error(e),this.options.skipPopStateHandling=()=>(window.location.assign(t.to.url+t.to.hash),!0),window.history.back()}finally{delete t.to.document}}const Z=async function(t){await this.hooks.call("animation:out:start",t,void 0,(()=>{this.classes.add("is-changing","is-animating","is-leaving")})),await this.hooks.call("animation:out:await",t,{skip:!1},((t,{skip:e})=>{if(!e)return this.awaitAnimations({selector:t.animation.selector})})),await this.hooks.call("animation:out:end",t,void 0)},tt=function(t){var e;const i=t.to.document;if(!i)return!1;const s=(null==(e=i.querySelector("title"))?void 0:e.innerText)||"";document.title=s;const n=L('[data-swup-persist]:not([data-swup-persist=""])'),o=t.containers.map((t=>{const e=document.querySelector(t),s=i.querySelector(t);return e&&s?(e.replaceWith(s.cloneNode(!0)),!0):(e||console.warn(`[swup] Container missing in current document: ${t}`),s||console.warn(`[swup] Container missing in incoming document: ${t}`),!1)})).filter(Boolean);return n.forEach((t=>{const e=t.getAttribute("data-swup-persist"),i=H(`[data-swup-persist="${e}"]`);i&&i!==t&&i.replaceWith(t)})),o.length===t.containers.length},et=function(t){const e={behavior:"auto"},{target:i,reset:s}=t.scroll,n=i??t.to.hash;let o=!1;return n&&(o=this.hooks.callSync("scroll:anchor",t,{hash:n,options:e},((t,{hash:e,options:i})=>{const s=this.getAnchorElement(e);return s&&s.scrollIntoView(i),!!s}))),s&&!o&&(o=this.hooks.callSync("scroll:top",t,{options:e},((t,{options:e})=>(window.scrollTo(p({top:0,left:0},e)),!0)))),o},it=async function(t){if(t.done)return;const e=this.hooks.call("animation:in:await",t,{skip:!1},((t,{skip:e})=>{if(!e)return this.awaitAnimations({selector:t.animation.selector})}));await R(),await this.hooks.call("animation:in:start",t,void 0,(()=>{this.classes.remove("is-animating")})),await e,await this.hooks.call("animation:in:end",t,void 0)},st=async function(t,e){if(t.done)return;t.advance(6);const{url:i}=e;this.isSameResolvedUrl(b(),i)||(k(i),this.location=w.fromUrl(i),t.to.url=this.location.url,t.to.hash=this.location.hash),await this.hooks.call("content:replace",t,{page:e},((t,{})=>{if(this.classes.remove("is-leaving"),t.animation.animate&&this.classes.add("is-rendering"),!this.replaceContent(t))throw new Error("[swup] Container mismatch, aborting");t.animation.animate&&(this.classes.add("is-changing","is-animating","is-rendering"),t.animation.name&&this.classes.add(`to-${I(t.animation.name)}`))})),await this.hooks.call("content:scroll",t,void 0,(()=>this.scrollToContent(t))),await this.hooks.call("page:view",t,{url:this.location.url,title:document.title})},nt=function(t){var e;if(e=t,e?.isSwupPlugin){if(t.swup=this,!t._checkRequirements||t._checkRequirements())return t._beforeMount&&t._beforeMount(),t.mount(),this.plugins.push(t),this.plugins}else console.error("Not a swup plugin instance",t)};function ot(t){const e=this.findPlugin(t);if(e)return e.unmount(),e._afterUnmount&&e._afterUnmount(),this.plugins=this.plugins.filter((t=>t!==e)),this.plugins;console.error("No such plugin",e)}function at(t){return this.plugins.find((e=>e===t||e.name===t||e.name===`Swup${String(t)}`))}function rt(t){if("function"!=typeof this.options.resolveUrl)return console.warn("[swup] options.resolveUrl expects a callback function."),t;const e=this.options.resolveUrl(t);return e&&"string"==typeof e?e.startsWith("//")||e.startsWith("http")?(console.warn("[swup] options.resolveUrl needs to return a relative url"),t):e:(console.warn("[swup] options.resolveUrl needs to return a url"),t)}function lt(t,e){return this.resolveUrl(t)===this.resolveUrl(e)}const ct={animateHistoryBrowsing:!1,animationSelector:'[class*="transition-"]',animationScope:"html",cache:!0,containers:["#swup"],ignoreVisit:(t,{el:e}={})=>!(null==e||!e.closest("[data-no-swup]")),linkSelector:"a[href]",linkToSelf:"scroll",native:!1,plugins:[],resolveUrl:t=>t,requestHeaders:{"X-Requested-With":"swup",Accept:"text/html, application/xhtml+xml"},skipPopStateHandling:t=>{var e;return"swup"!==(null==(e=t.state)?void 0:e.source)},timeout:0};class ht{get currentPageUrl(){return this.location.url}constructor(t={}){var e,i;this.version="4.7.0",this.options=void 0,this.defaults=ct,this.plugins=[],this.visit=void 0,this.cache=void 0,this.hooks=void 0,this.classes=void 0,this.location=w.fromUrl(window.location.href),this.currentHistoryIndex=void 0,this.clickDelegate=void 0,this.navigating=!1,this.onVisitEnd=void 0,this.use=nt,this.unuse=ot,this.findPlugin=at,this.log=()=>{},this.navigate=Q,this.performNavigation=Y,this.createVisit=z,this.delegateEvent=j,this.fetchPage=B,this.awaitAnimations=X,this.renderPage=st,this.replaceContent=tt,this.animatePageIn=it,this.animatePageOut=Z,this.scrollToContent=et,this.getAnchorElement=J,this.getCurrentUrl=b,this.resolveUrl=rt,this.isSameResolvedUrl=lt,this.options=p({},this.defaults,t),this.handleLinkClick=this.handleLinkClick.bind(this),this.handlePopState=this.handlePopState.bind(this),this.cache=new F(this),this.classes=new K(this),this.hooks=new G(this),this.visit=this.createVisit({to:""}),this.currentHistoryIndex=null!=(e=null==(i=window.history.state)?void 0:i.index)?e:1,this.enable()}async enable(){var t;const{linkSelector:e}=this.options;this.clickDelegate=this.delegateEvent(e,"click",this.handleLinkClick),window.addEventListener("popstate",this.handlePopState),this.options.animateHistoryBrowsing&&(window.history.scrollRestoration="manual"),this.options.native=this.options.native&&!!document.startViewTransition,this.options.plugins.forEach((t=>this.use(t))),"swup"!==(null==(t=window.history.state)?void 0:t.source)&&k(null,{index:this.currentHistoryIndex}),await R(),await this.hooks.call("enable",void 0,void 0,(()=>{const t=document.documentElement;t.classList.add("swup-enabled"),t.classList.toggle("swup-native",this.options.native)}))}async destroy(){this.clickDelegate.destroy(),window.removeEventListener("popstate",this.handlePopState),this.cache.clear(),this.options.plugins.forEach((t=>this.unuse(t))),await this.hooks.call("disable",void 0,void 0,(()=>{const t=document.documentElement;t.classList.remove("swup-enabled"),t.classList.remove("swup-native")})),this.hooks.clear()}shouldIgnoreVisit(t,{el:e,event:i}={}){const{origin:s,url:n,hash:o}=w.fromUrl(t);return s!==window.location.origin||!(!e||!this.triggerWillOpenNewWindow(e))||!!this.options.ignoreVisit(n+o,{el:e,event:i})}handleLinkClick(t){const e=t.delegateTarget,{href:i,url:s,hash:n}=w.fromElement(e);if(this.shouldIgnoreVisit(i,{el:e,event:t}))return;if(this.navigating&&s===this.visit.to.url)return void t.preventDefault();const o=this.createVisit({to:s,hash:n,el:e,event:t});t.metaKey||t.ctrlKey||t.shiftKey||t.altKey?this.hooks.callSync("link:newtab",o,{href:i}):0===t.button&&this.hooks.callSync("link:click",o,{el:e,event:t},(()=>{var e;const i=null!=(e=o.from.url)?e:"";t.preventDefault(),s&&s!==i?this.isSameResolvedUrl(s,i)||this.performNavigation(o):n?this.hooks.callSync("link:anchor",o,{hash:n},(()=>{k(s+n),this.scrollToContent(o)})):this.hooks.callSync("link:self",o,void 0,(()=>{"navigate"===this.options.linkToSelf?this.performNavigation(o):(k(s),this.scrollToContent(o))}))}))}handlePopState(t){var e,i,s,n;const o=null!=(e=null==(i=t.state)?void 0:i.url)?e:window.location.href;if(this.options.skipPopStateHandling(t)||this.isSameResolvedUrl(b(),this.location.url))return;const{url:a,hash:r}=w.fromUrl(o),l=this.createVisit({to:a,hash:r,event:t});l.history.popstate=!0;const c=null!=(s=null==(n=t.state)?void 0:n.index)?s:0;c&&c!==this.currentHistoryIndex&&(l.history.direction=c-this.currentHistoryIndex>0?"forwards":"backwards",this.currentHistoryIndex=c),l.animation.animate=!1,l.scroll.reset=!1,l.scroll.target=!1,this.options.animateHistoryBrowsing&&(l.animation.animate=!0,l.scroll.reset=!0),this.hooks.callSync("history:popstate",l,{event:t},(()=>{this.performNavigation(l)}))}triggerWillOpenNewWindow(t){return!!t.matches('[download], [target="_blank"]')}}export{w as Location,I as classify,W as createHistoryRecord,ht as default,j as delegateEvent,T as getContextualAttr,b as getCurrentUrl,O as isPromise,R as nextTick,H as query,L as queryAll,_ as runAsPromise,k as updateHistoryRecord}; \ No newline at end of file diff --git a/Target/_astro/Swup.modern.BemQoQWS.js.map b/Target/_astro/Swup.modern.BemQoQWS.js.map deleted file mode 100644 index ebd927c5..00000000 --- a/Target/_astro/Swup.modern.BemQoQWS.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"Swup.modern.BemQoQWS.js","sources":["../../../../../../node_modules/delegate-it/delegate.js","../../../../../../node_modules/swup/dist/Swup.modern.js"],"sourcesContent":["/** Keeps track of raw listeners added to the base elements to avoid duplication */\nconst ledger = new WeakMap();\nfunction editLedger(wanted, baseElement, callback, setup) {\n if (!wanted && !ledger.has(baseElement)) {\n return false;\n }\n const elementMap = ledger.get(baseElement)\n ?? new WeakMap();\n ledger.set(baseElement, elementMap);\n const setups = elementMap.get(callback) ?? new Set();\n elementMap.set(callback, setups);\n const existed = setups.has(setup);\n if (wanted) {\n setups.add(setup);\n }\n else {\n setups.delete(setup);\n }\n return existed && wanted;\n}\nfunction safeClosest(event, selector) {\n let target = event.target;\n if (target instanceof Text) {\n target = target.parentElement;\n }\n if (target instanceof Element && event.currentTarget instanceof Element) {\n // `.closest()` may match ancestors of `currentTarget` but we only need its children\n const closest = target.closest(selector);\n if (closest && event.currentTarget.contains(closest)) {\n return closest;\n }\n }\n}\n// This type isn't exported as a declaration, so it needs to be duplicated above\nfunction delegate(selector, type, callback, options = {}) {\n const { signal, base = document } = options;\n if (signal?.aborted) {\n return;\n }\n // Don't pass `once` to `addEventListener` because it needs to be handled in `delegate-it`\n const { once, ...nativeListenerOptions } = options;\n // `document` should never be the base, it's just an easy way to define \"global event listeners\"\n const baseElement = base instanceof Document ? base.documentElement : base;\n // Handle the regular Element usage\n const capture = Boolean(typeof options === 'object' ? options.capture : options);\n const listenerFunction = (event) => {\n const delegateTarget = safeClosest(event, selector);\n if (delegateTarget) {\n const delegateEvent = Object.assign(event, { delegateTarget });\n callback.call(baseElement, delegateEvent);\n if (once) {\n baseElement.removeEventListener(type, listenerFunction, nativeListenerOptions);\n editLedger(false, baseElement, callback, setup);\n }\n }\n };\n const setup = JSON.stringify({ selector, type, capture });\n const isAlreadyListening = editLedger(true, baseElement, callback, setup);\n if (!isAlreadyListening) {\n baseElement.addEventListener(type, listenerFunction, nativeListenerOptions);\n }\n signal?.addEventListener('abort', () => {\n editLedger(false, baseElement, callback, setup);\n });\n}\nexport default delegate;\n","import t from\"delegate-it\";import{match as e}from\"path-to-regexp\";function i(){return i=Object.assign?Object.assign.bind():function(t){for(var e=1;eString(t).toLowerCase().replace(/[\\s/_.]+/g,\"-\").replace(/[^\\w-]+/g,\"\").replace(/--+/g,\"-\").replace(/^-+|-+$/g,\"\")||e||\"\",n=({hash:t}={})=>window.location.pathname+window.location.search+(t?window.location.hash:\"\"),o=(t,e={})=>{const s=i({url:t=t||n({hash:!0}),random:Math.random(),source:\"swup\"},e);window.history.pushState(s,\"\",t)},r=(t=null,e={})=>{t=t||n({hash:!0});const s=i({},window.history.state||{},{url:t,random:Math.random(),source:\"swup\"},e);window.history.replaceState(s,\"\",t)},a=(e,s,n,o)=>{const r=new AbortController;return o=i({},o,{signal:r.signal}),t(e,s,n,o),{destroy:()=>r.abort()}};class l extends URL{constructor(t,e=document.baseURI){super(t.toString(),e),Object.setPrototypeOf(this,l.prototype)}get url(){return this.pathname+this.search}static fromElement(t){const e=t.getAttribute(\"href\")||t.getAttribute(\"xlink:href\")||\"\";return new l(e)}static fromUrl(t){return new l(t)}}const h=(t,i)=>{try{return e(t,i)}catch(e){throw new Error(`[swup] Error parsing path \"${String(t)}\":\\n${String(e)}`)}};class c extends Error{constructor(t,e){super(t),this.url=void 0,this.status=void 0,this.aborted=void 0,this.timedOut=void 0,this.name=\"FetchError\",this.url=e.url,this.status=e.status,this.aborted=e.aborted||!1,this.timedOut=e.timedOut||!1}}async function u(t,e={}){var s;t=l.fromUrl(t).url;const{visit:n=this.visit}=e,o=i({},this.options.requestHeaders,e.headers),r=null!=(s=e.timeout)?s:this.options.timeout,a=new AbortController,{signal:h}=a;e=i({},e,{headers:o,signal:h});let u,d=!1,p=null;r&&r>0&&(p=setTimeout(()=>{d=!0,a.abort(\"timeout\")},r));try{u=await this.hooks.call(\"fetch:request\",n,{url:t,options:e},(t,{url:e,options:i})=>fetch(e,i)),p&&clearTimeout(p)}catch(e){if(d)throw this.hooks.call(\"fetch:timeout\",n,{url:t}),new c(`Request timed out: ${t}`,{url:t,timedOut:d});if(\"AbortError\"===(null==e?void 0:e.name)||h.aborted)throw new c(`Request aborted: ${t}`,{url:t,aborted:!0});throw e}const{status:m,url:w}=u,g=await u.text();if(500===m)throw this.hooks.call(\"fetch:error\",n,{status:m,response:u,url:w}),new c(`Server error: ${w}`,{status:m,url:w});if(!g)throw new c(`Empty response: ${w}`,{status:m,url:w});const{url:f}=l.fromUrl(w),v={url:f,html:g};return!n.cache.write||e.method&&\"GET\"!==e.method||t!==f||this.cache.set(v.url,v),v}class d{constructor(t){this.swup=void 0,this.pages=new Map,this.swup=t}get size(){return this.pages.size}get all(){const t=new Map;return this.pages.forEach((e,s)=>{t.set(s,i({},e))}),t}has(t){return this.pages.has(this.resolve(t))}get(t){const e=this.pages.get(this.resolve(t));return e?i({},e):e}set(t,e){e=i({},e,{url:t=this.resolve(t)}),this.pages.set(t,e),this.swup.hooks.callSync(\"cache:set\",void 0,{page:e})}update(t,e){t=this.resolve(t);const s=i({},this.get(t),e,{url:t});this.pages.set(t,s)}delete(t){this.pages.delete(this.resolve(t))}clear(){this.pages.clear(),this.swup.hooks.callSync(\"cache:clear\",void 0,void 0)}prune(t){this.pages.forEach((e,i)=>{t(i,e)&&this.delete(i)})}resolve(t){const{url:e}=l.fromUrl(t);return this.swup.resolveUrl(e)}}const p=(t,e=document)=>e.querySelector(t),m=(t,e=document)=>Array.from(e.querySelectorAll(t)),w=()=>new Promise(t=>{requestAnimationFrame(()=>{requestAnimationFrame(()=>{t()})})});function g(t){return!!t&&(\"object\"==typeof t||\"function\"==typeof t)&&\"function\"==typeof t.then}function f(t,e=[]){return new Promise((i,s)=>{const n=t(...e);g(n)?n.then(i,s):i(n)})}function v(t){var e;null==(e=t=t||document.body)||e.getBoundingClientRect()}function y(t,e){const i=null==t?void 0:t.closest(`[${e}]`);return null!=i&&i.hasAttribute(e)?(null==i?void 0:i.getAttribute(e))||!0:void 0}class k{constructor(t){this.swup=void 0,this.swupClasses=[\"to-\",\"is-changing\",\"is-rendering\",\"is-popstate\",\"is-animating\",\"is-leaving\"],this.swup=t}get selectors(){const{scope:t}=this.swup.visit.animation;return\"containers\"===t?this.swup.visit.containers:\"html\"===t?[\"html\"]:Array.isArray(t)?t:[]}get selector(){return this.selectors.join(\",\")}get targets(){return this.selector.trim()?m(this.selector):[]}add(...t){this.targets.forEach(e=>e.classList.add(...t))}remove(...t){this.targets.forEach(e=>e.classList.remove(...t))}clear(){this.targets.forEach(t=>{const e=t.className.split(\" \").filter(t=>this.isSwupClass(t));t.classList.remove(...e)})}isSwupClass(t){return this.swupClasses.some(e=>t.startsWith(e))}}class b{constructor(t,e){this.id=void 0,this.state=void 0,this.from=void 0,this.to=void 0,this.containers=void 0,this.animation=void 0,this.trigger=void 0,this.cache=void 0,this.history=void 0,this.scroll=void 0;const{to:i,from:s,hash:n,el:o,event:r}=e;this.id=Math.random(),this.state=1,this.from={url:null!=s?s:t.location.url,hash:t.location.hash},this.to={url:i,hash:n},this.containers=t.options.containers,this.animation={animate:!0,wait:!1,name:void 0,native:t.options.native,scope:t.options.animationScope,selector:t.options.animationSelector},this.trigger={el:o,event:r},this.cache={read:t.options.cache,write:t.options.cache},this.history={action:\"push\",popstate:!1,direction:void 0},this.scroll={reset:!0,target:void 0}}advance(t){this.state=7}}function S(t){return new b(this,t)}class E{constructor(t){this.swup=void 0,this.registry=new Map,this.hooks=[\"animation:out:start\",\"animation:out:await\",\"animation:out:end\",\"animation:in:start\",\"animation:in:await\",\"animation:in:end\",\"animation:skip\",\"cache:clear\",\"cache:set\",\"content:replace\",\"content:scroll\",\"enable\",\"disable\",\"fetch:request\",\"fetch:error\",\"fetch:timeout\",\"history:popstate\",\"link:click\",\"link:self\",\"link:anchor\",\"link:newtab\",\"page:load\",\"page:view\",\"scroll:top\",\"scroll:anchor\",\"visit:start\",\"visit:transition\",\"visit:abort\",\"visit:end\"],this.swup=t,this.init()}init(){this.hooks.forEach(t=>this.create(t))}create(t){this.registry.has(t)||this.registry.set(t,new Map)}exists(t){return this.registry.has(t)}get(t){const e=this.registry.get(t);if(e)return e;console.error(`Unknown hook '${t}'`)}clear(){this.registry.forEach(t=>t.clear())}on(t,e,s={}){const n=this.get(t);if(!n)return console.warn(`Hook '${t}' not found.`),()=>{};const o=i({},s,{id:n.size+1,hook:t,handler:e});return n.set(e,o),()=>this.off(t,e)}before(t,e,s={}){return this.on(t,e,i({},s,{before:!0}))}replace(t,e,s={}){return this.on(t,e,i({},s,{replace:!0}))}once(t,e,s={}){return this.on(t,e,i({},s,{once:!0}))}off(t,e){const i=this.get(t);i&&e?i.delete(e)||console.warn(`Handler for hook '${t}' not found.`):i&&i.clear()}async call(t,e,i,s){const[n,o,r]=this.parseCallArgs(t,e,i,s),{before:a,handler:l,after:h}=this.getHandlers(t,r);await this.run(a,n,o);const[c]=await this.run(l,n,o,!0);return await this.run(h,n,o),this.dispatchDomEvent(t,n,o),c}callSync(t,e,i,s){const[n,o,r]=this.parseCallArgs(t,e,i,s),{before:a,handler:l,after:h}=this.getHandlers(t,r);this.runSync(a,n,o);const[c]=this.runSync(l,n,o,!0);return this.runSync(h,n,o),this.dispatchDomEvent(t,n,o),c}parseCallArgs(t,e,i,s){return e instanceof b||\"object\"!=typeof e&&\"function\"!=typeof i?[e,i,s]:[void 0,e,i]}async run(t,e=this.swup.visit,i,s=!1){const n=[];for(const{hook:o,handler:r,defaultHandler:a,once:l}of t)if(null==e||!e.done){l&&this.off(o,r);try{const t=await f(r,[e,i,a]);n.push(t)}catch(t){if(s)throw t;console.error(`Error in hook '${o}':`,t)}}return n}runSync(t,e=this.swup.visit,i,s=!1){const n=[];for(const{hook:o,handler:r,defaultHandler:a,once:l}of t)if(null==e||!e.done){l&&this.off(o,r);try{const t=r(e,i,a);n.push(t),g(t)&&console.warn(`Swup will not await Promises in handler for synchronous hook '${o}'.`)}catch(t){if(s)throw t;console.error(`Error in hook '${o}':`,t)}}return n}getHandlers(t,e){const i=this.get(t);if(!i)return{found:!1,before:[],handler:[],after:[],replaced:!1};const s=Array.from(i.values()),n=this.sortRegistrations,o=s.filter(({before:t,replace:e})=>t&&!e).sort(n),r=s.filter(({replace:t})=>t).filter(t=>!0).sort(n),a=s.filter(({before:t,replace:e})=>!t&&!e).sort(n),l=r.length>0;let h=[];if(e&&(h=[{id:0,hook:t,handler:e}],l)){const i=r.length-1,s=t=>{const i=r[t-1];return i?(e,n)=>i.handler(e,n,s(t-1)):e};h=[{id:0,hook:t,handler:r[i].handler,defaultHandler:s(i)}]}return{found:!0,before:o,handler:h,after:a,replaced:l}}sortRegistrations(t,e){var i,s;return(null!=(i=t.priority)?i:0)-(null!=(s=e.priority)?s:0)||t.id-e.id||0}dispatchDomEvent(t,e,i){if(null!=e&&e.done)return;const s={hook:t,args:i,visit:e||this.swup.visit};document.dispatchEvent(new CustomEvent(\"swup:any\",{detail:s,bubbles:!0})),document.dispatchEvent(new CustomEvent(`swup:${t}`,{detail:s,bubbles:!0}))}}const C=t=>{if(t&&\"#\"===t.charAt(0)&&(t=t.substring(1)),!t)return null;const e=decodeURIComponent(t);let i=document.getElementById(t)||document.getElementById(e)||p(`a[name='${CSS.escape(t)}']`)||p(`a[name='${CSS.escape(e)}']`);return i||\"top\"!==t||(i=document.body),i},U=\"transition\",P=\"animation\";async function $({selector:t,elements:e}){if(!1===t&&!e)return;let i=[];if(e)i=Array.from(e);else if(t&&(i=m(t,document.body),!i.length))return void console.warn(`[swup] No elements found matching animationSelector \\`${t}\\``);const s=i.map(t=>function(t){const{type:e,timeout:i,propCount:s}=function(t){const e=window.getComputedStyle(t),i=x(e,`${U}Delay`),s=x(e,`${U}Duration`),n=A(i,s),o=x(e,`${P}Delay`),r=x(e,`${P}Duration`),a=A(o,r),l=Math.max(n,a),h=l>0?n>a?U:P:null;return{type:h,timeout:l,propCount:h?h===U?s.length:r.length:0}}(t);return!(!e||!i)&&new Promise(n=>{const o=`${e}end`,r=performance.now();let a=0;const l=()=>{t.removeEventListener(o,h),n()},h=e=>{e.target===t&&((performance.now()-r)/1e3=s&&l())};setTimeout(()=>{a0?await Promise.all(s):t&&console.warn(`[swup] No CSS animation duration defined on elements matching \\`${t}\\``)}function x(t,e){return(t[e]||\"\").split(\", \")}function A(t,e){for(;t.lengthH(e)+H(t[i])))}function H(t){return 1e3*parseFloat(t)}function V(t,e={},s={}){if(\"string\"!=typeof t)throw new Error(\"swup.navigate() requires a URL parameter\");if(this.shouldIgnoreVisit(t,{el:s.el,event:s.event}))return void window.location.assign(t);const{url:n,hash:o}=l.fromUrl(t),r=this.createVisit(i({},s,{to:n,hash:o}));this.performNavigation(r,e)}async function I(t,e={}){if(this.navigating){if(this.visit.state>=6)return t.state=2,void(this.onVisitEnd=()=>this.performNavigation(t,e));await this.hooks.call(\"visit:abort\",this.visit,void 0),delete this.visit.to.document,this.visit.state=8}this.navigating=!0,this.visit=t;const{el:i}=t.trigger;e.referrer=e.referrer||this.location.url,!1===e.animate&&(t.animation.animate=!1),t.animation.animate||this.classes.clear();const n=e.history||y(i,\"data-swup-history\");\"string\"==typeof n&&[\"push\",\"replace\"].includes(n)&&(t.history.action=n);const a=e.animation||y(i,\"data-swup-animation\");var h,c;\"string\"==typeof a&&(t.animation.name=a),\"object\"==typeof e.cache?(t.cache.read=null!=(h=e.cache.read)?h:t.cache.read,t.cache.write=null!=(c=e.cache.write)?c:t.cache.write):void 0!==e.cache&&(t.cache={read:!!e.cache,write:!!e.cache}),delete e.cache;try{await this.hooks.call(\"visit:start\",t,void 0),t.state=3;const i=this.hooks.call(\"page:load\",t,{options:e},async(t,e)=>{let i;return t.cache.read&&(i=this.cache.get(t.to.url)),e.page=i||await this.fetchPage(t.to.url,e.options),e.cache=!!i,e.page});i.then(({html:e})=>{t.advance(5),t.to.html=e,t.to.document=(new DOMParser).parseFromString(e,\"text/html\")});const n=t.to.url+t.to.hash;if(t.history.popstate||(\"replace\"===t.history.action||t.to.url===this.location.url?r(n):(this.currentHistoryIndex++,o(n,{index:this.currentHistoryIndex}))),this.location=l.fromUrl(n),t.history.popstate&&this.classes.add(\"is-popstate\"),t.animation.name&&this.classes.add(`to-${s(t.animation.name)}`),t.animation.wait&&await i,t.done)return;if(await this.hooks.call(\"visit:transition\",t,void 0,async()=>{if(!t.animation.animate)return await this.hooks.call(\"animation:skip\",void 0),void await this.renderPage(t,await i);t.advance(4),await this.animatePageOut(t),t.animation.native&&document.startViewTransition?await document.startViewTransition(async()=>await this.renderPage(t,await i)).finished:await this.renderPage(t,await i),await this.animatePageIn(t)}),t.done)return;await this.hooks.call(\"visit:end\",t,void 0,()=>this.classes.clear()),t.state=7,this.navigating=!1,this.onVisitEnd&&(this.onVisitEnd(),this.onVisitEnd=void 0)}catch(e){if(!e||null!=e&&e.aborted)return void(t.state=8);t.state=9,console.error(e),this.options.skipPopStateHandling=()=>(window.location.assign(t.to.url+t.to.hash),!0),window.history.back()}finally{delete t.to.document}}const L=async function(t){await this.hooks.call(\"animation:out:start\",t,void 0,()=>{this.classes.add(\"is-changing\",\"is-animating\",\"is-leaving\")}),await this.hooks.call(\"animation:out:await\",t,{skip:!1},(t,{skip:e})=>{if(!e)return this.awaitAnimations({selector:t.animation.selector})}),await this.hooks.call(\"animation:out:end\",t,void 0)},q=function(t){var e;const i=t.to.document;if(!i)return!1;const s=(null==(e=i.querySelector(\"title\"))?void 0:e.innerText)||\"\";document.title=s;const n=m('[data-swup-persist]:not([data-swup-persist=\"\"])'),o=t.containers.map(t=>{const e=document.querySelector(t),s=i.querySelector(t);return e&&s?(e.replaceWith(s.cloneNode(!0)),!0):(e||console.warn(`[swup] Container missing in current document: ${t}`),s||console.warn(`[swup] Container missing in incoming document: ${t}`),!1)}).filter(Boolean);return n.forEach(t=>{const e=t.getAttribute(\"data-swup-persist\"),i=p(`[data-swup-persist=\"${e}\"]`);i&&i!==t&&i.replaceWith(t)}),o.length===t.containers.length},R=function(t){const e={behavior:\"auto\"},{target:s,reset:n}=t.scroll,o=null!=s?s:t.to.hash;let r=!1;return o&&(r=this.hooks.callSync(\"scroll:anchor\",t,{hash:o,options:e},(t,{hash:e,options:i})=>{const s=this.getAnchorElement(e);return s&&s.scrollIntoView(i),!!s})),n&&!r&&(r=this.hooks.callSync(\"scroll:top\",t,{options:e},(t,{options:e})=>(window.scrollTo(i({top:0,left:0},e)),!0))),r},T=async function(t){if(t.done)return;const e=this.hooks.call(\"animation:in:await\",t,{skip:!1},(t,{skip:e})=>{if(!e)return this.awaitAnimations({selector:t.animation.selector})});await w(),await this.hooks.call(\"animation:in:start\",t,void 0,()=>{this.classes.remove(\"is-animating\")}),await e,await this.hooks.call(\"animation:in:end\",t,void 0)},N=async function(t,e){if(t.done)return;t.advance(6);const{url:i}=e;this.isSameResolvedUrl(n(),i)||(r(i),this.location=l.fromUrl(i),t.to.url=this.location.url,t.to.hash=this.location.hash),await this.hooks.call(\"content:replace\",t,{page:e},(t,{})=>{if(this.classes.remove(\"is-leaving\"),t.animation.animate&&this.classes.add(\"is-rendering\"),!this.replaceContent(t))throw new Error(\"[swup] Container mismatch, aborting\");t.animation.animate&&(this.classes.add(\"is-changing\",\"is-animating\",\"is-rendering\"),t.animation.name&&this.classes.add(`to-${s(t.animation.name)}`))}),await this.hooks.call(\"content:scroll\",t,void 0,()=>this.scrollToContent(t)),await this.hooks.call(\"page:view\",t,{url:this.location.url,title:document.title})},O=function(t){var e;if(e=t,Boolean(null==e?void 0:e.isSwupPlugin)){if(t.swup=this,!t._checkRequirements||t._checkRequirements())return t._beforeMount&&t._beforeMount(),t.mount(),this.plugins.push(t),this.plugins}else console.error(\"Not a swup plugin instance\",t)};function D(t){const e=this.findPlugin(t);if(e)return e.unmount(),e._afterUnmount&&e._afterUnmount(),this.plugins=this.plugins.filter(t=>t!==e),this.plugins;console.error(\"No such plugin\",e)}function M(t){return this.plugins.find(e=>e===t||e.name===t||e.name===`Swup${String(t)}`)}function W(t){if(\"function\"!=typeof this.options.resolveUrl)return console.warn(\"[swup] options.resolveUrl expects a callback function.\"),t;const e=this.options.resolveUrl(t);return e&&\"string\"==typeof e?e.startsWith(\"//\")||e.startsWith(\"http\")?(console.warn(\"[swup] options.resolveUrl needs to return a relative url\"),t):e:(console.warn(\"[swup] options.resolveUrl needs to return a url\"),t)}function B(t,e){return this.resolveUrl(t)===this.resolveUrl(e)}const _={animateHistoryBrowsing:!1,animationSelector:'[class*=\"transition-\"]',animationScope:\"html\",cache:!0,containers:[\"#swup\"],ignoreVisit:(t,{el:e}={})=>!(null==e||!e.closest(\"[data-no-swup]\")),linkSelector:\"a[href]\",linkToSelf:\"scroll\",native:!1,plugins:[],resolveUrl:t=>t,requestHeaders:{\"X-Requested-With\":\"swup\",Accept:\"text/html, application/xhtml+xml\"},skipPopStateHandling:t=>{var e;return\"swup\"!==(null==(e=t.state)?void 0:e.source)},timeout:0};class j{get currentPageUrl(){return this.location.url}constructor(t={}){var e,s;this.version=\"4.7.0\",this.options=void 0,this.defaults=_,this.plugins=[],this.visit=void 0,this.cache=void 0,this.hooks=void 0,this.classes=void 0,this.location=l.fromUrl(window.location.href),this.currentHistoryIndex=void 0,this.clickDelegate=void 0,this.navigating=!1,this.onVisitEnd=void 0,this.use=O,this.unuse=D,this.findPlugin=M,this.log=()=>{},this.navigate=V,this.performNavigation=I,this.createVisit=S,this.delegateEvent=a,this.fetchPage=u,this.awaitAnimations=$,this.renderPage=N,this.replaceContent=q,this.animatePageIn=T,this.animatePageOut=L,this.scrollToContent=R,this.getAnchorElement=C,this.getCurrentUrl=n,this.resolveUrl=W,this.isSameResolvedUrl=B,this.options=i({},this.defaults,t),this.handleLinkClick=this.handleLinkClick.bind(this),this.handlePopState=this.handlePopState.bind(this),this.cache=new d(this),this.classes=new k(this),this.hooks=new E(this),this.visit=this.createVisit({to:\"\"}),this.currentHistoryIndex=null!=(e=null==(s=window.history.state)?void 0:s.index)?e:1,this.enable()}async enable(){var t;const{linkSelector:e}=this.options;this.clickDelegate=this.delegateEvent(e,\"click\",this.handleLinkClick),window.addEventListener(\"popstate\",this.handlePopState),this.options.animateHistoryBrowsing&&(window.history.scrollRestoration=\"manual\"),this.options.native=this.options.native&&!!document.startViewTransition,this.options.plugins.forEach(t=>this.use(t)),\"swup\"!==(null==(t=window.history.state)?void 0:t.source)&&r(null,{index:this.currentHistoryIndex}),await w(),await this.hooks.call(\"enable\",void 0,void 0,()=>{const t=document.documentElement;t.classList.add(\"swup-enabled\"),t.classList.toggle(\"swup-native\",this.options.native)})}async destroy(){this.clickDelegate.destroy(),window.removeEventListener(\"popstate\",this.handlePopState),this.cache.clear(),this.options.plugins.forEach(t=>this.unuse(t)),await this.hooks.call(\"disable\",void 0,void 0,()=>{const t=document.documentElement;t.classList.remove(\"swup-enabled\"),t.classList.remove(\"swup-native\")}),this.hooks.clear()}shouldIgnoreVisit(t,{el:e,event:i}={}){const{origin:s,url:n,hash:o}=l.fromUrl(t);return s!==window.location.origin||!(!e||!this.triggerWillOpenNewWindow(e))||!!this.options.ignoreVisit(n+o,{el:e,event:i})}handleLinkClick(t){const e=t.delegateTarget,{href:i,url:s,hash:n}=l.fromElement(e);if(this.shouldIgnoreVisit(i,{el:e,event:t}))return;if(this.navigating&&s===this.visit.to.url)return void t.preventDefault();const o=this.createVisit({to:s,hash:n,el:e,event:t});t.metaKey||t.ctrlKey||t.shiftKey||t.altKey?this.hooks.callSync(\"link:newtab\",o,{href:i}):0===t.button&&this.hooks.callSync(\"link:click\",o,{el:e,event:t},()=>{var e;const i=null!=(e=o.from.url)?e:\"\";t.preventDefault(),s&&s!==i?this.isSameResolvedUrl(s,i)||this.performNavigation(o):n?this.hooks.callSync(\"link:anchor\",o,{hash:n},()=>{r(s+n),this.scrollToContent(o)}):this.hooks.callSync(\"link:self\",o,void 0,()=>{\"navigate\"===this.options.linkToSelf?this.performNavigation(o):(r(s),this.scrollToContent(o))})})}handlePopState(t){var e,i,s,o;const r=null!=(e=null==(i=t.state)?void 0:i.url)?e:window.location.href;if(this.options.skipPopStateHandling(t))return;if(this.isSameResolvedUrl(n(),this.location.url))return;const{url:a,hash:h}=l.fromUrl(r),c=this.createVisit({to:a,hash:h,event:t});c.history.popstate=!0;const u=null!=(s=null==(o=t.state)?void 0:o.index)?s:0;u&&u!==this.currentHistoryIndex&&(c.history.direction=u-this.currentHistoryIndex>0?\"forwards\":\"backwards\",this.currentHistoryIndex=u),c.animation.animate=!1,c.scroll.reset=!1,c.scroll.target=!1,this.options.animateHistoryBrowsing&&(c.animation.animate=!0,c.scroll.reset=!0),this.hooks.callSync(\"history:popstate\",c,{event:t},()=>{this.performNavigation(c)})}triggerWillOpenNewWindow(t){return!!t.matches('[download], [target=\"_blank\"]')}}export{l as Location,s as classify,o as createHistoryRecord,j as default,a as delegateEvent,v as forceReflow,y as getContextualAttr,n as getCurrentUrl,g as isPromise,h as matchPath,w as nextTick,p as query,m as queryAll,f as runAsPromise,r as updateHistoryRecord};\n//# sourceMappingURL=Swup.modern.js.map\n"],"names":["ledger","editLedger","wanted","baseElement","callback","setup","elementMap","setups","existed","safeClosest","event","selector","target","closest","delegate","type","options","signal","base","once","nativeListenerOptions","capture","listenerFunction","delegateTarget","delegateEvent","i","t","e","s","n","o","r","a","l$1","l","c","u","h","d","p","m","w","g","v","f","y","k","b","S","E","C","U","P","$","x","A","H","V","I","L","q","R","T","N","O","D","M","W","B","_","j"],"mappings":"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","x_google_ignoreList":[0,1]} \ No newline at end of file diff --git a/Target/_astro/Swup.modern.UA9jlYbO.js b/Target/_astro/Swup.modern.UA9jlYbO.js new file mode 100644 index 00000000..a9653ca7 --- /dev/null +++ b/Target/_astro/Swup.modern.UA9jlYbO.js @@ -0,0 +1 @@ +const A=new WeakMap;function x(t,e,i,s){if(!t&&!A.has(e))return!1;const n=A.get(e)??new WeakMap;A.set(e,n);const o=n.get(i)??new Set;n.set(i,o);const a=o.has(s);return t?o.add(s):o.delete(s),a&&t}function N(t,e){let i=t.target;if(i instanceof Text&&(i=i.parentElement),i instanceof Element&&t.currentTarget instanceof Element){const s=i.closest(e);if(s&&t.currentTarget.contains(s))return s}}function D(t,e,i,s={}){const{signal:n,base:o=document}=s;if(n?.aborted)return;const{once:a,...r}=s,l=o instanceof Document?o.documentElement:o,c=!!("object"==typeof s?s.capture:s),h=s=>{const n=N(s,String(t));if(n){const t=Object.assign(s,{delegateTarget:n});i.call(l,t),a&&(l.removeEventListener(e,h,r),x(!1,l,i,u))}},u=JSON.stringify({selector:t,type:e,capture:c});x(!0,l,i,u)||l.addEventListener(e,h,r),n?.addEventListener("abort",(()=>{x(!1,l,i,u)}))}function p(){return p=Object.assign?Object.assign.bind():function(t){for(var e=1;eString(t).toLowerCase().replace(/[\s/_.]+/g,"-").replace(/[^\w-]+/g,"").replace(/--+/g,"-").replace(/^-+|-+$/g,"")||e||"",b=({hash:t}={})=>window.location.pathname+window.location.search+(t?window.location.hash:""),W=(t,e={})=>{const i=p({url:t=t||b({hash:!0}),random:Math.random(),source:"swup"},e);window.history.pushState(i,"",t)},k=(t=null,e={})=>{t=t||b({hash:!0});const i=p({},window.history.state||{},{url:t,random:Math.random(),source:"swup"},e);window.history.replaceState(i,"",t)},j=(t,e,i,s)=>{const n=new AbortController;return D(t,e,i,s=p({},s,{signal:n.signal})),{destroy:()=>n.abort()}};let w=class t extends URL{constructor(e,i=document.baseURI){super(e.toString(),i),Object.setPrototypeOf(this,t.prototype)}get url(){return this.pathname+this.search}static fromElement(e){const i=e.getAttribute("href")||e.getAttribute("xlink:href")||"";return new t(i)}static fromUrl(e){return new t(e)}};class E extends Error{constructor(t,e){super(t),this.url=void 0,this.status=void 0,this.aborted=void 0,this.timedOut=void 0,this.name="FetchError",this.url=e.url,this.status=e.status,this.aborted=e.aborted||!1,this.timedOut=e.timedOut||!1}}async function B(t,e={}){var i;t=w.fromUrl(t).url;const{visit:s=this.visit}=e,n=p({},this.options.requestHeaders,e.headers),o=null!=(i=e.timeout)?i:this.options.timeout,a=new AbortController,{signal:r}=a;e=p({},e,{headers:n,signal:r});let l,c=!1,h=null;o&&o>0&&(h=setTimeout((()=>{c=!0,a.abort("timeout")}),o));try{l=await this.hooks.call("fetch:request",s,{url:t,options:e},((t,{url:e,options:i})=>fetch(e,i))),h&&clearTimeout(h)}catch(e){throw c?(this.hooks.call("fetch:timeout",s,{url:t}),new E(`Request timed out: ${t}`,{url:t,timedOut:c})):"AbortError"===e?.name||r.aborted?new E(`Request aborted: ${t}`,{url:t,aborted:!0}):e}const{status:u,url:d}=l,m=await l.text();if(500===u)throw this.hooks.call("fetch:error",s,{status:u,response:l,url:d}),new E(`Server error: ${d}`,{status:u,url:d});if(!m)throw new E(`Empty response: ${d}`,{status:u,url:d});const{url:f}=w.fromUrl(d),g={url:f,html:m};return!s.cache.write||e.method&&"GET"!==e.method||t!==f||this.cache.set(g.url,g),g}class F{constructor(t){this.swup=void 0,this.pages=new Map,this.swup=t}get size(){return this.pages.size}get all(){const t=new Map;return this.pages.forEach(((e,i)=>{t.set(i,p({},e))})),t}has(t){return this.pages.has(this.resolve(t))}get(t){const e=this.pages.get(this.resolve(t));return e&&p({},e)}set(t,e){e=p({},e,{url:t=this.resolve(t)}),this.pages.set(t,e),this.swup.hooks.callSync("cache:set",void 0,{page:e})}update(t,e){t=this.resolve(t);const i=p({},this.get(t),e,{url:t});this.pages.set(t,i)}delete(t){this.pages.delete(this.resolve(t))}clear(){this.pages.clear(),this.swup.hooks.callSync("cache:clear",void 0,void 0)}prune(t){this.pages.forEach(((e,i)=>{t(i,e)&&this.delete(i)}))}resolve(t){const{url:e}=w.fromUrl(t);return this.swup.resolveUrl(e)}}const H=(t,e=document)=>e.querySelector(t),L=(t,e=document)=>Array.from(e.querySelectorAll(t)),R=()=>new Promise((t=>{requestAnimationFrame((()=>{requestAnimationFrame((()=>{t()}))}))}));function O(t){return!!t&&("object"==typeof t||"function"==typeof t)&&"function"==typeof t.then}function _(t,e=[]){return new Promise(((i,s)=>{const n=t(...e);O(n)?n.then(i,s):i(n)}))}function T(t,e){const i=t?.closest(`[${e}]`);return null!=i&&i.hasAttribute(e)?i?.getAttribute(e)||!0:void 0}class K{constructor(t){this.swup=void 0,this.swupClasses=["to-","is-changing","is-rendering","is-popstate","is-animating","is-leaving"],this.swup=t}get selectors(){const{scope:t}=this.swup.visit.animation;return"containers"===t?this.swup.visit.containers:"html"===t?["html"]:Array.isArray(t)?t:[]}get selector(){return this.selectors.join(",")}get targets(){return this.selector.trim()?L(this.selector):[]}add(...t){this.targets.forEach((e=>e.classList.add(...t)))}remove(...t){this.targets.forEach((e=>e.classList.remove(...t)))}clear(){this.targets.forEach((t=>{const e=t.className.split(" ").filter((t=>this.isSwupClass(t)));t.classList.remove(...e)}))}isSwupClass(t){return this.swupClasses.some((e=>t.startsWith(e)))}}class M{constructor(t,e){this.id=void 0,this.state=void 0,this.from=void 0,this.to=void 0,this.containers=void 0,this.animation=void 0,this.trigger=void 0,this.cache=void 0,this.history=void 0,this.scroll=void 0;const{to:i,from:s,hash:n,el:o,event:a}=e;this.id=Math.random(),this.state=1,this.from={url:s??t.location.url,hash:t.location.hash},this.to={url:i,hash:n},this.containers=t.options.containers,this.animation={animate:!0,wait:!1,name:void 0,native:t.options.native,scope:t.options.animationScope,selector:t.options.animationSelector},this.trigger={el:o,event:a},this.cache={read:t.options.cache,write:t.options.cache},this.history={action:"push",popstate:!1,direction:void 0},this.scroll={reset:!0,target:void 0}}advance(t){this.state=7}}function z(t){return new M(this,t)}class G{constructor(t){this.swup=void 0,this.registry=new Map,this.hooks=["animation:out:start","animation:out:await","animation:out:end","animation:in:start","animation:in:await","animation:in:end","animation:skip","cache:clear","cache:set","content:replace","content:scroll","enable","disable","fetch:request","fetch:error","fetch:timeout","history:popstate","link:click","link:self","link:anchor","link:newtab","page:load","page:view","scroll:top","scroll:anchor","visit:start","visit:transition","visit:abort","visit:end"],this.swup=t,this.init()}init(){this.hooks.forEach((t=>this.create(t)))}create(t){this.registry.has(t)||this.registry.set(t,new Map)}exists(t){return this.registry.has(t)}get(t){const e=this.registry.get(t);if(e)return e;console.error(`Unknown hook '${t}'`)}clear(){this.registry.forEach((t=>t.clear()))}on(t,e,i={}){const s=this.get(t);if(!s)return console.warn(`Hook '${t}' not found.`),()=>{};const n=p({},i,{id:s.size+1,hook:t,handler:e});return s.set(e,n),()=>this.off(t,e)}before(t,e,i={}){return this.on(t,e,p({},i,{before:!0}))}replace(t,e,i={}){return this.on(t,e,p({},i,{replace:!0}))}once(t,e,i={}){return this.on(t,e,p({},i,{once:!0}))}off(t,e){const i=this.get(t);i&&e?i.delete(e)||console.warn(`Handler for hook '${t}' not found.`):i&&i.clear()}async call(t,e,i,s){const[n,o,a]=this.parseCallArgs(t,e,i,s),{before:r,handler:l,after:c}=this.getHandlers(t,a);await this.run(r,n,o);const[h]=await this.run(l,n,o,!0);return await this.run(c,n,o),this.dispatchDomEvent(t,n,o),h}callSync(t,e,i,s){const[n,o,a]=this.parseCallArgs(t,e,i,s),{before:r,handler:l,after:c}=this.getHandlers(t,a);this.runSync(r,n,o);const[h]=this.runSync(l,n,o,!0);return this.runSync(c,n,o),this.dispatchDomEvent(t,n,o),h}parseCallArgs(t,e,i,s){return e instanceof M||"object"!=typeof e&&"function"!=typeof i?[e,i,s]:[void 0,e,i]}async run(t,e=this.swup.visit,i,s=!1){const n=[];for(const{hook:o,handler:a,defaultHandler:r,once:l}of t)if(null==e||!e.done){l&&this.off(o,a);try{const t=await _(a,[e,i,r]);n.push(t)}catch(t){if(s)throw t;console.error(`Error in hook '${o}':`,t)}}return n}runSync(t,e=this.swup.visit,i,s=!1){const n=[];for(const{hook:o,handler:a,defaultHandler:r,once:l}of t)if(null==e||!e.done){l&&this.off(o,a);try{const t=a(e,i,r);n.push(t),O(t)&&console.warn(`Swup will not await Promises in handler for synchronous hook '${o}'.`)}catch(t){if(s)throw t;console.error(`Error in hook '${o}':`,t)}}return n}getHandlers(t,e){const i=this.get(t);if(!i)return{found:!1,before:[],handler:[],after:[],replaced:!1};const s=Array.from(i.values()),n=this.sortRegistrations,o=s.filter((({before:t,replace:e})=>t&&!e)).sort(n),a=s.filter((({replace:t})=>t)).filter((t=>!0)).sort(n),r=s.filter((({before:t,replace:e})=>!t&&!e)).sort(n),l=a.length>0;let c=[];if(e&&(c=[{id:0,hook:t,handler:e}],l)){const i=a.length-1,s=t=>{const i=a[t-1];return i?(e,n)=>i.handler(e,n,s(t-1)):e};c=[{id:0,hook:t,handler:a[i].handler,defaultHandler:s(i)}]}return{found:!0,before:o,handler:c,after:r,replaced:l}}sortRegistrations(t,e){var i,s;return(null!=(i=t.priority)?i:0)-(null!=(s=e.priority)?s:0)||t.id-e.id||0}dispatchDomEvent(t,e,i){if(null!=e&&e.done)return;const s={hook:t,args:i,visit:e||this.swup.visit};document.dispatchEvent(new CustomEvent("swup:any",{detail:s,bubbles:!0})),document.dispatchEvent(new CustomEvent(`swup:${t}`,{detail:s,bubbles:!0}))}}const J=t=>{if(t&&"#"===t.charAt(0)&&(t=t.substring(1)),!t)return null;const e=decodeURIComponent(t);let i=document.getElementById(t)||document.getElementById(e)||H(`a[name='${CSS.escape(t)}']`)||H(`a[name='${CSS.escape(e)}']`);return i||"top"!==t||(i=document.body),i},C="transition",$="animation";async function X({selector:t,elements:e}){if(!1===t&&!e)return;let i=[];if(e)i=Array.from(e);else if(t&&(i=L(t,document.body),!i.length))return void console.warn(`[swup] No elements found matching animationSelector \`${t}\``);const s=i.map((t=>function(t){const{type:e,timeout:i,propCount:s}=function(t){const e=window.getComputedStyle(t),i=U(e,`${C}Delay`),s=U(e,`${C}Duration`),n=q(i,s),o=U(e,`${$}Delay`),a=U(e,`${$}Duration`),r=q(o,a),l=Math.max(n,r),c=l>0?n>r?C:$:null;return{type:c,timeout:l,propCount:c?c===C?s.length:a.length:0}}(t);return!(!e||!i)&&new Promise((n=>{const o=`${e}end`,a=performance.now();let r=0;const l=()=>{t.removeEventListener(o,c),n()},c=e=>{e.target===t&&((performance.now()-a)/1e3=s&&l())};setTimeout((()=>{r0?await Promise.all(s):t&&console.warn(`[swup] No CSS animation duration defined on elements matching \`${t}\``)}function U(t,e){return(t[e]||"").split(", ")}function q(t,e){for(;t.lengthV(e)+V(t[i]))))}function V(t){return 1e3*parseFloat(t)}function Q(t,e={},i={}){if("string"!=typeof t)throw new Error("swup.navigate() requires a URL parameter");if(this.shouldIgnoreVisit(t,{el:i.el,event:i.event}))return void window.location.assign(t);const{url:s,hash:n}=w.fromUrl(t),o=this.createVisit(p({},i,{to:s,hash:n}));this.performNavigation(o,e)}async function Y(t,e={}){if(this.navigating){if(this.visit.state>=6)return t.state=2,void(this.onVisitEnd=()=>this.performNavigation(t,e));await this.hooks.call("visit:abort",this.visit,void 0),delete this.visit.to.document,this.visit.state=8}this.navigating=!0,this.visit=t;const{el:i}=t.trigger;e.referrer=e.referrer||this.location.url,!1===e.animate&&(t.animation.animate=!1),t.animation.animate||this.classes.clear();const s=e.history||T(i,"data-swup-history");"string"==typeof s&&["push","replace"].includes(s)&&(t.history.action=s);const n=e.animation||T(i,"data-swup-animation");var o,a;"string"==typeof n&&(t.animation.name=n),"object"==typeof e.cache?(t.cache.read=null!=(o=e.cache.read)?o:t.cache.read,t.cache.write=null!=(a=e.cache.write)?a:t.cache.write):void 0!==e.cache&&(t.cache={read:!!e.cache,write:!!e.cache}),delete e.cache;try{await this.hooks.call("visit:start",t,void 0),t.state=3;const i=this.hooks.call("page:load",t,{options:e},(async(t,e)=>{let i;return t.cache.read&&(i=this.cache.get(t.to.url)),e.page=i||await this.fetchPage(t.to.url,e.options),e.cache=!!i,e.page}));i.then((({html:e})=>{t.advance(5),t.to.html=e,t.to.document=(new DOMParser).parseFromString(e,"text/html")}));const s=t.to.url+t.to.hash;if(t.history.popstate||("replace"===t.history.action||t.to.url===this.location.url?k(s):(this.currentHistoryIndex++,W(s,{index:this.currentHistoryIndex}))),this.location=w.fromUrl(s),t.history.popstate&&this.classes.add("is-popstate"),t.animation.name&&this.classes.add(`to-${I(t.animation.name)}`),t.animation.wait&&await i,t.done||(await this.hooks.call("visit:transition",t,void 0,(async()=>{if(!t.animation.animate)return await this.hooks.call("animation:skip",void 0),void await this.renderPage(t,await i);t.advance(4),await this.animatePageOut(t),t.animation.native&&document.startViewTransition?await document.startViewTransition((async()=>await this.renderPage(t,await i))).finished:await this.renderPage(t,await i),await this.animatePageIn(t)})),t.done))return;await this.hooks.call("visit:end",t,void 0,(()=>this.classes.clear())),t.state=7,this.navigating=!1,this.onVisitEnd&&(this.onVisitEnd(),this.onVisitEnd=void 0)}catch(e){if(!e||null!=e&&e.aborted)return void(t.state=8);t.state=9,console.error(e),this.options.skipPopStateHandling=()=>(window.location.assign(t.to.url+t.to.hash),!0),window.history.back()}finally{delete t.to.document}}const Z=async function(t){await this.hooks.call("animation:out:start",t,void 0,(()=>{this.classes.add("is-changing","is-animating","is-leaving")})),await this.hooks.call("animation:out:await",t,{skip:!1},((t,{skip:e})=>{if(!e)return this.awaitAnimations({selector:t.animation.selector})})),await this.hooks.call("animation:out:end",t,void 0)},tt=function(t){var e;const i=t.to.document;if(!i)return!1;const s=(null==(e=i.querySelector("title"))?void 0:e.innerText)||"";document.title=s;const n=L('[data-swup-persist]:not([data-swup-persist=""])'),o=t.containers.map((t=>{const e=document.querySelector(t),s=i.querySelector(t);return e&&s?(e.replaceWith(s.cloneNode(!0)),!0):(e||console.warn(`[swup] Container missing in current document: ${t}`),s||console.warn(`[swup] Container missing in incoming document: ${t}`),!1)})).filter(Boolean);return n.forEach((t=>{const e=t.getAttribute("data-swup-persist"),i=H(`[data-swup-persist="${e}"]`);i&&i!==t&&i.replaceWith(t)})),o.length===t.containers.length},et=function(t){const e={behavior:"auto"},{target:i,reset:s}=t.scroll,n=i??t.to.hash;let o=!1;return n&&(o=this.hooks.callSync("scroll:anchor",t,{hash:n,options:e},((t,{hash:e,options:i})=>{const s=this.getAnchorElement(e);return s&&s.scrollIntoView(i),!!s}))),s&&!o&&(o=this.hooks.callSync("scroll:top",t,{options:e},((t,{options:e})=>(window.scrollTo(p({top:0,left:0},e)),!0)))),o},it=async function(t){if(t.done)return;const e=this.hooks.call("animation:in:await",t,{skip:!1},((t,{skip:e})=>{if(!e)return this.awaitAnimations({selector:t.animation.selector})}));await R(),await this.hooks.call("animation:in:start",t,void 0,(()=>{this.classes.remove("is-animating")})),await e,await this.hooks.call("animation:in:end",t,void 0)},st=async function(t,e){if(t.done)return;t.advance(6);const{url:i}=e;this.isSameResolvedUrl(b(),i)||(k(i),this.location=w.fromUrl(i),t.to.url=this.location.url,t.to.hash=this.location.hash),await this.hooks.call("content:replace",t,{page:e},((t,{})=>{if(this.classes.remove("is-leaving"),t.animation.animate&&this.classes.add("is-rendering"),!this.replaceContent(t))throw new Error("[swup] Container mismatch, aborting");t.animation.animate&&(this.classes.add("is-changing","is-animating","is-rendering"),t.animation.name&&this.classes.add(`to-${I(t.animation.name)}`))})),await this.hooks.call("content:scroll",t,void 0,(()=>this.scrollToContent(t))),await this.hooks.call("page:view",t,{url:this.location.url,title:document.title})},nt=function(t){var e;if(e=t,e?.isSwupPlugin){if(t.swup=this,!t._checkRequirements||t._checkRequirements())return t._beforeMount&&t._beforeMount(),t.mount(),this.plugins.push(t),this.plugins}else console.error("Not a swup plugin instance",t)};function ot(t){const e=this.findPlugin(t);if(e)return e.unmount(),e._afterUnmount&&e._afterUnmount(),this.plugins=this.plugins.filter((t=>t!==e)),this.plugins;console.error("No such plugin",e)}function at(t){return this.plugins.find((e=>e===t||e.name===t||e.name===`Swup${String(t)}`))}function rt(t){if("function"!=typeof this.options.resolveUrl)return console.warn("[swup] options.resolveUrl expects a callback function."),t;const e=this.options.resolveUrl(t);return e&&"string"==typeof e?e.startsWith("//")||e.startsWith("http")?(console.warn("[swup] options.resolveUrl needs to return a relative url"),t):e:(console.warn("[swup] options.resolveUrl needs to return a url"),t)}function lt(t,e){return this.resolveUrl(t)===this.resolveUrl(e)}const ct={animateHistoryBrowsing:!1,animationSelector:'[class*="transition-"]',animationScope:"html",cache:!0,containers:["#swup"],ignoreVisit:(t,{el:e}={})=>!(null==e||!e.closest("[data-no-swup]")),linkSelector:"a[href]",linkToSelf:"scroll",native:!1,plugins:[],resolveUrl:t=>t,requestHeaders:{"X-Requested-With":"swup",Accept:"text/html, application/xhtml+xml"},skipPopStateHandling:t=>{var e;return"swup"!==(null==(e=t.state)?void 0:e.source)},timeout:0};class ht{get currentPageUrl(){return this.location.url}constructor(t={}){var e,i;this.version="4.7.0",this.options=void 0,this.defaults=ct,this.plugins=[],this.visit=void 0,this.cache=void 0,this.hooks=void 0,this.classes=void 0,this.location=w.fromUrl(window.location.href),this.currentHistoryIndex=void 0,this.clickDelegate=void 0,this.navigating=!1,this.onVisitEnd=void 0,this.use=nt,this.unuse=ot,this.findPlugin=at,this.log=()=>{},this.navigate=Q,this.performNavigation=Y,this.createVisit=z,this.delegateEvent=j,this.fetchPage=B,this.awaitAnimations=X,this.renderPage=st,this.replaceContent=tt,this.animatePageIn=it,this.animatePageOut=Z,this.scrollToContent=et,this.getAnchorElement=J,this.getCurrentUrl=b,this.resolveUrl=rt,this.isSameResolvedUrl=lt,this.options=p({},this.defaults,t),this.handleLinkClick=this.handleLinkClick.bind(this),this.handlePopState=this.handlePopState.bind(this),this.cache=new F(this),this.classes=new K(this),this.hooks=new G(this),this.visit=this.createVisit({to:""}),this.currentHistoryIndex=null!=(e=null==(i=window.history.state)?void 0:i.index)?e:1,this.enable()}async enable(){var t;const{linkSelector:e}=this.options;this.clickDelegate=this.delegateEvent(e,"click",this.handleLinkClick),window.addEventListener("popstate",this.handlePopState),this.options.animateHistoryBrowsing&&(window.history.scrollRestoration="manual"),this.options.native=this.options.native&&!!document.startViewTransition,this.options.plugins.forEach((t=>this.use(t))),"swup"!==(null==(t=window.history.state)?void 0:t.source)&&k(null,{index:this.currentHistoryIndex}),await R(),await this.hooks.call("enable",void 0,void 0,(()=>{const t=document.documentElement;t.classList.add("swup-enabled"),t.classList.toggle("swup-native",this.options.native)}))}async destroy(){this.clickDelegate.destroy(),window.removeEventListener("popstate",this.handlePopState),this.cache.clear(),this.options.plugins.forEach((t=>this.unuse(t))),await this.hooks.call("disable",void 0,void 0,(()=>{const t=document.documentElement;t.classList.remove("swup-enabled"),t.classList.remove("swup-native")})),this.hooks.clear()}shouldIgnoreVisit(t,{el:e,event:i}={}){const{origin:s,url:n,hash:o}=w.fromUrl(t);return s!==window.location.origin||!(!e||!this.triggerWillOpenNewWindow(e))||!!this.options.ignoreVisit(n+o,{el:e,event:i})}handleLinkClick(t){const e=t.delegateTarget,{href:i,url:s,hash:n}=w.fromElement(e);if(this.shouldIgnoreVisit(i,{el:e,event:t}))return;if(this.navigating&&s===this.visit.to.url)return void t.preventDefault();const o=this.createVisit({to:s,hash:n,el:e,event:t});t.metaKey||t.ctrlKey||t.shiftKey||t.altKey?this.hooks.callSync("link:newtab",o,{href:i}):0===t.button&&this.hooks.callSync("link:click",o,{el:e,event:t},(()=>{var e;const i=null!=(e=o.from.url)?e:"";t.preventDefault(),s&&s!==i?this.isSameResolvedUrl(s,i)||this.performNavigation(o):n?this.hooks.callSync("link:anchor",o,{hash:n},(()=>{k(s+n),this.scrollToContent(o)})):this.hooks.callSync("link:self",o,void 0,(()=>{"navigate"===this.options.linkToSelf?this.performNavigation(o):(k(s),this.scrollToContent(o))}))}))}handlePopState(t){var e,i,s,n;const o=null!=(e=null==(i=t.state)?void 0:i.url)?e:window.location.href;if(this.options.skipPopStateHandling(t)||this.isSameResolvedUrl(b(),this.location.url))return;const{url:a,hash:r}=w.fromUrl(o),l=this.createVisit({to:a,hash:r,event:t});l.history.popstate=!0;const c=null!=(s=null==(n=t.state)?void 0:n.index)?s:0;c&&c!==this.currentHistoryIndex&&(l.history.direction=c-this.currentHistoryIndex>0?"forwards":"backwards",this.currentHistoryIndex=c),l.animation.animate=!1,l.scroll.reset=!1,l.scroll.target=!1,this.options.animateHistoryBrowsing&&(l.animation.animate=!0,l.scroll.reset=!0),this.hooks.callSync("history:popstate",l,{event:t},(()=>{this.performNavigation(l)}))}triggerWillOpenNewWindow(t){return!!t.matches('[download], [target="_blank"]')}}export{w as Location,I as classify,W as createHistoryRecord,ht as default,j as delegateEvent,T as getContextualAttr,b as getCurrentUrl,O as isPromise,R as nextTick,H as query,L as queryAll,_ as runAsPromise,k as updateHistoryRecord}; \ No newline at end of file diff --git a/Target/_astro/Swup.modern.UA9jlYbO.js.map b/Target/_astro/Swup.modern.UA9jlYbO.js.map new file mode 100644 index 00000000..6b581658 --- /dev/null +++ b/Target/_astro/Swup.modern.UA9jlYbO.js.map @@ -0,0 +1 @@ +{"version":3,"file":"Swup.modern.UA9jlYbO.js","sources":["../../../../../../node_modules/delegate-it/delegate.js","../../../../../../node_modules/swup/dist/Swup.modern.js"],"sourcesContent":["/** Keeps track of raw listeners added to the base elements to avoid duplication */\nconst ledger = new WeakMap();\nfunction editLedger(wanted, baseElement, callback, setup) {\n if (!wanted && !ledger.has(baseElement)) {\n return false;\n }\n const elementMap = ledger.get(baseElement)\n ?? new WeakMap();\n ledger.set(baseElement, elementMap);\n const setups = elementMap.get(callback) ?? new Set();\n elementMap.set(callback, setups);\n const existed = setups.has(setup);\n if (wanted) {\n setups.add(setup);\n }\n else {\n setups.delete(setup);\n }\n return existed && wanted;\n}\nfunction safeClosest(event, selector) {\n let target = event.target;\n if (target instanceof Text) {\n target = target.parentElement;\n }\n if (target instanceof Element && event.currentTarget instanceof Element) {\n // `.closest()` may match ancestors of `currentTarget` but we only need its children\n const closest = target.closest(selector);\n if (closest && event.currentTarget.contains(closest)) {\n return closest;\n }\n }\n}\n// This type isn't exported as a declaration, so it needs to be duplicated above\nfunction delegate(selector, type, callback, options = {}) {\n const { signal, base = document } = options;\n if (signal?.aborted) {\n return;\n }\n // Don't pass `once` to `addEventListener` because it needs to be handled in `delegate-it`\n const { once, ...nativeListenerOptions } = options;\n // `document` should never be the base, it's just an easy way to define \"global event listeners\"\n const baseElement = base instanceof Document ? base.documentElement : base;\n // Handle the regular Element usage\n const capture = Boolean(typeof options === 'object' ? options.capture : options);\n const listenerFunction = (event) => {\n const delegateTarget = safeClosest(event, String(selector));\n if (delegateTarget) {\n const delegateEvent = Object.assign(event, { delegateTarget });\n callback.call(baseElement, delegateEvent);\n if (once) {\n baseElement.removeEventListener(type, listenerFunction, nativeListenerOptions);\n editLedger(false, baseElement, callback, setup);\n }\n }\n };\n const setup = JSON.stringify({ selector, type, capture });\n const isAlreadyListening = editLedger(true, baseElement, callback, setup);\n if (!isAlreadyListening) {\n baseElement.addEventListener(type, listenerFunction, nativeListenerOptions);\n }\n signal?.addEventListener('abort', () => {\n editLedger(false, baseElement, callback, setup);\n });\n}\nexport default delegate;\n","import t from\"delegate-it\";import{match as e}from\"path-to-regexp\";function i(){return i=Object.assign?Object.assign.bind():function(t){for(var e=1;eString(t).toLowerCase().replace(/[\\s/_.]+/g,\"-\").replace(/[^\\w-]+/g,\"\").replace(/--+/g,\"-\").replace(/^-+|-+$/g,\"\")||e||\"\",n=({hash:t}={})=>window.location.pathname+window.location.search+(t?window.location.hash:\"\"),o=(t,e={})=>{const s=i({url:t=t||n({hash:!0}),random:Math.random(),source:\"swup\"},e);window.history.pushState(s,\"\",t)},r=(t=null,e={})=>{t=t||n({hash:!0});const s=i({},window.history.state||{},{url:t,random:Math.random(),source:\"swup\"},e);window.history.replaceState(s,\"\",t)},a=(e,s,n,o)=>{const r=new AbortController;return o=i({},o,{signal:r.signal}),t(e,s,n,o),{destroy:()=>r.abort()}};class l extends URL{constructor(t,e=document.baseURI){super(t.toString(),e),Object.setPrototypeOf(this,l.prototype)}get url(){return this.pathname+this.search}static fromElement(t){const e=t.getAttribute(\"href\")||t.getAttribute(\"xlink:href\")||\"\";return new l(e)}static fromUrl(t){return new l(t)}}const h=(t,i)=>{try{return e(t,i)}catch(e){throw new Error(`[swup] Error parsing path \"${String(t)}\":\\n${String(e)}`)}};class c extends Error{constructor(t,e){super(t),this.url=void 0,this.status=void 0,this.aborted=void 0,this.timedOut=void 0,this.name=\"FetchError\",this.url=e.url,this.status=e.status,this.aborted=e.aborted||!1,this.timedOut=e.timedOut||!1}}async function u(t,e={}){var s;t=l.fromUrl(t).url;const{visit:n=this.visit}=e,o=i({},this.options.requestHeaders,e.headers),r=null!=(s=e.timeout)?s:this.options.timeout,a=new AbortController,{signal:h}=a;e=i({},e,{headers:o,signal:h});let u,d=!1,p=null;r&&r>0&&(p=setTimeout(()=>{d=!0,a.abort(\"timeout\")},r));try{u=await this.hooks.call(\"fetch:request\",n,{url:t,options:e},(t,{url:e,options:i})=>fetch(e,i)),p&&clearTimeout(p)}catch(e){if(d)throw this.hooks.call(\"fetch:timeout\",n,{url:t}),new c(`Request timed out: ${t}`,{url:t,timedOut:d});if(\"AbortError\"===(null==e?void 0:e.name)||h.aborted)throw new c(`Request aborted: ${t}`,{url:t,aborted:!0});throw e}const{status:m,url:w}=u,g=await u.text();if(500===m)throw this.hooks.call(\"fetch:error\",n,{status:m,response:u,url:w}),new c(`Server error: ${w}`,{status:m,url:w});if(!g)throw new c(`Empty response: ${w}`,{status:m,url:w});const{url:f}=l.fromUrl(w),v={url:f,html:g};return!n.cache.write||e.method&&\"GET\"!==e.method||t!==f||this.cache.set(v.url,v),v}class d{constructor(t){this.swup=void 0,this.pages=new Map,this.swup=t}get size(){return this.pages.size}get all(){const t=new Map;return this.pages.forEach((e,s)=>{t.set(s,i({},e))}),t}has(t){return this.pages.has(this.resolve(t))}get(t){const e=this.pages.get(this.resolve(t));return e?i({},e):e}set(t,e){e=i({},e,{url:t=this.resolve(t)}),this.pages.set(t,e),this.swup.hooks.callSync(\"cache:set\",void 0,{page:e})}update(t,e){t=this.resolve(t);const s=i({},this.get(t),e,{url:t});this.pages.set(t,s)}delete(t){this.pages.delete(this.resolve(t))}clear(){this.pages.clear(),this.swup.hooks.callSync(\"cache:clear\",void 0,void 0)}prune(t){this.pages.forEach((e,i)=>{t(i,e)&&this.delete(i)})}resolve(t){const{url:e}=l.fromUrl(t);return this.swup.resolveUrl(e)}}const p=(t,e=document)=>e.querySelector(t),m=(t,e=document)=>Array.from(e.querySelectorAll(t)),w=()=>new Promise(t=>{requestAnimationFrame(()=>{requestAnimationFrame(()=>{t()})})});function g(t){return!!t&&(\"object\"==typeof t||\"function\"==typeof t)&&\"function\"==typeof t.then}function f(t,e=[]){return new Promise((i,s)=>{const n=t(...e);g(n)?n.then(i,s):i(n)})}function v(t){var e;null==(e=t=t||document.body)||e.getBoundingClientRect()}function y(t,e){const i=null==t?void 0:t.closest(`[${e}]`);return null!=i&&i.hasAttribute(e)?(null==i?void 0:i.getAttribute(e))||!0:void 0}class k{constructor(t){this.swup=void 0,this.swupClasses=[\"to-\",\"is-changing\",\"is-rendering\",\"is-popstate\",\"is-animating\",\"is-leaving\"],this.swup=t}get selectors(){const{scope:t}=this.swup.visit.animation;return\"containers\"===t?this.swup.visit.containers:\"html\"===t?[\"html\"]:Array.isArray(t)?t:[]}get selector(){return this.selectors.join(\",\")}get targets(){return this.selector.trim()?m(this.selector):[]}add(...t){this.targets.forEach(e=>e.classList.add(...t))}remove(...t){this.targets.forEach(e=>e.classList.remove(...t))}clear(){this.targets.forEach(t=>{const e=t.className.split(\" \").filter(t=>this.isSwupClass(t));t.classList.remove(...e)})}isSwupClass(t){return this.swupClasses.some(e=>t.startsWith(e))}}class b{constructor(t,e){this.id=void 0,this.state=void 0,this.from=void 0,this.to=void 0,this.containers=void 0,this.animation=void 0,this.trigger=void 0,this.cache=void 0,this.history=void 0,this.scroll=void 0;const{to:i,from:s,hash:n,el:o,event:r}=e;this.id=Math.random(),this.state=1,this.from={url:null!=s?s:t.location.url,hash:t.location.hash},this.to={url:i,hash:n},this.containers=t.options.containers,this.animation={animate:!0,wait:!1,name:void 0,native:t.options.native,scope:t.options.animationScope,selector:t.options.animationSelector},this.trigger={el:o,event:r},this.cache={read:t.options.cache,write:t.options.cache},this.history={action:\"push\",popstate:!1,direction:void 0},this.scroll={reset:!0,target:void 0}}advance(t){this.state=7}}function S(t){return new b(this,t)}class E{constructor(t){this.swup=void 0,this.registry=new Map,this.hooks=[\"animation:out:start\",\"animation:out:await\",\"animation:out:end\",\"animation:in:start\",\"animation:in:await\",\"animation:in:end\",\"animation:skip\",\"cache:clear\",\"cache:set\",\"content:replace\",\"content:scroll\",\"enable\",\"disable\",\"fetch:request\",\"fetch:error\",\"fetch:timeout\",\"history:popstate\",\"link:click\",\"link:self\",\"link:anchor\",\"link:newtab\",\"page:load\",\"page:view\",\"scroll:top\",\"scroll:anchor\",\"visit:start\",\"visit:transition\",\"visit:abort\",\"visit:end\"],this.swup=t,this.init()}init(){this.hooks.forEach(t=>this.create(t))}create(t){this.registry.has(t)||this.registry.set(t,new Map)}exists(t){return this.registry.has(t)}get(t){const e=this.registry.get(t);if(e)return e;console.error(`Unknown hook '${t}'`)}clear(){this.registry.forEach(t=>t.clear())}on(t,e,s={}){const n=this.get(t);if(!n)return console.warn(`Hook '${t}' not found.`),()=>{};const o=i({},s,{id:n.size+1,hook:t,handler:e});return n.set(e,o),()=>this.off(t,e)}before(t,e,s={}){return this.on(t,e,i({},s,{before:!0}))}replace(t,e,s={}){return this.on(t,e,i({},s,{replace:!0}))}once(t,e,s={}){return this.on(t,e,i({},s,{once:!0}))}off(t,e){const i=this.get(t);i&&e?i.delete(e)||console.warn(`Handler for hook '${t}' not found.`):i&&i.clear()}async call(t,e,i,s){const[n,o,r]=this.parseCallArgs(t,e,i,s),{before:a,handler:l,after:h}=this.getHandlers(t,r);await this.run(a,n,o);const[c]=await this.run(l,n,o,!0);return await this.run(h,n,o),this.dispatchDomEvent(t,n,o),c}callSync(t,e,i,s){const[n,o,r]=this.parseCallArgs(t,e,i,s),{before:a,handler:l,after:h}=this.getHandlers(t,r);this.runSync(a,n,o);const[c]=this.runSync(l,n,o,!0);return this.runSync(h,n,o),this.dispatchDomEvent(t,n,o),c}parseCallArgs(t,e,i,s){return e instanceof b||\"object\"!=typeof e&&\"function\"!=typeof i?[e,i,s]:[void 0,e,i]}async run(t,e=this.swup.visit,i,s=!1){const n=[];for(const{hook:o,handler:r,defaultHandler:a,once:l}of t)if(null==e||!e.done){l&&this.off(o,r);try{const t=await f(r,[e,i,a]);n.push(t)}catch(t){if(s)throw t;console.error(`Error in hook '${o}':`,t)}}return n}runSync(t,e=this.swup.visit,i,s=!1){const n=[];for(const{hook:o,handler:r,defaultHandler:a,once:l}of t)if(null==e||!e.done){l&&this.off(o,r);try{const t=r(e,i,a);n.push(t),g(t)&&console.warn(`Swup will not await Promises in handler for synchronous hook '${o}'.`)}catch(t){if(s)throw t;console.error(`Error in hook '${o}':`,t)}}return n}getHandlers(t,e){const i=this.get(t);if(!i)return{found:!1,before:[],handler:[],after:[],replaced:!1};const s=Array.from(i.values()),n=this.sortRegistrations,o=s.filter(({before:t,replace:e})=>t&&!e).sort(n),r=s.filter(({replace:t})=>t).filter(t=>!0).sort(n),a=s.filter(({before:t,replace:e})=>!t&&!e).sort(n),l=r.length>0;let h=[];if(e&&(h=[{id:0,hook:t,handler:e}],l)){const i=r.length-1,s=t=>{const i=r[t-1];return i?(e,n)=>i.handler(e,n,s(t-1)):e};h=[{id:0,hook:t,handler:r[i].handler,defaultHandler:s(i)}]}return{found:!0,before:o,handler:h,after:a,replaced:l}}sortRegistrations(t,e){var i,s;return(null!=(i=t.priority)?i:0)-(null!=(s=e.priority)?s:0)||t.id-e.id||0}dispatchDomEvent(t,e,i){if(null!=e&&e.done)return;const s={hook:t,args:i,visit:e||this.swup.visit};document.dispatchEvent(new CustomEvent(\"swup:any\",{detail:s,bubbles:!0})),document.dispatchEvent(new CustomEvent(`swup:${t}`,{detail:s,bubbles:!0}))}}const C=t=>{if(t&&\"#\"===t.charAt(0)&&(t=t.substring(1)),!t)return null;const e=decodeURIComponent(t);let i=document.getElementById(t)||document.getElementById(e)||p(`a[name='${CSS.escape(t)}']`)||p(`a[name='${CSS.escape(e)}']`);return i||\"top\"!==t||(i=document.body),i},U=\"transition\",P=\"animation\";async function $({selector:t,elements:e}){if(!1===t&&!e)return;let i=[];if(e)i=Array.from(e);else if(t&&(i=m(t,document.body),!i.length))return void console.warn(`[swup] No elements found matching animationSelector \\`${t}\\``);const s=i.map(t=>function(t){const{type:e,timeout:i,propCount:s}=function(t){const e=window.getComputedStyle(t),i=x(e,`${U}Delay`),s=x(e,`${U}Duration`),n=A(i,s),o=x(e,`${P}Delay`),r=x(e,`${P}Duration`),a=A(o,r),l=Math.max(n,a),h=l>0?n>a?U:P:null;return{type:h,timeout:l,propCount:h?h===U?s.length:r.length:0}}(t);return!(!e||!i)&&new Promise(n=>{const o=`${e}end`,r=performance.now();let a=0;const l=()=>{t.removeEventListener(o,h),n()},h=e=>{e.target===t&&((performance.now()-r)/1e3=s&&l())};setTimeout(()=>{a0?await Promise.all(s):t&&console.warn(`[swup] No CSS animation duration defined on elements matching \\`${t}\\``)}function x(t,e){return(t[e]||\"\").split(\", \")}function A(t,e){for(;t.lengthH(e)+H(t[i])))}function H(t){return 1e3*parseFloat(t)}function V(t,e={},s={}){if(\"string\"!=typeof t)throw new Error(\"swup.navigate() requires a URL parameter\");if(this.shouldIgnoreVisit(t,{el:s.el,event:s.event}))return void window.location.assign(t);const{url:n,hash:o}=l.fromUrl(t),r=this.createVisit(i({},s,{to:n,hash:o}));this.performNavigation(r,e)}async function I(t,e={}){if(this.navigating){if(this.visit.state>=6)return t.state=2,void(this.onVisitEnd=()=>this.performNavigation(t,e));await this.hooks.call(\"visit:abort\",this.visit,void 0),delete this.visit.to.document,this.visit.state=8}this.navigating=!0,this.visit=t;const{el:i}=t.trigger;e.referrer=e.referrer||this.location.url,!1===e.animate&&(t.animation.animate=!1),t.animation.animate||this.classes.clear();const n=e.history||y(i,\"data-swup-history\");\"string\"==typeof n&&[\"push\",\"replace\"].includes(n)&&(t.history.action=n);const a=e.animation||y(i,\"data-swup-animation\");var h,c;\"string\"==typeof a&&(t.animation.name=a),\"object\"==typeof e.cache?(t.cache.read=null!=(h=e.cache.read)?h:t.cache.read,t.cache.write=null!=(c=e.cache.write)?c:t.cache.write):void 0!==e.cache&&(t.cache={read:!!e.cache,write:!!e.cache}),delete e.cache;try{await this.hooks.call(\"visit:start\",t,void 0),t.state=3;const i=this.hooks.call(\"page:load\",t,{options:e},async(t,e)=>{let i;return t.cache.read&&(i=this.cache.get(t.to.url)),e.page=i||await this.fetchPage(t.to.url,e.options),e.cache=!!i,e.page});i.then(({html:e})=>{t.advance(5),t.to.html=e,t.to.document=(new DOMParser).parseFromString(e,\"text/html\")});const n=t.to.url+t.to.hash;if(t.history.popstate||(\"replace\"===t.history.action||t.to.url===this.location.url?r(n):(this.currentHistoryIndex++,o(n,{index:this.currentHistoryIndex}))),this.location=l.fromUrl(n),t.history.popstate&&this.classes.add(\"is-popstate\"),t.animation.name&&this.classes.add(`to-${s(t.animation.name)}`),t.animation.wait&&await i,t.done)return;if(await this.hooks.call(\"visit:transition\",t,void 0,async()=>{if(!t.animation.animate)return await this.hooks.call(\"animation:skip\",void 0),void await this.renderPage(t,await i);t.advance(4),await this.animatePageOut(t),t.animation.native&&document.startViewTransition?await document.startViewTransition(async()=>await this.renderPage(t,await i)).finished:await this.renderPage(t,await i),await this.animatePageIn(t)}),t.done)return;await this.hooks.call(\"visit:end\",t,void 0,()=>this.classes.clear()),t.state=7,this.navigating=!1,this.onVisitEnd&&(this.onVisitEnd(),this.onVisitEnd=void 0)}catch(e){if(!e||null!=e&&e.aborted)return void(t.state=8);t.state=9,console.error(e),this.options.skipPopStateHandling=()=>(window.location.assign(t.to.url+t.to.hash),!0),window.history.back()}finally{delete t.to.document}}const L=async function(t){await this.hooks.call(\"animation:out:start\",t,void 0,()=>{this.classes.add(\"is-changing\",\"is-animating\",\"is-leaving\")}),await this.hooks.call(\"animation:out:await\",t,{skip:!1},(t,{skip:e})=>{if(!e)return this.awaitAnimations({selector:t.animation.selector})}),await this.hooks.call(\"animation:out:end\",t,void 0)},q=function(t){var e;const i=t.to.document;if(!i)return!1;const s=(null==(e=i.querySelector(\"title\"))?void 0:e.innerText)||\"\";document.title=s;const n=m('[data-swup-persist]:not([data-swup-persist=\"\"])'),o=t.containers.map(t=>{const e=document.querySelector(t),s=i.querySelector(t);return e&&s?(e.replaceWith(s.cloneNode(!0)),!0):(e||console.warn(`[swup] Container missing in current document: ${t}`),s||console.warn(`[swup] Container missing in incoming document: ${t}`),!1)}).filter(Boolean);return n.forEach(t=>{const e=t.getAttribute(\"data-swup-persist\"),i=p(`[data-swup-persist=\"${e}\"]`);i&&i!==t&&i.replaceWith(t)}),o.length===t.containers.length},R=function(t){const e={behavior:\"auto\"},{target:s,reset:n}=t.scroll,o=null!=s?s:t.to.hash;let r=!1;return o&&(r=this.hooks.callSync(\"scroll:anchor\",t,{hash:o,options:e},(t,{hash:e,options:i})=>{const s=this.getAnchorElement(e);return s&&s.scrollIntoView(i),!!s})),n&&!r&&(r=this.hooks.callSync(\"scroll:top\",t,{options:e},(t,{options:e})=>(window.scrollTo(i({top:0,left:0},e)),!0))),r},T=async function(t){if(t.done)return;const e=this.hooks.call(\"animation:in:await\",t,{skip:!1},(t,{skip:e})=>{if(!e)return this.awaitAnimations({selector:t.animation.selector})});await w(),await this.hooks.call(\"animation:in:start\",t,void 0,()=>{this.classes.remove(\"is-animating\")}),await e,await this.hooks.call(\"animation:in:end\",t,void 0)},N=async function(t,e){if(t.done)return;t.advance(6);const{url:i}=e;this.isSameResolvedUrl(n(),i)||(r(i),this.location=l.fromUrl(i),t.to.url=this.location.url,t.to.hash=this.location.hash),await this.hooks.call(\"content:replace\",t,{page:e},(t,{})=>{if(this.classes.remove(\"is-leaving\"),t.animation.animate&&this.classes.add(\"is-rendering\"),!this.replaceContent(t))throw new Error(\"[swup] Container mismatch, aborting\");t.animation.animate&&(this.classes.add(\"is-changing\",\"is-animating\",\"is-rendering\"),t.animation.name&&this.classes.add(`to-${s(t.animation.name)}`))}),await this.hooks.call(\"content:scroll\",t,void 0,()=>this.scrollToContent(t)),await this.hooks.call(\"page:view\",t,{url:this.location.url,title:document.title})},O=function(t){var e;if(e=t,Boolean(null==e?void 0:e.isSwupPlugin)){if(t.swup=this,!t._checkRequirements||t._checkRequirements())return t._beforeMount&&t._beforeMount(),t.mount(),this.plugins.push(t),this.plugins}else console.error(\"Not a swup plugin instance\",t)};function D(t){const e=this.findPlugin(t);if(e)return e.unmount(),e._afterUnmount&&e._afterUnmount(),this.plugins=this.plugins.filter(t=>t!==e),this.plugins;console.error(\"No such plugin\",e)}function M(t){return this.plugins.find(e=>e===t||e.name===t||e.name===`Swup${String(t)}`)}function W(t){if(\"function\"!=typeof this.options.resolveUrl)return console.warn(\"[swup] options.resolveUrl expects a callback function.\"),t;const e=this.options.resolveUrl(t);return e&&\"string\"==typeof e?e.startsWith(\"//\")||e.startsWith(\"http\")?(console.warn(\"[swup] options.resolveUrl needs to return a relative url\"),t):e:(console.warn(\"[swup] options.resolveUrl needs to return a url\"),t)}function B(t,e){return this.resolveUrl(t)===this.resolveUrl(e)}const _={animateHistoryBrowsing:!1,animationSelector:'[class*=\"transition-\"]',animationScope:\"html\",cache:!0,containers:[\"#swup\"],ignoreVisit:(t,{el:e}={})=>!(null==e||!e.closest(\"[data-no-swup]\")),linkSelector:\"a[href]\",linkToSelf:\"scroll\",native:!1,plugins:[],resolveUrl:t=>t,requestHeaders:{\"X-Requested-With\":\"swup\",Accept:\"text/html, application/xhtml+xml\"},skipPopStateHandling:t=>{var e;return\"swup\"!==(null==(e=t.state)?void 0:e.source)},timeout:0};class j{get currentPageUrl(){return this.location.url}constructor(t={}){var e,s;this.version=\"4.7.0\",this.options=void 0,this.defaults=_,this.plugins=[],this.visit=void 0,this.cache=void 0,this.hooks=void 0,this.classes=void 0,this.location=l.fromUrl(window.location.href),this.currentHistoryIndex=void 0,this.clickDelegate=void 0,this.navigating=!1,this.onVisitEnd=void 0,this.use=O,this.unuse=D,this.findPlugin=M,this.log=()=>{},this.navigate=V,this.performNavigation=I,this.createVisit=S,this.delegateEvent=a,this.fetchPage=u,this.awaitAnimations=$,this.renderPage=N,this.replaceContent=q,this.animatePageIn=T,this.animatePageOut=L,this.scrollToContent=R,this.getAnchorElement=C,this.getCurrentUrl=n,this.resolveUrl=W,this.isSameResolvedUrl=B,this.options=i({},this.defaults,t),this.handleLinkClick=this.handleLinkClick.bind(this),this.handlePopState=this.handlePopState.bind(this),this.cache=new d(this),this.classes=new k(this),this.hooks=new E(this),this.visit=this.createVisit({to:\"\"}),this.currentHistoryIndex=null!=(e=null==(s=window.history.state)?void 0:s.index)?e:1,this.enable()}async enable(){var t;const{linkSelector:e}=this.options;this.clickDelegate=this.delegateEvent(e,\"click\",this.handleLinkClick),window.addEventListener(\"popstate\",this.handlePopState),this.options.animateHistoryBrowsing&&(window.history.scrollRestoration=\"manual\"),this.options.native=this.options.native&&!!document.startViewTransition,this.options.plugins.forEach(t=>this.use(t)),\"swup\"!==(null==(t=window.history.state)?void 0:t.source)&&r(null,{index:this.currentHistoryIndex}),await w(),await this.hooks.call(\"enable\",void 0,void 0,()=>{const t=document.documentElement;t.classList.add(\"swup-enabled\"),t.classList.toggle(\"swup-native\",this.options.native)})}async destroy(){this.clickDelegate.destroy(),window.removeEventListener(\"popstate\",this.handlePopState),this.cache.clear(),this.options.plugins.forEach(t=>this.unuse(t)),await this.hooks.call(\"disable\",void 0,void 0,()=>{const t=document.documentElement;t.classList.remove(\"swup-enabled\"),t.classList.remove(\"swup-native\")}),this.hooks.clear()}shouldIgnoreVisit(t,{el:e,event:i}={}){const{origin:s,url:n,hash:o}=l.fromUrl(t);return s!==window.location.origin||!(!e||!this.triggerWillOpenNewWindow(e))||!!this.options.ignoreVisit(n+o,{el:e,event:i})}handleLinkClick(t){const e=t.delegateTarget,{href:i,url:s,hash:n}=l.fromElement(e);if(this.shouldIgnoreVisit(i,{el:e,event:t}))return;if(this.navigating&&s===this.visit.to.url)return void t.preventDefault();const o=this.createVisit({to:s,hash:n,el:e,event:t});t.metaKey||t.ctrlKey||t.shiftKey||t.altKey?this.hooks.callSync(\"link:newtab\",o,{href:i}):0===t.button&&this.hooks.callSync(\"link:click\",o,{el:e,event:t},()=>{var e;const i=null!=(e=o.from.url)?e:\"\";t.preventDefault(),s&&s!==i?this.isSameResolvedUrl(s,i)||this.performNavigation(o):n?this.hooks.callSync(\"link:anchor\",o,{hash:n},()=>{r(s+n),this.scrollToContent(o)}):this.hooks.callSync(\"link:self\",o,void 0,()=>{\"navigate\"===this.options.linkToSelf?this.performNavigation(o):(r(s),this.scrollToContent(o))})})}handlePopState(t){var e,i,s,o;const r=null!=(e=null==(i=t.state)?void 0:i.url)?e:window.location.href;if(this.options.skipPopStateHandling(t))return;if(this.isSameResolvedUrl(n(),this.location.url))return;const{url:a,hash:h}=l.fromUrl(r),c=this.createVisit({to:a,hash:h,event:t});c.history.popstate=!0;const u=null!=(s=null==(o=t.state)?void 0:o.index)?s:0;u&&u!==this.currentHistoryIndex&&(c.history.direction=u-this.currentHistoryIndex>0?\"forwards\":\"backwards\",this.currentHistoryIndex=u),c.animation.animate=!1,c.scroll.reset=!1,c.scroll.target=!1,this.options.animateHistoryBrowsing&&(c.animation.animate=!0,c.scroll.reset=!0),this.hooks.callSync(\"history:popstate\",c,{event:t},()=>{this.performNavigation(c)})}triggerWillOpenNewWindow(t){return!!t.matches('[download], [target=\"_blank\"]')}}export{l as Location,s as classify,o as createHistoryRecord,j as default,a as delegateEvent,v as forceReflow,y as getContextualAttr,n as getCurrentUrl,g as isPromise,h as matchPath,w as nextTick,p as query,m as queryAll,f as runAsPromise,r as updateHistoryRecord};\n//# sourceMappingURL=Swup.modern.js.map\n"],"names":["ledger","editLedger","wanted","baseElement","callback","setup","elementMap","setups","existed","safeClosest","event","selector","target","closest","delegate","type","options","signal","base","once","nativeListenerOptions","capture","listenerFunction","delegateTarget","delegateEvent","i","t","e","s","n","o","r","a","l$1","l","c","u","h","d","p","m","w","g","v","f","y","k","b","S","E","C","U","P","$","x","A","H","V","I","L","q","R","T","N","O","D","M","W","B","_","j"],"mappings":"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","x_google_ignoreList":[0,1]} \ No newline at end of file diff --git a/Target/_astro/index.modern.ljjH5-f0.js b/Target/_astro/index.modern.CiCz6VZW.js similarity index 99% rename from Target/_astro/index.modern.ljjH5-f0.js rename to Target/_astro/index.modern.CiCz6VZW.js index 938526f2..d47a923e 100644 --- a/Target/_astro/index.modern.ljjH5-f0.js +++ b/Target/_astro/index.modern.CiCz6VZW.js @@ -1 +1 @@ -import{e as p}from"./index.modern.CkIAsQri.js";import{queryAll as u}from"./Swup.modern.BemQoQWS.js";function a(){return a=Object.assign?Object.assign.bind():function(t){for(var o=1;o{if(t&&t.nodeType)this._targetPositionY=Math.round(t.getBoundingClientRect().top+window.pageYOffset);else{if(parseInt(this._targetPositionY)!==this._targetPositionY)return void console.error("Argument must be a number or an element.");this._targetPositionY=Math.round(t)}this._targetPositionY>document.documentElement.scrollHeight-window.innerHeight&&(this._targetPositionY=document.documentElement.scrollHeight-window.innerHeight),this._positionY=document.body.scrollTop||document.documentElement.scrollTop,this._direction=this._positionY>this._targetPositionY?-1:1,this._targetPositionYWithOffset=this._targetPositionY+this._direction,this._velocityY=0,this._positionY!==this._targetPositionY?(this.options.onStart(),this._animate()):this.options.onAlreadyAtPositions()},this._animate=()=>{this._update(),this._render(),1===this._direction&&this._targetPositionY>this._positionY||-1===this._direction&&this._targetPositionY{const t=this._targetPositionYWithOffset-this._positionY;return this._velocityY+=t*this.options.acceleration,this._velocityY*=this.options.friction,this._positionY+=this._velocityY,Math.abs(t)},this._render=()=>{window.scrollTo(0,this._positionY)},this.options=a({},{onAlreadyAtPositions:()=>{},onCancel:()=>{},onEnd:()=>{},onStart:()=>{},onTick:()=>{},friction:.7,acceleration:.04},t),t&&t.friction&&(this.options.friction=1-t.friction),window.addEventListener("mousewheel",(t=>{this._raf&&(this.options.onCancel(),cancelAnimationFrame(this._raf),this._raf=null)}),{passive:!0})}}function c(){return c=Object.assign?Object.assign.bind():function(t){for(var o=1;o=4.2.0"},this.scrl=void 0,this.defaults={doScrollingRightAway:!1,animateScroll:{betweenPages:!0,samePageWithHash:!0,samePage:!0},scrollFriction:.3,scrollAcceleration:.04,getAnchorElement:void 0,offset:0,scrollContainers:"[data-swup-scroll-container]",shouldResetScrollPosition:()=>!0,markScrollTarget:!1},this.options=void 0,this.cachedScrollPositions={},this.previousScrollRestoration=void 0,this.currentCacheKey=void 0,this.getAnchorElement=(t="")=>"function"==typeof this.options.getAnchorElement?this.options.getAnchorElement(t):this.swup.getAnchorElement(t),this.getOffset=t=>t?"function"==typeof this.options.offset?parseInt(String(this.options.offset(t)),10):parseInt(String(this.options.offset),10):0,this.onBeforeLinkToSelf=t=>{t.scroll.animate=this.shouldAnimate("samePage")},this.handleScrollToTop=t=>{var o,i;return null==(o=(i=this.swup).scrollTo)||o.call(i,0,t.scroll.animate),!0},this.onBeforeLinkToAnchor=t=>{t.scroll.animate=this.shouldAnimate("samePageWithHash")},this.handleScrollToAnchor=(t,{hash:o})=>this.maybeScrollToAnchor(o,t.scroll.animate),this.onBeforeVisitStart=t=>{t.scroll.scrolledToContent=!1,t.scroll.animate=this.shouldAnimate("betweenPages")},this.onVisitStart=t=>{var o;this.cacheScrollPositions(t.from.url),this.maybeResetScrollPositions(t);const i=null!=(o=t.scroll.target)?o:t.to.hash;t.scroll.animate&&this.options.doScrollingRightAway&&!i&&this.doScrollingBetweenPages(t)},this.handleScrollToContent=t=>{t.scroll.scrolledToContent||this.doScrollingBetweenPages(t),this.restoreScrollContainers(t.to.url)},this.doScrollingBetweenPages=t=>{var o,i;if(t.history.popstate&&!t.animation.animate)return;const s=null!=(o=t.scroll.target)?o:t.to.hash;if(s&&this.maybeScrollToAnchor(s,t.scroll.animate)||!t.scroll.reset)return;const e=this.getCachedScrollPositions(t.to.url),n=(null==e||null==(i=e.window)?void 0:i.top)||0;requestAnimationFrame((()=>{var o,i;return null==(o=(i=this.swup).scrollTo)?void 0:o.call(i,n,t.scroll.animate)})),t.scroll.scrolledToContent=!0},this.maybeResetScrollPositions=t=>{const{popstate:o}=t.history,{url:i}=t.to,{el:s}=t.trigger;o||s&&!this.options.shouldResetScrollPosition(s)||this.resetScrollPositions(i)},this.options=c({},this.defaults,t)}mount(){const t=this.swup;t.hooks.create("scroll:start"),t.hooks.create("scroll:end");const o=this.swup.createVisit({to:this.swup.currentPageUrl});this.scrl=new g({onStart:()=>t.hooks.callSync("scroll:start",o,void 0),onEnd:()=>t.hooks.callSync("scroll:end",o,void 0),onCancel:()=>t.hooks.callSync("scroll:end",o,void 0),friction:this.options.scrollFriction,acceleration:this.options.scrollAcceleration}),t.scrollTo=(i,s=!0)=>{s?this.scrl.scrollTo(i):(t.hooks.callSync("scroll:start",o,void 0),window.scrollTo(0,i),t.hooks.callSync("scroll:end",o,void 0))},this.previousScrollRestoration=window.history.scrollRestoration,t.options.animateHistoryBrowsing&&(window.history.scrollRestoration="manual"),this.updateScrollTarget=this.updateScrollTarget.bind(this),this.options.markScrollTarget&&(window.addEventListener("popstate",this.updateScrollTarget),window.addEventListener("hashchange",this.updateScrollTarget),this.on("page:view",this.updateScrollTarget),this.on("link:anchor",this.updateScrollTarget),this.on("link:self",this.updateScrollTarget),this.updateScrollTarget()),this.before("visit:start",this.onBeforeVisitStart,{priority:-1}),this.on("visit:start",this.onVisitStart,{priority:1}),this.replace("content:scroll",this.handleScrollToContent),this.before("link:self",this.onBeforeLinkToSelf,{priority:-1}),this.replace("scroll:top",this.handleScrollToTop),this.before("link:anchor",this.onBeforeLinkToAnchor,{priority:-1}),this.replace("scroll:anchor",this.handleScrollToAnchor)}unmount(){super.unmount(),this.previousScrollRestoration&&(window.history.scrollRestoration=this.previousScrollRestoration),window.removeEventListener("popstate",this.updateScrollTarget),window.removeEventListener("hashchange",this.updateScrollTarget),this.cachedScrollPositions={},delete this.swup.scrollTo,delete this.scrl}shouldAnimate(t){return"boolean"==typeof this.options.animateScroll?this.options.animateScroll:this.options.animateScroll[t]}maybeScrollToAnchor(t,o=!1){var i,s;if(!t)return!1;const e=this.getAnchorElement(t);if(!e)return console.warn(`Anchor target ${t} not found`),!1;if(!(e instanceof Element))return console.warn(`Anchor target ${t} is not a DOM node`),!1;const{top:n}=e.getBoundingClientRect(),r=n+window.scrollY-this.getOffset(e);return null==(i=(s=this.swup).scrollTo)||i.call(s,r,o),!0}cacheScrollPositions(t){const o=this.swup.resolveUrl(t),i=u(this.options.scrollContainers).map((t=>({top:t.scrollTop,left:t.scrollLeft}))),s={window:{top:window.scrollY,left:window.scrollX},containers:i};this.cachedScrollPositions[o]=s}resetScrollPositions(t){const o=this.swup.resolveUrl(t);delete this.cachedScrollPositions[o]}getCachedScrollPositions(t){const o=this.swup.resolveUrl(t);return this.cachedScrollPositions[o]}restoreScrollContainers(t){const o=this.getCachedScrollPositions(t);o&&0!==o.containers.length&&u(this.options.scrollContainers).forEach(((t,i)=>{const s=o.containers[i];null!=s&&(t.scrollTop=s.top,t.scrollLeft=s.left)}))}updateScrollTarget(){var t;const{hash:o}=window.location,i=document.querySelector("[data-swup-scroll-target]");let s=this.getAnchorElement(o);s instanceof HTMLBodyElement&&(s=null),i!==s&&(i?.removeAttribute("data-swup-scroll-target"),null==(t=s)||t.setAttribute("data-swup-scroll-target",""))}}export{S as default}; \ No newline at end of file +import{e as p}from"./index.modern.CkIAsQri.js";import{queryAll as u}from"./Swup.modern.UA9jlYbO.js";function a(){return a=Object.assign?Object.assign.bind():function(t){for(var o=1;o{if(t&&t.nodeType)this._targetPositionY=Math.round(t.getBoundingClientRect().top+window.pageYOffset);else{if(parseInt(this._targetPositionY)!==this._targetPositionY)return void console.error("Argument must be a number or an element.");this._targetPositionY=Math.round(t)}this._targetPositionY>document.documentElement.scrollHeight-window.innerHeight&&(this._targetPositionY=document.documentElement.scrollHeight-window.innerHeight),this._positionY=document.body.scrollTop||document.documentElement.scrollTop,this._direction=this._positionY>this._targetPositionY?-1:1,this._targetPositionYWithOffset=this._targetPositionY+this._direction,this._velocityY=0,this._positionY!==this._targetPositionY?(this.options.onStart(),this._animate()):this.options.onAlreadyAtPositions()},this._animate=()=>{this._update(),this._render(),1===this._direction&&this._targetPositionY>this._positionY||-1===this._direction&&this._targetPositionY{const t=this._targetPositionYWithOffset-this._positionY;return this._velocityY+=t*this.options.acceleration,this._velocityY*=this.options.friction,this._positionY+=this._velocityY,Math.abs(t)},this._render=()=>{window.scrollTo(0,this._positionY)},this.options=a({},{onAlreadyAtPositions:()=>{},onCancel:()=>{},onEnd:()=>{},onStart:()=>{},onTick:()=>{},friction:.7,acceleration:.04},t),t&&t.friction&&(this.options.friction=1-t.friction),window.addEventListener("mousewheel",(t=>{this._raf&&(this.options.onCancel(),cancelAnimationFrame(this._raf),this._raf=null)}),{passive:!0})}}function c(){return c=Object.assign?Object.assign.bind():function(t){for(var o=1;o=4.2.0"},this.scrl=void 0,this.defaults={doScrollingRightAway:!1,animateScroll:{betweenPages:!0,samePageWithHash:!0,samePage:!0},scrollFriction:.3,scrollAcceleration:.04,getAnchorElement:void 0,offset:0,scrollContainers:"[data-swup-scroll-container]",shouldResetScrollPosition:()=>!0,markScrollTarget:!1},this.options=void 0,this.cachedScrollPositions={},this.previousScrollRestoration=void 0,this.currentCacheKey=void 0,this.getAnchorElement=(t="")=>"function"==typeof this.options.getAnchorElement?this.options.getAnchorElement(t):this.swup.getAnchorElement(t),this.getOffset=t=>t?"function"==typeof this.options.offset?parseInt(String(this.options.offset(t)),10):parseInt(String(this.options.offset),10):0,this.onBeforeLinkToSelf=t=>{t.scroll.animate=this.shouldAnimate("samePage")},this.handleScrollToTop=t=>{var o,i;return null==(o=(i=this.swup).scrollTo)||o.call(i,0,t.scroll.animate),!0},this.onBeforeLinkToAnchor=t=>{t.scroll.animate=this.shouldAnimate("samePageWithHash")},this.handleScrollToAnchor=(t,{hash:o})=>this.maybeScrollToAnchor(o,t.scroll.animate),this.onBeforeVisitStart=t=>{t.scroll.scrolledToContent=!1,t.scroll.animate=this.shouldAnimate("betweenPages")},this.onVisitStart=t=>{var o;this.cacheScrollPositions(t.from.url),this.maybeResetScrollPositions(t);const i=null!=(o=t.scroll.target)?o:t.to.hash;t.scroll.animate&&this.options.doScrollingRightAway&&!i&&this.doScrollingBetweenPages(t)},this.handleScrollToContent=t=>{t.scroll.scrolledToContent||this.doScrollingBetweenPages(t),this.restoreScrollContainers(t.to.url)},this.doScrollingBetweenPages=t=>{var o,i;if(t.history.popstate&&!t.animation.animate)return;const s=null!=(o=t.scroll.target)?o:t.to.hash;if(s&&this.maybeScrollToAnchor(s,t.scroll.animate)||!t.scroll.reset)return;const e=this.getCachedScrollPositions(t.to.url),n=(null==e||null==(i=e.window)?void 0:i.top)||0;requestAnimationFrame((()=>{var o,i;return null==(o=(i=this.swup).scrollTo)?void 0:o.call(i,n,t.scroll.animate)})),t.scroll.scrolledToContent=!0},this.maybeResetScrollPositions=t=>{const{popstate:o}=t.history,{url:i}=t.to,{el:s}=t.trigger;o||s&&!this.options.shouldResetScrollPosition(s)||this.resetScrollPositions(i)},this.options=c({},this.defaults,t)}mount(){const t=this.swup;t.hooks.create("scroll:start"),t.hooks.create("scroll:end");const o=this.swup.createVisit({to:this.swup.currentPageUrl});this.scrl=new g({onStart:()=>t.hooks.callSync("scroll:start",o,void 0),onEnd:()=>t.hooks.callSync("scroll:end",o,void 0),onCancel:()=>t.hooks.callSync("scroll:end",o,void 0),friction:this.options.scrollFriction,acceleration:this.options.scrollAcceleration}),t.scrollTo=(i,s=!0)=>{s?this.scrl.scrollTo(i):(t.hooks.callSync("scroll:start",o,void 0),window.scrollTo(0,i),t.hooks.callSync("scroll:end",o,void 0))},this.previousScrollRestoration=window.history.scrollRestoration,t.options.animateHistoryBrowsing&&(window.history.scrollRestoration="manual"),this.updateScrollTarget=this.updateScrollTarget.bind(this),this.options.markScrollTarget&&(window.addEventListener("popstate",this.updateScrollTarget),window.addEventListener("hashchange",this.updateScrollTarget),this.on("page:view",this.updateScrollTarget),this.on("link:anchor",this.updateScrollTarget),this.on("link:self",this.updateScrollTarget),this.updateScrollTarget()),this.before("visit:start",this.onBeforeVisitStart,{priority:-1}),this.on("visit:start",this.onVisitStart,{priority:1}),this.replace("content:scroll",this.handleScrollToContent),this.before("link:self",this.onBeforeLinkToSelf,{priority:-1}),this.replace("scroll:top",this.handleScrollToTop),this.before("link:anchor",this.onBeforeLinkToAnchor,{priority:-1}),this.replace("scroll:anchor",this.handleScrollToAnchor)}unmount(){super.unmount(),this.previousScrollRestoration&&(window.history.scrollRestoration=this.previousScrollRestoration),window.removeEventListener("popstate",this.updateScrollTarget),window.removeEventListener("hashchange",this.updateScrollTarget),this.cachedScrollPositions={},delete this.swup.scrollTo,delete this.scrl}shouldAnimate(t){return"boolean"==typeof this.options.animateScroll?this.options.animateScroll:this.options.animateScroll[t]}maybeScrollToAnchor(t,o=!1){var i,s;if(!t)return!1;const e=this.getAnchorElement(t);if(!e)return console.warn(`Anchor target ${t} not found`),!1;if(!(e instanceof Element))return console.warn(`Anchor target ${t} is not a DOM node`),!1;const{top:n}=e.getBoundingClientRect(),r=n+window.scrollY-this.getOffset(e);return null==(i=(s=this.swup).scrollTo)||i.call(s,r,o),!0}cacheScrollPositions(t){const o=this.swup.resolveUrl(t),i=u(this.options.scrollContainers).map((t=>({top:t.scrollTop,left:t.scrollLeft}))),s={window:{top:window.scrollY,left:window.scrollX},containers:i};this.cachedScrollPositions[o]=s}resetScrollPositions(t){const o=this.swup.resolveUrl(t);delete this.cachedScrollPositions[o]}getCachedScrollPositions(t){const o=this.swup.resolveUrl(t);return this.cachedScrollPositions[o]}restoreScrollContainers(t){const o=this.getCachedScrollPositions(t);o&&0!==o.containers.length&&u(this.options.scrollContainers).forEach(((t,i)=>{const s=o.containers[i];null!=s&&(t.scrollTop=s.top,t.scrollLeft=s.left)}))}updateScrollTarget(){var t;const{hash:o}=window.location,i=document.querySelector("[data-swup-scroll-target]");let s=this.getAnchorElement(o);s instanceof HTMLBodyElement&&(s=null),i!==s&&(i?.removeAttribute("data-swup-scroll-target"),null==(t=s)||t.setAttribute("data-swup-scroll-target",""))}}export{S as default}; \ No newline at end of file diff --git a/Target/_astro/index.modern.ljjH5-f0.js.map b/Target/_astro/index.modern.CiCz6VZW.js.map similarity index 99% rename from Target/_astro/index.modern.ljjH5-f0.js.map rename to Target/_astro/index.modern.CiCz6VZW.js.map index 8f1003f4..a0162897 100644 --- a/Target/_astro/index.modern.ljjH5-f0.js.map +++ b/Target/_astro/index.modern.CiCz6VZW.js.map @@ -1 +1 @@ -{"version":3,"file":"index.modern.ljjH5-f0.js","sources":["../../../../../../node_modules/scrl/dist/index.modern.js","../../../../../../node_modules/@swup/scroll-plugin/dist/index.modern.js"],"sourcesContent":["function t(){return t=Object.assign?Object.assign.bind():function(t){for(var i=1;i{if(t&&t.nodeType)this._targetPositionY=Math.round(t.getBoundingClientRect().top+window.pageYOffset);else{if(parseInt(this._targetPositionY)!==this._targetPositionY)return void console.error(\"Argument must be a number or an element.\");this._targetPositionY=Math.round(t)}this._targetPositionY>document.documentElement.scrollHeight-window.innerHeight&&(this._targetPositionY=document.documentElement.scrollHeight-window.innerHeight),this._positionY=document.body.scrollTop||document.documentElement.scrollTop,this._direction=this._positionY>this._targetPositionY?-1:1,this._targetPositionYWithOffset=this._targetPositionY+this._direction,this._velocityY=0,this._positionY!==this._targetPositionY?(this.options.onStart(),this._animate()):this.options.onAlreadyAtPositions()},this._animate=()=>{this._update(),this._render(),1===this._direction&&this._targetPositionY>this._positionY||-1===this._direction&&this._targetPositionY{const t=this._targetPositionYWithOffset-this._positionY;return this._velocityY+=t*this.options.acceleration,this._velocityY*=this.options.friction,this._positionY+=this._velocityY,Math.abs(t)},this._render=()=>{window.scrollTo(0,this._positionY)},this.options=t({},{onAlreadyAtPositions:()=>{},onCancel:()=>{},onEnd:()=>{},onStart:()=>{},onTick:()=>{},friction:.7,acceleration:.04},i),i&&i.friction&&(this.options.friction=1-i.friction),window.addEventListener(\"mousewheel\",t=>{this._raf&&(this.options.onCancel(),cancelAnimationFrame(this._raf),this._raf=null)},{passive:!0})}}export{i as default};\n//# sourceMappingURL=index.modern.js.map\n","import t from\"@swup/plugin\";import{queryAll as o}from\"swup\";import s from\"scrl\";function e(){return e=Object.assign?Object.assign.bind():function(t){for(var o=1;o=4.2.0\"},this.scrl=void 0,this.defaults={doScrollingRightAway:!1,animateScroll:{betweenPages:!0,samePageWithHash:!0,samePage:!0},scrollFriction:.3,scrollAcceleration:.04,getAnchorElement:void 0,offset:0,scrollContainers:\"[data-swup-scroll-container]\",shouldResetScrollPosition:()=>!0,markScrollTarget:!1},this.options=void 0,this.cachedScrollPositions={},this.previousScrollRestoration=void 0,this.currentCacheKey=void 0,this.getAnchorElement=(t=\"\")=>\"function\"==typeof this.options.getAnchorElement?this.options.getAnchorElement(t):this.swup.getAnchorElement(t),this.getOffset=t=>t?\"function\"==typeof this.options.offset?parseInt(String(this.options.offset(t)),10):parseInt(String(this.options.offset),10):0,this.onBeforeLinkToSelf=t=>{t.scroll.animate=this.shouldAnimate(\"samePage\")},this.handleScrollToTop=t=>{var o,s;return null==(o=(s=this.swup).scrollTo)||o.call(s,0,t.scroll.animate),!0},this.onBeforeLinkToAnchor=t=>{t.scroll.animate=this.shouldAnimate(\"samePageWithHash\")},this.handleScrollToAnchor=(t,{hash:o})=>this.maybeScrollToAnchor(o,t.scroll.animate),this.onBeforeVisitStart=t=>{t.scroll.scrolledToContent=!1,t.scroll.animate=this.shouldAnimate(\"betweenPages\")},this.onVisitStart=t=>{var o;this.cacheScrollPositions(t.from.url),this.maybeResetScrollPositions(t);const s=null!=(o=t.scroll.target)?o:t.to.hash;t.scroll.animate&&this.options.doScrollingRightAway&&!s&&this.doScrollingBetweenPages(t)},this.handleScrollToContent=t=>{t.scroll.scrolledToContent||this.doScrollingBetweenPages(t),this.restoreScrollContainers(t.to.url)},this.doScrollingBetweenPages=t=>{var o,s;if(t.history.popstate&&!t.animation.animate)return;const e=null!=(o=t.scroll.target)?o:t.to.hash;if(e&&this.maybeScrollToAnchor(e,t.scroll.animate))return;if(!t.scroll.reset)return;const l=this.getCachedScrollPositions(t.to.url),r=(null==l||null==(s=l.window)?void 0:s.top)||0;requestAnimationFrame(()=>{var o,s;return null==(o=(s=this.swup).scrollTo)?void 0:o.call(s,r,t.scroll.animate)}),t.scroll.scrolledToContent=!0},this.maybeResetScrollPositions=t=>{const{popstate:o}=t.history,{url:s}=t.to,{el:e}=t.trigger;o||e&&!this.options.shouldResetScrollPosition(e)||this.resetScrollPositions(s)},this.options=e({},this.defaults,t)}mount(){const t=this.swup;t.hooks.create(\"scroll:start\"),t.hooks.create(\"scroll:end\");const o=this.swup.createVisit({to:this.swup.currentPageUrl});this.scrl=new s({onStart:()=>t.hooks.callSync(\"scroll:start\",o,void 0),onEnd:()=>t.hooks.callSync(\"scroll:end\",o,void 0),onCancel:()=>t.hooks.callSync(\"scroll:end\",o,void 0),friction:this.options.scrollFriction,acceleration:this.options.scrollAcceleration}),t.scrollTo=(s,e=!0)=>{e?this.scrl.scrollTo(s):(t.hooks.callSync(\"scroll:start\",o,void 0),window.scrollTo(0,s),t.hooks.callSync(\"scroll:end\",o,void 0))},this.previousScrollRestoration=window.history.scrollRestoration,t.options.animateHistoryBrowsing&&(window.history.scrollRestoration=\"manual\"),this.updateScrollTarget=this.updateScrollTarget.bind(this),this.options.markScrollTarget&&(window.addEventListener(\"popstate\",this.updateScrollTarget),window.addEventListener(\"hashchange\",this.updateScrollTarget),this.on(\"page:view\",this.updateScrollTarget),this.on(\"link:anchor\",this.updateScrollTarget),this.on(\"link:self\",this.updateScrollTarget),this.updateScrollTarget()),this.before(\"visit:start\",this.onBeforeVisitStart,{priority:-1}),this.on(\"visit:start\",this.onVisitStart,{priority:1}),this.replace(\"content:scroll\",this.handleScrollToContent),this.before(\"link:self\",this.onBeforeLinkToSelf,{priority:-1}),this.replace(\"scroll:top\",this.handleScrollToTop),this.before(\"link:anchor\",this.onBeforeLinkToAnchor,{priority:-1}),this.replace(\"scroll:anchor\",this.handleScrollToAnchor)}unmount(){super.unmount(),this.previousScrollRestoration&&(window.history.scrollRestoration=this.previousScrollRestoration),window.removeEventListener(\"popstate\",this.updateScrollTarget),window.removeEventListener(\"hashchange\",this.updateScrollTarget),this.cachedScrollPositions={},delete this.swup.scrollTo,delete this.scrl}shouldAnimate(t){return\"boolean\"==typeof this.options.animateScroll?this.options.animateScroll:this.options.animateScroll[t]}maybeScrollToAnchor(t,o=!1){var s,e;if(!t)return!1;const l=this.getAnchorElement(t);if(!l)return console.warn(`Anchor target ${t} not found`),!1;if(!(l instanceof Element))return console.warn(`Anchor target ${t} is not a DOM node`),!1;const{top:r}=l.getBoundingClientRect(),i=r+window.scrollY-this.getOffset(l);return null==(s=(e=this.swup).scrollTo)||s.call(e,i,o),!0}cacheScrollPositions(t){const s=this.swup.resolveUrl(t),e=o(this.options.scrollContainers).map(t=>({top:t.scrollTop,left:t.scrollLeft})),l={window:{top:window.scrollY,left:window.scrollX},containers:e};this.cachedScrollPositions[s]=l}resetScrollPositions(t){const o=this.swup.resolveUrl(t);delete this.cachedScrollPositions[o]}getCachedScrollPositions(t){const o=this.swup.resolveUrl(t);return this.cachedScrollPositions[o]}restoreScrollContainers(t){const s=this.getCachedScrollPositions(t);s&&0!==s.containers.length&&o(this.options.scrollContainers).forEach((t,o)=>{const e=s.containers[o];null!=e&&(t.scrollTop=e.top,t.scrollLeft=e.left)})}updateScrollTarget(){var t;const{hash:o}=window.location,s=document.querySelector(\"[data-swup-scroll-target]\");let e=this.getAnchorElement(o);e instanceof HTMLBodyElement&&(e=null),s!==e&&(null==s||s.removeAttribute(\"data-swup-scroll-target\"),null==(t=e)||t.setAttribute(\"data-swup-scroll-target\",\"\"))}}export{l as default};\n//# sourceMappingURL=index.modern.js.map\n"],"names":["t","i","o","e","s","l","r"],"mappings":"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","x_google_ignoreList":[0,1]} \ No newline at end of file +{"version":3,"file":"index.modern.CiCz6VZW.js","sources":["../../../../../../node_modules/scrl/dist/index.modern.js","../../../../../../node_modules/@swup/scroll-plugin/dist/index.modern.js"],"sourcesContent":["function t(){return t=Object.assign?Object.assign.bind():function(t){for(var i=1;i{if(t&&t.nodeType)this._targetPositionY=Math.round(t.getBoundingClientRect().top+window.pageYOffset);else{if(parseInt(this._targetPositionY)!==this._targetPositionY)return void console.error(\"Argument must be a number or an element.\");this._targetPositionY=Math.round(t)}this._targetPositionY>document.documentElement.scrollHeight-window.innerHeight&&(this._targetPositionY=document.documentElement.scrollHeight-window.innerHeight),this._positionY=document.body.scrollTop||document.documentElement.scrollTop,this._direction=this._positionY>this._targetPositionY?-1:1,this._targetPositionYWithOffset=this._targetPositionY+this._direction,this._velocityY=0,this._positionY!==this._targetPositionY?(this.options.onStart(),this._animate()):this.options.onAlreadyAtPositions()},this._animate=()=>{this._update(),this._render(),1===this._direction&&this._targetPositionY>this._positionY||-1===this._direction&&this._targetPositionY{const t=this._targetPositionYWithOffset-this._positionY;return this._velocityY+=t*this.options.acceleration,this._velocityY*=this.options.friction,this._positionY+=this._velocityY,Math.abs(t)},this._render=()=>{window.scrollTo(0,this._positionY)},this.options=t({},{onAlreadyAtPositions:()=>{},onCancel:()=>{},onEnd:()=>{},onStart:()=>{},onTick:()=>{},friction:.7,acceleration:.04},i),i&&i.friction&&(this.options.friction=1-i.friction),window.addEventListener(\"mousewheel\",t=>{this._raf&&(this.options.onCancel(),cancelAnimationFrame(this._raf),this._raf=null)},{passive:!0})}}export{i as default};\n//# sourceMappingURL=index.modern.js.map\n","import t from\"@swup/plugin\";import{queryAll as o}from\"swup\";import s from\"scrl\";function e(){return e=Object.assign?Object.assign.bind():function(t){for(var o=1;o=4.2.0\"},this.scrl=void 0,this.defaults={doScrollingRightAway:!1,animateScroll:{betweenPages:!0,samePageWithHash:!0,samePage:!0},scrollFriction:.3,scrollAcceleration:.04,getAnchorElement:void 0,offset:0,scrollContainers:\"[data-swup-scroll-container]\",shouldResetScrollPosition:()=>!0,markScrollTarget:!1},this.options=void 0,this.cachedScrollPositions={},this.previousScrollRestoration=void 0,this.currentCacheKey=void 0,this.getAnchorElement=(t=\"\")=>\"function\"==typeof this.options.getAnchorElement?this.options.getAnchorElement(t):this.swup.getAnchorElement(t),this.getOffset=t=>t?\"function\"==typeof this.options.offset?parseInt(String(this.options.offset(t)),10):parseInt(String(this.options.offset),10):0,this.onBeforeLinkToSelf=t=>{t.scroll.animate=this.shouldAnimate(\"samePage\")},this.handleScrollToTop=t=>{var o,s;return null==(o=(s=this.swup).scrollTo)||o.call(s,0,t.scroll.animate),!0},this.onBeforeLinkToAnchor=t=>{t.scroll.animate=this.shouldAnimate(\"samePageWithHash\")},this.handleScrollToAnchor=(t,{hash:o})=>this.maybeScrollToAnchor(o,t.scroll.animate),this.onBeforeVisitStart=t=>{t.scroll.scrolledToContent=!1,t.scroll.animate=this.shouldAnimate(\"betweenPages\")},this.onVisitStart=t=>{var o;this.cacheScrollPositions(t.from.url),this.maybeResetScrollPositions(t);const s=null!=(o=t.scroll.target)?o:t.to.hash;t.scroll.animate&&this.options.doScrollingRightAway&&!s&&this.doScrollingBetweenPages(t)},this.handleScrollToContent=t=>{t.scroll.scrolledToContent||this.doScrollingBetweenPages(t),this.restoreScrollContainers(t.to.url)},this.doScrollingBetweenPages=t=>{var o,s;if(t.history.popstate&&!t.animation.animate)return;const e=null!=(o=t.scroll.target)?o:t.to.hash;if(e&&this.maybeScrollToAnchor(e,t.scroll.animate))return;if(!t.scroll.reset)return;const l=this.getCachedScrollPositions(t.to.url),r=(null==l||null==(s=l.window)?void 0:s.top)||0;requestAnimationFrame(()=>{var o,s;return null==(o=(s=this.swup).scrollTo)?void 0:o.call(s,r,t.scroll.animate)}),t.scroll.scrolledToContent=!0},this.maybeResetScrollPositions=t=>{const{popstate:o}=t.history,{url:s}=t.to,{el:e}=t.trigger;o||e&&!this.options.shouldResetScrollPosition(e)||this.resetScrollPositions(s)},this.options=e({},this.defaults,t)}mount(){const t=this.swup;t.hooks.create(\"scroll:start\"),t.hooks.create(\"scroll:end\");const o=this.swup.createVisit({to:this.swup.currentPageUrl});this.scrl=new s({onStart:()=>t.hooks.callSync(\"scroll:start\",o,void 0),onEnd:()=>t.hooks.callSync(\"scroll:end\",o,void 0),onCancel:()=>t.hooks.callSync(\"scroll:end\",o,void 0),friction:this.options.scrollFriction,acceleration:this.options.scrollAcceleration}),t.scrollTo=(s,e=!0)=>{e?this.scrl.scrollTo(s):(t.hooks.callSync(\"scroll:start\",o,void 0),window.scrollTo(0,s),t.hooks.callSync(\"scroll:end\",o,void 0))},this.previousScrollRestoration=window.history.scrollRestoration,t.options.animateHistoryBrowsing&&(window.history.scrollRestoration=\"manual\"),this.updateScrollTarget=this.updateScrollTarget.bind(this),this.options.markScrollTarget&&(window.addEventListener(\"popstate\",this.updateScrollTarget),window.addEventListener(\"hashchange\",this.updateScrollTarget),this.on(\"page:view\",this.updateScrollTarget),this.on(\"link:anchor\",this.updateScrollTarget),this.on(\"link:self\",this.updateScrollTarget),this.updateScrollTarget()),this.before(\"visit:start\",this.onBeforeVisitStart,{priority:-1}),this.on(\"visit:start\",this.onVisitStart,{priority:1}),this.replace(\"content:scroll\",this.handleScrollToContent),this.before(\"link:self\",this.onBeforeLinkToSelf,{priority:-1}),this.replace(\"scroll:top\",this.handleScrollToTop),this.before(\"link:anchor\",this.onBeforeLinkToAnchor,{priority:-1}),this.replace(\"scroll:anchor\",this.handleScrollToAnchor)}unmount(){super.unmount(),this.previousScrollRestoration&&(window.history.scrollRestoration=this.previousScrollRestoration),window.removeEventListener(\"popstate\",this.updateScrollTarget),window.removeEventListener(\"hashchange\",this.updateScrollTarget),this.cachedScrollPositions={},delete this.swup.scrollTo,delete this.scrl}shouldAnimate(t){return\"boolean\"==typeof this.options.animateScroll?this.options.animateScroll:this.options.animateScroll[t]}maybeScrollToAnchor(t,o=!1){var s,e;if(!t)return!1;const l=this.getAnchorElement(t);if(!l)return console.warn(`Anchor target ${t} not found`),!1;if(!(l instanceof Element))return console.warn(`Anchor target ${t} is not a DOM node`),!1;const{top:r}=l.getBoundingClientRect(),i=r+window.scrollY-this.getOffset(l);return null==(s=(e=this.swup).scrollTo)||s.call(e,i,o),!0}cacheScrollPositions(t){const s=this.swup.resolveUrl(t),e=o(this.options.scrollContainers).map(t=>({top:t.scrollTop,left:t.scrollLeft})),l={window:{top:window.scrollY,left:window.scrollX},containers:e};this.cachedScrollPositions[s]=l}resetScrollPositions(t){const o=this.swup.resolveUrl(t);delete this.cachedScrollPositions[o]}getCachedScrollPositions(t){const o=this.swup.resolveUrl(t);return this.cachedScrollPositions[o]}restoreScrollContainers(t){const s=this.getCachedScrollPositions(t);s&&0!==s.containers.length&&o(this.options.scrollContainers).forEach((t,o)=>{const e=s.containers[o];null!=e&&(t.scrollTop=e.top,t.scrollLeft=e.left)})}updateScrollTarget(){var t;const{hash:o}=window.location,s=document.querySelector(\"[data-swup-scroll-target]\");let e=this.getAnchorElement(o);e instanceof HTMLBodyElement&&(e=null),s!==e&&(null==s||s.removeAttribute(\"data-swup-scroll-target\"),null==(t=e)||t.setAttribute(\"data-swup-scroll-target\",\"\"))}}export{l as default};\n//# sourceMappingURL=index.modern.js.map\n"],"names":["t","i","o","e","s","l","r"],"mappings":"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","x_google_ignoreList":[0,1]} \ No newline at end of file diff --git a/Target/_astro/index.modern.CUPCPLSa.js b/Target/_astro/index.modern.Dzx6rguv.js similarity index 98% rename from Target/_astro/index.modern.CUPCPLSa.js rename to Target/_astro/index.modern.Dzx6rguv.js index 10edb83e..1b8126cd 100644 --- a/Target/_astro/index.modern.CUPCPLSa.js +++ b/Target/_astro/index.modern.Dzx6rguv.js @@ -1 +1 @@ -import{e as V}from"./index.modern.CkIAsQri.js";import{Location as c,getCurrentUrl as L}from"./Swup.modern.BemQoQWS.js";function k(){return k=Object.assign?Object.assign.bind():function(e){for(var t=1;tsetTimeout(e,1)),O=["preloadVisibleLinks"];class A extends V{constructor(e={}){var t;super(),t=this,this.name="SwupPreloadPlugin",this.requires={swup:">=4.5"},this.defaults={throttle:5,preloadInitialPage:!0,preloadHoveredLinks:!0,preloadVisibleLinks:{enabled:!1,threshold:.2,delay:500,containers:["body"],ignore:()=>!1}},this.options=void 0,this.queue=void 0,this.preloadObserver=void 0,this.preloadPromises=new Map,this.mouseEnterDelegate=void 0,this.touchStartDelegate=void 0,this.focusDelegate=void 0,this.onPageLoad=(e,t,s)=>{const{url:r}=e.to;return r&&this.preloadPromises.has(r)?this.preloadPromises.get(r):s(e,t)},this.onMouseEnter=async function(e){if(e.target!==e.delegateTarget||!P())return;const s=e.delegateTarget;if(!b(s))return;const{url:r,hash:o}=c.fromElement(s),i=t.swup.createVisit({to:r,hash:o,el:s,event:e});t.swup.hooks.callSync("link:hover",i,{el:s,event:e}),t.preload(s,{priority:!0})},this.onTouchStart=e=>{if(P())return;const t=e.delegateTarget;b(t)&&this.preload(t,{priority:!0})},this.onFocus=e=>{const t=e.delegateTarget;b(t)&&this.preload(t,{priority:!0})};const{preloadVisibleLinks:s}=e,r=function(e,t){if(null==e)return{};var s,r,o={},i=Object.keys(e);for(r=0;r=0||(o[s]=e[s]);return o}(e,O);this.options=k({},this.defaults,r),"object"==typeof s?this.options.preloadVisibleLinks=k({},this.options.preloadVisibleLinks,{enabled:!0},s):this.options.preloadVisibleLinks.enabled=!!s,this.preload=this.preload.bind(this),this.queue=function(e=1){const t=[],s=[];let r=0,o=0;function i(){o0&&((s.shift()||t.shift()||(()=>{}))(),r--,o++)}return{add:function(e,o=!1){if(e.__queued){if(!o)return;{const s=t.indexOf(e);if(s>=0){const e=t.splice(s,1);r-=e.length}}}e.__queued=!0,(o?s:t).push(e),r++,r<=1&&i()},next:function(){o--,i()}}}(this.options.throttle)}mount(){const e=this.swup;e.options.cache?(e.hooks.create("page:preload"),e.hooks.create("link:hover"),e.preload=this.preload,e.preloadLinks=this.preloadLinks,this.replace("page:load",this.onPageLoad),this.preloadLinks(),this.on("page:view",(()=>this.preloadLinks())),this.options.preloadVisibleLinks.enabled&&(this.preloadVisibleLinks(),this.on("page:view",(()=>this.preloadVisibleLinks()))),this.options.preloadHoveredLinks&&this.preloadLinksOnAttention(),this.options.preloadInitialPage&&this.preload(L())):console.warn("SwupPreloadPlugin: swup cache needs to be enabled for preloading")}unmount(){var e,t,s;this.swup.preload=void 0,this.swup.preloadLinks=void 0,this.preloadPromises.clear(),null==(e=this.mouseEnterDelegate)||e.destroy(),null==(t=this.touchStartDelegate)||t.destroy(),null==(s=this.focusDelegate)||s.destroy(),this.stopPreloadingVisibleLinks()}async preload(e,t={}){var s;let r,o;const i=null!=(s=t.priority)&&s;if(Array.isArray(e))return Promise.all(e.map((e=>this.preload(e))));if(b(e))o=e,({href:r}=c.fromElement(e));else{if("string"!=typeof e)return;r=e}if(!r)return;if(this.preloadPromises.has(r))return this.preloadPromises.get(r);if(!this.shouldPreload(r,{el:o}))return;const n=new Promise((e=>{this.queue.add((()=>{this.performPreload(r).catch((()=>{})).then((t=>e(t))).finally((()=>{this.queue.next(),this.preloadPromises.delete(r)}))}),i)}));return this.preloadPromises.set(r,n),n}preloadLinks(){E((()=>{Array.from(document.querySelectorAll("a[data-swup-preload], [data-swup-preload-all] a")).forEach((e=>this.preload(e)))}))}preloadLinksOnAttention(){const{swup:e}=this,{linkSelector:t}=e.options,s={passive:!0,capture:!0};this.mouseEnterDelegate=e.delegateEvent(t,"mouseenter",this.onMouseEnter,s),this.touchStartDelegate=e.delegateEvent(t,"touchstart",this.onTouchStart,s),this.focusDelegate=e.delegateEvent(t,"focus",this.onFocus,s)}preloadVisibleLinks(){if(this.preloadObserver)return void this.preloadObserver.update();const{threshold:e,delay:t,containers:s}=this.options.preloadVisibleLinks;this.preloadObserver=function({threshold:e,delay:t,containers:s,callback:r,filter:o}){const i=new Map,n=new IntersectionObserver((e=>{e.forEach((e=>{e.isIntersecting?a(e.target):l(e.target)}))}),{threshold:e}),a=e=>{var s;const{href:o}=c.fromElement(e),a=null!=(s=i.get(o))?s:new Set;i.set(o,a),a.add(e),setTimeout((()=>{const t=i.get(o);null!=t&&t.size&&(r(e),n.unobserve(e),t.delete(e))}),t)},l=e=>{var t;const{href:s}=c.fromElement(e);null==(t=i.get(s))||t.delete(e)},h=()=>{E((()=>{const e=s.map((e=>`${e} a[*|href]`)).join(", ");Array.from(document.querySelectorAll(e)).filter((e=>o(e))).forEach((e=>n.observe(e)))}))};return{start:()=>h(),stop:()=>n.disconnect(),update:()=>(i.clear(),h())}}({threshold:e,delay:t,containers:s,callback:e=>this.preload(e),filter:e=>{if(this.options.preloadVisibleLinks.ignore(e)||!e.matches(this.swup.options.linkSelector))return!1;const{href:t}=c.fromElement(e);return this.shouldPreload(t,{el:e})}}),this.preloadObserver.start()}stopPreloadingVisibleLinks(){this.preloadObserver&&this.preloadObserver.stop()}shouldPreload(e,{el:t}={}){const{url:s,href:r}=c.fromUrl(e);return!(!function(){var e;if(navigator.connection&&(navigator.connection.saveData||null!=(e=navigator.connection.effectiveType)&&e.endsWith("2g")))return!1;return!0}()||this.swup.cache.has(s)||this.preloadPromises.has(s)||this.swup.shouldIgnoreVisit(r,{el:t})||t&&this.swup.resolveUrl(s)===this.swup.resolveUrl(L()))}async performPreload(e){var t=this;const{url:s}=c.fromUrl(e),r=this.swup.createVisit({to:s});return await this.swup.hooks.call("page:preload",r,{url:s},(async function(s,r){return r.page=await t.swup.fetchPage(e,{visit:s}),r.page}))}}export{A as default}; \ No newline at end of file +import{e as V}from"./index.modern.CkIAsQri.js";import{Location as c,getCurrentUrl as L}from"./Swup.modern.UA9jlYbO.js";function k(){return k=Object.assign?Object.assign.bind():function(e){for(var t=1;tsetTimeout(e,1)),O=["preloadVisibleLinks"];class A extends V{constructor(e={}){var t;super(),t=this,this.name="SwupPreloadPlugin",this.requires={swup:">=4.5"},this.defaults={throttle:5,preloadInitialPage:!0,preloadHoveredLinks:!0,preloadVisibleLinks:{enabled:!1,threshold:.2,delay:500,containers:["body"],ignore:()=>!1}},this.options=void 0,this.queue=void 0,this.preloadObserver=void 0,this.preloadPromises=new Map,this.mouseEnterDelegate=void 0,this.touchStartDelegate=void 0,this.focusDelegate=void 0,this.onPageLoad=(e,t,s)=>{const{url:r}=e.to;return r&&this.preloadPromises.has(r)?this.preloadPromises.get(r):s(e,t)},this.onMouseEnter=async function(e){if(e.target!==e.delegateTarget||!P())return;const s=e.delegateTarget;if(!b(s))return;const{url:r,hash:o}=c.fromElement(s),i=t.swup.createVisit({to:r,hash:o,el:s,event:e});t.swup.hooks.callSync("link:hover",i,{el:s,event:e}),t.preload(s,{priority:!0})},this.onTouchStart=e=>{if(P())return;const t=e.delegateTarget;b(t)&&this.preload(t,{priority:!0})},this.onFocus=e=>{const t=e.delegateTarget;b(t)&&this.preload(t,{priority:!0})};const{preloadVisibleLinks:s}=e,r=function(e,t){if(null==e)return{};var s,r,o={},i=Object.keys(e);for(r=0;r=0||(o[s]=e[s]);return o}(e,O);this.options=k({},this.defaults,r),"object"==typeof s?this.options.preloadVisibleLinks=k({},this.options.preloadVisibleLinks,{enabled:!0},s):this.options.preloadVisibleLinks.enabled=!!s,this.preload=this.preload.bind(this),this.queue=function(e=1){const t=[],s=[];let r=0,o=0;function i(){o0&&((s.shift()||t.shift()||(()=>{}))(),r--,o++)}return{add:function(e,o=!1){if(e.__queued){if(!o)return;{const s=t.indexOf(e);if(s>=0){const e=t.splice(s,1);r-=e.length}}}e.__queued=!0,(o?s:t).push(e),r++,r<=1&&i()},next:function(){o--,i()}}}(this.options.throttle)}mount(){const e=this.swup;e.options.cache?(e.hooks.create("page:preload"),e.hooks.create("link:hover"),e.preload=this.preload,e.preloadLinks=this.preloadLinks,this.replace("page:load",this.onPageLoad),this.preloadLinks(),this.on("page:view",(()=>this.preloadLinks())),this.options.preloadVisibleLinks.enabled&&(this.preloadVisibleLinks(),this.on("page:view",(()=>this.preloadVisibleLinks()))),this.options.preloadHoveredLinks&&this.preloadLinksOnAttention(),this.options.preloadInitialPage&&this.preload(L())):console.warn("SwupPreloadPlugin: swup cache needs to be enabled for preloading")}unmount(){var e,t,s;this.swup.preload=void 0,this.swup.preloadLinks=void 0,this.preloadPromises.clear(),null==(e=this.mouseEnterDelegate)||e.destroy(),null==(t=this.touchStartDelegate)||t.destroy(),null==(s=this.focusDelegate)||s.destroy(),this.stopPreloadingVisibleLinks()}async preload(e,t={}){var s;let r,o;const i=null!=(s=t.priority)&&s;if(Array.isArray(e))return Promise.all(e.map((e=>this.preload(e))));if(b(e))o=e,({href:r}=c.fromElement(e));else{if("string"!=typeof e)return;r=e}if(!r)return;if(this.preloadPromises.has(r))return this.preloadPromises.get(r);if(!this.shouldPreload(r,{el:o}))return;const n=new Promise((e=>{this.queue.add((()=>{this.performPreload(r).catch((()=>{})).then((t=>e(t))).finally((()=>{this.queue.next(),this.preloadPromises.delete(r)}))}),i)}));return this.preloadPromises.set(r,n),n}preloadLinks(){E((()=>{Array.from(document.querySelectorAll("a[data-swup-preload], [data-swup-preload-all] a")).forEach((e=>this.preload(e)))}))}preloadLinksOnAttention(){const{swup:e}=this,{linkSelector:t}=e.options,s={passive:!0,capture:!0};this.mouseEnterDelegate=e.delegateEvent(t,"mouseenter",this.onMouseEnter,s),this.touchStartDelegate=e.delegateEvent(t,"touchstart",this.onTouchStart,s),this.focusDelegate=e.delegateEvent(t,"focus",this.onFocus,s)}preloadVisibleLinks(){if(this.preloadObserver)return void this.preloadObserver.update();const{threshold:e,delay:t,containers:s}=this.options.preloadVisibleLinks;this.preloadObserver=function({threshold:e,delay:t,containers:s,callback:r,filter:o}){const i=new Map,n=new IntersectionObserver((e=>{e.forEach((e=>{e.isIntersecting?a(e.target):l(e.target)}))}),{threshold:e}),a=e=>{var s;const{href:o}=c.fromElement(e),a=null!=(s=i.get(o))?s:new Set;i.set(o,a),a.add(e),setTimeout((()=>{const t=i.get(o);null!=t&&t.size&&(r(e),n.unobserve(e),t.delete(e))}),t)},l=e=>{var t;const{href:s}=c.fromElement(e);null==(t=i.get(s))||t.delete(e)},h=()=>{E((()=>{const e=s.map((e=>`${e} a[*|href]`)).join(", ");Array.from(document.querySelectorAll(e)).filter((e=>o(e))).forEach((e=>n.observe(e)))}))};return{start:()=>h(),stop:()=>n.disconnect(),update:()=>(i.clear(),h())}}({threshold:e,delay:t,containers:s,callback:e=>this.preload(e),filter:e=>{if(this.options.preloadVisibleLinks.ignore(e)||!e.matches(this.swup.options.linkSelector))return!1;const{href:t}=c.fromElement(e);return this.shouldPreload(t,{el:e})}}),this.preloadObserver.start()}stopPreloadingVisibleLinks(){this.preloadObserver&&this.preloadObserver.stop()}shouldPreload(e,{el:t}={}){const{url:s,href:r}=c.fromUrl(e);return!(!function(){var e;if(navigator.connection&&(navigator.connection.saveData||null!=(e=navigator.connection.effectiveType)&&e.endsWith("2g")))return!1;return!0}()||this.swup.cache.has(s)||this.preloadPromises.has(s)||this.swup.shouldIgnoreVisit(r,{el:t})||t&&this.swup.resolveUrl(s)===this.swup.resolveUrl(L()))}async performPreload(e){var t=this;const{url:s}=c.fromUrl(e),r=this.swup.createVisit({to:s});return await this.swup.hooks.call("page:preload",r,{url:s},(async function(s,r){return r.page=await t.swup.fetchPage(e,{visit:s}),r.page}))}}export{A as default}; \ No newline at end of file diff --git a/Target/_astro/index.modern.CUPCPLSa.js.map b/Target/_astro/index.modern.Dzx6rguv.js.map similarity index 99% rename from Target/_astro/index.modern.CUPCPLSa.js.map rename to Target/_astro/index.modern.Dzx6rguv.js.map index ac03b323..fccf74f3 100644 --- a/Target/_astro/index.modern.CUPCPLSa.js.map +++ b/Target/_astro/index.modern.Dzx6rguv.js.map @@ -1 +1 @@ -{"version":3,"file":"index.modern.CUPCPLSa.js","sources":["../../../../../../node_modules/@swup/preload-plugin/dist/index.modern.js"],"sourcesContent":["import e from\"@swup/plugin\";import{Location as t,getCurrentUrl as s}from\"swup\";function r(){return r=Object.assign?Object.assign.bind():function(e){for(var t=1;tsetTimeout(e,1)),a=[\"preloadVisibleLinks\"];class l extends e{constructor(e={}){var s;super(),s=this,this.name=\"SwupPreloadPlugin\",this.requires={swup:\">=4.5\"},this.defaults={throttle:5,preloadInitialPage:!0,preloadHoveredLinks:!0,preloadVisibleLinks:{enabled:!1,threshold:.2,delay:500,containers:[\"body\"],ignore:()=>!1}},this.options=void 0,this.queue=void 0,this.preloadObserver=void 0,this.preloadPromises=new Map,this.mouseEnterDelegate=void 0,this.touchStartDelegate=void 0,this.focusDelegate=void 0,this.onPageLoad=(e,t,s)=>{const{url:r}=e.to;return r&&this.preloadPromises.has(r)?this.preloadPromises.get(r):s(e,t)},this.onMouseEnter=async function(e){if(e.target!==e.delegateTarget)return;if(!o())return;const r=e.delegateTarget;if(!i(r))return;const{url:n,hash:a}=t.fromElement(r),l=s.swup.createVisit({to:n,hash:a,el:r,event:e});s.swup.hooks.callSync(\"link:hover\",l,{el:r,event:e}),s.preload(r,{priority:!0})},this.onTouchStart=e=>{if(o())return;const t=e.delegateTarget;i(t)&&this.preload(t,{priority:!0})},this.onFocus=e=>{const t=e.delegateTarget;i(t)&&this.preload(t,{priority:!0})};const{preloadVisibleLinks:n}=e,l=function(e,t){if(null==e)return{};var s,r,o={},i=Object.keys(e);for(r=0;r=0||(o[s]=e[s]);return o}(e,a);this.options=r({},this.defaults,l),\"object\"==typeof n?this.options.preloadVisibleLinks=r({},this.options.preloadVisibleLinks,{enabled:!0},n):this.options.preloadVisibleLinks.enabled=Boolean(n),this.preload=this.preload.bind(this),this.queue=function(e=1){const t=[],s=[];let r=0,o=0;function i(){o0&&((s.shift()||t.shift()||(()=>{}))(),r--,o++)}return{add:function(e,o=!1){if(e.__queued){if(!o)return;{const s=t.indexOf(e);if(s>=0){const e=t.splice(s,1);r-=e.length}}}e.__queued=!0,(o?s:t).push(e),r++,r<=1&&i()},next:function(){o--,i()}}}(this.options.throttle)}mount(){const e=this.swup;e.options.cache?(e.hooks.create(\"page:preload\"),e.hooks.create(\"link:hover\"),e.preload=this.preload,e.preloadLinks=this.preloadLinks,this.replace(\"page:load\",this.onPageLoad),this.preloadLinks(),this.on(\"page:view\",()=>this.preloadLinks()),this.options.preloadVisibleLinks.enabled&&(this.preloadVisibleLinks(),this.on(\"page:view\",()=>this.preloadVisibleLinks())),this.options.preloadHoveredLinks&&this.preloadLinksOnAttention(),this.options.preloadInitialPage&&this.preload(s())):console.warn(\"SwupPreloadPlugin: swup cache needs to be enabled for preloading\")}unmount(){var e,t,s;this.swup.preload=void 0,this.swup.preloadLinks=void 0,this.preloadPromises.clear(),null==(e=this.mouseEnterDelegate)||e.destroy(),null==(t=this.touchStartDelegate)||t.destroy(),null==(s=this.focusDelegate)||s.destroy(),this.stopPreloadingVisibleLinks()}async preload(e,s={}){var r;let o,n;const a=null!=(r=s.priority)&&r;if(Array.isArray(e))return Promise.all(e.map(e=>this.preload(e)));if(i(e))n=e,({href:o}=t.fromElement(e));else{if(\"string\"!=typeof e)return;o=e}if(!o)return;if(this.preloadPromises.has(o))return this.preloadPromises.get(o);if(!this.shouldPreload(o,{el:n}))return;const l=new Promise(e=>{this.queue.add(()=>{this.performPreload(o).catch(()=>{}).then(t=>e(t)).finally(()=>{this.queue.next(),this.preloadPromises.delete(o)})},a)});return this.preloadPromises.set(o,l),l}preloadLinks(){n(()=>{Array.from(document.querySelectorAll(\"a[data-swup-preload], [data-swup-preload-all] a\")).forEach(e=>this.preload(e))})}preloadLinksOnAttention(){const{swup:e}=this,{linkSelector:t}=e.options,s={passive:!0,capture:!0};this.mouseEnterDelegate=e.delegateEvent(t,\"mouseenter\",this.onMouseEnter,s),this.touchStartDelegate=e.delegateEvent(t,\"touchstart\",this.onTouchStart,s),this.focusDelegate=e.delegateEvent(t,\"focus\",this.onFocus,s)}preloadVisibleLinks(){if(this.preloadObserver)return void this.preloadObserver.update();const{threshold:e,delay:s,containers:r}=this.options.preloadVisibleLinks;this.preloadObserver=function({threshold:e,delay:s,containers:r,callback:o,filter:i}){const a=new Map,l=new IntersectionObserver(e=>{e.forEach(e=>{e.isIntersecting?h(e.target):d(e.target)})},{threshold:e}),h=e=>{var r;const{href:i}=t.fromElement(e),n=null!=(r=a.get(i))?r:new Set;a.set(i,n),n.add(e),setTimeout(()=>{const t=a.get(i);null!=t&&t.size&&(o(e),l.unobserve(e),t.delete(e))},s)},d=e=>{var s;const{href:r}=t.fromElement(e);null==(s=a.get(r))||s.delete(e)},u=()=>{n(()=>{const e=r.map(e=>`${e} a[*|href]`).join(\", \");Array.from(document.querySelectorAll(e)).filter(e=>i(e)).forEach(e=>l.observe(e))})};return{start:()=>u(),stop:()=>l.disconnect(),update:()=>(a.clear(),u())}}({threshold:e,delay:s,containers:r,callback:e=>this.preload(e),filter:e=>{if(this.options.preloadVisibleLinks.ignore(e))return!1;if(!e.matches(this.swup.options.linkSelector))return!1;const{href:s}=t.fromElement(e);return this.shouldPreload(s,{el:e})}}),this.preloadObserver.start()}stopPreloadingVisibleLinks(){this.preloadObserver&&this.preloadObserver.stop()}shouldPreload(e,{el:r}={}){const{url:o,href:i}=t.fromUrl(e);return!(!function(){if(navigator.connection){var e;if(navigator.connection.saveData)return!1;if(null!=(e=navigator.connection.effectiveType)&&e.endsWith(\"2g\"))return!1}return!0}()||this.swup.cache.has(o)||this.preloadPromises.has(o)||this.swup.shouldIgnoreVisit(i,{el:r})||r&&this.swup.resolveUrl(o)===this.swup.resolveUrl(s()))}async performPreload(e){var s=this;const{url:r}=t.fromUrl(e),o=this.swup.createVisit({to:r}),i=await this.swup.hooks.call(\"page:preload\",o,{url:r},async function(t,r){return r.page=await s.swup.fetchPage(e,{visit:t}),r.page});return i}}export{l as default};\n//# sourceMappingURL=index.modern.js.map\n"],"names":["r","e","t","s","o","i","n","a","l","h","d","u"],"mappings":"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","x_google_ignoreList":[0]} \ No newline at end of file +{"version":3,"file":"index.modern.Dzx6rguv.js","sources":["../../../../../../node_modules/@swup/preload-plugin/dist/index.modern.js"],"sourcesContent":["import e from\"@swup/plugin\";import{Location as t,getCurrentUrl as s}from\"swup\";function r(){return r=Object.assign?Object.assign.bind():function(e){for(var t=1;tsetTimeout(e,1)),a=[\"preloadVisibleLinks\"];class l extends e{constructor(e={}){var s;super(),s=this,this.name=\"SwupPreloadPlugin\",this.requires={swup:\">=4.5\"},this.defaults={throttle:5,preloadInitialPage:!0,preloadHoveredLinks:!0,preloadVisibleLinks:{enabled:!1,threshold:.2,delay:500,containers:[\"body\"],ignore:()=>!1}},this.options=void 0,this.queue=void 0,this.preloadObserver=void 0,this.preloadPromises=new Map,this.mouseEnterDelegate=void 0,this.touchStartDelegate=void 0,this.focusDelegate=void 0,this.onPageLoad=(e,t,s)=>{const{url:r}=e.to;return r&&this.preloadPromises.has(r)?this.preloadPromises.get(r):s(e,t)},this.onMouseEnter=async function(e){if(e.target!==e.delegateTarget)return;if(!o())return;const r=e.delegateTarget;if(!i(r))return;const{url:n,hash:a}=t.fromElement(r),l=s.swup.createVisit({to:n,hash:a,el:r,event:e});s.swup.hooks.callSync(\"link:hover\",l,{el:r,event:e}),s.preload(r,{priority:!0})},this.onTouchStart=e=>{if(o())return;const t=e.delegateTarget;i(t)&&this.preload(t,{priority:!0})},this.onFocus=e=>{const t=e.delegateTarget;i(t)&&this.preload(t,{priority:!0})};const{preloadVisibleLinks:n}=e,l=function(e,t){if(null==e)return{};var s,r,o={},i=Object.keys(e);for(r=0;r=0||(o[s]=e[s]);return o}(e,a);this.options=r({},this.defaults,l),\"object\"==typeof n?this.options.preloadVisibleLinks=r({},this.options.preloadVisibleLinks,{enabled:!0},n):this.options.preloadVisibleLinks.enabled=Boolean(n),this.preload=this.preload.bind(this),this.queue=function(e=1){const t=[],s=[];let r=0,o=0;function i(){o0&&((s.shift()||t.shift()||(()=>{}))(),r--,o++)}return{add:function(e,o=!1){if(e.__queued){if(!o)return;{const s=t.indexOf(e);if(s>=0){const e=t.splice(s,1);r-=e.length}}}e.__queued=!0,(o?s:t).push(e),r++,r<=1&&i()},next:function(){o--,i()}}}(this.options.throttle)}mount(){const e=this.swup;e.options.cache?(e.hooks.create(\"page:preload\"),e.hooks.create(\"link:hover\"),e.preload=this.preload,e.preloadLinks=this.preloadLinks,this.replace(\"page:load\",this.onPageLoad),this.preloadLinks(),this.on(\"page:view\",()=>this.preloadLinks()),this.options.preloadVisibleLinks.enabled&&(this.preloadVisibleLinks(),this.on(\"page:view\",()=>this.preloadVisibleLinks())),this.options.preloadHoveredLinks&&this.preloadLinksOnAttention(),this.options.preloadInitialPage&&this.preload(s())):console.warn(\"SwupPreloadPlugin: swup cache needs to be enabled for preloading\")}unmount(){var e,t,s;this.swup.preload=void 0,this.swup.preloadLinks=void 0,this.preloadPromises.clear(),null==(e=this.mouseEnterDelegate)||e.destroy(),null==(t=this.touchStartDelegate)||t.destroy(),null==(s=this.focusDelegate)||s.destroy(),this.stopPreloadingVisibleLinks()}async preload(e,s={}){var r;let o,n;const a=null!=(r=s.priority)&&r;if(Array.isArray(e))return Promise.all(e.map(e=>this.preload(e)));if(i(e))n=e,({href:o}=t.fromElement(e));else{if(\"string\"!=typeof e)return;o=e}if(!o)return;if(this.preloadPromises.has(o))return this.preloadPromises.get(o);if(!this.shouldPreload(o,{el:n}))return;const l=new Promise(e=>{this.queue.add(()=>{this.performPreload(o).catch(()=>{}).then(t=>e(t)).finally(()=>{this.queue.next(),this.preloadPromises.delete(o)})},a)});return this.preloadPromises.set(o,l),l}preloadLinks(){n(()=>{Array.from(document.querySelectorAll(\"a[data-swup-preload], [data-swup-preload-all] a\")).forEach(e=>this.preload(e))})}preloadLinksOnAttention(){const{swup:e}=this,{linkSelector:t}=e.options,s={passive:!0,capture:!0};this.mouseEnterDelegate=e.delegateEvent(t,\"mouseenter\",this.onMouseEnter,s),this.touchStartDelegate=e.delegateEvent(t,\"touchstart\",this.onTouchStart,s),this.focusDelegate=e.delegateEvent(t,\"focus\",this.onFocus,s)}preloadVisibleLinks(){if(this.preloadObserver)return void this.preloadObserver.update();const{threshold:e,delay:s,containers:r}=this.options.preloadVisibleLinks;this.preloadObserver=function({threshold:e,delay:s,containers:r,callback:o,filter:i}){const a=new Map,l=new IntersectionObserver(e=>{e.forEach(e=>{e.isIntersecting?h(e.target):d(e.target)})},{threshold:e}),h=e=>{var r;const{href:i}=t.fromElement(e),n=null!=(r=a.get(i))?r:new Set;a.set(i,n),n.add(e),setTimeout(()=>{const t=a.get(i);null!=t&&t.size&&(o(e),l.unobserve(e),t.delete(e))},s)},d=e=>{var s;const{href:r}=t.fromElement(e);null==(s=a.get(r))||s.delete(e)},u=()=>{n(()=>{const e=r.map(e=>`${e} a[*|href]`).join(\", \");Array.from(document.querySelectorAll(e)).filter(e=>i(e)).forEach(e=>l.observe(e))})};return{start:()=>u(),stop:()=>l.disconnect(),update:()=>(a.clear(),u())}}({threshold:e,delay:s,containers:r,callback:e=>this.preload(e),filter:e=>{if(this.options.preloadVisibleLinks.ignore(e))return!1;if(!e.matches(this.swup.options.linkSelector))return!1;const{href:s}=t.fromElement(e);return this.shouldPreload(s,{el:e})}}),this.preloadObserver.start()}stopPreloadingVisibleLinks(){this.preloadObserver&&this.preloadObserver.stop()}shouldPreload(e,{el:r}={}){const{url:o,href:i}=t.fromUrl(e);return!(!function(){if(navigator.connection){var e;if(navigator.connection.saveData)return!1;if(null!=(e=navigator.connection.effectiveType)&&e.endsWith(\"2g\"))return!1}return!0}()||this.swup.cache.has(o)||this.preloadPromises.has(o)||this.swup.shouldIgnoreVisit(i,{el:r})||r&&this.swup.resolveUrl(o)===this.swup.resolveUrl(s()))}async performPreload(e){var s=this;const{url:r}=t.fromUrl(e),o=this.swup.createVisit({to:r}),i=await this.swup.hooks.call(\"page:preload\",o,{url:r},async function(t,r){return r.page=await s.swup.fetchPage(e,{visit:t}),r.page});return i}}export{l as default};\n//# sourceMappingURL=index.modern.js.map\n"],"names":["r","e","t","s","o","i","n","a","l","h","d","u"],"mappings":"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","x_google_ignoreList":[0]} \ No newline at end of file diff --git a/Target/chunks/astro/server_O4728HY4.mjs.map b/Target/chunks/astro/server_DfodAsKQ.mjs.map similarity index 99% rename from Target/chunks/astro/server_O4728HY4.mjs.map rename to Target/chunks/astro/server_DfodAsKQ.mjs.map index 55c1b74c..44b52e7d 100644 --- a/Target/chunks/astro/server_O4728HY4.mjs.map +++ b/Target/chunks/astro/server_DfodAsKQ.mjs.map @@ -1 +1 @@ -{"version":3,"file":"server_O4728HY4.mjs","sources":["../../../../../../../node_modules/astro/dist/core/errors/errors-data.js","../../../../../../../node_modules/astro/dist/core/errors/utils.js","../../../../../../../node_modules/astro/dist/core/errors/printer.js","../../../../../../../node_modules/astro/dist/core/errors/errors.js","../../../../../../../node_modules/astro/dist/runtime/server/astro-component.js","../../../../../../../node_modules/astro/dist/core/constants.js","../../../../../../../node_modules/astro/dist/runtime/server/astro-global.js","../../../../../../../node_modules/astro/dist/runtime/server/util.js","../../../../../../../node_modules/astro/dist/runtime/server/escape.js","../../../../../../../node_modules/astro/dist/runtime/server/render/instruction.js","../../../../../../../node_modules/astro/dist/runtime/server/serialize.js","../../../../../../../node_modules/astro/dist/runtime/server/hydration.js","../../../../../../../node_modules/astro/dist/runtime/server/shorthash.js","../../../../../../../node_modules/astro/dist/runtime/server/render/astro/factory.js","../../../../../../../node_modules/astro/dist/runtime/server/render/astro/head-and-content.js","../../../../../../../node_modules/astro/dist/runtime/server/astro-island.prebuilt-dev.js","../../../../../../../node_modules/astro/dist/runtime/server/astro-island.prebuilt.js","../../../../../../../node_modules/astro/dist/runtime/server/scripts.js","../../../../../../../node_modules/astro/dist/runtime/server/render/util.js","../../../../../../../node_modules/astro/dist/runtime/server/render/head.js","../../../../../../../node_modules/astro/dist/runtime/server/render/astro/render-template.js","../../../../../../../node_modules/astro/dist/runtime/server/render/slot.js","../../../../../../../node_modules/astro/dist/runtime/server/render/common.js","../../../../../../../node_modules/astro/dist/runtime/server/render/any.js","../../../../../../../node_modules/astro/dist/runtime/server/render/astro/instance.js","../../../../../../../node_modules/astro/dist/runtime/server/render/dom.js","../../../../../../../node_modules/astro/dist/core/encryption.js","../../../../../../../node_modules/astro/dist/runtime/server/render/server-islands.js","../../../../../../../node_modules/astro/dist/runtime/server/render/component.js","../../../../../../../node_modules/astro/dist/runtime/server/render/script.js","../../../../../../../node_modules/astro/dist/runtime/server/transition.js","../../../../../../../node_modules/astro/dist/runtime/server/index.js"],"sourcesContent":["const UnknownCompilerError = {\n name: \"UnknownCompilerError\",\n title: \"Unknown compiler error.\",\n hint: \"This is almost always a problem with the Astro compiler, not your code. Please open an issue at https://astro.build/issues/compiler.\"\n};\nconst StaticRedirectNotAvailable = {\n name: \"StaticRedirectNotAvailable\",\n title: \"`Astro.redirect` is not available in static mode.\",\n message: \"Redirects are only available when using `output: 'server'` or `output: 'hybrid'`. Update your Astro config if you need SSR features.\",\n hint: \"See https://docs.astro.build/en/guides/server-side-rendering/ for more information on how to enable SSR.\"\n};\nconst ClientAddressNotAvailable = {\n name: \"ClientAddressNotAvailable\",\n title: \"`Astro.clientAddress` is not available in current adapter.\",\n message: (adapterName) => `\\`Astro.clientAddress\\` is not available in the \\`${adapterName}\\` adapter. File an issue with the adapter to add support.`\n};\nconst PrerenderClientAddressNotAvailable = {\n name: \"PrerenderClientAddressNotAvailable\",\n title: \"`Astro.clientAddress` cannot be used inside prerendered routes.\",\n message: `\\`Astro.clientAddress\\` cannot be used inside prerendered routes`\n};\nconst StaticClientAddressNotAvailable = {\n name: \"StaticClientAddressNotAvailable\",\n title: \"`Astro.clientAddress` is not available in static mode.\",\n message: \"`Astro.clientAddress` is only available when using `output: 'server'` or `output: 'hybrid'`. Update your Astro config if you need SSR features.\",\n hint: \"See https://docs.astro.build/en/guides/server-side-rendering/ for more information on how to enable SSR.\"\n};\nconst NoMatchingStaticPathFound = {\n name: \"NoMatchingStaticPathFound\",\n title: \"No static path found for requested path.\",\n message: (pathName) => `A \\`getStaticPaths()\\` route pattern was matched, but no matching static path was found for requested path \\`${pathName}\\`.`,\n hint: (possibleRoutes) => `Possible dynamic routes being matched: ${possibleRoutes.join(\", \")}.`\n};\nconst OnlyResponseCanBeReturned = {\n name: \"OnlyResponseCanBeReturned\",\n title: \"Invalid type returned by Astro page.\",\n message: (route, returnedValue) => `Route \\`${route ? route : \"\"}\\` returned a \\`${returnedValue}\\`. Only a [Response](https://developer.mozilla.org/en-US/docs/Web/API/Response) can be returned from Astro files.`,\n hint: \"See https://docs.astro.build/en/guides/server-side-rendering/#response for more information.\"\n};\nconst MissingMediaQueryDirective = {\n name: \"MissingMediaQueryDirective\",\n title: \"Missing value for `client:media` directive.\",\n message: 'Media query not provided for `client:media` directive. A media query similar to `client:media=\"(max-width: 600px)\"` must be provided'\n};\nconst NoMatchingRenderer = {\n name: \"NoMatchingRenderer\",\n title: \"No matching renderer found.\",\n message: (componentName, componentExtension, plural, validRenderersCount) => `Unable to render \\`${componentName}\\`.\n\n${validRenderersCount > 0 ? `There ${plural ? \"are\" : \"is\"} ${validRenderersCount} renderer${plural ? \"s\" : \"\"} configured in your \\`astro.config.mjs\\` file,\nbut ${plural ? \"none were\" : \"it was not\"} able to server-side render \\`${componentName}\\`.` : `No valid renderer was found ${componentExtension ? `for the \\`.${componentExtension}\\` file extension.` : `for this file extension.`}`}`,\n hint: (probableRenderers) => `Did you mean to enable the ${probableRenderers} integration?\n\nSee https://docs.astro.build/en/guides/framework-components/ for more information on how to install and configure integrations.`\n};\nconst NoClientEntrypoint = {\n name: \"NoClientEntrypoint\",\n title: \"No client entrypoint specified in renderer.\",\n message: (componentName, clientDirective, rendererName) => `\\`${componentName}\\` component has a \\`client:${clientDirective}\\` directive, but no client entrypoint was provided by \\`${rendererName}\\`.`,\n hint: \"See https://docs.astro.build/en/reference/integrations-reference/#addrenderer-option for more information on how to configure your renderer.\"\n};\nconst NoClientOnlyHint = {\n name: \"NoClientOnlyHint\",\n title: \"Missing hint on client:only directive.\",\n message: (componentName) => `Unable to render \\`${componentName}\\`. When using the \\`client:only\\` hydration strategy, Astro needs a hint to use the correct renderer.`,\n hint: (probableRenderers) => `Did you mean to pass \\`client:only=\"${probableRenderers}\"\\`? See https://docs.astro.build/en/reference/directives-reference/#clientonly for more information on client:only`\n};\nconst InvalidGetStaticPathParam = {\n name: \"InvalidGetStaticPathParam\",\n title: \"Invalid value returned by a `getStaticPaths` path.\",\n message: (paramType) => `Invalid params given to \\`getStaticPaths\\` path. Expected an \\`object\\`, got \\`${paramType}\\``,\n hint: \"See https://docs.astro.build/en/reference/api-reference/#getstaticpaths for more information on getStaticPaths.\"\n};\nconst InvalidGetStaticPathsEntry = {\n name: \"InvalidGetStaticPathsEntry\",\n title: \"Invalid entry inside getStaticPath's return value\",\n message: (entryType) => `Invalid entry returned by getStaticPaths. Expected an object, got \\`${entryType}\\``,\n hint: \"If you're using a `.map` call, you might be looking for `.flatMap()` instead. See https://docs.astro.build/en/reference/api-reference/#getstaticpaths for more information on getStaticPaths.\"\n};\nconst InvalidGetStaticPathsReturn = {\n name: \"InvalidGetStaticPathsReturn\",\n title: \"Invalid value returned by getStaticPaths.\",\n message: (returnType) => `Invalid type returned by \\`getStaticPaths\\`. Expected an \\`array\\`, got \\`${returnType}\\``,\n hint: \"See https://docs.astro.build/en/reference/api-reference/#getstaticpaths for more information on getStaticPaths.\"\n};\nconst GetStaticPathsRemovedRSSHelper = {\n name: \"GetStaticPathsRemovedRSSHelper\",\n title: \"getStaticPaths RSS helper is not available anymore.\",\n message: \"The RSS helper has been removed from `getStaticPaths`. Try the new @astrojs/rss package instead.\",\n hint: \"See https://docs.astro.build/en/guides/rss/ for more information.\"\n};\nconst GetStaticPathsExpectedParams = {\n name: \"GetStaticPathsExpectedParams\",\n title: \"Missing params property on `getStaticPaths` route.\",\n message: \"Missing or empty required `params` property on `getStaticPaths` route.\",\n hint: \"See https://docs.astro.build/en/reference/api-reference/#getstaticpaths for more information on getStaticPaths.\"\n};\nconst GetStaticPathsInvalidRouteParam = {\n name: \"GetStaticPathsInvalidRouteParam\",\n title: \"Invalid value for `getStaticPaths` route parameter.\",\n message: (key, value, valueType) => `Invalid getStaticPaths route parameter for \\`${key}\\`. Expected undefined, a string or a number, received \\`${valueType}\\` (\\`${value}\\`)`,\n hint: \"See https://docs.astro.build/en/reference/api-reference/#getstaticpaths for more information on getStaticPaths.\"\n};\nconst GetStaticPathsRequired = {\n name: \"GetStaticPathsRequired\",\n title: \"`getStaticPaths()` function required for dynamic routes.\",\n message: \"`getStaticPaths()` function is required for dynamic routes. Make sure that you `export` a `getStaticPaths` function from your dynamic route.\",\n hint: `See https://docs.astro.build/en/guides/routing/#dynamic-routes for more information on dynamic routes.\n\nAlternatively, set \\`output: \"server\"\\` or \\`output: \"hybrid\"\\` in your Astro config file to switch to a non-static server build. This error can also occur if using \\`export const prerender = true;\\`.\nSee https://docs.astro.build/en/guides/server-side-rendering/ for more information on non-static rendering.`\n};\nconst ReservedSlotName = {\n name: \"ReservedSlotName\",\n title: \"Invalid slot name.\",\n message: (slotName) => `Unable to create a slot named \\`${slotName}\\`. \\`${slotName}\\` is a reserved slot name. Please update the name of this slot.`\n};\nconst NoAdapterInstalled = {\n name: \"NoAdapterInstalled\",\n title: \"Cannot use Server-side Rendering without an adapter.\",\n message: `Cannot use \\`output: 'server'\\` or \\`output: 'hybrid'\\` without an adapter. Please install and configure the appropriate server adapter for your final deployment.`,\n hint: \"See https://docs.astro.build/en/guides/server-side-rendering/ for more information.\"\n};\nconst NoMatchingImport = {\n name: \"NoMatchingImport\",\n title: \"No import found for component.\",\n message: (componentName) => `Could not render \\`${componentName}\\`. No matching import has been found for \\`${componentName}\\`.`,\n hint: \"Please make sure the component is properly imported.\"\n};\nconst InvalidPrerenderExport = {\n name: \"InvalidPrerenderExport\",\n title: \"Invalid prerender export.\",\n message(prefix, suffix, isHydridOutput) {\n const defaultExpectedValue = isHydridOutput ? \"false\" : \"true\";\n let msg = `A \\`prerender\\` export has been detected, but its value cannot be statically analyzed.`;\n if (prefix !== \"const\") msg += `\nExpected \\`const\\` declaration but got \\`${prefix}\\`.`;\n if (suffix !== \"true\")\n msg += `\nExpected \\`${defaultExpectedValue}\\` value but got \\`${suffix}\\`.`;\n return msg;\n },\n hint: \"Mutable values declared at runtime are not supported. Please make sure to use exactly `export const prerender = true`.\"\n};\nconst InvalidComponentArgs = {\n name: \"InvalidComponentArgs\",\n title: \"Invalid component arguments.\",\n message: (name) => `Invalid arguments passed to${name ? ` <${name}>` : \"\"} component.`,\n hint: \"Astro components cannot be rendered directly via function call, such as `Component()` or `{items.map(Component)}`.\"\n};\nconst PageNumberParamNotFound = {\n name: \"PageNumberParamNotFound\",\n title: \"Page number param not found.\",\n message: (paramName) => `[paginate()] page number param \\`${paramName}\\` not found in your filepath.`,\n hint: \"Rename your file to `[page].astro` or `[...page].astro`.\"\n};\nconst ImageMissingAlt = {\n name: \"ImageMissingAlt\",\n title: 'Image missing required \"alt\" property.',\n message: 'Image missing \"alt\" property. \"alt\" text is required to describe important images on the page.',\n hint: 'Use an empty string (\"\") for decorative images.'\n};\nconst InvalidImageService = {\n name: \"InvalidImageService\",\n title: \"Error while loading image service.\",\n message: \"There was an error loading the configured image service. Please see the stack trace for more information.\"\n};\nconst MissingImageDimension = {\n name: \"MissingImageDimension\",\n title: \"Missing image dimensions\",\n message: (missingDimension, imageURL) => `Missing ${missingDimension === \"both\" ? \"width and height attributes\" : `${missingDimension} attribute`} for ${imageURL}. When using remote images, both dimensions are required unless in order to avoid CLS.`,\n hint: \"If your image is inside your `src` folder, you probably meant to import it instead. See [the Imports guide for more information](https://docs.astro.build/en/guides/imports/#other-assets). You can also use `inferSize={true}` for remote images to get the original dimensions.\"\n};\nconst FailedToFetchRemoteImageDimensions = {\n name: \"FailedToFetchRemoteImageDimensions\",\n title: \"Failed to retrieve remote image dimensions\",\n message: (imageURL) => `Failed to get the dimensions for ${imageURL}.`,\n hint: \"Verify your remote image URL is accurate, and that you are not using `inferSize` with a file located in your `public/` folder.\"\n};\nconst UnsupportedImageFormat = {\n name: \"UnsupportedImageFormat\",\n title: \"Unsupported image format\",\n message: (format, imagePath, supportedFormats) => `Received unsupported format \\`${format}\\` from \\`${imagePath}\\`. Currently only ${supportedFormats.join(\n \", \"\n )} are supported by our image services.`,\n hint: \"Using an `img` tag directly instead of the `Image` component might be what you're looking for.\"\n};\nconst UnsupportedImageConversion = {\n name: \"UnsupportedImageConversion\",\n title: \"Unsupported image conversion\",\n message: \"Converting between vector (such as SVGs) and raster (such as PNGs and JPEGs) images is not currently supported.\"\n};\nconst PrerenderDynamicEndpointPathCollide = {\n name: \"PrerenderDynamicEndpointPathCollide\",\n title: \"Prerendered dynamic endpoint has path collision.\",\n message: (pathname) => `Could not render \\`${pathname}\\` with an \\`undefined\\` param as the generated path will collide during prerendering. Prevent passing \\`undefined\\` as \\`params\\` for the endpoint's \\`getStaticPaths()\\` function, or add an additional extension to the endpoint's filename.`,\n hint: (filename) => `Rename \\`${filename}\\` to \\`${filename.replace(/\\.(?:js|ts)/, (m) => `.json` + m)}\\``\n};\nconst ExpectedImage = {\n name: \"ExpectedImage\",\n title: \"Expected src to be an image.\",\n message: (src, typeofOptions, fullOptions) => `Expected \\`src\\` property for \\`getImage\\` or \\`\\` to be either an ESM imported image or a string with the path of a remote image. Received \\`${src}\\` (type: \\`${typeofOptions}\\`).\n\nFull serialized options received: \\`${fullOptions}\\`.`,\n hint: \"This error can often happen because of a wrong path. Make sure the path to your image is correct. If you're passing an async function, make sure to call and await it.\"\n};\nconst ExpectedImageOptions = {\n name: \"ExpectedImageOptions\",\n title: \"Expected image options.\",\n message: (options) => `Expected getImage() parameter to be an object. Received \\`${options}\\`.`\n};\nconst ExpectedNotESMImage = {\n name: \"ExpectedNotESMImage\",\n title: \"Expected image options, not an ESM-imported image.\",\n message: \"An ESM-imported image cannot be passed directly to `getImage()`. Instead, pass an object with the image in the `src` property.\",\n hint: \"Try changing `getImage(myImage)` to `getImage({ src: myImage })`\"\n};\nconst IncompatibleDescriptorOptions = {\n name: \"IncompatibleDescriptorOptions\",\n title: \"Cannot set both `densities` and `widths`\",\n message: \"Only one of `densities` or `widths` can be specified. In most cases, you'll probably want to use only `widths` if you require specific widths.\",\n hint: \"Those attributes are used to construct a `srcset` attribute, which cannot have both `x` and `w` descriptors.\"\n};\nconst ImageNotFound = {\n name: \"ImageNotFound\",\n title: \"Image not found.\",\n message: (imagePath) => `Could not find requested image \\`${imagePath}\\`. Does it exist?`,\n hint: \"This is often caused by a typo in the image path. Please make sure the file exists, and is spelled correctly.\"\n};\nconst NoImageMetadata = {\n name: \"NoImageMetadata\",\n title: \"Could not process image metadata.\",\n message: (imagePath) => `Could not process image metadata${imagePath ? ` for \\`${imagePath}\\`` : \"\"}.`,\n hint: \"This is often caused by a corrupted or malformed image. Re-exporting the image from your image editor may fix this issue.\"\n};\nconst MarkdownImageNotFound = {\n name: \"MarkdownImageNotFound\",\n title: \"Image not found.\",\n message: (imagePath, fullImagePath) => `Could not find requested image \\`${imagePath}\\`${fullImagePath ? ` at \\`${fullImagePath}\\`.` : \".\"}`,\n hint: \"This is often caused by a typo in the image path. Please make sure the file exists, and is spelled correctly.\"\n};\nconst CouldNotTransformImage = {\n name: \"CouldNotTransformImage\",\n title: \"Could not transform image.\",\n message: (imagePath) => `Could not transform image \\`${imagePath}\\`. See the stack trace for more information.`,\n hint: \"This is often caused by a corrupted or malformed image. Re-exporting the image from your image editor may fix this issue.\"\n};\nconst ResponseSentError = {\n name: \"ResponseSentError\",\n title: \"Unable to set response.\",\n message: \"The response has already been sent to the browser and cannot be altered.\"\n};\nconst MiddlewareNoDataOrNextCalled = {\n name: \"MiddlewareNoDataOrNextCalled\",\n title: \"The middleware didn't return a `Response`.\",\n message: \"Make sure your middleware returns a `Response` object, either directly or by returning the `Response` from calling the `next` function.\"\n};\nconst MiddlewareNotAResponse = {\n name: \"MiddlewareNotAResponse\",\n title: \"The middleware returned something that is not a `Response` object.\",\n message: \"Any data returned from middleware must be a valid `Response` object.\"\n};\nconst EndpointDidNotReturnAResponse = {\n name: \"EndpointDidNotReturnAResponse\",\n title: \"The endpoint did not return a `Response`.\",\n message: \"An endpoint must return either a `Response`, or a `Promise` that resolves with a `Response`.\"\n};\nconst LocalsNotAnObject = {\n name: \"LocalsNotAnObject\",\n title: \"Value assigned to `locals` is not accepted.\",\n message: \"`locals` can only be assigned to an object. Other values like numbers, strings, etc. are not accepted.\",\n hint: \"If you tried to remove some information from the `locals` object, try to use `delete` or set the property to `undefined`.\"\n};\nconst AstroResponseHeadersReassigned = {\n name: \"AstroResponseHeadersReassigned\",\n title: \"`Astro.response.headers` must not be reassigned.\",\n message: \"Individual headers can be added to and removed from `Astro.response.headers`, but it must not be replaced with another instance of `Headers` altogether.\",\n hint: \"Consider using `Astro.response.headers.add()`, and `Astro.response.headers.delete()`.\"\n};\nconst MiddlewareCantBeLoaded = {\n name: \"MiddlewareCantBeLoaded\",\n title: \"Can't load the middleware.\",\n message: \"An unknown error was thrown while loading your middleware.\"\n};\nconst LocalImageUsedWrongly = {\n name: \"LocalImageUsedWrongly\",\n title: \"Local images must be imported.\",\n message: (imageFilePath) => `\\`Image\\`'s and \\`getImage\\`'s \\`src\\` parameter must be an imported image or an URL, it cannot be a string filepath. Received \\`${imageFilePath}\\`.`,\n hint: \"If you want to use an image from your `src` folder, you need to either import it or if the image is coming from a content collection, use the [image() schema helper](https://docs.astro.build/en/guides/images/#images-in-content-collections). See https://docs.astro.build/en/guides/images/#src-required for more information on the `src` property.\"\n};\nconst AstroGlobUsedOutside = {\n name: \"AstroGlobUsedOutside\",\n title: \"Astro.glob() used outside of an Astro file.\",\n message: (globStr) => `\\`Astro.glob(${globStr})\\` can only be used in \\`.astro\\` files. \\`import.meta.glob(${globStr})\\` can be used instead to achieve a similar result.`,\n hint: \"See Vite's documentation on `import.meta.glob` for more information: https://vitejs.dev/guide/features.html#glob-import\"\n};\nconst AstroGlobNoMatch = {\n name: \"AstroGlobNoMatch\",\n title: \"Astro.glob() did not match any files.\",\n message: (globStr) => `\\`Astro.glob(${globStr})\\` did not return any matching files.`,\n hint: \"Check the pattern for typos.\"\n};\nconst RedirectWithNoLocation = {\n name: \"RedirectWithNoLocation\",\n title: \"A redirect must be given a location with the `Location` header.\"\n};\nconst InvalidDynamicRoute = {\n name: \"InvalidDynamicRoute\",\n title: \"Invalid dynamic route.\",\n message: (route, invalidParam, received) => `The ${invalidParam} param for route ${route} is invalid. Received **${received}**.`\n};\nconst MissingSharp = {\n name: \"MissingSharp\",\n title: \"Could not find Sharp.\",\n message: \"Could not find Sharp. Please install Sharp (`sharp`) manually into your project or migrate to another image service.\",\n hint: \"See Sharp's installation instructions for more information: https://sharp.pixelplumbing.com/install. If you are not relying on `astro:assets` to optimize, transform, or process any images, you can configure a passthrough image service instead of installing Sharp. See https://docs.astro.build/en/reference/errors/missing-sharp for more information.\\n\\nSee https://docs.astro.build/en/guides/images/#default-image-service for more information on how to migrate to another image service.\"\n};\nconst UnknownViteError = {\n name: \"UnknownViteError\",\n title: \"Unknown Vite Error.\"\n};\nconst FailedToLoadModuleSSR = {\n name: \"FailedToLoadModuleSSR\",\n title: \"Could not import file.\",\n message: (importName) => `Could not import \\`${importName}\\`.`,\n hint: \"This is often caused by a typo in the import path. Please make sure the file exists.\"\n};\nconst InvalidGlob = {\n name: \"InvalidGlob\",\n title: \"Invalid glob pattern.\",\n message: (globPattern) => `Invalid glob pattern: \\`${globPattern}\\`. Glob patterns must start with './', '../' or '/'.`,\n hint: \"See https://docs.astro.build/en/guides/imports/#glob-patterns for more information on supported glob patterns.\"\n};\nconst FailedToFindPageMapSSR = {\n name: \"FailedToFindPageMapSSR\",\n title: \"Astro couldn't find the correct page to render\",\n message: \"Astro couldn't find the correct page to render, probably because it wasn't correctly mapped for SSR usage. This is an internal error. Please file an issue.\"\n};\nconst MissingLocale = {\n name: \"MissingLocaleError\",\n title: \"The provided locale does not exist.\",\n message: (locale) => `The locale/path \\`${locale}\\` does not exist in the configured \\`i18n.locales\\`.`\n};\nconst MissingIndexForInternationalization = {\n name: \"MissingIndexForInternationalizationError\",\n title: \"Index page not found.\",\n message: (defaultLocale) => `Could not find index page. A root index page is required in order to create a redirect to the index URL of the default locale. (\\`/${defaultLocale}\\`)`,\n hint: (src) => `Create an index page (\\`index.astro, index.md, etc.\\`) in \\`${src}\\`.`\n};\nconst IncorrectStrategyForI18n = {\n name: \"IncorrectStrategyForI18n\",\n title: \"You can't use the current function with the current strategy\",\n message: (functionName) => `The function \\`${functionName}\\` can only be used when the \\`i18n.routing.strategy\\` is set to \\`\"manual\"\\`.`\n};\nconst NoPrerenderedRoutesWithDomains = {\n name: \"NoPrerenderedRoutesWithDomains\",\n title: \"Prerendered routes aren't supported when internationalization domains are enabled.\",\n message: (component) => `Static pages aren't yet supported with multiple domains. To enable this feature, you must disable prerendering for the page ${component}`\n};\nconst MissingMiddlewareForInternationalization = {\n name: \"MissingMiddlewareForInternationalization\",\n title: \"Enabled manual internationalization routing without having a middleware.\",\n message: \"Your configuration setting `i18n.routing: 'manual'` requires you to provide your own i18n `middleware` file.\"\n};\nconst RewriteEncounteredAnError = {\n name: \"RewriteEncounteredAnError\",\n title: \"Astro couldn't find the route to rewrite, or if was found but it emitted an error during the rendering phase.\",\n message: (route, stack) => `The route ${route} that you tried to render doesn't exist, or it emitted an error during the rendering phase. ${stack ? stack : \"\"}.`\n};\nconst CantRenderPage = {\n name: \"CantRenderPage\",\n title: \"Astro can't render the route.\",\n message: \"Astro cannot find any content to render for this route. There is no file or redirect associated with this route.\",\n hint: \"If you expect to find a route here, this may be an Astro bug. Please file an issue/restart the dev server\"\n};\nconst UnhandledRejection = {\n name: \"UnhandledRejection\",\n title: \"Unhandled rejection\",\n message: (stack) => `Astro detected an unhandled rejection. Here's the stack trace:\n${stack}`,\n hint: \"Make sure your promises all have an `await` or a `.catch()` handler.\"\n};\nconst i18nNotEnabled = {\n name: \"i18nNotEnabled\",\n title: \"i18n Not Enabled\",\n message: \"The `astro:i18n` module can not be used without enabling i18n in your Astro config.\",\n hint: \"See https://docs.astro.build/en/guides/internationalization for a guide on setting up i18n.\"\n};\nconst i18nNoLocaleFoundInPath = {\n name: \"i18nNoLocaleFoundInPath\",\n title: \"The path doesn't contain any locale\",\n message: \"You tried to use an i18n utility on a path that doesn't contain any locale. You can use `pathHasLocale` first to determine if the path has a locale.\"\n};\nconst RouteNotFound = {\n name: \"RouteNotFound\",\n title: \"Route not found.\",\n message: `Astro could not find a route that matches the one you requested.`\n};\nconst EnvInvalidVariables = {\n name: \"EnvInvalidVariables\",\n title: \"Invalid Environment Variables\",\n message: (errors) => `The following environment variables defined in \\`experimental.env.schema\\` are invalid:\n\n${errors.map((err) => `- ${err}`).join(\"\\n\")}\n`\n};\nconst EnvUnsupportedGetSecret = {\n name: \"EnvUnsupportedGetSecret\",\n title: \"Unsupported astro:env getSecret\",\n message: \"`astro:env/server` exported function `getSecret` is not supported by your adapter.\"\n};\nconst ServerOnlyModule = {\n name: \"ServerOnlyModule\",\n title: \"Module is only available server-side\",\n message: (name) => `The \"${name}\" module is only available server-side.`\n};\nconst RewriteWithBodyUsed = {\n name: \"RewriteWithBodyUsed\",\n title: \"Cannot use Astro.rewrite after the request body has been read\",\n message: \"Astro.rewrite() cannot be used if the request body has already been read. If you need to read the body, first clone the request.\"\n};\nconst UnknownFilesystemError = {\n name: \"UnknownFilesystemError\",\n title: \"An unknown error occurred while reading or writing files to disk.\",\n hint: \"It can be caused by many things, eg. missing permissions or a file not existing we attempt to read. Check the error cause for more details.\"\n};\nconst UnknownCSSError = {\n name: \"UnknownCSSError\",\n title: \"Unknown CSS Error.\"\n};\nconst CSSSyntaxError = {\n name: \"CSSSyntaxError\",\n title: \"CSS Syntax Error.\"\n};\nconst UnknownMarkdownError = {\n name: \"UnknownMarkdownError\",\n title: \"Unknown Markdown Error.\"\n};\nconst MarkdownFrontmatterParseError = {\n name: \"MarkdownFrontmatterParseError\",\n title: \"Failed to parse Markdown frontmatter.\"\n};\nconst InvalidFrontmatterInjectionError = {\n name: \"InvalidFrontmatterInjectionError\",\n title: \"Invalid frontmatter injection.\",\n message: 'A remark or rehype plugin attempted to inject invalid frontmatter. Ensure \"astro.frontmatter\" is set to a valid JSON object that is not `null` or `undefined`.',\n hint: \"See the frontmatter injection docs https://docs.astro.build/en/guides/markdown-content/#modifying-frontmatter-programmatically for more information.\"\n};\nconst MdxIntegrationMissingError = {\n name: \"MdxIntegrationMissingError\",\n title: \"MDX integration missing.\",\n message: (file) => `Unable to render ${file}. Ensure that the \\`@astrojs/mdx\\` integration is installed.`,\n hint: \"See the MDX integration docs for installation and usage instructions: https://docs.astro.build/en/guides/integrations-guide/mdx/\"\n};\nconst UnknownConfigError = {\n name: \"UnknownConfigError\",\n title: \"Unknown configuration error.\"\n};\nconst ConfigNotFound = {\n name: \"ConfigNotFound\",\n title: \"Specified configuration file not found.\",\n message: (configFile) => `Unable to resolve \\`--config \"${configFile}\"\\`. Does the file exist?`\n};\nconst ConfigLegacyKey = {\n name: \"ConfigLegacyKey\",\n title: \"Legacy configuration detected.\",\n message: (legacyConfigKey) => `Legacy configuration detected: \\`${legacyConfigKey}\\`.`,\n hint: \"Please update your configuration to the new format.\\nSee https://astro.build/config for more information.\"\n};\nconst UnknownCLIError = {\n name: \"UnknownCLIError\",\n title: \"Unknown CLI Error.\"\n};\nconst GenerateContentTypesError = {\n name: \"GenerateContentTypesError\",\n title: \"Failed to generate content types.\",\n message: (errorMessage) => `\\`astro sync\\` command failed to generate content collection types: ${errorMessage}`,\n hint: \"Check your `src/content/config.*` file for typos.\"\n};\nconst UnknownContentCollectionError = {\n name: \"UnknownContentCollectionError\",\n title: \"Unknown Content Collection Error.\"\n};\nconst GetEntryDeprecationError = {\n name: \"GetEntryDeprecationError\",\n title: \"Invalid use of `getDataEntryById` or `getEntryBySlug` function.\",\n message: (collection, method) => `The \\`${method}\\` function is deprecated and cannot be used to query the \"${collection}\" collection. Use \\`getEntry\\` instead.`,\n hint: \"Use the `getEntry` or `getCollection` functions to query content layer collections.\"\n};\nconst InvalidContentEntryFrontmatterError = {\n name: \"InvalidContentEntryFrontmatterError\",\n title: \"Content entry frontmatter does not match schema.\",\n message(collection, entryId, error) {\n return [\n `**${String(collection)} \\u2192 ${String(\n entryId\n )}** frontmatter does not match collection schema.`,\n ...error.errors.map((zodError) => zodError.message)\n ].join(\"\\n\");\n },\n hint: \"See https://docs.astro.build/en/guides/content-collections/ for more information on content schemas.\"\n};\nconst InvalidContentEntrySlugError = {\n name: \"InvalidContentEntrySlugError\",\n title: \"Invalid content entry slug.\",\n message(collection, entryId) {\n return `${String(collection)} \\u2192 ${String(\n entryId\n )} has an invalid slug. \\`slug\\` must be a string.`;\n },\n hint: \"See https://docs.astro.build/en/guides/content-collections/ for more on the `slug` field.\"\n};\nconst ContentSchemaContainsSlugError = {\n name: \"ContentSchemaContainsSlugError\",\n title: \"Content Schema should not contain `slug`.\",\n message: (collectionName) => `A content collection schema should not contain \\`slug\\` since it is reserved for slug generation. Remove this from your ${collectionName} collection schema.`,\n hint: \"See https://docs.astro.build/en/guides/content-collections/ for more on the `slug` field.\"\n};\nconst CollectionDoesNotExistError = {\n name: \"CollectionDoesNotExistError\",\n title: \"Collection does not exist\",\n message: (collectionName) => `The collection **${collectionName}** does not exist. Ensure a collection directory with this name exists.`,\n hint: \"See https://docs.astro.build/en/guides/content-collections/ for more on creating collections.\"\n};\nconst MixedContentDataCollectionError = {\n name: \"MixedContentDataCollectionError\",\n title: \"Content and data cannot be in same collection.\",\n message: (collectionName) => `**${collectionName}** contains a mix of content and data entries. All entries must be of the same type.`,\n hint: \"Store data entries in a new collection separate from your content collection.\"\n};\nconst ContentCollectionTypeMismatchError = {\n name: \"ContentCollectionTypeMismatchError\",\n title: \"Collection contains entries of a different type.\",\n message: (collection, expectedType, actualType) => `${collection} contains ${expectedType} entries, but is configured as a ${actualType} collection.`\n};\nconst DataCollectionEntryParseError = {\n name: \"DataCollectionEntryParseError\",\n title: \"Data collection entry failed to parse.\",\n message(entryId, errorMessage) {\n return `**${entryId}** failed to parse: ${errorMessage}`;\n },\n hint: \"Ensure your data entry is an object with valid JSON (for `.json` entries) or YAML (for `.yaml` entries).\"\n};\nconst DuplicateContentEntrySlugError = {\n name: \"DuplicateContentEntrySlugError\",\n title: \"Duplicate content entry slug.\",\n message(collection, slug, preExisting, alsoFound) {\n return `**${collection}** contains multiple entries with the same slug: \\`${slug}\\`. Slugs must be unique.\n\nEntries: \n- ${preExisting}\n- ${alsoFound}`;\n }\n};\nconst UnsupportedConfigTransformError = {\n name: \"UnsupportedConfigTransformError\",\n title: \"Unsupported transform in content config.\",\n message: (parseError) => `\\`transform()\\` functions in your content config must return valid JSON, or data types compatible with the devalue library (including Dates, Maps, and Sets).\nFull error: ${parseError}`,\n hint: \"See the devalue library for all supported types: https://github.com/rich-harris/devalue\"\n};\nconst ActionsWithoutServerOutputError = {\n name: \"ActionsWithoutServerOutputError\",\n title: \"Actions must be used with server output.\",\n message: \"Actions enabled without setting a server build output. A server is required to create callable backend functions. To deploy routes to a server, add a server adapter to your astro config.\",\n hint: \"Learn about on-demand rendering: https://docs.astro.build/en/basics/rendering-modes/#on-demand-rendered\"\n};\nconst ActionsUsedWithForGetError = {\n name: \"ActionsUsedWithForGetError\",\n title: \"An invalid Action query string was passed by a form.\",\n message: (actionName) => `Action ${actionName} was called from a form using a GET request, but only POST requests are supported. This often occurs if \\`method=\"POST\"\\` is missing on the form.`,\n hint: \"Actions are experimental. Visit the RFC for usage instructions: https://github.com/withastro/roadmap/blob/actions/proposals/0046-actions.md\"\n};\nconst ActionQueryStringInvalidError = {\n name: \"ActionQueryStringInvalidError\",\n title: \"An invalid Action query string was passed by a form.\",\n message: (actionName) => `The server received the query string \\`?_astroAction=${actionName}\\`, but could not find an action with that name. If you changed an action's name in development, remove this query param from your URL and refresh.`,\n hint: \"Actions are experimental. Visit the RFC for usage instructions: https://github.com/withastro/roadmap/blob/actions/proposals/0046-actions.md\"\n};\nconst ActionCalledFromServerError = {\n name: \"ActionCalledFromServerError\",\n title: \"Action unexpected called from the server.\",\n message: \"Action called from a server page or endpoint without using `Astro.callAction()`.\",\n hint: \"See the RFC section on server calls for usage instructions: https://github.com/withastro/roadmap/blob/actions/proposals/0046-actions.md#call-actions-directly-from-server-code\"\n};\nconst UnknownError = { name: \"UnknownError\", title: \"Unknown Error.\" };\nexport {\n ActionCalledFromServerError,\n ActionQueryStringInvalidError,\n ActionsUsedWithForGetError,\n ActionsWithoutServerOutputError,\n AstroGlobNoMatch,\n AstroGlobUsedOutside,\n AstroResponseHeadersReassigned,\n CSSSyntaxError,\n CantRenderPage,\n ClientAddressNotAvailable,\n CollectionDoesNotExistError,\n ConfigLegacyKey,\n ConfigNotFound,\n ContentCollectionTypeMismatchError,\n ContentSchemaContainsSlugError,\n CouldNotTransformImage,\n DataCollectionEntryParseError,\n DuplicateContentEntrySlugError,\n EndpointDidNotReturnAResponse,\n EnvInvalidVariables,\n EnvUnsupportedGetSecret,\n ExpectedImage,\n ExpectedImageOptions,\n ExpectedNotESMImage,\n FailedToFetchRemoteImageDimensions,\n FailedToFindPageMapSSR,\n FailedToLoadModuleSSR,\n GenerateContentTypesError,\n GetEntryDeprecationError,\n GetStaticPathsExpectedParams,\n GetStaticPathsInvalidRouteParam,\n GetStaticPathsRemovedRSSHelper,\n GetStaticPathsRequired,\n ImageMissingAlt,\n ImageNotFound,\n IncompatibleDescriptorOptions,\n IncorrectStrategyForI18n,\n InvalidComponentArgs,\n InvalidContentEntryFrontmatterError,\n InvalidContentEntrySlugError,\n InvalidDynamicRoute,\n InvalidFrontmatterInjectionError,\n InvalidGetStaticPathParam,\n InvalidGetStaticPathsEntry,\n InvalidGetStaticPathsReturn,\n InvalidGlob,\n InvalidImageService,\n InvalidPrerenderExport,\n LocalImageUsedWrongly,\n LocalsNotAnObject,\n MarkdownFrontmatterParseError,\n MarkdownImageNotFound,\n MdxIntegrationMissingError,\n MiddlewareCantBeLoaded,\n MiddlewareNoDataOrNextCalled,\n MiddlewareNotAResponse,\n MissingImageDimension,\n MissingIndexForInternationalization,\n MissingLocale,\n MissingMediaQueryDirective,\n MissingMiddlewareForInternationalization,\n MissingSharp,\n MixedContentDataCollectionError,\n NoAdapterInstalled,\n NoClientEntrypoint,\n NoClientOnlyHint,\n NoImageMetadata,\n NoMatchingImport,\n NoMatchingRenderer,\n NoMatchingStaticPathFound,\n NoPrerenderedRoutesWithDomains,\n OnlyResponseCanBeReturned,\n PageNumberParamNotFound,\n PrerenderClientAddressNotAvailable,\n PrerenderDynamicEndpointPathCollide,\n RedirectWithNoLocation,\n ReservedSlotName,\n ResponseSentError,\n RewriteEncounteredAnError,\n RewriteWithBodyUsed,\n RouteNotFound,\n ServerOnlyModule,\n StaticClientAddressNotAvailable,\n StaticRedirectNotAvailable,\n UnhandledRejection,\n UnknownCLIError,\n UnknownCSSError,\n UnknownCompilerError,\n UnknownConfigError,\n UnknownContentCollectionError,\n UnknownError,\n UnknownFilesystemError,\n UnknownMarkdownError,\n UnknownViteError,\n UnsupportedConfigTransformError,\n UnsupportedImageConversion,\n UnsupportedImageFormat,\n i18nNoLocaleFoundInPath,\n i18nNotEnabled\n};\n","function positionAt(offset, text) {\n const lineOffsets = getLineOffsets(text);\n offset = Math.max(0, Math.min(text.length, offset));\n let low = 0;\n let high = lineOffsets.length;\n if (high === 0) {\n return {\n line: 0,\n column: offset\n };\n }\n while (low <= high) {\n const mid = Math.floor((low + high) / 2);\n const lineOffset = lineOffsets[mid];\n if (lineOffset === offset) {\n return {\n line: mid,\n column: 0\n };\n } else if (offset > lineOffset) {\n low = mid + 1;\n } else {\n high = mid - 1;\n }\n }\n const line = low - 1;\n return { line, column: offset - lineOffsets[line] };\n}\nfunction getLineOffsets(text) {\n const lineOffsets = [];\n let isLineStart = true;\n for (let i = 0; i < text.length; i++) {\n if (isLineStart) {\n lineOffsets.push(i);\n isLineStart = false;\n }\n const ch = text.charAt(i);\n isLineStart = ch === \"\\r\" || ch === \"\\n\";\n if (ch === \"\\r\" && i + 1 < text.length && text.charAt(i + 1) === \"\\n\") {\n i++;\n }\n }\n if (isLineStart && text.length > 0) {\n lineOffsets.push(text.length);\n }\n return lineOffsets;\n}\nfunction isYAMLException(err) {\n return err instanceof Error && err.name === \"YAMLException\";\n}\nfunction formatYAMLException(e) {\n return {\n name: e.name,\n id: e.mark.name,\n loc: { file: e.mark.name, line: e.mark.line + 1, column: e.mark.column },\n message: e.reason,\n stack: e.stack ?? \"\"\n };\n}\nfunction createSafeError(err) {\n if (err instanceof Error || err?.name && err.message) {\n return err;\n } else {\n const error = new Error(JSON.stringify(err));\n error.hint = `To get as much information as possible from your errors, make sure to throw Error objects instead of \\`${typeof err}\\`. See https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Error for more information.`;\n return error;\n }\n}\nfunction normalizeLF(code) {\n return code.replace(/\\r\\n|\\r(?!\\n)|\\n/g, \"\\n\");\n}\nexport {\n createSafeError,\n formatYAMLException,\n isYAMLException,\n normalizeLF,\n positionAt\n};\n","import { normalizeLF } from \"./utils.js\";\nfunction codeFrame(src, loc) {\n if (!loc || loc.line === void 0 || loc.column === void 0) {\n return \"\";\n }\n const lines = normalizeLF(src).split(\"\\n\").map((ln) => ln.replace(/\\t/g, \" \"));\n const visibleLines = [];\n for (let n = -2; n <= 2; n++) {\n if (lines[loc.line + n]) visibleLines.push(loc.line + n);\n }\n let gutterWidth = 0;\n for (const lineNo of visibleLines) {\n let w = `> ${lineNo}`;\n if (w.length > gutterWidth) gutterWidth = w.length;\n }\n let output = \"\";\n for (const lineNo of visibleLines) {\n const isFocusedLine = lineNo === loc.line - 1;\n output += isFocusedLine ? \"> \" : \" \";\n output += `${lineNo + 1} | ${lines[lineNo]}\n`;\n if (isFocusedLine)\n output += `${Array.from({ length: gutterWidth }).join(\" \")} | ${Array.from({\n length: loc.column\n }).join(\" \")}^\n`;\n }\n return output;\n}\nexport {\n codeFrame\n};\n","import { codeFrame } from \"./printer.js\";\nfunction isAstroError(e) {\n return e instanceof AstroError;\n}\nclass AstroError extends Error {\n loc;\n title;\n hint;\n frame;\n type = \"AstroError\";\n constructor(props, options) {\n const { name, title, message, stack, location, hint, frame } = props;\n super(message, options);\n this.title = title;\n this.name = name;\n if (message) this.message = message;\n this.stack = stack ? stack : this.stack;\n this.loc = location;\n this.hint = hint;\n this.frame = frame;\n }\n setLocation(location) {\n this.loc = location;\n }\n setName(name) {\n this.name = name;\n }\n setMessage(message) {\n this.message = message;\n }\n setHint(hint) {\n this.hint = hint;\n }\n setFrame(source, location) {\n this.frame = codeFrame(source, location);\n }\n static is(err) {\n return err.type === \"AstroError\";\n }\n}\nclass CompilerError extends AstroError {\n type = \"CompilerError\";\n constructor(props, options) {\n super(props, options);\n }\n static is(err) {\n return err.type === \"CompilerError\";\n }\n}\nclass CSSError extends AstroError {\n type = \"CSSError\";\n static is(err) {\n return err.type === \"CSSError\";\n }\n}\nclass MarkdownError extends AstroError {\n type = \"MarkdownError\";\n static is(err) {\n return err.type === \"MarkdownError\";\n }\n}\nclass InternalError extends AstroError {\n type = \"InternalError\";\n static is(err) {\n return err.type === \"InternalError\";\n }\n}\nclass AggregateError extends AstroError {\n type = \"AggregateError\";\n errors;\n // Despite being a collection of errors, AggregateError still needs to have a main error attached to it\n // This is because Vite expects every thrown errors handled during HMR to be, well, Error and have a message\n constructor(props, options) {\n super(props, options);\n this.errors = props.errors;\n }\n static is(err) {\n return err.type === \"AggregateError\";\n }\n}\nconst astroConfigZodErrors = /* @__PURE__ */ new WeakSet();\nfunction isAstroConfigZodError(error) {\n return astroConfigZodErrors.has(error);\n}\nfunction trackAstroConfigZodError(error) {\n astroConfigZodErrors.add(error);\n}\nclass AstroUserError extends Error {\n type = \"AstroUserError\";\n /**\n * A message that explains to the user how they can fix the error.\n */\n hint;\n name = \"AstroUserError\";\n constructor(message, hint) {\n super();\n this.message = message;\n this.hint = hint;\n }\n static is(err) {\n return err.type === \"AstroUserError\";\n }\n}\nexport {\n AggregateError,\n AstroError,\n AstroUserError,\n CSSError,\n CompilerError,\n InternalError,\n MarkdownError,\n isAstroConfigZodError,\n isAstroError,\n trackAstroConfigZodError\n};\n","import { AstroError, AstroErrorData } from \"../../core/errors/index.js\";\nfunction validateArgs(args) {\n if (args.length !== 3) return false;\n if (!args[0] || typeof args[0] !== \"object\") return false;\n return true;\n}\nfunction baseCreateComponent(cb, moduleId, propagation) {\n const name = moduleId?.split(\"/\").pop()?.replace(\".astro\", \"\") ?? \"\";\n const fn = (...args) => {\n if (!validateArgs(args)) {\n throw new AstroError({\n ...AstroErrorData.InvalidComponentArgs,\n message: AstroErrorData.InvalidComponentArgs.message(name)\n });\n }\n return cb(...args);\n };\n Object.defineProperty(fn, \"name\", { value: name, writable: false });\n fn.isAstroComponentFactory = true;\n fn.moduleId = moduleId;\n fn.propagation = propagation;\n return fn;\n}\nfunction createComponentWithOptions(opts) {\n const cb = baseCreateComponent(opts.factory, opts.moduleId, opts.propagation);\n return cb;\n}\nfunction createComponent(arg1, moduleId, propagation) {\n if (typeof arg1 === \"function\") {\n return baseCreateComponent(arg1, moduleId, propagation);\n } else {\n return createComponentWithOptions(arg1);\n }\n}\nexport {\n createComponent\n};\n","const ASTRO_VERSION = \"4.14.2\";\nconst REROUTE_DIRECTIVE_HEADER = \"X-Astro-Reroute\";\nconst REWRITE_DIRECTIVE_HEADER_KEY = \"X-Astro-Rewrite\";\nconst REWRITE_DIRECTIVE_HEADER_VALUE = \"yes\";\nconst ROUTE_TYPE_HEADER = \"X-Astro-Route-Type\";\nconst DEFAULT_404_COMPONENT = \"astro-default-404.astro\";\nconst DEFAULT_500_COMPONENT = \"astro-default-500.astro\";\nconst REROUTABLE_STATUS_CODES = [404, 500];\nconst clientAddressSymbol = Symbol.for(\"astro.clientAddress\");\nconst clientLocalsSymbol = Symbol.for(\"astro.locals\");\nconst responseSentSymbol = Symbol.for(\"astro.responseSent\");\nconst SUPPORTED_MARKDOWN_FILE_EXTENSIONS = [\n \".markdown\",\n \".mdown\",\n \".mkdn\",\n \".mkd\",\n \".mdwn\",\n \".md\"\n];\nconst MIDDLEWARE_PATH_SEGMENT_NAME = \"middleware\";\nexport {\n ASTRO_VERSION,\n DEFAULT_404_COMPONENT,\n DEFAULT_500_COMPONENT,\n MIDDLEWARE_PATH_SEGMENT_NAME,\n REROUTABLE_STATUS_CODES,\n REROUTE_DIRECTIVE_HEADER,\n REWRITE_DIRECTIVE_HEADER_KEY,\n REWRITE_DIRECTIVE_HEADER_VALUE,\n ROUTE_TYPE_HEADER,\n SUPPORTED_MARKDOWN_FILE_EXTENSIONS,\n clientAddressSymbol,\n clientLocalsSymbol,\n responseSentSymbol\n};\n","import { ASTRO_VERSION } from \"../../core/constants.js\";\nimport { AstroError, AstroErrorData } from \"../../core/errors/index.js\";\nfunction createAstroGlobFn() {\n const globHandler = (importMetaGlobResult) => {\n if (typeof importMetaGlobResult === \"string\") {\n throw new AstroError({\n ...AstroErrorData.AstroGlobUsedOutside,\n message: AstroErrorData.AstroGlobUsedOutside.message(JSON.stringify(importMetaGlobResult))\n });\n }\n let allEntries = [...Object.values(importMetaGlobResult)];\n if (allEntries.length === 0) {\n throw new AstroError({\n ...AstroErrorData.AstroGlobNoMatch,\n message: AstroErrorData.AstroGlobNoMatch.message(JSON.stringify(importMetaGlobResult))\n });\n }\n return Promise.all(allEntries.map((fn) => fn()));\n };\n return globHandler;\n}\nfunction createAstro(site) {\n return {\n // TODO: this is no longer necessary for `Astro.site`\n // but it somehow allows working around caching issues in content collections for some tests\n site: site ? new URL(site) : void 0,\n generator: `Astro v${ASTRO_VERSION}`,\n glob: createAstroGlobFn()\n };\n}\nexport {\n createAstro\n};\n","function isPromise(value) {\n return !!value && typeof value === \"object\" && \"then\" in value && typeof value.then === \"function\";\n}\nasync function* streamAsyncIterator(stream) {\n const reader = stream.getReader();\n try {\n while (true) {\n const { done, value } = await reader.read();\n if (done) return;\n yield value;\n }\n } finally {\n reader.releaseLock();\n }\n}\nexport {\n isPromise,\n streamAsyncIterator\n};\n","import { escape } from \"html-escaper\";\nimport { streamAsyncIterator } from \"./util.js\";\nconst escapeHTML = escape;\nclass HTMLBytes extends Uint8Array {\n}\nObject.defineProperty(HTMLBytes.prototype, Symbol.toStringTag, {\n get() {\n return \"HTMLBytes\";\n }\n});\nclass HTMLString extends String {\n get [Symbol.toStringTag]() {\n return \"HTMLString\";\n }\n}\nconst markHTMLString = (value) => {\n if (value instanceof HTMLString) {\n return value;\n }\n if (typeof value === \"string\") {\n return new HTMLString(value);\n }\n return value;\n};\nfunction isHTMLString(value) {\n return Object.prototype.toString.call(value) === \"[object HTMLString]\";\n}\nfunction markHTMLBytes(bytes) {\n return new HTMLBytes(bytes);\n}\nfunction isHTMLBytes(value) {\n return Object.prototype.toString.call(value) === \"[object HTMLBytes]\";\n}\nfunction hasGetReader(obj) {\n return typeof obj.getReader === \"function\";\n}\nasync function* unescapeChunksAsync(iterable) {\n if (hasGetReader(iterable)) {\n for await (const chunk of streamAsyncIterator(iterable)) {\n yield unescapeHTML(chunk);\n }\n } else {\n for await (const chunk of iterable) {\n yield unescapeHTML(chunk);\n }\n }\n}\nfunction* unescapeChunks(iterable) {\n for (const chunk of iterable) {\n yield unescapeHTML(chunk);\n }\n}\nfunction unescapeHTML(str) {\n if (!!str && typeof str === \"object\") {\n if (str instanceof Uint8Array) {\n return markHTMLBytes(str);\n } else if (str instanceof Response && str.body) {\n const body = str.body;\n return unescapeChunksAsync(body);\n } else if (typeof str.then === \"function\") {\n return Promise.resolve(str).then((value) => {\n return unescapeHTML(value);\n });\n } else if (str[Symbol.for(\"astro:slot-string\")]) {\n return str;\n } else if (Symbol.iterator in str) {\n return unescapeChunks(str);\n } else if (Symbol.asyncIterator in str || hasGetReader(str)) {\n return unescapeChunksAsync(str);\n }\n }\n return markHTMLString(str);\n}\nexport {\n HTMLBytes,\n HTMLString,\n escapeHTML,\n isHTMLBytes,\n isHTMLString,\n markHTMLString,\n unescapeHTML\n};\n","const RenderInstructionSymbol = Symbol.for(\"astro:render\");\nfunction createRenderInstruction(instruction) {\n return Object.defineProperty(instruction, RenderInstructionSymbol, {\n value: true\n });\n}\nfunction isRenderInstruction(chunk) {\n return chunk && typeof chunk === \"object\" && chunk[RenderInstructionSymbol];\n}\nexport {\n createRenderInstruction,\n isRenderInstruction\n};\n","const PROP_TYPE = {\n Value: 0,\n JSON: 1,\n // Actually means Array\n RegExp: 2,\n Date: 3,\n Map: 4,\n Set: 5,\n BigInt: 6,\n URL: 7,\n Uint8Array: 8,\n Uint16Array: 9,\n Uint32Array: 10\n};\nfunction serializeArray(value, metadata = {}, parents = /* @__PURE__ */ new WeakSet()) {\n if (parents.has(value)) {\n throw new Error(`Cyclic reference detected while serializing props for <${metadata.displayName} client:${metadata.hydrate}>!\n\nCyclic references cannot be safely serialized for client-side usage. Please remove the cyclic reference.`);\n }\n parents.add(value);\n const serialized = value.map((v) => {\n return convertToSerializedForm(v, metadata, parents);\n });\n parents.delete(value);\n return serialized;\n}\nfunction serializeObject(value, metadata = {}, parents = /* @__PURE__ */ new WeakSet()) {\n if (parents.has(value)) {\n throw new Error(`Cyclic reference detected while serializing props for <${metadata.displayName} client:${metadata.hydrate}>!\n\nCyclic references cannot be safely serialized for client-side usage. Please remove the cyclic reference.`);\n }\n parents.add(value);\n const serialized = Object.fromEntries(\n Object.entries(value).map(([k, v]) => {\n return [k, convertToSerializedForm(v, metadata, parents)];\n })\n );\n parents.delete(value);\n return serialized;\n}\nfunction convertToSerializedForm(value, metadata = {}, parents = /* @__PURE__ */ new WeakSet()) {\n const tag = Object.prototype.toString.call(value);\n switch (tag) {\n case \"[object Date]\": {\n return [PROP_TYPE.Date, value.toISOString()];\n }\n case \"[object RegExp]\": {\n return [PROP_TYPE.RegExp, value.source];\n }\n case \"[object Map]\": {\n return [PROP_TYPE.Map, serializeArray(Array.from(value), metadata, parents)];\n }\n case \"[object Set]\": {\n return [PROP_TYPE.Set, serializeArray(Array.from(value), metadata, parents)];\n }\n case \"[object BigInt]\": {\n return [PROP_TYPE.BigInt, value.toString()];\n }\n case \"[object URL]\": {\n return [PROP_TYPE.URL, value.toString()];\n }\n case \"[object Array]\": {\n return [PROP_TYPE.JSON, serializeArray(value, metadata, parents)];\n }\n case \"[object Uint8Array]\": {\n return [PROP_TYPE.Uint8Array, Array.from(value)];\n }\n case \"[object Uint16Array]\": {\n return [PROP_TYPE.Uint16Array, Array.from(value)];\n }\n case \"[object Uint32Array]\": {\n return [PROP_TYPE.Uint32Array, Array.from(value)];\n }\n default: {\n if (value !== null && typeof value === \"object\") {\n return [PROP_TYPE.Value, serializeObject(value, metadata, parents)];\n } else if (value === void 0) {\n return [PROP_TYPE.Value];\n } else {\n return [PROP_TYPE.Value, value];\n }\n }\n }\n}\nfunction serializeProps(props, metadata) {\n const serialized = JSON.stringify(serializeObject(props, metadata));\n return serialized;\n}\nexport {\n serializeProps\n};\n","import { AstroError, AstroErrorData } from \"../../core/errors/index.js\";\nimport { escapeHTML } from \"./escape.js\";\nimport { serializeProps } from \"./serialize.js\";\nconst transitionDirectivesToCopyOnIsland = Object.freeze([\n \"data-astro-transition-scope\",\n \"data-astro-transition-persist\",\n \"data-astro-transition-persist-props\"\n]);\nfunction extractDirectives(inputProps, clientDirectives) {\n let extracted = {\n isPage: false,\n hydration: null,\n props: {},\n propsWithoutTransitionAttributes: {}\n };\n for (const [key, value] of Object.entries(inputProps)) {\n if (key.startsWith(\"server:\")) {\n if (key === \"server:root\") {\n extracted.isPage = true;\n }\n }\n if (key.startsWith(\"client:\")) {\n if (!extracted.hydration) {\n extracted.hydration = {\n directive: \"\",\n value: \"\",\n componentUrl: \"\",\n componentExport: { value: \"\" }\n };\n }\n switch (key) {\n case \"client:component-path\": {\n extracted.hydration.componentUrl = value;\n break;\n }\n case \"client:component-export\": {\n extracted.hydration.componentExport.value = value;\n break;\n }\n case \"client:component-hydration\": {\n break;\n }\n case \"client:display-name\": {\n break;\n }\n default: {\n extracted.hydration.directive = key.split(\":\")[1];\n extracted.hydration.value = value;\n if (!clientDirectives.has(extracted.hydration.directive)) {\n const hydrationMethods = Array.from(clientDirectives.keys()).map((d) => `client:${d}`).join(\", \");\n throw new Error(\n `Error: invalid hydration directive \"${key}\". Supported hydration methods: ${hydrationMethods}`\n );\n }\n if (extracted.hydration.directive === \"media\" && typeof extracted.hydration.value !== \"string\") {\n throw new AstroError(AstroErrorData.MissingMediaQueryDirective);\n }\n break;\n }\n }\n } else {\n extracted.props[key] = value;\n if (!transitionDirectivesToCopyOnIsland.includes(key)) {\n extracted.propsWithoutTransitionAttributes[key] = value;\n }\n }\n }\n for (const sym of Object.getOwnPropertySymbols(inputProps)) {\n extracted.props[sym] = inputProps[sym];\n extracted.propsWithoutTransitionAttributes[sym] = inputProps[sym];\n }\n return extracted;\n}\nasync function generateHydrateScript(scriptOptions, metadata) {\n const { renderer, result, astroId, props, attrs } = scriptOptions;\n const { hydrate, componentUrl, componentExport } = metadata;\n if (!componentExport.value) {\n throw new AstroError({\n ...AstroErrorData.NoMatchingImport,\n message: AstroErrorData.NoMatchingImport.message(metadata.displayName)\n });\n }\n const island = {\n children: \"\",\n props: {\n // This is for HMR, probably can avoid it in prod\n uid: astroId\n }\n };\n if (attrs) {\n for (const [key, value] of Object.entries(attrs)) {\n island.props[key] = escapeHTML(value);\n }\n }\n island.props[\"component-url\"] = await result.resolve(decodeURI(componentUrl));\n if (renderer.clientEntrypoint) {\n island.props[\"component-export\"] = componentExport.value;\n island.props[\"renderer-url\"] = await result.resolve(decodeURI(renderer.clientEntrypoint));\n island.props[\"props\"] = escapeHTML(serializeProps(props, metadata));\n }\n island.props[\"ssr\"] = \"\";\n island.props[\"client\"] = hydrate;\n let beforeHydrationUrl = await result.resolve(\"astro:scripts/before-hydration.js\");\n if (beforeHydrationUrl.length) {\n island.props[\"before-hydration-url\"] = beforeHydrationUrl;\n }\n island.props[\"opts\"] = escapeHTML(\n JSON.stringify({\n name: metadata.displayName,\n value: metadata.hydrateArgs || \"\"\n })\n );\n transitionDirectivesToCopyOnIsland.forEach((name) => {\n if (typeof props[name] !== \"undefined\") {\n island.props[name] = props[name];\n }\n });\n return island;\n}\nexport {\n extractDirectives,\n generateHydrateScript\n};\n","/**\n * shortdash - https://github.com/bibig/node-shorthash\n *\n * @license\n *\n * (The MIT License)\n *\n * Copyright (c) 2013 Bibig \n *\n * Permission is hereby granted, free of charge, to any person\n * obtaining a copy of this software and associated documentation\n * files (the \"Software\"), to deal in the Software without\n * restriction, including without limitation the rights to use,\n * copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the\n * Software is furnished to do so, subject to the following\n * conditions:\n *\n * The above copyright notice and this permission notice shall be\n * included in all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\n * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES\n * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\n * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT\n * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,\n * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING\n * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR\n * OTHER DEALINGS IN THE SOFTWARE.\n */\nconst dictionary = \"0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXY\";\nconst binary = dictionary.length;\nfunction bitwise(str) {\n let hash = 0;\n if (str.length === 0) return hash;\n for (let i = 0; i < str.length; i++) {\n const ch = str.charCodeAt(i);\n hash = (hash << 5) - hash + ch;\n hash = hash & hash;\n }\n return hash;\n}\nfunction shorthash(text) {\n let num;\n let result = \"\";\n let integer = bitwise(text);\n const sign = integer < 0 ? \"Z\" : \"\";\n integer = Math.abs(integer);\n while (integer >= binary) {\n num = integer % binary;\n integer = Math.floor(integer / binary);\n result = dictionary[num] + result;\n }\n if (integer > 0) {\n result = dictionary[integer] + result;\n }\n return sign + result;\n}\nexport {\n shorthash\n};\n","function isAstroComponentFactory(obj) {\n return obj == null ? false : obj.isAstroComponentFactory === true;\n}\nfunction isAPropagatingComponent(result, factory) {\n let hint = factory.propagation || \"none\";\n if (factory.moduleId && result.componentMetadata.has(factory.moduleId) && hint === \"none\") {\n hint = result.componentMetadata.get(factory.moduleId).propagation;\n }\n return hint === \"in-tree\" || hint === \"self\";\n}\nexport {\n isAPropagatingComponent,\n isAstroComponentFactory\n};\n","const headAndContentSym = Symbol.for(\"astro.headAndContent\");\nfunction isHeadAndContent(obj) {\n return typeof obj === \"object\" && !!obj[headAndContentSym];\n}\nfunction createHeadAndContent(head, content) {\n return {\n [headAndContentSym]: true,\n head,\n content\n };\n}\nexport {\n createHeadAndContent,\n isHeadAndContent\n};\n","var astro_island_prebuilt_dev_default = `(()=>{var A=Object.defineProperty;var g=(i,o,a)=>o in i?A(i,o,{enumerable:!0,configurable:!0,writable:!0,value:a}):i[o]=a;var l=(i,o,a)=>g(i,typeof o!=\"symbol\"?o+\"\":o,a);{let i={0:t=>y(t),1:t=>a(t),2:t=>new RegExp(t),3:t=>new Date(t),4:t=>new Map(a(t)),5:t=>new Set(a(t)),6:t=>BigInt(t),7:t=>new URL(t),8:t=>new Uint8Array(t),9:t=>new Uint16Array(t),10:t=>new Uint32Array(t)},o=t=>{let[h,e]=t;return h in i?i[h](e):void 0},a=t=>t.map(o),y=t=>typeof t!=\"object\"||t===null?t:Object.fromEntries(Object.entries(t).map(([h,e])=>[h,o(e)]));class f extends HTMLElement{constructor(){super(...arguments);l(this,\"Component\");l(this,\"hydrator\");l(this,\"hydrate\",async()=>{var b;if(!this.hydrator||!this.isConnected)return;let e=(b=this.parentElement)==null?void 0:b.closest(\"astro-island[ssr]\");if(e){e.addEventListener(\"astro:hydrate\",this.hydrate,{once:!0});return}let c=this.querySelectorAll(\"astro-slot\"),n={},p=this.querySelectorAll(\"template[data-astro-template]\");for(let r of p){let s=r.closest(this.tagName);s!=null&&s.isSameNode(this)&&(n[r.getAttribute(\"data-astro-template\")||\"default\"]=r.innerHTML,r.remove())}for(let r of c){let s=r.closest(this.tagName);s!=null&&s.isSameNode(this)&&(n[r.getAttribute(\"name\")||\"default\"]=r.innerHTML)}let u;try{u=this.hasAttribute(\"props\")?y(JSON.parse(this.getAttribute(\"props\"))):{}}catch(r){let s=this.getAttribute(\"component-url\")||\"\",v=this.getAttribute(\"component-export\");throw v&&(s+=\\` (export \\${v})\\`),console.error(\\`[hydrate] Error parsing props for component \\${s}\\`,this.getAttribute(\"props\"),r),r}let d,m=this.hydrator(this);d=performance.now(),await m(this.Component,u,n,{client:this.getAttribute(\"client\")}),d&&this.setAttribute(\"client-render-time\",(performance.now()-d).toString()),this.removeAttribute(\"ssr\"),this.dispatchEvent(new CustomEvent(\"astro:hydrate\"))});l(this,\"unmount\",()=>{this.isConnected||this.dispatchEvent(new CustomEvent(\"astro:unmount\"))})}disconnectedCallback(){document.removeEventListener(\"astro:after-swap\",this.unmount),document.addEventListener(\"astro:after-swap\",this.unmount,{once:!0})}connectedCallback(){if(!this.hasAttribute(\"await-children\")||document.readyState===\"interactive\"||document.readyState===\"complete\")this.childrenConnectedCallback();else{let e=()=>{document.removeEventListener(\"DOMContentLoaded\",e),c.disconnect(),this.childrenConnectedCallback()},c=new MutationObserver(()=>{var n;((n=this.lastChild)==null?void 0:n.nodeType)===Node.COMMENT_NODE&&this.lastChild.nodeValue===\"astro:end\"&&(this.lastChild.remove(),e())});c.observe(this,{childList:!0}),document.addEventListener(\"DOMContentLoaded\",e)}}async childrenConnectedCallback(){let e=this.getAttribute(\"before-hydration-url\");e&&await import(e),this.start()}async start(){let e=JSON.parse(this.getAttribute(\"opts\")),c=this.getAttribute(\"client\");if(Astro[c]===void 0){window.addEventListener(\\`astro:\\${c}\\`,()=>this.start(),{once:!0});return}try{await Astro[c](async()=>{let n=this.getAttribute(\"renderer-url\"),[p,{default:u}]=await Promise.all([import(this.getAttribute(\"component-url\")),n?import(n):()=>()=>{}]),d=this.getAttribute(\"component-export\")||\"default\";if(!d.includes(\".\"))this.Component=p[d];else{this.Component=p;for(let m of d.split(\".\"))this.Component=this.Component[m]}return this.hydrator=u,this.hydrate},e,this)}catch(n){console.error(\\`[astro-island] Error hydrating \\${this.getAttribute(\"component-url\")}\\`,n)}}attributeChangedCallback(){this.hydrate()}}l(f,\"observedAttributes\",[\"props\"]),customElements.get(\"astro-island\")||customElements.define(\"astro-island\",f)}})();`;\nexport {\n astro_island_prebuilt_dev_default as default\n};\n","var astro_island_prebuilt_default = `(()=>{var A=Object.defineProperty;var g=(i,o,a)=>o in i?A(i,o,{enumerable:!0,configurable:!0,writable:!0,value:a}):i[o]=a;var d=(i,o,a)=>g(i,typeof o!=\"symbol\"?o+\"\":o,a);{let i={0:t=>m(t),1:t=>a(t),2:t=>new RegExp(t),3:t=>new Date(t),4:t=>new Map(a(t)),5:t=>new Set(a(t)),6:t=>BigInt(t),7:t=>new URL(t),8:t=>new Uint8Array(t),9:t=>new Uint16Array(t),10:t=>new Uint32Array(t)},o=t=>{let[l,e]=t;return l in i?i[l](e):void 0},a=t=>t.map(o),m=t=>typeof t!=\"object\"||t===null?t:Object.fromEntries(Object.entries(t).map(([l,e])=>[l,o(e)]));class y extends HTMLElement{constructor(){super(...arguments);d(this,\"Component\");d(this,\"hydrator\");d(this,\"hydrate\",async()=>{var b;if(!this.hydrator||!this.isConnected)return;let e=(b=this.parentElement)==null?void 0:b.closest(\"astro-island[ssr]\");if(e){e.addEventListener(\"astro:hydrate\",this.hydrate,{once:!0});return}let c=this.querySelectorAll(\"astro-slot\"),n={},h=this.querySelectorAll(\"template[data-astro-template]\");for(let r of h){let s=r.closest(this.tagName);s!=null&&s.isSameNode(this)&&(n[r.getAttribute(\"data-astro-template\")||\"default\"]=r.innerHTML,r.remove())}for(let r of c){let s=r.closest(this.tagName);s!=null&&s.isSameNode(this)&&(n[r.getAttribute(\"name\")||\"default\"]=r.innerHTML)}let p;try{p=this.hasAttribute(\"props\")?m(JSON.parse(this.getAttribute(\"props\"))):{}}catch(r){let s=this.getAttribute(\"component-url\")||\"\",v=this.getAttribute(\"component-export\");throw v&&(s+=\\` (export \\${v})\\`),console.error(\\`[hydrate] Error parsing props for component \\${s}\\`,this.getAttribute(\"props\"),r),r}let u;await this.hydrator(this)(this.Component,p,n,{client:this.getAttribute(\"client\")}),this.removeAttribute(\"ssr\"),this.dispatchEvent(new CustomEvent(\"astro:hydrate\"))});d(this,\"unmount\",()=>{this.isConnected||this.dispatchEvent(new CustomEvent(\"astro:unmount\"))})}disconnectedCallback(){document.removeEventListener(\"astro:after-swap\",this.unmount),document.addEventListener(\"astro:after-swap\",this.unmount,{once:!0})}connectedCallback(){if(!this.hasAttribute(\"await-children\")||document.readyState===\"interactive\"||document.readyState===\"complete\")this.childrenConnectedCallback();else{let e=()=>{document.removeEventListener(\"DOMContentLoaded\",e),c.disconnect(),this.childrenConnectedCallback()},c=new MutationObserver(()=>{var n;((n=this.lastChild)==null?void 0:n.nodeType)===Node.COMMENT_NODE&&this.lastChild.nodeValue===\"astro:end\"&&(this.lastChild.remove(),e())});c.observe(this,{childList:!0}),document.addEventListener(\"DOMContentLoaded\",e)}}async childrenConnectedCallback(){let e=this.getAttribute(\"before-hydration-url\");e&&await import(e),this.start()}async start(){let e=JSON.parse(this.getAttribute(\"opts\")),c=this.getAttribute(\"client\");if(Astro[c]===void 0){window.addEventListener(\\`astro:\\${c}\\`,()=>this.start(),{once:!0});return}try{await Astro[c](async()=>{let n=this.getAttribute(\"renderer-url\"),[h,{default:p}]=await Promise.all([import(this.getAttribute(\"component-url\")),n?import(n):()=>()=>{}]),u=this.getAttribute(\"component-export\")||\"default\";if(!u.includes(\".\"))this.Component=h[u];else{this.Component=h;for(let f of u.split(\".\"))this.Component=this.Component[f]}return this.hydrator=p,this.hydrate},e,this)}catch(n){console.error(\\`[astro-island] Error hydrating \\${this.getAttribute(\"component-url\")}\\`,n)}}attributeChangedCallback(){this.hydrate()}}d(y,\"observedAttributes\",[\"props\"]),customElements.get(\"astro-island\")||customElements.define(\"astro-island\",y)}})();`;\nexport {\n astro_island_prebuilt_default as default\n};\n","import islandScriptDev from \"./astro-island.prebuilt-dev.js\";\nimport islandScript from \"./astro-island.prebuilt.js\";\nconst ISLAND_STYLES = ``;\nfunction determineIfNeedsHydrationScript(result) {\n if (result._metadata.hasHydrationScript) {\n return false;\n }\n return result._metadata.hasHydrationScript = true;\n}\nfunction determinesIfNeedsDirectiveScript(result, directive) {\n if (result._metadata.hasDirectives.has(directive)) {\n return false;\n }\n result._metadata.hasDirectives.add(directive);\n return true;\n}\nfunction getDirectiveScriptText(result, directive) {\n const clientDirectives = result.clientDirectives;\n const clientDirective = clientDirectives.get(directive);\n if (!clientDirective) {\n throw new Error(`Unknown directive: ${directive}`);\n }\n return clientDirective;\n}\nfunction getPrescripts(result, type, directive) {\n switch (type) {\n case \"both\":\n return `${ISLAND_STYLES}`;\n case \"directive\":\n return ``;\n case null:\n break;\n }\n return \"\";\n}\nexport {\n determineIfNeedsHydrationScript,\n determinesIfNeedsDirectiveScript,\n getPrescripts\n};\n","import { clsx } from \"clsx\";\nimport { HTMLString, markHTMLString } from \"../escape.js\";\nconst voidElementNames = /^(area|base|br|col|command|embed|hr|img|input|keygen|link|meta|param|source|track|wbr)$/i;\nconst htmlBooleanAttributes = /^(?:allowfullscreen|async|autofocus|autoplay|controls|default|defer|disabled|disablepictureinpicture|disableremoteplayback|formnovalidate|hidden|loop|nomodule|novalidate|open|playsinline|readonly|required|reversed|scoped|seamless|itemscope)$/i;\nconst htmlEnumAttributes = /^(?:contenteditable|draggable|spellcheck|value)$/i;\nconst svgEnumAttributes = /^(?:autoReverse|externalResourcesRequired|focusable|preserveAlpha)$/i;\nconst AMPERSAND_REGEX = /&/g;\nconst DOUBLE_QUOTE_REGEX = /\"/g;\nconst STATIC_DIRECTIVES = /* @__PURE__ */ new Set([\"set:html\", \"set:text\"]);\nconst toIdent = (k) => k.trim().replace(/(?!^)\\b\\w|\\s+|\\W+/g, (match, index) => {\n if (/\\W/.test(match)) return \"\";\n return index === 0 ? match : match.toUpperCase();\n});\nconst toAttributeString = (value, shouldEscape = true) => shouldEscape ? String(value).replace(AMPERSAND_REGEX, \"&\").replace(DOUBLE_QUOTE_REGEX, \""\") : value;\nconst kebab = (k) => k.toLowerCase() === k ? k : k.replace(/[A-Z]/g, (match) => `-${match.toLowerCase()}`);\nconst toStyleString = (obj) => Object.entries(obj).filter(([_, v]) => typeof v === \"string\" && v.trim() || typeof v === \"number\").map(([k, v]) => {\n if (k[0] !== \"-\" && k[1] !== \"-\") return `${kebab(k)}:${v}`;\n return `${k}:${v}`;\n}).join(\";\");\nfunction defineScriptVars(vars) {\n let output = \"\";\n for (const [key, value] of Object.entries(vars)) {\n output += `const ${toIdent(key)} = ${JSON.stringify(value)?.replace(\n /<\\/script>/g,\n \"\\\\x3C/script>\"\n )};\n`;\n }\n return markHTMLString(output);\n}\nfunction formatList(values) {\n if (values.length === 1) {\n return values[0];\n }\n return `${values.slice(0, -1).join(\", \")} or ${values[values.length - 1]}`;\n}\nfunction addAttribute(value, key, shouldEscape = true) {\n if (value == null) {\n return \"\";\n }\n if (value === false) {\n if (htmlEnumAttributes.test(key) || svgEnumAttributes.test(key)) {\n return markHTMLString(` ${key}=\"false\"`);\n }\n return \"\";\n }\n if (STATIC_DIRECTIVES.has(key)) {\n console.warn(`[astro] The \"${key}\" directive cannot be applied dynamically at runtime. It will not be rendered as an attribute.\n\nMake sure to use the static attribute syntax (\\`${key}={value}\\`) instead of the dynamic spread syntax (\\`{...{ \"${key}\": value }}\\`).`);\n return \"\";\n }\n if (key === \"class:list\") {\n const listValue = toAttributeString(clsx(value), shouldEscape);\n if (listValue === \"\") {\n return \"\";\n }\n return markHTMLString(` ${key.slice(0, -5)}=\"${listValue}\"`);\n }\n if (key === \"style\" && !(value instanceof HTMLString)) {\n if (Array.isArray(value) && value.length === 2) {\n return markHTMLString(\n ` ${key}=\"${toAttributeString(`${toStyleString(value[0])};${value[1]}`, shouldEscape)}\"`\n );\n }\n if (typeof value === \"object\") {\n return markHTMLString(` ${key}=\"${toAttributeString(toStyleString(value), shouldEscape)}\"`);\n }\n }\n if (key === \"className\") {\n return markHTMLString(` class=\"${toAttributeString(value, shouldEscape)}\"`);\n }\n if (typeof value === \"string\" && value.includes(\"&\") && isHttpUrl(value)) {\n return markHTMLString(` ${key}=\"${toAttributeString(value, false)}\"`);\n }\n if (value === true && (key.startsWith(\"data-\") || htmlBooleanAttributes.test(key))) {\n return markHTMLString(` ${key}`);\n } else {\n return markHTMLString(` ${key}=\"${toAttributeString(value, shouldEscape)}\"`);\n }\n}\nfunction internalSpreadAttributes(values, shouldEscape = true) {\n let output = \"\";\n for (const [key, value] of Object.entries(values)) {\n output += addAttribute(value, key, shouldEscape);\n }\n return markHTMLString(output);\n}\nfunction renderElement(name, { props: _props, children = \"\" }, shouldEscape = true) {\n const { lang: _, \"data-astro-id\": astroId, \"define:vars\": defineVars, ...props } = _props;\n if (defineVars) {\n if (name === \"style\") {\n delete props[\"is:global\"];\n delete props[\"is:scoped\"];\n }\n if (name === \"script\") {\n delete props.hoist;\n children = defineScriptVars(defineVars) + \"\\n\" + children;\n }\n }\n if ((children == null || children == \"\") && voidElementNames.test(name)) {\n return `<${name}${internalSpreadAttributes(props, shouldEscape)}>`;\n }\n return `<${name}${internalSpreadAttributes(props, shouldEscape)}>${children}`;\n}\nconst noop = () => {\n};\nclass BufferedRenderer {\n chunks = [];\n renderPromise;\n destination;\n constructor(bufferRenderFunction) {\n this.renderPromise = bufferRenderFunction(this);\n Promise.resolve(this.renderPromise).catch(noop);\n }\n write(chunk) {\n if (this.destination) {\n this.destination.write(chunk);\n } else {\n this.chunks.push(chunk);\n }\n }\n async renderToFinalDestination(destination) {\n for (const chunk of this.chunks) {\n destination.write(chunk);\n }\n this.destination = destination;\n await this.renderPromise;\n }\n}\nfunction renderToBufferDestination(bufferRenderFunction) {\n const renderer = new BufferedRenderer(bufferRenderFunction);\n return renderer;\n}\nconst isNode = typeof process !== \"undefined\" && Object.prototype.toString.call(process) === \"[object process]\";\nconst isDeno = typeof Deno !== \"undefined\";\nfunction promiseWithResolvers() {\n let resolve, reject;\n const promise = new Promise((_resolve, _reject) => {\n resolve = _resolve;\n reject = _reject;\n });\n return {\n promise,\n resolve,\n reject\n };\n}\nconst VALID_PROTOCOLS = [\"http:\", \"https:\"];\nfunction isHttpUrl(url) {\n try {\n const parsedUrl = new URL(url);\n return VALID_PROTOCOLS.includes(parsedUrl.protocol);\n } catch {\n return false;\n }\n}\nexport {\n addAttribute,\n defineScriptVars,\n formatList,\n internalSpreadAttributes,\n isDeno,\n isNode,\n promiseWithResolvers,\n renderElement,\n renderToBufferDestination,\n toAttributeString,\n voidElementNames\n};\n","import { markHTMLString } from \"../escape.js\";\nimport { createRenderInstruction } from \"./instruction.js\";\nimport { renderElement } from \"./util.js\";\nconst uniqueElements = (item, index, all) => {\n const props = JSON.stringify(item.props);\n const children = item.children;\n return index === all.findIndex((i) => JSON.stringify(i.props) === props && i.children == children);\n};\nfunction renderAllHeadContent(result) {\n result._metadata.hasRenderedHead = true;\n const styles = Array.from(result.styles).filter(uniqueElements).map(\n (style) => style.props.rel === \"stylesheet\" ? renderElement(\"link\", style) : renderElement(\"style\", style)\n );\n result.styles.clear();\n const scripts = Array.from(result.scripts).filter(uniqueElements).map((script) => {\n return renderElement(\"script\", script, false);\n });\n const links = Array.from(result.links).filter(uniqueElements).map((link) => renderElement(\"link\", link, false));\n let content = styles.join(\"\\n\") + links.join(\"\\n\") + scripts.join(\"\\n\");\n if (result._metadata.extraHead.length > 0) {\n for (const part of result._metadata.extraHead) {\n content += part;\n }\n }\n return markHTMLString(content);\n}\nfunction renderHead() {\n return createRenderInstruction({ type: \"head\" });\n}\nfunction maybeRenderHead() {\n return createRenderInstruction({ type: \"maybe-head\" });\n}\nexport {\n maybeRenderHead,\n renderAllHeadContent,\n renderHead\n};\n","import { markHTMLString } from \"../../escape.js\";\nimport { isPromise } from \"../../util.js\";\nimport { renderChild } from \"../any.js\";\nimport { renderToBufferDestination } from \"../util.js\";\nconst renderTemplateResultSym = Symbol.for(\"astro.renderTemplateResult\");\nclass RenderTemplateResult {\n [renderTemplateResultSym] = true;\n htmlParts;\n expressions;\n error;\n constructor(htmlParts, expressions) {\n this.htmlParts = htmlParts;\n this.error = void 0;\n this.expressions = expressions.map((expression) => {\n if (isPromise(expression)) {\n return Promise.resolve(expression).catch((err) => {\n if (!this.error) {\n this.error = err;\n throw err;\n }\n });\n }\n return expression;\n });\n }\n async render(destination) {\n const expRenders = this.expressions.map((exp) => {\n return renderToBufferDestination((bufferDestination) => {\n if (exp || exp === 0) {\n return renderChild(bufferDestination, exp);\n }\n });\n });\n for (let i = 0; i < this.htmlParts.length; i++) {\n const html = this.htmlParts[i];\n const expRender = expRenders[i];\n destination.write(markHTMLString(html));\n if (expRender) {\n await expRender.renderToFinalDestination(destination);\n }\n }\n }\n}\nfunction isRenderTemplateResult(obj) {\n return typeof obj === \"object\" && !!obj[renderTemplateResultSym];\n}\nfunction renderTemplate(htmlParts, ...expressions) {\n return new RenderTemplateResult(htmlParts, expressions);\n}\nexport {\n RenderTemplateResult,\n isRenderTemplateResult,\n renderTemplate\n};\n","import { renderTemplate } from \"./astro/render-template.js\";\nimport { HTMLString, markHTMLString, unescapeHTML } from \"../escape.js\";\nimport { renderChild } from \"./any.js\";\nimport { chunkToString } from \"./common.js\";\nconst slotString = Symbol.for(\"astro:slot-string\");\nclass SlotString extends HTMLString {\n instructions;\n [slotString];\n constructor(content, instructions) {\n super(content);\n this.instructions = instructions;\n this[slotString] = true;\n }\n}\nfunction isSlotString(str) {\n return !!str[slotString];\n}\nfunction renderSlot(result, slotted, fallback) {\n if (!slotted && fallback) {\n return renderSlot(result, fallback);\n }\n return {\n async render(destination) {\n await renderChild(destination, typeof slotted === \"function\" ? slotted(result) : slotted);\n }\n };\n}\nasync function renderSlotToString(result, slotted, fallback) {\n let content = \"\";\n let instructions = null;\n const temporaryDestination = {\n write(chunk) {\n if (chunk instanceof SlotString) {\n content += chunk;\n if (chunk.instructions) {\n instructions ??= [];\n instructions.push(...chunk.instructions);\n }\n } else if (chunk instanceof Response) return;\n else if (typeof chunk === \"object\" && \"type\" in chunk && typeof chunk.type === \"string\") {\n if (instructions === null) {\n instructions = [];\n }\n instructions.push(chunk);\n } else {\n content += chunkToString(result, chunk);\n }\n }\n };\n const renderInstance = renderSlot(result, slotted, fallback);\n await renderInstance.render(temporaryDestination);\n return markHTMLString(new SlotString(content, instructions));\n}\nasync function renderSlots(result, slots = {}) {\n let slotInstructions = null;\n let children = {};\n if (slots) {\n await Promise.all(\n Object.entries(slots).map(\n ([key, value]) => renderSlotToString(result, value).then((output) => {\n if (output.instructions) {\n if (slotInstructions === null) {\n slotInstructions = [];\n }\n slotInstructions.push(...output.instructions);\n }\n children[key] = output;\n })\n )\n );\n }\n return { slotInstructions, children };\n}\nfunction createSlotValueFromString(content) {\n return function() {\n return renderTemplate`${unescapeHTML(content)}`;\n };\n}\nexport {\n SlotString,\n createSlotValueFromString,\n isSlotString,\n renderSlot,\n renderSlotToString,\n renderSlots\n};\n","import { markHTMLString } from \"../escape.js\";\nimport {\n determineIfNeedsHydrationScript,\n determinesIfNeedsDirectiveScript,\n getPrescripts\n} from \"../scripts.js\";\nimport { renderAllHeadContent } from \"./head.js\";\nimport { isRenderInstruction } from \"./instruction.js\";\nimport { isSlotString } from \"./slot.js\";\nconst Fragment = Symbol.for(\"astro:fragment\");\nconst Renderer = Symbol.for(\"astro:renderer\");\nconst encoder = new TextEncoder();\nconst decoder = new TextDecoder();\nfunction stringifyChunk(result, chunk) {\n if (isRenderInstruction(chunk)) {\n const instruction = chunk;\n switch (instruction.type) {\n case \"directive\": {\n const { hydration } = instruction;\n let needsHydrationScript = hydration && determineIfNeedsHydrationScript(result);\n let needsDirectiveScript = hydration && determinesIfNeedsDirectiveScript(result, hydration.directive);\n let prescriptType = needsHydrationScript ? \"both\" : needsDirectiveScript ? \"directive\" : null;\n if (prescriptType) {\n let prescripts = getPrescripts(result, prescriptType, hydration.directive);\n return markHTMLString(prescripts);\n } else {\n return \"\";\n }\n }\n case \"head\": {\n if (result._metadata.hasRenderedHead || result.partial) {\n return \"\";\n }\n return renderAllHeadContent(result);\n }\n case \"maybe-head\": {\n if (result._metadata.hasRenderedHead || result._metadata.headInTree || result.partial) {\n return \"\";\n }\n return renderAllHeadContent(result);\n }\n case \"renderer-hydration-script\": {\n const { rendererSpecificHydrationScripts } = result._metadata;\n const { rendererName } = instruction;\n if (!rendererSpecificHydrationScripts.has(rendererName)) {\n rendererSpecificHydrationScripts.add(rendererName);\n return instruction.render();\n }\n return \"\";\n }\n default: {\n throw new Error(`Unknown chunk type: ${chunk.type}`);\n }\n }\n } else if (chunk instanceof Response) {\n return \"\";\n } else if (isSlotString(chunk)) {\n let out = \"\";\n const c = chunk;\n if (c.instructions) {\n for (const instr of c.instructions) {\n out += stringifyChunk(result, instr);\n }\n }\n out += chunk.toString();\n return out;\n }\n return chunk.toString();\n}\nfunction chunkToString(result, chunk) {\n if (ArrayBuffer.isView(chunk)) {\n return decoder.decode(chunk);\n } else {\n return stringifyChunk(result, chunk);\n }\n}\nfunction chunkToByteArray(result, chunk) {\n if (ArrayBuffer.isView(chunk)) {\n return chunk;\n } else {\n const stringified = stringifyChunk(result, chunk);\n return encoder.encode(stringified.toString());\n }\n}\nfunction isRenderInstance(obj) {\n return !!obj && typeof obj === \"object\" && \"render\" in obj && typeof obj.render === \"function\";\n}\nexport {\n Fragment,\n Renderer,\n chunkToByteArray,\n chunkToString,\n decoder,\n encoder,\n isRenderInstance\n};\n","import { escapeHTML, isHTMLString, markHTMLString } from \"../escape.js\";\nimport { isPromise } from \"../util.js\";\nimport { isAstroComponentInstance, isRenderTemplateResult } from \"./astro/index.js\";\nimport { isRenderInstance } from \"./common.js\";\nimport { SlotString } from \"./slot.js\";\nimport { renderToBufferDestination } from \"./util.js\";\nasync function renderChild(destination, child) {\n if (isPromise(child)) {\n child = await child;\n }\n if (child instanceof SlotString) {\n destination.write(child);\n } else if (isHTMLString(child)) {\n destination.write(child);\n } else if (Array.isArray(child)) {\n const childRenders = child.map((c) => {\n return renderToBufferDestination((bufferDestination) => {\n return renderChild(bufferDestination, c);\n });\n });\n for (const childRender of childRenders) {\n if (!childRender) continue;\n await childRender.renderToFinalDestination(destination);\n }\n } else if (typeof child === \"function\") {\n await renderChild(destination, child());\n } else if (typeof child === \"string\") {\n destination.write(markHTMLString(escapeHTML(child)));\n } else if (!child && child !== 0) {\n } else if (isRenderInstance(child)) {\n await child.render(destination);\n } else if (isRenderTemplateResult(child)) {\n await child.render(destination);\n } else if (isAstroComponentInstance(child)) {\n await child.render(destination);\n } else if (ArrayBuffer.isView(child)) {\n destination.write(child);\n } else if (typeof child === \"object\" && (Symbol.asyncIterator in child || Symbol.iterator in child)) {\n for await (const value of child) {\n await renderChild(destination, value);\n }\n } else {\n destination.write(child);\n }\n}\nexport {\n renderChild\n};\n","import { isPromise } from \"../../util.js\";\nimport { renderChild } from \"../any.js\";\nimport { isAPropagatingComponent } from \"./factory.js\";\nimport { isHeadAndContent } from \"./head-and-content.js\";\nconst astroComponentInstanceSym = Symbol.for(\"astro.componentInstance\");\nclass AstroComponentInstance {\n [astroComponentInstanceSym] = true;\n result;\n props;\n slotValues;\n factory;\n returnValue;\n constructor(result, props, slots, factory) {\n this.result = result;\n this.props = props;\n this.factory = factory;\n this.slotValues = {};\n for (const name in slots) {\n let didRender = false;\n let value = slots[name](result);\n this.slotValues[name] = () => {\n if (!didRender) {\n didRender = true;\n return value;\n }\n return slots[name](result);\n };\n }\n }\n async init(result) {\n if (this.returnValue !== void 0) return this.returnValue;\n this.returnValue = this.factory(result, this.props, this.slotValues);\n if (isPromise(this.returnValue)) {\n this.returnValue.then((resolved) => {\n this.returnValue = resolved;\n }).catch(() => {\n });\n }\n return this.returnValue;\n }\n async render(destination) {\n const returnValue = await this.init(this.result);\n if (isHeadAndContent(returnValue)) {\n await returnValue.content.render(destination);\n } else {\n await renderChild(destination, returnValue);\n }\n }\n}\nfunction validateComponentProps(props, displayName) {\n if (props != null) {\n for (const prop of Object.keys(props)) {\n if (prop.startsWith(\"client:\")) {\n console.warn(\n `You are attempting to render <${displayName} ${prop} />, but ${displayName} is an Astro component. Astro components do not render in the client and should not have a hydration directive. Please use a framework component for client rendering.`\n );\n }\n }\n }\n}\nfunction createAstroComponentInstance(result, displayName, factory, props, slots = {}) {\n validateComponentProps(props, displayName);\n const instance = new AstroComponentInstance(result, props, slots, factory);\n if (isAPropagatingComponent(result, factory)) {\n result._metadata.propagators.add(instance);\n }\n return instance;\n}\nfunction isAstroComponentInstance(obj) {\n return typeof obj === \"object\" && !!obj[astroComponentInstanceSym];\n}\nexport {\n AstroComponentInstance,\n createAstroComponentInstance,\n isAstroComponentInstance\n};\n","import { markHTMLString } from \"../escape.js\";\nimport { renderSlotToString } from \"./slot.js\";\nimport { toAttributeString } from \"./util.js\";\nfunction componentIsHTMLElement(Component) {\n return typeof HTMLElement !== \"undefined\" && HTMLElement.isPrototypeOf(Component);\n}\nasync function renderHTMLElement(result, constructor, props, slots) {\n const name = getHTMLElementName(constructor);\n let attrHTML = \"\";\n for (const attr in props) {\n attrHTML += ` ${attr}=\"${toAttributeString(await props[attr])}\"`;\n }\n return markHTMLString(\n `<${name}${attrHTML}>${await renderSlotToString(result, slots?.default)}`\n );\n}\nfunction getHTMLElementName(constructor) {\n const definedName = customElements.getName(constructor);\n if (definedName) return definedName;\n const assignedName = constructor.name.replace(/^HTML|Element$/g, \"\").replace(/[A-Z]/g, \"-$&\").toLowerCase().replace(/^-/, \"html-\");\n return assignedName;\n}\nexport {\n componentIsHTMLElement,\n renderHTMLElement\n};\n","import { decodeBase64, decodeHex, encodeBase64, encodeHexUpperCase } from \"@oslojs/encoding\";\nconst ALGORITHM = \"AES-GCM\";\nasync function createKey() {\n const key = await crypto.subtle.generateKey(\n {\n name: ALGORITHM,\n length: 256\n },\n true,\n [\"encrypt\", \"decrypt\"]\n );\n return key;\n}\nasync function importKey(bytes) {\n const key = await crypto.subtle.importKey(\"raw\", bytes, ALGORITHM, true, [\"encrypt\", \"decrypt\"]);\n return key;\n}\nasync function encodeKey(key) {\n const exported = await crypto.subtle.exportKey(\"raw\", key);\n const encodedKey = encodeBase64(new Uint8Array(exported));\n return encodedKey;\n}\nasync function decodeKey(encoded) {\n const bytes = decodeBase64(encoded);\n return crypto.subtle.importKey(\"raw\", bytes, ALGORITHM, true, [\"encrypt\", \"decrypt\"]);\n}\nconst encoder = new TextEncoder();\nconst decoder = new TextDecoder();\nconst IV_LENGTH = 24;\nasync function encryptString(key, raw) {\n const iv = crypto.getRandomValues(new Uint8Array(IV_LENGTH / 2));\n const data = encoder.encode(raw);\n const buffer = await crypto.subtle.encrypt(\n {\n name: ALGORITHM,\n iv\n },\n key,\n data\n );\n return encodeHexUpperCase(iv) + encodeBase64(new Uint8Array(buffer));\n}\nasync function decryptString(key, encoded) {\n const iv = decodeHex(encoded.slice(0, IV_LENGTH));\n const dataArray = decodeBase64(encoded.slice(IV_LENGTH));\n const decryptedBuffer = await crypto.subtle.decrypt(\n {\n name: ALGORITHM,\n iv\n },\n key,\n dataArray\n );\n const decryptedString = decoder.decode(decryptedBuffer);\n return decryptedString;\n}\nexport {\n createKey,\n decodeKey,\n decryptString,\n encodeKey,\n encryptString,\n importKey\n};\n","import { encryptString } from \"../../../core/encryption.js\";\nimport { renderChild } from \"./any.js\";\nimport { renderSlotToString } from \"./slot.js\";\nconst internalProps = /* @__PURE__ */ new Set([\n \"server:component-path\",\n \"server:component-export\",\n \"server:component-directive\",\n \"server:defer\"\n]);\nfunction containsServerDirective(props) {\n return \"server:component-directive\" in props;\n}\nfunction safeJsonStringify(obj) {\n return JSON.stringify(obj).replace(/\\u2028/g, \"\\\\u2028\").replace(/\\u2029/g, \"\\\\u2029\").replace(//g, \"\\\\u003e\").replace(/\\//g, \"\\\\u002f\");\n}\nfunction renderServerIsland(result, _displayName, props, slots) {\n return {\n async render(destination) {\n const componentPath = props[\"server:component-path\"];\n const componentExport = props[\"server:component-export\"];\n const componentId = result.serverIslandNameMap.get(componentPath);\n if (!componentId) {\n throw new Error(`Could not find server component name`);\n }\n for (const key2 of Object.keys(props)) {\n if (internalProps.has(key2)) {\n delete props[key2];\n }\n }\n destination.write(\"\");\n const renderedSlots = {};\n for (const name in slots) {\n if (name !== \"fallback\") {\n const content = await renderSlotToString(result, slots[name]);\n renderedSlots[name] = content.toString();\n } else {\n await renderChild(destination, slots.fallback(result));\n }\n }\n const key = await result.key;\n const propsEncrypted = await encryptString(key, JSON.stringify(props));\n const hostId = crypto.randomUUID();\n const slash = result.base.endsWith(\"/\") ? \"\" : \"/\";\n const serverIslandUrl = `${result.base}${slash}_server-islands/${componentId}${result.trailingSlash === \"always\" ? \"/\" : \"\"}`;\n destination.write(``);\n }\n };\n}\nexport {\n containsServerDirective,\n renderServerIsland\n};\n","import { createRenderInstruction } from \"./instruction.js\";\nimport { clsx } from \"clsx\";\nimport { AstroError, AstroErrorData } from \"../../../core/errors/index.js\";\nimport { markHTMLString } from \"../escape.js\";\nimport { extractDirectives, generateHydrateScript } from \"../hydration.js\";\nimport { serializeProps } from \"../serialize.js\";\nimport { shorthash } from \"../shorthash.js\";\nimport { isPromise } from \"../util.js\";\nimport { isAstroComponentFactory } from \"./astro/factory.js\";\nimport { renderTemplate } from \"./astro/index.js\";\nimport { createAstroComponentInstance } from \"./astro/instance.js\";\nimport {\n Fragment,\n Renderer,\n chunkToString\n} from \"./common.js\";\nimport { componentIsHTMLElement, renderHTMLElement } from \"./dom.js\";\nimport { maybeRenderHead } from \"./head.js\";\nimport { containsServerDirective, renderServerIsland } from \"./server-islands.js\";\nimport { renderSlotToString, renderSlots } from \"./slot.js\";\nimport { formatList, internalSpreadAttributes, renderElement, voidElementNames } from \"./util.js\";\nconst needsHeadRenderingSymbol = Symbol.for(\"astro.needsHeadRendering\");\nconst rendererAliases = /* @__PURE__ */ new Map([[\"solid\", \"solid-js\"]]);\nconst clientOnlyValues = /* @__PURE__ */ new Set([\"solid-js\", \"react\", \"preact\", \"vue\", \"svelte\", \"lit\"]);\nfunction guessRenderers(componentUrl) {\n const extname = componentUrl?.split(\".\").pop();\n switch (extname) {\n case \"svelte\":\n return [\"@astrojs/svelte\"];\n case \"vue\":\n return [\"@astrojs/vue\"];\n case \"jsx\":\n case \"tsx\":\n return [\"@astrojs/react\", \"@astrojs/preact\", \"@astrojs/solid-js\", \"@astrojs/vue (jsx)\"];\n default:\n return [\n \"@astrojs/react\",\n \"@astrojs/preact\",\n \"@astrojs/solid-js\",\n \"@astrojs/vue\",\n \"@astrojs/svelte\",\n \"@astrojs/lit\"\n ];\n }\n}\nfunction isFragmentComponent(Component) {\n return Component === Fragment;\n}\nfunction isHTMLComponent(Component) {\n return Component && Component[\"astro:html\"] === true;\n}\nconst ASTRO_SLOT_EXP = /<\\/?astro-slot\\b[^>]*>/g;\nconst ASTRO_STATIC_SLOT_EXP = /<\\/?astro-static-slot\\b[^>]*>/g;\nfunction removeStaticAstroSlot(html, supportsAstroStaticSlot = true) {\n const exp = supportsAstroStaticSlot ? ASTRO_STATIC_SLOT_EXP : ASTRO_SLOT_EXP;\n return html.replace(exp, \"\");\n}\nasync function renderFrameworkComponent(result, displayName, Component, _props, slots = {}) {\n if (!Component && \"client:only\" in _props === false) {\n throw new Error(\n `Unable to render ${displayName} because it is ${Component}!\nDid you forget to import the component or is it possible there is a typo?`\n );\n }\n const { renderers, clientDirectives } = result;\n const metadata = {\n astroStaticSlot: true,\n displayName\n };\n const { hydration, isPage, props, propsWithoutTransitionAttributes } = extractDirectives(\n _props,\n clientDirectives\n );\n let html = \"\";\n let attrs = void 0;\n if (hydration) {\n metadata.hydrate = hydration.directive;\n metadata.hydrateArgs = hydration.value;\n metadata.componentExport = hydration.componentExport;\n metadata.componentUrl = hydration.componentUrl;\n }\n const probableRendererNames = guessRenderers(metadata.componentUrl);\n const validRenderers = renderers.filter((r) => r.name !== \"astro:jsx\");\n const { children, slotInstructions } = await renderSlots(result, slots);\n let renderer;\n if (metadata.hydrate !== \"only\") {\n let isTagged = false;\n try {\n isTagged = Component && Component[Renderer];\n } catch {\n }\n if (isTagged) {\n const rendererName = Component[Renderer];\n renderer = renderers.find(({ name }) => name === rendererName);\n }\n if (!renderer) {\n let error;\n for (const r of renderers) {\n try {\n if (await r.ssr.check.call({ result }, Component, props, children)) {\n renderer = r;\n break;\n }\n } catch (e) {\n error ??= e;\n }\n }\n if (!renderer && error) {\n throw error;\n }\n }\n if (!renderer && typeof HTMLElement === \"function\" && componentIsHTMLElement(Component)) {\n const output = await renderHTMLElement(\n result,\n Component,\n _props,\n slots\n );\n return {\n render(destination) {\n destination.write(output);\n }\n };\n }\n } else {\n if (metadata.hydrateArgs) {\n const rendererName = rendererAliases.has(metadata.hydrateArgs) ? rendererAliases.get(metadata.hydrateArgs) : metadata.hydrateArgs;\n if (clientOnlyValues.has(rendererName)) {\n renderer = renderers.find(\n ({ name }) => name === `@astrojs/${rendererName}` || name === rendererName\n );\n }\n }\n if (!renderer && validRenderers.length === 1) {\n renderer = validRenderers[0];\n }\n if (!renderer) {\n const extname = metadata.componentUrl?.split(\".\").pop();\n renderer = renderers.find(({ name }) => name === `@astrojs/${extname}` || name === extname);\n }\n }\n let componentServerRenderEndTime;\n if (!renderer) {\n if (metadata.hydrate === \"only\") {\n const rendererName = rendererAliases.has(metadata.hydrateArgs) ? rendererAliases.get(metadata.hydrateArgs) : metadata.hydrateArgs;\n if (clientOnlyValues.has(rendererName)) {\n const plural = validRenderers.length > 1;\n throw new AstroError({\n ...AstroErrorData.NoMatchingRenderer,\n message: AstroErrorData.NoMatchingRenderer.message(\n metadata.displayName,\n metadata?.componentUrl?.split(\".\").pop(),\n plural,\n validRenderers.length\n ),\n hint: AstroErrorData.NoMatchingRenderer.hint(\n formatList(probableRendererNames.map((r) => \"`\" + r + \"`\"))\n )\n });\n } else {\n throw new AstroError({\n ...AstroErrorData.NoClientOnlyHint,\n message: AstroErrorData.NoClientOnlyHint.message(metadata.displayName),\n hint: AstroErrorData.NoClientOnlyHint.hint(\n probableRendererNames.map((r) => r.replace(\"@astrojs/\", \"\")).join(\"|\")\n )\n });\n }\n } else if (typeof Component !== \"string\") {\n const matchingRenderers = validRenderers.filter(\n (r) => probableRendererNames.includes(r.name)\n );\n const plural = validRenderers.length > 1;\n if (matchingRenderers.length === 0) {\n throw new AstroError({\n ...AstroErrorData.NoMatchingRenderer,\n message: AstroErrorData.NoMatchingRenderer.message(\n metadata.displayName,\n metadata?.componentUrl?.split(\".\").pop(),\n plural,\n validRenderers.length\n ),\n hint: AstroErrorData.NoMatchingRenderer.hint(\n formatList(probableRendererNames.map((r) => \"`\" + r + \"`\"))\n )\n });\n } else if (matchingRenderers.length === 1) {\n renderer = matchingRenderers[0];\n ({ html, attrs } = await renderer.ssr.renderToStaticMarkup.call(\n { result },\n Component,\n propsWithoutTransitionAttributes,\n children,\n metadata\n ));\n } else {\n throw new Error(`Unable to render ${metadata.displayName}!\n\nThis component likely uses ${formatList(probableRendererNames)},\nbut Astro encountered an error during server-side rendering.\n\nPlease ensure that ${metadata.displayName}:\n1. Does not unconditionally access browser-specific globals like \\`window\\` or \\`document\\`.\n If this is unavoidable, use the \\`client:only\\` hydration directive.\n2. Does not conditionally return \\`null\\` or \\`undefined\\` when rendered on the server.\n\nIf you're still stuck, please open an issue on GitHub or join us at https://astro.build/chat.`);\n }\n }\n } else {\n if (metadata.hydrate === \"only\") {\n const rendererName = rendererAliases.has(metadata.hydrateArgs) ? rendererAliases.get(metadata.hydrateArgs) : metadata.hydrateArgs;\n if (!clientOnlyValues.has(rendererName)) {\n console.warn(\n `The client:only directive for ${metadata.displayName} is not recognized. The renderer ${renderer.name} will be used. If you intended to use a different renderer, please provide a valid client:only directive.`\n );\n }\n html = await renderSlotToString(result, slots?.fallback);\n } else {\n const componentRenderStartTime = performance.now();\n ({ html, attrs } = await renderer.ssr.renderToStaticMarkup.call(\n { result },\n Component,\n propsWithoutTransitionAttributes,\n children,\n metadata\n ));\n if (process.env.NODE_ENV === \"development\")\n componentServerRenderEndTime = performance.now() - componentRenderStartTime;\n }\n }\n if (renderer && !renderer.clientEntrypoint && renderer.name !== \"@astrojs/lit\" && metadata.hydrate) {\n throw new AstroError({\n ...AstroErrorData.NoClientEntrypoint,\n message: AstroErrorData.NoClientEntrypoint.message(\n displayName,\n metadata.hydrate,\n renderer.name\n )\n });\n }\n if (!html && typeof Component === \"string\") {\n const Tag = sanitizeElementName(Component);\n const childSlots = Object.values(children).join(\"\");\n const renderTemplateResult = renderTemplate`<${Tag}${internalSpreadAttributes(\n props\n )}${markHTMLString(\n childSlots === \"\" && voidElementNames.test(Tag) ? `/>` : `>${childSlots}`\n )}`;\n html = \"\";\n const destination = {\n write(chunk) {\n if (chunk instanceof Response) return;\n html += chunkToString(result, chunk);\n }\n };\n await renderTemplateResult.render(destination);\n }\n if (!hydration) {\n return {\n render(destination) {\n if (slotInstructions) {\n for (const instruction of slotInstructions) {\n destination.write(instruction);\n }\n }\n if (isPage || renderer?.name === \"astro:jsx\") {\n destination.write(html);\n } else if (html && html.length > 0) {\n destination.write(\n markHTMLString(removeStaticAstroSlot(html, renderer?.ssr?.supportsAstroStaticSlot))\n );\n }\n }\n };\n }\n const astroId = shorthash(\n `\n${html}\n${serializeProps(\n props,\n metadata\n )}`\n );\n const island = await generateHydrateScript(\n { renderer, result, astroId, props, attrs },\n metadata\n );\n if (componentServerRenderEndTime && process.env.NODE_ENV === \"development\")\n island.props[\"server-render-time\"] = componentServerRenderEndTime;\n let unrenderedSlots = [];\n if (html) {\n if (Object.keys(children).length > 0) {\n for (const key of Object.keys(children)) {\n let tagName = renderer?.ssr?.supportsAstroStaticSlot ? !!metadata.hydrate ? \"astro-slot\" : \"astro-static-slot\" : \"astro-slot\";\n let expectedHTML = key === \"default\" ? `<${tagName}>` : `<${tagName} name=\"${key}\">`;\n if (!html.includes(expectedHTML)) {\n unrenderedSlots.push(key);\n }\n }\n }\n } else {\n unrenderedSlots = Object.keys(children);\n }\n const template = unrenderedSlots.length > 0 ? unrenderedSlots.map(\n (key) => ``\n ).join(\"\") : \"\";\n island.children = `${html ?? \"\"}${template}`;\n if (island.children) {\n island.props[\"await-children\"] = \"\";\n island.children += ``;\n }\n return {\n render(destination) {\n if (slotInstructions) {\n for (const instruction of slotInstructions) {\n destination.write(instruction);\n }\n }\n destination.write(createRenderInstruction({ type: \"directive\", hydration }));\n if (hydration.directive !== \"only\" && renderer?.ssr.renderHydrationScript) {\n destination.write(\n createRenderInstruction({\n type: \"renderer-hydration-script\",\n rendererName: renderer.name,\n render: renderer.ssr.renderHydrationScript\n })\n );\n }\n const renderedElement = renderElement(\"astro-island\", island, false);\n destination.write(markHTMLString(renderedElement));\n }\n };\n}\nfunction sanitizeElementName(tag) {\n const unsafe = /[&<>'\"\\s]+/;\n if (!unsafe.test(tag)) return tag;\n return tag.trim().split(unsafe)[0].trim();\n}\nasync function renderFragmentComponent(result, slots = {}) {\n const children = await renderSlotToString(result, slots?.default);\n return {\n render(destination) {\n if (children == null) return;\n destination.write(children);\n }\n };\n}\nasync function renderHTMLComponent(result, Component, _props, slots = {}) {\n const { slotInstructions, children } = await renderSlots(result, slots);\n const html = Component({ slots: children });\n const hydrationHtml = slotInstructions ? slotInstructions.map((instr) => chunkToString(result, instr)).join(\"\") : \"\";\n return {\n render(destination) {\n destination.write(markHTMLString(hydrationHtml + html));\n }\n };\n}\nfunction renderAstroComponent(result, displayName, Component, props, slots = {}) {\n if (containsServerDirective(props)) {\n return renderServerIsland(result, displayName, props, slots);\n }\n const instance = createAstroComponentInstance(result, displayName, Component, props, slots);\n return {\n async render(destination) {\n await instance.render(destination);\n }\n };\n}\nasync function renderComponent(result, displayName, Component, props, slots = {}) {\n if (isPromise(Component)) {\n Component = await Component.catch(handleCancellation);\n }\n if (isFragmentComponent(Component)) {\n return await renderFragmentComponent(result, slots).catch(handleCancellation);\n }\n props = normalizeProps(props);\n if (isHTMLComponent(Component)) {\n return await renderHTMLComponent(result, Component, props, slots).catch(handleCancellation);\n }\n if (isAstroComponentFactory(Component)) {\n return renderAstroComponent(result, displayName, Component, props, slots);\n }\n return await renderFrameworkComponent(result, displayName, Component, props, slots).catch(\n handleCancellation\n );\n function handleCancellation(e) {\n if (result.cancelled)\n return {\n render() {\n }\n };\n throw e;\n }\n}\nfunction normalizeProps(props) {\n if (props[\"class:list\"] !== void 0) {\n const value = props[\"class:list\"];\n delete props[\"class:list\"];\n props[\"class\"] = clsx(props[\"class\"], value);\n if (props[\"class\"] === \"\") {\n delete props[\"class\"];\n }\n }\n return props;\n}\nasync function renderComponentToString(result, displayName, Component, props, slots = {}, isPage = false, route) {\n let str = \"\";\n let renderedFirstPageChunk = false;\n let head = \"\";\n if (isPage && !result.partial && nonAstroPageNeedsHeadInjection(Component)) {\n head += chunkToString(result, maybeRenderHead());\n }\n try {\n const destination = {\n write(chunk) {\n if (isPage && !result.partial && !renderedFirstPageChunk) {\n renderedFirstPageChunk = true;\n if (!/\" : \"\\n\";\n str += doctype + head;\n }\n }\n if (chunk instanceof Response) return;\n str += chunkToString(result, chunk);\n }\n };\n const renderInstance = await renderComponent(result, displayName, Component, props, slots);\n await renderInstance.render(destination);\n } catch (e) {\n if (AstroError.is(e) && !e.loc) {\n e.setLocation({\n file: route?.component\n });\n }\n throw e;\n }\n return str;\n}\nfunction nonAstroPageNeedsHeadInjection(pageComponent) {\n return !!pageComponent?.[needsHeadRenderingSymbol];\n}\nexport {\n renderComponent,\n renderComponentToString\n};\n","import { markHTMLString } from \"../escape.js\";\nasync function renderScript(result, id) {\n if (result._metadata.renderedScripts.has(id)) return;\n result._metadata.renderedScripts.add(id);\n const inlined = result.inlinedScripts.get(id);\n if (inlined != null) {\n if (inlined) {\n return markHTMLString(``);\n } else {\n return \"\";\n }\n }\n const resolved = await result.resolve(id);\n return markHTMLString(``);\n}\nexport {\n renderScript\n};\n","import cssesc from \"cssesc\";\nimport { fade, slide } from \"../../transitions/index.js\";\nimport { markHTMLString } from \"./escape.js\";\nconst transitionNameMap = /* @__PURE__ */ new WeakMap();\nfunction incrementTransitionNumber(result) {\n let num = 1;\n if (transitionNameMap.has(result)) {\n num = transitionNameMap.get(result) + 1;\n }\n transitionNameMap.set(result, num);\n return num;\n}\nfunction createTransitionScope(result, hash) {\n const num = incrementTransitionNumber(result);\n return `astro-${hash}-${num}`;\n}\nconst getAnimations = (name) => {\n if (name === \"fade\") return fade();\n if (name === \"slide\") return slide();\n if (typeof name === \"object\") return name;\n};\nconst addPairs = (animations, stylesheet) => {\n for (const [direction, images] of Object.entries(animations)) {\n for (const [image, rules] of Object.entries(images)) {\n stylesheet.addAnimationPair(direction, image, rules);\n }\n }\n};\nconst reEncodeValidChars = \"0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ-_\".split(\"\").reduce((v, c) => (v[c.charCodeAt(0)] = c, v), []);\nconst reEncodeInValidStart = \"-0123456789_\".split(\"\").reduce((v, c) => (v[c.charCodeAt(0)] = c, v), []);\nfunction reEncode(s) {\n let result = \"\";\n let codepoint;\n for (let i = 0; i < s.length; i += (codepoint ?? 0) > 65535 ? 2 : 1) {\n codepoint = s.codePointAt(i);\n if (codepoint !== void 0) {\n result += codepoint < 128 ? codepoint === 95 ? \"__\" : reEncodeValidChars[codepoint] ?? \"_\" + codepoint.toString(16).padStart(2, \"0\") : String.fromCodePoint(codepoint);\n }\n }\n return reEncodeInValidStart[result.codePointAt(0) ?? 0] ? \"_\" + result : result;\n}\nfunction renderTransition(result, hash, animationName, transitionName) {\n if (typeof (transitionName ?? \"\") !== \"string\") {\n throw new Error(`Invalid transition name {${transitionName}}`);\n }\n if (!animationName) animationName = \"fade\";\n const scope = createTransitionScope(result, hash);\n const name = transitionName ? cssesc(reEncode(transitionName), { isIdentifier: true }) : scope;\n const sheet = new ViewTransitionStyleSheet(scope, name);\n const animations = getAnimations(animationName);\n if (animations) {\n addPairs(animations, sheet);\n } else if (animationName === \"none\") {\n sheet.addFallback(\"old\", \"animation: none; mix-blend-mode: normal;\");\n sheet.addModern(\"old\", \"animation: none; opacity: 0; mix-blend-mode: normal;\");\n sheet.addAnimationRaw(\"new\", \"animation: none; mix-blend-mode: normal;\");\n sheet.addModern(\"group\", \"animation: none\");\n }\n result._metadata.extraHead.push(markHTMLString(``));\n return scope;\n}\nfunction createAnimationScope(transitionName, animations) {\n const hash = Math.random().toString(36).slice(2, 8);\n const scope = `astro-${hash}`;\n const sheet = new ViewTransitionStyleSheet(scope, transitionName);\n addPairs(animations, sheet);\n return { scope, styles: sheet.toString().replaceAll('\"', \"\") };\n}\nclass ViewTransitionStyleSheet {\n constructor(scope, name) {\n this.scope = scope;\n this.name = name;\n }\n modern = [];\n fallback = [];\n toString() {\n const { scope, name } = this;\n const [modern, fallback] = [this.modern, this.fallback].map((rules) => rules.join(\"\"));\n return [\n `[data-astro-transition-scope=\"${scope}\"] { view-transition-name: ${name}; }`,\n this.layer(modern),\n fallback\n ].join(\"\");\n }\n layer(cssText) {\n return cssText ? `@layer astro { ${cssText} }` : \"\";\n }\n addRule(target, cssText) {\n this[target].push(cssText);\n }\n addAnimationRaw(image, animation) {\n this.addModern(image, animation);\n this.addFallback(image, animation);\n }\n addModern(image, animation) {\n const { name } = this;\n this.addRule(\"modern\", `::view-transition-${image}(${name}) { ${animation} }`);\n }\n addFallback(image, animation) {\n const { scope } = this;\n this.addRule(\n \"fallback\",\n // Two selectors here, the second in case there is an animation on the root.\n `[data-astro-transition-fallback=\"${image}\"] [data-astro-transition-scope=\"${scope}\"],\n\t\t\t[data-astro-transition-fallback=\"${image}\"][data-astro-transition-scope=\"${scope}\"] { ${animation} }`\n );\n }\n addAnimationPair(direction, image, rules) {\n const { scope, name } = this;\n const animation = stringifyAnimation(rules);\n const prefix = direction === \"backwards\" ? `[data-astro-transition=back]` : direction === \"forwards\" ? \"\" : `[data-astro-transition=${direction}]`;\n this.addRule(\"modern\", `${prefix}::view-transition-${image}(${name}) { ${animation} }`);\n this.addRule(\n \"fallback\",\n `${prefix}[data-astro-transition-fallback=\"${image}\"] [data-astro-transition-scope=\"${scope}\"],\n\t\t\t${prefix}[data-astro-transition-fallback=\"${image}\"][data-astro-transition-scope=\"${scope}\"] { ${animation} }`\n );\n }\n}\nfunction addAnimationProperty(builder, prop, value) {\n let arr = builder[prop];\n if (Array.isArray(arr)) {\n arr.push(value.toString());\n } else {\n builder[prop] = [value.toString()];\n }\n}\nfunction animationBuilder() {\n return {\n toString() {\n let out = \"\";\n for (let k in this) {\n let value = this[k];\n if (Array.isArray(value)) {\n out += `\n\t${k}: ${value.join(\", \")};`;\n }\n }\n return out;\n }\n };\n}\nfunction stringifyAnimation(anim) {\n if (Array.isArray(anim)) {\n return stringifyAnimations(anim);\n } else {\n return stringifyAnimations([anim]);\n }\n}\nfunction stringifyAnimations(anims) {\n const builder = animationBuilder();\n for (const anim of anims) {\n if (anim.duration) {\n addAnimationProperty(builder, \"animation-duration\", toTimeValue(anim.duration));\n }\n if (anim.easing) {\n addAnimationProperty(builder, \"animation-timing-function\", anim.easing);\n }\n if (anim.direction) {\n addAnimationProperty(builder, \"animation-direction\", anim.direction);\n }\n if (anim.delay) {\n addAnimationProperty(builder, \"animation-delay\", anim.delay);\n }\n if (anim.fillMode) {\n addAnimationProperty(builder, \"animation-fill-mode\", anim.fillMode);\n }\n addAnimationProperty(builder, \"animation-name\", anim.name);\n }\n return builder.toString();\n}\nfunction toTimeValue(num) {\n return typeof num === \"number\" ? num + \"ms\" : num;\n}\nexport {\n createAnimationScope,\n createTransitionScope,\n renderTransition\n};\n","import { createComponent } from \"./astro-component.js\";\nimport { createAstro } from \"./astro-global.js\";\nimport { renderEndpoint } from \"./endpoint.js\";\nimport {\n escapeHTML,\n HTMLBytes,\n HTMLString,\n isHTMLString,\n markHTMLString,\n unescapeHTML\n} from \"./escape.js\";\nimport { renderJSX } from \"./jsx.js\";\nimport {\n addAttribute,\n createHeadAndContent,\n defineScriptVars,\n Fragment,\n maybeRenderHead,\n renderTemplate,\n renderComponent,\n Renderer,\n renderHead,\n renderHTMLElement,\n renderPage,\n renderScript,\n renderScriptElement,\n renderSlot,\n renderSlotToString,\n renderTemplate as renderTemplate2,\n renderToString,\n renderUniqueStylesheet,\n voidElementNames\n} from \"./render/index.js\";\nimport { createTransitionScope, renderTransition } from \"./transition.js\";\nimport { markHTMLString as markHTMLString2 } from \"./escape.js\";\nimport { Renderer as Renderer2, addAttribute as addAttribute2 } from \"./render/index.js\";\nfunction mergeSlots(...slotted) {\n const slots = {};\n for (const slot of slotted) {\n if (!slot) continue;\n if (typeof slot === \"object\") {\n Object.assign(slots, slot);\n } else if (typeof slot === \"function\") {\n Object.assign(slots, mergeSlots(slot()));\n }\n }\n return slots;\n}\nfunction __astro_tag_component__(Component, rendererName) {\n if (!Component) return;\n if (typeof Component !== \"function\") return;\n Object.defineProperty(Component, Renderer2, {\n value: rendererName,\n enumerable: false,\n writable: false\n });\n}\nfunction spreadAttributes(values = {}, _name, { class: scopedClassName } = {}) {\n let output = \"\";\n if (scopedClassName) {\n if (typeof values.class !== \"undefined\") {\n values.class += ` ${scopedClassName}`;\n } else if (typeof values[\"class:list\"] !== \"undefined\") {\n values[\"class:list\"] = [values[\"class:list\"], scopedClassName];\n } else {\n values.class = scopedClassName;\n }\n }\n for (const [key, value] of Object.entries(values)) {\n output += addAttribute2(value, key, true);\n }\n return markHTMLString2(output);\n}\nfunction defineStyleVars(defs) {\n let output = \"\";\n let arr = !Array.isArray(defs) ? [defs] : defs;\n for (const vars of arr) {\n for (const [key, value] of Object.entries(vars)) {\n if (value || value === 0) {\n output += `--${key}: ${value};`;\n }\n }\n }\n return markHTMLString2(output);\n}\nexport {\n Fragment,\n HTMLBytes,\n HTMLString,\n Renderer,\n __astro_tag_component__,\n addAttribute,\n createAstro,\n createComponent,\n createHeadAndContent,\n createTransitionScope,\n defineScriptVars,\n defineStyleVars,\n escapeHTML,\n isHTMLString,\n markHTMLString,\n maybeRenderHead,\n mergeSlots,\n renderTemplate as render,\n renderComponent,\n renderEndpoint,\n renderHTMLElement,\n renderHead,\n renderJSX,\n renderPage,\n renderScript,\n renderScriptElement,\n renderSlot,\n renderSlotToString,\n renderTemplate2 as renderTemplate,\n renderToString,\n renderTransition,\n renderUniqueStylesheet,\n spreadAttributes,\n unescapeHTML,\n voidElementNames\n};\n"],"names":["AstroErrorData.InvalidComponentArgs","AstroErrorData.AstroGlobUsedOutside","AstroErrorData.AstroGlobNoMatch","AstroErrorData.MissingMediaQueryDirective","AstroErrorData.NoMatchingImport","islandScriptDev","islandScript","AstroErrorData.NoMatchingRenderer","AstroErrorData.NoClientOnlyHint","AstroErrorData.NoClientEntrypoint","addAttribute2","markHTMLString2"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31]} \ No newline at end of file +{"version":3,"file":"server_DfodAsKQ.mjs","sources":["../../../../../../../node_modules/astro/dist/core/errors/errors-data.js","../../../../../../../node_modules/astro/dist/core/errors/utils.js","../../../../../../../node_modules/astro/dist/core/errors/printer.js","../../../../../../../node_modules/astro/dist/core/errors/errors.js","../../../../../../../node_modules/astro/dist/runtime/server/astro-component.js","../../../../../../../node_modules/astro/dist/core/constants.js","../../../../../../../node_modules/astro/dist/runtime/server/astro-global.js","../../../../../../../node_modules/astro/dist/runtime/server/util.js","../../../../../../../node_modules/astro/dist/runtime/server/escape.js","../../../../../../../node_modules/astro/dist/runtime/server/render/instruction.js","../../../../../../../node_modules/astro/dist/runtime/server/serialize.js","../../../../../../../node_modules/astro/dist/runtime/server/hydration.js","../../../../../../../node_modules/astro/dist/runtime/server/shorthash.js","../../../../../../../node_modules/astro/dist/runtime/server/render/astro/factory.js","../../../../../../../node_modules/astro/dist/runtime/server/render/astro/head-and-content.js","../../../../../../../node_modules/astro/dist/runtime/server/astro-island.prebuilt-dev.js","../../../../../../../node_modules/astro/dist/runtime/server/astro-island.prebuilt.js","../../../../../../../node_modules/astro/dist/runtime/server/scripts.js","../../../../../../../node_modules/astro/dist/runtime/server/render/util.js","../../../../../../../node_modules/astro/dist/runtime/server/render/head.js","../../../../../../../node_modules/astro/dist/runtime/server/render/astro/render-template.js","../../../../../../../node_modules/astro/dist/runtime/server/render/slot.js","../../../../../../../node_modules/astro/dist/runtime/server/render/common.js","../../../../../../../node_modules/astro/dist/runtime/server/render/any.js","../../../../../../../node_modules/astro/dist/runtime/server/render/astro/instance.js","../../../../../../../node_modules/astro/dist/runtime/server/render/dom.js","../../../../../../../node_modules/astro/dist/core/encryption.js","../../../../../../../node_modules/astro/dist/runtime/server/render/server-islands.js","../../../../../../../node_modules/astro/dist/runtime/server/render/component.js","../../../../../../../node_modules/astro/dist/runtime/server/render/script.js","../../../../../../../node_modules/astro/dist/runtime/server/transition.js","../../../../../../../node_modules/astro/dist/runtime/server/index.js"],"sourcesContent":["const UnknownCompilerError = {\n name: \"UnknownCompilerError\",\n title: \"Unknown compiler error.\",\n hint: \"This is almost always a problem with the Astro compiler, not your code. Please open an issue at https://astro.build/issues/compiler.\"\n};\nconst StaticRedirectNotAvailable = {\n name: \"StaticRedirectNotAvailable\",\n title: \"`Astro.redirect` is not available in static mode.\",\n message: \"Redirects are only available when using `output: 'server'` or `output: 'hybrid'`. Update your Astro config if you need SSR features.\",\n hint: \"See https://docs.astro.build/en/guides/server-side-rendering/ for more information on how to enable SSR.\"\n};\nconst ClientAddressNotAvailable = {\n name: \"ClientAddressNotAvailable\",\n title: \"`Astro.clientAddress` is not available in current adapter.\",\n message: (adapterName) => `\\`Astro.clientAddress\\` is not available in the \\`${adapterName}\\` adapter. File an issue with the adapter to add support.`\n};\nconst PrerenderClientAddressNotAvailable = {\n name: \"PrerenderClientAddressNotAvailable\",\n title: \"`Astro.clientAddress` cannot be used inside prerendered routes.\",\n message: `\\`Astro.clientAddress\\` cannot be used inside prerendered routes`\n};\nconst StaticClientAddressNotAvailable = {\n name: \"StaticClientAddressNotAvailable\",\n title: \"`Astro.clientAddress` is not available in static mode.\",\n message: \"`Astro.clientAddress` is only available when using `output: 'server'` or `output: 'hybrid'`. Update your Astro config if you need SSR features.\",\n hint: \"See https://docs.astro.build/en/guides/server-side-rendering/ for more information on how to enable SSR.\"\n};\nconst NoMatchingStaticPathFound = {\n name: \"NoMatchingStaticPathFound\",\n title: \"No static path found for requested path.\",\n message: (pathName) => `A \\`getStaticPaths()\\` route pattern was matched, but no matching static path was found for requested path \\`${pathName}\\`.`,\n hint: (possibleRoutes) => `Possible dynamic routes being matched: ${possibleRoutes.join(\", \")}.`\n};\nconst OnlyResponseCanBeReturned = {\n name: \"OnlyResponseCanBeReturned\",\n title: \"Invalid type returned by Astro page.\",\n message: (route, returnedValue) => `Route \\`${route ? route : \"\"}\\` returned a \\`${returnedValue}\\`. Only a [Response](https://developer.mozilla.org/en-US/docs/Web/API/Response) can be returned from Astro files.`,\n hint: \"See https://docs.astro.build/en/guides/server-side-rendering/#response for more information.\"\n};\nconst MissingMediaQueryDirective = {\n name: \"MissingMediaQueryDirective\",\n title: \"Missing value for `client:media` directive.\",\n message: 'Media query not provided for `client:media` directive. A media query similar to `client:media=\"(max-width: 600px)\"` must be provided'\n};\nconst NoMatchingRenderer = {\n name: \"NoMatchingRenderer\",\n title: \"No matching renderer found.\",\n message: (componentName, componentExtension, plural, validRenderersCount) => `Unable to render \\`${componentName}\\`.\n\n${validRenderersCount > 0 ? `There ${plural ? \"are\" : \"is\"} ${validRenderersCount} renderer${plural ? \"s\" : \"\"} configured in your \\`astro.config.mjs\\` file,\nbut ${plural ? \"none were\" : \"it was not\"} able to server-side render \\`${componentName}\\`.` : `No valid renderer was found ${componentExtension ? `for the \\`.${componentExtension}\\` file extension.` : `for this file extension.`}`}`,\n hint: (probableRenderers) => `Did you mean to enable the ${probableRenderers} integration?\n\nSee https://docs.astro.build/en/guides/framework-components/ for more information on how to install and configure integrations.`\n};\nconst NoClientEntrypoint = {\n name: \"NoClientEntrypoint\",\n title: \"No client entrypoint specified in renderer.\",\n message: (componentName, clientDirective, rendererName) => `\\`${componentName}\\` component has a \\`client:${clientDirective}\\` directive, but no client entrypoint was provided by \\`${rendererName}\\`.`,\n hint: \"See https://docs.astro.build/en/reference/integrations-reference/#addrenderer-option for more information on how to configure your renderer.\"\n};\nconst NoClientOnlyHint = {\n name: \"NoClientOnlyHint\",\n title: \"Missing hint on client:only directive.\",\n message: (componentName) => `Unable to render \\`${componentName}\\`. When using the \\`client:only\\` hydration strategy, Astro needs a hint to use the correct renderer.`,\n hint: (probableRenderers) => `Did you mean to pass \\`client:only=\"${probableRenderers}\"\\`? See https://docs.astro.build/en/reference/directives-reference/#clientonly for more information on client:only`\n};\nconst InvalidGetStaticPathParam = {\n name: \"InvalidGetStaticPathParam\",\n title: \"Invalid value returned by a `getStaticPaths` path.\",\n message: (paramType) => `Invalid params given to \\`getStaticPaths\\` path. Expected an \\`object\\`, got \\`${paramType}\\``,\n hint: \"See https://docs.astro.build/en/reference/api-reference/#getstaticpaths for more information on getStaticPaths.\"\n};\nconst InvalidGetStaticPathsEntry = {\n name: \"InvalidGetStaticPathsEntry\",\n title: \"Invalid entry inside getStaticPath's return value\",\n message: (entryType) => `Invalid entry returned by getStaticPaths. Expected an object, got \\`${entryType}\\``,\n hint: \"If you're using a `.map` call, you might be looking for `.flatMap()` instead. See https://docs.astro.build/en/reference/api-reference/#getstaticpaths for more information on getStaticPaths.\"\n};\nconst InvalidGetStaticPathsReturn = {\n name: \"InvalidGetStaticPathsReturn\",\n title: \"Invalid value returned by getStaticPaths.\",\n message: (returnType) => `Invalid type returned by \\`getStaticPaths\\`. Expected an \\`array\\`, got \\`${returnType}\\``,\n hint: \"See https://docs.astro.build/en/reference/api-reference/#getstaticpaths for more information on getStaticPaths.\"\n};\nconst GetStaticPathsRemovedRSSHelper = {\n name: \"GetStaticPathsRemovedRSSHelper\",\n title: \"getStaticPaths RSS helper is not available anymore.\",\n message: \"The RSS helper has been removed from `getStaticPaths`. Try the new @astrojs/rss package instead.\",\n hint: \"See https://docs.astro.build/en/guides/rss/ for more information.\"\n};\nconst GetStaticPathsExpectedParams = {\n name: \"GetStaticPathsExpectedParams\",\n title: \"Missing params property on `getStaticPaths` route.\",\n message: \"Missing or empty required `params` property on `getStaticPaths` route.\",\n hint: \"See https://docs.astro.build/en/reference/api-reference/#getstaticpaths for more information on getStaticPaths.\"\n};\nconst GetStaticPathsInvalidRouteParam = {\n name: \"GetStaticPathsInvalidRouteParam\",\n title: \"Invalid value for `getStaticPaths` route parameter.\",\n message: (key, value, valueType) => `Invalid getStaticPaths route parameter for \\`${key}\\`. Expected undefined, a string or a number, received \\`${valueType}\\` (\\`${value}\\`)`,\n hint: \"See https://docs.astro.build/en/reference/api-reference/#getstaticpaths for more information on getStaticPaths.\"\n};\nconst GetStaticPathsRequired = {\n name: \"GetStaticPathsRequired\",\n title: \"`getStaticPaths()` function required for dynamic routes.\",\n message: \"`getStaticPaths()` function is required for dynamic routes. Make sure that you `export` a `getStaticPaths` function from your dynamic route.\",\n hint: `See https://docs.astro.build/en/guides/routing/#dynamic-routes for more information on dynamic routes.\n\nAlternatively, set \\`output: \"server\"\\` or \\`output: \"hybrid\"\\` in your Astro config file to switch to a non-static server build. This error can also occur if using \\`export const prerender = true;\\`.\nSee https://docs.astro.build/en/guides/server-side-rendering/ for more information on non-static rendering.`\n};\nconst ReservedSlotName = {\n name: \"ReservedSlotName\",\n title: \"Invalid slot name.\",\n message: (slotName) => `Unable to create a slot named \\`${slotName}\\`. \\`${slotName}\\` is a reserved slot name. Please update the name of this slot.`\n};\nconst NoAdapterInstalled = {\n name: \"NoAdapterInstalled\",\n title: \"Cannot use Server-side Rendering without an adapter.\",\n message: `Cannot use \\`output: 'server'\\` or \\`output: 'hybrid'\\` without an adapter. Please install and configure the appropriate server adapter for your final deployment.`,\n hint: \"See https://docs.astro.build/en/guides/server-side-rendering/ for more information.\"\n};\nconst NoMatchingImport = {\n name: \"NoMatchingImport\",\n title: \"No import found for component.\",\n message: (componentName) => `Could not render \\`${componentName}\\`. No matching import has been found for \\`${componentName}\\`.`,\n hint: \"Please make sure the component is properly imported.\"\n};\nconst InvalidPrerenderExport = {\n name: \"InvalidPrerenderExport\",\n title: \"Invalid prerender export.\",\n message(prefix, suffix, isHydridOutput) {\n const defaultExpectedValue = isHydridOutput ? \"false\" : \"true\";\n let msg = `A \\`prerender\\` export has been detected, but its value cannot be statically analyzed.`;\n if (prefix !== \"const\") msg += `\nExpected \\`const\\` declaration but got \\`${prefix}\\`.`;\n if (suffix !== \"true\")\n msg += `\nExpected \\`${defaultExpectedValue}\\` value but got \\`${suffix}\\`.`;\n return msg;\n },\n hint: \"Mutable values declared at runtime are not supported. Please make sure to use exactly `export const prerender = true`.\"\n};\nconst InvalidComponentArgs = {\n name: \"InvalidComponentArgs\",\n title: \"Invalid component arguments.\",\n message: (name) => `Invalid arguments passed to${name ? ` <${name}>` : \"\"} component.`,\n hint: \"Astro components cannot be rendered directly via function call, such as `Component()` or `{items.map(Component)}`.\"\n};\nconst PageNumberParamNotFound = {\n name: \"PageNumberParamNotFound\",\n title: \"Page number param not found.\",\n message: (paramName) => `[paginate()] page number param \\`${paramName}\\` not found in your filepath.`,\n hint: \"Rename your file to `[page].astro` or `[...page].astro`.\"\n};\nconst ImageMissingAlt = {\n name: \"ImageMissingAlt\",\n title: 'Image missing required \"alt\" property.',\n message: 'Image missing \"alt\" property. \"alt\" text is required to describe important images on the page.',\n hint: 'Use an empty string (\"\") for decorative images.'\n};\nconst InvalidImageService = {\n name: \"InvalidImageService\",\n title: \"Error while loading image service.\",\n message: \"There was an error loading the configured image service. Please see the stack trace for more information.\"\n};\nconst MissingImageDimension = {\n name: \"MissingImageDimension\",\n title: \"Missing image dimensions\",\n message: (missingDimension, imageURL) => `Missing ${missingDimension === \"both\" ? \"width and height attributes\" : `${missingDimension} attribute`} for ${imageURL}. When using remote images, both dimensions are required unless in order to avoid CLS.`,\n hint: \"If your image is inside your `src` folder, you probably meant to import it instead. See [the Imports guide for more information](https://docs.astro.build/en/guides/imports/#other-assets). You can also use `inferSize={true}` for remote images to get the original dimensions.\"\n};\nconst FailedToFetchRemoteImageDimensions = {\n name: \"FailedToFetchRemoteImageDimensions\",\n title: \"Failed to retrieve remote image dimensions\",\n message: (imageURL) => `Failed to get the dimensions for ${imageURL}.`,\n hint: \"Verify your remote image URL is accurate, and that you are not using `inferSize` with a file located in your `public/` folder.\"\n};\nconst UnsupportedImageFormat = {\n name: \"UnsupportedImageFormat\",\n title: \"Unsupported image format\",\n message: (format, imagePath, supportedFormats) => `Received unsupported format \\`${format}\\` from \\`${imagePath}\\`. Currently only ${supportedFormats.join(\n \", \"\n )} are supported by our image services.`,\n hint: \"Using an `img` tag directly instead of the `Image` component might be what you're looking for.\"\n};\nconst UnsupportedImageConversion = {\n name: \"UnsupportedImageConversion\",\n title: \"Unsupported image conversion\",\n message: \"Converting between vector (such as SVGs) and raster (such as PNGs and JPEGs) images is not currently supported.\"\n};\nconst PrerenderDynamicEndpointPathCollide = {\n name: \"PrerenderDynamicEndpointPathCollide\",\n title: \"Prerendered dynamic endpoint has path collision.\",\n message: (pathname) => `Could not render \\`${pathname}\\` with an \\`undefined\\` param as the generated path will collide during prerendering. Prevent passing \\`undefined\\` as \\`params\\` for the endpoint's \\`getStaticPaths()\\` function, or add an additional extension to the endpoint's filename.`,\n hint: (filename) => `Rename \\`${filename}\\` to \\`${filename.replace(/\\.(?:js|ts)/, (m) => `.json` + m)}\\``\n};\nconst ExpectedImage = {\n name: \"ExpectedImage\",\n title: \"Expected src to be an image.\",\n message: (src, typeofOptions, fullOptions) => `Expected \\`src\\` property for \\`getImage\\` or \\`\\` to be either an ESM imported image or a string with the path of a remote image. Received \\`${src}\\` (type: \\`${typeofOptions}\\`).\n\nFull serialized options received: \\`${fullOptions}\\`.`,\n hint: \"This error can often happen because of a wrong path. Make sure the path to your image is correct. If you're passing an async function, make sure to call and await it.\"\n};\nconst ExpectedImageOptions = {\n name: \"ExpectedImageOptions\",\n title: \"Expected image options.\",\n message: (options) => `Expected getImage() parameter to be an object. Received \\`${options}\\`.`\n};\nconst ExpectedNotESMImage = {\n name: \"ExpectedNotESMImage\",\n title: \"Expected image options, not an ESM-imported image.\",\n message: \"An ESM-imported image cannot be passed directly to `getImage()`. Instead, pass an object with the image in the `src` property.\",\n hint: \"Try changing `getImage(myImage)` to `getImage({ src: myImage })`\"\n};\nconst IncompatibleDescriptorOptions = {\n name: \"IncompatibleDescriptorOptions\",\n title: \"Cannot set both `densities` and `widths`\",\n message: \"Only one of `densities` or `widths` can be specified. In most cases, you'll probably want to use only `widths` if you require specific widths.\",\n hint: \"Those attributes are used to construct a `srcset` attribute, which cannot have both `x` and `w` descriptors.\"\n};\nconst ImageNotFound = {\n name: \"ImageNotFound\",\n title: \"Image not found.\",\n message: (imagePath) => `Could not find requested image \\`${imagePath}\\`. Does it exist?`,\n hint: \"This is often caused by a typo in the image path. Please make sure the file exists, and is spelled correctly.\"\n};\nconst NoImageMetadata = {\n name: \"NoImageMetadata\",\n title: \"Could not process image metadata.\",\n message: (imagePath) => `Could not process image metadata${imagePath ? ` for \\`${imagePath}\\`` : \"\"}.`,\n hint: \"This is often caused by a corrupted or malformed image. Re-exporting the image from your image editor may fix this issue.\"\n};\nconst MarkdownImageNotFound = {\n name: \"MarkdownImageNotFound\",\n title: \"Image not found.\",\n message: (imagePath, fullImagePath) => `Could not find requested image \\`${imagePath}\\`${fullImagePath ? ` at \\`${fullImagePath}\\`.` : \".\"}`,\n hint: \"This is often caused by a typo in the image path. Please make sure the file exists, and is spelled correctly.\"\n};\nconst CouldNotTransformImage = {\n name: \"CouldNotTransformImage\",\n title: \"Could not transform image.\",\n message: (imagePath) => `Could not transform image \\`${imagePath}\\`. See the stack trace for more information.`,\n hint: \"This is often caused by a corrupted or malformed image. Re-exporting the image from your image editor may fix this issue.\"\n};\nconst ResponseSentError = {\n name: \"ResponseSentError\",\n title: \"Unable to set response.\",\n message: \"The response has already been sent to the browser and cannot be altered.\"\n};\nconst MiddlewareNoDataOrNextCalled = {\n name: \"MiddlewareNoDataOrNextCalled\",\n title: \"The middleware didn't return a `Response`.\",\n message: \"Make sure your middleware returns a `Response` object, either directly or by returning the `Response` from calling the `next` function.\"\n};\nconst MiddlewareNotAResponse = {\n name: \"MiddlewareNotAResponse\",\n title: \"The middleware returned something that is not a `Response` object.\",\n message: \"Any data returned from middleware must be a valid `Response` object.\"\n};\nconst EndpointDidNotReturnAResponse = {\n name: \"EndpointDidNotReturnAResponse\",\n title: \"The endpoint did not return a `Response`.\",\n message: \"An endpoint must return either a `Response`, or a `Promise` that resolves with a `Response`.\"\n};\nconst LocalsNotAnObject = {\n name: \"LocalsNotAnObject\",\n title: \"Value assigned to `locals` is not accepted.\",\n message: \"`locals` can only be assigned to an object. Other values like numbers, strings, etc. are not accepted.\",\n hint: \"If you tried to remove some information from the `locals` object, try to use `delete` or set the property to `undefined`.\"\n};\nconst AstroResponseHeadersReassigned = {\n name: \"AstroResponseHeadersReassigned\",\n title: \"`Astro.response.headers` must not be reassigned.\",\n message: \"Individual headers can be added to and removed from `Astro.response.headers`, but it must not be replaced with another instance of `Headers` altogether.\",\n hint: \"Consider using `Astro.response.headers.add()`, and `Astro.response.headers.delete()`.\"\n};\nconst MiddlewareCantBeLoaded = {\n name: \"MiddlewareCantBeLoaded\",\n title: \"Can't load the middleware.\",\n message: \"An unknown error was thrown while loading your middleware.\"\n};\nconst LocalImageUsedWrongly = {\n name: \"LocalImageUsedWrongly\",\n title: \"Local images must be imported.\",\n message: (imageFilePath) => `\\`Image\\`'s and \\`getImage\\`'s \\`src\\` parameter must be an imported image or an URL, it cannot be a string filepath. Received \\`${imageFilePath}\\`.`,\n hint: \"If you want to use an image from your `src` folder, you need to either import it or if the image is coming from a content collection, use the [image() schema helper](https://docs.astro.build/en/guides/images/#images-in-content-collections). See https://docs.astro.build/en/guides/images/#src-required for more information on the `src` property.\"\n};\nconst AstroGlobUsedOutside = {\n name: \"AstroGlobUsedOutside\",\n title: \"Astro.glob() used outside of an Astro file.\",\n message: (globStr) => `\\`Astro.glob(${globStr})\\` can only be used in \\`.astro\\` files. \\`import.meta.glob(${globStr})\\` can be used instead to achieve a similar result.`,\n hint: \"See Vite's documentation on `import.meta.glob` for more information: https://vitejs.dev/guide/features.html#glob-import\"\n};\nconst AstroGlobNoMatch = {\n name: \"AstroGlobNoMatch\",\n title: \"Astro.glob() did not match any files.\",\n message: (globStr) => `\\`Astro.glob(${globStr})\\` did not return any matching files.`,\n hint: \"Check the pattern for typos.\"\n};\nconst RedirectWithNoLocation = {\n name: \"RedirectWithNoLocation\",\n title: \"A redirect must be given a location with the `Location` header.\"\n};\nconst InvalidDynamicRoute = {\n name: \"InvalidDynamicRoute\",\n title: \"Invalid dynamic route.\",\n message: (route, invalidParam, received) => `The ${invalidParam} param for route ${route} is invalid. Received **${received}**.`\n};\nconst MissingSharp = {\n name: \"MissingSharp\",\n title: \"Could not find Sharp.\",\n message: \"Could not find Sharp. Please install Sharp (`sharp`) manually into your project or migrate to another image service.\",\n hint: \"See Sharp's installation instructions for more information: https://sharp.pixelplumbing.com/install. If you are not relying on `astro:assets` to optimize, transform, or process any images, you can configure a passthrough image service instead of installing Sharp. See https://docs.astro.build/en/reference/errors/missing-sharp for more information.\\n\\nSee https://docs.astro.build/en/guides/images/#default-image-service for more information on how to migrate to another image service.\"\n};\nconst UnknownViteError = {\n name: \"UnknownViteError\",\n title: \"Unknown Vite Error.\"\n};\nconst FailedToLoadModuleSSR = {\n name: \"FailedToLoadModuleSSR\",\n title: \"Could not import file.\",\n message: (importName) => `Could not import \\`${importName}\\`.`,\n hint: \"This is often caused by a typo in the import path. Please make sure the file exists.\"\n};\nconst InvalidGlob = {\n name: \"InvalidGlob\",\n title: \"Invalid glob pattern.\",\n message: (globPattern) => `Invalid glob pattern: \\`${globPattern}\\`. Glob patterns must start with './', '../' or '/'.`,\n hint: \"See https://docs.astro.build/en/guides/imports/#glob-patterns for more information on supported glob patterns.\"\n};\nconst FailedToFindPageMapSSR = {\n name: \"FailedToFindPageMapSSR\",\n title: \"Astro couldn't find the correct page to render\",\n message: \"Astro couldn't find the correct page to render, probably because it wasn't correctly mapped for SSR usage. This is an internal error. Please file an issue.\"\n};\nconst MissingLocale = {\n name: \"MissingLocaleError\",\n title: \"The provided locale does not exist.\",\n message: (locale) => `The locale/path \\`${locale}\\` does not exist in the configured \\`i18n.locales\\`.`\n};\nconst MissingIndexForInternationalization = {\n name: \"MissingIndexForInternationalizationError\",\n title: \"Index page not found.\",\n message: (defaultLocale) => `Could not find index page. A root index page is required in order to create a redirect to the index URL of the default locale. (\\`/${defaultLocale}\\`)`,\n hint: (src) => `Create an index page (\\`index.astro, index.md, etc.\\`) in \\`${src}\\`.`\n};\nconst IncorrectStrategyForI18n = {\n name: \"IncorrectStrategyForI18n\",\n title: \"You can't use the current function with the current strategy\",\n message: (functionName) => `The function \\`${functionName}\\` can only be used when the \\`i18n.routing.strategy\\` is set to \\`\"manual\"\\`.`\n};\nconst NoPrerenderedRoutesWithDomains = {\n name: \"NoPrerenderedRoutesWithDomains\",\n title: \"Prerendered routes aren't supported when internationalization domains are enabled.\",\n message: (component) => `Static pages aren't yet supported with multiple domains. To enable this feature, you must disable prerendering for the page ${component}`\n};\nconst MissingMiddlewareForInternationalization = {\n name: \"MissingMiddlewareForInternationalization\",\n title: \"Enabled manual internationalization routing without having a middleware.\",\n message: \"Your configuration setting `i18n.routing: 'manual'` requires you to provide your own i18n `middleware` file.\"\n};\nconst RewriteEncounteredAnError = {\n name: \"RewriteEncounteredAnError\",\n title: \"Astro couldn't find the route to rewrite, or if was found but it emitted an error during the rendering phase.\",\n message: (route, stack) => `The route ${route} that you tried to render doesn't exist, or it emitted an error during the rendering phase. ${stack ? stack : \"\"}.`\n};\nconst CantRenderPage = {\n name: \"CantRenderPage\",\n title: \"Astro can't render the route.\",\n message: \"Astro cannot find any content to render for this route. There is no file or redirect associated with this route.\",\n hint: \"If you expect to find a route here, this may be an Astro bug. Please file an issue/restart the dev server\"\n};\nconst UnhandledRejection = {\n name: \"UnhandledRejection\",\n title: \"Unhandled rejection\",\n message: (stack) => `Astro detected an unhandled rejection. Here's the stack trace:\n${stack}`,\n hint: \"Make sure your promises all have an `await` or a `.catch()` handler.\"\n};\nconst i18nNotEnabled = {\n name: \"i18nNotEnabled\",\n title: \"i18n Not Enabled\",\n message: \"The `astro:i18n` module can not be used without enabling i18n in your Astro config.\",\n hint: \"See https://docs.astro.build/en/guides/internationalization for a guide on setting up i18n.\"\n};\nconst i18nNoLocaleFoundInPath = {\n name: \"i18nNoLocaleFoundInPath\",\n title: \"The path doesn't contain any locale\",\n message: \"You tried to use an i18n utility on a path that doesn't contain any locale. You can use `pathHasLocale` first to determine if the path has a locale.\"\n};\nconst RouteNotFound = {\n name: \"RouteNotFound\",\n title: \"Route not found.\",\n message: `Astro could not find a route that matches the one you requested.`\n};\nconst EnvInvalidVariables = {\n name: \"EnvInvalidVariables\",\n title: \"Invalid Environment Variables\",\n message: (errors) => `The following environment variables defined in \\`experimental.env.schema\\` are invalid:\n\n${errors.map((err) => `- ${err}`).join(\"\\n\")}\n`\n};\nconst EnvUnsupportedGetSecret = {\n name: \"EnvUnsupportedGetSecret\",\n title: \"Unsupported astro:env getSecret\",\n message: \"`astro:env/server` exported function `getSecret` is not supported by your adapter.\"\n};\nconst ServerOnlyModule = {\n name: \"ServerOnlyModule\",\n title: \"Module is only available server-side\",\n message: (name) => `The \"${name}\" module is only available server-side.`\n};\nconst RewriteWithBodyUsed = {\n name: \"RewriteWithBodyUsed\",\n title: \"Cannot use Astro.rewrite after the request body has been read\",\n message: \"Astro.rewrite() cannot be used if the request body has already been read. If you need to read the body, first clone the request.\"\n};\nconst UnknownFilesystemError = {\n name: \"UnknownFilesystemError\",\n title: \"An unknown error occurred while reading or writing files to disk.\",\n hint: \"It can be caused by many things, eg. missing permissions or a file not existing we attempt to read. Check the error cause for more details.\"\n};\nconst UnknownCSSError = {\n name: \"UnknownCSSError\",\n title: \"Unknown CSS Error.\"\n};\nconst CSSSyntaxError = {\n name: \"CSSSyntaxError\",\n title: \"CSS Syntax Error.\"\n};\nconst UnknownMarkdownError = {\n name: \"UnknownMarkdownError\",\n title: \"Unknown Markdown Error.\"\n};\nconst MarkdownFrontmatterParseError = {\n name: \"MarkdownFrontmatterParseError\",\n title: \"Failed to parse Markdown frontmatter.\"\n};\nconst InvalidFrontmatterInjectionError = {\n name: \"InvalidFrontmatterInjectionError\",\n title: \"Invalid frontmatter injection.\",\n message: 'A remark or rehype plugin attempted to inject invalid frontmatter. Ensure \"astro.frontmatter\" is set to a valid JSON object that is not `null` or `undefined`.',\n hint: \"See the frontmatter injection docs https://docs.astro.build/en/guides/markdown-content/#modifying-frontmatter-programmatically for more information.\"\n};\nconst MdxIntegrationMissingError = {\n name: \"MdxIntegrationMissingError\",\n title: \"MDX integration missing.\",\n message: (file) => `Unable to render ${file}. Ensure that the \\`@astrojs/mdx\\` integration is installed.`,\n hint: \"See the MDX integration docs for installation and usage instructions: https://docs.astro.build/en/guides/integrations-guide/mdx/\"\n};\nconst UnknownConfigError = {\n name: \"UnknownConfigError\",\n title: \"Unknown configuration error.\"\n};\nconst ConfigNotFound = {\n name: \"ConfigNotFound\",\n title: \"Specified configuration file not found.\",\n message: (configFile) => `Unable to resolve \\`--config \"${configFile}\"\\`. Does the file exist?`\n};\nconst ConfigLegacyKey = {\n name: \"ConfigLegacyKey\",\n title: \"Legacy configuration detected.\",\n message: (legacyConfigKey) => `Legacy configuration detected: \\`${legacyConfigKey}\\`.`,\n hint: \"Please update your configuration to the new format.\\nSee https://astro.build/config for more information.\"\n};\nconst UnknownCLIError = {\n name: \"UnknownCLIError\",\n title: \"Unknown CLI Error.\"\n};\nconst GenerateContentTypesError = {\n name: \"GenerateContentTypesError\",\n title: \"Failed to generate content types.\",\n message: (errorMessage) => `\\`astro sync\\` command failed to generate content collection types: ${errorMessage}`,\n hint: \"Check your `src/content/config.*` file for typos.\"\n};\nconst UnknownContentCollectionError = {\n name: \"UnknownContentCollectionError\",\n title: \"Unknown Content Collection Error.\"\n};\nconst GetEntryDeprecationError = {\n name: \"GetEntryDeprecationError\",\n title: \"Invalid use of `getDataEntryById` or `getEntryBySlug` function.\",\n message: (collection, method) => `The \\`${method}\\` function is deprecated and cannot be used to query the \"${collection}\" collection. Use \\`getEntry\\` instead.`,\n hint: \"Use the `getEntry` or `getCollection` functions to query content layer collections.\"\n};\nconst InvalidContentEntryFrontmatterError = {\n name: \"InvalidContentEntryFrontmatterError\",\n title: \"Content entry frontmatter does not match schema.\",\n message(collection, entryId, error) {\n return [\n `**${String(collection)} \\u2192 ${String(\n entryId\n )}** frontmatter does not match collection schema.`,\n ...error.errors.map((zodError) => zodError.message)\n ].join(\"\\n\");\n },\n hint: \"See https://docs.astro.build/en/guides/content-collections/ for more information on content schemas.\"\n};\nconst InvalidContentEntrySlugError = {\n name: \"InvalidContentEntrySlugError\",\n title: \"Invalid content entry slug.\",\n message(collection, entryId) {\n return `${String(collection)} \\u2192 ${String(\n entryId\n )} has an invalid slug. \\`slug\\` must be a string.`;\n },\n hint: \"See https://docs.astro.build/en/guides/content-collections/ for more on the `slug` field.\"\n};\nconst ContentSchemaContainsSlugError = {\n name: \"ContentSchemaContainsSlugError\",\n title: \"Content Schema should not contain `slug`.\",\n message: (collectionName) => `A content collection schema should not contain \\`slug\\` since it is reserved for slug generation. Remove this from your ${collectionName} collection schema.`,\n hint: \"See https://docs.astro.build/en/guides/content-collections/ for more on the `slug` field.\"\n};\nconst CollectionDoesNotExistError = {\n name: \"CollectionDoesNotExistError\",\n title: \"Collection does not exist\",\n message: (collectionName) => `The collection **${collectionName}** does not exist. Ensure a collection directory with this name exists.`,\n hint: \"See https://docs.astro.build/en/guides/content-collections/ for more on creating collections.\"\n};\nconst MixedContentDataCollectionError = {\n name: \"MixedContentDataCollectionError\",\n title: \"Content and data cannot be in same collection.\",\n message: (collectionName) => `**${collectionName}** contains a mix of content and data entries. All entries must be of the same type.`,\n hint: \"Store data entries in a new collection separate from your content collection.\"\n};\nconst ContentCollectionTypeMismatchError = {\n name: \"ContentCollectionTypeMismatchError\",\n title: \"Collection contains entries of a different type.\",\n message: (collection, expectedType, actualType) => `${collection} contains ${expectedType} entries, but is configured as a ${actualType} collection.`\n};\nconst DataCollectionEntryParseError = {\n name: \"DataCollectionEntryParseError\",\n title: \"Data collection entry failed to parse.\",\n message(entryId, errorMessage) {\n return `**${entryId}** failed to parse: ${errorMessage}`;\n },\n hint: \"Ensure your data entry is an object with valid JSON (for `.json` entries) or YAML (for `.yaml` entries).\"\n};\nconst DuplicateContentEntrySlugError = {\n name: \"DuplicateContentEntrySlugError\",\n title: \"Duplicate content entry slug.\",\n message(collection, slug, preExisting, alsoFound) {\n return `**${collection}** contains multiple entries with the same slug: \\`${slug}\\`. Slugs must be unique.\n\nEntries: \n- ${preExisting}\n- ${alsoFound}`;\n }\n};\nconst UnsupportedConfigTransformError = {\n name: \"UnsupportedConfigTransformError\",\n title: \"Unsupported transform in content config.\",\n message: (parseError) => `\\`transform()\\` functions in your content config must return valid JSON, or data types compatible with the devalue library (including Dates, Maps, and Sets).\nFull error: ${parseError}`,\n hint: \"See the devalue library for all supported types: https://github.com/rich-harris/devalue\"\n};\nconst ActionsWithoutServerOutputError = {\n name: \"ActionsWithoutServerOutputError\",\n title: \"Actions must be used with server output.\",\n message: \"Actions enabled without setting a server build output. A server is required to create callable backend functions. To deploy routes to a server, add a server adapter to your astro config.\",\n hint: \"Learn about on-demand rendering: https://docs.astro.build/en/basics/rendering-modes/#on-demand-rendered\"\n};\nconst ActionsUsedWithForGetError = {\n name: \"ActionsUsedWithForGetError\",\n title: \"An invalid Action query string was passed by a form.\",\n message: (actionName) => `Action ${actionName} was called from a form using a GET request, but only POST requests are supported. This often occurs if \\`method=\"POST\"\\` is missing on the form.`,\n hint: \"Actions are experimental. Visit the RFC for usage instructions: https://github.com/withastro/roadmap/blob/actions/proposals/0046-actions.md\"\n};\nconst ActionQueryStringInvalidError = {\n name: \"ActionQueryStringInvalidError\",\n title: \"An invalid Action query string was passed by a form.\",\n message: (actionName) => `The server received the query string \\`?_astroAction=${actionName}\\`, but could not find an action with that name. If you changed an action's name in development, remove this query param from your URL and refresh.`,\n hint: \"Actions are experimental. Visit the RFC for usage instructions: https://github.com/withastro/roadmap/blob/actions/proposals/0046-actions.md\"\n};\nconst ActionCalledFromServerError = {\n name: \"ActionCalledFromServerError\",\n title: \"Action unexpected called from the server.\",\n message: \"Action called from a server page or endpoint without using `Astro.callAction()`.\",\n hint: \"See the RFC section on server calls for usage instructions: https://github.com/withastro/roadmap/blob/actions/proposals/0046-actions.md#call-actions-directly-from-server-code\"\n};\nconst UnknownError = { name: \"UnknownError\", title: \"Unknown Error.\" };\nexport {\n ActionCalledFromServerError,\n ActionQueryStringInvalidError,\n ActionsUsedWithForGetError,\n ActionsWithoutServerOutputError,\n AstroGlobNoMatch,\n AstroGlobUsedOutside,\n AstroResponseHeadersReassigned,\n CSSSyntaxError,\n CantRenderPage,\n ClientAddressNotAvailable,\n CollectionDoesNotExistError,\n ConfigLegacyKey,\n ConfigNotFound,\n ContentCollectionTypeMismatchError,\n ContentSchemaContainsSlugError,\n CouldNotTransformImage,\n DataCollectionEntryParseError,\n DuplicateContentEntrySlugError,\n EndpointDidNotReturnAResponse,\n EnvInvalidVariables,\n EnvUnsupportedGetSecret,\n ExpectedImage,\n ExpectedImageOptions,\n ExpectedNotESMImage,\n FailedToFetchRemoteImageDimensions,\n FailedToFindPageMapSSR,\n FailedToLoadModuleSSR,\n GenerateContentTypesError,\n GetEntryDeprecationError,\n GetStaticPathsExpectedParams,\n GetStaticPathsInvalidRouteParam,\n GetStaticPathsRemovedRSSHelper,\n GetStaticPathsRequired,\n ImageMissingAlt,\n ImageNotFound,\n IncompatibleDescriptorOptions,\n IncorrectStrategyForI18n,\n InvalidComponentArgs,\n InvalidContentEntryFrontmatterError,\n InvalidContentEntrySlugError,\n InvalidDynamicRoute,\n InvalidFrontmatterInjectionError,\n InvalidGetStaticPathParam,\n InvalidGetStaticPathsEntry,\n InvalidGetStaticPathsReturn,\n InvalidGlob,\n InvalidImageService,\n InvalidPrerenderExport,\n LocalImageUsedWrongly,\n LocalsNotAnObject,\n MarkdownFrontmatterParseError,\n MarkdownImageNotFound,\n MdxIntegrationMissingError,\n MiddlewareCantBeLoaded,\n MiddlewareNoDataOrNextCalled,\n MiddlewareNotAResponse,\n MissingImageDimension,\n MissingIndexForInternationalization,\n MissingLocale,\n MissingMediaQueryDirective,\n MissingMiddlewareForInternationalization,\n MissingSharp,\n MixedContentDataCollectionError,\n NoAdapterInstalled,\n NoClientEntrypoint,\n NoClientOnlyHint,\n NoImageMetadata,\n NoMatchingImport,\n NoMatchingRenderer,\n NoMatchingStaticPathFound,\n NoPrerenderedRoutesWithDomains,\n OnlyResponseCanBeReturned,\n PageNumberParamNotFound,\n PrerenderClientAddressNotAvailable,\n PrerenderDynamicEndpointPathCollide,\n RedirectWithNoLocation,\n ReservedSlotName,\n ResponseSentError,\n RewriteEncounteredAnError,\n RewriteWithBodyUsed,\n RouteNotFound,\n ServerOnlyModule,\n StaticClientAddressNotAvailable,\n StaticRedirectNotAvailable,\n UnhandledRejection,\n UnknownCLIError,\n UnknownCSSError,\n UnknownCompilerError,\n UnknownConfigError,\n UnknownContentCollectionError,\n UnknownError,\n UnknownFilesystemError,\n UnknownMarkdownError,\n UnknownViteError,\n UnsupportedConfigTransformError,\n UnsupportedImageConversion,\n UnsupportedImageFormat,\n i18nNoLocaleFoundInPath,\n i18nNotEnabled\n};\n","function positionAt(offset, text) {\n const lineOffsets = getLineOffsets(text);\n offset = Math.max(0, Math.min(text.length, offset));\n let low = 0;\n let high = lineOffsets.length;\n if (high === 0) {\n return {\n line: 0,\n column: offset\n };\n }\n while (low <= high) {\n const mid = Math.floor((low + high) / 2);\n const lineOffset = lineOffsets[mid];\n if (lineOffset === offset) {\n return {\n line: mid,\n column: 0\n };\n } else if (offset > lineOffset) {\n low = mid + 1;\n } else {\n high = mid - 1;\n }\n }\n const line = low - 1;\n return { line, column: offset - lineOffsets[line] };\n}\nfunction getLineOffsets(text) {\n const lineOffsets = [];\n let isLineStart = true;\n for (let i = 0; i < text.length; i++) {\n if (isLineStart) {\n lineOffsets.push(i);\n isLineStart = false;\n }\n const ch = text.charAt(i);\n isLineStart = ch === \"\\r\" || ch === \"\\n\";\n if (ch === \"\\r\" && i + 1 < text.length && text.charAt(i + 1) === \"\\n\") {\n i++;\n }\n }\n if (isLineStart && text.length > 0) {\n lineOffsets.push(text.length);\n }\n return lineOffsets;\n}\nfunction isYAMLException(err) {\n return err instanceof Error && err.name === \"YAMLException\";\n}\nfunction formatYAMLException(e) {\n return {\n name: e.name,\n id: e.mark.name,\n loc: { file: e.mark.name, line: e.mark.line + 1, column: e.mark.column },\n message: e.reason,\n stack: e.stack ?? \"\"\n };\n}\nfunction createSafeError(err) {\n if (err instanceof Error || err?.name && err.message) {\n return err;\n } else {\n const error = new Error(JSON.stringify(err));\n error.hint = `To get as much information as possible from your errors, make sure to throw Error objects instead of \\`${typeof err}\\`. See https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Error for more information.`;\n return error;\n }\n}\nfunction normalizeLF(code) {\n return code.replace(/\\r\\n|\\r(?!\\n)|\\n/g, \"\\n\");\n}\nexport {\n createSafeError,\n formatYAMLException,\n isYAMLException,\n normalizeLF,\n positionAt\n};\n","import { normalizeLF } from \"./utils.js\";\nfunction codeFrame(src, loc) {\n if (!loc || loc.line === void 0 || loc.column === void 0) {\n return \"\";\n }\n const lines = normalizeLF(src).split(\"\\n\").map((ln) => ln.replace(/\\t/g, \" \"));\n const visibleLines = [];\n for (let n = -2; n <= 2; n++) {\n if (lines[loc.line + n]) visibleLines.push(loc.line + n);\n }\n let gutterWidth = 0;\n for (const lineNo of visibleLines) {\n let w = `> ${lineNo}`;\n if (w.length > gutterWidth) gutterWidth = w.length;\n }\n let output = \"\";\n for (const lineNo of visibleLines) {\n const isFocusedLine = lineNo === loc.line - 1;\n output += isFocusedLine ? \"> \" : \" \";\n output += `${lineNo + 1} | ${lines[lineNo]}\n`;\n if (isFocusedLine)\n output += `${Array.from({ length: gutterWidth }).join(\" \")} | ${Array.from({\n length: loc.column\n }).join(\" \")}^\n`;\n }\n return output;\n}\nexport {\n codeFrame\n};\n","import { codeFrame } from \"./printer.js\";\nfunction isAstroError(e) {\n return e instanceof AstroError;\n}\nclass AstroError extends Error {\n loc;\n title;\n hint;\n frame;\n type = \"AstroError\";\n constructor(props, options) {\n const { name, title, message, stack, location, hint, frame } = props;\n super(message, options);\n this.title = title;\n this.name = name;\n if (message) this.message = message;\n this.stack = stack ? stack : this.stack;\n this.loc = location;\n this.hint = hint;\n this.frame = frame;\n }\n setLocation(location) {\n this.loc = location;\n }\n setName(name) {\n this.name = name;\n }\n setMessage(message) {\n this.message = message;\n }\n setHint(hint) {\n this.hint = hint;\n }\n setFrame(source, location) {\n this.frame = codeFrame(source, location);\n }\n static is(err) {\n return err.type === \"AstroError\";\n }\n}\nclass CompilerError extends AstroError {\n type = \"CompilerError\";\n constructor(props, options) {\n super(props, options);\n }\n static is(err) {\n return err.type === \"CompilerError\";\n }\n}\nclass CSSError extends AstroError {\n type = \"CSSError\";\n static is(err) {\n return err.type === \"CSSError\";\n }\n}\nclass MarkdownError extends AstroError {\n type = \"MarkdownError\";\n static is(err) {\n return err.type === \"MarkdownError\";\n }\n}\nclass InternalError extends AstroError {\n type = \"InternalError\";\n static is(err) {\n return err.type === \"InternalError\";\n }\n}\nclass AggregateError extends AstroError {\n type = \"AggregateError\";\n errors;\n // Despite being a collection of errors, AggregateError still needs to have a main error attached to it\n // This is because Vite expects every thrown errors handled during HMR to be, well, Error and have a message\n constructor(props, options) {\n super(props, options);\n this.errors = props.errors;\n }\n static is(err) {\n return err.type === \"AggregateError\";\n }\n}\nconst astroConfigZodErrors = /* @__PURE__ */ new WeakSet();\nfunction isAstroConfigZodError(error) {\n return astroConfigZodErrors.has(error);\n}\nfunction trackAstroConfigZodError(error) {\n astroConfigZodErrors.add(error);\n}\nclass AstroUserError extends Error {\n type = \"AstroUserError\";\n /**\n * A message that explains to the user how they can fix the error.\n */\n hint;\n name = \"AstroUserError\";\n constructor(message, hint) {\n super();\n this.message = message;\n this.hint = hint;\n }\n static is(err) {\n return err.type === \"AstroUserError\";\n }\n}\nexport {\n AggregateError,\n AstroError,\n AstroUserError,\n CSSError,\n CompilerError,\n InternalError,\n MarkdownError,\n isAstroConfigZodError,\n isAstroError,\n trackAstroConfigZodError\n};\n","import { AstroError, AstroErrorData } from \"../../core/errors/index.js\";\nfunction validateArgs(args) {\n if (args.length !== 3) return false;\n if (!args[0] || typeof args[0] !== \"object\") return false;\n return true;\n}\nfunction baseCreateComponent(cb, moduleId, propagation) {\n const name = moduleId?.split(\"/\").pop()?.replace(\".astro\", \"\") ?? \"\";\n const fn = (...args) => {\n if (!validateArgs(args)) {\n throw new AstroError({\n ...AstroErrorData.InvalidComponentArgs,\n message: AstroErrorData.InvalidComponentArgs.message(name)\n });\n }\n return cb(...args);\n };\n Object.defineProperty(fn, \"name\", { value: name, writable: false });\n fn.isAstroComponentFactory = true;\n fn.moduleId = moduleId;\n fn.propagation = propagation;\n return fn;\n}\nfunction createComponentWithOptions(opts) {\n const cb = baseCreateComponent(opts.factory, opts.moduleId, opts.propagation);\n return cb;\n}\nfunction createComponent(arg1, moduleId, propagation) {\n if (typeof arg1 === \"function\") {\n return baseCreateComponent(arg1, moduleId, propagation);\n } else {\n return createComponentWithOptions(arg1);\n }\n}\nexport {\n createComponent\n};\n","const ASTRO_VERSION = \"4.14.4\";\nconst REROUTE_DIRECTIVE_HEADER = \"X-Astro-Reroute\";\nconst REWRITE_DIRECTIVE_HEADER_KEY = \"X-Astro-Rewrite\";\nconst REWRITE_DIRECTIVE_HEADER_VALUE = \"yes\";\nconst ROUTE_TYPE_HEADER = \"X-Astro-Route-Type\";\nconst DEFAULT_404_COMPONENT = \"astro-default-404.astro\";\nconst DEFAULT_500_COMPONENT = \"astro-default-500.astro\";\nconst REROUTABLE_STATUS_CODES = [404, 500];\nconst clientAddressSymbol = Symbol.for(\"astro.clientAddress\");\nconst clientLocalsSymbol = Symbol.for(\"astro.locals\");\nconst responseSentSymbol = Symbol.for(\"astro.responseSent\");\nconst SUPPORTED_MARKDOWN_FILE_EXTENSIONS = [\n \".markdown\",\n \".mdown\",\n \".mkdn\",\n \".mkd\",\n \".mdwn\",\n \".md\"\n];\nconst MIDDLEWARE_PATH_SEGMENT_NAME = \"middleware\";\nexport {\n ASTRO_VERSION,\n DEFAULT_404_COMPONENT,\n DEFAULT_500_COMPONENT,\n MIDDLEWARE_PATH_SEGMENT_NAME,\n REROUTABLE_STATUS_CODES,\n REROUTE_DIRECTIVE_HEADER,\n REWRITE_DIRECTIVE_HEADER_KEY,\n REWRITE_DIRECTIVE_HEADER_VALUE,\n ROUTE_TYPE_HEADER,\n SUPPORTED_MARKDOWN_FILE_EXTENSIONS,\n clientAddressSymbol,\n clientLocalsSymbol,\n responseSentSymbol\n};\n","import { ASTRO_VERSION } from \"../../core/constants.js\";\nimport { AstroError, AstroErrorData } from \"../../core/errors/index.js\";\nfunction createAstroGlobFn() {\n const globHandler = (importMetaGlobResult) => {\n if (typeof importMetaGlobResult === \"string\") {\n throw new AstroError({\n ...AstroErrorData.AstroGlobUsedOutside,\n message: AstroErrorData.AstroGlobUsedOutside.message(JSON.stringify(importMetaGlobResult))\n });\n }\n let allEntries = [...Object.values(importMetaGlobResult)];\n if (allEntries.length === 0) {\n throw new AstroError({\n ...AstroErrorData.AstroGlobNoMatch,\n message: AstroErrorData.AstroGlobNoMatch.message(JSON.stringify(importMetaGlobResult))\n });\n }\n return Promise.all(allEntries.map((fn) => fn()));\n };\n return globHandler;\n}\nfunction createAstro(site) {\n return {\n // TODO: this is no longer necessary for `Astro.site`\n // but it somehow allows working around caching issues in content collections for some tests\n site: site ? new URL(site) : void 0,\n generator: `Astro v${ASTRO_VERSION}`,\n glob: createAstroGlobFn()\n };\n}\nexport {\n createAstro\n};\n","function isPromise(value) {\n return !!value && typeof value === \"object\" && \"then\" in value && typeof value.then === \"function\";\n}\nasync function* streamAsyncIterator(stream) {\n const reader = stream.getReader();\n try {\n while (true) {\n const { done, value } = await reader.read();\n if (done) return;\n yield value;\n }\n } finally {\n reader.releaseLock();\n }\n}\nexport {\n isPromise,\n streamAsyncIterator\n};\n","import { escape } from \"html-escaper\";\nimport { streamAsyncIterator } from \"./util.js\";\nconst escapeHTML = escape;\nclass HTMLBytes extends Uint8Array {\n}\nObject.defineProperty(HTMLBytes.prototype, Symbol.toStringTag, {\n get() {\n return \"HTMLBytes\";\n }\n});\nclass HTMLString extends String {\n get [Symbol.toStringTag]() {\n return \"HTMLString\";\n }\n}\nconst markHTMLString = (value) => {\n if (value instanceof HTMLString) {\n return value;\n }\n if (typeof value === \"string\") {\n return new HTMLString(value);\n }\n return value;\n};\nfunction isHTMLString(value) {\n return Object.prototype.toString.call(value) === \"[object HTMLString]\";\n}\nfunction markHTMLBytes(bytes) {\n return new HTMLBytes(bytes);\n}\nfunction isHTMLBytes(value) {\n return Object.prototype.toString.call(value) === \"[object HTMLBytes]\";\n}\nfunction hasGetReader(obj) {\n return typeof obj.getReader === \"function\";\n}\nasync function* unescapeChunksAsync(iterable) {\n if (hasGetReader(iterable)) {\n for await (const chunk of streamAsyncIterator(iterable)) {\n yield unescapeHTML(chunk);\n }\n } else {\n for await (const chunk of iterable) {\n yield unescapeHTML(chunk);\n }\n }\n}\nfunction* unescapeChunks(iterable) {\n for (const chunk of iterable) {\n yield unescapeHTML(chunk);\n }\n}\nfunction unescapeHTML(str) {\n if (!!str && typeof str === \"object\") {\n if (str instanceof Uint8Array) {\n return markHTMLBytes(str);\n } else if (str instanceof Response && str.body) {\n const body = str.body;\n return unescapeChunksAsync(body);\n } else if (typeof str.then === \"function\") {\n return Promise.resolve(str).then((value) => {\n return unescapeHTML(value);\n });\n } else if (str[Symbol.for(\"astro:slot-string\")]) {\n return str;\n } else if (Symbol.iterator in str) {\n return unescapeChunks(str);\n } else if (Symbol.asyncIterator in str || hasGetReader(str)) {\n return unescapeChunksAsync(str);\n }\n }\n return markHTMLString(str);\n}\nexport {\n HTMLBytes,\n HTMLString,\n escapeHTML,\n isHTMLBytes,\n isHTMLString,\n markHTMLString,\n unescapeHTML\n};\n","const RenderInstructionSymbol = Symbol.for(\"astro:render\");\nfunction createRenderInstruction(instruction) {\n return Object.defineProperty(instruction, RenderInstructionSymbol, {\n value: true\n });\n}\nfunction isRenderInstruction(chunk) {\n return chunk && typeof chunk === \"object\" && chunk[RenderInstructionSymbol];\n}\nexport {\n createRenderInstruction,\n isRenderInstruction\n};\n","const PROP_TYPE = {\n Value: 0,\n JSON: 1,\n // Actually means Array\n RegExp: 2,\n Date: 3,\n Map: 4,\n Set: 5,\n BigInt: 6,\n URL: 7,\n Uint8Array: 8,\n Uint16Array: 9,\n Uint32Array: 10\n};\nfunction serializeArray(value, metadata = {}, parents = /* @__PURE__ */ new WeakSet()) {\n if (parents.has(value)) {\n throw new Error(`Cyclic reference detected while serializing props for <${metadata.displayName} client:${metadata.hydrate}>!\n\nCyclic references cannot be safely serialized for client-side usage. Please remove the cyclic reference.`);\n }\n parents.add(value);\n const serialized = value.map((v) => {\n return convertToSerializedForm(v, metadata, parents);\n });\n parents.delete(value);\n return serialized;\n}\nfunction serializeObject(value, metadata = {}, parents = /* @__PURE__ */ new WeakSet()) {\n if (parents.has(value)) {\n throw new Error(`Cyclic reference detected while serializing props for <${metadata.displayName} client:${metadata.hydrate}>!\n\nCyclic references cannot be safely serialized for client-side usage. Please remove the cyclic reference.`);\n }\n parents.add(value);\n const serialized = Object.fromEntries(\n Object.entries(value).map(([k, v]) => {\n return [k, convertToSerializedForm(v, metadata, parents)];\n })\n );\n parents.delete(value);\n return serialized;\n}\nfunction convertToSerializedForm(value, metadata = {}, parents = /* @__PURE__ */ new WeakSet()) {\n const tag = Object.prototype.toString.call(value);\n switch (tag) {\n case \"[object Date]\": {\n return [PROP_TYPE.Date, value.toISOString()];\n }\n case \"[object RegExp]\": {\n return [PROP_TYPE.RegExp, value.source];\n }\n case \"[object Map]\": {\n return [PROP_TYPE.Map, serializeArray(Array.from(value), metadata, parents)];\n }\n case \"[object Set]\": {\n return [PROP_TYPE.Set, serializeArray(Array.from(value), metadata, parents)];\n }\n case \"[object BigInt]\": {\n return [PROP_TYPE.BigInt, value.toString()];\n }\n case \"[object URL]\": {\n return [PROP_TYPE.URL, value.toString()];\n }\n case \"[object Array]\": {\n return [PROP_TYPE.JSON, serializeArray(value, metadata, parents)];\n }\n case \"[object Uint8Array]\": {\n return [PROP_TYPE.Uint8Array, Array.from(value)];\n }\n case \"[object Uint16Array]\": {\n return [PROP_TYPE.Uint16Array, Array.from(value)];\n }\n case \"[object Uint32Array]\": {\n return [PROP_TYPE.Uint32Array, Array.from(value)];\n }\n default: {\n if (value !== null && typeof value === \"object\") {\n return [PROP_TYPE.Value, serializeObject(value, metadata, parents)];\n } else if (value === void 0) {\n return [PROP_TYPE.Value];\n } else {\n return [PROP_TYPE.Value, value];\n }\n }\n }\n}\nfunction serializeProps(props, metadata) {\n const serialized = JSON.stringify(serializeObject(props, metadata));\n return serialized;\n}\nexport {\n serializeProps\n};\n","import { AstroError, AstroErrorData } from \"../../core/errors/index.js\";\nimport { escapeHTML } from \"./escape.js\";\nimport { serializeProps } from \"./serialize.js\";\nconst transitionDirectivesToCopyOnIsland = Object.freeze([\n \"data-astro-transition-scope\",\n \"data-astro-transition-persist\",\n \"data-astro-transition-persist-props\"\n]);\nfunction extractDirectives(inputProps, clientDirectives) {\n let extracted = {\n isPage: false,\n hydration: null,\n props: {},\n propsWithoutTransitionAttributes: {}\n };\n for (const [key, value] of Object.entries(inputProps)) {\n if (key.startsWith(\"server:\")) {\n if (key === \"server:root\") {\n extracted.isPage = true;\n }\n }\n if (key.startsWith(\"client:\")) {\n if (!extracted.hydration) {\n extracted.hydration = {\n directive: \"\",\n value: \"\",\n componentUrl: \"\",\n componentExport: { value: \"\" }\n };\n }\n switch (key) {\n case \"client:component-path\": {\n extracted.hydration.componentUrl = value;\n break;\n }\n case \"client:component-export\": {\n extracted.hydration.componentExport.value = value;\n break;\n }\n case \"client:component-hydration\": {\n break;\n }\n case \"client:display-name\": {\n break;\n }\n default: {\n extracted.hydration.directive = key.split(\":\")[1];\n extracted.hydration.value = value;\n if (!clientDirectives.has(extracted.hydration.directive)) {\n const hydrationMethods = Array.from(clientDirectives.keys()).map((d) => `client:${d}`).join(\", \");\n throw new Error(\n `Error: invalid hydration directive \"${key}\". Supported hydration methods: ${hydrationMethods}`\n );\n }\n if (extracted.hydration.directive === \"media\" && typeof extracted.hydration.value !== \"string\") {\n throw new AstroError(AstroErrorData.MissingMediaQueryDirective);\n }\n break;\n }\n }\n } else {\n extracted.props[key] = value;\n if (!transitionDirectivesToCopyOnIsland.includes(key)) {\n extracted.propsWithoutTransitionAttributes[key] = value;\n }\n }\n }\n for (const sym of Object.getOwnPropertySymbols(inputProps)) {\n extracted.props[sym] = inputProps[sym];\n extracted.propsWithoutTransitionAttributes[sym] = inputProps[sym];\n }\n return extracted;\n}\nasync function generateHydrateScript(scriptOptions, metadata) {\n const { renderer, result, astroId, props, attrs } = scriptOptions;\n const { hydrate, componentUrl, componentExport } = metadata;\n if (!componentExport.value) {\n throw new AstroError({\n ...AstroErrorData.NoMatchingImport,\n message: AstroErrorData.NoMatchingImport.message(metadata.displayName)\n });\n }\n const island = {\n children: \"\",\n props: {\n // This is for HMR, probably can avoid it in prod\n uid: astroId\n }\n };\n if (attrs) {\n for (const [key, value] of Object.entries(attrs)) {\n island.props[key] = escapeHTML(value);\n }\n }\n island.props[\"component-url\"] = await result.resolve(decodeURI(componentUrl));\n if (renderer.clientEntrypoint) {\n island.props[\"component-export\"] = componentExport.value;\n island.props[\"renderer-url\"] = await result.resolve(decodeURI(renderer.clientEntrypoint));\n island.props[\"props\"] = escapeHTML(serializeProps(props, metadata));\n }\n island.props[\"ssr\"] = \"\";\n island.props[\"client\"] = hydrate;\n let beforeHydrationUrl = await result.resolve(\"astro:scripts/before-hydration.js\");\n if (beforeHydrationUrl.length) {\n island.props[\"before-hydration-url\"] = beforeHydrationUrl;\n }\n island.props[\"opts\"] = escapeHTML(\n JSON.stringify({\n name: metadata.displayName,\n value: metadata.hydrateArgs || \"\"\n })\n );\n transitionDirectivesToCopyOnIsland.forEach((name) => {\n if (typeof props[name] !== \"undefined\") {\n island.props[name] = props[name];\n }\n });\n return island;\n}\nexport {\n extractDirectives,\n generateHydrateScript\n};\n","/**\n * shortdash - https://github.com/bibig/node-shorthash\n *\n * @license\n *\n * (The MIT License)\n *\n * Copyright (c) 2013 Bibig \n *\n * Permission is hereby granted, free of charge, to any person\n * obtaining a copy of this software and associated documentation\n * files (the \"Software\"), to deal in the Software without\n * restriction, including without limitation the rights to use,\n * copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the\n * Software is furnished to do so, subject to the following\n * conditions:\n *\n * The above copyright notice and this permission notice shall be\n * included in all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\n * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES\n * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\n * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT\n * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,\n * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING\n * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR\n * OTHER DEALINGS IN THE SOFTWARE.\n */\nconst dictionary = \"0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXY\";\nconst binary = dictionary.length;\nfunction bitwise(str) {\n let hash = 0;\n if (str.length === 0) return hash;\n for (let i = 0; i < str.length; i++) {\n const ch = str.charCodeAt(i);\n hash = (hash << 5) - hash + ch;\n hash = hash & hash;\n }\n return hash;\n}\nfunction shorthash(text) {\n let num;\n let result = \"\";\n let integer = bitwise(text);\n const sign = integer < 0 ? \"Z\" : \"\";\n integer = Math.abs(integer);\n while (integer >= binary) {\n num = integer % binary;\n integer = Math.floor(integer / binary);\n result = dictionary[num] + result;\n }\n if (integer > 0) {\n result = dictionary[integer] + result;\n }\n return sign + result;\n}\nexport {\n shorthash\n};\n","function isAstroComponentFactory(obj) {\n return obj == null ? false : obj.isAstroComponentFactory === true;\n}\nfunction isAPropagatingComponent(result, factory) {\n let hint = factory.propagation || \"none\";\n if (factory.moduleId && result.componentMetadata.has(factory.moduleId) && hint === \"none\") {\n hint = result.componentMetadata.get(factory.moduleId).propagation;\n }\n return hint === \"in-tree\" || hint === \"self\";\n}\nexport {\n isAPropagatingComponent,\n isAstroComponentFactory\n};\n","const headAndContentSym = Symbol.for(\"astro.headAndContent\");\nfunction isHeadAndContent(obj) {\n return typeof obj === \"object\" && !!obj[headAndContentSym];\n}\nfunction createHeadAndContent(head, content) {\n return {\n [headAndContentSym]: true,\n head,\n content\n };\n}\nexport {\n createHeadAndContent,\n isHeadAndContent\n};\n","var astro_island_prebuilt_dev_default = `(()=>{var A=Object.defineProperty;var g=(i,o,a)=>o in i?A(i,o,{enumerable:!0,configurable:!0,writable:!0,value:a}):i[o]=a;var l=(i,o,a)=>g(i,typeof o!=\"symbol\"?o+\"\":o,a);{let i={0:t=>y(t),1:t=>a(t),2:t=>new RegExp(t),3:t=>new Date(t),4:t=>new Map(a(t)),5:t=>new Set(a(t)),6:t=>BigInt(t),7:t=>new URL(t),8:t=>new Uint8Array(t),9:t=>new Uint16Array(t),10:t=>new Uint32Array(t)},o=t=>{let[h,e]=t;return h in i?i[h](e):void 0},a=t=>t.map(o),y=t=>typeof t!=\"object\"||t===null?t:Object.fromEntries(Object.entries(t).map(([h,e])=>[h,o(e)]));class f extends HTMLElement{constructor(){super(...arguments);l(this,\"Component\");l(this,\"hydrator\");l(this,\"hydrate\",async()=>{var b;if(!this.hydrator||!this.isConnected)return;let e=(b=this.parentElement)==null?void 0:b.closest(\"astro-island[ssr]\");if(e){e.addEventListener(\"astro:hydrate\",this.hydrate,{once:!0});return}let c=this.querySelectorAll(\"astro-slot\"),n={},p=this.querySelectorAll(\"template[data-astro-template]\");for(let r of p){let s=r.closest(this.tagName);s!=null&&s.isSameNode(this)&&(n[r.getAttribute(\"data-astro-template\")||\"default\"]=r.innerHTML,r.remove())}for(let r of c){let s=r.closest(this.tagName);s!=null&&s.isSameNode(this)&&(n[r.getAttribute(\"name\")||\"default\"]=r.innerHTML)}let u;try{u=this.hasAttribute(\"props\")?y(JSON.parse(this.getAttribute(\"props\"))):{}}catch(r){let s=this.getAttribute(\"component-url\")||\"\",v=this.getAttribute(\"component-export\");throw v&&(s+=\\` (export \\${v})\\`),console.error(\\`[hydrate] Error parsing props for component \\${s}\\`,this.getAttribute(\"props\"),r),r}let d,m=this.hydrator(this);d=performance.now(),await m(this.Component,u,n,{client:this.getAttribute(\"client\")}),d&&this.setAttribute(\"client-render-time\",(performance.now()-d).toString()),this.removeAttribute(\"ssr\"),this.dispatchEvent(new CustomEvent(\"astro:hydrate\"))});l(this,\"unmount\",()=>{this.isConnected||this.dispatchEvent(new CustomEvent(\"astro:unmount\"))})}disconnectedCallback(){document.removeEventListener(\"astro:after-swap\",this.unmount),document.addEventListener(\"astro:after-swap\",this.unmount,{once:!0})}connectedCallback(){if(!this.hasAttribute(\"await-children\")||document.readyState===\"interactive\"||document.readyState===\"complete\")this.childrenConnectedCallback();else{let e=()=>{document.removeEventListener(\"DOMContentLoaded\",e),c.disconnect(),this.childrenConnectedCallback()},c=new MutationObserver(()=>{var n;((n=this.lastChild)==null?void 0:n.nodeType)===Node.COMMENT_NODE&&this.lastChild.nodeValue===\"astro:end\"&&(this.lastChild.remove(),e())});c.observe(this,{childList:!0}),document.addEventListener(\"DOMContentLoaded\",e)}}async childrenConnectedCallback(){let e=this.getAttribute(\"before-hydration-url\");e&&await import(e),this.start()}async start(){let e=JSON.parse(this.getAttribute(\"opts\")),c=this.getAttribute(\"client\");if(Astro[c]===void 0){window.addEventListener(\\`astro:\\${c}\\`,()=>this.start(),{once:!0});return}try{await Astro[c](async()=>{let n=this.getAttribute(\"renderer-url\"),[p,{default:u}]=await Promise.all([import(this.getAttribute(\"component-url\")),n?import(n):()=>()=>{}]),d=this.getAttribute(\"component-export\")||\"default\";if(!d.includes(\".\"))this.Component=p[d];else{this.Component=p;for(let m of d.split(\".\"))this.Component=this.Component[m]}return this.hydrator=u,this.hydrate},e,this)}catch(n){console.error(\\`[astro-island] Error hydrating \\${this.getAttribute(\"component-url\")}\\`,n)}}attributeChangedCallback(){this.hydrate()}}l(f,\"observedAttributes\",[\"props\"]),customElements.get(\"astro-island\")||customElements.define(\"astro-island\",f)}})();`;\nexport {\n astro_island_prebuilt_dev_default as default\n};\n","var astro_island_prebuilt_default = `(()=>{var A=Object.defineProperty;var g=(i,o,a)=>o in i?A(i,o,{enumerable:!0,configurable:!0,writable:!0,value:a}):i[o]=a;var d=(i,o,a)=>g(i,typeof o!=\"symbol\"?o+\"\":o,a);{let i={0:t=>m(t),1:t=>a(t),2:t=>new RegExp(t),3:t=>new Date(t),4:t=>new Map(a(t)),5:t=>new Set(a(t)),6:t=>BigInt(t),7:t=>new URL(t),8:t=>new Uint8Array(t),9:t=>new Uint16Array(t),10:t=>new Uint32Array(t)},o=t=>{let[l,e]=t;return l in i?i[l](e):void 0},a=t=>t.map(o),m=t=>typeof t!=\"object\"||t===null?t:Object.fromEntries(Object.entries(t).map(([l,e])=>[l,o(e)]));class y extends HTMLElement{constructor(){super(...arguments);d(this,\"Component\");d(this,\"hydrator\");d(this,\"hydrate\",async()=>{var b;if(!this.hydrator||!this.isConnected)return;let e=(b=this.parentElement)==null?void 0:b.closest(\"astro-island[ssr]\");if(e){e.addEventListener(\"astro:hydrate\",this.hydrate,{once:!0});return}let c=this.querySelectorAll(\"astro-slot\"),n={},h=this.querySelectorAll(\"template[data-astro-template]\");for(let r of h){let s=r.closest(this.tagName);s!=null&&s.isSameNode(this)&&(n[r.getAttribute(\"data-astro-template\")||\"default\"]=r.innerHTML,r.remove())}for(let r of c){let s=r.closest(this.tagName);s!=null&&s.isSameNode(this)&&(n[r.getAttribute(\"name\")||\"default\"]=r.innerHTML)}let p;try{p=this.hasAttribute(\"props\")?m(JSON.parse(this.getAttribute(\"props\"))):{}}catch(r){let s=this.getAttribute(\"component-url\")||\"\",v=this.getAttribute(\"component-export\");throw v&&(s+=\\` (export \\${v})\\`),console.error(\\`[hydrate] Error parsing props for component \\${s}\\`,this.getAttribute(\"props\"),r),r}let u;await this.hydrator(this)(this.Component,p,n,{client:this.getAttribute(\"client\")}),this.removeAttribute(\"ssr\"),this.dispatchEvent(new CustomEvent(\"astro:hydrate\"))});d(this,\"unmount\",()=>{this.isConnected||this.dispatchEvent(new CustomEvent(\"astro:unmount\"))})}disconnectedCallback(){document.removeEventListener(\"astro:after-swap\",this.unmount),document.addEventListener(\"astro:after-swap\",this.unmount,{once:!0})}connectedCallback(){if(!this.hasAttribute(\"await-children\")||document.readyState===\"interactive\"||document.readyState===\"complete\")this.childrenConnectedCallback();else{let e=()=>{document.removeEventListener(\"DOMContentLoaded\",e),c.disconnect(),this.childrenConnectedCallback()},c=new MutationObserver(()=>{var n;((n=this.lastChild)==null?void 0:n.nodeType)===Node.COMMENT_NODE&&this.lastChild.nodeValue===\"astro:end\"&&(this.lastChild.remove(),e())});c.observe(this,{childList:!0}),document.addEventListener(\"DOMContentLoaded\",e)}}async childrenConnectedCallback(){let e=this.getAttribute(\"before-hydration-url\");e&&await import(e),this.start()}async start(){let e=JSON.parse(this.getAttribute(\"opts\")),c=this.getAttribute(\"client\");if(Astro[c]===void 0){window.addEventListener(\\`astro:\\${c}\\`,()=>this.start(),{once:!0});return}try{await Astro[c](async()=>{let n=this.getAttribute(\"renderer-url\"),[h,{default:p}]=await Promise.all([import(this.getAttribute(\"component-url\")),n?import(n):()=>()=>{}]),u=this.getAttribute(\"component-export\")||\"default\";if(!u.includes(\".\"))this.Component=h[u];else{this.Component=h;for(let f of u.split(\".\"))this.Component=this.Component[f]}return this.hydrator=p,this.hydrate},e,this)}catch(n){console.error(\\`[astro-island] Error hydrating \\${this.getAttribute(\"component-url\")}\\`,n)}}attributeChangedCallback(){this.hydrate()}}d(y,\"observedAttributes\",[\"props\"]),customElements.get(\"astro-island\")||customElements.define(\"astro-island\",y)}})();`;\nexport {\n astro_island_prebuilt_default as default\n};\n","import islandScriptDev from \"./astro-island.prebuilt-dev.js\";\nimport islandScript from \"./astro-island.prebuilt.js\";\nconst ISLAND_STYLES = ``;\nfunction determineIfNeedsHydrationScript(result) {\n if (result._metadata.hasHydrationScript) {\n return false;\n }\n return result._metadata.hasHydrationScript = true;\n}\nfunction determinesIfNeedsDirectiveScript(result, directive) {\n if (result._metadata.hasDirectives.has(directive)) {\n return false;\n }\n result._metadata.hasDirectives.add(directive);\n return true;\n}\nfunction getDirectiveScriptText(result, directive) {\n const clientDirectives = result.clientDirectives;\n const clientDirective = clientDirectives.get(directive);\n if (!clientDirective) {\n throw new Error(`Unknown directive: ${directive}`);\n }\n return clientDirective;\n}\nfunction getPrescripts(result, type, directive) {\n switch (type) {\n case \"both\":\n return `${ISLAND_STYLES}`;\n case \"directive\":\n return ``;\n case null:\n break;\n }\n return \"\";\n}\nexport {\n determineIfNeedsHydrationScript,\n determinesIfNeedsDirectiveScript,\n getPrescripts\n};\n","import { clsx } from \"clsx\";\nimport { HTMLString, markHTMLString } from \"../escape.js\";\nconst voidElementNames = /^(area|base|br|col|command|embed|hr|img|input|keygen|link|meta|param|source|track|wbr)$/i;\nconst htmlBooleanAttributes = /^(?:allowfullscreen|async|autofocus|autoplay|controls|default|defer|disabled|disablepictureinpicture|disableremoteplayback|formnovalidate|hidden|loop|nomodule|novalidate|open|playsinline|readonly|required|reversed|scoped|seamless|itemscope)$/i;\nconst htmlEnumAttributes = /^(?:contenteditable|draggable|spellcheck|value)$/i;\nconst svgEnumAttributes = /^(?:autoReverse|externalResourcesRequired|focusable|preserveAlpha)$/i;\nconst AMPERSAND_REGEX = /&/g;\nconst DOUBLE_QUOTE_REGEX = /\"/g;\nconst STATIC_DIRECTIVES = /* @__PURE__ */ new Set([\"set:html\", \"set:text\"]);\nconst toIdent = (k) => k.trim().replace(/(?!^)\\b\\w|\\s+|\\W+/g, (match, index) => {\n if (/\\W/.test(match)) return \"\";\n return index === 0 ? match : match.toUpperCase();\n});\nconst toAttributeString = (value, shouldEscape = true) => shouldEscape ? String(value).replace(AMPERSAND_REGEX, \"&\").replace(DOUBLE_QUOTE_REGEX, \""\") : value;\nconst kebab = (k) => k.toLowerCase() === k ? k : k.replace(/[A-Z]/g, (match) => `-${match.toLowerCase()}`);\nconst toStyleString = (obj) => Object.entries(obj).filter(([_, v]) => typeof v === \"string\" && v.trim() || typeof v === \"number\").map(([k, v]) => {\n if (k[0] !== \"-\" && k[1] !== \"-\") return `${kebab(k)}:${v}`;\n return `${k}:${v}`;\n}).join(\";\");\nfunction defineScriptVars(vars) {\n let output = \"\";\n for (const [key, value] of Object.entries(vars)) {\n output += `const ${toIdent(key)} = ${JSON.stringify(value)?.replace(\n /<\\/script>/g,\n \"\\\\x3C/script>\"\n )};\n`;\n }\n return markHTMLString(output);\n}\nfunction formatList(values) {\n if (values.length === 1) {\n return values[0];\n }\n return `${values.slice(0, -1).join(\", \")} or ${values[values.length - 1]}`;\n}\nfunction addAttribute(value, key, shouldEscape = true) {\n if (value == null) {\n return \"\";\n }\n if (value === false) {\n if (htmlEnumAttributes.test(key) || svgEnumAttributes.test(key)) {\n return markHTMLString(` ${key}=\"false\"`);\n }\n return \"\";\n }\n if (STATIC_DIRECTIVES.has(key)) {\n console.warn(`[astro] The \"${key}\" directive cannot be applied dynamically at runtime. It will not be rendered as an attribute.\n\nMake sure to use the static attribute syntax (\\`${key}={value}\\`) instead of the dynamic spread syntax (\\`{...{ \"${key}\": value }}\\`).`);\n return \"\";\n }\n if (key === \"class:list\") {\n const listValue = toAttributeString(clsx(value), shouldEscape);\n if (listValue === \"\") {\n return \"\";\n }\n return markHTMLString(` ${key.slice(0, -5)}=\"${listValue}\"`);\n }\n if (key === \"style\" && !(value instanceof HTMLString)) {\n if (Array.isArray(value) && value.length === 2) {\n return markHTMLString(\n ` ${key}=\"${toAttributeString(`${toStyleString(value[0])};${value[1]}`, shouldEscape)}\"`\n );\n }\n if (typeof value === \"object\") {\n return markHTMLString(` ${key}=\"${toAttributeString(toStyleString(value), shouldEscape)}\"`);\n }\n }\n if (key === \"className\") {\n return markHTMLString(` class=\"${toAttributeString(value, shouldEscape)}\"`);\n }\n if (typeof value === \"string\" && value.includes(\"&\") && isHttpUrl(value)) {\n return markHTMLString(` ${key}=\"${toAttributeString(value, false)}\"`);\n }\n if (value === true && (key.startsWith(\"data-\") || htmlBooleanAttributes.test(key))) {\n return markHTMLString(` ${key}`);\n } else {\n return markHTMLString(` ${key}=\"${toAttributeString(value, shouldEscape)}\"`);\n }\n}\nfunction internalSpreadAttributes(values, shouldEscape = true) {\n let output = \"\";\n for (const [key, value] of Object.entries(values)) {\n output += addAttribute(value, key, shouldEscape);\n }\n return markHTMLString(output);\n}\nfunction renderElement(name, { props: _props, children = \"\" }, shouldEscape = true) {\n const { lang: _, \"data-astro-id\": astroId, \"define:vars\": defineVars, ...props } = _props;\n if (defineVars) {\n if (name === \"style\") {\n delete props[\"is:global\"];\n delete props[\"is:scoped\"];\n }\n if (name === \"script\") {\n delete props.hoist;\n children = defineScriptVars(defineVars) + \"\\n\" + children;\n }\n }\n if ((children == null || children == \"\") && voidElementNames.test(name)) {\n return `<${name}${internalSpreadAttributes(props, shouldEscape)}>`;\n }\n return `<${name}${internalSpreadAttributes(props, shouldEscape)}>${children}`;\n}\nconst noop = () => {\n};\nclass BufferedRenderer {\n chunks = [];\n renderPromise;\n destination;\n constructor(bufferRenderFunction) {\n this.renderPromise = bufferRenderFunction(this);\n Promise.resolve(this.renderPromise).catch(noop);\n }\n write(chunk) {\n if (this.destination) {\n this.destination.write(chunk);\n } else {\n this.chunks.push(chunk);\n }\n }\n async renderToFinalDestination(destination) {\n for (const chunk of this.chunks) {\n destination.write(chunk);\n }\n this.destination = destination;\n await this.renderPromise;\n }\n}\nfunction renderToBufferDestination(bufferRenderFunction) {\n const renderer = new BufferedRenderer(bufferRenderFunction);\n return renderer;\n}\nconst isNode = typeof process !== \"undefined\" && Object.prototype.toString.call(process) === \"[object process]\";\nconst isDeno = typeof Deno !== \"undefined\";\nfunction promiseWithResolvers() {\n let resolve, reject;\n const promise = new Promise((_resolve, _reject) => {\n resolve = _resolve;\n reject = _reject;\n });\n return {\n promise,\n resolve,\n reject\n };\n}\nconst VALID_PROTOCOLS = [\"http:\", \"https:\"];\nfunction isHttpUrl(url) {\n try {\n const parsedUrl = new URL(url);\n return VALID_PROTOCOLS.includes(parsedUrl.protocol);\n } catch {\n return false;\n }\n}\nexport {\n addAttribute,\n defineScriptVars,\n formatList,\n internalSpreadAttributes,\n isDeno,\n isNode,\n promiseWithResolvers,\n renderElement,\n renderToBufferDestination,\n toAttributeString,\n voidElementNames\n};\n","import { markHTMLString } from \"../escape.js\";\nimport { createRenderInstruction } from \"./instruction.js\";\nimport { renderElement } from \"./util.js\";\nconst uniqueElements = (item, index, all) => {\n const props = JSON.stringify(item.props);\n const children = item.children;\n return index === all.findIndex((i) => JSON.stringify(i.props) === props && i.children == children);\n};\nfunction renderAllHeadContent(result) {\n result._metadata.hasRenderedHead = true;\n const styles = Array.from(result.styles).filter(uniqueElements).map(\n (style) => style.props.rel === \"stylesheet\" ? renderElement(\"link\", style) : renderElement(\"style\", style)\n );\n result.styles.clear();\n const scripts = Array.from(result.scripts).filter(uniqueElements).map((script) => {\n return renderElement(\"script\", script, false);\n });\n const links = Array.from(result.links).filter(uniqueElements).map((link) => renderElement(\"link\", link, false));\n let content = styles.join(\"\\n\") + links.join(\"\\n\") + scripts.join(\"\\n\");\n if (result._metadata.extraHead.length > 0) {\n for (const part of result._metadata.extraHead) {\n content += part;\n }\n }\n return markHTMLString(content);\n}\nfunction renderHead() {\n return createRenderInstruction({ type: \"head\" });\n}\nfunction maybeRenderHead() {\n return createRenderInstruction({ type: \"maybe-head\" });\n}\nexport {\n maybeRenderHead,\n renderAllHeadContent,\n renderHead\n};\n","import { markHTMLString } from \"../../escape.js\";\nimport { isPromise } from \"../../util.js\";\nimport { renderChild } from \"../any.js\";\nimport { renderToBufferDestination } from \"../util.js\";\nconst renderTemplateResultSym = Symbol.for(\"astro.renderTemplateResult\");\nclass RenderTemplateResult {\n [renderTemplateResultSym] = true;\n htmlParts;\n expressions;\n error;\n constructor(htmlParts, expressions) {\n this.htmlParts = htmlParts;\n this.error = void 0;\n this.expressions = expressions.map((expression) => {\n if (isPromise(expression)) {\n return Promise.resolve(expression).catch((err) => {\n if (!this.error) {\n this.error = err;\n throw err;\n }\n });\n }\n return expression;\n });\n }\n async render(destination) {\n const expRenders = this.expressions.map((exp) => {\n return renderToBufferDestination((bufferDestination) => {\n if (exp || exp === 0) {\n return renderChild(bufferDestination, exp);\n }\n });\n });\n for (let i = 0; i < this.htmlParts.length; i++) {\n const html = this.htmlParts[i];\n const expRender = expRenders[i];\n destination.write(markHTMLString(html));\n if (expRender) {\n await expRender.renderToFinalDestination(destination);\n }\n }\n }\n}\nfunction isRenderTemplateResult(obj) {\n return typeof obj === \"object\" && !!obj[renderTemplateResultSym];\n}\nfunction renderTemplate(htmlParts, ...expressions) {\n return new RenderTemplateResult(htmlParts, expressions);\n}\nexport {\n RenderTemplateResult,\n isRenderTemplateResult,\n renderTemplate\n};\n","import { renderTemplate } from \"./astro/render-template.js\";\nimport { HTMLString, markHTMLString, unescapeHTML } from \"../escape.js\";\nimport { renderChild } from \"./any.js\";\nimport { chunkToString } from \"./common.js\";\nconst slotString = Symbol.for(\"astro:slot-string\");\nclass SlotString extends HTMLString {\n instructions;\n [slotString];\n constructor(content, instructions) {\n super(content);\n this.instructions = instructions;\n this[slotString] = true;\n }\n}\nfunction isSlotString(str) {\n return !!str[slotString];\n}\nfunction renderSlot(result, slotted, fallback) {\n if (!slotted && fallback) {\n return renderSlot(result, fallback);\n }\n return {\n async render(destination) {\n await renderChild(destination, typeof slotted === \"function\" ? slotted(result) : slotted);\n }\n };\n}\nasync function renderSlotToString(result, slotted, fallback) {\n let content = \"\";\n let instructions = null;\n const temporaryDestination = {\n write(chunk) {\n if (chunk instanceof SlotString) {\n content += chunk;\n if (chunk.instructions) {\n instructions ??= [];\n instructions.push(...chunk.instructions);\n }\n } else if (chunk instanceof Response) return;\n else if (typeof chunk === \"object\" && \"type\" in chunk && typeof chunk.type === \"string\") {\n if (instructions === null) {\n instructions = [];\n }\n instructions.push(chunk);\n } else {\n content += chunkToString(result, chunk);\n }\n }\n };\n const renderInstance = renderSlot(result, slotted, fallback);\n await renderInstance.render(temporaryDestination);\n return markHTMLString(new SlotString(content, instructions));\n}\nasync function renderSlots(result, slots = {}) {\n let slotInstructions = null;\n let children = {};\n if (slots) {\n await Promise.all(\n Object.entries(slots).map(\n ([key, value]) => renderSlotToString(result, value).then((output) => {\n if (output.instructions) {\n if (slotInstructions === null) {\n slotInstructions = [];\n }\n slotInstructions.push(...output.instructions);\n }\n children[key] = output;\n })\n )\n );\n }\n return { slotInstructions, children };\n}\nfunction createSlotValueFromString(content) {\n return function() {\n return renderTemplate`${unescapeHTML(content)}`;\n };\n}\nexport {\n SlotString,\n createSlotValueFromString,\n isSlotString,\n renderSlot,\n renderSlotToString,\n renderSlots\n};\n","import { markHTMLString } from \"../escape.js\";\nimport {\n determineIfNeedsHydrationScript,\n determinesIfNeedsDirectiveScript,\n getPrescripts\n} from \"../scripts.js\";\nimport { renderAllHeadContent } from \"./head.js\";\nimport { isRenderInstruction } from \"./instruction.js\";\nimport { isSlotString } from \"./slot.js\";\nconst Fragment = Symbol.for(\"astro:fragment\");\nconst Renderer = Symbol.for(\"astro:renderer\");\nconst encoder = new TextEncoder();\nconst decoder = new TextDecoder();\nfunction stringifyChunk(result, chunk) {\n if (isRenderInstruction(chunk)) {\n const instruction = chunk;\n switch (instruction.type) {\n case \"directive\": {\n const { hydration } = instruction;\n let needsHydrationScript = hydration && determineIfNeedsHydrationScript(result);\n let needsDirectiveScript = hydration && determinesIfNeedsDirectiveScript(result, hydration.directive);\n let prescriptType = needsHydrationScript ? \"both\" : needsDirectiveScript ? \"directive\" : null;\n if (prescriptType) {\n let prescripts = getPrescripts(result, prescriptType, hydration.directive);\n return markHTMLString(prescripts);\n } else {\n return \"\";\n }\n }\n case \"head\": {\n if (result._metadata.hasRenderedHead || result.partial) {\n return \"\";\n }\n return renderAllHeadContent(result);\n }\n case \"maybe-head\": {\n if (result._metadata.hasRenderedHead || result._metadata.headInTree || result.partial) {\n return \"\";\n }\n return renderAllHeadContent(result);\n }\n case \"renderer-hydration-script\": {\n const { rendererSpecificHydrationScripts } = result._metadata;\n const { rendererName } = instruction;\n if (!rendererSpecificHydrationScripts.has(rendererName)) {\n rendererSpecificHydrationScripts.add(rendererName);\n return instruction.render();\n }\n return \"\";\n }\n default: {\n throw new Error(`Unknown chunk type: ${chunk.type}`);\n }\n }\n } else if (chunk instanceof Response) {\n return \"\";\n } else if (isSlotString(chunk)) {\n let out = \"\";\n const c = chunk;\n if (c.instructions) {\n for (const instr of c.instructions) {\n out += stringifyChunk(result, instr);\n }\n }\n out += chunk.toString();\n return out;\n }\n return chunk.toString();\n}\nfunction chunkToString(result, chunk) {\n if (ArrayBuffer.isView(chunk)) {\n return decoder.decode(chunk);\n } else {\n return stringifyChunk(result, chunk);\n }\n}\nfunction chunkToByteArray(result, chunk) {\n if (ArrayBuffer.isView(chunk)) {\n return chunk;\n } else {\n const stringified = stringifyChunk(result, chunk);\n return encoder.encode(stringified.toString());\n }\n}\nfunction isRenderInstance(obj) {\n return !!obj && typeof obj === \"object\" && \"render\" in obj && typeof obj.render === \"function\";\n}\nexport {\n Fragment,\n Renderer,\n chunkToByteArray,\n chunkToString,\n decoder,\n encoder,\n isRenderInstance\n};\n","import { escapeHTML, isHTMLString, markHTMLString } from \"../escape.js\";\nimport { isPromise } from \"../util.js\";\nimport { isAstroComponentInstance, isRenderTemplateResult } from \"./astro/index.js\";\nimport { isRenderInstance } from \"./common.js\";\nimport { SlotString } from \"./slot.js\";\nimport { renderToBufferDestination } from \"./util.js\";\nasync function renderChild(destination, child) {\n if (isPromise(child)) {\n child = await child;\n }\n if (child instanceof SlotString) {\n destination.write(child);\n } else if (isHTMLString(child)) {\n destination.write(child);\n } else if (Array.isArray(child)) {\n const childRenders = child.map((c) => {\n return renderToBufferDestination((bufferDestination) => {\n return renderChild(bufferDestination, c);\n });\n });\n for (const childRender of childRenders) {\n if (!childRender) continue;\n await childRender.renderToFinalDestination(destination);\n }\n } else if (typeof child === \"function\") {\n await renderChild(destination, child());\n } else if (typeof child === \"string\") {\n destination.write(markHTMLString(escapeHTML(child)));\n } else if (!child && child !== 0) {\n } else if (isRenderInstance(child)) {\n await child.render(destination);\n } else if (isRenderTemplateResult(child)) {\n await child.render(destination);\n } else if (isAstroComponentInstance(child)) {\n await child.render(destination);\n } else if (ArrayBuffer.isView(child)) {\n destination.write(child);\n } else if (typeof child === \"object\" && (Symbol.asyncIterator in child || Symbol.iterator in child)) {\n for await (const value of child) {\n await renderChild(destination, value);\n }\n } else {\n destination.write(child);\n }\n}\nexport {\n renderChild\n};\n","import { isPromise } from \"../../util.js\";\nimport { renderChild } from \"../any.js\";\nimport { isAPropagatingComponent } from \"./factory.js\";\nimport { isHeadAndContent } from \"./head-and-content.js\";\nconst astroComponentInstanceSym = Symbol.for(\"astro.componentInstance\");\nclass AstroComponentInstance {\n [astroComponentInstanceSym] = true;\n result;\n props;\n slotValues;\n factory;\n returnValue;\n constructor(result, props, slots, factory) {\n this.result = result;\n this.props = props;\n this.factory = factory;\n this.slotValues = {};\n for (const name in slots) {\n let didRender = false;\n let value = slots[name](result);\n this.slotValues[name] = () => {\n if (!didRender) {\n didRender = true;\n return value;\n }\n return slots[name](result);\n };\n }\n }\n async init(result) {\n if (this.returnValue !== void 0) return this.returnValue;\n this.returnValue = this.factory(result, this.props, this.slotValues);\n if (isPromise(this.returnValue)) {\n this.returnValue.then((resolved) => {\n this.returnValue = resolved;\n }).catch(() => {\n });\n }\n return this.returnValue;\n }\n async render(destination) {\n const returnValue = await this.init(this.result);\n if (isHeadAndContent(returnValue)) {\n await returnValue.content.render(destination);\n } else {\n await renderChild(destination, returnValue);\n }\n }\n}\nfunction validateComponentProps(props, displayName) {\n if (props != null) {\n for (const prop of Object.keys(props)) {\n if (prop.startsWith(\"client:\")) {\n console.warn(\n `You are attempting to render <${displayName} ${prop} />, but ${displayName} is an Astro component. Astro components do not render in the client and should not have a hydration directive. Please use a framework component for client rendering.`\n );\n }\n }\n }\n}\nfunction createAstroComponentInstance(result, displayName, factory, props, slots = {}) {\n validateComponentProps(props, displayName);\n const instance = new AstroComponentInstance(result, props, slots, factory);\n if (isAPropagatingComponent(result, factory)) {\n result._metadata.propagators.add(instance);\n }\n return instance;\n}\nfunction isAstroComponentInstance(obj) {\n return typeof obj === \"object\" && !!obj[astroComponentInstanceSym];\n}\nexport {\n AstroComponentInstance,\n createAstroComponentInstance,\n isAstroComponentInstance\n};\n","import { markHTMLString } from \"../escape.js\";\nimport { renderSlotToString } from \"./slot.js\";\nimport { toAttributeString } from \"./util.js\";\nfunction componentIsHTMLElement(Component) {\n return typeof HTMLElement !== \"undefined\" && HTMLElement.isPrototypeOf(Component);\n}\nasync function renderHTMLElement(result, constructor, props, slots) {\n const name = getHTMLElementName(constructor);\n let attrHTML = \"\";\n for (const attr in props) {\n attrHTML += ` ${attr}=\"${toAttributeString(await props[attr])}\"`;\n }\n return markHTMLString(\n `<${name}${attrHTML}>${await renderSlotToString(result, slots?.default)}`\n );\n}\nfunction getHTMLElementName(constructor) {\n const definedName = customElements.getName(constructor);\n if (definedName) return definedName;\n const assignedName = constructor.name.replace(/^HTML|Element$/g, \"\").replace(/[A-Z]/g, \"-$&\").toLowerCase().replace(/^-/, \"html-\");\n return assignedName;\n}\nexport {\n componentIsHTMLElement,\n renderHTMLElement\n};\n","import { decodeBase64, decodeHex, encodeBase64, encodeHexUpperCase } from \"@oslojs/encoding\";\nconst ALGORITHM = \"AES-GCM\";\nasync function createKey() {\n const key = await crypto.subtle.generateKey(\n {\n name: ALGORITHM,\n length: 256\n },\n true,\n [\"encrypt\", \"decrypt\"]\n );\n return key;\n}\nasync function importKey(bytes) {\n const key = await crypto.subtle.importKey(\"raw\", bytes, ALGORITHM, true, [\"encrypt\", \"decrypt\"]);\n return key;\n}\nasync function encodeKey(key) {\n const exported = await crypto.subtle.exportKey(\"raw\", key);\n const encodedKey = encodeBase64(new Uint8Array(exported));\n return encodedKey;\n}\nasync function decodeKey(encoded) {\n const bytes = decodeBase64(encoded);\n return crypto.subtle.importKey(\"raw\", bytes, ALGORITHM, true, [\"encrypt\", \"decrypt\"]);\n}\nconst encoder = new TextEncoder();\nconst decoder = new TextDecoder();\nconst IV_LENGTH = 24;\nasync function encryptString(key, raw) {\n const iv = crypto.getRandomValues(new Uint8Array(IV_LENGTH / 2));\n const data = encoder.encode(raw);\n const buffer = await crypto.subtle.encrypt(\n {\n name: ALGORITHM,\n iv\n },\n key,\n data\n );\n return encodeHexUpperCase(iv) + encodeBase64(new Uint8Array(buffer));\n}\nasync function decryptString(key, encoded) {\n const iv = decodeHex(encoded.slice(0, IV_LENGTH));\n const dataArray = decodeBase64(encoded.slice(IV_LENGTH));\n const decryptedBuffer = await crypto.subtle.decrypt(\n {\n name: ALGORITHM,\n iv\n },\n key,\n dataArray\n );\n const decryptedString = decoder.decode(decryptedBuffer);\n return decryptedString;\n}\nexport {\n createKey,\n decodeKey,\n decryptString,\n encodeKey,\n encryptString,\n importKey\n};\n","import { encryptString } from \"../../../core/encryption.js\";\nimport { renderChild } from \"./any.js\";\nimport { renderSlotToString } from \"./slot.js\";\nconst internalProps = /* @__PURE__ */ new Set([\n \"server:component-path\",\n \"server:component-export\",\n \"server:component-directive\",\n \"server:defer\"\n]);\nfunction containsServerDirective(props) {\n return \"server:component-directive\" in props;\n}\nfunction safeJsonStringify(obj) {\n return JSON.stringify(obj).replace(/\\u2028/g, \"\\\\u2028\").replace(/\\u2029/g, \"\\\\u2029\").replace(//g, \"\\\\u003e\").replace(/\\//g, \"\\\\u002f\");\n}\nfunction renderServerIsland(result, _displayName, props, slots) {\n return {\n async render(destination) {\n const componentPath = props[\"server:component-path\"];\n const componentExport = props[\"server:component-export\"];\n const componentId = result.serverIslandNameMap.get(componentPath);\n if (!componentId) {\n throw new Error(`Could not find server component name`);\n }\n for (const key2 of Object.keys(props)) {\n if (internalProps.has(key2)) {\n delete props[key2];\n }\n }\n destination.write(\"\");\n const renderedSlots = {};\n for (const name in slots) {\n if (name !== \"fallback\") {\n const content = await renderSlotToString(result, slots[name]);\n renderedSlots[name] = content.toString();\n } else {\n await renderChild(destination, slots.fallback(result));\n }\n }\n const key = await result.key;\n const propsEncrypted = await encryptString(key, JSON.stringify(props));\n const hostId = crypto.randomUUID();\n const slash = result.base.endsWith(\"/\") ? \"\" : \"/\";\n const serverIslandUrl = `${result.base}${slash}_server-islands/${componentId}${result.trailingSlash === \"always\" ? \"/\" : \"\"}`;\n destination.write(``);\n }\n };\n}\nexport {\n containsServerDirective,\n renderServerIsland\n};\n","import { createRenderInstruction } from \"./instruction.js\";\nimport { clsx } from \"clsx\";\nimport { AstroError, AstroErrorData } from \"../../../core/errors/index.js\";\nimport { markHTMLString } from \"../escape.js\";\nimport { extractDirectives, generateHydrateScript } from \"../hydration.js\";\nimport { serializeProps } from \"../serialize.js\";\nimport { shorthash } from \"../shorthash.js\";\nimport { isPromise } from \"../util.js\";\nimport { isAstroComponentFactory } from \"./astro/factory.js\";\nimport { renderTemplate } from \"./astro/index.js\";\nimport { createAstroComponentInstance } from \"./astro/instance.js\";\nimport {\n Fragment,\n Renderer,\n chunkToString\n} from \"./common.js\";\nimport { componentIsHTMLElement, renderHTMLElement } from \"./dom.js\";\nimport { maybeRenderHead } from \"./head.js\";\nimport { containsServerDirective, renderServerIsland } from \"./server-islands.js\";\nimport { renderSlotToString, renderSlots } from \"./slot.js\";\nimport { formatList, internalSpreadAttributes, renderElement, voidElementNames } from \"./util.js\";\nconst needsHeadRenderingSymbol = Symbol.for(\"astro.needsHeadRendering\");\nconst rendererAliases = /* @__PURE__ */ new Map([[\"solid\", \"solid-js\"]]);\nconst clientOnlyValues = /* @__PURE__ */ new Set([\"solid-js\", \"react\", \"preact\", \"vue\", \"svelte\", \"lit\"]);\nfunction guessRenderers(componentUrl) {\n const extname = componentUrl?.split(\".\").pop();\n switch (extname) {\n case \"svelte\":\n return [\"@astrojs/svelte\"];\n case \"vue\":\n return [\"@astrojs/vue\"];\n case \"jsx\":\n case \"tsx\":\n return [\"@astrojs/react\", \"@astrojs/preact\", \"@astrojs/solid-js\", \"@astrojs/vue (jsx)\"];\n default:\n return [\n \"@astrojs/react\",\n \"@astrojs/preact\",\n \"@astrojs/solid-js\",\n \"@astrojs/vue\",\n \"@astrojs/svelte\",\n \"@astrojs/lit\"\n ];\n }\n}\nfunction isFragmentComponent(Component) {\n return Component === Fragment;\n}\nfunction isHTMLComponent(Component) {\n return Component && Component[\"astro:html\"] === true;\n}\nconst ASTRO_SLOT_EXP = /<\\/?astro-slot\\b[^>]*>/g;\nconst ASTRO_STATIC_SLOT_EXP = /<\\/?astro-static-slot\\b[^>]*>/g;\nfunction removeStaticAstroSlot(html, supportsAstroStaticSlot = true) {\n const exp = supportsAstroStaticSlot ? ASTRO_STATIC_SLOT_EXP : ASTRO_SLOT_EXP;\n return html.replace(exp, \"\");\n}\nasync function renderFrameworkComponent(result, displayName, Component, _props, slots = {}) {\n if (!Component && \"client:only\" in _props === false) {\n throw new Error(\n `Unable to render ${displayName} because it is ${Component}!\nDid you forget to import the component or is it possible there is a typo?`\n );\n }\n const { renderers, clientDirectives } = result;\n const metadata = {\n astroStaticSlot: true,\n displayName\n };\n const { hydration, isPage, props, propsWithoutTransitionAttributes } = extractDirectives(\n _props,\n clientDirectives\n );\n let html = \"\";\n let attrs = void 0;\n if (hydration) {\n metadata.hydrate = hydration.directive;\n metadata.hydrateArgs = hydration.value;\n metadata.componentExport = hydration.componentExport;\n metadata.componentUrl = hydration.componentUrl;\n }\n const probableRendererNames = guessRenderers(metadata.componentUrl);\n const validRenderers = renderers.filter((r) => r.name !== \"astro:jsx\");\n const { children, slotInstructions } = await renderSlots(result, slots);\n let renderer;\n if (metadata.hydrate !== \"only\") {\n let isTagged = false;\n try {\n isTagged = Component && Component[Renderer];\n } catch {\n }\n if (isTagged) {\n const rendererName = Component[Renderer];\n renderer = renderers.find(({ name }) => name === rendererName);\n }\n if (!renderer) {\n let error;\n for (const r of renderers) {\n try {\n if (await r.ssr.check.call({ result }, Component, props, children)) {\n renderer = r;\n break;\n }\n } catch (e) {\n error ??= e;\n }\n }\n if (!renderer && error) {\n throw error;\n }\n }\n if (!renderer && typeof HTMLElement === \"function\" && componentIsHTMLElement(Component)) {\n const output = await renderHTMLElement(\n result,\n Component,\n _props,\n slots\n );\n return {\n render(destination) {\n destination.write(output);\n }\n };\n }\n } else {\n if (metadata.hydrateArgs) {\n const rendererName = rendererAliases.has(metadata.hydrateArgs) ? rendererAliases.get(metadata.hydrateArgs) : metadata.hydrateArgs;\n if (clientOnlyValues.has(rendererName)) {\n renderer = renderers.find(\n ({ name }) => name === `@astrojs/${rendererName}` || name === rendererName\n );\n }\n }\n if (!renderer && validRenderers.length === 1) {\n renderer = validRenderers[0];\n }\n if (!renderer) {\n const extname = metadata.componentUrl?.split(\".\").pop();\n renderer = renderers.find(({ name }) => name === `@astrojs/${extname}` || name === extname);\n }\n }\n let componentServerRenderEndTime;\n if (!renderer) {\n if (metadata.hydrate === \"only\") {\n const rendererName = rendererAliases.has(metadata.hydrateArgs) ? rendererAliases.get(metadata.hydrateArgs) : metadata.hydrateArgs;\n if (clientOnlyValues.has(rendererName)) {\n const plural = validRenderers.length > 1;\n throw new AstroError({\n ...AstroErrorData.NoMatchingRenderer,\n message: AstroErrorData.NoMatchingRenderer.message(\n metadata.displayName,\n metadata?.componentUrl?.split(\".\").pop(),\n plural,\n validRenderers.length\n ),\n hint: AstroErrorData.NoMatchingRenderer.hint(\n formatList(probableRendererNames.map((r) => \"`\" + r + \"`\"))\n )\n });\n } else {\n throw new AstroError({\n ...AstroErrorData.NoClientOnlyHint,\n message: AstroErrorData.NoClientOnlyHint.message(metadata.displayName),\n hint: AstroErrorData.NoClientOnlyHint.hint(\n probableRendererNames.map((r) => r.replace(\"@astrojs/\", \"\")).join(\"|\")\n )\n });\n }\n } else if (typeof Component !== \"string\") {\n const matchingRenderers = validRenderers.filter(\n (r) => probableRendererNames.includes(r.name)\n );\n const plural = validRenderers.length > 1;\n if (matchingRenderers.length === 0) {\n throw new AstroError({\n ...AstroErrorData.NoMatchingRenderer,\n message: AstroErrorData.NoMatchingRenderer.message(\n metadata.displayName,\n metadata?.componentUrl?.split(\".\").pop(),\n plural,\n validRenderers.length\n ),\n hint: AstroErrorData.NoMatchingRenderer.hint(\n formatList(probableRendererNames.map((r) => \"`\" + r + \"`\"))\n )\n });\n } else if (matchingRenderers.length === 1) {\n renderer = matchingRenderers[0];\n ({ html, attrs } = await renderer.ssr.renderToStaticMarkup.call(\n { result },\n Component,\n propsWithoutTransitionAttributes,\n children,\n metadata\n ));\n } else {\n throw new Error(`Unable to render ${metadata.displayName}!\n\nThis component likely uses ${formatList(probableRendererNames)},\nbut Astro encountered an error during server-side rendering.\n\nPlease ensure that ${metadata.displayName}:\n1. Does not unconditionally access browser-specific globals like \\`window\\` or \\`document\\`.\n If this is unavoidable, use the \\`client:only\\` hydration directive.\n2. Does not conditionally return \\`null\\` or \\`undefined\\` when rendered on the server.\n\nIf you're still stuck, please open an issue on GitHub or join us at https://astro.build/chat.`);\n }\n }\n } else {\n if (metadata.hydrate === \"only\") {\n const rendererName = rendererAliases.has(metadata.hydrateArgs) ? rendererAliases.get(metadata.hydrateArgs) : metadata.hydrateArgs;\n if (!clientOnlyValues.has(rendererName)) {\n console.warn(\n `The client:only directive for ${metadata.displayName} is not recognized. The renderer ${renderer.name} will be used. If you intended to use a different renderer, please provide a valid client:only directive.`\n );\n }\n html = await renderSlotToString(result, slots?.fallback);\n } else {\n const componentRenderStartTime = performance.now();\n ({ html, attrs } = await renderer.ssr.renderToStaticMarkup.call(\n { result },\n Component,\n propsWithoutTransitionAttributes,\n children,\n metadata\n ));\n if (process.env.NODE_ENV === \"development\")\n componentServerRenderEndTime = performance.now() - componentRenderStartTime;\n }\n }\n if (renderer && !renderer.clientEntrypoint && renderer.name !== \"@astrojs/lit\" && metadata.hydrate) {\n throw new AstroError({\n ...AstroErrorData.NoClientEntrypoint,\n message: AstroErrorData.NoClientEntrypoint.message(\n displayName,\n metadata.hydrate,\n renderer.name\n )\n });\n }\n if (!html && typeof Component === \"string\") {\n const Tag = sanitizeElementName(Component);\n const childSlots = Object.values(children).join(\"\");\n const renderTemplateResult = renderTemplate`<${Tag}${internalSpreadAttributes(\n props\n )}${markHTMLString(\n childSlots === \"\" && voidElementNames.test(Tag) ? `/>` : `>${childSlots}`\n )}`;\n html = \"\";\n const destination = {\n write(chunk) {\n if (chunk instanceof Response) return;\n html += chunkToString(result, chunk);\n }\n };\n await renderTemplateResult.render(destination);\n }\n if (!hydration) {\n return {\n render(destination) {\n if (slotInstructions) {\n for (const instruction of slotInstructions) {\n destination.write(instruction);\n }\n }\n if (isPage || renderer?.name === \"astro:jsx\") {\n destination.write(html);\n } else if (html && html.length > 0) {\n destination.write(\n markHTMLString(removeStaticAstroSlot(html, renderer?.ssr?.supportsAstroStaticSlot))\n );\n }\n }\n };\n }\n const astroId = shorthash(\n `\n${html}\n${serializeProps(\n props,\n metadata\n )}`\n );\n const island = await generateHydrateScript(\n { renderer, result, astroId, props, attrs },\n metadata\n );\n if (componentServerRenderEndTime && process.env.NODE_ENV === \"development\")\n island.props[\"server-render-time\"] = componentServerRenderEndTime;\n let unrenderedSlots = [];\n if (html) {\n if (Object.keys(children).length > 0) {\n for (const key of Object.keys(children)) {\n let tagName = renderer?.ssr?.supportsAstroStaticSlot ? !!metadata.hydrate ? \"astro-slot\" : \"astro-static-slot\" : \"astro-slot\";\n let expectedHTML = key === \"default\" ? `<${tagName}>` : `<${tagName} name=\"${key}\">`;\n if (!html.includes(expectedHTML)) {\n unrenderedSlots.push(key);\n }\n }\n }\n } else {\n unrenderedSlots = Object.keys(children);\n }\n const template = unrenderedSlots.length > 0 ? unrenderedSlots.map(\n (key) => ``\n ).join(\"\") : \"\";\n island.children = `${html ?? \"\"}${template}`;\n if (island.children) {\n island.props[\"await-children\"] = \"\";\n island.children += ``;\n }\n return {\n render(destination) {\n if (slotInstructions) {\n for (const instruction of slotInstructions) {\n destination.write(instruction);\n }\n }\n destination.write(createRenderInstruction({ type: \"directive\", hydration }));\n if (hydration.directive !== \"only\" && renderer?.ssr.renderHydrationScript) {\n destination.write(\n createRenderInstruction({\n type: \"renderer-hydration-script\",\n rendererName: renderer.name,\n render: renderer.ssr.renderHydrationScript\n })\n );\n }\n const renderedElement = renderElement(\"astro-island\", island, false);\n destination.write(markHTMLString(renderedElement));\n }\n };\n}\nfunction sanitizeElementName(tag) {\n const unsafe = /[&<>'\"\\s]+/;\n if (!unsafe.test(tag)) return tag;\n return tag.trim().split(unsafe)[0].trim();\n}\nasync function renderFragmentComponent(result, slots = {}) {\n const children = await renderSlotToString(result, slots?.default);\n return {\n render(destination) {\n if (children == null) return;\n destination.write(children);\n }\n };\n}\nasync function renderHTMLComponent(result, Component, _props, slots = {}) {\n const { slotInstructions, children } = await renderSlots(result, slots);\n const html = Component({ slots: children });\n const hydrationHtml = slotInstructions ? slotInstructions.map((instr) => chunkToString(result, instr)).join(\"\") : \"\";\n return {\n render(destination) {\n destination.write(markHTMLString(hydrationHtml + html));\n }\n };\n}\nfunction renderAstroComponent(result, displayName, Component, props, slots = {}) {\n if (containsServerDirective(props)) {\n return renderServerIsland(result, displayName, props, slots);\n }\n const instance = createAstroComponentInstance(result, displayName, Component, props, slots);\n return {\n async render(destination) {\n await instance.render(destination);\n }\n };\n}\nasync function renderComponent(result, displayName, Component, props, slots = {}) {\n if (isPromise(Component)) {\n Component = await Component.catch(handleCancellation);\n }\n if (isFragmentComponent(Component)) {\n return await renderFragmentComponent(result, slots).catch(handleCancellation);\n }\n props = normalizeProps(props);\n if (isHTMLComponent(Component)) {\n return await renderHTMLComponent(result, Component, props, slots).catch(handleCancellation);\n }\n if (isAstroComponentFactory(Component)) {\n return renderAstroComponent(result, displayName, Component, props, slots);\n }\n return await renderFrameworkComponent(result, displayName, Component, props, slots).catch(\n handleCancellation\n );\n function handleCancellation(e) {\n if (result.cancelled)\n return {\n render() {\n }\n };\n throw e;\n }\n}\nfunction normalizeProps(props) {\n if (props[\"class:list\"] !== void 0) {\n const value = props[\"class:list\"];\n delete props[\"class:list\"];\n props[\"class\"] = clsx(props[\"class\"], value);\n if (props[\"class\"] === \"\") {\n delete props[\"class\"];\n }\n }\n return props;\n}\nasync function renderComponentToString(result, displayName, Component, props, slots = {}, isPage = false, route) {\n let str = \"\";\n let renderedFirstPageChunk = false;\n let head = \"\";\n if (isPage && !result.partial && nonAstroPageNeedsHeadInjection(Component)) {\n head += chunkToString(result, maybeRenderHead());\n }\n try {\n const destination = {\n write(chunk) {\n if (isPage && !result.partial && !renderedFirstPageChunk) {\n renderedFirstPageChunk = true;\n if (!/\" : \"\\n\";\n str += doctype + head;\n }\n }\n if (chunk instanceof Response) return;\n str += chunkToString(result, chunk);\n }\n };\n const renderInstance = await renderComponent(result, displayName, Component, props, slots);\n await renderInstance.render(destination);\n } catch (e) {\n if (AstroError.is(e) && !e.loc) {\n e.setLocation({\n file: route?.component\n });\n }\n throw e;\n }\n return str;\n}\nfunction nonAstroPageNeedsHeadInjection(pageComponent) {\n return !!pageComponent?.[needsHeadRenderingSymbol];\n}\nexport {\n renderComponent,\n renderComponentToString\n};\n","import { markHTMLString } from \"../escape.js\";\nasync function renderScript(result, id) {\n if (result._metadata.renderedScripts.has(id)) return;\n result._metadata.renderedScripts.add(id);\n const inlined = result.inlinedScripts.get(id);\n if (inlined != null) {\n if (inlined) {\n return markHTMLString(``);\n } else {\n return \"\";\n }\n }\n const resolved = await result.resolve(id);\n return markHTMLString(``);\n}\nexport {\n renderScript\n};\n","import cssesc from \"cssesc\";\nimport { fade, slide } from \"../../transitions/index.js\";\nimport { markHTMLString } from \"./escape.js\";\nconst transitionNameMap = /* @__PURE__ */ new WeakMap();\nfunction incrementTransitionNumber(result) {\n let num = 1;\n if (transitionNameMap.has(result)) {\n num = transitionNameMap.get(result) + 1;\n }\n transitionNameMap.set(result, num);\n return num;\n}\nfunction createTransitionScope(result, hash) {\n const num = incrementTransitionNumber(result);\n return `astro-${hash}-${num}`;\n}\nconst getAnimations = (name) => {\n if (name === \"fade\") return fade();\n if (name === \"slide\") return slide();\n if (typeof name === \"object\") return name;\n};\nconst addPairs = (animations, stylesheet) => {\n for (const [direction, images] of Object.entries(animations)) {\n for (const [image, rules] of Object.entries(images)) {\n stylesheet.addAnimationPair(direction, image, rules);\n }\n }\n};\nconst reEncodeValidChars = \"0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ-_\".split(\"\").reduce((v, c) => (v[c.charCodeAt(0)] = c, v), []);\nconst reEncodeInValidStart = \"-0123456789_\".split(\"\").reduce((v, c) => (v[c.charCodeAt(0)] = c, v), []);\nfunction reEncode(s) {\n let result = \"\";\n let codepoint;\n for (let i = 0; i < s.length; i += (codepoint ?? 0) > 65535 ? 2 : 1) {\n codepoint = s.codePointAt(i);\n if (codepoint !== void 0) {\n result += codepoint < 128 ? codepoint === 95 ? \"__\" : reEncodeValidChars[codepoint] ?? \"_\" + codepoint.toString(16).padStart(2, \"0\") : String.fromCodePoint(codepoint);\n }\n }\n return reEncodeInValidStart[result.codePointAt(0) ?? 0] ? \"_\" + result : result;\n}\nfunction renderTransition(result, hash, animationName, transitionName) {\n if (typeof (transitionName ?? \"\") !== \"string\") {\n throw new Error(`Invalid transition name {${transitionName}}`);\n }\n if (!animationName) animationName = \"fade\";\n const scope = createTransitionScope(result, hash);\n const name = transitionName ? cssesc(reEncode(transitionName), { isIdentifier: true }) : scope;\n const sheet = new ViewTransitionStyleSheet(scope, name);\n const animations = getAnimations(animationName);\n if (animations) {\n addPairs(animations, sheet);\n } else if (animationName === \"none\") {\n sheet.addFallback(\"old\", \"animation: none; mix-blend-mode: normal;\");\n sheet.addModern(\"old\", \"animation: none; opacity: 0; mix-blend-mode: normal;\");\n sheet.addAnimationRaw(\"new\", \"animation: none; mix-blend-mode: normal;\");\n sheet.addModern(\"group\", \"animation: none\");\n }\n result._metadata.extraHead.push(markHTMLString(``));\n return scope;\n}\nfunction createAnimationScope(transitionName, animations) {\n const hash = Math.random().toString(36).slice(2, 8);\n const scope = `astro-${hash}`;\n const sheet = new ViewTransitionStyleSheet(scope, transitionName);\n addPairs(animations, sheet);\n return { scope, styles: sheet.toString().replaceAll('\"', \"\") };\n}\nclass ViewTransitionStyleSheet {\n constructor(scope, name) {\n this.scope = scope;\n this.name = name;\n }\n modern = [];\n fallback = [];\n toString() {\n const { scope, name } = this;\n const [modern, fallback] = [this.modern, this.fallback].map((rules) => rules.join(\"\"));\n return [\n `[data-astro-transition-scope=\"${scope}\"] { view-transition-name: ${name}; }`,\n this.layer(modern),\n fallback\n ].join(\"\");\n }\n layer(cssText) {\n return cssText ? `@layer astro { ${cssText} }` : \"\";\n }\n addRule(target, cssText) {\n this[target].push(cssText);\n }\n addAnimationRaw(image, animation) {\n this.addModern(image, animation);\n this.addFallback(image, animation);\n }\n addModern(image, animation) {\n const { name } = this;\n this.addRule(\"modern\", `::view-transition-${image}(${name}) { ${animation} }`);\n }\n addFallback(image, animation) {\n const { scope } = this;\n this.addRule(\n \"fallback\",\n // Two selectors here, the second in case there is an animation on the root.\n `[data-astro-transition-fallback=\"${image}\"] [data-astro-transition-scope=\"${scope}\"],\n\t\t\t[data-astro-transition-fallback=\"${image}\"][data-astro-transition-scope=\"${scope}\"] { ${animation} }`\n );\n }\n addAnimationPair(direction, image, rules) {\n const { scope, name } = this;\n const animation = stringifyAnimation(rules);\n const prefix = direction === \"backwards\" ? `[data-astro-transition=back]` : direction === \"forwards\" ? \"\" : `[data-astro-transition=${direction}]`;\n this.addRule(\"modern\", `${prefix}::view-transition-${image}(${name}) { ${animation} }`);\n this.addRule(\n \"fallback\",\n `${prefix}[data-astro-transition-fallback=\"${image}\"] [data-astro-transition-scope=\"${scope}\"],\n\t\t\t${prefix}[data-astro-transition-fallback=\"${image}\"][data-astro-transition-scope=\"${scope}\"] { ${animation} }`\n );\n }\n}\nfunction addAnimationProperty(builder, prop, value) {\n let arr = builder[prop];\n if (Array.isArray(arr)) {\n arr.push(value.toString());\n } else {\n builder[prop] = [value.toString()];\n }\n}\nfunction animationBuilder() {\n return {\n toString() {\n let out = \"\";\n for (let k in this) {\n let value = this[k];\n if (Array.isArray(value)) {\n out += `\n\t${k}: ${value.join(\", \")};`;\n }\n }\n return out;\n }\n };\n}\nfunction stringifyAnimation(anim) {\n if (Array.isArray(anim)) {\n return stringifyAnimations(anim);\n } else {\n return stringifyAnimations([anim]);\n }\n}\nfunction stringifyAnimations(anims) {\n const builder = animationBuilder();\n for (const anim of anims) {\n if (anim.duration) {\n addAnimationProperty(builder, \"animation-duration\", toTimeValue(anim.duration));\n }\n if (anim.easing) {\n addAnimationProperty(builder, \"animation-timing-function\", anim.easing);\n }\n if (anim.direction) {\n addAnimationProperty(builder, \"animation-direction\", anim.direction);\n }\n if (anim.delay) {\n addAnimationProperty(builder, \"animation-delay\", anim.delay);\n }\n if (anim.fillMode) {\n addAnimationProperty(builder, \"animation-fill-mode\", anim.fillMode);\n }\n addAnimationProperty(builder, \"animation-name\", anim.name);\n }\n return builder.toString();\n}\nfunction toTimeValue(num) {\n return typeof num === \"number\" ? num + \"ms\" : num;\n}\nexport {\n createAnimationScope,\n createTransitionScope,\n renderTransition\n};\n","import { createComponent } from \"./astro-component.js\";\nimport { createAstro } from \"./astro-global.js\";\nimport { renderEndpoint } from \"./endpoint.js\";\nimport {\n escapeHTML,\n HTMLBytes,\n HTMLString,\n isHTMLString,\n markHTMLString,\n unescapeHTML\n} from \"./escape.js\";\nimport { renderJSX } from \"./jsx.js\";\nimport {\n addAttribute,\n createHeadAndContent,\n defineScriptVars,\n Fragment,\n maybeRenderHead,\n renderTemplate,\n renderComponent,\n Renderer,\n renderHead,\n renderHTMLElement,\n renderPage,\n renderScript,\n renderScriptElement,\n renderSlot,\n renderSlotToString,\n renderTemplate as renderTemplate2,\n renderToString,\n renderUniqueStylesheet,\n voidElementNames\n} from \"./render/index.js\";\nimport { createTransitionScope, renderTransition } from \"./transition.js\";\nimport { markHTMLString as markHTMLString2 } from \"./escape.js\";\nimport { Renderer as Renderer2, addAttribute as addAttribute2 } from \"./render/index.js\";\nfunction mergeSlots(...slotted) {\n const slots = {};\n for (const slot of slotted) {\n if (!slot) continue;\n if (typeof slot === \"object\") {\n Object.assign(slots, slot);\n } else if (typeof slot === \"function\") {\n Object.assign(slots, mergeSlots(slot()));\n }\n }\n return slots;\n}\nfunction __astro_tag_component__(Component, rendererName) {\n if (!Component) return;\n if (typeof Component !== \"function\") return;\n Object.defineProperty(Component, Renderer2, {\n value: rendererName,\n enumerable: false,\n writable: false\n });\n}\nfunction spreadAttributes(values = {}, _name, { class: scopedClassName } = {}) {\n let output = \"\";\n if (scopedClassName) {\n if (typeof values.class !== \"undefined\") {\n values.class += ` ${scopedClassName}`;\n } else if (typeof values[\"class:list\"] !== \"undefined\") {\n values[\"class:list\"] = [values[\"class:list\"], scopedClassName];\n } else {\n values.class = scopedClassName;\n }\n }\n for (const [key, value] of Object.entries(values)) {\n output += addAttribute2(value, key, true);\n }\n return markHTMLString2(output);\n}\nfunction defineStyleVars(defs) {\n let output = \"\";\n let arr = !Array.isArray(defs) ? [defs] : defs;\n for (const vars of arr) {\n for (const [key, value] of Object.entries(vars)) {\n if (value || value === 0) {\n output += `--${key}: ${value};`;\n }\n }\n }\n return markHTMLString2(output);\n}\nexport {\n Fragment,\n HTMLBytes,\n HTMLString,\n Renderer,\n __astro_tag_component__,\n addAttribute,\n createAstro,\n createComponent,\n createHeadAndContent,\n createTransitionScope,\n defineScriptVars,\n defineStyleVars,\n escapeHTML,\n isHTMLString,\n markHTMLString,\n maybeRenderHead,\n mergeSlots,\n renderTemplate as render,\n renderComponent,\n renderEndpoint,\n renderHTMLElement,\n renderHead,\n renderJSX,\n renderPage,\n renderScript,\n renderScriptElement,\n renderSlot,\n renderSlotToString,\n renderTemplate2 as renderTemplate,\n renderToString,\n renderTransition,\n renderUniqueStylesheet,\n spreadAttributes,\n unescapeHTML,\n voidElementNames\n};\n"],"names":["AstroErrorData.InvalidComponentArgs","AstroErrorData.AstroGlobUsedOutside","AstroErrorData.AstroGlobNoMatch","AstroErrorData.MissingMediaQueryDirective","AstroErrorData.NoMatchingImport","islandScriptDev","islandScript","AstroErrorData.NoMatchingRenderer","AstroErrorData.NoClientOnlyHint","AstroErrorData.NoClientEntrypoint","addAttribute2","markHTMLString2"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31]} \ No newline at end of file diff --git a/Target/chunks/astro_BCqEYKjy.mjs.map b/Target/chunks/astro_BCqEYKjy.mjs.map deleted file mode 100644 index 5588507c..00000000 --- a/Target/chunks/astro_BCqEYKjy.mjs.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"astro_BCqEYKjy.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;"} \ No newline at end of file diff --git a/Target/chunks/astro_nwDp3uAs.mjs.map b/Target/chunks/astro_nwDp3uAs.mjs.map new file mode 100644 index 00000000..f850b826 --- /dev/null +++ b/Target/chunks/astro_nwDp3uAs.mjs.map @@ -0,0 +1 @@ +{"version":3,"file":"astro_nwDp3uAs.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;"} \ No newline at end of file diff --git a/Target/index.html b/Target/index.html index ad030427..3971467b 100644 --- a/Target/index.html +++ b/Target/index.html @@ -1 +1 @@ -
\ No newline at end of file +
\ No newline at end of file diff --git a/Target/manifest_BdcszbVF.mjs.map b/Target/manifest_DDIw0zP7.mjs.map similarity index 99% rename from Target/manifest_BdcszbVF.mjs.map rename to Target/manifest_DDIw0zP7.mjs.map index 91b92b73..ccce3e28 100644 --- a/Target/manifest_BdcszbVF.mjs.map +++ b/Target/manifest_DDIw0zP7.mjs.map @@ -1 +1 @@ -{"version":3,"file":"manifest_BdcszbVF.mjs","sources":["../../../../../node_modules/astro/dist/actions/runtime/virtual/shared.js","../../../../../node_modules/astro/dist/core/routing/manifest/generator.js","../../../../../node_modules/astro/dist/core/routing/manifest/serialization.js","../../../../../node_modules/astro/dist/core/app/common.js"],"sourcesContent":["import { parse as devalueParse, stringify as devalueStringify } from \"devalue\";\nimport { ACTION_QUERY_PARAMS as _ACTION_QUERY_PARAMS } from \"../../consts.js\";\nconst ACTION_QUERY_PARAMS = _ACTION_QUERY_PARAMS;\nconst ACTION_ERROR_CODES = [\n \"BAD_REQUEST\",\n \"UNAUTHORIZED\",\n \"FORBIDDEN\",\n \"NOT_FOUND\",\n \"TIMEOUT\",\n \"CONFLICT\",\n \"PRECONDITION_FAILED\",\n \"PAYLOAD_TOO_LARGE\",\n \"UNSUPPORTED_MEDIA_TYPE\",\n \"UNPROCESSABLE_CONTENT\",\n \"TOO_MANY_REQUESTS\",\n \"CLIENT_CLOSED_REQUEST\",\n \"INTERNAL_SERVER_ERROR\"\n];\nconst codeToStatusMap = {\n // Implemented from tRPC error code table\n // https://trpc.io/docs/server/error-handling#error-codes\n BAD_REQUEST: 400,\n UNAUTHORIZED: 401,\n FORBIDDEN: 403,\n NOT_FOUND: 404,\n TIMEOUT: 405,\n CONFLICT: 409,\n PRECONDITION_FAILED: 412,\n PAYLOAD_TOO_LARGE: 413,\n UNSUPPORTED_MEDIA_TYPE: 415,\n UNPROCESSABLE_CONTENT: 422,\n TOO_MANY_REQUESTS: 429,\n CLIENT_CLOSED_REQUEST: 499,\n INTERNAL_SERVER_ERROR: 500\n};\nconst statusToCodeMap = Object.entries(codeToStatusMap).reduce(\n // reverse the key-value pairs\n (acc, [key, value]) => ({ ...acc, [value]: key }),\n {}\n);\nclass ActionError extends Error {\n type = \"AstroActionError\";\n code = \"INTERNAL_SERVER_ERROR\";\n status = 500;\n constructor(params) {\n super(params.message);\n this.code = params.code;\n this.status = ActionError.codeToStatus(params.code);\n if (params.stack) {\n this.stack = params.stack;\n }\n }\n static codeToStatus(code) {\n return codeToStatusMap[code];\n }\n static statusToCode(status) {\n return statusToCodeMap[status] ?? \"INTERNAL_SERVER_ERROR\";\n }\n static fromJson(body) {\n if (isInputError(body)) {\n return new ActionInputError(body.issues);\n }\n if (isActionError(body)) {\n return new ActionError(body);\n }\n return new ActionError({\n code: \"INTERNAL_SERVER_ERROR\"\n });\n }\n}\nfunction isActionError(error) {\n return typeof error === \"object\" && error != null && \"type\" in error && error.type === \"AstroActionError\";\n}\nfunction isInputError(error) {\n return typeof error === \"object\" && error != null && \"type\" in error && error.type === \"AstroActionInputError\" && \"issues\" in error && Array.isArray(error.issues);\n}\nclass ActionInputError extends ActionError {\n type = \"AstroActionInputError\";\n // We don't expose all ZodError properties.\n // Not all properties will serialize from server to client,\n // and we don't want to import the full ZodError object into the client.\n issues;\n fields;\n constructor(issues) {\n super({\n message: `Failed to validate: ${JSON.stringify(issues, null, 2)}`,\n code: \"BAD_REQUEST\"\n });\n this.issues = issues;\n this.fields = {};\n for (const issue of issues) {\n if (issue.path.length > 0) {\n const key = issue.path[0].toString();\n this.fields[key] ??= [];\n this.fields[key]?.push(issue.message);\n }\n }\n }\n}\nasync function callSafely(handler) {\n try {\n const data = await handler();\n return { data, error: void 0 };\n } catch (e) {\n if (e instanceof ActionError) {\n return { data: void 0, error: e };\n }\n return {\n data: void 0,\n error: new ActionError({\n message: e instanceof Error ? e.message : \"Unknown error\",\n code: \"INTERNAL_SERVER_ERROR\"\n })\n };\n }\n}\nfunction getActionQueryString(name) {\n const searchParams = new URLSearchParams({ [_ACTION_QUERY_PARAMS.actionName]: name });\n return `?${searchParams.toString()}`;\n}\nfunction getActionProps(action) {\n const params = new URLSearchParams(action.toString());\n const actionName = params.get(\"_astroAction\");\n if (!actionName) {\n throw new Error(\"Invalid actions function was passed to getActionProps()\");\n }\n return {\n type: \"hidden\",\n name: \"_astroAction\",\n value: actionName\n };\n}\nfunction serializeActionResult(res) {\n if (res.error) {\n if (import.meta.env?.DEV) {\n actionResultErrorStack.set(res.error.stack);\n }\n return {\n type: \"error\",\n status: res.error.status,\n contentType: \"application/json\",\n body: JSON.stringify({\n ...res.error,\n message: res.error.message\n })\n };\n }\n if (res.data === void 0) {\n return {\n type: \"empty\",\n status: 204\n };\n }\n return {\n type: \"data\",\n status: 200,\n contentType: \"application/json+devalue\",\n body: devalueStringify(res.data, {\n // Add support for URL objects\n URL: (value) => value instanceof URL && value.href\n })\n };\n}\nfunction deserializeActionResult(res) {\n if (res.type === \"error\") {\n if (import.meta.env?.PROD) {\n return { error: ActionError.fromJson(JSON.parse(res.body)), data: void 0 };\n } else {\n const error = ActionError.fromJson(JSON.parse(res.body));\n error.stack = actionResultErrorStack.get();\n return {\n error,\n data: void 0\n };\n }\n }\n if (res.type === \"empty\") {\n return { data: void 0, error: void 0 };\n }\n return {\n data: devalueParse(res.body, {\n URL: (href) => new URL(href)\n }),\n error: void 0\n };\n}\nconst actionResultErrorStack = /* @__PURE__ */ function actionResultErrorStackFn() {\n let errorStack;\n return {\n set(stack) {\n errorStack = stack;\n },\n get() {\n return errorStack;\n }\n };\n}();\nexport {\n ACTION_ERROR_CODES,\n ACTION_QUERY_PARAMS,\n ActionError,\n ActionInputError,\n callSafely,\n deserializeActionResult,\n getActionProps,\n getActionQueryString,\n isActionError,\n isInputError,\n serializeActionResult\n};\n","import { compile } from \"path-to-regexp\";\nfunction sanitizeParams(params) {\n return Object.fromEntries(\n Object.entries(params).map(([key, value]) => {\n if (typeof value === \"string\") {\n return [key, value.normalize().replace(/#/g, \"%23\").replace(/\\?/g, \"%3F\")];\n }\n return [key, value];\n })\n );\n}\nfunction getRouteGenerator(segments, addTrailingSlash) {\n const template = segments.map((segment) => {\n return \"/\" + segment.map((part) => {\n if (part.spread) {\n return `:${part.content.slice(3)}(.*)?`;\n } else if (part.dynamic) {\n return `:${part.content}`;\n } else {\n return part.content.normalize().replace(/\\?/g, \"%3F\").replace(/#/g, \"%23\").replace(/%5B/g, \"[\").replace(/%5D/g, \"]\").replace(/[.*+?^${}()|[\\]\\\\]/g, \"\\\\$&\");\n }\n }).join(\"\");\n }).join(\"\");\n let trailing = \"\";\n if (addTrailingSlash === \"always\" && segments.length) {\n trailing = \"/\";\n }\n const toPath = compile(template + trailing);\n return (params) => {\n const sanitizedParams = sanitizeParams(params);\n const path = toPath(sanitizedParams);\n return path || \"/\";\n };\n}\nexport {\n getRouteGenerator\n};\n","import { getRouteGenerator } from \"./generator.js\";\nfunction serializeRouteData(routeData, trailingSlash) {\n return {\n ...routeData,\n generate: void 0,\n pattern: routeData.pattern.source,\n redirectRoute: routeData.redirectRoute ? serializeRouteData(routeData.redirectRoute, trailingSlash) : void 0,\n fallbackRoutes: routeData.fallbackRoutes.map((fallbackRoute) => {\n return serializeRouteData(fallbackRoute, trailingSlash);\n }),\n _meta: { trailingSlash }\n };\n}\nfunction deserializeRouteData(rawRouteData) {\n return {\n route: rawRouteData.route,\n type: rawRouteData.type,\n pattern: new RegExp(rawRouteData.pattern),\n params: rawRouteData.params,\n component: rawRouteData.component,\n generate: getRouteGenerator(rawRouteData.segments, rawRouteData._meta.trailingSlash),\n pathname: rawRouteData.pathname || void 0,\n segments: rawRouteData.segments,\n prerender: rawRouteData.prerender,\n redirect: rawRouteData.redirect,\n redirectRoute: rawRouteData.redirectRoute ? deserializeRouteData(rawRouteData.redirectRoute) : void 0,\n fallbackRoutes: rawRouteData.fallbackRoutes.map((fallback) => {\n return deserializeRouteData(fallback);\n }),\n isIndex: rawRouteData.isIndex\n };\n}\nexport {\n deserializeRouteData,\n serializeRouteData\n};\n","import { decodeKey } from \"../encryption.js\";\nimport { deserializeRouteData } from \"../routing/manifest/serialization.js\";\nfunction deserializeManifest(serializedManifest) {\n const routes = [];\n for (const serializedRoute of serializedManifest.routes) {\n routes.push({\n ...serializedRoute,\n routeData: deserializeRouteData(serializedRoute.routeData)\n });\n const route = serializedRoute;\n route.routeData = deserializeRouteData(serializedRoute.routeData);\n }\n const assets = new Set(serializedManifest.assets);\n const componentMetadata = new Map(serializedManifest.componentMetadata);\n const inlinedScripts = new Map(serializedManifest.inlinedScripts);\n const clientDirectives = new Map(serializedManifest.clientDirectives);\n const serverIslandNameMap = new Map(serializedManifest.serverIslandNameMap);\n const key = decodeKey(serializedManifest.key);\n return {\n // in case user middleware exists, this no-op middleware will be reassigned (see plugin-ssr.ts)\n middleware(_, next) {\n return next();\n },\n ...serializedManifest,\n assets,\n componentMetadata,\n inlinedScripts,\n clientDirectives,\n routes,\n serverIslandNameMap,\n key\n };\n}\nexport {\n deserializeManifest\n};\n"],"names":[],"mappings":"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","x_google_ignoreList":[0,1,2,3]} \ No newline at end of file +{"version":3,"file":"manifest_DDIw0zP7.mjs","sources":["../../../../../node_modules/astro/dist/actions/runtime/virtual/shared.js","../../../../../node_modules/astro/dist/core/routing/manifest/generator.js","../../../../../node_modules/astro/dist/core/routing/manifest/serialization.js","../../../../../node_modules/astro/dist/core/app/common.js"],"sourcesContent":["import { parse as devalueParse, stringify as devalueStringify } from \"devalue\";\nimport { ACTION_QUERY_PARAMS as _ACTION_QUERY_PARAMS } from \"../../consts.js\";\nconst ACTION_QUERY_PARAMS = _ACTION_QUERY_PARAMS;\nconst ACTION_ERROR_CODES = [\n \"BAD_REQUEST\",\n \"UNAUTHORIZED\",\n \"FORBIDDEN\",\n \"NOT_FOUND\",\n \"TIMEOUT\",\n \"CONFLICT\",\n \"PRECONDITION_FAILED\",\n \"PAYLOAD_TOO_LARGE\",\n \"UNSUPPORTED_MEDIA_TYPE\",\n \"UNPROCESSABLE_CONTENT\",\n \"TOO_MANY_REQUESTS\",\n \"CLIENT_CLOSED_REQUEST\",\n \"INTERNAL_SERVER_ERROR\"\n];\nconst codeToStatusMap = {\n // Implemented from tRPC error code table\n // https://trpc.io/docs/server/error-handling#error-codes\n BAD_REQUEST: 400,\n UNAUTHORIZED: 401,\n FORBIDDEN: 403,\n NOT_FOUND: 404,\n TIMEOUT: 405,\n CONFLICT: 409,\n PRECONDITION_FAILED: 412,\n PAYLOAD_TOO_LARGE: 413,\n UNSUPPORTED_MEDIA_TYPE: 415,\n UNPROCESSABLE_CONTENT: 422,\n TOO_MANY_REQUESTS: 429,\n CLIENT_CLOSED_REQUEST: 499,\n INTERNAL_SERVER_ERROR: 500\n};\nconst statusToCodeMap = Object.entries(codeToStatusMap).reduce(\n // reverse the key-value pairs\n (acc, [key, value]) => ({ ...acc, [value]: key }),\n {}\n);\nclass ActionError extends Error {\n type = \"AstroActionError\";\n code = \"INTERNAL_SERVER_ERROR\";\n status = 500;\n constructor(params) {\n super(params.message);\n this.code = params.code;\n this.status = ActionError.codeToStatus(params.code);\n if (params.stack) {\n this.stack = params.stack;\n }\n }\n static codeToStatus(code) {\n return codeToStatusMap[code];\n }\n static statusToCode(status) {\n return statusToCodeMap[status] ?? \"INTERNAL_SERVER_ERROR\";\n }\n static fromJson(body) {\n if (isInputError(body)) {\n return new ActionInputError(body.issues);\n }\n if (isActionError(body)) {\n return new ActionError(body);\n }\n return new ActionError({\n code: \"INTERNAL_SERVER_ERROR\"\n });\n }\n}\nfunction isActionError(error) {\n return typeof error === \"object\" && error != null && \"type\" in error && error.type === \"AstroActionError\";\n}\nfunction isInputError(error) {\n return typeof error === \"object\" && error != null && \"type\" in error && error.type === \"AstroActionInputError\" && \"issues\" in error && Array.isArray(error.issues);\n}\nclass ActionInputError extends ActionError {\n type = \"AstroActionInputError\";\n // We don't expose all ZodError properties.\n // Not all properties will serialize from server to client,\n // and we don't want to import the full ZodError object into the client.\n issues;\n fields;\n constructor(issues) {\n super({\n message: `Failed to validate: ${JSON.stringify(issues, null, 2)}`,\n code: \"BAD_REQUEST\"\n });\n this.issues = issues;\n this.fields = {};\n for (const issue of issues) {\n if (issue.path.length > 0) {\n const key = issue.path[0].toString();\n this.fields[key] ??= [];\n this.fields[key]?.push(issue.message);\n }\n }\n }\n}\nasync function callSafely(handler) {\n try {\n const data = await handler();\n return { data, error: void 0 };\n } catch (e) {\n if (e instanceof ActionError) {\n return { data: void 0, error: e };\n }\n return {\n data: void 0,\n error: new ActionError({\n message: e instanceof Error ? e.message : \"Unknown error\",\n code: \"INTERNAL_SERVER_ERROR\"\n })\n };\n }\n}\nfunction getActionQueryString(name) {\n const searchParams = new URLSearchParams({ [_ACTION_QUERY_PARAMS.actionName]: name });\n return `?${searchParams.toString()}`;\n}\nfunction getActionProps(action) {\n const params = new URLSearchParams(action.toString());\n const actionName = params.get(\"_astroAction\");\n if (!actionName) {\n throw new Error(\"Invalid actions function was passed to getActionProps()\");\n }\n return {\n type: \"hidden\",\n name: \"_astroAction\",\n value: actionName\n };\n}\nfunction serializeActionResult(res) {\n if (res.error) {\n if (import.meta.env?.DEV) {\n actionResultErrorStack.set(res.error.stack);\n }\n return {\n type: \"error\",\n status: res.error.status,\n contentType: \"application/json\",\n body: JSON.stringify({\n ...res.error,\n message: res.error.message\n })\n };\n }\n if (res.data === void 0) {\n return {\n type: \"empty\",\n status: 204\n };\n }\n return {\n type: \"data\",\n status: 200,\n contentType: \"application/json+devalue\",\n body: devalueStringify(res.data, {\n // Add support for URL objects\n URL: (value) => value instanceof URL && value.href\n })\n };\n}\nfunction deserializeActionResult(res) {\n if (res.type === \"error\") {\n if (import.meta.env?.PROD) {\n return { error: ActionError.fromJson(JSON.parse(res.body)), data: void 0 };\n } else {\n const error = ActionError.fromJson(JSON.parse(res.body));\n error.stack = actionResultErrorStack.get();\n return {\n error,\n data: void 0\n };\n }\n }\n if (res.type === \"empty\") {\n return { data: void 0, error: void 0 };\n }\n return {\n data: devalueParse(res.body, {\n URL: (href) => new URL(href)\n }),\n error: void 0\n };\n}\nconst actionResultErrorStack = /* @__PURE__ */ function actionResultErrorStackFn() {\n let errorStack;\n return {\n set(stack) {\n errorStack = stack;\n },\n get() {\n return errorStack;\n }\n };\n}();\nexport {\n ACTION_ERROR_CODES,\n ACTION_QUERY_PARAMS,\n ActionError,\n ActionInputError,\n callSafely,\n deserializeActionResult,\n getActionProps,\n getActionQueryString,\n isActionError,\n isInputError,\n serializeActionResult\n};\n","import { compile } from \"path-to-regexp\";\nfunction sanitizeParams(params) {\n return Object.fromEntries(\n Object.entries(params).map(([key, value]) => {\n if (typeof value === \"string\") {\n return [key, value.normalize().replace(/#/g, \"%23\").replace(/\\?/g, \"%3F\")];\n }\n return [key, value];\n })\n );\n}\nfunction getRouteGenerator(segments, addTrailingSlash) {\n const template = segments.map((segment) => {\n return \"/\" + segment.map((part) => {\n if (part.spread) {\n return `:${part.content.slice(3)}(.*)?`;\n } else if (part.dynamic) {\n return `:${part.content}`;\n } else {\n return part.content.normalize().replace(/\\?/g, \"%3F\").replace(/#/g, \"%23\").replace(/%5B/g, \"[\").replace(/%5D/g, \"]\").replace(/[.*+?^${}()|[\\]\\\\]/g, \"\\\\$&\");\n }\n }).join(\"\");\n }).join(\"\");\n let trailing = \"\";\n if (addTrailingSlash === \"always\" && segments.length) {\n trailing = \"/\";\n }\n const toPath = compile(template + trailing);\n return (params) => {\n const sanitizedParams = sanitizeParams(params);\n const path = toPath(sanitizedParams);\n return path || \"/\";\n };\n}\nexport {\n getRouteGenerator\n};\n","import { getRouteGenerator } from \"./generator.js\";\nfunction serializeRouteData(routeData, trailingSlash) {\n return {\n ...routeData,\n generate: void 0,\n pattern: routeData.pattern.source,\n redirectRoute: routeData.redirectRoute ? serializeRouteData(routeData.redirectRoute, trailingSlash) : void 0,\n fallbackRoutes: routeData.fallbackRoutes.map((fallbackRoute) => {\n return serializeRouteData(fallbackRoute, trailingSlash);\n }),\n _meta: { trailingSlash }\n };\n}\nfunction deserializeRouteData(rawRouteData) {\n return {\n route: rawRouteData.route,\n type: rawRouteData.type,\n pattern: new RegExp(rawRouteData.pattern),\n params: rawRouteData.params,\n component: rawRouteData.component,\n generate: getRouteGenerator(rawRouteData.segments, rawRouteData._meta.trailingSlash),\n pathname: rawRouteData.pathname || void 0,\n segments: rawRouteData.segments,\n prerender: rawRouteData.prerender,\n redirect: rawRouteData.redirect,\n redirectRoute: rawRouteData.redirectRoute ? deserializeRouteData(rawRouteData.redirectRoute) : void 0,\n fallbackRoutes: rawRouteData.fallbackRoutes.map((fallback) => {\n return deserializeRouteData(fallback);\n }),\n isIndex: rawRouteData.isIndex\n };\n}\nexport {\n deserializeRouteData,\n serializeRouteData\n};\n","import { decodeKey } from \"../encryption.js\";\nimport { deserializeRouteData } from \"../routing/manifest/serialization.js\";\nfunction deserializeManifest(serializedManifest) {\n const routes = [];\n for (const serializedRoute of serializedManifest.routes) {\n routes.push({\n ...serializedRoute,\n routeData: deserializeRouteData(serializedRoute.routeData)\n });\n const route = serializedRoute;\n route.routeData = deserializeRouteData(serializedRoute.routeData);\n }\n const assets = new Set(serializedManifest.assets);\n const componentMetadata = new Map(serializedManifest.componentMetadata);\n const inlinedScripts = new Map(serializedManifest.inlinedScripts);\n const clientDirectives = new Map(serializedManifest.clientDirectives);\n const serverIslandNameMap = new Map(serializedManifest.serverIslandNameMap);\n const key = decodeKey(serializedManifest.key);\n return {\n // in case user middleware exists, this no-op middleware will be reassigned (see plugin-ssr.ts)\n middleware(_, next) {\n return next();\n },\n ...serializedManifest,\n assets,\n componentMetadata,\n inlinedScripts,\n clientDirectives,\n routes,\n serverIslandNameMap,\n key\n };\n}\nexport {\n deserializeManifest\n};\n"],"names":[],"mappings":"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","x_google_ignoreList":[0,1,2,3]} \ No newline at end of file diff --git a/Target/pages/index.astro.mjs.map b/Target/pages/index.astro.mjs.map index 91e1b338..344d6cbb 100644 --- a/Target/pages/index.astro.mjs.map +++ b/Target/pages/index.astro.mjs.map @@ -1 +1 @@ -{"version":3,"file":"index.astro.mjs","sources":["../../../../../../node_modules/astro-capo/src/capo/rules.ts","../../../../../../node_modules/astro-capo/src/capo/index.ts","../../../../../../node_modules/astro-capo/src/Head.ts","../../../../../../node_modules/astro/components/ViewTransitions.astro","../../Source/Layout/Base.astro","../../Source/pages/index.astro"],"sourcesContent":["import type { ElementNode } from \"ultrahtml\";\nimport { renderSync } from 'ultrahtml';\n\ntype Attributes = Record;\n\nfunction has(value: unknown): value is string {\n return typeof value === 'string';\n}\nfunction is(a: unknown, b: T): a is T {\n return a === b;\n}\nfunction any(a: string | undefined, b: string[]): a is string {\n return has(a) && b.includes(a.toLowerCase());\n}\n\nexport const ElementWeights: Record = {\n META: 10,\n TITLE: 9,\n PRECONNECT: 8,\n ASYNC_SCRIPT: 7,\n IMPORT_STYLES: 6,\n SYNC_SCRIPT: 5,\n SYNC_STYLES: 4,\n PRELOAD: 3,\n DEFER_SCRIPT: 2,\n PREFETCH_PRERENDER: 1,\n OTHER: 0\n};\n\nexport const ElementDetectors = {\n META: isMeta,\n TITLE: isTitle,\n PRECONNECT: isPreconnect,\n DEFER_SCRIPT: isDeferScript,\n ASYNC_SCRIPT: isAsyncScript,\n IMPORT_STYLES: isImportStyles,\n SYNC_SCRIPT: isSyncScript,\n SYNC_STYLES: isSyncStyles,\n PRELOAD: isPreload,\n PREFETCH_PRERENDER: isPrefetchPrerender\n}\n\nexport const META_HTTP_EQUIV_KEYWORDS = [\n 'accept-ch',\n 'content-security-policy',\n 'content-type',\n 'default-style',\n 'delegate-ch',\n 'origin-trial',\n 'x-dns-prefetch-control'\n];\n\n// meta:is([charset], ${httpEquivSelector}, [name=viewport]), base\nexport function isMeta(name: string, a: Attributes) {\n if (name === 'base') return true;\n if (name !== 'meta') return false;\n return has(a.charset) || is(a.name, 'viewport') || any(a['http-equiv'], META_HTTP_EQUIV_KEYWORDS)\n}\n\n// title\nexport function isTitle(name: string) {\n return name === 'title';\n}\n\n// link[rel=preconnect]\nexport function isPreconnect(name: string, { rel }: Attributes) {\n return name === 'link' && is(rel, 'preconnect');\n}\n\n// script[src][async]\nexport function isAsyncScript(name: string, { src, async }: Attributes) {\n return name === 'script' && has(src) && has(async);\n}\n\n// style that contains @import\nexport function isImportStyles(name: string, a: Attributes, children: string) {\n const importRe = /@import/;\n\n if (name === 'style') {\n return importRe.test(children);\n }\n\n // Can't support external stylesheets on the server\n return false;\n}\n\n// script:not([src][defer],[src][type=module],[src][async],[type*=json])\nexport function isSyncScript(name: string, { src, defer, async, type = '' }: Attributes) {\n if (name !== 'script') return false;\n return !(has(src) && (has(defer) || has(async) || is(type, 'module')) || type.includes('json'))\n}\n\n// link[rel=stylesheet],style\nexport function isSyncStyles(name: string, { rel }: Attributes) {\n if (name === 'style') return true;\n return name === 'link' && is(rel, 'stylesheet')\n}\n\n// link:is([rel=preload], [rel=modulepreload])\nexport function isPreload(name: string, { rel }: Attributes) {\n return name === 'link' && any(rel, ['preload', 'modulepreload']);\n}\n\n// script[src][defer], script:not([src][async])[src][type=module]\nexport function isDeferScript(name: string, { src, defer, async, type }: Attributes) {\n if (name !== 'script') return false;\n return (has(src) && has(defer)) || (has(src) && is(type, 'module') && !has(async));\n}\n\n// link:is([rel=prefetch], [rel=dns-prefetch], [rel=prerender])\nexport function isPrefetchPrerender(name: string, { rel }: Attributes) {\n return name === 'link' && any(rel, ['prefetch', 'dns-prefetch', 'prerender'])\n}\n\n// meta[http-equiv=\"origin-trial\"i]\nexport function isOriginTrial(name: string, { 'http-equiv': http }: Attributes) {\n return name === 'meta' && is(http, 'origin-trial');\n}\n\n// meta[http-equiv=\"Content-Security-Policy\" i]\nexport function isMetaCSP(name: string, { 'http-equiv': http }: Attributes) {\n return name === 'meta' && is(http, 'Content-Security-Policy');\n}\n\nexport function getWeight(element: ElementNode) {\n for (const [id, detector] of Object.entries(ElementDetectors)) {\n const children = (element.name === 'style' && element.children.length > 0) ? renderSync(element) : '';\n if (detector(element.name, element.attributes, children)) {\n return ElementWeights[id];\n }\n }\n return ElementWeights.OTHER;\n}\n","import type { ElementNode } from 'ultrahtml';\nimport { parse, walkSync, renderSync, ELEMENT_NODE } from 'ultrahtml';\nimport { getWeight } from './rules.ts';\n\nexport default function capo(html: string) {\n const ast = parse(html);\n try {\n walkSync(ast, (node, parent, index) => {\n if (node.type === ELEMENT_NODE && node.name === 'head') {\n if (parent) {\n parent.children.splice(index, 1, getSortedHead(node));\n throw 'done' // short-circuit\n }\n }\n })\n } catch (e) {\n if (e !== 'done') throw e;\n }\n return renderSync(ast);\n}\n\nfunction getSortedHead(head: ElementNode): ElementNode {\n const weightedChildren = head.children.map((node) => {\n if (node.type === ELEMENT_NODE) {\n const weight = getWeight(node);\n return [weight, node];\n }\n }).filter(Boolean) as [number, ElementNode][]\n const children = weightedChildren.sort((a, b) => b[0] - a[0]).map(([_, element]) => element)\n return { ...head, children };\n}\n","import type { SSRResult } from \"astro\";\n// @ts-expect-error using astro internals\nimport { renderAllHeadContent } from \"astro/runtime/server/render/head.js\";\n// @ts-expect-error using astro internals\nimport { createComponent, unescapeHTML, renderSlotToString, spreadAttributes } from \"astro/runtime/server/index.js\";\nimport capo from \"./capo/index.ts\";\n\nexport const Head = createComponent({\n factory: async (result: SSRResult, props: Record, slots: Record) => {\n let head = '';\n head += ``\n head += await renderSlotToString(result, slots.default);\n head += renderAllHeadContent(result);\n head += '';\n return unescapeHTML(capo(head));\n }\n})\n","---\ntype Fallback = 'none' | 'animate' | 'swap';\n\nexport interface Props {\n\tfallback?: Fallback;\n\t/** @deprecated handleForms is enabled by default in Astro 4.0\n\t *\n\t * Set `data-astro-reload` on your form to opt-out of the default behavior.\n\t */\n\thandleForms?: boolean;\n}\n\nconst { fallback = 'animate' } = Astro.props;\n---\n\n\n\n\n\n","---\nimport \"@Stylesheet/Base.css\";\n\n// TODO Place your title and description here\nconst { Title = \"\", Description = \"\" } = Astro.props;\n\ninterface Props {\n\tTitle?: string;\n\tDescription?: string;\n}\n\nimport { Head } from \"astro-capo\";\nimport { ViewTransitions } from \"astro:transitions\";\n---\n\n\n\n\t\n\t\t\n\n\t\t\n\t\t{Title}\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\n\t\t\n\t\t\n\t\t\n\t\t\n\n\t\t\n\n\t\t\n\n\t\t\n\n\t\t\n\n\t\t\n\t\t\n\t\n\t\n\t\t
\n\t\t\t\n\t\t
\n\t\t\n\t\n\n","---\nimport Base from \"@Layout/Base.astro\";\n---\n\n\n"],"names":["$$createComponent","Astro","$$Astro","$$render","$$addAttribute","$$renderScript","$$createAstro","$$renderComponent","$$result","$$renderSlot","ViewTransitions","$$maybeRenderHead","Base"],"mappings":"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","x_google_ignoreList":[0,1,2,3]} \ No newline at end of file +{"version":3,"file":"index.astro.mjs","sources":["../../../../../../node_modules/astro-capo/src/capo/rules.ts","../../../../../../node_modules/astro-capo/src/capo/index.ts","../../../../../../node_modules/astro-capo/src/Head.ts","../../../../../../node_modules/astro/components/ViewTransitions.astro","../../Source/Layout/Base.astro","../../Source/pages/index.astro"],"sourcesContent":["import type { ElementNode } from \"ultrahtml\";\nimport { renderSync } from 'ultrahtml';\n\ntype Attributes = Record;\n\nfunction has(value: unknown): value is string {\n return typeof value === 'string';\n}\nfunction is(a: unknown, b: T): a is T {\n return a === b;\n}\nfunction any(a: string | undefined, b: string[]): a is string {\n return has(a) && b.includes(a.toLowerCase());\n}\n\nexport const ElementWeights: Record = {\n META: 10,\n TITLE: 9,\n PRECONNECT: 8,\n ASYNC_SCRIPT: 7,\n IMPORT_STYLES: 6,\n SYNC_SCRIPT: 5,\n SYNC_STYLES: 4,\n PRELOAD: 3,\n DEFER_SCRIPT: 2,\n PREFETCH_PRERENDER: 1,\n OTHER: 0\n};\n\nexport const ElementDetectors = {\n META: isMeta,\n TITLE: isTitle,\n PRECONNECT: isPreconnect,\n DEFER_SCRIPT: isDeferScript,\n ASYNC_SCRIPT: isAsyncScript,\n IMPORT_STYLES: isImportStyles,\n SYNC_SCRIPT: isSyncScript,\n SYNC_STYLES: isSyncStyles,\n PRELOAD: isPreload,\n PREFETCH_PRERENDER: isPrefetchPrerender\n}\n\nexport const META_HTTP_EQUIV_KEYWORDS = [\n 'accept-ch',\n 'content-security-policy',\n 'content-type',\n 'default-style',\n 'delegate-ch',\n 'origin-trial',\n 'x-dns-prefetch-control'\n];\n\n// meta:is([charset], ${httpEquivSelector}, [name=viewport]), base\nexport function isMeta(name: string, a: Attributes) {\n if (name === 'base') return true;\n if (name !== 'meta') return false;\n return has(a.charset) || is(a.name, 'viewport') || any(a['http-equiv'], META_HTTP_EQUIV_KEYWORDS)\n}\n\n// title\nexport function isTitle(name: string) {\n return name === 'title';\n}\n\n// link[rel=preconnect]\nexport function isPreconnect(name: string, { rel }: Attributes) {\n return name === 'link' && is(rel, 'preconnect');\n}\n\n// script[src][async]\nexport function isAsyncScript(name: string, { src, async }: Attributes) {\n return name === 'script' && has(src) && has(async);\n}\n\n// style that contains @import\nexport function isImportStyles(name: string, a: Attributes, children: string) {\n const importRe = /@import/;\n\n if (name === 'style') {\n return importRe.test(children);\n }\n\n // Can't support external stylesheets on the server\n return false;\n}\n\n// script:not([src][defer],[src][type=module],[src][async],[type*=json])\nexport function isSyncScript(name: string, { src, defer, async, type = '' }: Attributes) {\n if (name !== 'script') return false;\n return !(has(src) && (has(defer) || has(async) || is(type, 'module')) || type.includes('json'))\n}\n\n// link[rel=stylesheet],style\nexport function isSyncStyles(name: string, { rel }: Attributes) {\n if (name === 'style') return true;\n return name === 'link' && is(rel, 'stylesheet')\n}\n\n// link:is([rel=preload], [rel=modulepreload])\nexport function isPreload(name: string, { rel }: Attributes) {\n return name === 'link' && any(rel, ['preload', 'modulepreload']);\n}\n\n// script[src][defer], script:not([src][async])[src][type=module]\nexport function isDeferScript(name: string, { src, defer, async, type }: Attributes) {\n if (name !== 'script') return false;\n return (has(src) && has(defer)) || (has(src) && is(type, 'module') && !has(async));\n}\n\n// link:is([rel=prefetch], [rel=dns-prefetch], [rel=prerender])\nexport function isPrefetchPrerender(name: string, { rel }: Attributes) {\n return name === 'link' && any(rel, ['prefetch', 'dns-prefetch', 'prerender'])\n}\n\n// meta[http-equiv=\"origin-trial\"i]\nexport function isOriginTrial(name: string, { 'http-equiv': http }: Attributes) {\n return name === 'meta' && is(http, 'origin-trial');\n}\n\n// meta[http-equiv=\"Content-Security-Policy\" i]\nexport function isMetaCSP(name: string, { 'http-equiv': http }: Attributes) {\n return name === 'meta' && is(http, 'Content-Security-Policy');\n}\n\nexport function getWeight(element: ElementNode) {\n for (const [id, detector] of Object.entries(ElementDetectors)) {\n const children = (element.name === 'style' && element.children.length > 0) ? renderSync(element) : '';\n if (detector(element.name, element.attributes, children)) {\n return ElementWeights[id];\n }\n }\n return ElementWeights.OTHER;\n}\n","import type { ElementNode } from 'ultrahtml';\nimport { parse, walkSync, renderSync, ELEMENT_NODE } from 'ultrahtml';\nimport { getWeight } from './rules.ts';\n\nexport default function capo(html: string) {\n const ast = parse(html);\n try {\n walkSync(ast, (node, parent, index) => {\n if (node.type === ELEMENT_NODE && node.name === 'head') {\n if (parent) {\n parent.children.splice(index, 1, getSortedHead(node));\n throw 'done' // short-circuit\n }\n }\n })\n } catch (e) {\n if (e !== 'done') throw e;\n }\n return renderSync(ast);\n}\n\nfunction getSortedHead(head: ElementNode): ElementNode {\n const weightedChildren = head.children.map((node) => {\n if (node.type === ELEMENT_NODE) {\n const weight = getWeight(node);\n return [weight, node];\n }\n }).filter(Boolean) as [number, ElementNode][]\n const children = weightedChildren.sort((a, b) => b[0] - a[0]).map(([_, element]) => element)\n return { ...head, children };\n}\n","import type { SSRResult } from \"astro\";\n// @ts-expect-error using astro internals\nimport { renderAllHeadContent } from \"astro/runtime/server/render/head.js\";\n// @ts-expect-error using astro internals\nimport { createComponent, unescapeHTML, renderSlotToString, spreadAttributes } from \"astro/runtime/server/index.js\";\nimport capo from \"./capo/index.ts\";\n\nexport const Head = createComponent({\n factory: async (result: SSRResult, props: Record, slots: Record) => {\n let head = '';\n head += ``\n head += await renderSlotToString(result, slots.default);\n head += renderAllHeadContent(result);\n head += '';\n return unescapeHTML(capo(head));\n }\n})\n","---\ntype Fallback = 'none' | 'animate' | 'swap';\n\nexport interface Props {\n\tfallback?: Fallback;\n\t/** @deprecated handleForms is enabled by default in Astro 4.0\n\t *\n\t * Set `data-astro-reload` on your form to opt-out of the default behavior.\n\t */\n\thandleForms?: boolean;\n}\n\nconst { fallback = 'animate' } = Astro.props;\n---\n\n\n\n\n\n","---\nimport \"@Stylesheet/Base.css\";\n\n// TODO Place your title and description here\nconst { Title = \"\", Description = \"\" } = Astro.props;\n\ninterface Props {\n\tTitle?: string;\n\tDescription?: string;\n}\n\nimport { Head } from \"astro-capo\";\nimport { ViewTransitions } from \"astro:transitions\";\n---\n\n\n\n\t\n\t\t\n\n\t\t\n\t\t{Title}\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\n\t\t\n\t\t\n\t\t\n\t\t\n\n\t\t\n\n\t\t\n\n\t\t\n\n\t\t\n\n\t\t\n\t\t\n\t\n\t\n\t\t
\n\t\t\t\n\t\t
\n\t\t\n\t\n\n","---\nimport Base from \"@Layout/Base.astro\";\n---\n\n\n"],"names":["$$createComponent","Astro","$$Astro","$$render","$$addAttribute","$$renderScript","$$createAstro","$$renderComponent","$$result","$$renderSlot","ViewTransitions","$$maybeRenderHead","Base"],"mappings":"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","x_google_ignoreList":[0,1,2,3]} \ No newline at end of file From 98665e1c006e1344bfd5e40bbb3d812393714252 Mon Sep 17 00:00:00 2001 From: Nikola Hristov Date: Thu, 22 Aug 2024 06:11:23 +0300 Subject: [PATCH 026/112] --- Target/{manifest_DDIw0zP7.mjs.map => manifest_CHLZX6co.mjs.map} | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) rename Target/{manifest_DDIw0zP7.mjs.map => manifest_CHLZX6co.mjs.map} (99%) diff --git a/Target/manifest_DDIw0zP7.mjs.map b/Target/manifest_CHLZX6co.mjs.map similarity index 99% rename from Target/manifest_DDIw0zP7.mjs.map rename to Target/manifest_CHLZX6co.mjs.map index ccce3e28..854f8f59 100644 --- a/Target/manifest_DDIw0zP7.mjs.map +++ b/Target/manifest_CHLZX6co.mjs.map @@ -1 +1 @@ -{"version":3,"file":"manifest_DDIw0zP7.mjs","sources":["../../../../../node_modules/astro/dist/actions/runtime/virtual/shared.js","../../../../../node_modules/astro/dist/core/routing/manifest/generator.js","../../../../../node_modules/astro/dist/core/routing/manifest/serialization.js","../../../../../node_modules/astro/dist/core/app/common.js"],"sourcesContent":["import { parse as devalueParse, stringify as devalueStringify } from \"devalue\";\nimport { ACTION_QUERY_PARAMS as _ACTION_QUERY_PARAMS } from \"../../consts.js\";\nconst ACTION_QUERY_PARAMS = _ACTION_QUERY_PARAMS;\nconst ACTION_ERROR_CODES = [\n \"BAD_REQUEST\",\n \"UNAUTHORIZED\",\n \"FORBIDDEN\",\n \"NOT_FOUND\",\n \"TIMEOUT\",\n \"CONFLICT\",\n \"PRECONDITION_FAILED\",\n \"PAYLOAD_TOO_LARGE\",\n \"UNSUPPORTED_MEDIA_TYPE\",\n \"UNPROCESSABLE_CONTENT\",\n \"TOO_MANY_REQUESTS\",\n \"CLIENT_CLOSED_REQUEST\",\n \"INTERNAL_SERVER_ERROR\"\n];\nconst codeToStatusMap = {\n // Implemented from tRPC error code table\n // https://trpc.io/docs/server/error-handling#error-codes\n BAD_REQUEST: 400,\n UNAUTHORIZED: 401,\n FORBIDDEN: 403,\n NOT_FOUND: 404,\n TIMEOUT: 405,\n CONFLICT: 409,\n PRECONDITION_FAILED: 412,\n PAYLOAD_TOO_LARGE: 413,\n UNSUPPORTED_MEDIA_TYPE: 415,\n UNPROCESSABLE_CONTENT: 422,\n TOO_MANY_REQUESTS: 429,\n CLIENT_CLOSED_REQUEST: 499,\n INTERNAL_SERVER_ERROR: 500\n};\nconst statusToCodeMap = Object.entries(codeToStatusMap).reduce(\n // reverse the key-value pairs\n (acc, [key, value]) => ({ ...acc, [value]: key }),\n {}\n);\nclass ActionError extends Error {\n type = \"AstroActionError\";\n code = \"INTERNAL_SERVER_ERROR\";\n status = 500;\n constructor(params) {\n super(params.message);\n this.code = params.code;\n this.status = ActionError.codeToStatus(params.code);\n if (params.stack) {\n this.stack = params.stack;\n }\n }\n static codeToStatus(code) {\n return codeToStatusMap[code];\n }\n static statusToCode(status) {\n return statusToCodeMap[status] ?? \"INTERNAL_SERVER_ERROR\";\n }\n static fromJson(body) {\n if (isInputError(body)) {\n return new ActionInputError(body.issues);\n }\n if (isActionError(body)) {\n return new ActionError(body);\n }\n return new ActionError({\n code: \"INTERNAL_SERVER_ERROR\"\n });\n }\n}\nfunction isActionError(error) {\n return typeof error === \"object\" && error != null && \"type\" in error && error.type === \"AstroActionError\";\n}\nfunction isInputError(error) {\n return typeof error === \"object\" && error != null && \"type\" in error && error.type === \"AstroActionInputError\" && \"issues\" in error && Array.isArray(error.issues);\n}\nclass ActionInputError extends ActionError {\n type = \"AstroActionInputError\";\n // We don't expose all ZodError properties.\n // Not all properties will serialize from server to client,\n // and we don't want to import the full ZodError object into the client.\n issues;\n fields;\n constructor(issues) {\n super({\n message: `Failed to validate: ${JSON.stringify(issues, null, 2)}`,\n code: \"BAD_REQUEST\"\n });\n this.issues = issues;\n this.fields = {};\n for (const issue of issues) {\n if (issue.path.length > 0) {\n const key = issue.path[0].toString();\n this.fields[key] ??= [];\n this.fields[key]?.push(issue.message);\n }\n }\n }\n}\nasync function callSafely(handler) {\n try {\n const data = await handler();\n return { data, error: void 0 };\n } catch (e) {\n if (e instanceof ActionError) {\n return { data: void 0, error: e };\n }\n return {\n data: void 0,\n error: new ActionError({\n message: e instanceof Error ? e.message : \"Unknown error\",\n code: \"INTERNAL_SERVER_ERROR\"\n })\n };\n }\n}\nfunction getActionQueryString(name) {\n const searchParams = new URLSearchParams({ [_ACTION_QUERY_PARAMS.actionName]: name });\n return `?${searchParams.toString()}`;\n}\nfunction getActionProps(action) {\n const params = new URLSearchParams(action.toString());\n const actionName = params.get(\"_astroAction\");\n if (!actionName) {\n throw new Error(\"Invalid actions function was passed to getActionProps()\");\n }\n return {\n type: \"hidden\",\n name: \"_astroAction\",\n value: actionName\n };\n}\nfunction serializeActionResult(res) {\n if (res.error) {\n if (import.meta.env?.DEV) {\n actionResultErrorStack.set(res.error.stack);\n }\n return {\n type: \"error\",\n status: res.error.status,\n contentType: \"application/json\",\n body: JSON.stringify({\n ...res.error,\n message: res.error.message\n })\n };\n }\n if (res.data === void 0) {\n return {\n type: \"empty\",\n status: 204\n };\n }\n return {\n type: \"data\",\n status: 200,\n contentType: \"application/json+devalue\",\n body: devalueStringify(res.data, {\n // Add support for URL objects\n URL: (value) => value instanceof URL && value.href\n })\n };\n}\nfunction deserializeActionResult(res) {\n if (res.type === \"error\") {\n if (import.meta.env?.PROD) {\n return { error: ActionError.fromJson(JSON.parse(res.body)), data: void 0 };\n } else {\n const error = ActionError.fromJson(JSON.parse(res.body));\n error.stack = actionResultErrorStack.get();\n return {\n error,\n data: void 0\n };\n }\n }\n if (res.type === \"empty\") {\n return { data: void 0, error: void 0 };\n }\n return {\n data: devalueParse(res.body, {\n URL: (href) => new URL(href)\n }),\n error: void 0\n };\n}\nconst actionResultErrorStack = /* @__PURE__ */ function actionResultErrorStackFn() {\n let errorStack;\n return {\n set(stack) {\n errorStack = stack;\n },\n get() {\n return errorStack;\n }\n };\n}();\nexport {\n ACTION_ERROR_CODES,\n ACTION_QUERY_PARAMS,\n ActionError,\n ActionInputError,\n callSafely,\n deserializeActionResult,\n getActionProps,\n getActionQueryString,\n isActionError,\n isInputError,\n serializeActionResult\n};\n","import { compile } from \"path-to-regexp\";\nfunction sanitizeParams(params) {\n return Object.fromEntries(\n Object.entries(params).map(([key, value]) => {\n if (typeof value === \"string\") {\n return [key, value.normalize().replace(/#/g, \"%23\").replace(/\\?/g, \"%3F\")];\n }\n return [key, value];\n })\n );\n}\nfunction getRouteGenerator(segments, addTrailingSlash) {\n const template = segments.map((segment) => {\n return \"/\" + segment.map((part) => {\n if (part.spread) {\n return `:${part.content.slice(3)}(.*)?`;\n } else if (part.dynamic) {\n return `:${part.content}`;\n } else {\n return part.content.normalize().replace(/\\?/g, \"%3F\").replace(/#/g, \"%23\").replace(/%5B/g, \"[\").replace(/%5D/g, \"]\").replace(/[.*+?^${}()|[\\]\\\\]/g, \"\\\\$&\");\n }\n }).join(\"\");\n }).join(\"\");\n let trailing = \"\";\n if (addTrailingSlash === \"always\" && segments.length) {\n trailing = \"/\";\n }\n const toPath = compile(template + trailing);\n return (params) => {\n const sanitizedParams = sanitizeParams(params);\n const path = toPath(sanitizedParams);\n return path || \"/\";\n };\n}\nexport {\n getRouteGenerator\n};\n","import { getRouteGenerator } from \"./generator.js\";\nfunction serializeRouteData(routeData, trailingSlash) {\n return {\n ...routeData,\n generate: void 0,\n pattern: routeData.pattern.source,\n redirectRoute: routeData.redirectRoute ? serializeRouteData(routeData.redirectRoute, trailingSlash) : void 0,\n fallbackRoutes: routeData.fallbackRoutes.map((fallbackRoute) => {\n return serializeRouteData(fallbackRoute, trailingSlash);\n }),\n _meta: { trailingSlash }\n };\n}\nfunction deserializeRouteData(rawRouteData) {\n return {\n route: rawRouteData.route,\n type: rawRouteData.type,\n pattern: new RegExp(rawRouteData.pattern),\n params: rawRouteData.params,\n component: rawRouteData.component,\n generate: getRouteGenerator(rawRouteData.segments, rawRouteData._meta.trailingSlash),\n pathname: rawRouteData.pathname || void 0,\n segments: rawRouteData.segments,\n prerender: rawRouteData.prerender,\n redirect: rawRouteData.redirect,\n redirectRoute: rawRouteData.redirectRoute ? deserializeRouteData(rawRouteData.redirectRoute) : void 0,\n fallbackRoutes: rawRouteData.fallbackRoutes.map((fallback) => {\n return deserializeRouteData(fallback);\n }),\n isIndex: rawRouteData.isIndex\n };\n}\nexport {\n deserializeRouteData,\n serializeRouteData\n};\n","import { decodeKey } from \"../encryption.js\";\nimport { deserializeRouteData } from \"../routing/manifest/serialization.js\";\nfunction deserializeManifest(serializedManifest) {\n const routes = [];\n for (const serializedRoute of serializedManifest.routes) {\n routes.push({\n ...serializedRoute,\n routeData: deserializeRouteData(serializedRoute.routeData)\n });\n const route = serializedRoute;\n route.routeData = deserializeRouteData(serializedRoute.routeData);\n }\n const assets = new Set(serializedManifest.assets);\n const componentMetadata = new Map(serializedManifest.componentMetadata);\n const inlinedScripts = new Map(serializedManifest.inlinedScripts);\n const clientDirectives = new Map(serializedManifest.clientDirectives);\n const serverIslandNameMap = new Map(serializedManifest.serverIslandNameMap);\n const key = decodeKey(serializedManifest.key);\n return {\n // in case user middleware exists, this no-op middleware will be reassigned (see plugin-ssr.ts)\n middleware(_, next) {\n return next();\n },\n ...serializedManifest,\n assets,\n componentMetadata,\n inlinedScripts,\n clientDirectives,\n routes,\n serverIslandNameMap,\n key\n };\n}\nexport {\n deserializeManifest\n};\n"],"names":[],"mappings":"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","x_google_ignoreList":[0,1,2,3]} \ No newline at end of file +{"version":3,"file":"manifest_CHLZX6co.mjs","sources":["../../../../../node_modules/astro/dist/actions/runtime/virtual/shared.js","../../../../../node_modules/astro/dist/core/routing/manifest/generator.js","../../../../../node_modules/astro/dist/core/routing/manifest/serialization.js","../../../../../node_modules/astro/dist/core/app/common.js"],"sourcesContent":["import { parse as devalueParse, stringify as devalueStringify } from \"devalue\";\nimport { ACTION_QUERY_PARAMS as _ACTION_QUERY_PARAMS } from \"../../consts.js\";\nconst ACTION_QUERY_PARAMS = _ACTION_QUERY_PARAMS;\nconst ACTION_ERROR_CODES = [\n \"BAD_REQUEST\",\n \"UNAUTHORIZED\",\n \"FORBIDDEN\",\n \"NOT_FOUND\",\n \"TIMEOUT\",\n \"CONFLICT\",\n \"PRECONDITION_FAILED\",\n \"PAYLOAD_TOO_LARGE\",\n \"UNSUPPORTED_MEDIA_TYPE\",\n \"UNPROCESSABLE_CONTENT\",\n \"TOO_MANY_REQUESTS\",\n \"CLIENT_CLOSED_REQUEST\",\n \"INTERNAL_SERVER_ERROR\"\n];\nconst codeToStatusMap = {\n // Implemented from tRPC error code table\n // https://trpc.io/docs/server/error-handling#error-codes\n BAD_REQUEST: 400,\n UNAUTHORIZED: 401,\n FORBIDDEN: 403,\n NOT_FOUND: 404,\n TIMEOUT: 405,\n CONFLICT: 409,\n PRECONDITION_FAILED: 412,\n PAYLOAD_TOO_LARGE: 413,\n UNSUPPORTED_MEDIA_TYPE: 415,\n UNPROCESSABLE_CONTENT: 422,\n TOO_MANY_REQUESTS: 429,\n CLIENT_CLOSED_REQUEST: 499,\n INTERNAL_SERVER_ERROR: 500\n};\nconst statusToCodeMap = Object.entries(codeToStatusMap).reduce(\n // reverse the key-value pairs\n (acc, [key, value]) => ({ ...acc, [value]: key }),\n {}\n);\nclass ActionError extends Error {\n type = \"AstroActionError\";\n code = \"INTERNAL_SERVER_ERROR\";\n status = 500;\n constructor(params) {\n super(params.message);\n this.code = params.code;\n this.status = ActionError.codeToStatus(params.code);\n if (params.stack) {\n this.stack = params.stack;\n }\n }\n static codeToStatus(code) {\n return codeToStatusMap[code];\n }\n static statusToCode(status) {\n return statusToCodeMap[status] ?? \"INTERNAL_SERVER_ERROR\";\n }\n static fromJson(body) {\n if (isInputError(body)) {\n return new ActionInputError(body.issues);\n }\n if (isActionError(body)) {\n return new ActionError(body);\n }\n return new ActionError({\n code: \"INTERNAL_SERVER_ERROR\"\n });\n }\n}\nfunction isActionError(error) {\n return typeof error === \"object\" && error != null && \"type\" in error && error.type === \"AstroActionError\";\n}\nfunction isInputError(error) {\n return typeof error === \"object\" && error != null && \"type\" in error && error.type === \"AstroActionInputError\" && \"issues\" in error && Array.isArray(error.issues);\n}\nclass ActionInputError extends ActionError {\n type = \"AstroActionInputError\";\n // We don't expose all ZodError properties.\n // Not all properties will serialize from server to client,\n // and we don't want to import the full ZodError object into the client.\n issues;\n fields;\n constructor(issues) {\n super({\n message: `Failed to validate: ${JSON.stringify(issues, null, 2)}`,\n code: \"BAD_REQUEST\"\n });\n this.issues = issues;\n this.fields = {};\n for (const issue of issues) {\n if (issue.path.length > 0) {\n const key = issue.path[0].toString();\n this.fields[key] ??= [];\n this.fields[key]?.push(issue.message);\n }\n }\n }\n}\nasync function callSafely(handler) {\n try {\n const data = await handler();\n return { data, error: void 0 };\n } catch (e) {\n if (e instanceof ActionError) {\n return { data: void 0, error: e };\n }\n return {\n data: void 0,\n error: new ActionError({\n message: e instanceof Error ? e.message : \"Unknown error\",\n code: \"INTERNAL_SERVER_ERROR\"\n })\n };\n }\n}\nfunction getActionQueryString(name) {\n const searchParams = new URLSearchParams({ [_ACTION_QUERY_PARAMS.actionName]: name });\n return `?${searchParams.toString()}`;\n}\nfunction getActionProps(action) {\n const params = new URLSearchParams(action.toString());\n const actionName = params.get(\"_astroAction\");\n if (!actionName) {\n throw new Error(\"Invalid actions function was passed to getActionProps()\");\n }\n return {\n type: \"hidden\",\n name: \"_astroAction\",\n value: actionName\n };\n}\nfunction serializeActionResult(res) {\n if (res.error) {\n if (import.meta.env?.DEV) {\n actionResultErrorStack.set(res.error.stack);\n }\n return {\n type: \"error\",\n status: res.error.status,\n contentType: \"application/json\",\n body: JSON.stringify({\n ...res.error,\n message: res.error.message\n })\n };\n }\n if (res.data === void 0) {\n return {\n type: \"empty\",\n status: 204\n };\n }\n return {\n type: \"data\",\n status: 200,\n contentType: \"application/json+devalue\",\n body: devalueStringify(res.data, {\n // Add support for URL objects\n URL: (value) => value instanceof URL && value.href\n })\n };\n}\nfunction deserializeActionResult(res) {\n if (res.type === \"error\") {\n if (import.meta.env?.PROD) {\n return { error: ActionError.fromJson(JSON.parse(res.body)), data: void 0 };\n } else {\n const error = ActionError.fromJson(JSON.parse(res.body));\n error.stack = actionResultErrorStack.get();\n return {\n error,\n data: void 0\n };\n }\n }\n if (res.type === \"empty\") {\n return { data: void 0, error: void 0 };\n }\n return {\n data: devalueParse(res.body, {\n URL: (href) => new URL(href)\n }),\n error: void 0\n };\n}\nconst actionResultErrorStack = /* @__PURE__ */ function actionResultErrorStackFn() {\n let errorStack;\n return {\n set(stack) {\n errorStack = stack;\n },\n get() {\n return errorStack;\n }\n };\n}();\nexport {\n ACTION_ERROR_CODES,\n ACTION_QUERY_PARAMS,\n ActionError,\n ActionInputError,\n callSafely,\n deserializeActionResult,\n getActionProps,\n getActionQueryString,\n isActionError,\n isInputError,\n serializeActionResult\n};\n","import { compile } from \"path-to-regexp\";\nfunction sanitizeParams(params) {\n return Object.fromEntries(\n Object.entries(params).map(([key, value]) => {\n if (typeof value === \"string\") {\n return [key, value.normalize().replace(/#/g, \"%23\").replace(/\\?/g, \"%3F\")];\n }\n return [key, value];\n })\n );\n}\nfunction getRouteGenerator(segments, addTrailingSlash) {\n const template = segments.map((segment) => {\n return \"/\" + segment.map((part) => {\n if (part.spread) {\n return `:${part.content.slice(3)}(.*)?`;\n } else if (part.dynamic) {\n return `:${part.content}`;\n } else {\n return part.content.normalize().replace(/\\?/g, \"%3F\").replace(/#/g, \"%23\").replace(/%5B/g, \"[\").replace(/%5D/g, \"]\").replace(/[.*+?^${}()|[\\]\\\\]/g, \"\\\\$&\");\n }\n }).join(\"\");\n }).join(\"\");\n let trailing = \"\";\n if (addTrailingSlash === \"always\" && segments.length) {\n trailing = \"/\";\n }\n const toPath = compile(template + trailing);\n return (params) => {\n const sanitizedParams = sanitizeParams(params);\n const path = toPath(sanitizedParams);\n return path || \"/\";\n };\n}\nexport {\n getRouteGenerator\n};\n","import { getRouteGenerator } from \"./generator.js\";\nfunction serializeRouteData(routeData, trailingSlash) {\n return {\n ...routeData,\n generate: void 0,\n pattern: routeData.pattern.source,\n redirectRoute: routeData.redirectRoute ? serializeRouteData(routeData.redirectRoute, trailingSlash) : void 0,\n fallbackRoutes: routeData.fallbackRoutes.map((fallbackRoute) => {\n return serializeRouteData(fallbackRoute, trailingSlash);\n }),\n _meta: { trailingSlash }\n };\n}\nfunction deserializeRouteData(rawRouteData) {\n return {\n route: rawRouteData.route,\n type: rawRouteData.type,\n pattern: new RegExp(rawRouteData.pattern),\n params: rawRouteData.params,\n component: rawRouteData.component,\n generate: getRouteGenerator(rawRouteData.segments, rawRouteData._meta.trailingSlash),\n pathname: rawRouteData.pathname || void 0,\n segments: rawRouteData.segments,\n prerender: rawRouteData.prerender,\n redirect: rawRouteData.redirect,\n redirectRoute: rawRouteData.redirectRoute ? deserializeRouteData(rawRouteData.redirectRoute) : void 0,\n fallbackRoutes: rawRouteData.fallbackRoutes.map((fallback) => {\n return deserializeRouteData(fallback);\n }),\n isIndex: rawRouteData.isIndex\n };\n}\nexport {\n deserializeRouteData,\n serializeRouteData\n};\n","import { decodeKey } from \"../encryption.js\";\nimport { deserializeRouteData } from \"../routing/manifest/serialization.js\";\nfunction deserializeManifest(serializedManifest) {\n const routes = [];\n for (const serializedRoute of serializedManifest.routes) {\n routes.push({\n ...serializedRoute,\n routeData: deserializeRouteData(serializedRoute.routeData)\n });\n const route = serializedRoute;\n route.routeData = deserializeRouteData(serializedRoute.routeData);\n }\n const assets = new Set(serializedManifest.assets);\n const componentMetadata = new Map(serializedManifest.componentMetadata);\n const inlinedScripts = new Map(serializedManifest.inlinedScripts);\n const clientDirectives = new Map(serializedManifest.clientDirectives);\n const serverIslandNameMap = new Map(serializedManifest.serverIslandNameMap);\n const key = decodeKey(serializedManifest.key);\n return {\n // in case user middleware exists, this no-op middleware will be reassigned (see plugin-ssr.ts)\n middleware(_, next) {\n return next();\n },\n ...serializedManifest,\n assets,\n componentMetadata,\n inlinedScripts,\n clientDirectives,\n routes,\n serverIslandNameMap,\n key\n };\n}\nexport {\n deserializeManifest\n};\n"],"names":[],"mappings":"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","x_google_ignoreList":[0,1,2,3]} \ No newline at end of file From cd104c82bbcce5ba47438490107d3c9a616e21e8 Mon Sep 17 00:00:00 2001 From: Nikola Hristov Date: Mon, 26 Aug 2024 04:24:08 +0300 Subject: [PATCH 027/112] --- package.json | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/package.json b/package.json index 1cf1797c..d157c468 100644 --- a/package.json +++ b/package.json @@ -43,7 +43,7 @@ "@tailwindcss/aspect-ratio": "0.4.2", "@tailwindcss/forms": "0.5.7", "@tailwindcss/typography": "0.5.14", - "astro": "*", + "astro": "4.14.5", "astro-capo": "0.0.1", "astrojs-service-worker": "2.0.0", "autoprefixer": "10.4.20", @@ -58,9 +58,9 @@ "postcss-reporter": "7.1.0", "postcss-url": "10.1.3", "swup": "4.7.0", - "tailwindcss": "*", - "typescript": "*", - "zod": "*" + "tailwindcss": "3.4.10", + "typescript": "5.5.4", + "zod": "3.23.8" }, "publishConfig": { "access": "restricted", From 1c1d96f32aea693b407709d9a62cee0acd7c0477 Mon Sep 17 00:00:00 2001 From: Nikola Hristov Date: Mon, 26 Aug 2024 08:48:42 +0300 Subject: [PATCH 028/112] --- .npmrc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.npmrc b/.npmrc index 35b71c5d..33b7cfa4 100644 --- a/.npmrc +++ b/.npmrc @@ -3,7 +3,7 @@ hoist=true legacy-peer-deps=true link-workspace-packages=true prefer-frozen-lockfile=false -prefer-workspace-packages=false +prefer-workspace-packages=true shamefully-hoist=true shared-workspace-lockfile=true strict-peer-dependencies=false From efd244b4eb9295612e223c86859779e706607b60 Mon Sep 17 00:00:00 2001 From: Nikola Hristov Date: Mon, 26 Aug 2024 10:54:01 +0300 Subject: [PATCH 029/112] --- .../astro/{server_DfodAsKQ.mjs.map => server_C68CUl7v.mjs.map} | 2 +- Target/chunks/astro_CwgT-hI-.mjs.map | 1 + Target/chunks/astro_nwDp3uAs.mjs.map | 1 - Target/{manifest_CHLZX6co.mjs.map => manifest_CnXHI3ra.mjs.map} | 2 +- 4 files changed, 3 insertions(+), 3 deletions(-) rename Target/chunks/astro/{server_DfodAsKQ.mjs.map => server_C68CUl7v.mjs.map} (99%) create mode 100644 Target/chunks/astro_CwgT-hI-.mjs.map delete mode 100644 Target/chunks/astro_nwDp3uAs.mjs.map rename Target/{manifest_CHLZX6co.mjs.map => manifest_CnXHI3ra.mjs.map} (99%) diff --git a/Target/chunks/astro/server_DfodAsKQ.mjs.map b/Target/chunks/astro/server_C68CUl7v.mjs.map similarity index 99% rename from Target/chunks/astro/server_DfodAsKQ.mjs.map rename to Target/chunks/astro/server_C68CUl7v.mjs.map index 44b52e7d..9475728b 100644 --- a/Target/chunks/astro/server_DfodAsKQ.mjs.map +++ b/Target/chunks/astro/server_C68CUl7v.mjs.map @@ -1 +1 @@ -{"version":3,"file":"server_DfodAsKQ.mjs","sources":["../../../../../../../node_modules/astro/dist/core/errors/errors-data.js","../../../../../../../node_modules/astro/dist/core/errors/utils.js","../../../../../../../node_modules/astro/dist/core/errors/printer.js","../../../../../../../node_modules/astro/dist/core/errors/errors.js","../../../../../../../node_modules/astro/dist/runtime/server/astro-component.js","../../../../../../../node_modules/astro/dist/core/constants.js","../../../../../../../node_modules/astro/dist/runtime/server/astro-global.js","../../../../../../../node_modules/astro/dist/runtime/server/util.js","../../../../../../../node_modules/astro/dist/runtime/server/escape.js","../../../../../../../node_modules/astro/dist/runtime/server/render/instruction.js","../../../../../../../node_modules/astro/dist/runtime/server/serialize.js","../../../../../../../node_modules/astro/dist/runtime/server/hydration.js","../../../../../../../node_modules/astro/dist/runtime/server/shorthash.js","../../../../../../../node_modules/astro/dist/runtime/server/render/astro/factory.js","../../../../../../../node_modules/astro/dist/runtime/server/render/astro/head-and-content.js","../../../../../../../node_modules/astro/dist/runtime/server/astro-island.prebuilt-dev.js","../../../../../../../node_modules/astro/dist/runtime/server/astro-island.prebuilt.js","../../../../../../../node_modules/astro/dist/runtime/server/scripts.js","../../../../../../../node_modules/astro/dist/runtime/server/render/util.js","../../../../../../../node_modules/astro/dist/runtime/server/render/head.js","../../../../../../../node_modules/astro/dist/runtime/server/render/astro/render-template.js","../../../../../../../node_modules/astro/dist/runtime/server/render/slot.js","../../../../../../../node_modules/astro/dist/runtime/server/render/common.js","../../../../../../../node_modules/astro/dist/runtime/server/render/any.js","../../../../../../../node_modules/astro/dist/runtime/server/render/astro/instance.js","../../../../../../../node_modules/astro/dist/runtime/server/render/dom.js","../../../../../../../node_modules/astro/dist/core/encryption.js","../../../../../../../node_modules/astro/dist/runtime/server/render/server-islands.js","../../../../../../../node_modules/astro/dist/runtime/server/render/component.js","../../../../../../../node_modules/astro/dist/runtime/server/render/script.js","../../../../../../../node_modules/astro/dist/runtime/server/transition.js","../../../../../../../node_modules/astro/dist/runtime/server/index.js"],"sourcesContent":["const UnknownCompilerError = {\n name: \"UnknownCompilerError\",\n title: \"Unknown compiler error.\",\n hint: \"This is almost always a problem with the Astro compiler, not your code. Please open an issue at https://astro.build/issues/compiler.\"\n};\nconst StaticRedirectNotAvailable = {\n name: \"StaticRedirectNotAvailable\",\n title: \"`Astro.redirect` is not available in static mode.\",\n message: \"Redirects are only available when using `output: 'server'` or `output: 'hybrid'`. Update your Astro config if you need SSR features.\",\n hint: \"See https://docs.astro.build/en/guides/server-side-rendering/ for more information on how to enable SSR.\"\n};\nconst ClientAddressNotAvailable = {\n name: \"ClientAddressNotAvailable\",\n title: \"`Astro.clientAddress` is not available in current adapter.\",\n message: (adapterName) => `\\`Astro.clientAddress\\` is not available in the \\`${adapterName}\\` adapter. File an issue with the adapter to add support.`\n};\nconst PrerenderClientAddressNotAvailable = {\n name: \"PrerenderClientAddressNotAvailable\",\n title: \"`Astro.clientAddress` cannot be used inside prerendered routes.\",\n message: `\\`Astro.clientAddress\\` cannot be used inside prerendered routes`\n};\nconst StaticClientAddressNotAvailable = {\n name: \"StaticClientAddressNotAvailable\",\n title: \"`Astro.clientAddress` is not available in static mode.\",\n message: \"`Astro.clientAddress` is only available when using `output: 'server'` or `output: 'hybrid'`. Update your Astro config if you need SSR features.\",\n hint: \"See https://docs.astro.build/en/guides/server-side-rendering/ for more information on how to enable SSR.\"\n};\nconst NoMatchingStaticPathFound = {\n name: \"NoMatchingStaticPathFound\",\n title: \"No static path found for requested path.\",\n message: (pathName) => `A \\`getStaticPaths()\\` route pattern was matched, but no matching static path was found for requested path \\`${pathName}\\`.`,\n hint: (possibleRoutes) => `Possible dynamic routes being matched: ${possibleRoutes.join(\", \")}.`\n};\nconst OnlyResponseCanBeReturned = {\n name: \"OnlyResponseCanBeReturned\",\n title: \"Invalid type returned by Astro page.\",\n message: (route, returnedValue) => `Route \\`${route ? route : \"\"}\\` returned a \\`${returnedValue}\\`. Only a [Response](https://developer.mozilla.org/en-US/docs/Web/API/Response) can be returned from Astro files.`,\n hint: \"See https://docs.astro.build/en/guides/server-side-rendering/#response for more information.\"\n};\nconst MissingMediaQueryDirective = {\n name: \"MissingMediaQueryDirective\",\n title: \"Missing value for `client:media` directive.\",\n message: 'Media query not provided for `client:media` directive. A media query similar to `client:media=\"(max-width: 600px)\"` must be provided'\n};\nconst NoMatchingRenderer = {\n name: \"NoMatchingRenderer\",\n title: \"No matching renderer found.\",\n message: (componentName, componentExtension, plural, validRenderersCount) => `Unable to render \\`${componentName}\\`.\n\n${validRenderersCount > 0 ? `There ${plural ? \"are\" : \"is\"} ${validRenderersCount} renderer${plural ? \"s\" : \"\"} configured in your \\`astro.config.mjs\\` file,\nbut ${plural ? \"none were\" : \"it was not\"} able to server-side render \\`${componentName}\\`.` : `No valid renderer was found ${componentExtension ? `for the \\`.${componentExtension}\\` file extension.` : `for this file extension.`}`}`,\n hint: (probableRenderers) => `Did you mean to enable the ${probableRenderers} integration?\n\nSee https://docs.astro.build/en/guides/framework-components/ for more information on how to install and configure integrations.`\n};\nconst NoClientEntrypoint = {\n name: \"NoClientEntrypoint\",\n title: \"No client entrypoint specified in renderer.\",\n message: (componentName, clientDirective, rendererName) => `\\`${componentName}\\` component has a \\`client:${clientDirective}\\` directive, but no client entrypoint was provided by \\`${rendererName}\\`.`,\n hint: \"See https://docs.astro.build/en/reference/integrations-reference/#addrenderer-option for more information on how to configure your renderer.\"\n};\nconst NoClientOnlyHint = {\n name: \"NoClientOnlyHint\",\n title: \"Missing hint on client:only directive.\",\n message: (componentName) => `Unable to render \\`${componentName}\\`. When using the \\`client:only\\` hydration strategy, Astro needs a hint to use the correct renderer.`,\n hint: (probableRenderers) => `Did you mean to pass \\`client:only=\"${probableRenderers}\"\\`? See https://docs.astro.build/en/reference/directives-reference/#clientonly for more information on client:only`\n};\nconst InvalidGetStaticPathParam = {\n name: \"InvalidGetStaticPathParam\",\n title: \"Invalid value returned by a `getStaticPaths` path.\",\n message: (paramType) => `Invalid params given to \\`getStaticPaths\\` path. Expected an \\`object\\`, got \\`${paramType}\\``,\n hint: \"See https://docs.astro.build/en/reference/api-reference/#getstaticpaths for more information on getStaticPaths.\"\n};\nconst InvalidGetStaticPathsEntry = {\n name: \"InvalidGetStaticPathsEntry\",\n title: \"Invalid entry inside getStaticPath's return value\",\n message: (entryType) => `Invalid entry returned by getStaticPaths. Expected an object, got \\`${entryType}\\``,\n hint: \"If you're using a `.map` call, you might be looking for `.flatMap()` instead. See https://docs.astro.build/en/reference/api-reference/#getstaticpaths for more information on getStaticPaths.\"\n};\nconst InvalidGetStaticPathsReturn = {\n name: \"InvalidGetStaticPathsReturn\",\n title: \"Invalid value returned by getStaticPaths.\",\n message: (returnType) => `Invalid type returned by \\`getStaticPaths\\`. Expected an \\`array\\`, got \\`${returnType}\\``,\n hint: \"See https://docs.astro.build/en/reference/api-reference/#getstaticpaths for more information on getStaticPaths.\"\n};\nconst GetStaticPathsRemovedRSSHelper = {\n name: \"GetStaticPathsRemovedRSSHelper\",\n title: \"getStaticPaths RSS helper is not available anymore.\",\n message: \"The RSS helper has been removed from `getStaticPaths`. Try the new @astrojs/rss package instead.\",\n hint: \"See https://docs.astro.build/en/guides/rss/ for more information.\"\n};\nconst GetStaticPathsExpectedParams = {\n name: \"GetStaticPathsExpectedParams\",\n title: \"Missing params property on `getStaticPaths` route.\",\n message: \"Missing or empty required `params` property on `getStaticPaths` route.\",\n hint: \"See https://docs.astro.build/en/reference/api-reference/#getstaticpaths for more information on getStaticPaths.\"\n};\nconst GetStaticPathsInvalidRouteParam = {\n name: \"GetStaticPathsInvalidRouteParam\",\n title: \"Invalid value for `getStaticPaths` route parameter.\",\n message: (key, value, valueType) => `Invalid getStaticPaths route parameter for \\`${key}\\`. Expected undefined, a string or a number, received \\`${valueType}\\` (\\`${value}\\`)`,\n hint: \"See https://docs.astro.build/en/reference/api-reference/#getstaticpaths for more information on getStaticPaths.\"\n};\nconst GetStaticPathsRequired = {\n name: \"GetStaticPathsRequired\",\n title: \"`getStaticPaths()` function required for dynamic routes.\",\n message: \"`getStaticPaths()` function is required for dynamic routes. Make sure that you `export` a `getStaticPaths` function from your dynamic route.\",\n hint: `See https://docs.astro.build/en/guides/routing/#dynamic-routes for more information on dynamic routes.\n\nAlternatively, set \\`output: \"server\"\\` or \\`output: \"hybrid\"\\` in your Astro config file to switch to a non-static server build. This error can also occur if using \\`export const prerender = true;\\`.\nSee https://docs.astro.build/en/guides/server-side-rendering/ for more information on non-static rendering.`\n};\nconst ReservedSlotName = {\n name: \"ReservedSlotName\",\n title: \"Invalid slot name.\",\n message: (slotName) => `Unable to create a slot named \\`${slotName}\\`. \\`${slotName}\\` is a reserved slot name. Please update the name of this slot.`\n};\nconst NoAdapterInstalled = {\n name: \"NoAdapterInstalled\",\n title: \"Cannot use Server-side Rendering without an adapter.\",\n message: `Cannot use \\`output: 'server'\\` or \\`output: 'hybrid'\\` without an adapter. Please install and configure the appropriate server adapter for your final deployment.`,\n hint: \"See https://docs.astro.build/en/guides/server-side-rendering/ for more information.\"\n};\nconst NoMatchingImport = {\n name: \"NoMatchingImport\",\n title: \"No import found for component.\",\n message: (componentName) => `Could not render \\`${componentName}\\`. No matching import has been found for \\`${componentName}\\`.`,\n hint: \"Please make sure the component is properly imported.\"\n};\nconst InvalidPrerenderExport = {\n name: \"InvalidPrerenderExport\",\n title: \"Invalid prerender export.\",\n message(prefix, suffix, isHydridOutput) {\n const defaultExpectedValue = isHydridOutput ? \"false\" : \"true\";\n let msg = `A \\`prerender\\` export has been detected, but its value cannot be statically analyzed.`;\n if (prefix !== \"const\") msg += `\nExpected \\`const\\` declaration but got \\`${prefix}\\`.`;\n if (suffix !== \"true\")\n msg += `\nExpected \\`${defaultExpectedValue}\\` value but got \\`${suffix}\\`.`;\n return msg;\n },\n hint: \"Mutable values declared at runtime are not supported. Please make sure to use exactly `export const prerender = true`.\"\n};\nconst InvalidComponentArgs = {\n name: \"InvalidComponentArgs\",\n title: \"Invalid component arguments.\",\n message: (name) => `Invalid arguments passed to${name ? ` <${name}>` : \"\"} component.`,\n hint: \"Astro components cannot be rendered directly via function call, such as `Component()` or `{items.map(Component)}`.\"\n};\nconst PageNumberParamNotFound = {\n name: \"PageNumberParamNotFound\",\n title: \"Page number param not found.\",\n message: (paramName) => `[paginate()] page number param \\`${paramName}\\` not found in your filepath.`,\n hint: \"Rename your file to `[page].astro` or `[...page].astro`.\"\n};\nconst ImageMissingAlt = {\n name: \"ImageMissingAlt\",\n title: 'Image missing required \"alt\" property.',\n message: 'Image missing \"alt\" property. \"alt\" text is required to describe important images on the page.',\n hint: 'Use an empty string (\"\") for decorative images.'\n};\nconst InvalidImageService = {\n name: \"InvalidImageService\",\n title: \"Error while loading image service.\",\n message: \"There was an error loading the configured image service. Please see the stack trace for more information.\"\n};\nconst MissingImageDimension = {\n name: \"MissingImageDimension\",\n title: \"Missing image dimensions\",\n message: (missingDimension, imageURL) => `Missing ${missingDimension === \"both\" ? \"width and height attributes\" : `${missingDimension} attribute`} for ${imageURL}. When using remote images, both dimensions are required unless in order to avoid CLS.`,\n hint: \"If your image is inside your `src` folder, you probably meant to import it instead. See [the Imports guide for more information](https://docs.astro.build/en/guides/imports/#other-assets). You can also use `inferSize={true}` for remote images to get the original dimensions.\"\n};\nconst FailedToFetchRemoteImageDimensions = {\n name: \"FailedToFetchRemoteImageDimensions\",\n title: \"Failed to retrieve remote image dimensions\",\n message: (imageURL) => `Failed to get the dimensions for ${imageURL}.`,\n hint: \"Verify your remote image URL is accurate, and that you are not using `inferSize` with a file located in your `public/` folder.\"\n};\nconst UnsupportedImageFormat = {\n name: \"UnsupportedImageFormat\",\n title: \"Unsupported image format\",\n message: (format, imagePath, supportedFormats) => `Received unsupported format \\`${format}\\` from \\`${imagePath}\\`. Currently only ${supportedFormats.join(\n \", \"\n )} are supported by our image services.`,\n hint: \"Using an `img` tag directly instead of the `Image` component might be what you're looking for.\"\n};\nconst UnsupportedImageConversion = {\n name: \"UnsupportedImageConversion\",\n title: \"Unsupported image conversion\",\n message: \"Converting between vector (such as SVGs) and raster (such as PNGs and JPEGs) images is not currently supported.\"\n};\nconst PrerenderDynamicEndpointPathCollide = {\n name: \"PrerenderDynamicEndpointPathCollide\",\n title: \"Prerendered dynamic endpoint has path collision.\",\n message: (pathname) => `Could not render \\`${pathname}\\` with an \\`undefined\\` param as the generated path will collide during prerendering. Prevent passing \\`undefined\\` as \\`params\\` for the endpoint's \\`getStaticPaths()\\` function, or add an additional extension to the endpoint's filename.`,\n hint: (filename) => `Rename \\`${filename}\\` to \\`${filename.replace(/\\.(?:js|ts)/, (m) => `.json` + m)}\\``\n};\nconst ExpectedImage = {\n name: \"ExpectedImage\",\n title: \"Expected src to be an image.\",\n message: (src, typeofOptions, fullOptions) => `Expected \\`src\\` property for \\`getImage\\` or \\`\\` to be either an ESM imported image or a string with the path of a remote image. Received \\`${src}\\` (type: \\`${typeofOptions}\\`).\n\nFull serialized options received: \\`${fullOptions}\\`.`,\n hint: \"This error can often happen because of a wrong path. Make sure the path to your image is correct. If you're passing an async function, make sure to call and await it.\"\n};\nconst ExpectedImageOptions = {\n name: \"ExpectedImageOptions\",\n title: \"Expected image options.\",\n message: (options) => `Expected getImage() parameter to be an object. Received \\`${options}\\`.`\n};\nconst ExpectedNotESMImage = {\n name: \"ExpectedNotESMImage\",\n title: \"Expected image options, not an ESM-imported image.\",\n message: \"An ESM-imported image cannot be passed directly to `getImage()`. Instead, pass an object with the image in the `src` property.\",\n hint: \"Try changing `getImage(myImage)` to `getImage({ src: myImage })`\"\n};\nconst IncompatibleDescriptorOptions = {\n name: \"IncompatibleDescriptorOptions\",\n title: \"Cannot set both `densities` and `widths`\",\n message: \"Only one of `densities` or `widths` can be specified. In most cases, you'll probably want to use only `widths` if you require specific widths.\",\n hint: \"Those attributes are used to construct a `srcset` attribute, which cannot have both `x` and `w` descriptors.\"\n};\nconst ImageNotFound = {\n name: \"ImageNotFound\",\n title: \"Image not found.\",\n message: (imagePath) => `Could not find requested image \\`${imagePath}\\`. Does it exist?`,\n hint: \"This is often caused by a typo in the image path. Please make sure the file exists, and is spelled correctly.\"\n};\nconst NoImageMetadata = {\n name: \"NoImageMetadata\",\n title: \"Could not process image metadata.\",\n message: (imagePath) => `Could not process image metadata${imagePath ? ` for \\`${imagePath}\\`` : \"\"}.`,\n hint: \"This is often caused by a corrupted or malformed image. Re-exporting the image from your image editor may fix this issue.\"\n};\nconst MarkdownImageNotFound = {\n name: \"MarkdownImageNotFound\",\n title: \"Image not found.\",\n message: (imagePath, fullImagePath) => `Could not find requested image \\`${imagePath}\\`${fullImagePath ? ` at \\`${fullImagePath}\\`.` : \".\"}`,\n hint: \"This is often caused by a typo in the image path. Please make sure the file exists, and is spelled correctly.\"\n};\nconst CouldNotTransformImage = {\n name: \"CouldNotTransformImage\",\n title: \"Could not transform image.\",\n message: (imagePath) => `Could not transform image \\`${imagePath}\\`. See the stack trace for more information.`,\n hint: \"This is often caused by a corrupted or malformed image. Re-exporting the image from your image editor may fix this issue.\"\n};\nconst ResponseSentError = {\n name: \"ResponseSentError\",\n title: \"Unable to set response.\",\n message: \"The response has already been sent to the browser and cannot be altered.\"\n};\nconst MiddlewareNoDataOrNextCalled = {\n name: \"MiddlewareNoDataOrNextCalled\",\n title: \"The middleware didn't return a `Response`.\",\n message: \"Make sure your middleware returns a `Response` object, either directly or by returning the `Response` from calling the `next` function.\"\n};\nconst MiddlewareNotAResponse = {\n name: \"MiddlewareNotAResponse\",\n title: \"The middleware returned something that is not a `Response` object.\",\n message: \"Any data returned from middleware must be a valid `Response` object.\"\n};\nconst EndpointDidNotReturnAResponse = {\n name: \"EndpointDidNotReturnAResponse\",\n title: \"The endpoint did not return a `Response`.\",\n message: \"An endpoint must return either a `Response`, or a `Promise` that resolves with a `Response`.\"\n};\nconst LocalsNotAnObject = {\n name: \"LocalsNotAnObject\",\n title: \"Value assigned to `locals` is not accepted.\",\n message: \"`locals` can only be assigned to an object. Other values like numbers, strings, etc. are not accepted.\",\n hint: \"If you tried to remove some information from the `locals` object, try to use `delete` or set the property to `undefined`.\"\n};\nconst AstroResponseHeadersReassigned = {\n name: \"AstroResponseHeadersReassigned\",\n title: \"`Astro.response.headers` must not be reassigned.\",\n message: \"Individual headers can be added to and removed from `Astro.response.headers`, but it must not be replaced with another instance of `Headers` altogether.\",\n hint: \"Consider using `Astro.response.headers.add()`, and `Astro.response.headers.delete()`.\"\n};\nconst MiddlewareCantBeLoaded = {\n name: \"MiddlewareCantBeLoaded\",\n title: \"Can't load the middleware.\",\n message: \"An unknown error was thrown while loading your middleware.\"\n};\nconst LocalImageUsedWrongly = {\n name: \"LocalImageUsedWrongly\",\n title: \"Local images must be imported.\",\n message: (imageFilePath) => `\\`Image\\`'s and \\`getImage\\`'s \\`src\\` parameter must be an imported image or an URL, it cannot be a string filepath. Received \\`${imageFilePath}\\`.`,\n hint: \"If you want to use an image from your `src` folder, you need to either import it or if the image is coming from a content collection, use the [image() schema helper](https://docs.astro.build/en/guides/images/#images-in-content-collections). See https://docs.astro.build/en/guides/images/#src-required for more information on the `src` property.\"\n};\nconst AstroGlobUsedOutside = {\n name: \"AstroGlobUsedOutside\",\n title: \"Astro.glob() used outside of an Astro file.\",\n message: (globStr) => `\\`Astro.glob(${globStr})\\` can only be used in \\`.astro\\` files. \\`import.meta.glob(${globStr})\\` can be used instead to achieve a similar result.`,\n hint: \"See Vite's documentation on `import.meta.glob` for more information: https://vitejs.dev/guide/features.html#glob-import\"\n};\nconst AstroGlobNoMatch = {\n name: \"AstroGlobNoMatch\",\n title: \"Astro.glob() did not match any files.\",\n message: (globStr) => `\\`Astro.glob(${globStr})\\` did not return any matching files.`,\n hint: \"Check the pattern for typos.\"\n};\nconst RedirectWithNoLocation = {\n name: \"RedirectWithNoLocation\",\n title: \"A redirect must be given a location with the `Location` header.\"\n};\nconst InvalidDynamicRoute = {\n name: \"InvalidDynamicRoute\",\n title: \"Invalid dynamic route.\",\n message: (route, invalidParam, received) => `The ${invalidParam} param for route ${route} is invalid. Received **${received}**.`\n};\nconst MissingSharp = {\n name: \"MissingSharp\",\n title: \"Could not find Sharp.\",\n message: \"Could not find Sharp. Please install Sharp (`sharp`) manually into your project or migrate to another image service.\",\n hint: \"See Sharp's installation instructions for more information: https://sharp.pixelplumbing.com/install. If you are not relying on `astro:assets` to optimize, transform, or process any images, you can configure a passthrough image service instead of installing Sharp. See https://docs.astro.build/en/reference/errors/missing-sharp for more information.\\n\\nSee https://docs.astro.build/en/guides/images/#default-image-service for more information on how to migrate to another image service.\"\n};\nconst UnknownViteError = {\n name: \"UnknownViteError\",\n title: \"Unknown Vite Error.\"\n};\nconst FailedToLoadModuleSSR = {\n name: \"FailedToLoadModuleSSR\",\n title: \"Could not import file.\",\n message: (importName) => `Could not import \\`${importName}\\`.`,\n hint: \"This is often caused by a typo in the import path. Please make sure the file exists.\"\n};\nconst InvalidGlob = {\n name: \"InvalidGlob\",\n title: \"Invalid glob pattern.\",\n message: (globPattern) => `Invalid glob pattern: \\`${globPattern}\\`. Glob patterns must start with './', '../' or '/'.`,\n hint: \"See https://docs.astro.build/en/guides/imports/#glob-patterns for more information on supported glob patterns.\"\n};\nconst FailedToFindPageMapSSR = {\n name: \"FailedToFindPageMapSSR\",\n title: \"Astro couldn't find the correct page to render\",\n message: \"Astro couldn't find the correct page to render, probably because it wasn't correctly mapped for SSR usage. This is an internal error. Please file an issue.\"\n};\nconst MissingLocale = {\n name: \"MissingLocaleError\",\n title: \"The provided locale does not exist.\",\n message: (locale) => `The locale/path \\`${locale}\\` does not exist in the configured \\`i18n.locales\\`.`\n};\nconst MissingIndexForInternationalization = {\n name: \"MissingIndexForInternationalizationError\",\n title: \"Index page not found.\",\n message: (defaultLocale) => `Could not find index page. A root index page is required in order to create a redirect to the index URL of the default locale. (\\`/${defaultLocale}\\`)`,\n hint: (src) => `Create an index page (\\`index.astro, index.md, etc.\\`) in \\`${src}\\`.`\n};\nconst IncorrectStrategyForI18n = {\n name: \"IncorrectStrategyForI18n\",\n title: \"You can't use the current function with the current strategy\",\n message: (functionName) => `The function \\`${functionName}\\` can only be used when the \\`i18n.routing.strategy\\` is set to \\`\"manual\"\\`.`\n};\nconst NoPrerenderedRoutesWithDomains = {\n name: \"NoPrerenderedRoutesWithDomains\",\n title: \"Prerendered routes aren't supported when internationalization domains are enabled.\",\n message: (component) => `Static pages aren't yet supported with multiple domains. To enable this feature, you must disable prerendering for the page ${component}`\n};\nconst MissingMiddlewareForInternationalization = {\n name: \"MissingMiddlewareForInternationalization\",\n title: \"Enabled manual internationalization routing without having a middleware.\",\n message: \"Your configuration setting `i18n.routing: 'manual'` requires you to provide your own i18n `middleware` file.\"\n};\nconst RewriteEncounteredAnError = {\n name: \"RewriteEncounteredAnError\",\n title: \"Astro couldn't find the route to rewrite, or if was found but it emitted an error during the rendering phase.\",\n message: (route, stack) => `The route ${route} that you tried to render doesn't exist, or it emitted an error during the rendering phase. ${stack ? stack : \"\"}.`\n};\nconst CantRenderPage = {\n name: \"CantRenderPage\",\n title: \"Astro can't render the route.\",\n message: \"Astro cannot find any content to render for this route. There is no file or redirect associated with this route.\",\n hint: \"If you expect to find a route here, this may be an Astro bug. Please file an issue/restart the dev server\"\n};\nconst UnhandledRejection = {\n name: \"UnhandledRejection\",\n title: \"Unhandled rejection\",\n message: (stack) => `Astro detected an unhandled rejection. Here's the stack trace:\n${stack}`,\n hint: \"Make sure your promises all have an `await` or a `.catch()` handler.\"\n};\nconst i18nNotEnabled = {\n name: \"i18nNotEnabled\",\n title: \"i18n Not Enabled\",\n message: \"The `astro:i18n` module can not be used without enabling i18n in your Astro config.\",\n hint: \"See https://docs.astro.build/en/guides/internationalization for a guide on setting up i18n.\"\n};\nconst i18nNoLocaleFoundInPath = {\n name: \"i18nNoLocaleFoundInPath\",\n title: \"The path doesn't contain any locale\",\n message: \"You tried to use an i18n utility on a path that doesn't contain any locale. You can use `pathHasLocale` first to determine if the path has a locale.\"\n};\nconst RouteNotFound = {\n name: \"RouteNotFound\",\n title: \"Route not found.\",\n message: `Astro could not find a route that matches the one you requested.`\n};\nconst EnvInvalidVariables = {\n name: \"EnvInvalidVariables\",\n title: \"Invalid Environment Variables\",\n message: (errors) => `The following environment variables defined in \\`experimental.env.schema\\` are invalid:\n\n${errors.map((err) => `- ${err}`).join(\"\\n\")}\n`\n};\nconst EnvUnsupportedGetSecret = {\n name: \"EnvUnsupportedGetSecret\",\n title: \"Unsupported astro:env getSecret\",\n message: \"`astro:env/server` exported function `getSecret` is not supported by your adapter.\"\n};\nconst ServerOnlyModule = {\n name: \"ServerOnlyModule\",\n title: \"Module is only available server-side\",\n message: (name) => `The \"${name}\" module is only available server-side.`\n};\nconst RewriteWithBodyUsed = {\n name: \"RewriteWithBodyUsed\",\n title: \"Cannot use Astro.rewrite after the request body has been read\",\n message: \"Astro.rewrite() cannot be used if the request body has already been read. If you need to read the body, first clone the request.\"\n};\nconst UnknownFilesystemError = {\n name: \"UnknownFilesystemError\",\n title: \"An unknown error occurred while reading or writing files to disk.\",\n hint: \"It can be caused by many things, eg. missing permissions or a file not existing we attempt to read. Check the error cause for more details.\"\n};\nconst UnknownCSSError = {\n name: \"UnknownCSSError\",\n title: \"Unknown CSS Error.\"\n};\nconst CSSSyntaxError = {\n name: \"CSSSyntaxError\",\n title: \"CSS Syntax Error.\"\n};\nconst UnknownMarkdownError = {\n name: \"UnknownMarkdownError\",\n title: \"Unknown Markdown Error.\"\n};\nconst MarkdownFrontmatterParseError = {\n name: \"MarkdownFrontmatterParseError\",\n title: \"Failed to parse Markdown frontmatter.\"\n};\nconst InvalidFrontmatterInjectionError = {\n name: \"InvalidFrontmatterInjectionError\",\n title: \"Invalid frontmatter injection.\",\n message: 'A remark or rehype plugin attempted to inject invalid frontmatter. Ensure \"astro.frontmatter\" is set to a valid JSON object that is not `null` or `undefined`.',\n hint: \"See the frontmatter injection docs https://docs.astro.build/en/guides/markdown-content/#modifying-frontmatter-programmatically for more information.\"\n};\nconst MdxIntegrationMissingError = {\n name: \"MdxIntegrationMissingError\",\n title: \"MDX integration missing.\",\n message: (file) => `Unable to render ${file}. Ensure that the \\`@astrojs/mdx\\` integration is installed.`,\n hint: \"See the MDX integration docs for installation and usage instructions: https://docs.astro.build/en/guides/integrations-guide/mdx/\"\n};\nconst UnknownConfigError = {\n name: \"UnknownConfigError\",\n title: \"Unknown configuration error.\"\n};\nconst ConfigNotFound = {\n name: \"ConfigNotFound\",\n title: \"Specified configuration file not found.\",\n message: (configFile) => `Unable to resolve \\`--config \"${configFile}\"\\`. Does the file exist?`\n};\nconst ConfigLegacyKey = {\n name: \"ConfigLegacyKey\",\n title: \"Legacy configuration detected.\",\n message: (legacyConfigKey) => `Legacy configuration detected: \\`${legacyConfigKey}\\`.`,\n hint: \"Please update your configuration to the new format.\\nSee https://astro.build/config for more information.\"\n};\nconst UnknownCLIError = {\n name: \"UnknownCLIError\",\n title: \"Unknown CLI Error.\"\n};\nconst GenerateContentTypesError = {\n name: \"GenerateContentTypesError\",\n title: \"Failed to generate content types.\",\n message: (errorMessage) => `\\`astro sync\\` command failed to generate content collection types: ${errorMessage}`,\n hint: \"Check your `src/content/config.*` file for typos.\"\n};\nconst UnknownContentCollectionError = {\n name: \"UnknownContentCollectionError\",\n title: \"Unknown Content Collection Error.\"\n};\nconst GetEntryDeprecationError = {\n name: \"GetEntryDeprecationError\",\n title: \"Invalid use of `getDataEntryById` or `getEntryBySlug` function.\",\n message: (collection, method) => `The \\`${method}\\` function is deprecated and cannot be used to query the \"${collection}\" collection. Use \\`getEntry\\` instead.`,\n hint: \"Use the `getEntry` or `getCollection` functions to query content layer collections.\"\n};\nconst InvalidContentEntryFrontmatterError = {\n name: \"InvalidContentEntryFrontmatterError\",\n title: \"Content entry frontmatter does not match schema.\",\n message(collection, entryId, error) {\n return [\n `**${String(collection)} \\u2192 ${String(\n entryId\n )}** frontmatter does not match collection schema.`,\n ...error.errors.map((zodError) => zodError.message)\n ].join(\"\\n\");\n },\n hint: \"See https://docs.astro.build/en/guides/content-collections/ for more information on content schemas.\"\n};\nconst InvalidContentEntrySlugError = {\n name: \"InvalidContentEntrySlugError\",\n title: \"Invalid content entry slug.\",\n message(collection, entryId) {\n return `${String(collection)} \\u2192 ${String(\n entryId\n )} has an invalid slug. \\`slug\\` must be a string.`;\n },\n hint: \"See https://docs.astro.build/en/guides/content-collections/ for more on the `slug` field.\"\n};\nconst ContentSchemaContainsSlugError = {\n name: \"ContentSchemaContainsSlugError\",\n title: \"Content Schema should not contain `slug`.\",\n message: (collectionName) => `A content collection schema should not contain \\`slug\\` since it is reserved for slug generation. Remove this from your ${collectionName} collection schema.`,\n hint: \"See https://docs.astro.build/en/guides/content-collections/ for more on the `slug` field.\"\n};\nconst CollectionDoesNotExistError = {\n name: \"CollectionDoesNotExistError\",\n title: \"Collection does not exist\",\n message: (collectionName) => `The collection **${collectionName}** does not exist. Ensure a collection directory with this name exists.`,\n hint: \"See https://docs.astro.build/en/guides/content-collections/ for more on creating collections.\"\n};\nconst MixedContentDataCollectionError = {\n name: \"MixedContentDataCollectionError\",\n title: \"Content and data cannot be in same collection.\",\n message: (collectionName) => `**${collectionName}** contains a mix of content and data entries. All entries must be of the same type.`,\n hint: \"Store data entries in a new collection separate from your content collection.\"\n};\nconst ContentCollectionTypeMismatchError = {\n name: \"ContentCollectionTypeMismatchError\",\n title: \"Collection contains entries of a different type.\",\n message: (collection, expectedType, actualType) => `${collection} contains ${expectedType} entries, but is configured as a ${actualType} collection.`\n};\nconst DataCollectionEntryParseError = {\n name: \"DataCollectionEntryParseError\",\n title: \"Data collection entry failed to parse.\",\n message(entryId, errorMessage) {\n return `**${entryId}** failed to parse: ${errorMessage}`;\n },\n hint: \"Ensure your data entry is an object with valid JSON (for `.json` entries) or YAML (for `.yaml` entries).\"\n};\nconst DuplicateContentEntrySlugError = {\n name: \"DuplicateContentEntrySlugError\",\n title: \"Duplicate content entry slug.\",\n message(collection, slug, preExisting, alsoFound) {\n return `**${collection}** contains multiple entries with the same slug: \\`${slug}\\`. Slugs must be unique.\n\nEntries: \n- ${preExisting}\n- ${alsoFound}`;\n }\n};\nconst UnsupportedConfigTransformError = {\n name: \"UnsupportedConfigTransformError\",\n title: \"Unsupported transform in content config.\",\n message: (parseError) => `\\`transform()\\` functions in your content config must return valid JSON, or data types compatible with the devalue library (including Dates, Maps, and Sets).\nFull error: ${parseError}`,\n hint: \"See the devalue library for all supported types: https://github.com/rich-harris/devalue\"\n};\nconst ActionsWithoutServerOutputError = {\n name: \"ActionsWithoutServerOutputError\",\n title: \"Actions must be used with server output.\",\n message: \"Actions enabled without setting a server build output. A server is required to create callable backend functions. To deploy routes to a server, add a server adapter to your astro config.\",\n hint: \"Learn about on-demand rendering: https://docs.astro.build/en/basics/rendering-modes/#on-demand-rendered\"\n};\nconst ActionsUsedWithForGetError = {\n name: \"ActionsUsedWithForGetError\",\n title: \"An invalid Action query string was passed by a form.\",\n message: (actionName) => `Action ${actionName} was called from a form using a GET request, but only POST requests are supported. This often occurs if \\`method=\"POST\"\\` is missing on the form.`,\n hint: \"Actions are experimental. Visit the RFC for usage instructions: https://github.com/withastro/roadmap/blob/actions/proposals/0046-actions.md\"\n};\nconst ActionQueryStringInvalidError = {\n name: \"ActionQueryStringInvalidError\",\n title: \"An invalid Action query string was passed by a form.\",\n message: (actionName) => `The server received the query string \\`?_astroAction=${actionName}\\`, but could not find an action with that name. If you changed an action's name in development, remove this query param from your URL and refresh.`,\n hint: \"Actions are experimental. Visit the RFC for usage instructions: https://github.com/withastro/roadmap/blob/actions/proposals/0046-actions.md\"\n};\nconst ActionCalledFromServerError = {\n name: \"ActionCalledFromServerError\",\n title: \"Action unexpected called from the server.\",\n message: \"Action called from a server page or endpoint without using `Astro.callAction()`.\",\n hint: \"See the RFC section on server calls for usage instructions: https://github.com/withastro/roadmap/blob/actions/proposals/0046-actions.md#call-actions-directly-from-server-code\"\n};\nconst UnknownError = { name: \"UnknownError\", title: \"Unknown Error.\" };\nexport {\n ActionCalledFromServerError,\n ActionQueryStringInvalidError,\n ActionsUsedWithForGetError,\n ActionsWithoutServerOutputError,\n AstroGlobNoMatch,\n AstroGlobUsedOutside,\n AstroResponseHeadersReassigned,\n CSSSyntaxError,\n CantRenderPage,\n ClientAddressNotAvailable,\n CollectionDoesNotExistError,\n ConfigLegacyKey,\n ConfigNotFound,\n ContentCollectionTypeMismatchError,\n ContentSchemaContainsSlugError,\n CouldNotTransformImage,\n DataCollectionEntryParseError,\n DuplicateContentEntrySlugError,\n EndpointDidNotReturnAResponse,\n EnvInvalidVariables,\n EnvUnsupportedGetSecret,\n ExpectedImage,\n ExpectedImageOptions,\n ExpectedNotESMImage,\n FailedToFetchRemoteImageDimensions,\n FailedToFindPageMapSSR,\n FailedToLoadModuleSSR,\n GenerateContentTypesError,\n GetEntryDeprecationError,\n GetStaticPathsExpectedParams,\n GetStaticPathsInvalidRouteParam,\n GetStaticPathsRemovedRSSHelper,\n GetStaticPathsRequired,\n ImageMissingAlt,\n ImageNotFound,\n IncompatibleDescriptorOptions,\n IncorrectStrategyForI18n,\n InvalidComponentArgs,\n InvalidContentEntryFrontmatterError,\n InvalidContentEntrySlugError,\n InvalidDynamicRoute,\n InvalidFrontmatterInjectionError,\n InvalidGetStaticPathParam,\n InvalidGetStaticPathsEntry,\n InvalidGetStaticPathsReturn,\n InvalidGlob,\n InvalidImageService,\n InvalidPrerenderExport,\n LocalImageUsedWrongly,\n LocalsNotAnObject,\n MarkdownFrontmatterParseError,\n MarkdownImageNotFound,\n MdxIntegrationMissingError,\n MiddlewareCantBeLoaded,\n MiddlewareNoDataOrNextCalled,\n MiddlewareNotAResponse,\n MissingImageDimension,\n MissingIndexForInternationalization,\n MissingLocale,\n MissingMediaQueryDirective,\n MissingMiddlewareForInternationalization,\n MissingSharp,\n MixedContentDataCollectionError,\n NoAdapterInstalled,\n NoClientEntrypoint,\n NoClientOnlyHint,\n NoImageMetadata,\n NoMatchingImport,\n NoMatchingRenderer,\n NoMatchingStaticPathFound,\n NoPrerenderedRoutesWithDomains,\n OnlyResponseCanBeReturned,\n PageNumberParamNotFound,\n PrerenderClientAddressNotAvailable,\n PrerenderDynamicEndpointPathCollide,\n RedirectWithNoLocation,\n ReservedSlotName,\n ResponseSentError,\n RewriteEncounteredAnError,\n RewriteWithBodyUsed,\n RouteNotFound,\n ServerOnlyModule,\n StaticClientAddressNotAvailable,\n StaticRedirectNotAvailable,\n UnhandledRejection,\n UnknownCLIError,\n UnknownCSSError,\n UnknownCompilerError,\n UnknownConfigError,\n UnknownContentCollectionError,\n UnknownError,\n UnknownFilesystemError,\n UnknownMarkdownError,\n UnknownViteError,\n UnsupportedConfigTransformError,\n UnsupportedImageConversion,\n UnsupportedImageFormat,\n i18nNoLocaleFoundInPath,\n i18nNotEnabled\n};\n","function positionAt(offset, text) {\n const lineOffsets = getLineOffsets(text);\n offset = Math.max(0, Math.min(text.length, offset));\n let low = 0;\n let high = lineOffsets.length;\n if (high === 0) {\n return {\n line: 0,\n column: offset\n };\n }\n while (low <= high) {\n const mid = Math.floor((low + high) / 2);\n const lineOffset = lineOffsets[mid];\n if (lineOffset === offset) {\n return {\n line: mid,\n column: 0\n };\n } else if (offset > lineOffset) {\n low = mid + 1;\n } else {\n high = mid - 1;\n }\n }\n const line = low - 1;\n return { line, column: offset - lineOffsets[line] };\n}\nfunction getLineOffsets(text) {\n const lineOffsets = [];\n let isLineStart = true;\n for (let i = 0; i < text.length; i++) {\n if (isLineStart) {\n lineOffsets.push(i);\n isLineStart = false;\n }\n const ch = text.charAt(i);\n isLineStart = ch === \"\\r\" || ch === \"\\n\";\n if (ch === \"\\r\" && i + 1 < text.length && text.charAt(i + 1) === \"\\n\") {\n i++;\n }\n }\n if (isLineStart && text.length > 0) {\n lineOffsets.push(text.length);\n }\n return lineOffsets;\n}\nfunction isYAMLException(err) {\n return err instanceof Error && err.name === \"YAMLException\";\n}\nfunction formatYAMLException(e) {\n return {\n name: e.name,\n id: e.mark.name,\n loc: { file: e.mark.name, line: e.mark.line + 1, column: e.mark.column },\n message: e.reason,\n stack: e.stack ?? \"\"\n };\n}\nfunction createSafeError(err) {\n if (err instanceof Error || err?.name && err.message) {\n return err;\n } else {\n const error = new Error(JSON.stringify(err));\n error.hint = `To get as much information as possible from your errors, make sure to throw Error objects instead of \\`${typeof err}\\`. See https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Error for more information.`;\n return error;\n }\n}\nfunction normalizeLF(code) {\n return code.replace(/\\r\\n|\\r(?!\\n)|\\n/g, \"\\n\");\n}\nexport {\n createSafeError,\n formatYAMLException,\n isYAMLException,\n normalizeLF,\n positionAt\n};\n","import { normalizeLF } from \"./utils.js\";\nfunction codeFrame(src, loc) {\n if (!loc || loc.line === void 0 || loc.column === void 0) {\n return \"\";\n }\n const lines = normalizeLF(src).split(\"\\n\").map((ln) => ln.replace(/\\t/g, \" \"));\n const visibleLines = [];\n for (let n = -2; n <= 2; n++) {\n if (lines[loc.line + n]) visibleLines.push(loc.line + n);\n }\n let gutterWidth = 0;\n for (const lineNo of visibleLines) {\n let w = `> ${lineNo}`;\n if (w.length > gutterWidth) gutterWidth = w.length;\n }\n let output = \"\";\n for (const lineNo of visibleLines) {\n const isFocusedLine = lineNo === loc.line - 1;\n output += isFocusedLine ? \"> \" : \" \";\n output += `${lineNo + 1} | ${lines[lineNo]}\n`;\n if (isFocusedLine)\n output += `${Array.from({ length: gutterWidth }).join(\" \")} | ${Array.from({\n length: loc.column\n }).join(\" \")}^\n`;\n }\n return output;\n}\nexport {\n codeFrame\n};\n","import { codeFrame } from \"./printer.js\";\nfunction isAstroError(e) {\n return e instanceof AstroError;\n}\nclass AstroError extends Error {\n loc;\n title;\n hint;\n frame;\n type = \"AstroError\";\n constructor(props, options) {\n const { name, title, message, stack, location, hint, frame } = props;\n super(message, options);\n this.title = title;\n this.name = name;\n if (message) this.message = message;\n this.stack = stack ? stack : this.stack;\n this.loc = location;\n this.hint = hint;\n this.frame = frame;\n }\n setLocation(location) {\n this.loc = location;\n }\n setName(name) {\n this.name = name;\n }\n setMessage(message) {\n this.message = message;\n }\n setHint(hint) {\n this.hint = hint;\n }\n setFrame(source, location) {\n this.frame = codeFrame(source, location);\n }\n static is(err) {\n return err.type === \"AstroError\";\n }\n}\nclass CompilerError extends AstroError {\n type = \"CompilerError\";\n constructor(props, options) {\n super(props, options);\n }\n static is(err) {\n return err.type === \"CompilerError\";\n }\n}\nclass CSSError extends AstroError {\n type = \"CSSError\";\n static is(err) {\n return err.type === \"CSSError\";\n }\n}\nclass MarkdownError extends AstroError {\n type = \"MarkdownError\";\n static is(err) {\n return err.type === \"MarkdownError\";\n }\n}\nclass InternalError extends AstroError {\n type = \"InternalError\";\n static is(err) {\n return err.type === \"InternalError\";\n }\n}\nclass AggregateError extends AstroError {\n type = \"AggregateError\";\n errors;\n // Despite being a collection of errors, AggregateError still needs to have a main error attached to it\n // This is because Vite expects every thrown errors handled during HMR to be, well, Error and have a message\n constructor(props, options) {\n super(props, options);\n this.errors = props.errors;\n }\n static is(err) {\n return err.type === \"AggregateError\";\n }\n}\nconst astroConfigZodErrors = /* @__PURE__ */ new WeakSet();\nfunction isAstroConfigZodError(error) {\n return astroConfigZodErrors.has(error);\n}\nfunction trackAstroConfigZodError(error) {\n astroConfigZodErrors.add(error);\n}\nclass AstroUserError extends Error {\n type = \"AstroUserError\";\n /**\n * A message that explains to the user how they can fix the error.\n */\n hint;\n name = \"AstroUserError\";\n constructor(message, hint) {\n super();\n this.message = message;\n this.hint = hint;\n }\n static is(err) {\n return err.type === \"AstroUserError\";\n }\n}\nexport {\n AggregateError,\n AstroError,\n AstroUserError,\n CSSError,\n CompilerError,\n InternalError,\n MarkdownError,\n isAstroConfigZodError,\n isAstroError,\n trackAstroConfigZodError\n};\n","import { AstroError, AstroErrorData } from \"../../core/errors/index.js\";\nfunction validateArgs(args) {\n if (args.length !== 3) return false;\n if (!args[0] || typeof args[0] !== \"object\") return false;\n return true;\n}\nfunction baseCreateComponent(cb, moduleId, propagation) {\n const name = moduleId?.split(\"/\").pop()?.replace(\".astro\", \"\") ?? \"\";\n const fn = (...args) => {\n if (!validateArgs(args)) {\n throw new AstroError({\n ...AstroErrorData.InvalidComponentArgs,\n message: AstroErrorData.InvalidComponentArgs.message(name)\n });\n }\n return cb(...args);\n };\n Object.defineProperty(fn, \"name\", { value: name, writable: false });\n fn.isAstroComponentFactory = true;\n fn.moduleId = moduleId;\n fn.propagation = propagation;\n return fn;\n}\nfunction createComponentWithOptions(opts) {\n const cb = baseCreateComponent(opts.factory, opts.moduleId, opts.propagation);\n return cb;\n}\nfunction createComponent(arg1, moduleId, propagation) {\n if (typeof arg1 === \"function\") {\n return baseCreateComponent(arg1, moduleId, propagation);\n } else {\n return createComponentWithOptions(arg1);\n }\n}\nexport {\n createComponent\n};\n","const ASTRO_VERSION = \"4.14.4\";\nconst REROUTE_DIRECTIVE_HEADER = \"X-Astro-Reroute\";\nconst REWRITE_DIRECTIVE_HEADER_KEY = \"X-Astro-Rewrite\";\nconst REWRITE_DIRECTIVE_HEADER_VALUE = \"yes\";\nconst ROUTE_TYPE_HEADER = \"X-Astro-Route-Type\";\nconst DEFAULT_404_COMPONENT = \"astro-default-404.astro\";\nconst DEFAULT_500_COMPONENT = \"astro-default-500.astro\";\nconst REROUTABLE_STATUS_CODES = [404, 500];\nconst clientAddressSymbol = Symbol.for(\"astro.clientAddress\");\nconst clientLocalsSymbol = Symbol.for(\"astro.locals\");\nconst responseSentSymbol = Symbol.for(\"astro.responseSent\");\nconst SUPPORTED_MARKDOWN_FILE_EXTENSIONS = [\n \".markdown\",\n \".mdown\",\n \".mkdn\",\n \".mkd\",\n \".mdwn\",\n \".md\"\n];\nconst MIDDLEWARE_PATH_SEGMENT_NAME = \"middleware\";\nexport {\n ASTRO_VERSION,\n DEFAULT_404_COMPONENT,\n DEFAULT_500_COMPONENT,\n MIDDLEWARE_PATH_SEGMENT_NAME,\n REROUTABLE_STATUS_CODES,\n REROUTE_DIRECTIVE_HEADER,\n REWRITE_DIRECTIVE_HEADER_KEY,\n REWRITE_DIRECTIVE_HEADER_VALUE,\n ROUTE_TYPE_HEADER,\n SUPPORTED_MARKDOWN_FILE_EXTENSIONS,\n clientAddressSymbol,\n clientLocalsSymbol,\n responseSentSymbol\n};\n","import { ASTRO_VERSION } from \"../../core/constants.js\";\nimport { AstroError, AstroErrorData } from \"../../core/errors/index.js\";\nfunction createAstroGlobFn() {\n const globHandler = (importMetaGlobResult) => {\n if (typeof importMetaGlobResult === \"string\") {\n throw new AstroError({\n ...AstroErrorData.AstroGlobUsedOutside,\n message: AstroErrorData.AstroGlobUsedOutside.message(JSON.stringify(importMetaGlobResult))\n });\n }\n let allEntries = [...Object.values(importMetaGlobResult)];\n if (allEntries.length === 0) {\n throw new AstroError({\n ...AstroErrorData.AstroGlobNoMatch,\n message: AstroErrorData.AstroGlobNoMatch.message(JSON.stringify(importMetaGlobResult))\n });\n }\n return Promise.all(allEntries.map((fn) => fn()));\n };\n return globHandler;\n}\nfunction createAstro(site) {\n return {\n // TODO: this is no longer necessary for `Astro.site`\n // but it somehow allows working around caching issues in content collections for some tests\n site: site ? new URL(site) : void 0,\n generator: `Astro v${ASTRO_VERSION}`,\n glob: createAstroGlobFn()\n };\n}\nexport {\n createAstro\n};\n","function isPromise(value) {\n return !!value && typeof value === \"object\" && \"then\" in value && typeof value.then === \"function\";\n}\nasync function* streamAsyncIterator(stream) {\n const reader = stream.getReader();\n try {\n while (true) {\n const { done, value } = await reader.read();\n if (done) return;\n yield value;\n }\n } finally {\n reader.releaseLock();\n }\n}\nexport {\n isPromise,\n streamAsyncIterator\n};\n","import { escape } from \"html-escaper\";\nimport { streamAsyncIterator } from \"./util.js\";\nconst escapeHTML = escape;\nclass HTMLBytes extends Uint8Array {\n}\nObject.defineProperty(HTMLBytes.prototype, Symbol.toStringTag, {\n get() {\n return \"HTMLBytes\";\n }\n});\nclass HTMLString extends String {\n get [Symbol.toStringTag]() {\n return \"HTMLString\";\n }\n}\nconst markHTMLString = (value) => {\n if (value instanceof HTMLString) {\n return value;\n }\n if (typeof value === \"string\") {\n return new HTMLString(value);\n }\n return value;\n};\nfunction isHTMLString(value) {\n return Object.prototype.toString.call(value) === \"[object HTMLString]\";\n}\nfunction markHTMLBytes(bytes) {\n return new HTMLBytes(bytes);\n}\nfunction isHTMLBytes(value) {\n return Object.prototype.toString.call(value) === \"[object HTMLBytes]\";\n}\nfunction hasGetReader(obj) {\n return typeof obj.getReader === \"function\";\n}\nasync function* unescapeChunksAsync(iterable) {\n if (hasGetReader(iterable)) {\n for await (const chunk of streamAsyncIterator(iterable)) {\n yield unescapeHTML(chunk);\n }\n } else {\n for await (const chunk of iterable) {\n yield unescapeHTML(chunk);\n }\n }\n}\nfunction* unescapeChunks(iterable) {\n for (const chunk of iterable) {\n yield unescapeHTML(chunk);\n }\n}\nfunction unescapeHTML(str) {\n if (!!str && typeof str === \"object\") {\n if (str instanceof Uint8Array) {\n return markHTMLBytes(str);\n } else if (str instanceof Response && str.body) {\n const body = str.body;\n return unescapeChunksAsync(body);\n } else if (typeof str.then === \"function\") {\n return Promise.resolve(str).then((value) => {\n return unescapeHTML(value);\n });\n } else if (str[Symbol.for(\"astro:slot-string\")]) {\n return str;\n } else if (Symbol.iterator in str) {\n return unescapeChunks(str);\n } else if (Symbol.asyncIterator in str || hasGetReader(str)) {\n return unescapeChunksAsync(str);\n }\n }\n return markHTMLString(str);\n}\nexport {\n HTMLBytes,\n HTMLString,\n escapeHTML,\n isHTMLBytes,\n isHTMLString,\n markHTMLString,\n unescapeHTML\n};\n","const RenderInstructionSymbol = Symbol.for(\"astro:render\");\nfunction createRenderInstruction(instruction) {\n return Object.defineProperty(instruction, RenderInstructionSymbol, {\n value: true\n });\n}\nfunction isRenderInstruction(chunk) {\n return chunk && typeof chunk === \"object\" && chunk[RenderInstructionSymbol];\n}\nexport {\n createRenderInstruction,\n isRenderInstruction\n};\n","const PROP_TYPE = {\n Value: 0,\n JSON: 1,\n // Actually means Array\n RegExp: 2,\n Date: 3,\n Map: 4,\n Set: 5,\n BigInt: 6,\n URL: 7,\n Uint8Array: 8,\n Uint16Array: 9,\n Uint32Array: 10\n};\nfunction serializeArray(value, metadata = {}, parents = /* @__PURE__ */ new WeakSet()) {\n if (parents.has(value)) {\n throw new Error(`Cyclic reference detected while serializing props for <${metadata.displayName} client:${metadata.hydrate}>!\n\nCyclic references cannot be safely serialized for client-side usage. Please remove the cyclic reference.`);\n }\n parents.add(value);\n const serialized = value.map((v) => {\n return convertToSerializedForm(v, metadata, parents);\n });\n parents.delete(value);\n return serialized;\n}\nfunction serializeObject(value, metadata = {}, parents = /* @__PURE__ */ new WeakSet()) {\n if (parents.has(value)) {\n throw new Error(`Cyclic reference detected while serializing props for <${metadata.displayName} client:${metadata.hydrate}>!\n\nCyclic references cannot be safely serialized for client-side usage. Please remove the cyclic reference.`);\n }\n parents.add(value);\n const serialized = Object.fromEntries(\n Object.entries(value).map(([k, v]) => {\n return [k, convertToSerializedForm(v, metadata, parents)];\n })\n );\n parents.delete(value);\n return serialized;\n}\nfunction convertToSerializedForm(value, metadata = {}, parents = /* @__PURE__ */ new WeakSet()) {\n const tag = Object.prototype.toString.call(value);\n switch (tag) {\n case \"[object Date]\": {\n return [PROP_TYPE.Date, value.toISOString()];\n }\n case \"[object RegExp]\": {\n return [PROP_TYPE.RegExp, value.source];\n }\n case \"[object Map]\": {\n return [PROP_TYPE.Map, serializeArray(Array.from(value), metadata, parents)];\n }\n case \"[object Set]\": {\n return [PROP_TYPE.Set, serializeArray(Array.from(value), metadata, parents)];\n }\n case \"[object BigInt]\": {\n return [PROP_TYPE.BigInt, value.toString()];\n }\n case \"[object URL]\": {\n return [PROP_TYPE.URL, value.toString()];\n }\n case \"[object Array]\": {\n return [PROP_TYPE.JSON, serializeArray(value, metadata, parents)];\n }\n case \"[object Uint8Array]\": {\n return [PROP_TYPE.Uint8Array, Array.from(value)];\n }\n case \"[object Uint16Array]\": {\n return [PROP_TYPE.Uint16Array, Array.from(value)];\n }\n case \"[object Uint32Array]\": {\n return [PROP_TYPE.Uint32Array, Array.from(value)];\n }\n default: {\n if (value !== null && typeof value === \"object\") {\n return [PROP_TYPE.Value, serializeObject(value, metadata, parents)];\n } else if (value === void 0) {\n return [PROP_TYPE.Value];\n } else {\n return [PROP_TYPE.Value, value];\n }\n }\n }\n}\nfunction serializeProps(props, metadata) {\n const serialized = JSON.stringify(serializeObject(props, metadata));\n return serialized;\n}\nexport {\n serializeProps\n};\n","import { AstroError, AstroErrorData } from \"../../core/errors/index.js\";\nimport { escapeHTML } from \"./escape.js\";\nimport { serializeProps } from \"./serialize.js\";\nconst transitionDirectivesToCopyOnIsland = Object.freeze([\n \"data-astro-transition-scope\",\n \"data-astro-transition-persist\",\n \"data-astro-transition-persist-props\"\n]);\nfunction extractDirectives(inputProps, clientDirectives) {\n let extracted = {\n isPage: false,\n hydration: null,\n props: {},\n propsWithoutTransitionAttributes: {}\n };\n for (const [key, value] of Object.entries(inputProps)) {\n if (key.startsWith(\"server:\")) {\n if (key === \"server:root\") {\n extracted.isPage = true;\n }\n }\n if (key.startsWith(\"client:\")) {\n if (!extracted.hydration) {\n extracted.hydration = {\n directive: \"\",\n value: \"\",\n componentUrl: \"\",\n componentExport: { value: \"\" }\n };\n }\n switch (key) {\n case \"client:component-path\": {\n extracted.hydration.componentUrl = value;\n break;\n }\n case \"client:component-export\": {\n extracted.hydration.componentExport.value = value;\n break;\n }\n case \"client:component-hydration\": {\n break;\n }\n case \"client:display-name\": {\n break;\n }\n default: {\n extracted.hydration.directive = key.split(\":\")[1];\n extracted.hydration.value = value;\n if (!clientDirectives.has(extracted.hydration.directive)) {\n const hydrationMethods = Array.from(clientDirectives.keys()).map((d) => `client:${d}`).join(\", \");\n throw new Error(\n `Error: invalid hydration directive \"${key}\". Supported hydration methods: ${hydrationMethods}`\n );\n }\n if (extracted.hydration.directive === \"media\" && typeof extracted.hydration.value !== \"string\") {\n throw new AstroError(AstroErrorData.MissingMediaQueryDirective);\n }\n break;\n }\n }\n } else {\n extracted.props[key] = value;\n if (!transitionDirectivesToCopyOnIsland.includes(key)) {\n extracted.propsWithoutTransitionAttributes[key] = value;\n }\n }\n }\n for (const sym of Object.getOwnPropertySymbols(inputProps)) {\n extracted.props[sym] = inputProps[sym];\n extracted.propsWithoutTransitionAttributes[sym] = inputProps[sym];\n }\n return extracted;\n}\nasync function generateHydrateScript(scriptOptions, metadata) {\n const { renderer, result, astroId, props, attrs } = scriptOptions;\n const { hydrate, componentUrl, componentExport } = metadata;\n if (!componentExport.value) {\n throw new AstroError({\n ...AstroErrorData.NoMatchingImport,\n message: AstroErrorData.NoMatchingImport.message(metadata.displayName)\n });\n }\n const island = {\n children: \"\",\n props: {\n // This is for HMR, probably can avoid it in prod\n uid: astroId\n }\n };\n if (attrs) {\n for (const [key, value] of Object.entries(attrs)) {\n island.props[key] = escapeHTML(value);\n }\n }\n island.props[\"component-url\"] = await result.resolve(decodeURI(componentUrl));\n if (renderer.clientEntrypoint) {\n island.props[\"component-export\"] = componentExport.value;\n island.props[\"renderer-url\"] = await result.resolve(decodeURI(renderer.clientEntrypoint));\n island.props[\"props\"] = escapeHTML(serializeProps(props, metadata));\n }\n island.props[\"ssr\"] = \"\";\n island.props[\"client\"] = hydrate;\n let beforeHydrationUrl = await result.resolve(\"astro:scripts/before-hydration.js\");\n if (beforeHydrationUrl.length) {\n island.props[\"before-hydration-url\"] = beforeHydrationUrl;\n }\n island.props[\"opts\"] = escapeHTML(\n JSON.stringify({\n name: metadata.displayName,\n value: metadata.hydrateArgs || \"\"\n })\n );\n transitionDirectivesToCopyOnIsland.forEach((name) => {\n if (typeof props[name] !== \"undefined\") {\n island.props[name] = props[name];\n }\n });\n return island;\n}\nexport {\n extractDirectives,\n generateHydrateScript\n};\n","/**\n * shortdash - https://github.com/bibig/node-shorthash\n *\n * @license\n *\n * (The MIT License)\n *\n * Copyright (c) 2013 Bibig \n *\n * Permission is hereby granted, free of charge, to any person\n * obtaining a copy of this software and associated documentation\n * files (the \"Software\"), to deal in the Software without\n * restriction, including without limitation the rights to use,\n * copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the\n * Software is furnished to do so, subject to the following\n * conditions:\n *\n * The above copyright notice and this permission notice shall be\n * included in all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\n * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES\n * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\n * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT\n * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,\n * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING\n * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR\n * OTHER DEALINGS IN THE SOFTWARE.\n */\nconst dictionary = \"0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXY\";\nconst binary = dictionary.length;\nfunction bitwise(str) {\n let hash = 0;\n if (str.length === 0) return hash;\n for (let i = 0; i < str.length; i++) {\n const ch = str.charCodeAt(i);\n hash = (hash << 5) - hash + ch;\n hash = hash & hash;\n }\n return hash;\n}\nfunction shorthash(text) {\n let num;\n let result = \"\";\n let integer = bitwise(text);\n const sign = integer < 0 ? \"Z\" : \"\";\n integer = Math.abs(integer);\n while (integer >= binary) {\n num = integer % binary;\n integer = Math.floor(integer / binary);\n result = dictionary[num] + result;\n }\n if (integer > 0) {\n result = dictionary[integer] + result;\n }\n return sign + result;\n}\nexport {\n shorthash\n};\n","function isAstroComponentFactory(obj) {\n return obj == null ? false : obj.isAstroComponentFactory === true;\n}\nfunction isAPropagatingComponent(result, factory) {\n let hint = factory.propagation || \"none\";\n if (factory.moduleId && result.componentMetadata.has(factory.moduleId) && hint === \"none\") {\n hint = result.componentMetadata.get(factory.moduleId).propagation;\n }\n return hint === \"in-tree\" || hint === \"self\";\n}\nexport {\n isAPropagatingComponent,\n isAstroComponentFactory\n};\n","const headAndContentSym = Symbol.for(\"astro.headAndContent\");\nfunction isHeadAndContent(obj) {\n return typeof obj === \"object\" && !!obj[headAndContentSym];\n}\nfunction createHeadAndContent(head, content) {\n return {\n [headAndContentSym]: true,\n head,\n content\n };\n}\nexport {\n createHeadAndContent,\n isHeadAndContent\n};\n","var astro_island_prebuilt_dev_default = `(()=>{var A=Object.defineProperty;var g=(i,o,a)=>o in i?A(i,o,{enumerable:!0,configurable:!0,writable:!0,value:a}):i[o]=a;var l=(i,o,a)=>g(i,typeof o!=\"symbol\"?o+\"\":o,a);{let i={0:t=>y(t),1:t=>a(t),2:t=>new RegExp(t),3:t=>new Date(t),4:t=>new Map(a(t)),5:t=>new Set(a(t)),6:t=>BigInt(t),7:t=>new URL(t),8:t=>new Uint8Array(t),9:t=>new Uint16Array(t),10:t=>new Uint32Array(t)},o=t=>{let[h,e]=t;return h in i?i[h](e):void 0},a=t=>t.map(o),y=t=>typeof t!=\"object\"||t===null?t:Object.fromEntries(Object.entries(t).map(([h,e])=>[h,o(e)]));class f extends HTMLElement{constructor(){super(...arguments);l(this,\"Component\");l(this,\"hydrator\");l(this,\"hydrate\",async()=>{var b;if(!this.hydrator||!this.isConnected)return;let e=(b=this.parentElement)==null?void 0:b.closest(\"astro-island[ssr]\");if(e){e.addEventListener(\"astro:hydrate\",this.hydrate,{once:!0});return}let c=this.querySelectorAll(\"astro-slot\"),n={},p=this.querySelectorAll(\"template[data-astro-template]\");for(let r of p){let s=r.closest(this.tagName);s!=null&&s.isSameNode(this)&&(n[r.getAttribute(\"data-astro-template\")||\"default\"]=r.innerHTML,r.remove())}for(let r of c){let s=r.closest(this.tagName);s!=null&&s.isSameNode(this)&&(n[r.getAttribute(\"name\")||\"default\"]=r.innerHTML)}let u;try{u=this.hasAttribute(\"props\")?y(JSON.parse(this.getAttribute(\"props\"))):{}}catch(r){let s=this.getAttribute(\"component-url\")||\"\",v=this.getAttribute(\"component-export\");throw v&&(s+=\\` (export \\${v})\\`),console.error(\\`[hydrate] Error parsing props for component \\${s}\\`,this.getAttribute(\"props\"),r),r}let d,m=this.hydrator(this);d=performance.now(),await m(this.Component,u,n,{client:this.getAttribute(\"client\")}),d&&this.setAttribute(\"client-render-time\",(performance.now()-d).toString()),this.removeAttribute(\"ssr\"),this.dispatchEvent(new CustomEvent(\"astro:hydrate\"))});l(this,\"unmount\",()=>{this.isConnected||this.dispatchEvent(new CustomEvent(\"astro:unmount\"))})}disconnectedCallback(){document.removeEventListener(\"astro:after-swap\",this.unmount),document.addEventListener(\"astro:after-swap\",this.unmount,{once:!0})}connectedCallback(){if(!this.hasAttribute(\"await-children\")||document.readyState===\"interactive\"||document.readyState===\"complete\")this.childrenConnectedCallback();else{let e=()=>{document.removeEventListener(\"DOMContentLoaded\",e),c.disconnect(),this.childrenConnectedCallback()},c=new MutationObserver(()=>{var n;((n=this.lastChild)==null?void 0:n.nodeType)===Node.COMMENT_NODE&&this.lastChild.nodeValue===\"astro:end\"&&(this.lastChild.remove(),e())});c.observe(this,{childList:!0}),document.addEventListener(\"DOMContentLoaded\",e)}}async childrenConnectedCallback(){let e=this.getAttribute(\"before-hydration-url\");e&&await import(e),this.start()}async start(){let e=JSON.parse(this.getAttribute(\"opts\")),c=this.getAttribute(\"client\");if(Astro[c]===void 0){window.addEventListener(\\`astro:\\${c}\\`,()=>this.start(),{once:!0});return}try{await Astro[c](async()=>{let n=this.getAttribute(\"renderer-url\"),[p,{default:u}]=await Promise.all([import(this.getAttribute(\"component-url\")),n?import(n):()=>()=>{}]),d=this.getAttribute(\"component-export\")||\"default\";if(!d.includes(\".\"))this.Component=p[d];else{this.Component=p;for(let m of d.split(\".\"))this.Component=this.Component[m]}return this.hydrator=u,this.hydrate},e,this)}catch(n){console.error(\\`[astro-island] Error hydrating \\${this.getAttribute(\"component-url\")}\\`,n)}}attributeChangedCallback(){this.hydrate()}}l(f,\"observedAttributes\",[\"props\"]),customElements.get(\"astro-island\")||customElements.define(\"astro-island\",f)}})();`;\nexport {\n astro_island_prebuilt_dev_default as default\n};\n","var astro_island_prebuilt_default = `(()=>{var A=Object.defineProperty;var g=(i,o,a)=>o in i?A(i,o,{enumerable:!0,configurable:!0,writable:!0,value:a}):i[o]=a;var d=(i,o,a)=>g(i,typeof o!=\"symbol\"?o+\"\":o,a);{let i={0:t=>m(t),1:t=>a(t),2:t=>new RegExp(t),3:t=>new Date(t),4:t=>new Map(a(t)),5:t=>new Set(a(t)),6:t=>BigInt(t),7:t=>new URL(t),8:t=>new Uint8Array(t),9:t=>new Uint16Array(t),10:t=>new Uint32Array(t)},o=t=>{let[l,e]=t;return l in i?i[l](e):void 0},a=t=>t.map(o),m=t=>typeof t!=\"object\"||t===null?t:Object.fromEntries(Object.entries(t).map(([l,e])=>[l,o(e)]));class y extends HTMLElement{constructor(){super(...arguments);d(this,\"Component\");d(this,\"hydrator\");d(this,\"hydrate\",async()=>{var b;if(!this.hydrator||!this.isConnected)return;let e=(b=this.parentElement)==null?void 0:b.closest(\"astro-island[ssr]\");if(e){e.addEventListener(\"astro:hydrate\",this.hydrate,{once:!0});return}let c=this.querySelectorAll(\"astro-slot\"),n={},h=this.querySelectorAll(\"template[data-astro-template]\");for(let r of h){let s=r.closest(this.tagName);s!=null&&s.isSameNode(this)&&(n[r.getAttribute(\"data-astro-template\")||\"default\"]=r.innerHTML,r.remove())}for(let r of c){let s=r.closest(this.tagName);s!=null&&s.isSameNode(this)&&(n[r.getAttribute(\"name\")||\"default\"]=r.innerHTML)}let p;try{p=this.hasAttribute(\"props\")?m(JSON.parse(this.getAttribute(\"props\"))):{}}catch(r){let s=this.getAttribute(\"component-url\")||\"\",v=this.getAttribute(\"component-export\");throw v&&(s+=\\` (export \\${v})\\`),console.error(\\`[hydrate] Error parsing props for component \\${s}\\`,this.getAttribute(\"props\"),r),r}let u;await this.hydrator(this)(this.Component,p,n,{client:this.getAttribute(\"client\")}),this.removeAttribute(\"ssr\"),this.dispatchEvent(new CustomEvent(\"astro:hydrate\"))});d(this,\"unmount\",()=>{this.isConnected||this.dispatchEvent(new CustomEvent(\"astro:unmount\"))})}disconnectedCallback(){document.removeEventListener(\"astro:after-swap\",this.unmount),document.addEventListener(\"astro:after-swap\",this.unmount,{once:!0})}connectedCallback(){if(!this.hasAttribute(\"await-children\")||document.readyState===\"interactive\"||document.readyState===\"complete\")this.childrenConnectedCallback();else{let e=()=>{document.removeEventListener(\"DOMContentLoaded\",e),c.disconnect(),this.childrenConnectedCallback()},c=new MutationObserver(()=>{var n;((n=this.lastChild)==null?void 0:n.nodeType)===Node.COMMENT_NODE&&this.lastChild.nodeValue===\"astro:end\"&&(this.lastChild.remove(),e())});c.observe(this,{childList:!0}),document.addEventListener(\"DOMContentLoaded\",e)}}async childrenConnectedCallback(){let e=this.getAttribute(\"before-hydration-url\");e&&await import(e),this.start()}async start(){let e=JSON.parse(this.getAttribute(\"opts\")),c=this.getAttribute(\"client\");if(Astro[c]===void 0){window.addEventListener(\\`astro:\\${c}\\`,()=>this.start(),{once:!0});return}try{await Astro[c](async()=>{let n=this.getAttribute(\"renderer-url\"),[h,{default:p}]=await Promise.all([import(this.getAttribute(\"component-url\")),n?import(n):()=>()=>{}]),u=this.getAttribute(\"component-export\")||\"default\";if(!u.includes(\".\"))this.Component=h[u];else{this.Component=h;for(let f of u.split(\".\"))this.Component=this.Component[f]}return this.hydrator=p,this.hydrate},e,this)}catch(n){console.error(\\`[astro-island] Error hydrating \\${this.getAttribute(\"component-url\")}\\`,n)}}attributeChangedCallback(){this.hydrate()}}d(y,\"observedAttributes\",[\"props\"]),customElements.get(\"astro-island\")||customElements.define(\"astro-island\",y)}})();`;\nexport {\n astro_island_prebuilt_default as default\n};\n","import islandScriptDev from \"./astro-island.prebuilt-dev.js\";\nimport islandScript from \"./astro-island.prebuilt.js\";\nconst ISLAND_STYLES = ``;\nfunction determineIfNeedsHydrationScript(result) {\n if (result._metadata.hasHydrationScript) {\n return false;\n }\n return result._metadata.hasHydrationScript = true;\n}\nfunction determinesIfNeedsDirectiveScript(result, directive) {\n if (result._metadata.hasDirectives.has(directive)) {\n return false;\n }\n result._metadata.hasDirectives.add(directive);\n return true;\n}\nfunction getDirectiveScriptText(result, directive) {\n const clientDirectives = result.clientDirectives;\n const clientDirective = clientDirectives.get(directive);\n if (!clientDirective) {\n throw new Error(`Unknown directive: ${directive}`);\n }\n return clientDirective;\n}\nfunction getPrescripts(result, type, directive) {\n switch (type) {\n case \"both\":\n return `${ISLAND_STYLES}`;\n case \"directive\":\n return ``;\n case null:\n break;\n }\n return \"\";\n}\nexport {\n determineIfNeedsHydrationScript,\n determinesIfNeedsDirectiveScript,\n getPrescripts\n};\n","import { clsx } from \"clsx\";\nimport { HTMLString, markHTMLString } from \"../escape.js\";\nconst voidElementNames = /^(area|base|br|col|command|embed|hr|img|input|keygen|link|meta|param|source|track|wbr)$/i;\nconst htmlBooleanAttributes = /^(?:allowfullscreen|async|autofocus|autoplay|controls|default|defer|disabled|disablepictureinpicture|disableremoteplayback|formnovalidate|hidden|loop|nomodule|novalidate|open|playsinline|readonly|required|reversed|scoped|seamless|itemscope)$/i;\nconst htmlEnumAttributes = /^(?:contenteditable|draggable|spellcheck|value)$/i;\nconst svgEnumAttributes = /^(?:autoReverse|externalResourcesRequired|focusable|preserveAlpha)$/i;\nconst AMPERSAND_REGEX = /&/g;\nconst DOUBLE_QUOTE_REGEX = /\"/g;\nconst STATIC_DIRECTIVES = /* @__PURE__ */ new Set([\"set:html\", \"set:text\"]);\nconst toIdent = (k) => k.trim().replace(/(?!^)\\b\\w|\\s+|\\W+/g, (match, index) => {\n if (/\\W/.test(match)) return \"\";\n return index === 0 ? match : match.toUpperCase();\n});\nconst toAttributeString = (value, shouldEscape = true) => shouldEscape ? String(value).replace(AMPERSAND_REGEX, \"&\").replace(DOUBLE_QUOTE_REGEX, \""\") : value;\nconst kebab = (k) => k.toLowerCase() === k ? k : k.replace(/[A-Z]/g, (match) => `-${match.toLowerCase()}`);\nconst toStyleString = (obj) => Object.entries(obj).filter(([_, v]) => typeof v === \"string\" && v.trim() || typeof v === \"number\").map(([k, v]) => {\n if (k[0] !== \"-\" && k[1] !== \"-\") return `${kebab(k)}:${v}`;\n return `${k}:${v}`;\n}).join(\";\");\nfunction defineScriptVars(vars) {\n let output = \"\";\n for (const [key, value] of Object.entries(vars)) {\n output += `const ${toIdent(key)} = ${JSON.stringify(value)?.replace(\n /<\\/script>/g,\n \"\\\\x3C/script>\"\n )};\n`;\n }\n return markHTMLString(output);\n}\nfunction formatList(values) {\n if (values.length === 1) {\n return values[0];\n }\n return `${values.slice(0, -1).join(\", \")} or ${values[values.length - 1]}`;\n}\nfunction addAttribute(value, key, shouldEscape = true) {\n if (value == null) {\n return \"\";\n }\n if (value === false) {\n if (htmlEnumAttributes.test(key) || svgEnumAttributes.test(key)) {\n return markHTMLString(` ${key}=\"false\"`);\n }\n return \"\";\n }\n if (STATIC_DIRECTIVES.has(key)) {\n console.warn(`[astro] The \"${key}\" directive cannot be applied dynamically at runtime. It will not be rendered as an attribute.\n\nMake sure to use the static attribute syntax (\\`${key}={value}\\`) instead of the dynamic spread syntax (\\`{...{ \"${key}\": value }}\\`).`);\n return \"\";\n }\n if (key === \"class:list\") {\n const listValue = toAttributeString(clsx(value), shouldEscape);\n if (listValue === \"\") {\n return \"\";\n }\n return markHTMLString(` ${key.slice(0, -5)}=\"${listValue}\"`);\n }\n if (key === \"style\" && !(value instanceof HTMLString)) {\n if (Array.isArray(value) && value.length === 2) {\n return markHTMLString(\n ` ${key}=\"${toAttributeString(`${toStyleString(value[0])};${value[1]}`, shouldEscape)}\"`\n );\n }\n if (typeof value === \"object\") {\n return markHTMLString(` ${key}=\"${toAttributeString(toStyleString(value), shouldEscape)}\"`);\n }\n }\n if (key === \"className\") {\n return markHTMLString(` class=\"${toAttributeString(value, shouldEscape)}\"`);\n }\n if (typeof value === \"string\" && value.includes(\"&\") && isHttpUrl(value)) {\n return markHTMLString(` ${key}=\"${toAttributeString(value, false)}\"`);\n }\n if (value === true && (key.startsWith(\"data-\") || htmlBooleanAttributes.test(key))) {\n return markHTMLString(` ${key}`);\n } else {\n return markHTMLString(` ${key}=\"${toAttributeString(value, shouldEscape)}\"`);\n }\n}\nfunction internalSpreadAttributes(values, shouldEscape = true) {\n let output = \"\";\n for (const [key, value] of Object.entries(values)) {\n output += addAttribute(value, key, shouldEscape);\n }\n return markHTMLString(output);\n}\nfunction renderElement(name, { props: _props, children = \"\" }, shouldEscape = true) {\n const { lang: _, \"data-astro-id\": astroId, \"define:vars\": defineVars, ...props } = _props;\n if (defineVars) {\n if (name === \"style\") {\n delete props[\"is:global\"];\n delete props[\"is:scoped\"];\n }\n if (name === \"script\") {\n delete props.hoist;\n children = defineScriptVars(defineVars) + \"\\n\" + children;\n }\n }\n if ((children == null || children == \"\") && voidElementNames.test(name)) {\n return `<${name}${internalSpreadAttributes(props, shouldEscape)}>`;\n }\n return `<${name}${internalSpreadAttributes(props, shouldEscape)}>${children}`;\n}\nconst noop = () => {\n};\nclass BufferedRenderer {\n chunks = [];\n renderPromise;\n destination;\n constructor(bufferRenderFunction) {\n this.renderPromise = bufferRenderFunction(this);\n Promise.resolve(this.renderPromise).catch(noop);\n }\n write(chunk) {\n if (this.destination) {\n this.destination.write(chunk);\n } else {\n this.chunks.push(chunk);\n }\n }\n async renderToFinalDestination(destination) {\n for (const chunk of this.chunks) {\n destination.write(chunk);\n }\n this.destination = destination;\n await this.renderPromise;\n }\n}\nfunction renderToBufferDestination(bufferRenderFunction) {\n const renderer = new BufferedRenderer(bufferRenderFunction);\n return renderer;\n}\nconst isNode = typeof process !== \"undefined\" && Object.prototype.toString.call(process) === \"[object process]\";\nconst isDeno = typeof Deno !== \"undefined\";\nfunction promiseWithResolvers() {\n let resolve, reject;\n const promise = new Promise((_resolve, _reject) => {\n resolve = _resolve;\n reject = _reject;\n });\n return {\n promise,\n resolve,\n reject\n };\n}\nconst VALID_PROTOCOLS = [\"http:\", \"https:\"];\nfunction isHttpUrl(url) {\n try {\n const parsedUrl = new URL(url);\n return VALID_PROTOCOLS.includes(parsedUrl.protocol);\n } catch {\n return false;\n }\n}\nexport {\n addAttribute,\n defineScriptVars,\n formatList,\n internalSpreadAttributes,\n isDeno,\n isNode,\n promiseWithResolvers,\n renderElement,\n renderToBufferDestination,\n toAttributeString,\n voidElementNames\n};\n","import { markHTMLString } from \"../escape.js\";\nimport { createRenderInstruction } from \"./instruction.js\";\nimport { renderElement } from \"./util.js\";\nconst uniqueElements = (item, index, all) => {\n const props = JSON.stringify(item.props);\n const children = item.children;\n return index === all.findIndex((i) => JSON.stringify(i.props) === props && i.children == children);\n};\nfunction renderAllHeadContent(result) {\n result._metadata.hasRenderedHead = true;\n const styles = Array.from(result.styles).filter(uniqueElements).map(\n (style) => style.props.rel === \"stylesheet\" ? renderElement(\"link\", style) : renderElement(\"style\", style)\n );\n result.styles.clear();\n const scripts = Array.from(result.scripts).filter(uniqueElements).map((script) => {\n return renderElement(\"script\", script, false);\n });\n const links = Array.from(result.links).filter(uniqueElements).map((link) => renderElement(\"link\", link, false));\n let content = styles.join(\"\\n\") + links.join(\"\\n\") + scripts.join(\"\\n\");\n if (result._metadata.extraHead.length > 0) {\n for (const part of result._metadata.extraHead) {\n content += part;\n }\n }\n return markHTMLString(content);\n}\nfunction renderHead() {\n return createRenderInstruction({ type: \"head\" });\n}\nfunction maybeRenderHead() {\n return createRenderInstruction({ type: \"maybe-head\" });\n}\nexport {\n maybeRenderHead,\n renderAllHeadContent,\n renderHead\n};\n","import { markHTMLString } from \"../../escape.js\";\nimport { isPromise } from \"../../util.js\";\nimport { renderChild } from \"../any.js\";\nimport { renderToBufferDestination } from \"../util.js\";\nconst renderTemplateResultSym = Symbol.for(\"astro.renderTemplateResult\");\nclass RenderTemplateResult {\n [renderTemplateResultSym] = true;\n htmlParts;\n expressions;\n error;\n constructor(htmlParts, expressions) {\n this.htmlParts = htmlParts;\n this.error = void 0;\n this.expressions = expressions.map((expression) => {\n if (isPromise(expression)) {\n return Promise.resolve(expression).catch((err) => {\n if (!this.error) {\n this.error = err;\n throw err;\n }\n });\n }\n return expression;\n });\n }\n async render(destination) {\n const expRenders = this.expressions.map((exp) => {\n return renderToBufferDestination((bufferDestination) => {\n if (exp || exp === 0) {\n return renderChild(bufferDestination, exp);\n }\n });\n });\n for (let i = 0; i < this.htmlParts.length; i++) {\n const html = this.htmlParts[i];\n const expRender = expRenders[i];\n destination.write(markHTMLString(html));\n if (expRender) {\n await expRender.renderToFinalDestination(destination);\n }\n }\n }\n}\nfunction isRenderTemplateResult(obj) {\n return typeof obj === \"object\" && !!obj[renderTemplateResultSym];\n}\nfunction renderTemplate(htmlParts, ...expressions) {\n return new RenderTemplateResult(htmlParts, expressions);\n}\nexport {\n RenderTemplateResult,\n isRenderTemplateResult,\n renderTemplate\n};\n","import { renderTemplate } from \"./astro/render-template.js\";\nimport { HTMLString, markHTMLString, unescapeHTML } from \"../escape.js\";\nimport { renderChild } from \"./any.js\";\nimport { chunkToString } from \"./common.js\";\nconst slotString = Symbol.for(\"astro:slot-string\");\nclass SlotString extends HTMLString {\n instructions;\n [slotString];\n constructor(content, instructions) {\n super(content);\n this.instructions = instructions;\n this[slotString] = true;\n }\n}\nfunction isSlotString(str) {\n return !!str[slotString];\n}\nfunction renderSlot(result, slotted, fallback) {\n if (!slotted && fallback) {\n return renderSlot(result, fallback);\n }\n return {\n async render(destination) {\n await renderChild(destination, typeof slotted === \"function\" ? slotted(result) : slotted);\n }\n };\n}\nasync function renderSlotToString(result, slotted, fallback) {\n let content = \"\";\n let instructions = null;\n const temporaryDestination = {\n write(chunk) {\n if (chunk instanceof SlotString) {\n content += chunk;\n if (chunk.instructions) {\n instructions ??= [];\n instructions.push(...chunk.instructions);\n }\n } else if (chunk instanceof Response) return;\n else if (typeof chunk === \"object\" && \"type\" in chunk && typeof chunk.type === \"string\") {\n if (instructions === null) {\n instructions = [];\n }\n instructions.push(chunk);\n } else {\n content += chunkToString(result, chunk);\n }\n }\n };\n const renderInstance = renderSlot(result, slotted, fallback);\n await renderInstance.render(temporaryDestination);\n return markHTMLString(new SlotString(content, instructions));\n}\nasync function renderSlots(result, slots = {}) {\n let slotInstructions = null;\n let children = {};\n if (slots) {\n await Promise.all(\n Object.entries(slots).map(\n ([key, value]) => renderSlotToString(result, value).then((output) => {\n if (output.instructions) {\n if (slotInstructions === null) {\n slotInstructions = [];\n }\n slotInstructions.push(...output.instructions);\n }\n children[key] = output;\n })\n )\n );\n }\n return { slotInstructions, children };\n}\nfunction createSlotValueFromString(content) {\n return function() {\n return renderTemplate`${unescapeHTML(content)}`;\n };\n}\nexport {\n SlotString,\n createSlotValueFromString,\n isSlotString,\n renderSlot,\n renderSlotToString,\n renderSlots\n};\n","import { markHTMLString } from \"../escape.js\";\nimport {\n determineIfNeedsHydrationScript,\n determinesIfNeedsDirectiveScript,\n getPrescripts\n} from \"../scripts.js\";\nimport { renderAllHeadContent } from \"./head.js\";\nimport { isRenderInstruction } from \"./instruction.js\";\nimport { isSlotString } from \"./slot.js\";\nconst Fragment = Symbol.for(\"astro:fragment\");\nconst Renderer = Symbol.for(\"astro:renderer\");\nconst encoder = new TextEncoder();\nconst decoder = new TextDecoder();\nfunction stringifyChunk(result, chunk) {\n if (isRenderInstruction(chunk)) {\n const instruction = chunk;\n switch (instruction.type) {\n case \"directive\": {\n const { hydration } = instruction;\n let needsHydrationScript = hydration && determineIfNeedsHydrationScript(result);\n let needsDirectiveScript = hydration && determinesIfNeedsDirectiveScript(result, hydration.directive);\n let prescriptType = needsHydrationScript ? \"both\" : needsDirectiveScript ? \"directive\" : null;\n if (prescriptType) {\n let prescripts = getPrescripts(result, prescriptType, hydration.directive);\n return markHTMLString(prescripts);\n } else {\n return \"\";\n }\n }\n case \"head\": {\n if (result._metadata.hasRenderedHead || result.partial) {\n return \"\";\n }\n return renderAllHeadContent(result);\n }\n case \"maybe-head\": {\n if (result._metadata.hasRenderedHead || result._metadata.headInTree || result.partial) {\n return \"\";\n }\n return renderAllHeadContent(result);\n }\n case \"renderer-hydration-script\": {\n const { rendererSpecificHydrationScripts } = result._metadata;\n const { rendererName } = instruction;\n if (!rendererSpecificHydrationScripts.has(rendererName)) {\n rendererSpecificHydrationScripts.add(rendererName);\n return instruction.render();\n }\n return \"\";\n }\n default: {\n throw new Error(`Unknown chunk type: ${chunk.type}`);\n }\n }\n } else if (chunk instanceof Response) {\n return \"\";\n } else if (isSlotString(chunk)) {\n let out = \"\";\n const c = chunk;\n if (c.instructions) {\n for (const instr of c.instructions) {\n out += stringifyChunk(result, instr);\n }\n }\n out += chunk.toString();\n return out;\n }\n return chunk.toString();\n}\nfunction chunkToString(result, chunk) {\n if (ArrayBuffer.isView(chunk)) {\n return decoder.decode(chunk);\n } else {\n return stringifyChunk(result, chunk);\n }\n}\nfunction chunkToByteArray(result, chunk) {\n if (ArrayBuffer.isView(chunk)) {\n return chunk;\n } else {\n const stringified = stringifyChunk(result, chunk);\n return encoder.encode(stringified.toString());\n }\n}\nfunction isRenderInstance(obj) {\n return !!obj && typeof obj === \"object\" && \"render\" in obj && typeof obj.render === \"function\";\n}\nexport {\n Fragment,\n Renderer,\n chunkToByteArray,\n chunkToString,\n decoder,\n encoder,\n isRenderInstance\n};\n","import { escapeHTML, isHTMLString, markHTMLString } from \"../escape.js\";\nimport { isPromise } from \"../util.js\";\nimport { isAstroComponentInstance, isRenderTemplateResult } from \"./astro/index.js\";\nimport { isRenderInstance } from \"./common.js\";\nimport { SlotString } from \"./slot.js\";\nimport { renderToBufferDestination } from \"./util.js\";\nasync function renderChild(destination, child) {\n if (isPromise(child)) {\n child = await child;\n }\n if (child instanceof SlotString) {\n destination.write(child);\n } else if (isHTMLString(child)) {\n destination.write(child);\n } else if (Array.isArray(child)) {\n const childRenders = child.map((c) => {\n return renderToBufferDestination((bufferDestination) => {\n return renderChild(bufferDestination, c);\n });\n });\n for (const childRender of childRenders) {\n if (!childRender) continue;\n await childRender.renderToFinalDestination(destination);\n }\n } else if (typeof child === \"function\") {\n await renderChild(destination, child());\n } else if (typeof child === \"string\") {\n destination.write(markHTMLString(escapeHTML(child)));\n } else if (!child && child !== 0) {\n } else if (isRenderInstance(child)) {\n await child.render(destination);\n } else if (isRenderTemplateResult(child)) {\n await child.render(destination);\n } else if (isAstroComponentInstance(child)) {\n await child.render(destination);\n } else if (ArrayBuffer.isView(child)) {\n destination.write(child);\n } else if (typeof child === \"object\" && (Symbol.asyncIterator in child || Symbol.iterator in child)) {\n for await (const value of child) {\n await renderChild(destination, value);\n }\n } else {\n destination.write(child);\n }\n}\nexport {\n renderChild\n};\n","import { isPromise } from \"../../util.js\";\nimport { renderChild } from \"../any.js\";\nimport { isAPropagatingComponent } from \"./factory.js\";\nimport { isHeadAndContent } from \"./head-and-content.js\";\nconst astroComponentInstanceSym = Symbol.for(\"astro.componentInstance\");\nclass AstroComponentInstance {\n [astroComponentInstanceSym] = true;\n result;\n props;\n slotValues;\n factory;\n returnValue;\n constructor(result, props, slots, factory) {\n this.result = result;\n this.props = props;\n this.factory = factory;\n this.slotValues = {};\n for (const name in slots) {\n let didRender = false;\n let value = slots[name](result);\n this.slotValues[name] = () => {\n if (!didRender) {\n didRender = true;\n return value;\n }\n return slots[name](result);\n };\n }\n }\n async init(result) {\n if (this.returnValue !== void 0) return this.returnValue;\n this.returnValue = this.factory(result, this.props, this.slotValues);\n if (isPromise(this.returnValue)) {\n this.returnValue.then((resolved) => {\n this.returnValue = resolved;\n }).catch(() => {\n });\n }\n return this.returnValue;\n }\n async render(destination) {\n const returnValue = await this.init(this.result);\n if (isHeadAndContent(returnValue)) {\n await returnValue.content.render(destination);\n } else {\n await renderChild(destination, returnValue);\n }\n }\n}\nfunction validateComponentProps(props, displayName) {\n if (props != null) {\n for (const prop of Object.keys(props)) {\n if (prop.startsWith(\"client:\")) {\n console.warn(\n `You are attempting to render <${displayName} ${prop} />, but ${displayName} is an Astro component. Astro components do not render in the client and should not have a hydration directive. Please use a framework component for client rendering.`\n );\n }\n }\n }\n}\nfunction createAstroComponentInstance(result, displayName, factory, props, slots = {}) {\n validateComponentProps(props, displayName);\n const instance = new AstroComponentInstance(result, props, slots, factory);\n if (isAPropagatingComponent(result, factory)) {\n result._metadata.propagators.add(instance);\n }\n return instance;\n}\nfunction isAstroComponentInstance(obj) {\n return typeof obj === \"object\" && !!obj[astroComponentInstanceSym];\n}\nexport {\n AstroComponentInstance,\n createAstroComponentInstance,\n isAstroComponentInstance\n};\n","import { markHTMLString } from \"../escape.js\";\nimport { renderSlotToString } from \"./slot.js\";\nimport { toAttributeString } from \"./util.js\";\nfunction componentIsHTMLElement(Component) {\n return typeof HTMLElement !== \"undefined\" && HTMLElement.isPrototypeOf(Component);\n}\nasync function renderHTMLElement(result, constructor, props, slots) {\n const name = getHTMLElementName(constructor);\n let attrHTML = \"\";\n for (const attr in props) {\n attrHTML += ` ${attr}=\"${toAttributeString(await props[attr])}\"`;\n }\n return markHTMLString(\n `<${name}${attrHTML}>${await renderSlotToString(result, slots?.default)}`\n );\n}\nfunction getHTMLElementName(constructor) {\n const definedName = customElements.getName(constructor);\n if (definedName) return definedName;\n const assignedName = constructor.name.replace(/^HTML|Element$/g, \"\").replace(/[A-Z]/g, \"-$&\").toLowerCase().replace(/^-/, \"html-\");\n return assignedName;\n}\nexport {\n componentIsHTMLElement,\n renderHTMLElement\n};\n","import { decodeBase64, decodeHex, encodeBase64, encodeHexUpperCase } from \"@oslojs/encoding\";\nconst ALGORITHM = \"AES-GCM\";\nasync function createKey() {\n const key = await crypto.subtle.generateKey(\n {\n name: ALGORITHM,\n length: 256\n },\n true,\n [\"encrypt\", \"decrypt\"]\n );\n return key;\n}\nasync function importKey(bytes) {\n const key = await crypto.subtle.importKey(\"raw\", bytes, ALGORITHM, true, [\"encrypt\", \"decrypt\"]);\n return key;\n}\nasync function encodeKey(key) {\n const exported = await crypto.subtle.exportKey(\"raw\", key);\n const encodedKey = encodeBase64(new Uint8Array(exported));\n return encodedKey;\n}\nasync function decodeKey(encoded) {\n const bytes = decodeBase64(encoded);\n return crypto.subtle.importKey(\"raw\", bytes, ALGORITHM, true, [\"encrypt\", \"decrypt\"]);\n}\nconst encoder = new TextEncoder();\nconst decoder = new TextDecoder();\nconst IV_LENGTH = 24;\nasync function encryptString(key, raw) {\n const iv = crypto.getRandomValues(new Uint8Array(IV_LENGTH / 2));\n const data = encoder.encode(raw);\n const buffer = await crypto.subtle.encrypt(\n {\n name: ALGORITHM,\n iv\n },\n key,\n data\n );\n return encodeHexUpperCase(iv) + encodeBase64(new Uint8Array(buffer));\n}\nasync function decryptString(key, encoded) {\n const iv = decodeHex(encoded.slice(0, IV_LENGTH));\n const dataArray = decodeBase64(encoded.slice(IV_LENGTH));\n const decryptedBuffer = await crypto.subtle.decrypt(\n {\n name: ALGORITHM,\n iv\n },\n key,\n dataArray\n );\n const decryptedString = decoder.decode(decryptedBuffer);\n return decryptedString;\n}\nexport {\n createKey,\n decodeKey,\n decryptString,\n encodeKey,\n encryptString,\n importKey\n};\n","import { encryptString } from \"../../../core/encryption.js\";\nimport { renderChild } from \"./any.js\";\nimport { renderSlotToString } from \"./slot.js\";\nconst internalProps = /* @__PURE__ */ new Set([\n \"server:component-path\",\n \"server:component-export\",\n \"server:component-directive\",\n \"server:defer\"\n]);\nfunction containsServerDirective(props) {\n return \"server:component-directive\" in props;\n}\nfunction safeJsonStringify(obj) {\n return JSON.stringify(obj).replace(/\\u2028/g, \"\\\\u2028\").replace(/\\u2029/g, \"\\\\u2029\").replace(//g, \"\\\\u003e\").replace(/\\//g, \"\\\\u002f\");\n}\nfunction renderServerIsland(result, _displayName, props, slots) {\n return {\n async render(destination) {\n const componentPath = props[\"server:component-path\"];\n const componentExport = props[\"server:component-export\"];\n const componentId = result.serverIslandNameMap.get(componentPath);\n if (!componentId) {\n throw new Error(`Could not find server component name`);\n }\n for (const key2 of Object.keys(props)) {\n if (internalProps.has(key2)) {\n delete props[key2];\n }\n }\n destination.write(\"\");\n const renderedSlots = {};\n for (const name in slots) {\n if (name !== \"fallback\") {\n const content = await renderSlotToString(result, slots[name]);\n renderedSlots[name] = content.toString();\n } else {\n await renderChild(destination, slots.fallback(result));\n }\n }\n const key = await result.key;\n const propsEncrypted = await encryptString(key, JSON.stringify(props));\n const hostId = crypto.randomUUID();\n const slash = result.base.endsWith(\"/\") ? \"\" : \"/\";\n const serverIslandUrl = `${result.base}${slash}_server-islands/${componentId}${result.trailingSlash === \"always\" ? \"/\" : \"\"}`;\n destination.write(``);\n }\n };\n}\nexport {\n containsServerDirective,\n renderServerIsland\n};\n","import { createRenderInstruction } from \"./instruction.js\";\nimport { clsx } from \"clsx\";\nimport { AstroError, AstroErrorData } from \"../../../core/errors/index.js\";\nimport { markHTMLString } from \"../escape.js\";\nimport { extractDirectives, generateHydrateScript } from \"../hydration.js\";\nimport { serializeProps } from \"../serialize.js\";\nimport { shorthash } from \"../shorthash.js\";\nimport { isPromise } from \"../util.js\";\nimport { isAstroComponentFactory } from \"./astro/factory.js\";\nimport { renderTemplate } from \"./astro/index.js\";\nimport { createAstroComponentInstance } from \"./astro/instance.js\";\nimport {\n Fragment,\n Renderer,\n chunkToString\n} from \"./common.js\";\nimport { componentIsHTMLElement, renderHTMLElement } from \"./dom.js\";\nimport { maybeRenderHead } from \"./head.js\";\nimport { containsServerDirective, renderServerIsland } from \"./server-islands.js\";\nimport { renderSlotToString, renderSlots } from \"./slot.js\";\nimport { formatList, internalSpreadAttributes, renderElement, voidElementNames } from \"./util.js\";\nconst needsHeadRenderingSymbol = Symbol.for(\"astro.needsHeadRendering\");\nconst rendererAliases = /* @__PURE__ */ new Map([[\"solid\", \"solid-js\"]]);\nconst clientOnlyValues = /* @__PURE__ */ new Set([\"solid-js\", \"react\", \"preact\", \"vue\", \"svelte\", \"lit\"]);\nfunction guessRenderers(componentUrl) {\n const extname = componentUrl?.split(\".\").pop();\n switch (extname) {\n case \"svelte\":\n return [\"@astrojs/svelte\"];\n case \"vue\":\n return [\"@astrojs/vue\"];\n case \"jsx\":\n case \"tsx\":\n return [\"@astrojs/react\", \"@astrojs/preact\", \"@astrojs/solid-js\", \"@astrojs/vue (jsx)\"];\n default:\n return [\n \"@astrojs/react\",\n \"@astrojs/preact\",\n \"@astrojs/solid-js\",\n \"@astrojs/vue\",\n \"@astrojs/svelte\",\n \"@astrojs/lit\"\n ];\n }\n}\nfunction isFragmentComponent(Component) {\n return Component === Fragment;\n}\nfunction isHTMLComponent(Component) {\n return Component && Component[\"astro:html\"] === true;\n}\nconst ASTRO_SLOT_EXP = /<\\/?astro-slot\\b[^>]*>/g;\nconst ASTRO_STATIC_SLOT_EXP = /<\\/?astro-static-slot\\b[^>]*>/g;\nfunction removeStaticAstroSlot(html, supportsAstroStaticSlot = true) {\n const exp = supportsAstroStaticSlot ? ASTRO_STATIC_SLOT_EXP : ASTRO_SLOT_EXP;\n return html.replace(exp, \"\");\n}\nasync function renderFrameworkComponent(result, displayName, Component, _props, slots = {}) {\n if (!Component && \"client:only\" in _props === false) {\n throw new Error(\n `Unable to render ${displayName} because it is ${Component}!\nDid you forget to import the component or is it possible there is a typo?`\n );\n }\n const { renderers, clientDirectives } = result;\n const metadata = {\n astroStaticSlot: true,\n displayName\n };\n const { hydration, isPage, props, propsWithoutTransitionAttributes } = extractDirectives(\n _props,\n clientDirectives\n );\n let html = \"\";\n let attrs = void 0;\n if (hydration) {\n metadata.hydrate = hydration.directive;\n metadata.hydrateArgs = hydration.value;\n metadata.componentExport = hydration.componentExport;\n metadata.componentUrl = hydration.componentUrl;\n }\n const probableRendererNames = guessRenderers(metadata.componentUrl);\n const validRenderers = renderers.filter((r) => r.name !== \"astro:jsx\");\n const { children, slotInstructions } = await renderSlots(result, slots);\n let renderer;\n if (metadata.hydrate !== \"only\") {\n let isTagged = false;\n try {\n isTagged = Component && Component[Renderer];\n } catch {\n }\n if (isTagged) {\n const rendererName = Component[Renderer];\n renderer = renderers.find(({ name }) => name === rendererName);\n }\n if (!renderer) {\n let error;\n for (const r of renderers) {\n try {\n if (await r.ssr.check.call({ result }, Component, props, children)) {\n renderer = r;\n break;\n }\n } catch (e) {\n error ??= e;\n }\n }\n if (!renderer && error) {\n throw error;\n }\n }\n if (!renderer && typeof HTMLElement === \"function\" && componentIsHTMLElement(Component)) {\n const output = await renderHTMLElement(\n result,\n Component,\n _props,\n slots\n );\n return {\n render(destination) {\n destination.write(output);\n }\n };\n }\n } else {\n if (metadata.hydrateArgs) {\n const rendererName = rendererAliases.has(metadata.hydrateArgs) ? rendererAliases.get(metadata.hydrateArgs) : metadata.hydrateArgs;\n if (clientOnlyValues.has(rendererName)) {\n renderer = renderers.find(\n ({ name }) => name === `@astrojs/${rendererName}` || name === rendererName\n );\n }\n }\n if (!renderer && validRenderers.length === 1) {\n renderer = validRenderers[0];\n }\n if (!renderer) {\n const extname = metadata.componentUrl?.split(\".\").pop();\n renderer = renderers.find(({ name }) => name === `@astrojs/${extname}` || name === extname);\n }\n }\n let componentServerRenderEndTime;\n if (!renderer) {\n if (metadata.hydrate === \"only\") {\n const rendererName = rendererAliases.has(metadata.hydrateArgs) ? rendererAliases.get(metadata.hydrateArgs) : metadata.hydrateArgs;\n if (clientOnlyValues.has(rendererName)) {\n const plural = validRenderers.length > 1;\n throw new AstroError({\n ...AstroErrorData.NoMatchingRenderer,\n message: AstroErrorData.NoMatchingRenderer.message(\n metadata.displayName,\n metadata?.componentUrl?.split(\".\").pop(),\n plural,\n validRenderers.length\n ),\n hint: AstroErrorData.NoMatchingRenderer.hint(\n formatList(probableRendererNames.map((r) => \"`\" + r + \"`\"))\n )\n });\n } else {\n throw new AstroError({\n ...AstroErrorData.NoClientOnlyHint,\n message: AstroErrorData.NoClientOnlyHint.message(metadata.displayName),\n hint: AstroErrorData.NoClientOnlyHint.hint(\n probableRendererNames.map((r) => r.replace(\"@astrojs/\", \"\")).join(\"|\")\n )\n });\n }\n } else if (typeof Component !== \"string\") {\n const matchingRenderers = validRenderers.filter(\n (r) => probableRendererNames.includes(r.name)\n );\n const plural = validRenderers.length > 1;\n if (matchingRenderers.length === 0) {\n throw new AstroError({\n ...AstroErrorData.NoMatchingRenderer,\n message: AstroErrorData.NoMatchingRenderer.message(\n metadata.displayName,\n metadata?.componentUrl?.split(\".\").pop(),\n plural,\n validRenderers.length\n ),\n hint: AstroErrorData.NoMatchingRenderer.hint(\n formatList(probableRendererNames.map((r) => \"`\" + r + \"`\"))\n )\n });\n } else if (matchingRenderers.length === 1) {\n renderer = matchingRenderers[0];\n ({ html, attrs } = await renderer.ssr.renderToStaticMarkup.call(\n { result },\n Component,\n propsWithoutTransitionAttributes,\n children,\n metadata\n ));\n } else {\n throw new Error(`Unable to render ${metadata.displayName}!\n\nThis component likely uses ${formatList(probableRendererNames)},\nbut Astro encountered an error during server-side rendering.\n\nPlease ensure that ${metadata.displayName}:\n1. Does not unconditionally access browser-specific globals like \\`window\\` or \\`document\\`.\n If this is unavoidable, use the \\`client:only\\` hydration directive.\n2. Does not conditionally return \\`null\\` or \\`undefined\\` when rendered on the server.\n\nIf you're still stuck, please open an issue on GitHub or join us at https://astro.build/chat.`);\n }\n }\n } else {\n if (metadata.hydrate === \"only\") {\n const rendererName = rendererAliases.has(metadata.hydrateArgs) ? rendererAliases.get(metadata.hydrateArgs) : metadata.hydrateArgs;\n if (!clientOnlyValues.has(rendererName)) {\n console.warn(\n `The client:only directive for ${metadata.displayName} is not recognized. The renderer ${renderer.name} will be used. If you intended to use a different renderer, please provide a valid client:only directive.`\n );\n }\n html = await renderSlotToString(result, slots?.fallback);\n } else {\n const componentRenderStartTime = performance.now();\n ({ html, attrs } = await renderer.ssr.renderToStaticMarkup.call(\n { result },\n Component,\n propsWithoutTransitionAttributes,\n children,\n metadata\n ));\n if (process.env.NODE_ENV === \"development\")\n componentServerRenderEndTime = performance.now() - componentRenderStartTime;\n }\n }\n if (renderer && !renderer.clientEntrypoint && renderer.name !== \"@astrojs/lit\" && metadata.hydrate) {\n throw new AstroError({\n ...AstroErrorData.NoClientEntrypoint,\n message: AstroErrorData.NoClientEntrypoint.message(\n displayName,\n metadata.hydrate,\n renderer.name\n )\n });\n }\n if (!html && typeof Component === \"string\") {\n const Tag = sanitizeElementName(Component);\n const childSlots = Object.values(children).join(\"\");\n const renderTemplateResult = renderTemplate`<${Tag}${internalSpreadAttributes(\n props\n )}${markHTMLString(\n childSlots === \"\" && voidElementNames.test(Tag) ? `/>` : `>${childSlots}`\n )}`;\n html = \"\";\n const destination = {\n write(chunk) {\n if (chunk instanceof Response) return;\n html += chunkToString(result, chunk);\n }\n };\n await renderTemplateResult.render(destination);\n }\n if (!hydration) {\n return {\n render(destination) {\n if (slotInstructions) {\n for (const instruction of slotInstructions) {\n destination.write(instruction);\n }\n }\n if (isPage || renderer?.name === \"astro:jsx\") {\n destination.write(html);\n } else if (html && html.length > 0) {\n destination.write(\n markHTMLString(removeStaticAstroSlot(html, renderer?.ssr?.supportsAstroStaticSlot))\n );\n }\n }\n };\n }\n const astroId = shorthash(\n `\n${html}\n${serializeProps(\n props,\n metadata\n )}`\n );\n const island = await generateHydrateScript(\n { renderer, result, astroId, props, attrs },\n metadata\n );\n if (componentServerRenderEndTime && process.env.NODE_ENV === \"development\")\n island.props[\"server-render-time\"] = componentServerRenderEndTime;\n let unrenderedSlots = [];\n if (html) {\n if (Object.keys(children).length > 0) {\n for (const key of Object.keys(children)) {\n let tagName = renderer?.ssr?.supportsAstroStaticSlot ? !!metadata.hydrate ? \"astro-slot\" : \"astro-static-slot\" : \"astro-slot\";\n let expectedHTML = key === \"default\" ? `<${tagName}>` : `<${tagName} name=\"${key}\">`;\n if (!html.includes(expectedHTML)) {\n unrenderedSlots.push(key);\n }\n }\n }\n } else {\n unrenderedSlots = Object.keys(children);\n }\n const template = unrenderedSlots.length > 0 ? unrenderedSlots.map(\n (key) => ``\n ).join(\"\") : \"\";\n island.children = `${html ?? \"\"}${template}`;\n if (island.children) {\n island.props[\"await-children\"] = \"\";\n island.children += ``;\n }\n return {\n render(destination) {\n if (slotInstructions) {\n for (const instruction of slotInstructions) {\n destination.write(instruction);\n }\n }\n destination.write(createRenderInstruction({ type: \"directive\", hydration }));\n if (hydration.directive !== \"only\" && renderer?.ssr.renderHydrationScript) {\n destination.write(\n createRenderInstruction({\n type: \"renderer-hydration-script\",\n rendererName: renderer.name,\n render: renderer.ssr.renderHydrationScript\n })\n );\n }\n const renderedElement = renderElement(\"astro-island\", island, false);\n destination.write(markHTMLString(renderedElement));\n }\n };\n}\nfunction sanitizeElementName(tag) {\n const unsafe = /[&<>'\"\\s]+/;\n if (!unsafe.test(tag)) return tag;\n return tag.trim().split(unsafe)[0].trim();\n}\nasync function renderFragmentComponent(result, slots = {}) {\n const children = await renderSlotToString(result, slots?.default);\n return {\n render(destination) {\n if (children == null) return;\n destination.write(children);\n }\n };\n}\nasync function renderHTMLComponent(result, Component, _props, slots = {}) {\n const { slotInstructions, children } = await renderSlots(result, slots);\n const html = Component({ slots: children });\n const hydrationHtml = slotInstructions ? slotInstructions.map((instr) => chunkToString(result, instr)).join(\"\") : \"\";\n return {\n render(destination) {\n destination.write(markHTMLString(hydrationHtml + html));\n }\n };\n}\nfunction renderAstroComponent(result, displayName, Component, props, slots = {}) {\n if (containsServerDirective(props)) {\n return renderServerIsland(result, displayName, props, slots);\n }\n const instance = createAstroComponentInstance(result, displayName, Component, props, slots);\n return {\n async render(destination) {\n await instance.render(destination);\n }\n };\n}\nasync function renderComponent(result, displayName, Component, props, slots = {}) {\n if (isPromise(Component)) {\n Component = await Component.catch(handleCancellation);\n }\n if (isFragmentComponent(Component)) {\n return await renderFragmentComponent(result, slots).catch(handleCancellation);\n }\n props = normalizeProps(props);\n if (isHTMLComponent(Component)) {\n return await renderHTMLComponent(result, Component, props, slots).catch(handleCancellation);\n }\n if (isAstroComponentFactory(Component)) {\n return renderAstroComponent(result, displayName, Component, props, slots);\n }\n return await renderFrameworkComponent(result, displayName, Component, props, slots).catch(\n handleCancellation\n );\n function handleCancellation(e) {\n if (result.cancelled)\n return {\n render() {\n }\n };\n throw e;\n }\n}\nfunction normalizeProps(props) {\n if (props[\"class:list\"] !== void 0) {\n const value = props[\"class:list\"];\n delete props[\"class:list\"];\n props[\"class\"] = clsx(props[\"class\"], value);\n if (props[\"class\"] === \"\") {\n delete props[\"class\"];\n }\n }\n return props;\n}\nasync function renderComponentToString(result, displayName, Component, props, slots = {}, isPage = false, route) {\n let str = \"\";\n let renderedFirstPageChunk = false;\n let head = \"\";\n if (isPage && !result.partial && nonAstroPageNeedsHeadInjection(Component)) {\n head += chunkToString(result, maybeRenderHead());\n }\n try {\n const destination = {\n write(chunk) {\n if (isPage && !result.partial && !renderedFirstPageChunk) {\n renderedFirstPageChunk = true;\n if (!/\" : \"\\n\";\n str += doctype + head;\n }\n }\n if (chunk instanceof Response) return;\n str += chunkToString(result, chunk);\n }\n };\n const renderInstance = await renderComponent(result, displayName, Component, props, slots);\n await renderInstance.render(destination);\n } catch (e) {\n if (AstroError.is(e) && !e.loc) {\n e.setLocation({\n file: route?.component\n });\n }\n throw e;\n }\n return str;\n}\nfunction nonAstroPageNeedsHeadInjection(pageComponent) {\n return !!pageComponent?.[needsHeadRenderingSymbol];\n}\nexport {\n renderComponent,\n renderComponentToString\n};\n","import { markHTMLString } from \"../escape.js\";\nasync function renderScript(result, id) {\n if (result._metadata.renderedScripts.has(id)) return;\n result._metadata.renderedScripts.add(id);\n const inlined = result.inlinedScripts.get(id);\n if (inlined != null) {\n if (inlined) {\n return markHTMLString(``);\n } else {\n return \"\";\n }\n }\n const resolved = await result.resolve(id);\n return markHTMLString(``);\n}\nexport {\n renderScript\n};\n","import cssesc from \"cssesc\";\nimport { fade, slide } from \"../../transitions/index.js\";\nimport { markHTMLString } from \"./escape.js\";\nconst transitionNameMap = /* @__PURE__ */ new WeakMap();\nfunction incrementTransitionNumber(result) {\n let num = 1;\n if (transitionNameMap.has(result)) {\n num = transitionNameMap.get(result) + 1;\n }\n transitionNameMap.set(result, num);\n return num;\n}\nfunction createTransitionScope(result, hash) {\n const num = incrementTransitionNumber(result);\n return `astro-${hash}-${num}`;\n}\nconst getAnimations = (name) => {\n if (name === \"fade\") return fade();\n if (name === \"slide\") return slide();\n if (typeof name === \"object\") return name;\n};\nconst addPairs = (animations, stylesheet) => {\n for (const [direction, images] of Object.entries(animations)) {\n for (const [image, rules] of Object.entries(images)) {\n stylesheet.addAnimationPair(direction, image, rules);\n }\n }\n};\nconst reEncodeValidChars = \"0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ-_\".split(\"\").reduce((v, c) => (v[c.charCodeAt(0)] = c, v), []);\nconst reEncodeInValidStart = \"-0123456789_\".split(\"\").reduce((v, c) => (v[c.charCodeAt(0)] = c, v), []);\nfunction reEncode(s) {\n let result = \"\";\n let codepoint;\n for (let i = 0; i < s.length; i += (codepoint ?? 0) > 65535 ? 2 : 1) {\n codepoint = s.codePointAt(i);\n if (codepoint !== void 0) {\n result += codepoint < 128 ? codepoint === 95 ? \"__\" : reEncodeValidChars[codepoint] ?? \"_\" + codepoint.toString(16).padStart(2, \"0\") : String.fromCodePoint(codepoint);\n }\n }\n return reEncodeInValidStart[result.codePointAt(0) ?? 0] ? \"_\" + result : result;\n}\nfunction renderTransition(result, hash, animationName, transitionName) {\n if (typeof (transitionName ?? \"\") !== \"string\") {\n throw new Error(`Invalid transition name {${transitionName}}`);\n }\n if (!animationName) animationName = \"fade\";\n const scope = createTransitionScope(result, hash);\n const name = transitionName ? cssesc(reEncode(transitionName), { isIdentifier: true }) : scope;\n const sheet = new ViewTransitionStyleSheet(scope, name);\n const animations = getAnimations(animationName);\n if (animations) {\n addPairs(animations, sheet);\n } else if (animationName === \"none\") {\n sheet.addFallback(\"old\", \"animation: none; mix-blend-mode: normal;\");\n sheet.addModern(\"old\", \"animation: none; opacity: 0; mix-blend-mode: normal;\");\n sheet.addAnimationRaw(\"new\", \"animation: none; mix-blend-mode: normal;\");\n sheet.addModern(\"group\", \"animation: none\");\n }\n result._metadata.extraHead.push(markHTMLString(``));\n return scope;\n}\nfunction createAnimationScope(transitionName, animations) {\n const hash = Math.random().toString(36).slice(2, 8);\n const scope = `astro-${hash}`;\n const sheet = new ViewTransitionStyleSheet(scope, transitionName);\n addPairs(animations, sheet);\n return { scope, styles: sheet.toString().replaceAll('\"', \"\") };\n}\nclass ViewTransitionStyleSheet {\n constructor(scope, name) {\n this.scope = scope;\n this.name = name;\n }\n modern = [];\n fallback = [];\n toString() {\n const { scope, name } = this;\n const [modern, fallback] = [this.modern, this.fallback].map((rules) => rules.join(\"\"));\n return [\n `[data-astro-transition-scope=\"${scope}\"] { view-transition-name: ${name}; }`,\n this.layer(modern),\n fallback\n ].join(\"\");\n }\n layer(cssText) {\n return cssText ? `@layer astro { ${cssText} }` : \"\";\n }\n addRule(target, cssText) {\n this[target].push(cssText);\n }\n addAnimationRaw(image, animation) {\n this.addModern(image, animation);\n this.addFallback(image, animation);\n }\n addModern(image, animation) {\n const { name } = this;\n this.addRule(\"modern\", `::view-transition-${image}(${name}) { ${animation} }`);\n }\n addFallback(image, animation) {\n const { scope } = this;\n this.addRule(\n \"fallback\",\n // Two selectors here, the second in case there is an animation on the root.\n `[data-astro-transition-fallback=\"${image}\"] [data-astro-transition-scope=\"${scope}\"],\n\t\t\t[data-astro-transition-fallback=\"${image}\"][data-astro-transition-scope=\"${scope}\"] { ${animation} }`\n );\n }\n addAnimationPair(direction, image, rules) {\n const { scope, name } = this;\n const animation = stringifyAnimation(rules);\n const prefix = direction === \"backwards\" ? `[data-astro-transition=back]` : direction === \"forwards\" ? \"\" : `[data-astro-transition=${direction}]`;\n this.addRule(\"modern\", `${prefix}::view-transition-${image}(${name}) { ${animation} }`);\n this.addRule(\n \"fallback\",\n `${prefix}[data-astro-transition-fallback=\"${image}\"] [data-astro-transition-scope=\"${scope}\"],\n\t\t\t${prefix}[data-astro-transition-fallback=\"${image}\"][data-astro-transition-scope=\"${scope}\"] { ${animation} }`\n );\n }\n}\nfunction addAnimationProperty(builder, prop, value) {\n let arr = builder[prop];\n if (Array.isArray(arr)) {\n arr.push(value.toString());\n } else {\n builder[prop] = [value.toString()];\n }\n}\nfunction animationBuilder() {\n return {\n toString() {\n let out = \"\";\n for (let k in this) {\n let value = this[k];\n if (Array.isArray(value)) {\n out += `\n\t${k}: ${value.join(\", \")};`;\n }\n }\n return out;\n }\n };\n}\nfunction stringifyAnimation(anim) {\n if (Array.isArray(anim)) {\n return stringifyAnimations(anim);\n } else {\n return stringifyAnimations([anim]);\n }\n}\nfunction stringifyAnimations(anims) {\n const builder = animationBuilder();\n for (const anim of anims) {\n if (anim.duration) {\n addAnimationProperty(builder, \"animation-duration\", toTimeValue(anim.duration));\n }\n if (anim.easing) {\n addAnimationProperty(builder, \"animation-timing-function\", anim.easing);\n }\n if (anim.direction) {\n addAnimationProperty(builder, \"animation-direction\", anim.direction);\n }\n if (anim.delay) {\n addAnimationProperty(builder, \"animation-delay\", anim.delay);\n }\n if (anim.fillMode) {\n addAnimationProperty(builder, \"animation-fill-mode\", anim.fillMode);\n }\n addAnimationProperty(builder, \"animation-name\", anim.name);\n }\n return builder.toString();\n}\nfunction toTimeValue(num) {\n return typeof num === \"number\" ? num + \"ms\" : num;\n}\nexport {\n createAnimationScope,\n createTransitionScope,\n renderTransition\n};\n","import { createComponent } from \"./astro-component.js\";\nimport { createAstro } from \"./astro-global.js\";\nimport { renderEndpoint } from \"./endpoint.js\";\nimport {\n escapeHTML,\n HTMLBytes,\n HTMLString,\n isHTMLString,\n markHTMLString,\n unescapeHTML\n} from \"./escape.js\";\nimport { renderJSX } from \"./jsx.js\";\nimport {\n addAttribute,\n createHeadAndContent,\n defineScriptVars,\n Fragment,\n maybeRenderHead,\n renderTemplate,\n renderComponent,\n Renderer,\n renderHead,\n renderHTMLElement,\n renderPage,\n renderScript,\n renderScriptElement,\n renderSlot,\n renderSlotToString,\n renderTemplate as renderTemplate2,\n renderToString,\n renderUniqueStylesheet,\n voidElementNames\n} from \"./render/index.js\";\nimport { createTransitionScope, renderTransition } from \"./transition.js\";\nimport { markHTMLString as markHTMLString2 } from \"./escape.js\";\nimport { Renderer as Renderer2, addAttribute as addAttribute2 } from \"./render/index.js\";\nfunction mergeSlots(...slotted) {\n const slots = {};\n for (const slot of slotted) {\n if (!slot) continue;\n if (typeof slot === \"object\") {\n Object.assign(slots, slot);\n } else if (typeof slot === \"function\") {\n Object.assign(slots, mergeSlots(slot()));\n }\n }\n return slots;\n}\nfunction __astro_tag_component__(Component, rendererName) {\n if (!Component) return;\n if (typeof Component !== \"function\") return;\n Object.defineProperty(Component, Renderer2, {\n value: rendererName,\n enumerable: false,\n writable: false\n });\n}\nfunction spreadAttributes(values = {}, _name, { class: scopedClassName } = {}) {\n let output = \"\";\n if (scopedClassName) {\n if (typeof values.class !== \"undefined\") {\n values.class += ` ${scopedClassName}`;\n } else if (typeof values[\"class:list\"] !== \"undefined\") {\n values[\"class:list\"] = [values[\"class:list\"], scopedClassName];\n } else {\n values.class = scopedClassName;\n }\n }\n for (const [key, value] of Object.entries(values)) {\n output += addAttribute2(value, key, true);\n }\n return markHTMLString2(output);\n}\nfunction defineStyleVars(defs) {\n let output = \"\";\n let arr = !Array.isArray(defs) ? [defs] : defs;\n for (const vars of arr) {\n for (const [key, value] of Object.entries(vars)) {\n if (value || value === 0) {\n output += `--${key}: ${value};`;\n }\n }\n }\n return markHTMLString2(output);\n}\nexport {\n Fragment,\n HTMLBytes,\n HTMLString,\n Renderer,\n __astro_tag_component__,\n addAttribute,\n createAstro,\n createComponent,\n createHeadAndContent,\n createTransitionScope,\n defineScriptVars,\n defineStyleVars,\n escapeHTML,\n isHTMLString,\n markHTMLString,\n maybeRenderHead,\n mergeSlots,\n renderTemplate as render,\n renderComponent,\n renderEndpoint,\n renderHTMLElement,\n renderHead,\n renderJSX,\n renderPage,\n renderScript,\n renderScriptElement,\n renderSlot,\n renderSlotToString,\n renderTemplate2 as renderTemplate,\n renderToString,\n renderTransition,\n renderUniqueStylesheet,\n spreadAttributes,\n unescapeHTML,\n voidElementNames\n};\n"],"names":["AstroErrorData.InvalidComponentArgs","AstroErrorData.AstroGlobUsedOutside","AstroErrorData.AstroGlobNoMatch","AstroErrorData.MissingMediaQueryDirective","AstroErrorData.NoMatchingImport","islandScriptDev","islandScript","AstroErrorData.NoMatchingRenderer","AstroErrorData.NoClientOnlyHint","AstroErrorData.NoClientEntrypoint","addAttribute2","markHTMLString2"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31]} \ No newline at end of file +{"version":3,"file":"server_C68CUl7v.mjs","sources":["../../../../../../../node_modules/astro/dist/core/errors/errors-data.js","../../../../../../../node_modules/astro/dist/core/errors/utils.js","../../../../../../../node_modules/astro/dist/core/errors/printer.js","../../../../../../../node_modules/astro/dist/core/errors/errors.js","../../../../../../../node_modules/astro/dist/runtime/server/astro-component.js","../../../../../../../node_modules/astro/dist/core/constants.js","../../../../../../../node_modules/astro/dist/runtime/server/astro-global.js","../../../../../../../node_modules/astro/dist/runtime/server/util.js","../../../../../../../node_modules/astro/dist/runtime/server/escape.js","../../../../../../../node_modules/astro/dist/runtime/server/render/instruction.js","../../../../../../../node_modules/astro/dist/runtime/server/serialize.js","../../../../../../../node_modules/astro/dist/runtime/server/hydration.js","../../../../../../../node_modules/astro/dist/runtime/server/shorthash.js","../../../../../../../node_modules/astro/dist/runtime/server/render/astro/factory.js","../../../../../../../node_modules/astro/dist/runtime/server/render/astro/head-and-content.js","../../../../../../../node_modules/astro/dist/runtime/server/astro-island.prebuilt-dev.js","../../../../../../../node_modules/astro/dist/runtime/server/astro-island.prebuilt.js","../../../../../../../node_modules/astro/dist/runtime/server/scripts.js","../../../../../../../node_modules/astro/dist/runtime/server/render/util.js","../../../../../../../node_modules/astro/dist/runtime/server/render/head.js","../../../../../../../node_modules/astro/dist/runtime/server/render/astro/render-template.js","../../../../../../../node_modules/astro/dist/runtime/server/render/slot.js","../../../../../../../node_modules/astro/dist/runtime/server/render/common.js","../../../../../../../node_modules/astro/dist/runtime/server/render/any.js","../../../../../../../node_modules/astro/dist/runtime/server/render/astro/instance.js","../../../../../../../node_modules/astro/dist/runtime/server/render/dom.js","../../../../../../../node_modules/astro/dist/core/encryption.js","../../../../../../../node_modules/astro/dist/runtime/server/render/server-islands.js","../../../../../../../node_modules/astro/dist/runtime/server/render/component.js","../../../../../../../node_modules/astro/dist/runtime/server/render/script.js","../../../../../../../node_modules/astro/dist/runtime/server/transition.js","../../../../../../../node_modules/astro/dist/runtime/server/index.js"],"sourcesContent":["const UnknownCompilerError = {\n name: \"UnknownCompilerError\",\n title: \"Unknown compiler error.\",\n hint: \"This is almost always a problem with the Astro compiler, not your code. Please open an issue at https://astro.build/issues/compiler.\"\n};\nconst StaticRedirectNotAvailable = {\n name: \"StaticRedirectNotAvailable\",\n title: \"`Astro.redirect` is not available in static mode.\",\n message: \"Redirects are only available when using `output: 'server'` or `output: 'hybrid'`. Update your Astro config if you need SSR features.\",\n hint: \"See https://docs.astro.build/en/guides/server-side-rendering/ for more information on how to enable SSR.\"\n};\nconst ClientAddressNotAvailable = {\n name: \"ClientAddressNotAvailable\",\n title: \"`Astro.clientAddress` is not available in current adapter.\",\n message: (adapterName) => `\\`Astro.clientAddress\\` is not available in the \\`${adapterName}\\` adapter. File an issue with the adapter to add support.`\n};\nconst PrerenderClientAddressNotAvailable = {\n name: \"PrerenderClientAddressNotAvailable\",\n title: \"`Astro.clientAddress` cannot be used inside prerendered routes.\",\n message: `\\`Astro.clientAddress\\` cannot be used inside prerendered routes`\n};\nconst StaticClientAddressNotAvailable = {\n name: \"StaticClientAddressNotAvailable\",\n title: \"`Astro.clientAddress` is not available in static mode.\",\n message: \"`Astro.clientAddress` is only available when using `output: 'server'` or `output: 'hybrid'`. Update your Astro config if you need SSR features.\",\n hint: \"See https://docs.astro.build/en/guides/server-side-rendering/ for more information on how to enable SSR.\"\n};\nconst NoMatchingStaticPathFound = {\n name: \"NoMatchingStaticPathFound\",\n title: \"No static path found for requested path.\",\n message: (pathName) => `A \\`getStaticPaths()\\` route pattern was matched, but no matching static path was found for requested path \\`${pathName}\\`.`,\n hint: (possibleRoutes) => `Possible dynamic routes being matched: ${possibleRoutes.join(\", \")}.`\n};\nconst OnlyResponseCanBeReturned = {\n name: \"OnlyResponseCanBeReturned\",\n title: \"Invalid type returned by Astro page.\",\n message: (route, returnedValue) => `Route \\`${route ? route : \"\"}\\` returned a \\`${returnedValue}\\`. Only a [Response](https://developer.mozilla.org/en-US/docs/Web/API/Response) can be returned from Astro files.`,\n hint: \"See https://docs.astro.build/en/guides/server-side-rendering/#response for more information.\"\n};\nconst MissingMediaQueryDirective = {\n name: \"MissingMediaQueryDirective\",\n title: \"Missing value for `client:media` directive.\",\n message: 'Media query not provided for `client:media` directive. A media query similar to `client:media=\"(max-width: 600px)\"` must be provided'\n};\nconst NoMatchingRenderer = {\n name: \"NoMatchingRenderer\",\n title: \"No matching renderer found.\",\n message: (componentName, componentExtension, plural, validRenderersCount) => `Unable to render \\`${componentName}\\`.\n\n${validRenderersCount > 0 ? `There ${plural ? \"are\" : \"is\"} ${validRenderersCount} renderer${plural ? \"s\" : \"\"} configured in your \\`astro.config.mjs\\` file,\nbut ${plural ? \"none were\" : \"it was not\"} able to server-side render \\`${componentName}\\`.` : `No valid renderer was found ${componentExtension ? `for the \\`.${componentExtension}\\` file extension.` : `for this file extension.`}`}`,\n hint: (probableRenderers) => `Did you mean to enable the ${probableRenderers} integration?\n\nSee https://docs.astro.build/en/guides/framework-components/ for more information on how to install and configure integrations.`\n};\nconst NoClientEntrypoint = {\n name: \"NoClientEntrypoint\",\n title: \"No client entrypoint specified in renderer.\",\n message: (componentName, clientDirective, rendererName) => `\\`${componentName}\\` component has a \\`client:${clientDirective}\\` directive, but no client entrypoint was provided by \\`${rendererName}\\`.`,\n hint: \"See https://docs.astro.build/en/reference/integrations-reference/#addrenderer-option for more information on how to configure your renderer.\"\n};\nconst NoClientOnlyHint = {\n name: \"NoClientOnlyHint\",\n title: \"Missing hint on client:only directive.\",\n message: (componentName) => `Unable to render \\`${componentName}\\`. When using the \\`client:only\\` hydration strategy, Astro needs a hint to use the correct renderer.`,\n hint: (probableRenderers) => `Did you mean to pass \\`client:only=\"${probableRenderers}\"\\`? See https://docs.astro.build/en/reference/directives-reference/#clientonly for more information on client:only`\n};\nconst InvalidGetStaticPathParam = {\n name: \"InvalidGetStaticPathParam\",\n title: \"Invalid value returned by a `getStaticPaths` path.\",\n message: (paramType) => `Invalid params given to \\`getStaticPaths\\` path. Expected an \\`object\\`, got \\`${paramType}\\``,\n hint: \"See https://docs.astro.build/en/reference/api-reference/#getstaticpaths for more information on getStaticPaths.\"\n};\nconst InvalidGetStaticPathsEntry = {\n name: \"InvalidGetStaticPathsEntry\",\n title: \"Invalid entry inside getStaticPath's return value\",\n message: (entryType) => `Invalid entry returned by getStaticPaths. Expected an object, got \\`${entryType}\\``,\n hint: \"If you're using a `.map` call, you might be looking for `.flatMap()` instead. See https://docs.astro.build/en/reference/api-reference/#getstaticpaths for more information on getStaticPaths.\"\n};\nconst InvalidGetStaticPathsReturn = {\n name: \"InvalidGetStaticPathsReturn\",\n title: \"Invalid value returned by getStaticPaths.\",\n message: (returnType) => `Invalid type returned by \\`getStaticPaths\\`. Expected an \\`array\\`, got \\`${returnType}\\``,\n hint: \"See https://docs.astro.build/en/reference/api-reference/#getstaticpaths for more information on getStaticPaths.\"\n};\nconst GetStaticPathsRemovedRSSHelper = {\n name: \"GetStaticPathsRemovedRSSHelper\",\n title: \"getStaticPaths RSS helper is not available anymore.\",\n message: \"The RSS helper has been removed from `getStaticPaths`. Try the new @astrojs/rss package instead.\",\n hint: \"See https://docs.astro.build/en/guides/rss/ for more information.\"\n};\nconst GetStaticPathsExpectedParams = {\n name: \"GetStaticPathsExpectedParams\",\n title: \"Missing params property on `getStaticPaths` route.\",\n message: \"Missing or empty required `params` property on `getStaticPaths` route.\",\n hint: \"See https://docs.astro.build/en/reference/api-reference/#getstaticpaths for more information on getStaticPaths.\"\n};\nconst GetStaticPathsInvalidRouteParam = {\n name: \"GetStaticPathsInvalidRouteParam\",\n title: \"Invalid value for `getStaticPaths` route parameter.\",\n message: (key, value, valueType) => `Invalid getStaticPaths route parameter for \\`${key}\\`. Expected undefined, a string or a number, received \\`${valueType}\\` (\\`${value}\\`)`,\n hint: \"See https://docs.astro.build/en/reference/api-reference/#getstaticpaths for more information on getStaticPaths.\"\n};\nconst GetStaticPathsRequired = {\n name: \"GetStaticPathsRequired\",\n title: \"`getStaticPaths()` function required for dynamic routes.\",\n message: \"`getStaticPaths()` function is required for dynamic routes. Make sure that you `export` a `getStaticPaths` function from your dynamic route.\",\n hint: `See https://docs.astro.build/en/guides/routing/#dynamic-routes for more information on dynamic routes.\n\nAlternatively, set \\`output: \"server\"\\` or \\`output: \"hybrid\"\\` in your Astro config file to switch to a non-static server build. This error can also occur if using \\`export const prerender = true;\\`.\nSee https://docs.astro.build/en/guides/server-side-rendering/ for more information on non-static rendering.`\n};\nconst ReservedSlotName = {\n name: \"ReservedSlotName\",\n title: \"Invalid slot name.\",\n message: (slotName) => `Unable to create a slot named \\`${slotName}\\`. \\`${slotName}\\` is a reserved slot name. Please update the name of this slot.`\n};\nconst NoAdapterInstalled = {\n name: \"NoAdapterInstalled\",\n title: \"Cannot use Server-side Rendering without an adapter.\",\n message: `Cannot use \\`output: 'server'\\` or \\`output: 'hybrid'\\` without an adapter. Please install and configure the appropriate server adapter for your final deployment.`,\n hint: \"See https://docs.astro.build/en/guides/server-side-rendering/ for more information.\"\n};\nconst NoMatchingImport = {\n name: \"NoMatchingImport\",\n title: \"No import found for component.\",\n message: (componentName) => `Could not render \\`${componentName}\\`. No matching import has been found for \\`${componentName}\\`.`,\n hint: \"Please make sure the component is properly imported.\"\n};\nconst InvalidPrerenderExport = {\n name: \"InvalidPrerenderExport\",\n title: \"Invalid prerender export.\",\n message(prefix, suffix, isHydridOutput) {\n const defaultExpectedValue = isHydridOutput ? \"false\" : \"true\";\n let msg = `A \\`prerender\\` export has been detected, but its value cannot be statically analyzed.`;\n if (prefix !== \"const\") msg += `\nExpected \\`const\\` declaration but got \\`${prefix}\\`.`;\n if (suffix !== \"true\")\n msg += `\nExpected \\`${defaultExpectedValue}\\` value but got \\`${suffix}\\`.`;\n return msg;\n },\n hint: \"Mutable values declared at runtime are not supported. Please make sure to use exactly `export const prerender = true`.\"\n};\nconst InvalidComponentArgs = {\n name: \"InvalidComponentArgs\",\n title: \"Invalid component arguments.\",\n message: (name) => `Invalid arguments passed to${name ? ` <${name}>` : \"\"} component.`,\n hint: \"Astro components cannot be rendered directly via function call, such as `Component()` or `{items.map(Component)}`.\"\n};\nconst PageNumberParamNotFound = {\n name: \"PageNumberParamNotFound\",\n title: \"Page number param not found.\",\n message: (paramName) => `[paginate()] page number param \\`${paramName}\\` not found in your filepath.`,\n hint: \"Rename your file to `[page].astro` or `[...page].astro`.\"\n};\nconst ImageMissingAlt = {\n name: \"ImageMissingAlt\",\n title: 'Image missing required \"alt\" property.',\n message: 'Image missing \"alt\" property. \"alt\" text is required to describe important images on the page.',\n hint: 'Use an empty string (\"\") for decorative images.'\n};\nconst InvalidImageService = {\n name: \"InvalidImageService\",\n title: \"Error while loading image service.\",\n message: \"There was an error loading the configured image service. Please see the stack trace for more information.\"\n};\nconst MissingImageDimension = {\n name: \"MissingImageDimension\",\n title: \"Missing image dimensions\",\n message: (missingDimension, imageURL) => `Missing ${missingDimension === \"both\" ? \"width and height attributes\" : `${missingDimension} attribute`} for ${imageURL}. When using remote images, both dimensions are required unless in order to avoid CLS.`,\n hint: \"If your image is inside your `src` folder, you probably meant to import it instead. See [the Imports guide for more information](https://docs.astro.build/en/guides/imports/#other-assets). You can also use `inferSize={true}` for remote images to get the original dimensions.\"\n};\nconst FailedToFetchRemoteImageDimensions = {\n name: \"FailedToFetchRemoteImageDimensions\",\n title: \"Failed to retrieve remote image dimensions\",\n message: (imageURL) => `Failed to get the dimensions for ${imageURL}.`,\n hint: \"Verify your remote image URL is accurate, and that you are not using `inferSize` with a file located in your `public/` folder.\"\n};\nconst UnsupportedImageFormat = {\n name: \"UnsupportedImageFormat\",\n title: \"Unsupported image format\",\n message: (format, imagePath, supportedFormats) => `Received unsupported format \\`${format}\\` from \\`${imagePath}\\`. Currently only ${supportedFormats.join(\n \", \"\n )} are supported by our image services.`,\n hint: \"Using an `img` tag directly instead of the `Image` component might be what you're looking for.\"\n};\nconst UnsupportedImageConversion = {\n name: \"UnsupportedImageConversion\",\n title: \"Unsupported image conversion\",\n message: \"Converting between vector (such as SVGs) and raster (such as PNGs and JPEGs) images is not currently supported.\"\n};\nconst PrerenderDynamicEndpointPathCollide = {\n name: \"PrerenderDynamicEndpointPathCollide\",\n title: \"Prerendered dynamic endpoint has path collision.\",\n message: (pathname) => `Could not render \\`${pathname}\\` with an \\`undefined\\` param as the generated path will collide during prerendering. Prevent passing \\`undefined\\` as \\`params\\` for the endpoint's \\`getStaticPaths()\\` function, or add an additional extension to the endpoint's filename.`,\n hint: (filename) => `Rename \\`${filename}\\` to \\`${filename.replace(/\\.(?:js|ts)/, (m) => `.json` + m)}\\``\n};\nconst ExpectedImage = {\n name: \"ExpectedImage\",\n title: \"Expected src to be an image.\",\n message: (src, typeofOptions, fullOptions) => `Expected \\`src\\` property for \\`getImage\\` or \\`\\` to be either an ESM imported image or a string with the path of a remote image. Received \\`${src}\\` (type: \\`${typeofOptions}\\`).\n\nFull serialized options received: \\`${fullOptions}\\`.`,\n hint: \"This error can often happen because of a wrong path. Make sure the path to your image is correct. If you're passing an async function, make sure to call and await it.\"\n};\nconst ExpectedImageOptions = {\n name: \"ExpectedImageOptions\",\n title: \"Expected image options.\",\n message: (options) => `Expected getImage() parameter to be an object. Received \\`${options}\\`.`\n};\nconst ExpectedNotESMImage = {\n name: \"ExpectedNotESMImage\",\n title: \"Expected image options, not an ESM-imported image.\",\n message: \"An ESM-imported image cannot be passed directly to `getImage()`. Instead, pass an object with the image in the `src` property.\",\n hint: \"Try changing `getImage(myImage)` to `getImage({ src: myImage })`\"\n};\nconst IncompatibleDescriptorOptions = {\n name: \"IncompatibleDescriptorOptions\",\n title: \"Cannot set both `densities` and `widths`\",\n message: \"Only one of `densities` or `widths` can be specified. In most cases, you'll probably want to use only `widths` if you require specific widths.\",\n hint: \"Those attributes are used to construct a `srcset` attribute, which cannot have both `x` and `w` descriptors.\"\n};\nconst ImageNotFound = {\n name: \"ImageNotFound\",\n title: \"Image not found.\",\n message: (imagePath) => `Could not find requested image \\`${imagePath}\\`. Does it exist?`,\n hint: \"This is often caused by a typo in the image path. Please make sure the file exists, and is spelled correctly.\"\n};\nconst NoImageMetadata = {\n name: \"NoImageMetadata\",\n title: \"Could not process image metadata.\",\n message: (imagePath) => `Could not process image metadata${imagePath ? ` for \\`${imagePath}\\`` : \"\"}.`,\n hint: \"This is often caused by a corrupted or malformed image. Re-exporting the image from your image editor may fix this issue.\"\n};\nconst MarkdownImageNotFound = {\n name: \"MarkdownImageNotFound\",\n title: \"Image not found.\",\n message: (imagePath, fullImagePath) => `Could not find requested image \\`${imagePath}\\`${fullImagePath ? ` at \\`${fullImagePath}\\`.` : \".\"}`,\n hint: \"This is often caused by a typo in the image path. Please make sure the file exists, and is spelled correctly.\"\n};\nconst CouldNotTransformImage = {\n name: \"CouldNotTransformImage\",\n title: \"Could not transform image.\",\n message: (imagePath) => `Could not transform image \\`${imagePath}\\`. See the stack trace for more information.`,\n hint: \"This is often caused by a corrupted or malformed image. Re-exporting the image from your image editor may fix this issue.\"\n};\nconst ResponseSentError = {\n name: \"ResponseSentError\",\n title: \"Unable to set response.\",\n message: \"The response has already been sent to the browser and cannot be altered.\"\n};\nconst MiddlewareNoDataOrNextCalled = {\n name: \"MiddlewareNoDataOrNextCalled\",\n title: \"The middleware didn't return a `Response`.\",\n message: \"Make sure your middleware returns a `Response` object, either directly or by returning the `Response` from calling the `next` function.\"\n};\nconst MiddlewareNotAResponse = {\n name: \"MiddlewareNotAResponse\",\n title: \"The middleware returned something that is not a `Response` object.\",\n message: \"Any data returned from middleware must be a valid `Response` object.\"\n};\nconst EndpointDidNotReturnAResponse = {\n name: \"EndpointDidNotReturnAResponse\",\n title: \"The endpoint did not return a `Response`.\",\n message: \"An endpoint must return either a `Response`, or a `Promise` that resolves with a `Response`.\"\n};\nconst LocalsNotAnObject = {\n name: \"LocalsNotAnObject\",\n title: \"Value assigned to `locals` is not accepted.\",\n message: \"`locals` can only be assigned to an object. Other values like numbers, strings, etc. are not accepted.\",\n hint: \"If you tried to remove some information from the `locals` object, try to use `delete` or set the property to `undefined`.\"\n};\nconst AstroResponseHeadersReassigned = {\n name: \"AstroResponseHeadersReassigned\",\n title: \"`Astro.response.headers` must not be reassigned.\",\n message: \"Individual headers can be added to and removed from `Astro.response.headers`, but it must not be replaced with another instance of `Headers` altogether.\",\n hint: \"Consider using `Astro.response.headers.add()`, and `Astro.response.headers.delete()`.\"\n};\nconst MiddlewareCantBeLoaded = {\n name: \"MiddlewareCantBeLoaded\",\n title: \"Can't load the middleware.\",\n message: \"An unknown error was thrown while loading your middleware.\"\n};\nconst LocalImageUsedWrongly = {\n name: \"LocalImageUsedWrongly\",\n title: \"Local images must be imported.\",\n message: (imageFilePath) => `\\`Image\\`'s and \\`getImage\\`'s \\`src\\` parameter must be an imported image or an URL, it cannot be a string filepath. Received \\`${imageFilePath}\\`.`,\n hint: \"If you want to use an image from your `src` folder, you need to either import it or if the image is coming from a content collection, use the [image() schema helper](https://docs.astro.build/en/guides/images/#images-in-content-collections). See https://docs.astro.build/en/guides/images/#src-required for more information on the `src` property.\"\n};\nconst AstroGlobUsedOutside = {\n name: \"AstroGlobUsedOutside\",\n title: \"Astro.glob() used outside of an Astro file.\",\n message: (globStr) => `\\`Astro.glob(${globStr})\\` can only be used in \\`.astro\\` files. \\`import.meta.glob(${globStr})\\` can be used instead to achieve a similar result.`,\n hint: \"See Vite's documentation on `import.meta.glob` for more information: https://vitejs.dev/guide/features.html#glob-import\"\n};\nconst AstroGlobNoMatch = {\n name: \"AstroGlobNoMatch\",\n title: \"Astro.glob() did not match any files.\",\n message: (globStr) => `\\`Astro.glob(${globStr})\\` did not return any matching files.`,\n hint: \"Check the pattern for typos.\"\n};\nconst RedirectWithNoLocation = {\n name: \"RedirectWithNoLocation\",\n title: \"A redirect must be given a location with the `Location` header.\"\n};\nconst InvalidDynamicRoute = {\n name: \"InvalidDynamicRoute\",\n title: \"Invalid dynamic route.\",\n message: (route, invalidParam, received) => `The ${invalidParam} param for route ${route} is invalid. Received **${received}**.`\n};\nconst MissingSharp = {\n name: \"MissingSharp\",\n title: \"Could not find Sharp.\",\n message: \"Could not find Sharp. Please install Sharp (`sharp`) manually into your project or migrate to another image service.\",\n hint: \"See Sharp's installation instructions for more information: https://sharp.pixelplumbing.com/install. If you are not relying on `astro:assets` to optimize, transform, or process any images, you can configure a passthrough image service instead of installing Sharp. See https://docs.astro.build/en/reference/errors/missing-sharp for more information.\\n\\nSee https://docs.astro.build/en/guides/images/#default-image-service for more information on how to migrate to another image service.\"\n};\nconst UnknownViteError = {\n name: \"UnknownViteError\",\n title: \"Unknown Vite Error.\"\n};\nconst FailedToLoadModuleSSR = {\n name: \"FailedToLoadModuleSSR\",\n title: \"Could not import file.\",\n message: (importName) => `Could not import \\`${importName}\\`.`,\n hint: \"This is often caused by a typo in the import path. Please make sure the file exists.\"\n};\nconst InvalidGlob = {\n name: \"InvalidGlob\",\n title: \"Invalid glob pattern.\",\n message: (globPattern) => `Invalid glob pattern: \\`${globPattern}\\`. Glob patterns must start with './', '../' or '/'.`,\n hint: \"See https://docs.astro.build/en/guides/imports/#glob-patterns for more information on supported glob patterns.\"\n};\nconst FailedToFindPageMapSSR = {\n name: \"FailedToFindPageMapSSR\",\n title: \"Astro couldn't find the correct page to render\",\n message: \"Astro couldn't find the correct page to render, probably because it wasn't correctly mapped for SSR usage. This is an internal error. Please file an issue.\"\n};\nconst MissingLocale = {\n name: \"MissingLocaleError\",\n title: \"The provided locale does not exist.\",\n message: (locale) => `The locale/path \\`${locale}\\` does not exist in the configured \\`i18n.locales\\`.`\n};\nconst MissingIndexForInternationalization = {\n name: \"MissingIndexForInternationalizationError\",\n title: \"Index page not found.\",\n message: (defaultLocale) => `Could not find index page. A root index page is required in order to create a redirect to the index URL of the default locale. (\\`/${defaultLocale}\\`)`,\n hint: (src) => `Create an index page (\\`index.astro, index.md, etc.\\`) in \\`${src}\\`.`\n};\nconst IncorrectStrategyForI18n = {\n name: \"IncorrectStrategyForI18n\",\n title: \"You can't use the current function with the current strategy\",\n message: (functionName) => `The function \\`${functionName}\\` can only be used when the \\`i18n.routing.strategy\\` is set to \\`\"manual\"\\`.`\n};\nconst NoPrerenderedRoutesWithDomains = {\n name: \"NoPrerenderedRoutesWithDomains\",\n title: \"Prerendered routes aren't supported when internationalization domains are enabled.\",\n message: (component) => `Static pages aren't yet supported with multiple domains. To enable this feature, you must disable prerendering for the page ${component}`\n};\nconst MissingMiddlewareForInternationalization = {\n name: \"MissingMiddlewareForInternationalization\",\n title: \"Enabled manual internationalization routing without having a middleware.\",\n message: \"Your configuration setting `i18n.routing: 'manual'` requires you to provide your own i18n `middleware` file.\"\n};\nconst RewriteEncounteredAnError = {\n name: \"RewriteEncounteredAnError\",\n title: \"Astro couldn't find the route to rewrite, or if was found but it emitted an error during the rendering phase.\",\n message: (route, stack) => `The route ${route} that you tried to render doesn't exist, or it emitted an error during the rendering phase. ${stack ? stack : \"\"}.`\n};\nconst CantRenderPage = {\n name: \"CantRenderPage\",\n title: \"Astro can't render the route.\",\n message: \"Astro cannot find any content to render for this route. There is no file or redirect associated with this route.\",\n hint: \"If you expect to find a route here, this may be an Astro bug. Please file an issue/restart the dev server\"\n};\nconst UnhandledRejection = {\n name: \"UnhandledRejection\",\n title: \"Unhandled rejection\",\n message: (stack) => `Astro detected an unhandled rejection. Here's the stack trace:\n${stack}`,\n hint: \"Make sure your promises all have an `await` or a `.catch()` handler.\"\n};\nconst i18nNotEnabled = {\n name: \"i18nNotEnabled\",\n title: \"i18n Not Enabled\",\n message: \"The `astro:i18n` module can not be used without enabling i18n in your Astro config.\",\n hint: \"See https://docs.astro.build/en/guides/internationalization for a guide on setting up i18n.\"\n};\nconst i18nNoLocaleFoundInPath = {\n name: \"i18nNoLocaleFoundInPath\",\n title: \"The path doesn't contain any locale\",\n message: \"You tried to use an i18n utility on a path that doesn't contain any locale. You can use `pathHasLocale` first to determine if the path has a locale.\"\n};\nconst RouteNotFound = {\n name: \"RouteNotFound\",\n title: \"Route not found.\",\n message: `Astro could not find a route that matches the one you requested.`\n};\nconst EnvInvalidVariables = {\n name: \"EnvInvalidVariables\",\n title: \"Invalid Environment Variables\",\n message: (errors) => `The following environment variables defined in \\`experimental.env.schema\\` are invalid:\n\n${errors.map((err) => `- ${err}`).join(\"\\n\")}\n`\n};\nconst EnvUnsupportedGetSecret = {\n name: \"EnvUnsupportedGetSecret\",\n title: \"Unsupported astro:env getSecret\",\n message: \"`astro:env/server` exported function `getSecret` is not supported by your adapter.\"\n};\nconst ServerOnlyModule = {\n name: \"ServerOnlyModule\",\n title: \"Module is only available server-side\",\n message: (name) => `The \"${name}\" module is only available server-side.`\n};\nconst RewriteWithBodyUsed = {\n name: \"RewriteWithBodyUsed\",\n title: \"Cannot use Astro.rewrite after the request body has been read\",\n message: \"Astro.rewrite() cannot be used if the request body has already been read. If you need to read the body, first clone the request.\"\n};\nconst UnknownFilesystemError = {\n name: \"UnknownFilesystemError\",\n title: \"An unknown error occurred while reading or writing files to disk.\",\n hint: \"It can be caused by many things, eg. missing permissions or a file not existing we attempt to read. Check the error cause for more details.\"\n};\nconst UnknownCSSError = {\n name: \"UnknownCSSError\",\n title: \"Unknown CSS Error.\"\n};\nconst CSSSyntaxError = {\n name: \"CSSSyntaxError\",\n title: \"CSS Syntax Error.\"\n};\nconst UnknownMarkdownError = {\n name: \"UnknownMarkdownError\",\n title: \"Unknown Markdown Error.\"\n};\nconst MarkdownFrontmatterParseError = {\n name: \"MarkdownFrontmatterParseError\",\n title: \"Failed to parse Markdown frontmatter.\"\n};\nconst InvalidFrontmatterInjectionError = {\n name: \"InvalidFrontmatterInjectionError\",\n title: \"Invalid frontmatter injection.\",\n message: 'A remark or rehype plugin attempted to inject invalid frontmatter. Ensure \"astro.frontmatter\" is set to a valid JSON object that is not `null` or `undefined`.',\n hint: \"See the frontmatter injection docs https://docs.astro.build/en/guides/markdown-content/#modifying-frontmatter-programmatically for more information.\"\n};\nconst MdxIntegrationMissingError = {\n name: \"MdxIntegrationMissingError\",\n title: \"MDX integration missing.\",\n message: (file) => `Unable to render ${file}. Ensure that the \\`@astrojs/mdx\\` integration is installed.`,\n hint: \"See the MDX integration docs for installation and usage instructions: https://docs.astro.build/en/guides/integrations-guide/mdx/\"\n};\nconst UnknownConfigError = {\n name: \"UnknownConfigError\",\n title: \"Unknown configuration error.\"\n};\nconst ConfigNotFound = {\n name: \"ConfigNotFound\",\n title: \"Specified configuration file not found.\",\n message: (configFile) => `Unable to resolve \\`--config \"${configFile}\"\\`. Does the file exist?`\n};\nconst ConfigLegacyKey = {\n name: \"ConfigLegacyKey\",\n title: \"Legacy configuration detected.\",\n message: (legacyConfigKey) => `Legacy configuration detected: \\`${legacyConfigKey}\\`.`,\n hint: \"Please update your configuration to the new format.\\nSee https://astro.build/config for more information.\"\n};\nconst UnknownCLIError = {\n name: \"UnknownCLIError\",\n title: \"Unknown CLI Error.\"\n};\nconst GenerateContentTypesError = {\n name: \"GenerateContentTypesError\",\n title: \"Failed to generate content types.\",\n message: (errorMessage) => `\\`astro sync\\` command failed to generate content collection types: ${errorMessage}`,\n hint: \"Check your `src/content/config.*` file for typos.\"\n};\nconst UnknownContentCollectionError = {\n name: \"UnknownContentCollectionError\",\n title: \"Unknown Content Collection Error.\"\n};\nconst GetEntryDeprecationError = {\n name: \"GetEntryDeprecationError\",\n title: \"Invalid use of `getDataEntryById` or `getEntryBySlug` function.\",\n message: (collection, method) => `The \\`${method}\\` function is deprecated and cannot be used to query the \"${collection}\" collection. Use \\`getEntry\\` instead.`,\n hint: \"Use the `getEntry` or `getCollection` functions to query content layer collections.\"\n};\nconst InvalidContentEntryFrontmatterError = {\n name: \"InvalidContentEntryFrontmatterError\",\n title: \"Content entry frontmatter does not match schema.\",\n message(collection, entryId, error) {\n return [\n `**${String(collection)} \\u2192 ${String(\n entryId\n )}** frontmatter does not match collection schema.`,\n ...error.errors.map((zodError) => zodError.message)\n ].join(\"\\n\");\n },\n hint: \"See https://docs.astro.build/en/guides/content-collections/ for more information on content schemas.\"\n};\nconst InvalidContentEntrySlugError = {\n name: \"InvalidContentEntrySlugError\",\n title: \"Invalid content entry slug.\",\n message(collection, entryId) {\n return `${String(collection)} \\u2192 ${String(\n entryId\n )} has an invalid slug. \\`slug\\` must be a string.`;\n },\n hint: \"See https://docs.astro.build/en/guides/content-collections/ for more on the `slug` field.\"\n};\nconst ContentSchemaContainsSlugError = {\n name: \"ContentSchemaContainsSlugError\",\n title: \"Content Schema should not contain `slug`.\",\n message: (collectionName) => `A content collection schema should not contain \\`slug\\` since it is reserved for slug generation. Remove this from your ${collectionName} collection schema.`,\n hint: \"See https://docs.astro.build/en/guides/content-collections/ for more on the `slug` field.\"\n};\nconst CollectionDoesNotExistError = {\n name: \"CollectionDoesNotExistError\",\n title: \"Collection does not exist\",\n message: (collectionName) => `The collection **${collectionName}** does not exist. Ensure a collection directory with this name exists.`,\n hint: \"See https://docs.astro.build/en/guides/content-collections/ for more on creating collections.\"\n};\nconst MixedContentDataCollectionError = {\n name: \"MixedContentDataCollectionError\",\n title: \"Content and data cannot be in same collection.\",\n message: (collectionName) => `**${collectionName}** contains a mix of content and data entries. All entries must be of the same type.`,\n hint: \"Store data entries in a new collection separate from your content collection.\"\n};\nconst ContentCollectionTypeMismatchError = {\n name: \"ContentCollectionTypeMismatchError\",\n title: \"Collection contains entries of a different type.\",\n message: (collection, expectedType, actualType) => `${collection} contains ${expectedType} entries, but is configured as a ${actualType} collection.`\n};\nconst DataCollectionEntryParseError = {\n name: \"DataCollectionEntryParseError\",\n title: \"Data collection entry failed to parse.\",\n message(entryId, errorMessage) {\n return `**${entryId}** failed to parse: ${errorMessage}`;\n },\n hint: \"Ensure your data entry is an object with valid JSON (for `.json` entries) or YAML (for `.yaml` entries).\"\n};\nconst DuplicateContentEntrySlugError = {\n name: \"DuplicateContentEntrySlugError\",\n title: \"Duplicate content entry slug.\",\n message(collection, slug, preExisting, alsoFound) {\n return `**${collection}** contains multiple entries with the same slug: \\`${slug}\\`. Slugs must be unique.\n\nEntries: \n- ${preExisting}\n- ${alsoFound}`;\n }\n};\nconst UnsupportedConfigTransformError = {\n name: \"UnsupportedConfigTransformError\",\n title: \"Unsupported transform in content config.\",\n message: (parseError) => `\\`transform()\\` functions in your content config must return valid JSON, or data types compatible with the devalue library (including Dates, Maps, and Sets).\nFull error: ${parseError}`,\n hint: \"See the devalue library for all supported types: https://github.com/rich-harris/devalue\"\n};\nconst ActionsWithoutServerOutputError = {\n name: \"ActionsWithoutServerOutputError\",\n title: \"Actions must be used with server output.\",\n message: \"Actions enabled without setting a server build output. A server is required to create callable backend functions. To deploy routes to a server, add a server adapter to your astro config.\",\n hint: \"Learn about on-demand rendering: https://docs.astro.build/en/basics/rendering-modes/#on-demand-rendered\"\n};\nconst ActionsUsedWithForGetError = {\n name: \"ActionsUsedWithForGetError\",\n title: \"An invalid Action query string was passed by a form.\",\n message: (actionName) => `Action ${actionName} was called from a form using a GET request, but only POST requests are supported. This often occurs if \\`method=\"POST\"\\` is missing on the form.`,\n hint: \"Actions are experimental. Visit the RFC for usage instructions: https://github.com/withastro/roadmap/blob/actions/proposals/0046-actions.md\"\n};\nconst ActionQueryStringInvalidError = {\n name: \"ActionQueryStringInvalidError\",\n title: \"An invalid Action query string was passed by a form.\",\n message: (actionName) => `The server received the query string \\`?_astroAction=${actionName}\\`, but could not find an action with that name. If you changed an action's name in development, remove this query param from your URL and refresh.`,\n hint: \"Actions are experimental. Visit the RFC for usage instructions: https://github.com/withastro/roadmap/blob/actions/proposals/0046-actions.md\"\n};\nconst ActionCalledFromServerError = {\n name: \"ActionCalledFromServerError\",\n title: \"Action unexpected called from the server.\",\n message: \"Action called from a server page or endpoint without using `Astro.callAction()`.\",\n hint: \"See the RFC section on server calls for usage instructions: https://github.com/withastro/roadmap/blob/actions/proposals/0046-actions.md#call-actions-directly-from-server-code\"\n};\nconst UnknownError = { name: \"UnknownError\", title: \"Unknown Error.\" };\nexport {\n ActionCalledFromServerError,\n ActionQueryStringInvalidError,\n ActionsUsedWithForGetError,\n ActionsWithoutServerOutputError,\n AstroGlobNoMatch,\n AstroGlobUsedOutside,\n AstroResponseHeadersReassigned,\n CSSSyntaxError,\n CantRenderPage,\n ClientAddressNotAvailable,\n CollectionDoesNotExistError,\n ConfigLegacyKey,\n ConfigNotFound,\n ContentCollectionTypeMismatchError,\n ContentSchemaContainsSlugError,\n CouldNotTransformImage,\n DataCollectionEntryParseError,\n DuplicateContentEntrySlugError,\n EndpointDidNotReturnAResponse,\n EnvInvalidVariables,\n EnvUnsupportedGetSecret,\n ExpectedImage,\n ExpectedImageOptions,\n ExpectedNotESMImage,\n FailedToFetchRemoteImageDimensions,\n FailedToFindPageMapSSR,\n FailedToLoadModuleSSR,\n GenerateContentTypesError,\n GetEntryDeprecationError,\n GetStaticPathsExpectedParams,\n GetStaticPathsInvalidRouteParam,\n GetStaticPathsRemovedRSSHelper,\n GetStaticPathsRequired,\n ImageMissingAlt,\n ImageNotFound,\n IncompatibleDescriptorOptions,\n IncorrectStrategyForI18n,\n InvalidComponentArgs,\n InvalidContentEntryFrontmatterError,\n InvalidContentEntrySlugError,\n InvalidDynamicRoute,\n InvalidFrontmatterInjectionError,\n InvalidGetStaticPathParam,\n InvalidGetStaticPathsEntry,\n InvalidGetStaticPathsReturn,\n InvalidGlob,\n InvalidImageService,\n InvalidPrerenderExport,\n LocalImageUsedWrongly,\n LocalsNotAnObject,\n MarkdownFrontmatterParseError,\n MarkdownImageNotFound,\n MdxIntegrationMissingError,\n MiddlewareCantBeLoaded,\n MiddlewareNoDataOrNextCalled,\n MiddlewareNotAResponse,\n MissingImageDimension,\n MissingIndexForInternationalization,\n MissingLocale,\n MissingMediaQueryDirective,\n MissingMiddlewareForInternationalization,\n MissingSharp,\n MixedContentDataCollectionError,\n NoAdapterInstalled,\n NoClientEntrypoint,\n NoClientOnlyHint,\n NoImageMetadata,\n NoMatchingImport,\n NoMatchingRenderer,\n NoMatchingStaticPathFound,\n NoPrerenderedRoutesWithDomains,\n OnlyResponseCanBeReturned,\n PageNumberParamNotFound,\n PrerenderClientAddressNotAvailable,\n PrerenderDynamicEndpointPathCollide,\n RedirectWithNoLocation,\n ReservedSlotName,\n ResponseSentError,\n RewriteEncounteredAnError,\n RewriteWithBodyUsed,\n RouteNotFound,\n ServerOnlyModule,\n StaticClientAddressNotAvailable,\n StaticRedirectNotAvailable,\n UnhandledRejection,\n UnknownCLIError,\n UnknownCSSError,\n UnknownCompilerError,\n UnknownConfigError,\n UnknownContentCollectionError,\n UnknownError,\n UnknownFilesystemError,\n UnknownMarkdownError,\n UnknownViteError,\n UnsupportedConfigTransformError,\n UnsupportedImageConversion,\n UnsupportedImageFormat,\n i18nNoLocaleFoundInPath,\n i18nNotEnabled\n};\n","function positionAt(offset, text) {\n const lineOffsets = getLineOffsets(text);\n offset = Math.max(0, Math.min(text.length, offset));\n let low = 0;\n let high = lineOffsets.length;\n if (high === 0) {\n return {\n line: 0,\n column: offset\n };\n }\n while (low <= high) {\n const mid = Math.floor((low + high) / 2);\n const lineOffset = lineOffsets[mid];\n if (lineOffset === offset) {\n return {\n line: mid,\n column: 0\n };\n } else if (offset > lineOffset) {\n low = mid + 1;\n } else {\n high = mid - 1;\n }\n }\n const line = low - 1;\n return { line, column: offset - lineOffsets[line] };\n}\nfunction getLineOffsets(text) {\n const lineOffsets = [];\n let isLineStart = true;\n for (let i = 0; i < text.length; i++) {\n if (isLineStart) {\n lineOffsets.push(i);\n isLineStart = false;\n }\n const ch = text.charAt(i);\n isLineStart = ch === \"\\r\" || ch === \"\\n\";\n if (ch === \"\\r\" && i + 1 < text.length && text.charAt(i + 1) === \"\\n\") {\n i++;\n }\n }\n if (isLineStart && text.length > 0) {\n lineOffsets.push(text.length);\n }\n return lineOffsets;\n}\nfunction isYAMLException(err) {\n return err instanceof Error && err.name === \"YAMLException\";\n}\nfunction formatYAMLException(e) {\n return {\n name: e.name,\n id: e.mark.name,\n loc: { file: e.mark.name, line: e.mark.line + 1, column: e.mark.column },\n message: e.reason,\n stack: e.stack ?? \"\"\n };\n}\nfunction createSafeError(err) {\n if (err instanceof Error || err?.name && err.message) {\n return err;\n } else {\n const error = new Error(JSON.stringify(err));\n error.hint = `To get as much information as possible from your errors, make sure to throw Error objects instead of \\`${typeof err}\\`. See https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Error for more information.`;\n return error;\n }\n}\nfunction normalizeLF(code) {\n return code.replace(/\\r\\n|\\r(?!\\n)|\\n/g, \"\\n\");\n}\nexport {\n createSafeError,\n formatYAMLException,\n isYAMLException,\n normalizeLF,\n positionAt\n};\n","import { normalizeLF } from \"./utils.js\";\nfunction codeFrame(src, loc) {\n if (!loc || loc.line === void 0 || loc.column === void 0) {\n return \"\";\n }\n const lines = normalizeLF(src).split(\"\\n\").map((ln) => ln.replace(/\\t/g, \" \"));\n const visibleLines = [];\n for (let n = -2; n <= 2; n++) {\n if (lines[loc.line + n]) visibleLines.push(loc.line + n);\n }\n let gutterWidth = 0;\n for (const lineNo of visibleLines) {\n let w = `> ${lineNo}`;\n if (w.length > gutterWidth) gutterWidth = w.length;\n }\n let output = \"\";\n for (const lineNo of visibleLines) {\n const isFocusedLine = lineNo === loc.line - 1;\n output += isFocusedLine ? \"> \" : \" \";\n output += `${lineNo + 1} | ${lines[lineNo]}\n`;\n if (isFocusedLine)\n output += `${Array.from({ length: gutterWidth }).join(\" \")} | ${Array.from({\n length: loc.column\n }).join(\" \")}^\n`;\n }\n return output;\n}\nexport {\n codeFrame\n};\n","import { codeFrame } from \"./printer.js\";\nfunction isAstroError(e) {\n return e instanceof AstroError;\n}\nclass AstroError extends Error {\n loc;\n title;\n hint;\n frame;\n type = \"AstroError\";\n constructor(props, options) {\n const { name, title, message, stack, location, hint, frame } = props;\n super(message, options);\n this.title = title;\n this.name = name;\n if (message) this.message = message;\n this.stack = stack ? stack : this.stack;\n this.loc = location;\n this.hint = hint;\n this.frame = frame;\n }\n setLocation(location) {\n this.loc = location;\n }\n setName(name) {\n this.name = name;\n }\n setMessage(message) {\n this.message = message;\n }\n setHint(hint) {\n this.hint = hint;\n }\n setFrame(source, location) {\n this.frame = codeFrame(source, location);\n }\n static is(err) {\n return err.type === \"AstroError\";\n }\n}\nclass CompilerError extends AstroError {\n type = \"CompilerError\";\n constructor(props, options) {\n super(props, options);\n }\n static is(err) {\n return err.type === \"CompilerError\";\n }\n}\nclass CSSError extends AstroError {\n type = \"CSSError\";\n static is(err) {\n return err.type === \"CSSError\";\n }\n}\nclass MarkdownError extends AstroError {\n type = \"MarkdownError\";\n static is(err) {\n return err.type === \"MarkdownError\";\n }\n}\nclass InternalError extends AstroError {\n type = \"InternalError\";\n static is(err) {\n return err.type === \"InternalError\";\n }\n}\nclass AggregateError extends AstroError {\n type = \"AggregateError\";\n errors;\n // Despite being a collection of errors, AggregateError still needs to have a main error attached to it\n // This is because Vite expects every thrown errors handled during HMR to be, well, Error and have a message\n constructor(props, options) {\n super(props, options);\n this.errors = props.errors;\n }\n static is(err) {\n return err.type === \"AggregateError\";\n }\n}\nconst astroConfigZodErrors = /* @__PURE__ */ new WeakSet();\nfunction isAstroConfigZodError(error) {\n return astroConfigZodErrors.has(error);\n}\nfunction trackAstroConfigZodError(error) {\n astroConfigZodErrors.add(error);\n}\nclass AstroUserError extends Error {\n type = \"AstroUserError\";\n /**\n * A message that explains to the user how they can fix the error.\n */\n hint;\n name = \"AstroUserError\";\n constructor(message, hint) {\n super();\n this.message = message;\n this.hint = hint;\n }\n static is(err) {\n return err.type === \"AstroUserError\";\n }\n}\nexport {\n AggregateError,\n AstroError,\n AstroUserError,\n CSSError,\n CompilerError,\n InternalError,\n MarkdownError,\n isAstroConfigZodError,\n isAstroError,\n trackAstroConfigZodError\n};\n","import { AstroError, AstroErrorData } from \"../../core/errors/index.js\";\nfunction validateArgs(args) {\n if (args.length !== 3) return false;\n if (!args[0] || typeof args[0] !== \"object\") return false;\n return true;\n}\nfunction baseCreateComponent(cb, moduleId, propagation) {\n const name = moduleId?.split(\"/\").pop()?.replace(\".astro\", \"\") ?? \"\";\n const fn = (...args) => {\n if (!validateArgs(args)) {\n throw new AstroError({\n ...AstroErrorData.InvalidComponentArgs,\n message: AstroErrorData.InvalidComponentArgs.message(name)\n });\n }\n return cb(...args);\n };\n Object.defineProperty(fn, \"name\", { value: name, writable: false });\n fn.isAstroComponentFactory = true;\n fn.moduleId = moduleId;\n fn.propagation = propagation;\n return fn;\n}\nfunction createComponentWithOptions(opts) {\n const cb = baseCreateComponent(opts.factory, opts.moduleId, opts.propagation);\n return cb;\n}\nfunction createComponent(arg1, moduleId, propagation) {\n if (typeof arg1 === \"function\") {\n return baseCreateComponent(arg1, moduleId, propagation);\n } else {\n return createComponentWithOptions(arg1);\n }\n}\nexport {\n createComponent\n};\n","const ASTRO_VERSION = \"4.14.5\";\nconst REROUTE_DIRECTIVE_HEADER = \"X-Astro-Reroute\";\nconst REWRITE_DIRECTIVE_HEADER_KEY = \"X-Astro-Rewrite\";\nconst REWRITE_DIRECTIVE_HEADER_VALUE = \"yes\";\nconst ROUTE_TYPE_HEADER = \"X-Astro-Route-Type\";\nconst DEFAULT_404_COMPONENT = \"astro-default-404.astro\";\nconst DEFAULT_500_COMPONENT = \"astro-default-500.astro\";\nconst REROUTABLE_STATUS_CODES = [404, 500];\nconst clientAddressSymbol = Symbol.for(\"astro.clientAddress\");\nconst clientLocalsSymbol = Symbol.for(\"astro.locals\");\nconst responseSentSymbol = Symbol.for(\"astro.responseSent\");\nconst SUPPORTED_MARKDOWN_FILE_EXTENSIONS = [\n \".markdown\",\n \".mdown\",\n \".mkdn\",\n \".mkd\",\n \".mdwn\",\n \".md\"\n];\nconst MIDDLEWARE_PATH_SEGMENT_NAME = \"middleware\";\nexport {\n ASTRO_VERSION,\n DEFAULT_404_COMPONENT,\n DEFAULT_500_COMPONENT,\n MIDDLEWARE_PATH_SEGMENT_NAME,\n REROUTABLE_STATUS_CODES,\n REROUTE_DIRECTIVE_HEADER,\n REWRITE_DIRECTIVE_HEADER_KEY,\n REWRITE_DIRECTIVE_HEADER_VALUE,\n ROUTE_TYPE_HEADER,\n SUPPORTED_MARKDOWN_FILE_EXTENSIONS,\n clientAddressSymbol,\n clientLocalsSymbol,\n responseSentSymbol\n};\n","import { ASTRO_VERSION } from \"../../core/constants.js\";\nimport { AstroError, AstroErrorData } from \"../../core/errors/index.js\";\nfunction createAstroGlobFn() {\n const globHandler = (importMetaGlobResult) => {\n if (typeof importMetaGlobResult === \"string\") {\n throw new AstroError({\n ...AstroErrorData.AstroGlobUsedOutside,\n message: AstroErrorData.AstroGlobUsedOutside.message(JSON.stringify(importMetaGlobResult))\n });\n }\n let allEntries = [...Object.values(importMetaGlobResult)];\n if (allEntries.length === 0) {\n throw new AstroError({\n ...AstroErrorData.AstroGlobNoMatch,\n message: AstroErrorData.AstroGlobNoMatch.message(JSON.stringify(importMetaGlobResult))\n });\n }\n return Promise.all(allEntries.map((fn) => fn()));\n };\n return globHandler;\n}\nfunction createAstro(site) {\n return {\n // TODO: this is no longer necessary for `Astro.site`\n // but it somehow allows working around caching issues in content collections for some tests\n site: site ? new URL(site) : void 0,\n generator: `Astro v${ASTRO_VERSION}`,\n glob: createAstroGlobFn()\n };\n}\nexport {\n createAstro\n};\n","function isPromise(value) {\n return !!value && typeof value === \"object\" && \"then\" in value && typeof value.then === \"function\";\n}\nasync function* streamAsyncIterator(stream) {\n const reader = stream.getReader();\n try {\n while (true) {\n const { done, value } = await reader.read();\n if (done) return;\n yield value;\n }\n } finally {\n reader.releaseLock();\n }\n}\nexport {\n isPromise,\n streamAsyncIterator\n};\n","import { escape } from \"html-escaper\";\nimport { streamAsyncIterator } from \"./util.js\";\nconst escapeHTML = escape;\nclass HTMLBytes extends Uint8Array {\n}\nObject.defineProperty(HTMLBytes.prototype, Symbol.toStringTag, {\n get() {\n return \"HTMLBytes\";\n }\n});\nclass HTMLString extends String {\n get [Symbol.toStringTag]() {\n return \"HTMLString\";\n }\n}\nconst markHTMLString = (value) => {\n if (value instanceof HTMLString) {\n return value;\n }\n if (typeof value === \"string\") {\n return new HTMLString(value);\n }\n return value;\n};\nfunction isHTMLString(value) {\n return Object.prototype.toString.call(value) === \"[object HTMLString]\";\n}\nfunction markHTMLBytes(bytes) {\n return new HTMLBytes(bytes);\n}\nfunction isHTMLBytes(value) {\n return Object.prototype.toString.call(value) === \"[object HTMLBytes]\";\n}\nfunction hasGetReader(obj) {\n return typeof obj.getReader === \"function\";\n}\nasync function* unescapeChunksAsync(iterable) {\n if (hasGetReader(iterable)) {\n for await (const chunk of streamAsyncIterator(iterable)) {\n yield unescapeHTML(chunk);\n }\n } else {\n for await (const chunk of iterable) {\n yield unescapeHTML(chunk);\n }\n }\n}\nfunction* unescapeChunks(iterable) {\n for (const chunk of iterable) {\n yield unescapeHTML(chunk);\n }\n}\nfunction unescapeHTML(str) {\n if (!!str && typeof str === \"object\") {\n if (str instanceof Uint8Array) {\n return markHTMLBytes(str);\n } else if (str instanceof Response && str.body) {\n const body = str.body;\n return unescapeChunksAsync(body);\n } else if (typeof str.then === \"function\") {\n return Promise.resolve(str).then((value) => {\n return unescapeHTML(value);\n });\n } else if (str[Symbol.for(\"astro:slot-string\")]) {\n return str;\n } else if (Symbol.iterator in str) {\n return unescapeChunks(str);\n } else if (Symbol.asyncIterator in str || hasGetReader(str)) {\n return unescapeChunksAsync(str);\n }\n }\n return markHTMLString(str);\n}\nexport {\n HTMLBytes,\n HTMLString,\n escapeHTML,\n isHTMLBytes,\n isHTMLString,\n markHTMLString,\n unescapeHTML\n};\n","const RenderInstructionSymbol = Symbol.for(\"astro:render\");\nfunction createRenderInstruction(instruction) {\n return Object.defineProperty(instruction, RenderInstructionSymbol, {\n value: true\n });\n}\nfunction isRenderInstruction(chunk) {\n return chunk && typeof chunk === \"object\" && chunk[RenderInstructionSymbol];\n}\nexport {\n createRenderInstruction,\n isRenderInstruction\n};\n","const PROP_TYPE = {\n Value: 0,\n JSON: 1,\n // Actually means Array\n RegExp: 2,\n Date: 3,\n Map: 4,\n Set: 5,\n BigInt: 6,\n URL: 7,\n Uint8Array: 8,\n Uint16Array: 9,\n Uint32Array: 10\n};\nfunction serializeArray(value, metadata = {}, parents = /* @__PURE__ */ new WeakSet()) {\n if (parents.has(value)) {\n throw new Error(`Cyclic reference detected while serializing props for <${metadata.displayName} client:${metadata.hydrate}>!\n\nCyclic references cannot be safely serialized for client-side usage. Please remove the cyclic reference.`);\n }\n parents.add(value);\n const serialized = value.map((v) => {\n return convertToSerializedForm(v, metadata, parents);\n });\n parents.delete(value);\n return serialized;\n}\nfunction serializeObject(value, metadata = {}, parents = /* @__PURE__ */ new WeakSet()) {\n if (parents.has(value)) {\n throw new Error(`Cyclic reference detected while serializing props for <${metadata.displayName} client:${metadata.hydrate}>!\n\nCyclic references cannot be safely serialized for client-side usage. Please remove the cyclic reference.`);\n }\n parents.add(value);\n const serialized = Object.fromEntries(\n Object.entries(value).map(([k, v]) => {\n return [k, convertToSerializedForm(v, metadata, parents)];\n })\n );\n parents.delete(value);\n return serialized;\n}\nfunction convertToSerializedForm(value, metadata = {}, parents = /* @__PURE__ */ new WeakSet()) {\n const tag = Object.prototype.toString.call(value);\n switch (tag) {\n case \"[object Date]\": {\n return [PROP_TYPE.Date, value.toISOString()];\n }\n case \"[object RegExp]\": {\n return [PROP_TYPE.RegExp, value.source];\n }\n case \"[object Map]\": {\n return [PROP_TYPE.Map, serializeArray(Array.from(value), metadata, parents)];\n }\n case \"[object Set]\": {\n return [PROP_TYPE.Set, serializeArray(Array.from(value), metadata, parents)];\n }\n case \"[object BigInt]\": {\n return [PROP_TYPE.BigInt, value.toString()];\n }\n case \"[object URL]\": {\n return [PROP_TYPE.URL, value.toString()];\n }\n case \"[object Array]\": {\n return [PROP_TYPE.JSON, serializeArray(value, metadata, parents)];\n }\n case \"[object Uint8Array]\": {\n return [PROP_TYPE.Uint8Array, Array.from(value)];\n }\n case \"[object Uint16Array]\": {\n return [PROP_TYPE.Uint16Array, Array.from(value)];\n }\n case \"[object Uint32Array]\": {\n return [PROP_TYPE.Uint32Array, Array.from(value)];\n }\n default: {\n if (value !== null && typeof value === \"object\") {\n return [PROP_TYPE.Value, serializeObject(value, metadata, parents)];\n } else if (value === void 0) {\n return [PROP_TYPE.Value];\n } else {\n return [PROP_TYPE.Value, value];\n }\n }\n }\n}\nfunction serializeProps(props, metadata) {\n const serialized = JSON.stringify(serializeObject(props, metadata));\n return serialized;\n}\nexport {\n serializeProps\n};\n","import { AstroError, AstroErrorData } from \"../../core/errors/index.js\";\nimport { escapeHTML } from \"./escape.js\";\nimport { serializeProps } from \"./serialize.js\";\nconst transitionDirectivesToCopyOnIsland = Object.freeze([\n \"data-astro-transition-scope\",\n \"data-astro-transition-persist\",\n \"data-astro-transition-persist-props\"\n]);\nfunction extractDirectives(inputProps, clientDirectives) {\n let extracted = {\n isPage: false,\n hydration: null,\n props: {},\n propsWithoutTransitionAttributes: {}\n };\n for (const [key, value] of Object.entries(inputProps)) {\n if (key.startsWith(\"server:\")) {\n if (key === \"server:root\") {\n extracted.isPage = true;\n }\n }\n if (key.startsWith(\"client:\")) {\n if (!extracted.hydration) {\n extracted.hydration = {\n directive: \"\",\n value: \"\",\n componentUrl: \"\",\n componentExport: { value: \"\" }\n };\n }\n switch (key) {\n case \"client:component-path\": {\n extracted.hydration.componentUrl = value;\n break;\n }\n case \"client:component-export\": {\n extracted.hydration.componentExport.value = value;\n break;\n }\n case \"client:component-hydration\": {\n break;\n }\n case \"client:display-name\": {\n break;\n }\n default: {\n extracted.hydration.directive = key.split(\":\")[1];\n extracted.hydration.value = value;\n if (!clientDirectives.has(extracted.hydration.directive)) {\n const hydrationMethods = Array.from(clientDirectives.keys()).map((d) => `client:${d}`).join(\", \");\n throw new Error(\n `Error: invalid hydration directive \"${key}\". Supported hydration methods: ${hydrationMethods}`\n );\n }\n if (extracted.hydration.directive === \"media\" && typeof extracted.hydration.value !== \"string\") {\n throw new AstroError(AstroErrorData.MissingMediaQueryDirective);\n }\n break;\n }\n }\n } else {\n extracted.props[key] = value;\n if (!transitionDirectivesToCopyOnIsland.includes(key)) {\n extracted.propsWithoutTransitionAttributes[key] = value;\n }\n }\n }\n for (const sym of Object.getOwnPropertySymbols(inputProps)) {\n extracted.props[sym] = inputProps[sym];\n extracted.propsWithoutTransitionAttributes[sym] = inputProps[sym];\n }\n return extracted;\n}\nasync function generateHydrateScript(scriptOptions, metadata) {\n const { renderer, result, astroId, props, attrs } = scriptOptions;\n const { hydrate, componentUrl, componentExport } = metadata;\n if (!componentExport.value) {\n throw new AstroError({\n ...AstroErrorData.NoMatchingImport,\n message: AstroErrorData.NoMatchingImport.message(metadata.displayName)\n });\n }\n const island = {\n children: \"\",\n props: {\n // This is for HMR, probably can avoid it in prod\n uid: astroId\n }\n };\n if (attrs) {\n for (const [key, value] of Object.entries(attrs)) {\n island.props[key] = escapeHTML(value);\n }\n }\n island.props[\"component-url\"] = await result.resolve(decodeURI(componentUrl));\n if (renderer.clientEntrypoint) {\n island.props[\"component-export\"] = componentExport.value;\n island.props[\"renderer-url\"] = await result.resolve(decodeURI(renderer.clientEntrypoint));\n island.props[\"props\"] = escapeHTML(serializeProps(props, metadata));\n }\n island.props[\"ssr\"] = \"\";\n island.props[\"client\"] = hydrate;\n let beforeHydrationUrl = await result.resolve(\"astro:scripts/before-hydration.js\");\n if (beforeHydrationUrl.length) {\n island.props[\"before-hydration-url\"] = beforeHydrationUrl;\n }\n island.props[\"opts\"] = escapeHTML(\n JSON.stringify({\n name: metadata.displayName,\n value: metadata.hydrateArgs || \"\"\n })\n );\n transitionDirectivesToCopyOnIsland.forEach((name) => {\n if (typeof props[name] !== \"undefined\") {\n island.props[name] = props[name];\n }\n });\n return island;\n}\nexport {\n extractDirectives,\n generateHydrateScript\n};\n","/**\n * shortdash - https://github.com/bibig/node-shorthash\n *\n * @license\n *\n * (The MIT License)\n *\n * Copyright (c) 2013 Bibig \n *\n * Permission is hereby granted, free of charge, to any person\n * obtaining a copy of this software and associated documentation\n * files (the \"Software\"), to deal in the Software without\n * restriction, including without limitation the rights to use,\n * copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the\n * Software is furnished to do so, subject to the following\n * conditions:\n *\n * The above copyright notice and this permission notice shall be\n * included in all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\n * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES\n * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\n * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT\n * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,\n * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING\n * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR\n * OTHER DEALINGS IN THE SOFTWARE.\n */\nconst dictionary = \"0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXY\";\nconst binary = dictionary.length;\nfunction bitwise(str) {\n let hash = 0;\n if (str.length === 0) return hash;\n for (let i = 0; i < str.length; i++) {\n const ch = str.charCodeAt(i);\n hash = (hash << 5) - hash + ch;\n hash = hash & hash;\n }\n return hash;\n}\nfunction shorthash(text) {\n let num;\n let result = \"\";\n let integer = bitwise(text);\n const sign = integer < 0 ? \"Z\" : \"\";\n integer = Math.abs(integer);\n while (integer >= binary) {\n num = integer % binary;\n integer = Math.floor(integer / binary);\n result = dictionary[num] + result;\n }\n if (integer > 0) {\n result = dictionary[integer] + result;\n }\n return sign + result;\n}\nexport {\n shorthash\n};\n","function isAstroComponentFactory(obj) {\n return obj == null ? false : obj.isAstroComponentFactory === true;\n}\nfunction isAPropagatingComponent(result, factory) {\n let hint = factory.propagation || \"none\";\n if (factory.moduleId && result.componentMetadata.has(factory.moduleId) && hint === \"none\") {\n hint = result.componentMetadata.get(factory.moduleId).propagation;\n }\n return hint === \"in-tree\" || hint === \"self\";\n}\nexport {\n isAPropagatingComponent,\n isAstroComponentFactory\n};\n","const headAndContentSym = Symbol.for(\"astro.headAndContent\");\nfunction isHeadAndContent(obj) {\n return typeof obj === \"object\" && !!obj[headAndContentSym];\n}\nfunction createHeadAndContent(head, content) {\n return {\n [headAndContentSym]: true,\n head,\n content\n };\n}\nexport {\n createHeadAndContent,\n isHeadAndContent\n};\n","var astro_island_prebuilt_dev_default = `(()=>{var A=Object.defineProperty;var g=(i,o,a)=>o in i?A(i,o,{enumerable:!0,configurable:!0,writable:!0,value:a}):i[o]=a;var l=(i,o,a)=>g(i,typeof o!=\"symbol\"?o+\"\":o,a);{let i={0:t=>y(t),1:t=>a(t),2:t=>new RegExp(t),3:t=>new Date(t),4:t=>new Map(a(t)),5:t=>new Set(a(t)),6:t=>BigInt(t),7:t=>new URL(t),8:t=>new Uint8Array(t),9:t=>new Uint16Array(t),10:t=>new Uint32Array(t)},o=t=>{let[h,e]=t;return h in i?i[h](e):void 0},a=t=>t.map(o),y=t=>typeof t!=\"object\"||t===null?t:Object.fromEntries(Object.entries(t).map(([h,e])=>[h,o(e)]));class f extends HTMLElement{constructor(){super(...arguments);l(this,\"Component\");l(this,\"hydrator\");l(this,\"hydrate\",async()=>{var b;if(!this.hydrator||!this.isConnected)return;let e=(b=this.parentElement)==null?void 0:b.closest(\"astro-island[ssr]\");if(e){e.addEventListener(\"astro:hydrate\",this.hydrate,{once:!0});return}let c=this.querySelectorAll(\"astro-slot\"),n={},p=this.querySelectorAll(\"template[data-astro-template]\");for(let r of p){let s=r.closest(this.tagName);s!=null&&s.isSameNode(this)&&(n[r.getAttribute(\"data-astro-template\")||\"default\"]=r.innerHTML,r.remove())}for(let r of c){let s=r.closest(this.tagName);s!=null&&s.isSameNode(this)&&(n[r.getAttribute(\"name\")||\"default\"]=r.innerHTML)}let u;try{u=this.hasAttribute(\"props\")?y(JSON.parse(this.getAttribute(\"props\"))):{}}catch(r){let s=this.getAttribute(\"component-url\")||\"\",v=this.getAttribute(\"component-export\");throw v&&(s+=\\` (export \\${v})\\`),console.error(\\`[hydrate] Error parsing props for component \\${s}\\`,this.getAttribute(\"props\"),r),r}let d,m=this.hydrator(this);d=performance.now(),await m(this.Component,u,n,{client:this.getAttribute(\"client\")}),d&&this.setAttribute(\"client-render-time\",(performance.now()-d).toString()),this.removeAttribute(\"ssr\"),this.dispatchEvent(new CustomEvent(\"astro:hydrate\"))});l(this,\"unmount\",()=>{this.isConnected||this.dispatchEvent(new CustomEvent(\"astro:unmount\"))})}disconnectedCallback(){document.removeEventListener(\"astro:after-swap\",this.unmount),document.addEventListener(\"astro:after-swap\",this.unmount,{once:!0})}connectedCallback(){if(!this.hasAttribute(\"await-children\")||document.readyState===\"interactive\"||document.readyState===\"complete\")this.childrenConnectedCallback();else{let e=()=>{document.removeEventListener(\"DOMContentLoaded\",e),c.disconnect(),this.childrenConnectedCallback()},c=new MutationObserver(()=>{var n;((n=this.lastChild)==null?void 0:n.nodeType)===Node.COMMENT_NODE&&this.lastChild.nodeValue===\"astro:end\"&&(this.lastChild.remove(),e())});c.observe(this,{childList:!0}),document.addEventListener(\"DOMContentLoaded\",e)}}async childrenConnectedCallback(){let e=this.getAttribute(\"before-hydration-url\");e&&await import(e),this.start()}async start(){let e=JSON.parse(this.getAttribute(\"opts\")),c=this.getAttribute(\"client\");if(Astro[c]===void 0){window.addEventListener(\\`astro:\\${c}\\`,()=>this.start(),{once:!0});return}try{await Astro[c](async()=>{let n=this.getAttribute(\"renderer-url\"),[p,{default:u}]=await Promise.all([import(this.getAttribute(\"component-url\")),n?import(n):()=>()=>{}]),d=this.getAttribute(\"component-export\")||\"default\";if(!d.includes(\".\"))this.Component=p[d];else{this.Component=p;for(let m of d.split(\".\"))this.Component=this.Component[m]}return this.hydrator=u,this.hydrate},e,this)}catch(n){console.error(\\`[astro-island] Error hydrating \\${this.getAttribute(\"component-url\")}\\`,n)}}attributeChangedCallback(){this.hydrate()}}l(f,\"observedAttributes\",[\"props\"]),customElements.get(\"astro-island\")||customElements.define(\"astro-island\",f)}})();`;\nexport {\n astro_island_prebuilt_dev_default as default\n};\n","var astro_island_prebuilt_default = `(()=>{var A=Object.defineProperty;var g=(i,o,a)=>o in i?A(i,o,{enumerable:!0,configurable:!0,writable:!0,value:a}):i[o]=a;var d=(i,o,a)=>g(i,typeof o!=\"symbol\"?o+\"\":o,a);{let i={0:t=>m(t),1:t=>a(t),2:t=>new RegExp(t),3:t=>new Date(t),4:t=>new Map(a(t)),5:t=>new Set(a(t)),6:t=>BigInt(t),7:t=>new URL(t),8:t=>new Uint8Array(t),9:t=>new Uint16Array(t),10:t=>new Uint32Array(t)},o=t=>{let[l,e]=t;return l in i?i[l](e):void 0},a=t=>t.map(o),m=t=>typeof t!=\"object\"||t===null?t:Object.fromEntries(Object.entries(t).map(([l,e])=>[l,o(e)]));class y extends HTMLElement{constructor(){super(...arguments);d(this,\"Component\");d(this,\"hydrator\");d(this,\"hydrate\",async()=>{var b;if(!this.hydrator||!this.isConnected)return;let e=(b=this.parentElement)==null?void 0:b.closest(\"astro-island[ssr]\");if(e){e.addEventListener(\"astro:hydrate\",this.hydrate,{once:!0});return}let c=this.querySelectorAll(\"astro-slot\"),n={},h=this.querySelectorAll(\"template[data-astro-template]\");for(let r of h){let s=r.closest(this.tagName);s!=null&&s.isSameNode(this)&&(n[r.getAttribute(\"data-astro-template\")||\"default\"]=r.innerHTML,r.remove())}for(let r of c){let s=r.closest(this.tagName);s!=null&&s.isSameNode(this)&&(n[r.getAttribute(\"name\")||\"default\"]=r.innerHTML)}let p;try{p=this.hasAttribute(\"props\")?m(JSON.parse(this.getAttribute(\"props\"))):{}}catch(r){let s=this.getAttribute(\"component-url\")||\"\",v=this.getAttribute(\"component-export\");throw v&&(s+=\\` (export \\${v})\\`),console.error(\\`[hydrate] Error parsing props for component \\${s}\\`,this.getAttribute(\"props\"),r),r}let u;await this.hydrator(this)(this.Component,p,n,{client:this.getAttribute(\"client\")}),this.removeAttribute(\"ssr\"),this.dispatchEvent(new CustomEvent(\"astro:hydrate\"))});d(this,\"unmount\",()=>{this.isConnected||this.dispatchEvent(new CustomEvent(\"astro:unmount\"))})}disconnectedCallback(){document.removeEventListener(\"astro:after-swap\",this.unmount),document.addEventListener(\"astro:after-swap\",this.unmount,{once:!0})}connectedCallback(){if(!this.hasAttribute(\"await-children\")||document.readyState===\"interactive\"||document.readyState===\"complete\")this.childrenConnectedCallback();else{let e=()=>{document.removeEventListener(\"DOMContentLoaded\",e),c.disconnect(),this.childrenConnectedCallback()},c=new MutationObserver(()=>{var n;((n=this.lastChild)==null?void 0:n.nodeType)===Node.COMMENT_NODE&&this.lastChild.nodeValue===\"astro:end\"&&(this.lastChild.remove(),e())});c.observe(this,{childList:!0}),document.addEventListener(\"DOMContentLoaded\",e)}}async childrenConnectedCallback(){let e=this.getAttribute(\"before-hydration-url\");e&&await import(e),this.start()}async start(){let e=JSON.parse(this.getAttribute(\"opts\")),c=this.getAttribute(\"client\");if(Astro[c]===void 0){window.addEventListener(\\`astro:\\${c}\\`,()=>this.start(),{once:!0});return}try{await Astro[c](async()=>{let n=this.getAttribute(\"renderer-url\"),[h,{default:p}]=await Promise.all([import(this.getAttribute(\"component-url\")),n?import(n):()=>()=>{}]),u=this.getAttribute(\"component-export\")||\"default\";if(!u.includes(\".\"))this.Component=h[u];else{this.Component=h;for(let f of u.split(\".\"))this.Component=this.Component[f]}return this.hydrator=p,this.hydrate},e,this)}catch(n){console.error(\\`[astro-island] Error hydrating \\${this.getAttribute(\"component-url\")}\\`,n)}}attributeChangedCallback(){this.hydrate()}}d(y,\"observedAttributes\",[\"props\"]),customElements.get(\"astro-island\")||customElements.define(\"astro-island\",y)}})();`;\nexport {\n astro_island_prebuilt_default as default\n};\n","import islandScriptDev from \"./astro-island.prebuilt-dev.js\";\nimport islandScript from \"./astro-island.prebuilt.js\";\nconst ISLAND_STYLES = ``;\nfunction determineIfNeedsHydrationScript(result) {\n if (result._metadata.hasHydrationScript) {\n return false;\n }\n return result._metadata.hasHydrationScript = true;\n}\nfunction determinesIfNeedsDirectiveScript(result, directive) {\n if (result._metadata.hasDirectives.has(directive)) {\n return false;\n }\n result._metadata.hasDirectives.add(directive);\n return true;\n}\nfunction getDirectiveScriptText(result, directive) {\n const clientDirectives = result.clientDirectives;\n const clientDirective = clientDirectives.get(directive);\n if (!clientDirective) {\n throw new Error(`Unknown directive: ${directive}`);\n }\n return clientDirective;\n}\nfunction getPrescripts(result, type, directive) {\n switch (type) {\n case \"both\":\n return `${ISLAND_STYLES}`;\n case \"directive\":\n return ``;\n case null:\n break;\n }\n return \"\";\n}\nexport {\n determineIfNeedsHydrationScript,\n determinesIfNeedsDirectiveScript,\n getPrescripts\n};\n","import { clsx } from \"clsx\";\nimport { HTMLString, markHTMLString } from \"../escape.js\";\nconst voidElementNames = /^(area|base|br|col|command|embed|hr|img|input|keygen|link|meta|param|source|track|wbr)$/i;\nconst htmlBooleanAttributes = /^(?:allowfullscreen|async|autofocus|autoplay|controls|default|defer|disabled|disablepictureinpicture|disableremoteplayback|formnovalidate|hidden|loop|nomodule|novalidate|open|playsinline|readonly|required|reversed|scoped|seamless|itemscope)$/i;\nconst htmlEnumAttributes = /^(?:contenteditable|draggable|spellcheck|value)$/i;\nconst svgEnumAttributes = /^(?:autoReverse|externalResourcesRequired|focusable|preserveAlpha)$/i;\nconst AMPERSAND_REGEX = /&/g;\nconst DOUBLE_QUOTE_REGEX = /\"/g;\nconst STATIC_DIRECTIVES = /* @__PURE__ */ new Set([\"set:html\", \"set:text\"]);\nconst toIdent = (k) => k.trim().replace(/(?!^)\\b\\w|\\s+|\\W+/g, (match, index) => {\n if (/\\W/.test(match)) return \"\";\n return index === 0 ? match : match.toUpperCase();\n});\nconst toAttributeString = (value, shouldEscape = true) => shouldEscape ? String(value).replace(AMPERSAND_REGEX, \"&\").replace(DOUBLE_QUOTE_REGEX, \""\") : value;\nconst kebab = (k) => k.toLowerCase() === k ? k : k.replace(/[A-Z]/g, (match) => `-${match.toLowerCase()}`);\nconst toStyleString = (obj) => Object.entries(obj).filter(([_, v]) => typeof v === \"string\" && v.trim() || typeof v === \"number\").map(([k, v]) => {\n if (k[0] !== \"-\" && k[1] !== \"-\") return `${kebab(k)}:${v}`;\n return `${k}:${v}`;\n}).join(\";\");\nfunction defineScriptVars(vars) {\n let output = \"\";\n for (const [key, value] of Object.entries(vars)) {\n output += `const ${toIdent(key)} = ${JSON.stringify(value)?.replace(\n /<\\/script>/g,\n \"\\\\x3C/script>\"\n )};\n`;\n }\n return markHTMLString(output);\n}\nfunction formatList(values) {\n if (values.length === 1) {\n return values[0];\n }\n return `${values.slice(0, -1).join(\", \")} or ${values[values.length - 1]}`;\n}\nfunction addAttribute(value, key, shouldEscape = true) {\n if (value == null) {\n return \"\";\n }\n if (value === false) {\n if (htmlEnumAttributes.test(key) || svgEnumAttributes.test(key)) {\n return markHTMLString(` ${key}=\"false\"`);\n }\n return \"\";\n }\n if (STATIC_DIRECTIVES.has(key)) {\n console.warn(`[astro] The \"${key}\" directive cannot be applied dynamically at runtime. It will not be rendered as an attribute.\n\nMake sure to use the static attribute syntax (\\`${key}={value}\\`) instead of the dynamic spread syntax (\\`{...{ \"${key}\": value }}\\`).`);\n return \"\";\n }\n if (key === \"class:list\") {\n const listValue = toAttributeString(clsx(value), shouldEscape);\n if (listValue === \"\") {\n return \"\";\n }\n return markHTMLString(` ${key.slice(0, -5)}=\"${listValue}\"`);\n }\n if (key === \"style\" && !(value instanceof HTMLString)) {\n if (Array.isArray(value) && value.length === 2) {\n return markHTMLString(\n ` ${key}=\"${toAttributeString(`${toStyleString(value[0])};${value[1]}`, shouldEscape)}\"`\n );\n }\n if (typeof value === \"object\") {\n return markHTMLString(` ${key}=\"${toAttributeString(toStyleString(value), shouldEscape)}\"`);\n }\n }\n if (key === \"className\") {\n return markHTMLString(` class=\"${toAttributeString(value, shouldEscape)}\"`);\n }\n if (typeof value === \"string\" && value.includes(\"&\") && isHttpUrl(value)) {\n return markHTMLString(` ${key}=\"${toAttributeString(value, false)}\"`);\n }\n if (value === true && (key.startsWith(\"data-\") || htmlBooleanAttributes.test(key))) {\n return markHTMLString(` ${key}`);\n } else {\n return markHTMLString(` ${key}=\"${toAttributeString(value, shouldEscape)}\"`);\n }\n}\nfunction internalSpreadAttributes(values, shouldEscape = true) {\n let output = \"\";\n for (const [key, value] of Object.entries(values)) {\n output += addAttribute(value, key, shouldEscape);\n }\n return markHTMLString(output);\n}\nfunction renderElement(name, { props: _props, children = \"\" }, shouldEscape = true) {\n const { lang: _, \"data-astro-id\": astroId, \"define:vars\": defineVars, ...props } = _props;\n if (defineVars) {\n if (name === \"style\") {\n delete props[\"is:global\"];\n delete props[\"is:scoped\"];\n }\n if (name === \"script\") {\n delete props.hoist;\n children = defineScriptVars(defineVars) + \"\\n\" + children;\n }\n }\n if ((children == null || children == \"\") && voidElementNames.test(name)) {\n return `<${name}${internalSpreadAttributes(props, shouldEscape)}>`;\n }\n return `<${name}${internalSpreadAttributes(props, shouldEscape)}>${children}`;\n}\nconst noop = () => {\n};\nclass BufferedRenderer {\n chunks = [];\n renderPromise;\n destination;\n constructor(bufferRenderFunction) {\n this.renderPromise = bufferRenderFunction(this);\n Promise.resolve(this.renderPromise).catch(noop);\n }\n write(chunk) {\n if (this.destination) {\n this.destination.write(chunk);\n } else {\n this.chunks.push(chunk);\n }\n }\n async renderToFinalDestination(destination) {\n for (const chunk of this.chunks) {\n destination.write(chunk);\n }\n this.destination = destination;\n await this.renderPromise;\n }\n}\nfunction renderToBufferDestination(bufferRenderFunction) {\n const renderer = new BufferedRenderer(bufferRenderFunction);\n return renderer;\n}\nconst isNode = typeof process !== \"undefined\" && Object.prototype.toString.call(process) === \"[object process]\";\nconst isDeno = typeof Deno !== \"undefined\";\nfunction promiseWithResolvers() {\n let resolve, reject;\n const promise = new Promise((_resolve, _reject) => {\n resolve = _resolve;\n reject = _reject;\n });\n return {\n promise,\n resolve,\n reject\n };\n}\nconst VALID_PROTOCOLS = [\"http:\", \"https:\"];\nfunction isHttpUrl(url) {\n try {\n const parsedUrl = new URL(url);\n return VALID_PROTOCOLS.includes(parsedUrl.protocol);\n } catch {\n return false;\n }\n}\nexport {\n addAttribute,\n defineScriptVars,\n formatList,\n internalSpreadAttributes,\n isDeno,\n isNode,\n promiseWithResolvers,\n renderElement,\n renderToBufferDestination,\n toAttributeString,\n voidElementNames\n};\n","import { markHTMLString } from \"../escape.js\";\nimport { createRenderInstruction } from \"./instruction.js\";\nimport { renderElement } from \"./util.js\";\nconst uniqueElements = (item, index, all) => {\n const props = JSON.stringify(item.props);\n const children = item.children;\n return index === all.findIndex((i) => JSON.stringify(i.props) === props && i.children == children);\n};\nfunction renderAllHeadContent(result) {\n result._metadata.hasRenderedHead = true;\n const styles = Array.from(result.styles).filter(uniqueElements).map(\n (style) => style.props.rel === \"stylesheet\" ? renderElement(\"link\", style) : renderElement(\"style\", style)\n );\n result.styles.clear();\n const scripts = Array.from(result.scripts).filter(uniqueElements).map((script) => {\n return renderElement(\"script\", script, false);\n });\n const links = Array.from(result.links).filter(uniqueElements).map((link) => renderElement(\"link\", link, false));\n let content = styles.join(\"\\n\") + links.join(\"\\n\") + scripts.join(\"\\n\");\n if (result._metadata.extraHead.length > 0) {\n for (const part of result._metadata.extraHead) {\n content += part;\n }\n }\n return markHTMLString(content);\n}\nfunction renderHead() {\n return createRenderInstruction({ type: \"head\" });\n}\nfunction maybeRenderHead() {\n return createRenderInstruction({ type: \"maybe-head\" });\n}\nexport {\n maybeRenderHead,\n renderAllHeadContent,\n renderHead\n};\n","import { markHTMLString } from \"../../escape.js\";\nimport { isPromise } from \"../../util.js\";\nimport { renderChild } from \"../any.js\";\nimport { renderToBufferDestination } from \"../util.js\";\nconst renderTemplateResultSym = Symbol.for(\"astro.renderTemplateResult\");\nclass RenderTemplateResult {\n [renderTemplateResultSym] = true;\n htmlParts;\n expressions;\n error;\n constructor(htmlParts, expressions) {\n this.htmlParts = htmlParts;\n this.error = void 0;\n this.expressions = expressions.map((expression) => {\n if (isPromise(expression)) {\n return Promise.resolve(expression).catch((err) => {\n if (!this.error) {\n this.error = err;\n throw err;\n }\n });\n }\n return expression;\n });\n }\n async render(destination) {\n const expRenders = this.expressions.map((exp) => {\n return renderToBufferDestination((bufferDestination) => {\n if (exp || exp === 0) {\n return renderChild(bufferDestination, exp);\n }\n });\n });\n for (let i = 0; i < this.htmlParts.length; i++) {\n const html = this.htmlParts[i];\n const expRender = expRenders[i];\n destination.write(markHTMLString(html));\n if (expRender) {\n await expRender.renderToFinalDestination(destination);\n }\n }\n }\n}\nfunction isRenderTemplateResult(obj) {\n return typeof obj === \"object\" && !!obj[renderTemplateResultSym];\n}\nfunction renderTemplate(htmlParts, ...expressions) {\n return new RenderTemplateResult(htmlParts, expressions);\n}\nexport {\n RenderTemplateResult,\n isRenderTemplateResult,\n renderTemplate\n};\n","import { renderTemplate } from \"./astro/render-template.js\";\nimport { HTMLString, markHTMLString, unescapeHTML } from \"../escape.js\";\nimport { renderChild } from \"./any.js\";\nimport { chunkToString } from \"./common.js\";\nconst slotString = Symbol.for(\"astro:slot-string\");\nclass SlotString extends HTMLString {\n instructions;\n [slotString];\n constructor(content, instructions) {\n super(content);\n this.instructions = instructions;\n this[slotString] = true;\n }\n}\nfunction isSlotString(str) {\n return !!str[slotString];\n}\nfunction renderSlot(result, slotted, fallback) {\n if (!slotted && fallback) {\n return renderSlot(result, fallback);\n }\n return {\n async render(destination) {\n await renderChild(destination, typeof slotted === \"function\" ? slotted(result) : slotted);\n }\n };\n}\nasync function renderSlotToString(result, slotted, fallback) {\n let content = \"\";\n let instructions = null;\n const temporaryDestination = {\n write(chunk) {\n if (chunk instanceof SlotString) {\n content += chunk;\n if (chunk.instructions) {\n instructions ??= [];\n instructions.push(...chunk.instructions);\n }\n } else if (chunk instanceof Response) return;\n else if (typeof chunk === \"object\" && \"type\" in chunk && typeof chunk.type === \"string\") {\n if (instructions === null) {\n instructions = [];\n }\n instructions.push(chunk);\n } else {\n content += chunkToString(result, chunk);\n }\n }\n };\n const renderInstance = renderSlot(result, slotted, fallback);\n await renderInstance.render(temporaryDestination);\n return markHTMLString(new SlotString(content, instructions));\n}\nasync function renderSlots(result, slots = {}) {\n let slotInstructions = null;\n let children = {};\n if (slots) {\n await Promise.all(\n Object.entries(slots).map(\n ([key, value]) => renderSlotToString(result, value).then((output) => {\n if (output.instructions) {\n if (slotInstructions === null) {\n slotInstructions = [];\n }\n slotInstructions.push(...output.instructions);\n }\n children[key] = output;\n })\n )\n );\n }\n return { slotInstructions, children };\n}\nfunction createSlotValueFromString(content) {\n return function() {\n return renderTemplate`${unescapeHTML(content)}`;\n };\n}\nexport {\n SlotString,\n createSlotValueFromString,\n isSlotString,\n renderSlot,\n renderSlotToString,\n renderSlots\n};\n","import { markHTMLString } from \"../escape.js\";\nimport {\n determineIfNeedsHydrationScript,\n determinesIfNeedsDirectiveScript,\n getPrescripts\n} from \"../scripts.js\";\nimport { renderAllHeadContent } from \"./head.js\";\nimport { isRenderInstruction } from \"./instruction.js\";\nimport { isSlotString } from \"./slot.js\";\nconst Fragment = Symbol.for(\"astro:fragment\");\nconst Renderer = Symbol.for(\"astro:renderer\");\nconst encoder = new TextEncoder();\nconst decoder = new TextDecoder();\nfunction stringifyChunk(result, chunk) {\n if (isRenderInstruction(chunk)) {\n const instruction = chunk;\n switch (instruction.type) {\n case \"directive\": {\n const { hydration } = instruction;\n let needsHydrationScript = hydration && determineIfNeedsHydrationScript(result);\n let needsDirectiveScript = hydration && determinesIfNeedsDirectiveScript(result, hydration.directive);\n let prescriptType = needsHydrationScript ? \"both\" : needsDirectiveScript ? \"directive\" : null;\n if (prescriptType) {\n let prescripts = getPrescripts(result, prescriptType, hydration.directive);\n return markHTMLString(prescripts);\n } else {\n return \"\";\n }\n }\n case \"head\": {\n if (result._metadata.hasRenderedHead || result.partial) {\n return \"\";\n }\n return renderAllHeadContent(result);\n }\n case \"maybe-head\": {\n if (result._metadata.hasRenderedHead || result._metadata.headInTree || result.partial) {\n return \"\";\n }\n return renderAllHeadContent(result);\n }\n case \"renderer-hydration-script\": {\n const { rendererSpecificHydrationScripts } = result._metadata;\n const { rendererName } = instruction;\n if (!rendererSpecificHydrationScripts.has(rendererName)) {\n rendererSpecificHydrationScripts.add(rendererName);\n return instruction.render();\n }\n return \"\";\n }\n default: {\n throw new Error(`Unknown chunk type: ${chunk.type}`);\n }\n }\n } else if (chunk instanceof Response) {\n return \"\";\n } else if (isSlotString(chunk)) {\n let out = \"\";\n const c = chunk;\n if (c.instructions) {\n for (const instr of c.instructions) {\n out += stringifyChunk(result, instr);\n }\n }\n out += chunk.toString();\n return out;\n }\n return chunk.toString();\n}\nfunction chunkToString(result, chunk) {\n if (ArrayBuffer.isView(chunk)) {\n return decoder.decode(chunk);\n } else {\n return stringifyChunk(result, chunk);\n }\n}\nfunction chunkToByteArray(result, chunk) {\n if (ArrayBuffer.isView(chunk)) {\n return chunk;\n } else {\n const stringified = stringifyChunk(result, chunk);\n return encoder.encode(stringified.toString());\n }\n}\nfunction isRenderInstance(obj) {\n return !!obj && typeof obj === \"object\" && \"render\" in obj && typeof obj.render === \"function\";\n}\nexport {\n Fragment,\n Renderer,\n chunkToByteArray,\n chunkToString,\n decoder,\n encoder,\n isRenderInstance\n};\n","import { escapeHTML, isHTMLString, markHTMLString } from \"../escape.js\";\nimport { isPromise } from \"../util.js\";\nimport { isAstroComponentInstance, isRenderTemplateResult } from \"./astro/index.js\";\nimport { isRenderInstance } from \"./common.js\";\nimport { SlotString } from \"./slot.js\";\nimport { renderToBufferDestination } from \"./util.js\";\nasync function renderChild(destination, child) {\n if (isPromise(child)) {\n child = await child;\n }\n if (child instanceof SlotString) {\n destination.write(child);\n } else if (isHTMLString(child)) {\n destination.write(child);\n } else if (Array.isArray(child)) {\n const childRenders = child.map((c) => {\n return renderToBufferDestination((bufferDestination) => {\n return renderChild(bufferDestination, c);\n });\n });\n for (const childRender of childRenders) {\n if (!childRender) continue;\n await childRender.renderToFinalDestination(destination);\n }\n } else if (typeof child === \"function\") {\n await renderChild(destination, child());\n } else if (typeof child === \"string\") {\n destination.write(markHTMLString(escapeHTML(child)));\n } else if (!child && child !== 0) {\n } else if (isRenderInstance(child)) {\n await child.render(destination);\n } else if (isRenderTemplateResult(child)) {\n await child.render(destination);\n } else if (isAstroComponentInstance(child)) {\n await child.render(destination);\n } else if (ArrayBuffer.isView(child)) {\n destination.write(child);\n } else if (typeof child === \"object\" && (Symbol.asyncIterator in child || Symbol.iterator in child)) {\n for await (const value of child) {\n await renderChild(destination, value);\n }\n } else {\n destination.write(child);\n }\n}\nexport {\n renderChild\n};\n","import { isPromise } from \"../../util.js\";\nimport { renderChild } from \"../any.js\";\nimport { isAPropagatingComponent } from \"./factory.js\";\nimport { isHeadAndContent } from \"./head-and-content.js\";\nconst astroComponentInstanceSym = Symbol.for(\"astro.componentInstance\");\nclass AstroComponentInstance {\n [astroComponentInstanceSym] = true;\n result;\n props;\n slotValues;\n factory;\n returnValue;\n constructor(result, props, slots, factory) {\n this.result = result;\n this.props = props;\n this.factory = factory;\n this.slotValues = {};\n for (const name in slots) {\n let didRender = false;\n let value = slots[name](result);\n this.slotValues[name] = () => {\n if (!didRender) {\n didRender = true;\n return value;\n }\n return slots[name](result);\n };\n }\n }\n async init(result) {\n if (this.returnValue !== void 0) return this.returnValue;\n this.returnValue = this.factory(result, this.props, this.slotValues);\n if (isPromise(this.returnValue)) {\n this.returnValue.then((resolved) => {\n this.returnValue = resolved;\n }).catch(() => {\n });\n }\n return this.returnValue;\n }\n async render(destination) {\n const returnValue = await this.init(this.result);\n if (isHeadAndContent(returnValue)) {\n await returnValue.content.render(destination);\n } else {\n await renderChild(destination, returnValue);\n }\n }\n}\nfunction validateComponentProps(props, displayName) {\n if (props != null) {\n for (const prop of Object.keys(props)) {\n if (prop.startsWith(\"client:\")) {\n console.warn(\n `You are attempting to render <${displayName} ${prop} />, but ${displayName} is an Astro component. Astro components do not render in the client and should not have a hydration directive. Please use a framework component for client rendering.`\n );\n }\n }\n }\n}\nfunction createAstroComponentInstance(result, displayName, factory, props, slots = {}) {\n validateComponentProps(props, displayName);\n const instance = new AstroComponentInstance(result, props, slots, factory);\n if (isAPropagatingComponent(result, factory)) {\n result._metadata.propagators.add(instance);\n }\n return instance;\n}\nfunction isAstroComponentInstance(obj) {\n return typeof obj === \"object\" && !!obj[astroComponentInstanceSym];\n}\nexport {\n AstroComponentInstance,\n createAstroComponentInstance,\n isAstroComponentInstance\n};\n","import { markHTMLString } from \"../escape.js\";\nimport { renderSlotToString } from \"./slot.js\";\nimport { toAttributeString } from \"./util.js\";\nfunction componentIsHTMLElement(Component) {\n return typeof HTMLElement !== \"undefined\" && HTMLElement.isPrototypeOf(Component);\n}\nasync function renderHTMLElement(result, constructor, props, slots) {\n const name = getHTMLElementName(constructor);\n let attrHTML = \"\";\n for (const attr in props) {\n attrHTML += ` ${attr}=\"${toAttributeString(await props[attr])}\"`;\n }\n return markHTMLString(\n `<${name}${attrHTML}>${await renderSlotToString(result, slots?.default)}`\n );\n}\nfunction getHTMLElementName(constructor) {\n const definedName = customElements.getName(constructor);\n if (definedName) return definedName;\n const assignedName = constructor.name.replace(/^HTML|Element$/g, \"\").replace(/[A-Z]/g, \"-$&\").toLowerCase().replace(/^-/, \"html-\");\n return assignedName;\n}\nexport {\n componentIsHTMLElement,\n renderHTMLElement\n};\n","import { decodeBase64, decodeHex, encodeBase64, encodeHexUpperCase } from \"@oslojs/encoding\";\nconst ALGORITHM = \"AES-GCM\";\nasync function createKey() {\n const key = await crypto.subtle.generateKey(\n {\n name: ALGORITHM,\n length: 256\n },\n true,\n [\"encrypt\", \"decrypt\"]\n );\n return key;\n}\nasync function importKey(bytes) {\n const key = await crypto.subtle.importKey(\"raw\", bytes, ALGORITHM, true, [\"encrypt\", \"decrypt\"]);\n return key;\n}\nasync function encodeKey(key) {\n const exported = await crypto.subtle.exportKey(\"raw\", key);\n const encodedKey = encodeBase64(new Uint8Array(exported));\n return encodedKey;\n}\nasync function decodeKey(encoded) {\n const bytes = decodeBase64(encoded);\n return crypto.subtle.importKey(\"raw\", bytes, ALGORITHM, true, [\"encrypt\", \"decrypt\"]);\n}\nconst encoder = new TextEncoder();\nconst decoder = new TextDecoder();\nconst IV_LENGTH = 24;\nasync function encryptString(key, raw) {\n const iv = crypto.getRandomValues(new Uint8Array(IV_LENGTH / 2));\n const data = encoder.encode(raw);\n const buffer = await crypto.subtle.encrypt(\n {\n name: ALGORITHM,\n iv\n },\n key,\n data\n );\n return encodeHexUpperCase(iv) + encodeBase64(new Uint8Array(buffer));\n}\nasync function decryptString(key, encoded) {\n const iv = decodeHex(encoded.slice(0, IV_LENGTH));\n const dataArray = decodeBase64(encoded.slice(IV_LENGTH));\n const decryptedBuffer = await crypto.subtle.decrypt(\n {\n name: ALGORITHM,\n iv\n },\n key,\n dataArray\n );\n const decryptedString = decoder.decode(decryptedBuffer);\n return decryptedString;\n}\nexport {\n createKey,\n decodeKey,\n decryptString,\n encodeKey,\n encryptString,\n importKey\n};\n","import { encryptString } from \"../../../core/encryption.js\";\nimport { renderChild } from \"./any.js\";\nimport { renderSlotToString } from \"./slot.js\";\nconst internalProps = /* @__PURE__ */ new Set([\n \"server:component-path\",\n \"server:component-export\",\n \"server:component-directive\",\n \"server:defer\"\n]);\nfunction containsServerDirective(props) {\n return \"server:component-directive\" in props;\n}\nfunction safeJsonStringify(obj) {\n return JSON.stringify(obj).replace(/\\u2028/g, \"\\\\u2028\").replace(/\\u2029/g, \"\\\\u2029\").replace(//g, \"\\\\u003e\").replace(/\\//g, \"\\\\u002f\");\n}\nfunction renderServerIsland(result, _displayName, props, slots) {\n return {\n async render(destination) {\n const componentPath = props[\"server:component-path\"];\n const componentExport = props[\"server:component-export\"];\n const componentId = result.serverIslandNameMap.get(componentPath);\n if (!componentId) {\n throw new Error(`Could not find server component name`);\n }\n for (const key2 of Object.keys(props)) {\n if (internalProps.has(key2)) {\n delete props[key2];\n }\n }\n destination.write(\"\");\n const renderedSlots = {};\n for (const name in slots) {\n if (name !== \"fallback\") {\n const content = await renderSlotToString(result, slots[name]);\n renderedSlots[name] = content.toString();\n } else {\n await renderChild(destination, slots.fallback(result));\n }\n }\n const key = await result.key;\n const propsEncrypted = await encryptString(key, JSON.stringify(props));\n const hostId = crypto.randomUUID();\n const slash = result.base.endsWith(\"/\") ? \"\" : \"/\";\n const serverIslandUrl = `${result.base}${slash}_server-islands/${componentId}${result.trailingSlash === \"always\" ? \"/\" : \"\"}`;\n destination.write(``);\n }\n };\n}\nexport {\n containsServerDirective,\n renderServerIsland\n};\n","import { createRenderInstruction } from \"./instruction.js\";\nimport { clsx } from \"clsx\";\nimport { AstroError, AstroErrorData } from \"../../../core/errors/index.js\";\nimport { markHTMLString } from \"../escape.js\";\nimport { extractDirectives, generateHydrateScript } from \"../hydration.js\";\nimport { serializeProps } from \"../serialize.js\";\nimport { shorthash } from \"../shorthash.js\";\nimport { isPromise } from \"../util.js\";\nimport { isAstroComponentFactory } from \"./astro/factory.js\";\nimport { renderTemplate } from \"./astro/index.js\";\nimport { createAstroComponentInstance } from \"./astro/instance.js\";\nimport {\n Fragment,\n Renderer,\n chunkToString\n} from \"./common.js\";\nimport { componentIsHTMLElement, renderHTMLElement } from \"./dom.js\";\nimport { maybeRenderHead } from \"./head.js\";\nimport { containsServerDirective, renderServerIsland } from \"./server-islands.js\";\nimport { renderSlotToString, renderSlots } from \"./slot.js\";\nimport { formatList, internalSpreadAttributes, renderElement, voidElementNames } from \"./util.js\";\nconst needsHeadRenderingSymbol = Symbol.for(\"astro.needsHeadRendering\");\nconst rendererAliases = /* @__PURE__ */ new Map([[\"solid\", \"solid-js\"]]);\nconst clientOnlyValues = /* @__PURE__ */ new Set([\"solid-js\", \"react\", \"preact\", \"vue\", \"svelte\", \"lit\"]);\nfunction guessRenderers(componentUrl) {\n const extname = componentUrl?.split(\".\").pop();\n switch (extname) {\n case \"svelte\":\n return [\"@astrojs/svelte\"];\n case \"vue\":\n return [\"@astrojs/vue\"];\n case \"jsx\":\n case \"tsx\":\n return [\"@astrojs/react\", \"@astrojs/preact\", \"@astrojs/solid-js\", \"@astrojs/vue (jsx)\"];\n default:\n return [\n \"@astrojs/react\",\n \"@astrojs/preact\",\n \"@astrojs/solid-js\",\n \"@astrojs/vue\",\n \"@astrojs/svelte\",\n \"@astrojs/lit\"\n ];\n }\n}\nfunction isFragmentComponent(Component) {\n return Component === Fragment;\n}\nfunction isHTMLComponent(Component) {\n return Component && Component[\"astro:html\"] === true;\n}\nconst ASTRO_SLOT_EXP = /<\\/?astro-slot\\b[^>]*>/g;\nconst ASTRO_STATIC_SLOT_EXP = /<\\/?astro-static-slot\\b[^>]*>/g;\nfunction removeStaticAstroSlot(html, supportsAstroStaticSlot = true) {\n const exp = supportsAstroStaticSlot ? ASTRO_STATIC_SLOT_EXP : ASTRO_SLOT_EXP;\n return html.replace(exp, \"\");\n}\nasync function renderFrameworkComponent(result, displayName, Component, _props, slots = {}) {\n if (!Component && \"client:only\" in _props === false) {\n throw new Error(\n `Unable to render ${displayName} because it is ${Component}!\nDid you forget to import the component or is it possible there is a typo?`\n );\n }\n const { renderers, clientDirectives } = result;\n const metadata = {\n astroStaticSlot: true,\n displayName\n };\n const { hydration, isPage, props, propsWithoutTransitionAttributes } = extractDirectives(\n _props,\n clientDirectives\n );\n let html = \"\";\n let attrs = void 0;\n if (hydration) {\n metadata.hydrate = hydration.directive;\n metadata.hydrateArgs = hydration.value;\n metadata.componentExport = hydration.componentExport;\n metadata.componentUrl = hydration.componentUrl;\n }\n const probableRendererNames = guessRenderers(metadata.componentUrl);\n const validRenderers = renderers.filter((r) => r.name !== \"astro:jsx\");\n const { children, slotInstructions } = await renderSlots(result, slots);\n let renderer;\n if (metadata.hydrate !== \"only\") {\n let isTagged = false;\n try {\n isTagged = Component && Component[Renderer];\n } catch {\n }\n if (isTagged) {\n const rendererName = Component[Renderer];\n renderer = renderers.find(({ name }) => name === rendererName);\n }\n if (!renderer) {\n let error;\n for (const r of renderers) {\n try {\n if (await r.ssr.check.call({ result }, Component, props, children)) {\n renderer = r;\n break;\n }\n } catch (e) {\n error ??= e;\n }\n }\n if (!renderer && error) {\n throw error;\n }\n }\n if (!renderer && typeof HTMLElement === \"function\" && componentIsHTMLElement(Component)) {\n const output = await renderHTMLElement(\n result,\n Component,\n _props,\n slots\n );\n return {\n render(destination) {\n destination.write(output);\n }\n };\n }\n } else {\n if (metadata.hydrateArgs) {\n const rendererName = rendererAliases.has(metadata.hydrateArgs) ? rendererAliases.get(metadata.hydrateArgs) : metadata.hydrateArgs;\n if (clientOnlyValues.has(rendererName)) {\n renderer = renderers.find(\n ({ name }) => name === `@astrojs/${rendererName}` || name === rendererName\n );\n }\n }\n if (!renderer && validRenderers.length === 1) {\n renderer = validRenderers[0];\n }\n if (!renderer) {\n const extname = metadata.componentUrl?.split(\".\").pop();\n renderer = renderers.find(({ name }) => name === `@astrojs/${extname}` || name === extname);\n }\n }\n let componentServerRenderEndTime;\n if (!renderer) {\n if (metadata.hydrate === \"only\") {\n const rendererName = rendererAliases.has(metadata.hydrateArgs) ? rendererAliases.get(metadata.hydrateArgs) : metadata.hydrateArgs;\n if (clientOnlyValues.has(rendererName)) {\n const plural = validRenderers.length > 1;\n throw new AstroError({\n ...AstroErrorData.NoMatchingRenderer,\n message: AstroErrorData.NoMatchingRenderer.message(\n metadata.displayName,\n metadata?.componentUrl?.split(\".\").pop(),\n plural,\n validRenderers.length\n ),\n hint: AstroErrorData.NoMatchingRenderer.hint(\n formatList(probableRendererNames.map((r) => \"`\" + r + \"`\"))\n )\n });\n } else {\n throw new AstroError({\n ...AstroErrorData.NoClientOnlyHint,\n message: AstroErrorData.NoClientOnlyHint.message(metadata.displayName),\n hint: AstroErrorData.NoClientOnlyHint.hint(\n probableRendererNames.map((r) => r.replace(\"@astrojs/\", \"\")).join(\"|\")\n )\n });\n }\n } else if (typeof Component !== \"string\") {\n const matchingRenderers = validRenderers.filter(\n (r) => probableRendererNames.includes(r.name)\n );\n const plural = validRenderers.length > 1;\n if (matchingRenderers.length === 0) {\n throw new AstroError({\n ...AstroErrorData.NoMatchingRenderer,\n message: AstroErrorData.NoMatchingRenderer.message(\n metadata.displayName,\n metadata?.componentUrl?.split(\".\").pop(),\n plural,\n validRenderers.length\n ),\n hint: AstroErrorData.NoMatchingRenderer.hint(\n formatList(probableRendererNames.map((r) => \"`\" + r + \"`\"))\n )\n });\n } else if (matchingRenderers.length === 1) {\n renderer = matchingRenderers[0];\n ({ html, attrs } = await renderer.ssr.renderToStaticMarkup.call(\n { result },\n Component,\n propsWithoutTransitionAttributes,\n children,\n metadata\n ));\n } else {\n throw new Error(`Unable to render ${metadata.displayName}!\n\nThis component likely uses ${formatList(probableRendererNames)},\nbut Astro encountered an error during server-side rendering.\n\nPlease ensure that ${metadata.displayName}:\n1. Does not unconditionally access browser-specific globals like \\`window\\` or \\`document\\`.\n If this is unavoidable, use the \\`client:only\\` hydration directive.\n2. Does not conditionally return \\`null\\` or \\`undefined\\` when rendered on the server.\n\nIf you're still stuck, please open an issue on GitHub or join us at https://astro.build/chat.`);\n }\n }\n } else {\n if (metadata.hydrate === \"only\") {\n const rendererName = rendererAliases.has(metadata.hydrateArgs) ? rendererAliases.get(metadata.hydrateArgs) : metadata.hydrateArgs;\n if (!clientOnlyValues.has(rendererName)) {\n console.warn(\n `The client:only directive for ${metadata.displayName} is not recognized. The renderer ${renderer.name} will be used. If you intended to use a different renderer, please provide a valid client:only directive.`\n );\n }\n html = await renderSlotToString(result, slots?.fallback);\n } else {\n const componentRenderStartTime = performance.now();\n ({ html, attrs } = await renderer.ssr.renderToStaticMarkup.call(\n { result },\n Component,\n propsWithoutTransitionAttributes,\n children,\n metadata\n ));\n if (process.env.NODE_ENV === \"development\")\n componentServerRenderEndTime = performance.now() - componentRenderStartTime;\n }\n }\n if (renderer && !renderer.clientEntrypoint && renderer.name !== \"@astrojs/lit\" && metadata.hydrate) {\n throw new AstroError({\n ...AstroErrorData.NoClientEntrypoint,\n message: AstroErrorData.NoClientEntrypoint.message(\n displayName,\n metadata.hydrate,\n renderer.name\n )\n });\n }\n if (!html && typeof Component === \"string\") {\n const Tag = sanitizeElementName(Component);\n const childSlots = Object.values(children).join(\"\");\n const renderTemplateResult = renderTemplate`<${Tag}${internalSpreadAttributes(\n props\n )}${markHTMLString(\n childSlots === \"\" && voidElementNames.test(Tag) ? `/>` : `>${childSlots}`\n )}`;\n html = \"\";\n const destination = {\n write(chunk) {\n if (chunk instanceof Response) return;\n html += chunkToString(result, chunk);\n }\n };\n await renderTemplateResult.render(destination);\n }\n if (!hydration) {\n return {\n render(destination) {\n if (slotInstructions) {\n for (const instruction of slotInstructions) {\n destination.write(instruction);\n }\n }\n if (isPage || renderer?.name === \"astro:jsx\") {\n destination.write(html);\n } else if (html && html.length > 0) {\n destination.write(\n markHTMLString(removeStaticAstroSlot(html, renderer?.ssr?.supportsAstroStaticSlot))\n );\n }\n }\n };\n }\n const astroId = shorthash(\n `\n${html}\n${serializeProps(\n props,\n metadata\n )}`\n );\n const island = await generateHydrateScript(\n { renderer, result, astroId, props, attrs },\n metadata\n );\n if (componentServerRenderEndTime && process.env.NODE_ENV === \"development\")\n island.props[\"server-render-time\"] = componentServerRenderEndTime;\n let unrenderedSlots = [];\n if (html) {\n if (Object.keys(children).length > 0) {\n for (const key of Object.keys(children)) {\n let tagName = renderer?.ssr?.supportsAstroStaticSlot ? !!metadata.hydrate ? \"astro-slot\" : \"astro-static-slot\" : \"astro-slot\";\n let expectedHTML = key === \"default\" ? `<${tagName}>` : `<${tagName} name=\"${key}\">`;\n if (!html.includes(expectedHTML)) {\n unrenderedSlots.push(key);\n }\n }\n }\n } else {\n unrenderedSlots = Object.keys(children);\n }\n const template = unrenderedSlots.length > 0 ? unrenderedSlots.map(\n (key) => ``\n ).join(\"\") : \"\";\n island.children = `${html ?? \"\"}${template}`;\n if (island.children) {\n island.props[\"await-children\"] = \"\";\n island.children += ``;\n }\n return {\n render(destination) {\n if (slotInstructions) {\n for (const instruction of slotInstructions) {\n destination.write(instruction);\n }\n }\n destination.write(createRenderInstruction({ type: \"directive\", hydration }));\n if (hydration.directive !== \"only\" && renderer?.ssr.renderHydrationScript) {\n destination.write(\n createRenderInstruction({\n type: \"renderer-hydration-script\",\n rendererName: renderer.name,\n render: renderer.ssr.renderHydrationScript\n })\n );\n }\n const renderedElement = renderElement(\"astro-island\", island, false);\n destination.write(markHTMLString(renderedElement));\n }\n };\n}\nfunction sanitizeElementName(tag) {\n const unsafe = /[&<>'\"\\s]+/;\n if (!unsafe.test(tag)) return tag;\n return tag.trim().split(unsafe)[0].trim();\n}\nasync function renderFragmentComponent(result, slots = {}) {\n const children = await renderSlotToString(result, slots?.default);\n return {\n render(destination) {\n if (children == null) return;\n destination.write(children);\n }\n };\n}\nasync function renderHTMLComponent(result, Component, _props, slots = {}) {\n const { slotInstructions, children } = await renderSlots(result, slots);\n const html = Component({ slots: children });\n const hydrationHtml = slotInstructions ? slotInstructions.map((instr) => chunkToString(result, instr)).join(\"\") : \"\";\n return {\n render(destination) {\n destination.write(markHTMLString(hydrationHtml + html));\n }\n };\n}\nfunction renderAstroComponent(result, displayName, Component, props, slots = {}) {\n if (containsServerDirective(props)) {\n return renderServerIsland(result, displayName, props, slots);\n }\n const instance = createAstroComponentInstance(result, displayName, Component, props, slots);\n return {\n async render(destination) {\n await instance.render(destination);\n }\n };\n}\nasync function renderComponent(result, displayName, Component, props, slots = {}) {\n if (isPromise(Component)) {\n Component = await Component.catch(handleCancellation);\n }\n if (isFragmentComponent(Component)) {\n return await renderFragmentComponent(result, slots).catch(handleCancellation);\n }\n props = normalizeProps(props);\n if (isHTMLComponent(Component)) {\n return await renderHTMLComponent(result, Component, props, slots).catch(handleCancellation);\n }\n if (isAstroComponentFactory(Component)) {\n return renderAstroComponent(result, displayName, Component, props, slots);\n }\n return await renderFrameworkComponent(result, displayName, Component, props, slots).catch(\n handleCancellation\n );\n function handleCancellation(e) {\n if (result.cancelled)\n return {\n render() {\n }\n };\n throw e;\n }\n}\nfunction normalizeProps(props) {\n if (props[\"class:list\"] !== void 0) {\n const value = props[\"class:list\"];\n delete props[\"class:list\"];\n props[\"class\"] = clsx(props[\"class\"], value);\n if (props[\"class\"] === \"\") {\n delete props[\"class\"];\n }\n }\n return props;\n}\nasync function renderComponentToString(result, displayName, Component, props, slots = {}, isPage = false, route) {\n let str = \"\";\n let renderedFirstPageChunk = false;\n let head = \"\";\n if (isPage && !result.partial && nonAstroPageNeedsHeadInjection(Component)) {\n head += chunkToString(result, maybeRenderHead());\n }\n try {\n const destination = {\n write(chunk) {\n if (isPage && !result.partial && !renderedFirstPageChunk) {\n renderedFirstPageChunk = true;\n if (!/\" : \"\\n\";\n str += doctype + head;\n }\n }\n if (chunk instanceof Response) return;\n str += chunkToString(result, chunk);\n }\n };\n const renderInstance = await renderComponent(result, displayName, Component, props, slots);\n await renderInstance.render(destination);\n } catch (e) {\n if (AstroError.is(e) && !e.loc) {\n e.setLocation({\n file: route?.component\n });\n }\n throw e;\n }\n return str;\n}\nfunction nonAstroPageNeedsHeadInjection(pageComponent) {\n return !!pageComponent?.[needsHeadRenderingSymbol];\n}\nexport {\n renderComponent,\n renderComponentToString\n};\n","import { markHTMLString } from \"../escape.js\";\nasync function renderScript(result, id) {\n if (result._metadata.renderedScripts.has(id)) return;\n result._metadata.renderedScripts.add(id);\n const inlined = result.inlinedScripts.get(id);\n if (inlined != null) {\n if (inlined) {\n return markHTMLString(``);\n } else {\n return \"\";\n }\n }\n const resolved = await result.resolve(id);\n return markHTMLString(``);\n}\nexport {\n renderScript\n};\n","import cssesc from \"cssesc\";\nimport { fade, slide } from \"../../transitions/index.js\";\nimport { markHTMLString } from \"./escape.js\";\nconst transitionNameMap = /* @__PURE__ */ new WeakMap();\nfunction incrementTransitionNumber(result) {\n let num = 1;\n if (transitionNameMap.has(result)) {\n num = transitionNameMap.get(result) + 1;\n }\n transitionNameMap.set(result, num);\n return num;\n}\nfunction createTransitionScope(result, hash) {\n const num = incrementTransitionNumber(result);\n return `astro-${hash}-${num}`;\n}\nconst getAnimations = (name) => {\n if (name === \"fade\") return fade();\n if (name === \"slide\") return slide();\n if (typeof name === \"object\") return name;\n};\nconst addPairs = (animations, stylesheet) => {\n for (const [direction, images] of Object.entries(animations)) {\n for (const [image, rules] of Object.entries(images)) {\n stylesheet.addAnimationPair(direction, image, rules);\n }\n }\n};\nconst reEncodeValidChars = \"0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ-_\".split(\"\").reduce((v, c) => (v[c.charCodeAt(0)] = c, v), []);\nconst reEncodeInValidStart = \"-0123456789_\".split(\"\").reduce((v, c) => (v[c.charCodeAt(0)] = c, v), []);\nfunction reEncode(s) {\n let result = \"\";\n let codepoint;\n for (let i = 0; i < s.length; i += (codepoint ?? 0) > 65535 ? 2 : 1) {\n codepoint = s.codePointAt(i);\n if (codepoint !== void 0) {\n result += codepoint < 128 ? codepoint === 95 ? \"__\" : reEncodeValidChars[codepoint] ?? \"_\" + codepoint.toString(16).padStart(2, \"0\") : String.fromCodePoint(codepoint);\n }\n }\n return reEncodeInValidStart[result.codePointAt(0) ?? 0] ? \"_\" + result : result;\n}\nfunction renderTransition(result, hash, animationName, transitionName) {\n if (typeof (transitionName ?? \"\") !== \"string\") {\n throw new Error(`Invalid transition name {${transitionName}}`);\n }\n if (!animationName) animationName = \"fade\";\n const scope = createTransitionScope(result, hash);\n const name = transitionName ? cssesc(reEncode(transitionName), { isIdentifier: true }) : scope;\n const sheet = new ViewTransitionStyleSheet(scope, name);\n const animations = getAnimations(animationName);\n if (animations) {\n addPairs(animations, sheet);\n } else if (animationName === \"none\") {\n sheet.addFallback(\"old\", \"animation: none; mix-blend-mode: normal;\");\n sheet.addModern(\"old\", \"animation: none; opacity: 0; mix-blend-mode: normal;\");\n sheet.addAnimationRaw(\"new\", \"animation: none; mix-blend-mode: normal;\");\n sheet.addModern(\"group\", \"animation: none\");\n }\n result._metadata.extraHead.push(markHTMLString(``));\n return scope;\n}\nfunction createAnimationScope(transitionName, animations) {\n const hash = Math.random().toString(36).slice(2, 8);\n const scope = `astro-${hash}`;\n const sheet = new ViewTransitionStyleSheet(scope, transitionName);\n addPairs(animations, sheet);\n return { scope, styles: sheet.toString().replaceAll('\"', \"\") };\n}\nclass ViewTransitionStyleSheet {\n constructor(scope, name) {\n this.scope = scope;\n this.name = name;\n }\n modern = [];\n fallback = [];\n toString() {\n const { scope, name } = this;\n const [modern, fallback] = [this.modern, this.fallback].map((rules) => rules.join(\"\"));\n return [\n `[data-astro-transition-scope=\"${scope}\"] { view-transition-name: ${name}; }`,\n this.layer(modern),\n fallback\n ].join(\"\");\n }\n layer(cssText) {\n return cssText ? `@layer astro { ${cssText} }` : \"\";\n }\n addRule(target, cssText) {\n this[target].push(cssText);\n }\n addAnimationRaw(image, animation) {\n this.addModern(image, animation);\n this.addFallback(image, animation);\n }\n addModern(image, animation) {\n const { name } = this;\n this.addRule(\"modern\", `::view-transition-${image}(${name}) { ${animation} }`);\n }\n addFallback(image, animation) {\n const { scope } = this;\n this.addRule(\n \"fallback\",\n // Two selectors here, the second in case there is an animation on the root.\n `[data-astro-transition-fallback=\"${image}\"] [data-astro-transition-scope=\"${scope}\"],\n\t\t\t[data-astro-transition-fallback=\"${image}\"][data-astro-transition-scope=\"${scope}\"] { ${animation} }`\n );\n }\n addAnimationPair(direction, image, rules) {\n const { scope, name } = this;\n const animation = stringifyAnimation(rules);\n const prefix = direction === \"backwards\" ? `[data-astro-transition=back]` : direction === \"forwards\" ? \"\" : `[data-astro-transition=${direction}]`;\n this.addRule(\"modern\", `${prefix}::view-transition-${image}(${name}) { ${animation} }`);\n this.addRule(\n \"fallback\",\n `${prefix}[data-astro-transition-fallback=\"${image}\"] [data-astro-transition-scope=\"${scope}\"],\n\t\t\t${prefix}[data-astro-transition-fallback=\"${image}\"][data-astro-transition-scope=\"${scope}\"] { ${animation} }`\n );\n }\n}\nfunction addAnimationProperty(builder, prop, value) {\n let arr = builder[prop];\n if (Array.isArray(arr)) {\n arr.push(value.toString());\n } else {\n builder[prop] = [value.toString()];\n }\n}\nfunction animationBuilder() {\n return {\n toString() {\n let out = \"\";\n for (let k in this) {\n let value = this[k];\n if (Array.isArray(value)) {\n out += `\n\t${k}: ${value.join(\", \")};`;\n }\n }\n return out;\n }\n };\n}\nfunction stringifyAnimation(anim) {\n if (Array.isArray(anim)) {\n return stringifyAnimations(anim);\n } else {\n return stringifyAnimations([anim]);\n }\n}\nfunction stringifyAnimations(anims) {\n const builder = animationBuilder();\n for (const anim of anims) {\n if (anim.duration) {\n addAnimationProperty(builder, \"animation-duration\", toTimeValue(anim.duration));\n }\n if (anim.easing) {\n addAnimationProperty(builder, \"animation-timing-function\", anim.easing);\n }\n if (anim.direction) {\n addAnimationProperty(builder, \"animation-direction\", anim.direction);\n }\n if (anim.delay) {\n addAnimationProperty(builder, \"animation-delay\", anim.delay);\n }\n if (anim.fillMode) {\n addAnimationProperty(builder, \"animation-fill-mode\", anim.fillMode);\n }\n addAnimationProperty(builder, \"animation-name\", anim.name);\n }\n return builder.toString();\n}\nfunction toTimeValue(num) {\n return typeof num === \"number\" ? num + \"ms\" : num;\n}\nexport {\n createAnimationScope,\n createTransitionScope,\n renderTransition\n};\n","import { createComponent } from \"./astro-component.js\";\nimport { createAstro } from \"./astro-global.js\";\nimport { renderEndpoint } from \"./endpoint.js\";\nimport {\n escapeHTML,\n HTMLBytes,\n HTMLString,\n isHTMLString,\n markHTMLString,\n unescapeHTML\n} from \"./escape.js\";\nimport { renderJSX } from \"./jsx.js\";\nimport {\n addAttribute,\n createHeadAndContent,\n defineScriptVars,\n Fragment,\n maybeRenderHead,\n renderTemplate,\n renderComponent,\n Renderer,\n renderHead,\n renderHTMLElement,\n renderPage,\n renderScript,\n renderScriptElement,\n renderSlot,\n renderSlotToString,\n renderTemplate as renderTemplate2,\n renderToString,\n renderUniqueStylesheet,\n voidElementNames\n} from \"./render/index.js\";\nimport { createTransitionScope, renderTransition } from \"./transition.js\";\nimport { markHTMLString as markHTMLString2 } from \"./escape.js\";\nimport { Renderer as Renderer2, addAttribute as addAttribute2 } from \"./render/index.js\";\nfunction mergeSlots(...slotted) {\n const slots = {};\n for (const slot of slotted) {\n if (!slot) continue;\n if (typeof slot === \"object\") {\n Object.assign(slots, slot);\n } else if (typeof slot === \"function\") {\n Object.assign(slots, mergeSlots(slot()));\n }\n }\n return slots;\n}\nfunction __astro_tag_component__(Component, rendererName) {\n if (!Component) return;\n if (typeof Component !== \"function\") return;\n Object.defineProperty(Component, Renderer2, {\n value: rendererName,\n enumerable: false,\n writable: false\n });\n}\nfunction spreadAttributes(values = {}, _name, { class: scopedClassName } = {}) {\n let output = \"\";\n if (scopedClassName) {\n if (typeof values.class !== \"undefined\") {\n values.class += ` ${scopedClassName}`;\n } else if (typeof values[\"class:list\"] !== \"undefined\") {\n values[\"class:list\"] = [values[\"class:list\"], scopedClassName];\n } else {\n values.class = scopedClassName;\n }\n }\n for (const [key, value] of Object.entries(values)) {\n output += addAttribute2(value, key, true);\n }\n return markHTMLString2(output);\n}\nfunction defineStyleVars(defs) {\n let output = \"\";\n let arr = !Array.isArray(defs) ? [defs] : defs;\n for (const vars of arr) {\n for (const [key, value] of Object.entries(vars)) {\n if (value || value === 0) {\n output += `--${key}: ${value};`;\n }\n }\n }\n return markHTMLString2(output);\n}\nexport {\n Fragment,\n HTMLBytes,\n HTMLString,\n Renderer,\n __astro_tag_component__,\n addAttribute,\n createAstro,\n createComponent,\n createHeadAndContent,\n createTransitionScope,\n defineScriptVars,\n defineStyleVars,\n escapeHTML,\n isHTMLString,\n markHTMLString,\n maybeRenderHead,\n mergeSlots,\n renderTemplate as render,\n renderComponent,\n renderEndpoint,\n renderHTMLElement,\n renderHead,\n renderJSX,\n renderPage,\n renderScript,\n renderScriptElement,\n renderSlot,\n renderSlotToString,\n renderTemplate2 as renderTemplate,\n renderToString,\n renderTransition,\n renderUniqueStylesheet,\n spreadAttributes,\n unescapeHTML,\n voidElementNames\n};\n"],"names":["AstroErrorData.InvalidComponentArgs","AstroErrorData.AstroGlobUsedOutside","AstroErrorData.AstroGlobNoMatch","AstroErrorData.MissingMediaQueryDirective","AstroErrorData.NoMatchingImport","islandScriptDev","islandScript","AstroErrorData.NoMatchingRenderer","AstroErrorData.NoClientOnlyHint","AstroErrorData.NoClientEntrypoint","addAttribute2","markHTMLString2"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31]} \ No newline at end of file diff --git a/Target/chunks/astro_CwgT-hI-.mjs.map b/Target/chunks/astro_CwgT-hI-.mjs.map new file mode 100644 index 00000000..452686a4 --- /dev/null +++ b/Target/chunks/astro_CwgT-hI-.mjs.map @@ -0,0 +1 @@ +{"version":3,"file":"astro_CwgT-hI-.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;"} \ No newline at end of file diff --git a/Target/chunks/astro_nwDp3uAs.mjs.map b/Target/chunks/astro_nwDp3uAs.mjs.map deleted file mode 100644 index f850b826..00000000 --- a/Target/chunks/astro_nwDp3uAs.mjs.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"astro_nwDp3uAs.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;"} \ No newline at end of file diff --git a/Target/manifest_CHLZX6co.mjs.map b/Target/manifest_CnXHI3ra.mjs.map similarity index 99% rename from Target/manifest_CHLZX6co.mjs.map rename to Target/manifest_CnXHI3ra.mjs.map index 854f8f59..d87354fe 100644 --- a/Target/manifest_CHLZX6co.mjs.map +++ b/Target/manifest_CnXHI3ra.mjs.map @@ -1 +1 @@ -{"version":3,"file":"manifest_CHLZX6co.mjs","sources":["../../../../../node_modules/astro/dist/actions/runtime/virtual/shared.js","../../../../../node_modules/astro/dist/core/routing/manifest/generator.js","../../../../../node_modules/astro/dist/core/routing/manifest/serialization.js","../../../../../node_modules/astro/dist/core/app/common.js"],"sourcesContent":["import { parse as devalueParse, stringify as devalueStringify } from \"devalue\";\nimport { ACTION_QUERY_PARAMS as _ACTION_QUERY_PARAMS } from \"../../consts.js\";\nconst ACTION_QUERY_PARAMS = _ACTION_QUERY_PARAMS;\nconst ACTION_ERROR_CODES = [\n \"BAD_REQUEST\",\n \"UNAUTHORIZED\",\n \"FORBIDDEN\",\n \"NOT_FOUND\",\n \"TIMEOUT\",\n \"CONFLICT\",\n \"PRECONDITION_FAILED\",\n \"PAYLOAD_TOO_LARGE\",\n \"UNSUPPORTED_MEDIA_TYPE\",\n \"UNPROCESSABLE_CONTENT\",\n \"TOO_MANY_REQUESTS\",\n \"CLIENT_CLOSED_REQUEST\",\n \"INTERNAL_SERVER_ERROR\"\n];\nconst codeToStatusMap = {\n // Implemented from tRPC error code table\n // https://trpc.io/docs/server/error-handling#error-codes\n BAD_REQUEST: 400,\n UNAUTHORIZED: 401,\n FORBIDDEN: 403,\n NOT_FOUND: 404,\n TIMEOUT: 405,\n CONFLICT: 409,\n PRECONDITION_FAILED: 412,\n PAYLOAD_TOO_LARGE: 413,\n UNSUPPORTED_MEDIA_TYPE: 415,\n UNPROCESSABLE_CONTENT: 422,\n TOO_MANY_REQUESTS: 429,\n CLIENT_CLOSED_REQUEST: 499,\n INTERNAL_SERVER_ERROR: 500\n};\nconst statusToCodeMap = Object.entries(codeToStatusMap).reduce(\n // reverse the key-value pairs\n (acc, [key, value]) => ({ ...acc, [value]: key }),\n {}\n);\nclass ActionError extends Error {\n type = \"AstroActionError\";\n code = \"INTERNAL_SERVER_ERROR\";\n status = 500;\n constructor(params) {\n super(params.message);\n this.code = params.code;\n this.status = ActionError.codeToStatus(params.code);\n if (params.stack) {\n this.stack = params.stack;\n }\n }\n static codeToStatus(code) {\n return codeToStatusMap[code];\n }\n static statusToCode(status) {\n return statusToCodeMap[status] ?? \"INTERNAL_SERVER_ERROR\";\n }\n static fromJson(body) {\n if (isInputError(body)) {\n return new ActionInputError(body.issues);\n }\n if (isActionError(body)) {\n return new ActionError(body);\n }\n return new ActionError({\n code: \"INTERNAL_SERVER_ERROR\"\n });\n }\n}\nfunction isActionError(error) {\n return typeof error === \"object\" && error != null && \"type\" in error && error.type === \"AstroActionError\";\n}\nfunction isInputError(error) {\n return typeof error === \"object\" && error != null && \"type\" in error && error.type === \"AstroActionInputError\" && \"issues\" in error && Array.isArray(error.issues);\n}\nclass ActionInputError extends ActionError {\n type = \"AstroActionInputError\";\n // We don't expose all ZodError properties.\n // Not all properties will serialize from server to client,\n // and we don't want to import the full ZodError object into the client.\n issues;\n fields;\n constructor(issues) {\n super({\n message: `Failed to validate: ${JSON.stringify(issues, null, 2)}`,\n code: \"BAD_REQUEST\"\n });\n this.issues = issues;\n this.fields = {};\n for (const issue of issues) {\n if (issue.path.length > 0) {\n const key = issue.path[0].toString();\n this.fields[key] ??= [];\n this.fields[key]?.push(issue.message);\n }\n }\n }\n}\nasync function callSafely(handler) {\n try {\n const data = await handler();\n return { data, error: void 0 };\n } catch (e) {\n if (e instanceof ActionError) {\n return { data: void 0, error: e };\n }\n return {\n data: void 0,\n error: new ActionError({\n message: e instanceof Error ? e.message : \"Unknown error\",\n code: \"INTERNAL_SERVER_ERROR\"\n })\n };\n }\n}\nfunction getActionQueryString(name) {\n const searchParams = new URLSearchParams({ [_ACTION_QUERY_PARAMS.actionName]: name });\n return `?${searchParams.toString()}`;\n}\nfunction getActionProps(action) {\n const params = new URLSearchParams(action.toString());\n const actionName = params.get(\"_astroAction\");\n if (!actionName) {\n throw new Error(\"Invalid actions function was passed to getActionProps()\");\n }\n return {\n type: \"hidden\",\n name: \"_astroAction\",\n value: actionName\n };\n}\nfunction serializeActionResult(res) {\n if (res.error) {\n if (import.meta.env?.DEV) {\n actionResultErrorStack.set(res.error.stack);\n }\n return {\n type: \"error\",\n status: res.error.status,\n contentType: \"application/json\",\n body: JSON.stringify({\n ...res.error,\n message: res.error.message\n })\n };\n }\n if (res.data === void 0) {\n return {\n type: \"empty\",\n status: 204\n };\n }\n return {\n type: \"data\",\n status: 200,\n contentType: \"application/json+devalue\",\n body: devalueStringify(res.data, {\n // Add support for URL objects\n URL: (value) => value instanceof URL && value.href\n })\n };\n}\nfunction deserializeActionResult(res) {\n if (res.type === \"error\") {\n if (import.meta.env?.PROD) {\n return { error: ActionError.fromJson(JSON.parse(res.body)), data: void 0 };\n } else {\n const error = ActionError.fromJson(JSON.parse(res.body));\n error.stack = actionResultErrorStack.get();\n return {\n error,\n data: void 0\n };\n }\n }\n if (res.type === \"empty\") {\n return { data: void 0, error: void 0 };\n }\n return {\n data: devalueParse(res.body, {\n URL: (href) => new URL(href)\n }),\n error: void 0\n };\n}\nconst actionResultErrorStack = /* @__PURE__ */ function actionResultErrorStackFn() {\n let errorStack;\n return {\n set(stack) {\n errorStack = stack;\n },\n get() {\n return errorStack;\n }\n };\n}();\nexport {\n ACTION_ERROR_CODES,\n ACTION_QUERY_PARAMS,\n ActionError,\n ActionInputError,\n callSafely,\n deserializeActionResult,\n getActionProps,\n getActionQueryString,\n isActionError,\n isInputError,\n serializeActionResult\n};\n","import { compile } from \"path-to-regexp\";\nfunction sanitizeParams(params) {\n return Object.fromEntries(\n Object.entries(params).map(([key, value]) => {\n if (typeof value === \"string\") {\n return [key, value.normalize().replace(/#/g, \"%23\").replace(/\\?/g, \"%3F\")];\n }\n return [key, value];\n })\n );\n}\nfunction getRouteGenerator(segments, addTrailingSlash) {\n const template = segments.map((segment) => {\n return \"/\" + segment.map((part) => {\n if (part.spread) {\n return `:${part.content.slice(3)}(.*)?`;\n } else if (part.dynamic) {\n return `:${part.content}`;\n } else {\n return part.content.normalize().replace(/\\?/g, \"%3F\").replace(/#/g, \"%23\").replace(/%5B/g, \"[\").replace(/%5D/g, \"]\").replace(/[.*+?^${}()|[\\]\\\\]/g, \"\\\\$&\");\n }\n }).join(\"\");\n }).join(\"\");\n let trailing = \"\";\n if (addTrailingSlash === \"always\" && segments.length) {\n trailing = \"/\";\n }\n const toPath = compile(template + trailing);\n return (params) => {\n const sanitizedParams = sanitizeParams(params);\n const path = toPath(sanitizedParams);\n return path || \"/\";\n };\n}\nexport {\n getRouteGenerator\n};\n","import { getRouteGenerator } from \"./generator.js\";\nfunction serializeRouteData(routeData, trailingSlash) {\n return {\n ...routeData,\n generate: void 0,\n pattern: routeData.pattern.source,\n redirectRoute: routeData.redirectRoute ? serializeRouteData(routeData.redirectRoute, trailingSlash) : void 0,\n fallbackRoutes: routeData.fallbackRoutes.map((fallbackRoute) => {\n return serializeRouteData(fallbackRoute, trailingSlash);\n }),\n _meta: { trailingSlash }\n };\n}\nfunction deserializeRouteData(rawRouteData) {\n return {\n route: rawRouteData.route,\n type: rawRouteData.type,\n pattern: new RegExp(rawRouteData.pattern),\n params: rawRouteData.params,\n component: rawRouteData.component,\n generate: getRouteGenerator(rawRouteData.segments, rawRouteData._meta.trailingSlash),\n pathname: rawRouteData.pathname || void 0,\n segments: rawRouteData.segments,\n prerender: rawRouteData.prerender,\n redirect: rawRouteData.redirect,\n redirectRoute: rawRouteData.redirectRoute ? deserializeRouteData(rawRouteData.redirectRoute) : void 0,\n fallbackRoutes: rawRouteData.fallbackRoutes.map((fallback) => {\n return deserializeRouteData(fallback);\n }),\n isIndex: rawRouteData.isIndex\n };\n}\nexport {\n deserializeRouteData,\n serializeRouteData\n};\n","import { decodeKey } from \"../encryption.js\";\nimport { deserializeRouteData } from \"../routing/manifest/serialization.js\";\nfunction deserializeManifest(serializedManifest) {\n const routes = [];\n for (const serializedRoute of serializedManifest.routes) {\n routes.push({\n ...serializedRoute,\n routeData: deserializeRouteData(serializedRoute.routeData)\n });\n const route = serializedRoute;\n route.routeData = deserializeRouteData(serializedRoute.routeData);\n }\n const assets = new Set(serializedManifest.assets);\n const componentMetadata = new Map(serializedManifest.componentMetadata);\n const inlinedScripts = new Map(serializedManifest.inlinedScripts);\n const clientDirectives = new Map(serializedManifest.clientDirectives);\n const serverIslandNameMap = new Map(serializedManifest.serverIslandNameMap);\n const key = decodeKey(serializedManifest.key);\n return {\n // in case user middleware exists, this no-op middleware will be reassigned (see plugin-ssr.ts)\n middleware(_, next) {\n return next();\n },\n ...serializedManifest,\n assets,\n componentMetadata,\n inlinedScripts,\n clientDirectives,\n routes,\n serverIslandNameMap,\n key\n };\n}\nexport {\n deserializeManifest\n};\n"],"names":[],"mappings":"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","x_google_ignoreList":[0,1,2,3]} \ No newline at end of file +{"version":3,"file":"manifest_CnXHI3ra.mjs","sources":["../../../../../node_modules/astro/dist/actions/runtime/virtual/shared.js","../../../../../node_modules/astro/dist/core/routing/manifest/generator.js","../../../../../node_modules/astro/dist/core/routing/manifest/serialization.js","../../../../../node_modules/astro/dist/core/app/common.js"],"sourcesContent":["import { parse as devalueParse, stringify as devalueStringify } from \"devalue\";\nimport { ACTION_QUERY_PARAMS as _ACTION_QUERY_PARAMS } from \"../../consts.js\";\nconst ACTION_QUERY_PARAMS = _ACTION_QUERY_PARAMS;\nconst ACTION_ERROR_CODES = [\n \"BAD_REQUEST\",\n \"UNAUTHORIZED\",\n \"FORBIDDEN\",\n \"NOT_FOUND\",\n \"TIMEOUT\",\n \"CONFLICT\",\n \"PRECONDITION_FAILED\",\n \"PAYLOAD_TOO_LARGE\",\n \"UNSUPPORTED_MEDIA_TYPE\",\n \"UNPROCESSABLE_CONTENT\",\n \"TOO_MANY_REQUESTS\",\n \"CLIENT_CLOSED_REQUEST\",\n \"INTERNAL_SERVER_ERROR\"\n];\nconst codeToStatusMap = {\n // Implemented from tRPC error code table\n // https://trpc.io/docs/server/error-handling#error-codes\n BAD_REQUEST: 400,\n UNAUTHORIZED: 401,\n FORBIDDEN: 403,\n NOT_FOUND: 404,\n TIMEOUT: 405,\n CONFLICT: 409,\n PRECONDITION_FAILED: 412,\n PAYLOAD_TOO_LARGE: 413,\n UNSUPPORTED_MEDIA_TYPE: 415,\n UNPROCESSABLE_CONTENT: 422,\n TOO_MANY_REQUESTS: 429,\n CLIENT_CLOSED_REQUEST: 499,\n INTERNAL_SERVER_ERROR: 500\n};\nconst statusToCodeMap = Object.entries(codeToStatusMap).reduce(\n // reverse the key-value pairs\n (acc, [key, value]) => ({ ...acc, [value]: key }),\n {}\n);\nclass ActionError extends Error {\n type = \"AstroActionError\";\n code = \"INTERNAL_SERVER_ERROR\";\n status = 500;\n constructor(params) {\n super(params.message);\n this.code = params.code;\n this.status = ActionError.codeToStatus(params.code);\n if (params.stack) {\n this.stack = params.stack;\n }\n }\n static codeToStatus(code) {\n return codeToStatusMap[code];\n }\n static statusToCode(status) {\n return statusToCodeMap[status] ?? \"INTERNAL_SERVER_ERROR\";\n }\n static fromJson(body) {\n if (isInputError(body)) {\n return new ActionInputError(body.issues);\n }\n if (isActionError(body)) {\n return new ActionError(body);\n }\n return new ActionError({\n code: \"INTERNAL_SERVER_ERROR\"\n });\n }\n}\nfunction isActionError(error) {\n return typeof error === \"object\" && error != null && \"type\" in error && error.type === \"AstroActionError\";\n}\nfunction isInputError(error) {\n return typeof error === \"object\" && error != null && \"type\" in error && error.type === \"AstroActionInputError\" && \"issues\" in error && Array.isArray(error.issues);\n}\nclass ActionInputError extends ActionError {\n type = \"AstroActionInputError\";\n // We don't expose all ZodError properties.\n // Not all properties will serialize from server to client,\n // and we don't want to import the full ZodError object into the client.\n issues;\n fields;\n constructor(issues) {\n super({\n message: `Failed to validate: ${JSON.stringify(issues, null, 2)}`,\n code: \"BAD_REQUEST\"\n });\n this.issues = issues;\n this.fields = {};\n for (const issue of issues) {\n if (issue.path.length > 0) {\n const key = issue.path[0].toString();\n this.fields[key] ??= [];\n this.fields[key]?.push(issue.message);\n }\n }\n }\n}\nasync function callSafely(handler) {\n try {\n const data = await handler();\n return { data, error: void 0 };\n } catch (e) {\n if (e instanceof ActionError) {\n return { data: void 0, error: e };\n }\n return {\n data: void 0,\n error: new ActionError({\n message: e instanceof Error ? e.message : \"Unknown error\",\n code: \"INTERNAL_SERVER_ERROR\"\n })\n };\n }\n}\nfunction getActionQueryString(name) {\n const searchParams = new URLSearchParams({ [_ACTION_QUERY_PARAMS.actionName]: name });\n return `?${searchParams.toString()}`;\n}\nfunction getActionProps(action) {\n const params = new URLSearchParams(action.toString());\n const actionName = params.get(\"_astroAction\");\n if (!actionName) {\n throw new Error(\"Invalid actions function was passed to getActionProps()\");\n }\n return {\n type: \"hidden\",\n name: \"_astroAction\",\n value: actionName\n };\n}\nfunction serializeActionResult(res) {\n if (res.error) {\n if (import.meta.env?.DEV) {\n actionResultErrorStack.set(res.error.stack);\n }\n return {\n type: \"error\",\n status: res.error.status,\n contentType: \"application/json\",\n body: JSON.stringify({\n ...res.error,\n message: res.error.message\n })\n };\n }\n if (res.data === void 0) {\n return {\n type: \"empty\",\n status: 204\n };\n }\n return {\n type: \"data\",\n status: 200,\n contentType: \"application/json+devalue\",\n body: devalueStringify(res.data, {\n // Add support for URL objects\n URL: (value) => value instanceof URL && value.href\n })\n };\n}\nfunction deserializeActionResult(res) {\n if (res.type === \"error\") {\n if (import.meta.env?.PROD) {\n return { error: ActionError.fromJson(JSON.parse(res.body)), data: void 0 };\n } else {\n const error = ActionError.fromJson(JSON.parse(res.body));\n error.stack = actionResultErrorStack.get();\n return {\n error,\n data: void 0\n };\n }\n }\n if (res.type === \"empty\") {\n return { data: void 0, error: void 0 };\n }\n return {\n data: devalueParse(res.body, {\n URL: (href) => new URL(href)\n }),\n error: void 0\n };\n}\nconst actionResultErrorStack = /* @__PURE__ */ function actionResultErrorStackFn() {\n let errorStack;\n return {\n set(stack) {\n errorStack = stack;\n },\n get() {\n return errorStack;\n }\n };\n}();\nexport {\n ACTION_ERROR_CODES,\n ACTION_QUERY_PARAMS,\n ActionError,\n ActionInputError,\n callSafely,\n deserializeActionResult,\n getActionProps,\n getActionQueryString,\n isActionError,\n isInputError,\n serializeActionResult\n};\n","import { compile } from \"path-to-regexp\";\nfunction sanitizeParams(params) {\n return Object.fromEntries(\n Object.entries(params).map(([key, value]) => {\n if (typeof value === \"string\") {\n return [key, value.normalize().replace(/#/g, \"%23\").replace(/\\?/g, \"%3F\")];\n }\n return [key, value];\n })\n );\n}\nfunction getRouteGenerator(segments, addTrailingSlash) {\n const template = segments.map((segment) => {\n return \"/\" + segment.map((part) => {\n if (part.spread) {\n return `:${part.content.slice(3)}(.*)?`;\n } else if (part.dynamic) {\n return `:${part.content}`;\n } else {\n return part.content.normalize().replace(/\\?/g, \"%3F\").replace(/#/g, \"%23\").replace(/%5B/g, \"[\").replace(/%5D/g, \"]\").replace(/[.*+?^${}()|[\\]\\\\]/g, \"\\\\$&\");\n }\n }).join(\"\");\n }).join(\"\");\n let trailing = \"\";\n if (addTrailingSlash === \"always\" && segments.length) {\n trailing = \"/\";\n }\n const toPath = compile(template + trailing);\n return (params) => {\n const sanitizedParams = sanitizeParams(params);\n const path = toPath(sanitizedParams);\n return path || \"/\";\n };\n}\nexport {\n getRouteGenerator\n};\n","import { getRouteGenerator } from \"./generator.js\";\nfunction serializeRouteData(routeData, trailingSlash) {\n return {\n ...routeData,\n generate: void 0,\n pattern: routeData.pattern.source,\n redirectRoute: routeData.redirectRoute ? serializeRouteData(routeData.redirectRoute, trailingSlash) : void 0,\n fallbackRoutes: routeData.fallbackRoutes.map((fallbackRoute) => {\n return serializeRouteData(fallbackRoute, trailingSlash);\n }),\n _meta: { trailingSlash }\n };\n}\nfunction deserializeRouteData(rawRouteData) {\n return {\n route: rawRouteData.route,\n type: rawRouteData.type,\n pattern: new RegExp(rawRouteData.pattern),\n params: rawRouteData.params,\n component: rawRouteData.component,\n generate: getRouteGenerator(rawRouteData.segments, rawRouteData._meta.trailingSlash),\n pathname: rawRouteData.pathname || void 0,\n segments: rawRouteData.segments,\n prerender: rawRouteData.prerender,\n redirect: rawRouteData.redirect,\n redirectRoute: rawRouteData.redirectRoute ? deserializeRouteData(rawRouteData.redirectRoute) : void 0,\n fallbackRoutes: rawRouteData.fallbackRoutes.map((fallback) => {\n return deserializeRouteData(fallback);\n }),\n isIndex: rawRouteData.isIndex\n };\n}\nexport {\n deserializeRouteData,\n serializeRouteData\n};\n","import { decodeKey } from \"../encryption.js\";\nimport { deserializeRouteData } from \"../routing/manifest/serialization.js\";\nfunction deserializeManifest(serializedManifest) {\n const routes = [];\n for (const serializedRoute of serializedManifest.routes) {\n routes.push({\n ...serializedRoute,\n routeData: deserializeRouteData(serializedRoute.routeData)\n });\n const route = serializedRoute;\n route.routeData = deserializeRouteData(serializedRoute.routeData);\n }\n const assets = new Set(serializedManifest.assets);\n const componentMetadata = new Map(serializedManifest.componentMetadata);\n const inlinedScripts = new Map(serializedManifest.inlinedScripts);\n const clientDirectives = new Map(serializedManifest.clientDirectives);\n const serverIslandNameMap = new Map(serializedManifest.serverIslandNameMap);\n const key = decodeKey(serializedManifest.key);\n return {\n // in case user middleware exists, this no-op middleware will be reassigned (see plugin-ssr.ts)\n middleware(_, next) {\n return next();\n },\n ...serializedManifest,\n assets,\n componentMetadata,\n inlinedScripts,\n clientDirectives,\n routes,\n serverIslandNameMap,\n key\n };\n}\nexport {\n deserializeManifest\n};\n"],"names":[],"mappings":"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","x_google_ignoreList":[0,1,2,3]} \ No newline at end of file From bdbdaacec2ae6e8083d4c0a5729f07e26355c072 Mon Sep 17 00:00:00 2001 From: Nikola Hristov Date: Tue, 27 Aug 2024 13:02:15 +0300 Subject: [PATCH 030/112] --- Documentation/.nojekyll | 1 + Documentation/assets/custom.css | 54 + Documentation/assets/highlight.css | 22 + Documentation/assets/icons.js | 18 + Documentation/assets/icons.svg | 1 + Documentation/assets/main.js | 60 + Documentation/assets/navigation.js | 1 + Documentation/assets/search.js | 1 + Documentation/assets/style.css | 1448 +++++++++++++++++ Documentation/index.html | 19 + Documentation/modules/Script_Firebase.html | 2 + Documentation/modules/Script_SWUP.html | 2 + Documentation/modules/env.html | 1 + .../variables/Script_Firebase.firebase.html | 1 + Documentation/variables/Script_SWUP.SWUP.html | 1 + 15 files changed, 1632 insertions(+) create mode 100644 Documentation/.nojekyll create mode 100644 Documentation/assets/custom.css create mode 100644 Documentation/assets/highlight.css create mode 100644 Documentation/assets/icons.js create mode 100644 Documentation/assets/icons.svg create mode 100644 Documentation/assets/main.js create mode 100644 Documentation/assets/navigation.js create mode 100644 Documentation/assets/search.js create mode 100644 Documentation/assets/style.css create mode 100644 Documentation/index.html create mode 100644 Documentation/modules/Script_Firebase.html create mode 100644 Documentation/modules/Script_SWUP.html create mode 100644 Documentation/modules/env.html create mode 100644 Documentation/variables/Script_Firebase.firebase.html create mode 100644 Documentation/variables/Script_SWUP.SWUP.html diff --git a/Documentation/.nojekyll b/Documentation/.nojekyll new file mode 100644 index 00000000..e2ac6616 --- /dev/null +++ b/Documentation/.nojekyll @@ -0,0 +1 @@ +TypeDoc added this file to prevent GitHub Pages from using Jekyll. You can turn off this behavior by setting the `githubPages` option to false. \ No newline at end of file diff --git a/Documentation/assets/custom.css b/Documentation/assets/custom.css new file mode 100644 index 00000000..e360ec98 --- /dev/null +++ b/Documentation/assets/custom.css @@ -0,0 +1,54 @@ +:root { + --dark-color-background: #000; + --dark-color-background-secondary: #000; + --dark-code-background: #040404; + --color-accent: #2463eb; + --light-hl-0: #b58900; + --light-hl-1: #d33682; + --light-hl-2: #dc322f; + --light-hl-3: #2aa198; + --light-hl-4: #859900; + --dark-hl-0: #ffdd00; + --dark-hl-1: #ff66ff; + --dark-hl-2: #ff4444; + --dark-hl-3: #44ffff; + --dark-hl-4: #44ff44; +} + +body #tsd-search .field label { + left: 50%; + margin-left: -20px; + z-index: 1; + text-align: center; +} + +body #tsd-search.has-focus .field label { + display: none; +} + +body #tsd-search .field input { + z-index: 2; +} + +body pre, +body .tsd-page-toolbar, +body .tsd-generator { + border: none; +} + +body .tsd-navigation a, +body .tsd-navigation summary > span, +body .tsd-page-navigation a { + padding: 0.5rem; + border-radius: 8px; +} + +body .tsd-description .tsd-signatures .tsd-signature, +body .tsd-signature, +body .tsd-signatures .tsd-signature, +body .tsd-typography td, +body .tsd-typography th, +body code.tsd-tag { + border-radius: 12px; + border-width: 2px; +} diff --git a/Documentation/assets/highlight.css b/Documentation/assets/highlight.css new file mode 100644 index 00000000..5674cf39 --- /dev/null +++ b/Documentation/assets/highlight.css @@ -0,0 +1,22 @@ +:root { + --light-code-background: #FFFFFF; + --dark-code-background: #1E1E1E; +} + +@media (prefers-color-scheme: light) { :root { + --code-background: var(--light-code-background); +} } + +@media (prefers-color-scheme: dark) { :root { + --code-background: var(--dark-code-background); +} } + +:root[data-theme='light'] { + --code-background: var(--light-code-background); +} + +:root[data-theme='dark'] { + --code-background: var(--dark-code-background); +} + +pre, code { background: var(--code-background); } diff --git a/Documentation/assets/icons.js b/Documentation/assets/icons.js new file mode 100644 index 00000000..e88e8ca7 --- /dev/null +++ b/Documentation/assets/icons.js @@ -0,0 +1,18 @@ +(function() { + addIcons(); + function addIcons() { + if (document.readyState === "loading") return document.addEventListener("DOMContentLoaded", addIcons); + const svg = document.body.appendChild(document.createElementNS("http://www.w3.org/2000/svg", "svg")); + svg.innerHTML = `""`; + svg.style.display = "none"; + if (location.protocol === "file:") updateUseElements(); + } + + function updateUseElements() { + document.querySelectorAll("use").forEach(el => { + if (el.getAttribute("href").includes("#icon-")) { + el.setAttribute("href", el.getAttribute("href").replace(/.*#/, "#")); + } + }); + } +})() \ No newline at end of file diff --git a/Documentation/assets/icons.svg b/Documentation/assets/icons.svg new file mode 100644 index 00000000..e371b8b5 --- /dev/null +++ b/Documentation/assets/icons.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/Documentation/assets/main.js b/Documentation/assets/main.js new file mode 100644 index 00000000..21a5d74d --- /dev/null +++ b/Documentation/assets/main.js @@ -0,0 +1,60 @@ +"use strict"; +window.translations={"copy":"Copy","copied":"Copied!","normally_hidden":"This member is normally hidden due to your filter settings."}; +"use strict";(()=>{var Pe=Object.create;var ie=Object.defineProperty;var Oe=Object.getOwnPropertyDescriptor;var _e=Object.getOwnPropertyNames;var Re=Object.getPrototypeOf,Me=Object.prototype.hasOwnProperty;var Fe=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports);var De=(t,e,n,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of _e(e))!Me.call(t,i)&&i!==n&&ie(t,i,{get:()=>e[i],enumerable:!(r=Oe(e,i))||r.enumerable});return t};var Ae=(t,e,n)=>(n=t!=null?Pe(Re(t)):{},De(e||!t||!t.__esModule?ie(n,"default",{value:t,enumerable:!0}):n,t));var ue=Fe((ae,le)=>{(function(){var t=function(e){var n=new t.Builder;return n.pipeline.add(t.trimmer,t.stopWordFilter,t.stemmer),n.searchPipeline.add(t.stemmer),e.call(n,n),n.build()};t.version="2.3.9";t.utils={},t.utils.warn=function(e){return function(n){e.console&&console.warn&&console.warn(n)}}(this),t.utils.asString=function(e){return e==null?"":e.toString()},t.utils.clone=function(e){if(e==null)return e;for(var n=Object.create(null),r=Object.keys(e),i=0;i0){var d=t.utils.clone(n)||{};d.position=[a,u],d.index=s.length,s.push(new t.Token(r.slice(a,o),d))}a=o+1}}return s},t.tokenizer.separator=/[\s\-]+/;t.Pipeline=function(){this._stack=[]},t.Pipeline.registeredFunctions=Object.create(null),t.Pipeline.registerFunction=function(e,n){n in this.registeredFunctions&&t.utils.warn("Overwriting existing registered function: "+n),e.label=n,t.Pipeline.registeredFunctions[e.label]=e},t.Pipeline.warnIfFunctionNotRegistered=function(e){var n=e.label&&e.label in this.registeredFunctions;n||t.utils.warn(`Function is not registered with pipeline. This may cause problems when serialising the index. +`,e)},t.Pipeline.load=function(e){var n=new t.Pipeline;return e.forEach(function(r){var i=t.Pipeline.registeredFunctions[r];if(i)n.add(i);else throw new Error("Cannot load unregistered function: "+r)}),n},t.Pipeline.prototype.add=function(){var e=Array.prototype.slice.call(arguments);e.forEach(function(n){t.Pipeline.warnIfFunctionNotRegistered(n),this._stack.push(n)},this)},t.Pipeline.prototype.after=function(e,n){t.Pipeline.warnIfFunctionNotRegistered(n);var r=this._stack.indexOf(e);if(r==-1)throw new Error("Cannot find existingFn");r=r+1,this._stack.splice(r,0,n)},t.Pipeline.prototype.before=function(e,n){t.Pipeline.warnIfFunctionNotRegistered(n);var r=this._stack.indexOf(e);if(r==-1)throw new Error("Cannot find existingFn");this._stack.splice(r,0,n)},t.Pipeline.prototype.remove=function(e){var n=this._stack.indexOf(e);n!=-1&&this._stack.splice(n,1)},t.Pipeline.prototype.run=function(e){for(var n=this._stack.length,r=0;r1&&(oe&&(r=s),o!=e);)i=r-n,s=n+Math.floor(i/2),o=this.elements[s*2];if(o==e||o>e)return s*2;if(ol?d+=2:a==l&&(n+=r[u+1]*i[d+1],u+=2,d+=2);return n},t.Vector.prototype.similarity=function(e){return this.dot(e)/this.magnitude()||0},t.Vector.prototype.toArray=function(){for(var e=new Array(this.elements.length/2),n=1,r=0;n0){var o=s.str.charAt(0),a;o in s.node.edges?a=s.node.edges[o]:(a=new t.TokenSet,s.node.edges[o]=a),s.str.length==1&&(a.final=!0),i.push({node:a,editsRemaining:s.editsRemaining,str:s.str.slice(1)})}if(s.editsRemaining!=0){if("*"in s.node.edges)var l=s.node.edges["*"];else{var l=new t.TokenSet;s.node.edges["*"]=l}if(s.str.length==0&&(l.final=!0),i.push({node:l,editsRemaining:s.editsRemaining-1,str:s.str}),s.str.length>1&&i.push({node:s.node,editsRemaining:s.editsRemaining-1,str:s.str.slice(1)}),s.str.length==1&&(s.node.final=!0),s.str.length>=1){if("*"in s.node.edges)var u=s.node.edges["*"];else{var u=new t.TokenSet;s.node.edges["*"]=u}s.str.length==1&&(u.final=!0),i.push({node:u,editsRemaining:s.editsRemaining-1,str:s.str.slice(1)})}if(s.str.length>1){var d=s.str.charAt(0),m=s.str.charAt(1),p;m in s.node.edges?p=s.node.edges[m]:(p=new t.TokenSet,s.node.edges[m]=p),s.str.length==1&&(p.final=!0),i.push({node:p,editsRemaining:s.editsRemaining-1,str:d+s.str.slice(2)})}}}return r},t.TokenSet.fromString=function(e){for(var n=new t.TokenSet,r=n,i=0,s=e.length;i=e;n--){var r=this.uncheckedNodes[n],i=r.child.toString();i in this.minimizedNodes?r.parent.edges[r.char]=this.minimizedNodes[i]:(r.child._str=i,this.minimizedNodes[i]=r.child),this.uncheckedNodes.pop()}};t.Index=function(e){this.invertedIndex=e.invertedIndex,this.fieldVectors=e.fieldVectors,this.tokenSet=e.tokenSet,this.fields=e.fields,this.pipeline=e.pipeline},t.Index.prototype.search=function(e){return this.query(function(n){var r=new t.QueryParser(e,n);r.parse()})},t.Index.prototype.query=function(e){for(var n=new t.Query(this.fields),r=Object.create(null),i=Object.create(null),s=Object.create(null),o=Object.create(null),a=Object.create(null),l=0;l1?this._b=1:this._b=e},t.Builder.prototype.k1=function(e){this._k1=e},t.Builder.prototype.add=function(e,n){var r=e[this._ref],i=Object.keys(this._fields);this._documents[r]=n||{},this.documentCount+=1;for(var s=0;s=this.length)return t.QueryLexer.EOS;var e=this.str.charAt(this.pos);return this.pos+=1,e},t.QueryLexer.prototype.width=function(){return this.pos-this.start},t.QueryLexer.prototype.ignore=function(){this.start==this.pos&&(this.pos+=1),this.start=this.pos},t.QueryLexer.prototype.backup=function(){this.pos-=1},t.QueryLexer.prototype.acceptDigitRun=function(){var e,n;do e=this.next(),n=e.charCodeAt(0);while(n>47&&n<58);e!=t.QueryLexer.EOS&&this.backup()},t.QueryLexer.prototype.more=function(){return this.pos1&&(e.backup(),e.emit(t.QueryLexer.TERM)),e.ignore(),e.more())return t.QueryLexer.lexText},t.QueryLexer.lexEditDistance=function(e){return e.ignore(),e.acceptDigitRun(),e.emit(t.QueryLexer.EDIT_DISTANCE),t.QueryLexer.lexText},t.QueryLexer.lexBoost=function(e){return e.ignore(),e.acceptDigitRun(),e.emit(t.QueryLexer.BOOST),t.QueryLexer.lexText},t.QueryLexer.lexEOS=function(e){e.width()>0&&e.emit(t.QueryLexer.TERM)},t.QueryLexer.termSeparator=t.tokenizer.separator,t.QueryLexer.lexText=function(e){for(;;){var n=e.next();if(n==t.QueryLexer.EOS)return t.QueryLexer.lexEOS;if(n.charCodeAt(0)==92){e.escapeCharacter();continue}if(n==":")return t.QueryLexer.lexField;if(n=="~")return e.backup(),e.width()>0&&e.emit(t.QueryLexer.TERM),t.QueryLexer.lexEditDistance;if(n=="^")return e.backup(),e.width()>0&&e.emit(t.QueryLexer.TERM),t.QueryLexer.lexBoost;if(n=="+"&&e.width()===1||n=="-"&&e.width()===1)return e.emit(t.QueryLexer.PRESENCE),t.QueryLexer.lexText;if(n.match(t.QueryLexer.termSeparator))return t.QueryLexer.lexTerm}},t.QueryParser=function(e,n){this.lexer=new t.QueryLexer(e),this.query=n,this.currentClause={},this.lexemeIdx=0},t.QueryParser.prototype.parse=function(){this.lexer.run(),this.lexemes=this.lexer.lexemes;for(var e=t.QueryParser.parseClause;e;)e=e(this);return this.query},t.QueryParser.prototype.peekLexeme=function(){return this.lexemes[this.lexemeIdx]},t.QueryParser.prototype.consumeLexeme=function(){var e=this.peekLexeme();return this.lexemeIdx+=1,e},t.QueryParser.prototype.nextClause=function(){var e=this.currentClause;this.query.clause(e),this.currentClause={}},t.QueryParser.parseClause=function(e){var n=e.peekLexeme();if(n!=null)switch(n.type){case t.QueryLexer.PRESENCE:return t.QueryParser.parsePresence;case t.QueryLexer.FIELD:return t.QueryParser.parseField;case t.QueryLexer.TERM:return t.QueryParser.parseTerm;default:var r="expected either a field or a term, found "+n.type;throw n.str.length>=1&&(r+=" with value '"+n.str+"'"),new t.QueryParseError(r,n.start,n.end)}},t.QueryParser.parsePresence=function(e){var n=e.consumeLexeme();if(n!=null){switch(n.str){case"-":e.currentClause.presence=t.Query.presence.PROHIBITED;break;case"+":e.currentClause.presence=t.Query.presence.REQUIRED;break;default:var r="unrecognised presence operator'"+n.str+"'";throw new t.QueryParseError(r,n.start,n.end)}var i=e.peekLexeme();if(i==null){var r="expecting term or field, found nothing";throw new t.QueryParseError(r,n.start,n.end)}switch(i.type){case t.QueryLexer.FIELD:return t.QueryParser.parseField;case t.QueryLexer.TERM:return t.QueryParser.parseTerm;default:var r="expecting term or field, found '"+i.type+"'";throw new t.QueryParseError(r,i.start,i.end)}}},t.QueryParser.parseField=function(e){var n=e.consumeLexeme();if(n!=null){if(e.query.allFields.indexOf(n.str)==-1){var r=e.query.allFields.map(function(o){return"'"+o+"'"}).join(", "),i="unrecognised field '"+n.str+"', possible fields: "+r;throw new t.QueryParseError(i,n.start,n.end)}e.currentClause.fields=[n.str];var s=e.peekLexeme();if(s==null){var i="expecting term, found nothing";throw new t.QueryParseError(i,n.start,n.end)}switch(s.type){case t.QueryLexer.TERM:return t.QueryParser.parseTerm;default:var i="expecting term, found '"+s.type+"'";throw new t.QueryParseError(i,s.start,s.end)}}},t.QueryParser.parseTerm=function(e){var n=e.consumeLexeme();if(n!=null){e.currentClause.term=n.str.toLowerCase(),n.str.indexOf("*")!=-1&&(e.currentClause.usePipeline=!1);var r=e.peekLexeme();if(r==null){e.nextClause();return}switch(r.type){case t.QueryLexer.TERM:return e.nextClause(),t.QueryParser.parseTerm;case t.QueryLexer.FIELD:return e.nextClause(),t.QueryParser.parseField;case t.QueryLexer.EDIT_DISTANCE:return t.QueryParser.parseEditDistance;case t.QueryLexer.BOOST:return t.QueryParser.parseBoost;case t.QueryLexer.PRESENCE:return e.nextClause(),t.QueryParser.parsePresence;default:var i="Unexpected lexeme type '"+r.type+"'";throw new t.QueryParseError(i,r.start,r.end)}}},t.QueryParser.parseEditDistance=function(e){var n=e.consumeLexeme();if(n!=null){var r=parseInt(n.str,10);if(isNaN(r)){var i="edit distance must be numeric";throw new t.QueryParseError(i,n.start,n.end)}e.currentClause.editDistance=r;var s=e.peekLexeme();if(s==null){e.nextClause();return}switch(s.type){case t.QueryLexer.TERM:return e.nextClause(),t.QueryParser.parseTerm;case t.QueryLexer.FIELD:return e.nextClause(),t.QueryParser.parseField;case t.QueryLexer.EDIT_DISTANCE:return t.QueryParser.parseEditDistance;case t.QueryLexer.BOOST:return t.QueryParser.parseBoost;case t.QueryLexer.PRESENCE:return e.nextClause(),t.QueryParser.parsePresence;default:var i="Unexpected lexeme type '"+s.type+"'";throw new t.QueryParseError(i,s.start,s.end)}}},t.QueryParser.parseBoost=function(e){var n=e.consumeLexeme();if(n!=null){var r=parseInt(n.str,10);if(isNaN(r)){var i="boost must be numeric";throw new t.QueryParseError(i,n.start,n.end)}e.currentClause.boost=r;var s=e.peekLexeme();if(s==null){e.nextClause();return}switch(s.type){case t.QueryLexer.TERM:return e.nextClause(),t.QueryParser.parseTerm;case t.QueryLexer.FIELD:return e.nextClause(),t.QueryParser.parseField;case t.QueryLexer.EDIT_DISTANCE:return t.QueryParser.parseEditDistance;case t.QueryLexer.BOOST:return t.QueryParser.parseBoost;case t.QueryLexer.PRESENCE:return e.nextClause(),t.QueryParser.parsePresence;default:var i="Unexpected lexeme type '"+s.type+"'";throw new t.QueryParseError(i,s.start,s.end)}}},function(e,n){typeof define=="function"&&define.amd?define(n):typeof ae=="object"?le.exports=n():e.lunr=n()}(this,function(){return t})})()});var se=[];function G(t,e){se.push({selector:e,constructor:t})}var U=class{constructor(){this.alwaysVisibleMember=null;this.createComponents(document.body),this.ensureFocusedElementVisible(),this.listenForCodeCopies(),window.addEventListener("hashchange",()=>this.ensureFocusedElementVisible()),document.body.style.display||(this.ensureFocusedElementVisible(),this.updateIndexVisibility(),this.scrollToHash())}createComponents(e){se.forEach(n=>{e.querySelectorAll(n.selector).forEach(r=>{r.dataset.hasInstance||(new n.constructor({el:r,app:this}),r.dataset.hasInstance=String(!0))})})}filterChanged(){this.ensureFocusedElementVisible()}showPage(){document.body.style.display&&(document.body.style.removeProperty("display"),this.ensureFocusedElementVisible(),this.updateIndexVisibility(),this.scrollToHash())}scrollToHash(){if(location.hash){let e=document.getElementById(location.hash.substring(1));if(!e)return;e.scrollIntoView({behavior:"instant",block:"start"})}}ensureActivePageVisible(){let e=document.querySelector(".tsd-navigation .current"),n=e?.parentElement;for(;n&&!n.classList.contains(".tsd-navigation");)n instanceof HTMLDetailsElement&&(n.open=!0),n=n.parentElement;if(e&&!Ve(e)){let r=e.getBoundingClientRect().top-document.documentElement.clientHeight/4;document.querySelector(".site-menu").scrollTop=r,document.querySelector(".col-sidebar").scrollTop=r}}updateIndexVisibility(){let e=document.querySelector(".tsd-index-content"),n=e?.open;e&&(e.open=!0),document.querySelectorAll(".tsd-index-section").forEach(r=>{r.style.display="block";let i=Array.from(r.querySelectorAll(".tsd-index-link")).every(s=>s.offsetParent==null);r.style.display=i?"none":"block"}),e&&(e.open=n)}ensureFocusedElementVisible(){if(this.alwaysVisibleMember&&(this.alwaysVisibleMember.classList.remove("always-visible"),this.alwaysVisibleMember.firstElementChild.remove(),this.alwaysVisibleMember=null),!location.hash)return;let e=document.getElementById(location.hash.substring(1));if(!e)return;let n=e.parentElement;for(;n&&n.tagName!=="SECTION";)n=n.parentElement;if(!n)return;let r=n.offsetParent==null,i=n;for(;i!==document.body;)i instanceof HTMLDetailsElement&&(i.open=!0),i=i.parentElement;if(n.offsetParent==null){this.alwaysVisibleMember=n,n.classList.add("always-visible");let s=document.createElement("p");s.classList.add("warning"),s.textContent=window.translations.normally_hidden,n.prepend(s)}r&&e.scrollIntoView()}listenForCodeCopies(){document.querySelectorAll("pre > button").forEach(e=>{let n;e.addEventListener("click",()=>{e.previousElementSibling instanceof HTMLElement&&navigator.clipboard.writeText(e.previousElementSibling.innerText.trim()),e.textContent=window.translations.copied,e.classList.add("visible"),clearTimeout(n),n=setTimeout(()=>{e.classList.remove("visible"),n=setTimeout(()=>{e.textContent=window.translations.copy},100)},1e3)})})}};function Ve(t){let e=t.getBoundingClientRect(),n=Math.max(document.documentElement.clientHeight,window.innerHeight);return!(e.bottom<0||e.top-n>=0)}var oe=(t,e=100)=>{let n;return()=>{clearTimeout(n),n=setTimeout(()=>t(),e)}};var pe=Ae(ue());async function ce(t,e){if(!window.searchData)return;let n=await fetch(window.searchData),r=new Blob([await n.arrayBuffer()]).stream().pipeThrough(new DecompressionStream("gzip")),i=await new Response(r).json();t.data=i,t.index=pe.Index.load(i.index),e.classList.remove("loading"),e.classList.add("ready")}function fe(){let t=document.getElementById("tsd-search");if(!t)return;let e={base:t.dataset.base+"/"},n=document.getElementById("tsd-search-script");t.classList.add("loading"),n&&(n.addEventListener("error",()=>{t.classList.remove("loading"),t.classList.add("failure")}),n.addEventListener("load",()=>{ce(e,t)}),ce(e,t));let r=document.querySelector("#tsd-search input"),i=document.querySelector("#tsd-search .results");if(!r||!i)throw new Error("The input field or the result list wrapper was not found");i.addEventListener("mouseup",()=>{te(t)}),r.addEventListener("focus",()=>t.classList.add("has-focus")),He(t,i,r,e)}function He(t,e,n,r){n.addEventListener("input",oe(()=>{Ne(t,e,n,r)},200)),n.addEventListener("keydown",i=>{i.key=="Enter"?Be(e,t):i.key=="ArrowUp"?(de(e,n,-1),i.preventDefault()):i.key==="ArrowDown"&&(de(e,n,1),i.preventDefault())}),document.body.addEventListener("keypress",i=>{i.altKey||i.ctrlKey||i.metaKey||!n.matches(":focus")&&i.key==="/"&&(i.preventDefault(),n.focus())}),document.body.addEventListener("keyup",i=>{t.classList.contains("has-focus")&&(i.key==="Escape"||!e.matches(":focus-within")&&!n.matches(":focus"))&&(n.blur(),te(t))})}function te(t){t.classList.remove("has-focus")}function Ne(t,e,n,r){if(!r.index||!r.data)return;e.textContent="";let i=n.value.trim(),s;if(i){let o=i.split(" ").map(a=>a.length?`*${a}*`:"").join(" ");s=r.index.search(o)}else s=[];for(let o=0;oa.score-o.score);for(let o=0,a=Math.min(10,s.length);o`,d=he(l.name,i);globalThis.DEBUG_SEARCH_WEIGHTS&&(d+=` (score: ${s[o].score.toFixed(2)})`),l.parent&&(d=` + ${he(l.parent,i)}.${d}`);let m=document.createElement("li");m.classList.value=l.classes??"";let p=document.createElement("a");p.href=r.base+l.url,p.innerHTML=u+d,m.append(p),p.addEventListener("focus",()=>{e.querySelector(".current")?.classList.remove("current"),m.classList.add("current")}),e.appendChild(m)}}function de(t,e,n){let r=t.querySelector(".current");if(!r)r=t.querySelector(n==1?"li:first-child":"li:last-child"),r&&r.classList.add("current");else{let i=r;if(n===1)do i=i.nextElementSibling??void 0;while(i instanceof HTMLElement&&i.offsetParent==null);else do i=i.previousElementSibling??void 0;while(i instanceof HTMLElement&&i.offsetParent==null);i?(r.classList.remove("current"),i.classList.add("current")):n===-1&&(r.classList.remove("current"),e.focus())}}function Be(t,e){let n=t.querySelector(".current");if(n||(n=t.querySelector("li:first-child")),n){let r=n.querySelector("a");r&&(window.location.href=r.href),te(e)}}function he(t,e){if(e==="")return t;let n=t.toLocaleLowerCase(),r=e.toLocaleLowerCase(),i=[],s=0,o=n.indexOf(r);for(;o!=-1;)i.push(ee(t.substring(s,o)),`${ee(t.substring(o,o+r.length))}`),s=o+r.length,o=n.indexOf(r,s);return i.push(ee(t.substring(s))),i.join("")}var je={"&":"&","<":"<",">":">","'":"'",'"':"""};function ee(t){return t.replace(/[&<>"'"]/g,e=>je[e])}var I=class{constructor(e){this.el=e.el,this.app=e.app}};var F="mousedown",ye="mousemove",N="mouseup",J={x:0,y:0},me=!1,ne=!1,qe=!1,D=!1,ve=/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent);document.documentElement.classList.add(ve?"is-mobile":"not-mobile");ve&&"ontouchstart"in document.documentElement&&(qe=!0,F="touchstart",ye="touchmove",N="touchend");document.addEventListener(F,t=>{ne=!0,D=!1;let e=F=="touchstart"?t.targetTouches[0]:t;J.y=e.pageY||0,J.x=e.pageX||0});document.addEventListener(ye,t=>{if(ne&&!D){let e=F=="touchstart"?t.targetTouches[0]:t,n=J.x-(e.pageX||0),r=J.y-(e.pageY||0);D=Math.sqrt(n*n+r*r)>10}});document.addEventListener(N,()=>{ne=!1});document.addEventListener("click",t=>{me&&(t.preventDefault(),t.stopImmediatePropagation(),me=!1)});var X=class extends I{constructor(e){super(e),this.className=this.el.dataset.toggle||"",this.el.addEventListener(N,n=>this.onPointerUp(n)),this.el.addEventListener("click",n=>n.preventDefault()),document.addEventListener(F,n=>this.onDocumentPointerDown(n)),document.addEventListener(N,n=>this.onDocumentPointerUp(n))}setActive(e){if(this.active==e)return;this.active=e,document.documentElement.classList.toggle("has-"+this.className,e),this.el.classList.toggle("active",e);let n=(this.active?"to-has-":"from-has-")+this.className;document.documentElement.classList.add(n),setTimeout(()=>document.documentElement.classList.remove(n),500)}onPointerUp(e){D||(this.setActive(!0),e.preventDefault())}onDocumentPointerDown(e){if(this.active){if(e.target.closest(".col-sidebar, .tsd-filter-group"))return;this.setActive(!1)}}onDocumentPointerUp(e){if(!D&&this.active&&e.target.closest(".col-sidebar")){let n=e.target.closest("a");if(n){let r=window.location.href;r.indexOf("#")!=-1&&(r=r.substring(0,r.indexOf("#"))),n.href.substring(0,r.length)==r&&setTimeout(()=>this.setActive(!1),250)}}}};var re;try{re=localStorage}catch{re={getItem(){return null},setItem(){}}}var Q=re;var ge=document.head.appendChild(document.createElement("style"));ge.dataset.for="filters";var Y=class extends I{constructor(e){super(e),this.key=`filter-${this.el.name}`,this.value=this.el.checked,this.el.addEventListener("change",()=>{this.setLocalStorage(this.el.checked)}),this.setLocalStorage(this.fromLocalStorage()),ge.innerHTML+=`html:not(.${this.key}) .tsd-is-${this.el.name} { display: none; } +`,this.app.updateIndexVisibility()}fromLocalStorage(){let e=Q.getItem(this.key);return e?e==="true":this.el.checked}setLocalStorage(e){Q.setItem(this.key,e.toString()),this.value=e,this.handleValueChange()}handleValueChange(){this.el.checked=this.value,document.documentElement.classList.toggle(this.key,this.value),this.app.filterChanged(),this.app.updateIndexVisibility()}};var Z=class extends I{constructor(e){super(e),this.summary=this.el.querySelector(".tsd-accordion-summary"),this.icon=this.summary.querySelector("svg"),this.key=`tsd-accordion-${this.summary.dataset.key??this.summary.textContent.trim().replace(/\s+/g,"-").toLowerCase()}`;let n=Q.getItem(this.key);this.el.open=n?n==="true":this.el.open,this.el.addEventListener("toggle",()=>this.update());let r=this.summary.querySelector("a");r&&r.addEventListener("click",()=>{location.assign(r.href)}),this.update()}update(){this.icon.style.transform=`rotate(${this.el.open?0:-90}deg)`,Q.setItem(this.key,this.el.open.toString())}};function Ee(t){let e=Q.getItem("tsd-theme")||"os";t.value=e,xe(e),t.addEventListener("change",()=>{Q.setItem("tsd-theme",t.value),xe(t.value)})}function xe(t){document.documentElement.dataset.theme=t}var K;function we(){let t=document.getElementById("tsd-nav-script");t&&(t.addEventListener("load",Le),Le())}async function Le(){let t=document.getElementById("tsd-nav-container");if(!t||!window.navigationData)return;let n=await(await fetch(window.navigationData)).arrayBuffer(),r=new Blob([n]).stream().pipeThrough(new DecompressionStream("gzip")),i=await new Response(r).json();K=t.dataset.base,K.endsWith("/")||(K+="/"),t.innerHTML="";for(let s of i)Se(s,t,[]);window.app.createComponents(t),window.app.showPage(),window.app.ensureActivePageVisible()}function Se(t,e,n){let r=e.appendChild(document.createElement("li"));if(t.children){let i=[...n,t.text],s=r.appendChild(document.createElement("details"));s.className=t.class?`${t.class} tsd-accordion`:"tsd-accordion";let o=s.appendChild(document.createElement("summary"));o.className="tsd-accordion-summary",o.dataset.key=i.join("$"),o.innerHTML='',be(t,o);let a=s.appendChild(document.createElement("div"));a.className="tsd-accordion-details";let l=a.appendChild(document.createElement("ul"));l.className="tsd-nested-navigation";for(let u of t.children)Se(u,l,i)}else be(t,r,t.class)}function be(t,e,n){if(t.path){let r=e.appendChild(document.createElement("a"));r.href=K+t.path,n&&(r.className=n),location.pathname===r.pathname&&!r.href.includes("#")&&r.classList.add("current"),t.kind&&(r.innerHTML=``),r.appendChild(document.createElement("span")).textContent=t.text}else e.appendChild(document.createElement("span")).textContent=t.text}G(X,"a[data-toggle]");G(Z,".tsd-accordion");G(Y,".tsd-filter-item input[type=checkbox]");var Te=document.getElementById("tsd-theme");Te&&Ee(Te);var $e=new U;Object.defineProperty(window,"app",{value:$e});fe();we();})(); +/*! Bundled license information: + +lunr/lunr.js: + (** + * lunr - http://lunrjs.com - A bit like Solr, but much smaller and not as bright - 2.3.9 + * Copyright (C) 2020 Oliver Nightingale + * @license MIT + *) + (*! + * lunr.utils + * Copyright (C) 2020 Oliver Nightingale + *) + (*! + * lunr.Set + * Copyright (C) 2020 Oliver Nightingale + *) + (*! + * lunr.tokenizer + * Copyright (C) 2020 Oliver Nightingale + *) + (*! + * lunr.Pipeline + * Copyright (C) 2020 Oliver Nightingale + *) + (*! + * lunr.Vector + * Copyright (C) 2020 Oliver Nightingale + *) + (*! + * lunr.stemmer + * Copyright (C) 2020 Oliver Nightingale + * Includes code from - http://tartarus.org/~martin/PorterStemmer/js.txt + *) + (*! + * lunr.stopWordFilter + * Copyright (C) 2020 Oliver Nightingale + *) + (*! + * lunr.trimmer + * Copyright (C) 2020 Oliver Nightingale + *) + (*! + * lunr.TokenSet + * Copyright (C) 2020 Oliver Nightingale + *) + (*! + * lunr.Index + * Copyright (C) 2020 Oliver Nightingale + *) + (*! + * lunr.Builder + * Copyright (C) 2020 Oliver Nightingale + *) +*/ diff --git a/Documentation/assets/navigation.js b/Documentation/assets/navigation.js new file mode 100644 index 00000000..2423e9b9 --- /dev/null +++ b/Documentation/assets/navigation.js @@ -0,0 +1 @@ +window.navigationData = "data:application/octet-stream;base64,H4sIAAAAAAAACo3OSwrCMBSF4b2ccVCosyzAcUHEQSmSNrckmMaSpkGQ7F1a8ZkIjs+9P191haeLB8eudXrwYGiVNtKRBa+e41Y7asRIYBiEV+Doz3IyNK7vb8fHwUr53oDhpK0EL/K1LqkF4bRocr0uG94UsY7sZT/sy5+0efyL9VlJSEsnjS2UdwzZkFrIhi9DrG/NTOMjfAEAAA==" \ No newline at end of file diff --git a/Documentation/assets/search.js b/Documentation/assets/search.js new file mode 100644 index 00000000..f1b1af0c --- /dev/null +++ b/Documentation/assets/search.js @@ -0,0 +1 @@ +window.searchData = "data:application/octet-stream;base64,H4sIAAAAAAAACpWSXWuDMBSG/8t7fbBqZGz5AYPdDcq2iyDFasrC/CJROxD/+1DrYtWy7i7k5Hny5py00MXZgIsWXypPwH1CHmUSHPtYq7La7T/eXkGodQqOrEjqVJrdWDv0NeezylIQ4jQyRhpwoKPJxma6uaeJtIqOS9MNHaGMtMyrRSZ7yyrzs9LyGBl5K/dUvzf7aelb5f81nm6r1+/4zbn1Fpk3q/wyb7YyhwSVJ/IbvEUjtVFFDg7fYc4TCCcl06Sf8WgmxEWW9TkISRHXwzK8HHuXcVXo/vB4eueChEsecx4fWBiSmOChMGxMDrszgB5IeFugtwK9K9AHCX8L9FegfwUykGBbIFuB7AoMQCLYAoMVOO4M/W6krmTyMvZdiHFeLQ6XSQTTIFsE4G3X2b7ztpu1vq/1d9hPZiXMSthdEjN+rC2Xb13+f1zmXJdzj2s97n2ehcCzAu9vQUgoVSlTlUtwEXbdD15Xl8KzBAAA"; \ No newline at end of file diff --git a/Documentation/assets/style.css b/Documentation/assets/style.css new file mode 100644 index 00000000..9d619a64 --- /dev/null +++ b/Documentation/assets/style.css @@ -0,0 +1,1448 @@ +:root { + /* Light */ + --light-color-background: #f2f4f8; + --light-color-background-secondary: #eff0f1; + --light-color-warning-text: #222; + --light-color-background-warning: #e6e600; + --light-color-icon-background: var(--light-color-background); + --light-color-accent: #c5c7c9; + --light-color-active-menu-item: var(--light-color-accent); + --light-color-text: #222; + --light-color-text-aside: #6e6e6e; + --light-color-link: #1f70c2; + --light-color-focus-outline: #3584e4; + + --light-color-ts-keyword: #056bd6; + --light-color-ts-project: #b111c9; + --light-color-ts-module: var(--light-color-ts-project); + --light-color-ts-namespace: var(--light-color-ts-project); + --light-color-ts-enum: #7e6f15; + --light-color-ts-enum-member: var(--light-color-ts-enum); + --light-color-ts-variable: #4760ec; + --light-color-ts-function: #572be7; + --light-color-ts-class: #1f70c2; + --light-color-ts-interface: #108024; + --light-color-ts-constructor: var(--light-color-ts-class); + --light-color-ts-property: var(--light-color-ts-variable); + --light-color-ts-method: var(--light-color-ts-function); + --light-color-ts-call-signature: var(--light-color-ts-method); + --light-color-ts-index-signature: var(--light-color-ts-property); + --light-color-ts-constructor-signature: var(--light-color-ts-constructor); + --light-color-ts-parameter: var(--light-color-ts-variable); + /* type literal not included as links will never be generated to it */ + --light-color-ts-type-parameter: #a55c0e; + --light-color-ts-accessor: var(--light-color-ts-property); + --light-color-ts-get-signature: var(--light-color-ts-accessor); + --light-color-ts-set-signature: var(--light-color-ts-accessor); + --light-color-ts-type-alias: #d51270; + /* reference not included as links will be colored with the kind that it points to */ + --light-color-document: #000000; + + --light-external-icon: url("data:image/svg+xml;utf8,"); + --light-color-scheme: light; + + /* Dark */ + --dark-color-background: #2b2e33; + --dark-color-background-secondary: #1e2024; + --dark-color-background-warning: #bebe00; + --dark-color-warning-text: #222; + --dark-color-icon-background: var(--dark-color-background-secondary); + --dark-color-accent: #9096a2; + --dark-color-active-menu-item: #5d5d6a; + --dark-color-text: #f5f5f5; + --dark-color-text-aside: #dddddd; + --dark-color-link: #00aff4; + --dark-color-focus-outline: #4c97f2; + + --dark-color-ts-keyword: #3399ff; + --dark-color-ts-project: #e358ff; + --dark-color-ts-module: var(--dark-color-ts-project); + --dark-color-ts-namespace: var(--dark-color-ts-project); + --dark-color-ts-enum: #f4d93e; + --dark-color-ts-enum-member: var(--dark-color-ts-enum); + --dark-color-ts-variable: #798dff; + --dark-color-ts-function: #a280ff; + --dark-color-ts-class: #8ac4ff; + --dark-color-ts-interface: #6cff87; + --dark-color-ts-constructor: var(--dark-color-ts-class); + --dark-color-ts-property: var(--dark-color-ts-variable); + --dark-color-ts-method: var(--dark-color-ts-function); + --dark-color-ts-call-signature: var(--dark-color-ts-method); + --dark-color-ts-index-signature: var(--dark-color-ts-property); + --dark-color-ts-constructor-signature: var(--dark-color-ts-constructor); + --dark-color-ts-parameter: var(--dark-color-ts-variable); + /* type literal not included as links will never be generated to it */ + --dark-color-ts-type-parameter: #e07d13; + --dark-color-ts-accessor: var(--dark-color-ts-property); + --dark-color-ts-get-signature: var(--dark-color-ts-accessor); + --dark-color-ts-set-signature: var(--dark-color-ts-accessor); + --dark-color-ts-type-alias: #ff6492; + /* reference not included as links will be colored with the kind that it points to */ + --dark-color-document: #ffffff; + + --dark-external-icon: url("data:image/svg+xml;utf8,"); + --dark-color-scheme: dark; +} + +@media (prefers-color-scheme: light) { + :root { + --color-background: var(--light-color-background); + --color-background-secondary: var(--light-color-background-secondary); + --color-background-warning: var(--light-color-background-warning); + --color-warning-text: var(--light-color-warning-text); + --color-icon-background: var(--light-color-icon-background); + --color-accent: var(--light-color-accent); + --color-active-menu-item: var(--light-color-active-menu-item); + --color-text: var(--light-color-text); + --color-text-aside: var(--light-color-text-aside); + --color-link: var(--light-color-link); + --color-focus-outline: var(--light-color-focus-outline); + + --color-ts-keyword: var(--light-color-ts-keyword); + --color-ts-module: var(--light-color-ts-module); + --color-ts-namespace: var(--light-color-ts-namespace); + --color-ts-enum: var(--light-color-ts-enum); + --color-ts-enum-member: var(--light-color-ts-enum-member); + --color-ts-variable: var(--light-color-ts-variable); + --color-ts-function: var(--light-color-ts-function); + --color-ts-class: var(--light-color-ts-class); + --color-ts-interface: var(--light-color-ts-interface); + --color-ts-constructor: var(--light-color-ts-constructor); + --color-ts-property: var(--light-color-ts-property); + --color-ts-method: var(--light-color-ts-method); + --color-ts-call-signature: var(--light-color-ts-call-signature); + --color-ts-index-signature: var(--light-color-ts-index-signature); + --color-ts-constructor-signature: var( + --light-color-ts-constructor-signature + ); + --color-ts-parameter: var(--light-color-ts-parameter); + --color-ts-type-parameter: var(--light-color-ts-type-parameter); + --color-ts-accessor: var(--light-color-ts-accessor); + --color-ts-get-signature: var(--light-color-ts-get-signature); + --color-ts-set-signature: var(--light-color-ts-set-signature); + --color-ts-type-alias: var(--light-color-ts-type-alias); + --color-document: var(--light-color-document); + + --external-icon: var(--light-external-icon); + --color-scheme: var(--light-color-scheme); + } +} + +@media (prefers-color-scheme: dark) { + :root { + --color-background: var(--dark-color-background); + --color-background-secondary: var(--dark-color-background-secondary); + --color-background-warning: var(--dark-color-background-warning); + --color-warning-text: var(--dark-color-warning-text); + --color-icon-background: var(--dark-color-icon-background); + --color-accent: var(--dark-color-accent); + --color-active-menu-item: var(--dark-color-active-menu-item); + --color-text: var(--dark-color-text); + --color-text-aside: var(--dark-color-text-aside); + --color-link: var(--dark-color-link); + --color-focus-outline: var(--dark-color-focus-outline); + + --color-ts-keyword: var(--dark-color-ts-keyword); + --color-ts-module: var(--dark-color-ts-module); + --color-ts-namespace: var(--dark-color-ts-namespace); + --color-ts-enum: var(--dark-color-ts-enum); + --color-ts-enum-member: var(--dark-color-ts-enum-member); + --color-ts-variable: var(--dark-color-ts-variable); + --color-ts-function: var(--dark-color-ts-function); + --color-ts-class: var(--dark-color-ts-class); + --color-ts-interface: var(--dark-color-ts-interface); + --color-ts-constructor: var(--dark-color-ts-constructor); + --color-ts-property: var(--dark-color-ts-property); + --color-ts-method: var(--dark-color-ts-method); + --color-ts-call-signature: var(--dark-color-ts-call-signature); + --color-ts-index-signature: var(--dark-color-ts-index-signature); + --color-ts-constructor-signature: var( + --dark-color-ts-constructor-signature + ); + --color-ts-parameter: var(--dark-color-ts-parameter); + --color-ts-type-parameter: var(--dark-color-ts-type-parameter); + --color-ts-accessor: var(--dark-color-ts-accessor); + --color-ts-get-signature: var(--dark-color-ts-get-signature); + --color-ts-set-signature: var(--dark-color-ts-set-signature); + --color-ts-type-alias: var(--dark-color-ts-type-alias); + --color-document: var(--dark-color-document); + + --external-icon: var(--dark-external-icon); + --color-scheme: var(--dark-color-scheme); + } +} + +html { + color-scheme: var(--color-scheme); +} + +body { + margin: 0; +} + +:root[data-theme="light"] { + --color-background: var(--light-color-background); + --color-background-secondary: var(--light-color-background-secondary); + --color-background-warning: var(--light-color-background-warning); + --color-warning-text: var(--light-color-warning-text); + --color-icon-background: var(--light-color-icon-background); + --color-accent: var(--light-color-accent); + --color-active-menu-item: var(--light-color-active-menu-item); + --color-text: var(--light-color-text); + --color-text-aside: var(--light-color-text-aside); + --color-link: var(--light-color-link); + --color-focus-outline: var(--light-color-focus-outline); + + --color-ts-keyword: var(--light-color-ts-keyword); + --color-ts-module: var(--light-color-ts-module); + --color-ts-namespace: var(--light-color-ts-namespace); + --color-ts-enum: var(--light-color-ts-enum); + --color-ts-enum-member: var(--light-color-ts-enum-member); + --color-ts-variable: var(--light-color-ts-variable); + --color-ts-function: var(--light-color-ts-function); + --color-ts-class: var(--light-color-ts-class); + --color-ts-interface: var(--light-color-ts-interface); + --color-ts-constructor: var(--light-color-ts-constructor); + --color-ts-property: var(--light-color-ts-property); + --color-ts-method: var(--light-color-ts-method); + --color-ts-call-signature: var(--light-color-ts-call-signature); + --color-ts-index-signature: var(--light-color-ts-index-signature); + --color-ts-constructor-signature: var( + --light-color-ts-constructor-signature + ); + --color-ts-parameter: var(--light-color-ts-parameter); + --color-ts-type-parameter: var(--light-color-ts-type-parameter); + --color-ts-accessor: var(--light-color-ts-accessor); + --color-ts-get-signature: var(--light-color-ts-get-signature); + --color-ts-set-signature: var(--light-color-ts-set-signature); + --color-ts-type-alias: var(--light-color-ts-type-alias); + --color-document: var(--light-color-document); + + --external-icon: var(--light-external-icon); + --color-scheme: var(--light-color-scheme); +} + +:root[data-theme="dark"] { + --color-background: var(--dark-color-background); + --color-background-secondary: var(--dark-color-background-secondary); + --color-background-warning: var(--dark-color-background-warning); + --color-warning-text: var(--dark-color-warning-text); + --color-icon-background: var(--dark-color-icon-background); + --color-accent: var(--dark-color-accent); + --color-active-menu-item: var(--dark-color-active-menu-item); + --color-text: var(--dark-color-text); + --color-text-aside: var(--dark-color-text-aside); + --color-link: var(--dark-color-link); + --color-focus-outline: var(--dark-color-focus-outline); + + --color-ts-keyword: var(--dark-color-ts-keyword); + --color-ts-module: var(--dark-color-ts-module); + --color-ts-namespace: var(--dark-color-ts-namespace); + --color-ts-enum: var(--dark-color-ts-enum); + --color-ts-enum-member: var(--dark-color-ts-enum-member); + --color-ts-variable: var(--dark-color-ts-variable); + --color-ts-function: var(--dark-color-ts-function); + --color-ts-class: var(--dark-color-ts-class); + --color-ts-interface: var(--dark-color-ts-interface); + --color-ts-constructor: var(--dark-color-ts-constructor); + --color-ts-property: var(--dark-color-ts-property); + --color-ts-method: var(--dark-color-ts-method); + --color-ts-call-signature: var(--dark-color-ts-call-signature); + --color-ts-index-signature: var(--dark-color-ts-index-signature); + --color-ts-constructor-signature: var( + --dark-color-ts-constructor-signature + ); + --color-ts-parameter: var(--dark-color-ts-parameter); + --color-ts-type-parameter: var(--dark-color-ts-type-parameter); + --color-ts-accessor: var(--dark-color-ts-accessor); + --color-ts-get-signature: var(--dark-color-ts-get-signature); + --color-ts-set-signature: var(--dark-color-ts-set-signature); + --color-ts-type-alias: var(--dark-color-ts-type-alias); + --color-document: var(--dark-color-document); + + --external-icon: var(--dark-external-icon); + --color-scheme: var(--dark-color-scheme); +} + +*:focus-visible, +.tsd-accordion-summary:focus-visible svg { + outline: 2px solid var(--color-focus-outline); +} + +.always-visible, +.always-visible .tsd-signatures { + display: inherit !important; +} + +h1, +h2, +h3, +h4, +h5, +h6 { + line-height: 1.2; +} + +h1 { + font-size: 1.875rem; + margin: 0.67rem 0; +} + +h2 { + font-size: 1.5rem; + margin: 0.83rem 0; +} + +h3 { + font-size: 1.25rem; + margin: 1rem 0; +} + +h4 { + font-size: 1.05rem; + margin: 1.33rem 0; +} + +h5 { + font-size: 1rem; + margin: 1.5rem 0; +} + +h6 { + font-size: 0.875rem; + margin: 2.33rem 0; +} + +dl, +menu, +ol, +ul { + margin: 1em 0; +} + +dd { + margin: 0 0 0 40px; +} + +.container { + max-width: 1700px; + padding: 0 2rem; +} + +/* Footer */ +footer { + border-top: 1px solid var(--color-accent); + padding-top: 1rem; + padding-bottom: 1rem; + max-height: 3.5rem; +} +footer > p { + margin: 0 1em; +} + +.container-main { + margin: 0 auto; + /* toolbar, footer, margin */ + min-height: calc(100vh - 41px - 56px - 4rem); +} + +@keyframes fade-in { + from { + opacity: 0; + } + to { + opacity: 1; + } +} +@keyframes fade-out { + from { + opacity: 1; + visibility: visible; + } + to { + opacity: 0; + } +} +@keyframes fade-in-delayed { + 0% { + opacity: 0; + } + 33% { + opacity: 0; + } + 100% { + opacity: 1; + } +} +@keyframes fade-out-delayed { + 0% { + opacity: 1; + visibility: visible; + } + 66% { + opacity: 0; + } + 100% { + opacity: 0; + } +} +@keyframes pop-in-from-right { + from { + transform: translate(100%, 0); + } + to { + transform: translate(0, 0); + } +} +@keyframes pop-out-to-right { + from { + transform: translate(0, 0); + visibility: visible; + } + to { + transform: translate(100%, 0); + } +} +body { + background: var(--color-background); + font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Noto Sans", + Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji"; + font-size: 16px; + color: var(--color-text); +} + +a { + color: var(--color-link); + text-decoration: none; +} +a:hover { + text-decoration: underline; +} +a.external[target="_blank"] { + background-image: var(--external-icon); + background-position: top 3px right; + background-repeat: no-repeat; + padding-right: 13px; +} +a.tsd-anchor-link { + color: var(--color-text); +} + +code, +pre { + font-family: Menlo, Monaco, Consolas, "Courier New", monospace; + padding: 0.2em; + margin: 0; + font-size: 0.875rem; + border-radius: 0.8em; +} + +pre { + position: relative; + white-space: pre; + white-space: pre-wrap; + word-wrap: break-word; + padding: 10px; + border: 1px solid var(--color-accent); +} +pre code { + padding: 0; + font-size: 100%; +} +pre > button { + position: absolute; + top: 10px; + right: 10px; + opacity: 0; + transition: opacity 0.1s; + box-sizing: border-box; +} +pre:hover > button, +pre > button.visible { + opacity: 1; +} + +blockquote { + margin: 1em 0; + padding-left: 1em; + border-left: 4px solid gray; +} + +.tsd-typography { + line-height: 1.333em; +} +.tsd-typography ul { + list-style: square; + padding: 0 0 0 20px; + margin: 0; +} +.tsd-typography .tsd-index-panel h3, +.tsd-index-panel .tsd-typography h3, +.tsd-typography h4, +.tsd-typography h5, +.tsd-typography h6 { + font-size: 1em; +} +.tsd-typography h5, +.tsd-typography h6 { + font-weight: normal; +} +.tsd-typography p, +.tsd-typography ul, +.tsd-typography ol { + margin: 1em 0; +} +.tsd-typography table { + border-collapse: collapse; + border: none; +} +.tsd-typography td, +.tsd-typography th { + padding: 6px 13px; + border: 1px solid var(--color-accent); +} +.tsd-typography thead, +.tsd-typography tr:nth-child(even) { + background-color: var(--color-background-secondary); +} + +.tsd-breadcrumb { + margin: 0; + padding: 0; + color: var(--color-text-aside); +} +.tsd-breadcrumb a { + color: var(--color-text-aside); + text-decoration: none; +} +.tsd-breadcrumb a:hover { + text-decoration: underline; +} +.tsd-breadcrumb li { + display: inline; +} +.tsd-breadcrumb li:after { + content: " / "; +} + +.tsd-comment-tags { + display: flex; + flex-direction: column; +} +dl.tsd-comment-tag-group { + display: flex; + align-items: center; + overflow: hidden; + margin: 0.5em 0; +} +dl.tsd-comment-tag-group dt { + display: flex; + margin-right: 0.5em; + font-size: 0.875em; + font-weight: normal; +} +dl.tsd-comment-tag-group dd { + margin: 0; +} +code.tsd-tag { + padding: 0.25em 0.4em; + border: 0.1em solid var(--color-accent); + margin-right: 0.25em; + font-size: 70%; +} +h1 code.tsd-tag:first-of-type { + margin-left: 0.25em; +} + +dl.tsd-comment-tag-group dd:before, +dl.tsd-comment-tag-group dd:after { + content: " "; +} +dl.tsd-comment-tag-group dd pre, +dl.tsd-comment-tag-group dd:after { + clear: both; +} +dl.tsd-comment-tag-group p { + margin: 0; +} + +.tsd-panel.tsd-comment .lead { + font-size: 1.1em; + line-height: 1.333em; + margin-bottom: 2em; +} +.tsd-panel.tsd-comment .lead:last-child { + margin-bottom: 0; +} + +.tsd-filter-visibility h4 { + font-size: 1rem; + padding-top: 0.75rem; + padding-bottom: 0.5rem; + margin: 0; +} +.tsd-filter-item:not(:last-child) { + margin-bottom: 0.5rem; +} +.tsd-filter-input { + display: flex; + width: -moz-fit-content; + width: fit-content; + align-items: center; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + cursor: pointer; +} +.tsd-filter-input input[type="checkbox"] { + cursor: pointer; + position: absolute; + width: 1.5em; + height: 1.5em; + opacity: 0; +} +.tsd-filter-input input[type="checkbox"]:disabled { + pointer-events: none; +} +.tsd-filter-input svg { + cursor: pointer; + width: 1.5em; + height: 1.5em; + margin-right: 0.5em; + border-radius: 0.33em; + /* Leaving this at full opacity breaks event listeners on Firefox. + Don't remove unless you know what you're doing. */ + opacity: 0.99; +} +.tsd-filter-input input[type="checkbox"]:focus-visible + svg { + outline: 2px solid var(--color-focus-outline); +} +.tsd-checkbox-background { + fill: var(--color-accent); +} +input[type="checkbox"]:checked ~ svg .tsd-checkbox-checkmark { + stroke: var(--color-text); +} +.tsd-filter-input input:disabled ~ svg > .tsd-checkbox-background { + fill: var(--color-background); + stroke: var(--color-accent); + stroke-width: 0.25rem; +} +.tsd-filter-input input:disabled ~ svg > .tsd-checkbox-checkmark { + stroke: var(--color-accent); +} + +.settings-label { + font-weight: bold; + text-transform: uppercase; + display: inline-block; +} + +.tsd-filter-visibility .settings-label { + margin: 0.75rem 0 0.5rem 0; +} + +.tsd-theme-toggle .settings-label { + margin: 0.75rem 0.75rem 0 0; +} + +.tsd-hierarchy { + list-style: square; + margin: 0; +} +.tsd-hierarchy .target { + font-weight: bold; +} + +.tsd-full-hierarchy:not(:last-child) { + margin-bottom: 1em; + padding-bottom: 1em; + border-bottom: 1px solid var(--color-accent); +} +.tsd-full-hierarchy, +.tsd-full-hierarchy ul { + list-style: none; + margin: 0; + padding: 0; +} +.tsd-full-hierarchy ul { + padding-left: 1.5rem; +} +.tsd-full-hierarchy a { + padding: 0.25rem 0 !important; + font-size: 1rem; + display: inline-flex; + align-items: center; + color: var(--color-text); +} + +.tsd-panel-group.tsd-index-group { + margin-bottom: 0; +} +.tsd-index-panel .tsd-index-list { + list-style: none; + line-height: 1.333em; + margin: 0; + padding: 0.25rem 0 0 0; + overflow: hidden; + display: grid; + grid-template-columns: repeat(3, 1fr); + column-gap: 1rem; + grid-template-rows: auto; +} +@media (max-width: 1024px) { + .tsd-index-panel .tsd-index-list { + grid-template-columns: repeat(2, 1fr); + } +} +@media (max-width: 768px) { + .tsd-index-panel .tsd-index-list { + grid-template-columns: repeat(1, 1fr); + } +} +.tsd-index-panel .tsd-index-list li { + -webkit-page-break-inside: avoid; + -moz-page-break-inside: avoid; + -ms-page-break-inside: avoid; + -o-page-break-inside: avoid; + page-break-inside: avoid; +} + +.tsd-flag { + display: inline-block; + padding: 0.25em 0.4em; + border-radius: 4px; + color: var(--color-comment-tag-text); + background-color: var(--color-comment-tag); + text-indent: 0; + font-size: 75%; + line-height: 1; + font-weight: normal; +} + +.tsd-anchor { + position: relative; + top: -100px; +} + +.tsd-member { + position: relative; +} +.tsd-member .tsd-anchor + h3 { + display: flex; + align-items: center; + margin-top: 0; + margin-bottom: 0; + border-bottom: none; +} + +.tsd-navigation.settings { + margin: 1rem 0; +} +.tsd-navigation > a, +.tsd-navigation .tsd-accordion-summary { + width: calc(100% - 0.25rem); + display: flex; + align-items: center; +} +.tsd-navigation a, +.tsd-navigation summary > span, +.tsd-page-navigation a { + display: flex; + width: calc(100% - 0.25rem); + align-items: center; + padding: 0.25rem; + color: var(--color-text); + text-decoration: none; + box-sizing: border-box; +} +.tsd-navigation a.current, +.tsd-page-navigation a.current { + background: var(--color-active-menu-item); +} +.tsd-navigation a:hover, +.tsd-page-navigation a:hover { + text-decoration: underline; +} +.tsd-navigation ul, +.tsd-page-navigation ul { + margin-top: 0; + margin-bottom: 0; + padding: 0; + list-style: none; +} +.tsd-navigation li, +.tsd-page-navigation li { + padding: 0; + max-width: 100%; +} +.tsd-navigation .tsd-nav-link { + display: none; +} +.tsd-nested-navigation { + margin-left: 3rem; +} +.tsd-nested-navigation > li > details { + margin-left: -1.5rem; +} +.tsd-small-nested-navigation { + margin-left: 1.5rem; +} +.tsd-small-nested-navigation > li > details { + margin-left: -1.5rem; +} + +.tsd-page-navigation-section { + margin-left: 10px; +} +.tsd-page-navigation-section > summary { + padding: 0.25rem; +} +.tsd-page-navigation-section > div { + margin-left: 20px; +} +.tsd-page-navigation ul { + padding-left: 1.75rem; +} + +#tsd-sidebar-links a { + margin-top: 0; + margin-bottom: 0.5rem; + line-height: 1.25rem; +} +#tsd-sidebar-links a:last-of-type { + margin-bottom: 0; +} + +a.tsd-index-link { + padding: 0.25rem 0 !important; + font-size: 1rem; + line-height: 1.25rem; + display: inline-flex; + align-items: center; + color: var(--color-text); +} +.tsd-accordion-summary { + list-style-type: none; /* hide marker on non-safari */ + outline: none; /* broken on safari, so just hide it */ +} +.tsd-accordion-summary::-webkit-details-marker { + display: none; /* hide marker on safari */ +} +.tsd-accordion-summary, +.tsd-accordion-summary a { + -moz-user-select: none; + -webkit-user-select: none; + -ms-user-select: none; + user-select: none; + + cursor: pointer; +} +.tsd-accordion-summary a { + width: calc(100% - 1.5rem); +} +.tsd-accordion-summary > * { + margin-top: 0; + margin-bottom: 0; + padding-top: 0; + padding-bottom: 0; +} +.tsd-accordion .tsd-accordion-summary > svg { + margin-left: 0.25rem; + vertical-align: text-top; +} +.tsd-index-content > :not(:first-child) { + margin-top: 0.75rem; +} +.tsd-index-heading { + margin-top: 1.5rem; + margin-bottom: 0.75rem; +} + +.tsd-kind-icon { + margin-right: 0.5rem; + width: 1.25rem; + height: 1.25rem; + min-width: 1.25rem; + min-height: 1.25rem; +} +.tsd-kind-icon path { + transform-origin: center; + transform: scale(1.1); +} +.tsd-signature > .tsd-kind-icon { + margin-right: 0.8rem; +} + +.tsd-panel { + margin-bottom: 2.5rem; +} +.tsd-panel.tsd-member { + margin-bottom: 4rem; +} +.tsd-panel:empty { + display: none; +} +.tsd-panel > h1, +.tsd-panel > h2, +.tsd-panel > h3 { + margin: 1.5rem -1.5rem 0.75rem -1.5rem; + padding: 0 1.5rem 0.75rem 1.5rem; +} +.tsd-panel > h1.tsd-before-signature, +.tsd-panel > h2.tsd-before-signature, +.tsd-panel > h3.tsd-before-signature { + margin-bottom: 0; + border-bottom: none; +} + +.tsd-panel-group { + margin: 2rem 0; +} +.tsd-panel-group.tsd-index-group { + margin: 2rem 0; +} +.tsd-panel-group.tsd-index-group details { + margin: 2rem 0; +} +.tsd-panel-group > .tsd-accordion-summary { + margin-bottom: 1rem; +} + +#tsd-search { + transition: background-color 0.2s; +} +#tsd-search .title { + position: relative; + z-index: 2; +} +#tsd-search .field { + position: absolute; + left: 0; + top: 0; + right: 2.5rem; + height: 100%; +} +#tsd-search .field input { + box-sizing: border-box; + position: relative; + top: -50px; + z-index: 1; + width: 100%; + padding: 0 10px; + opacity: 0; + outline: 0; + border: 0; + background: transparent; + color: var(--color-text); +} +#tsd-search .field label { + position: absolute; + overflow: hidden; + right: -40px; +} +#tsd-search .field input, +#tsd-search .title, +#tsd-toolbar-links a { + transition: opacity 0.2s; +} +#tsd-search .results { + position: absolute; + visibility: hidden; + top: 40px; + width: 100%; + margin: 0; + padding: 0; + list-style: none; + box-shadow: 0 0 4px rgba(0, 0, 0, 0.25); +} +#tsd-search .results li { + background-color: var(--color-background); + line-height: initial; + padding: 4px; +} +#tsd-search .results li:nth-child(even) { + background-color: var(--color-background-secondary); +} +#tsd-search .results li.state { + display: none; +} +#tsd-search .results li.current:not(.no-results), +#tsd-search .results li:hover:not(.no-results) { + background-color: var(--color-accent); +} +#tsd-search .results a { + display: flex; + align-items: center; + padding: 0.25rem; + box-sizing: border-box; +} +#tsd-search .results a:before { + top: 10px; +} +#tsd-search .results span.parent { + color: var(--color-text-aside); + font-weight: normal; +} +#tsd-search.has-focus { + background-color: var(--color-accent); +} +#tsd-search.has-focus .field input { + top: 0; + opacity: 1; +} +#tsd-search.has-focus .title, +#tsd-search.has-focus #tsd-toolbar-links a { + z-index: 0; + opacity: 0; +} +#tsd-search.has-focus .results { + visibility: visible; +} +#tsd-search.loading .results li.state.loading { + display: block; +} +#tsd-search.failure .results li.state.failure { + display: block; +} + +#tsd-toolbar-links { + position: absolute; + top: 0; + right: 2rem; + height: 100%; + display: flex; + align-items: center; + justify-content: flex-end; +} +#tsd-toolbar-links a { + margin-left: 1.5rem; +} +#tsd-toolbar-links a:hover { + text-decoration: underline; +} + +.tsd-signature { + margin: 0 0 1rem 0; + padding: 1rem 0.5rem; + border: 1px solid var(--color-accent); + font-family: Menlo, Monaco, Consolas, "Courier New", monospace; + font-size: 14px; + overflow-x: auto; +} + +.tsd-signature-keyword { + color: var(--color-ts-keyword); + font-weight: normal; +} + +.tsd-signature-symbol { + color: var(--color-text-aside); + font-weight: normal; +} + +.tsd-signature-type { + font-style: italic; + font-weight: normal; +} + +.tsd-signatures { + padding: 0; + margin: 0 0 1em 0; + list-style-type: none; +} +.tsd-signatures .tsd-signature { + margin: 0; + border-color: var(--color-accent); + border-width: 1px 0; + transition: background-color 0.1s; +} +.tsd-signatures .tsd-index-signature:not(:last-child) { + margin-bottom: 1em; +} +.tsd-signatures .tsd-index-signature .tsd-signature { + border-width: 1px; +} +.tsd-description .tsd-signatures .tsd-signature { + border-width: 1px; +} + +ul.tsd-parameter-list, +ul.tsd-type-parameter-list { + list-style: square; + margin: 0; + padding-left: 20px; +} +ul.tsd-parameter-list > li.tsd-parameter-signature, +ul.tsd-type-parameter-list > li.tsd-parameter-signature { + list-style: none; + margin-left: -20px; +} +ul.tsd-parameter-list h5, +ul.tsd-type-parameter-list h5 { + font-size: 16px; + margin: 1em 0 0.5em 0; +} +.tsd-sources { + margin-top: 1rem; + font-size: 0.875em; +} +.tsd-sources a { + color: var(--color-text-aside); + text-decoration: underline; +} +.tsd-sources ul { + list-style: none; + padding: 0; +} + +.tsd-page-toolbar { + position: sticky; + z-index: 1; + top: 0; + left: 0; + width: 100%; + color: var(--color-text); + background: var(--color-background-secondary); + border-bottom: 1px var(--color-accent) solid; + transition: transform 0.3s ease-in-out; +} +.tsd-page-toolbar a { + color: var(--color-text); + text-decoration: none; +} +.tsd-page-toolbar a.title { + font-weight: bold; +} +.tsd-page-toolbar a.title:hover { + text-decoration: underline; +} +.tsd-page-toolbar .tsd-toolbar-contents { + display: flex; + justify-content: space-between; + height: 2.5rem; + margin: 0 auto; +} +.tsd-page-toolbar .table-cell { + position: relative; + white-space: nowrap; + line-height: 40px; +} +.tsd-page-toolbar .table-cell:first-child { + width: 100%; +} +.tsd-page-toolbar .tsd-toolbar-icon { + box-sizing: border-box; + line-height: 0; + padding: 12px 0; +} + +.tsd-widget { + display: inline-block; + overflow: hidden; + opacity: 0.8; + height: 40px; + transition: + opacity 0.1s, + background-color 0.2s; + vertical-align: bottom; + cursor: pointer; +} +.tsd-widget:hover { + opacity: 0.9; +} +.tsd-widget.active { + opacity: 1; + background-color: var(--color-accent); +} +.tsd-widget.no-caption { + width: 40px; +} +.tsd-widget.no-caption:before { + margin: 0; +} + +.tsd-widget.options, +.tsd-widget.menu { + display: none; +} +input[type="checkbox"] + .tsd-widget:before { + background-position: -120px 0; +} +input[type="checkbox"]:checked + .tsd-widget:before { + background-position: -160px 0; +} + +img { + max-width: 100%; +} + +.tsd-anchor-icon { + display: inline-flex; + align-items: center; + margin-left: 0.5rem; + vertical-align: middle; + color: var(--color-text); +} + +.tsd-anchor-icon svg { + width: 1em; + height: 1em; + visibility: hidden; +} + +.tsd-anchor-link:hover > .tsd-anchor-icon svg { + visibility: visible; +} + +.deprecated { + text-decoration: line-through !important; +} + +.warning { + padding: 1rem; + color: var(--color-warning-text); + background: var(--color-background-warning); +} + +.tsd-kind-project { + color: var(--color-ts-project); +} +.tsd-kind-module { + color: var(--color-ts-module); +} +.tsd-kind-namespace { + color: var(--color-ts-namespace); +} +.tsd-kind-enum { + color: var(--color-ts-enum); +} +.tsd-kind-enum-member { + color: var(--color-ts-enum-member); +} +.tsd-kind-variable { + color: var(--color-ts-variable); +} +.tsd-kind-function { + color: var(--color-ts-function); +} +.tsd-kind-class { + color: var(--color-ts-class); +} +.tsd-kind-interface { + color: var(--color-ts-interface); +} +.tsd-kind-constructor { + color: var(--color-ts-constructor); +} +.tsd-kind-property { + color: var(--color-ts-property); +} +.tsd-kind-method { + color: var(--color-ts-method); +} +.tsd-kind-call-signature { + color: var(--color-ts-call-signature); +} +.tsd-kind-index-signature { + color: var(--color-ts-index-signature); +} +.tsd-kind-constructor-signature { + color: var(--color-ts-constructor-signature); +} +.tsd-kind-parameter { + color: var(--color-ts-parameter); +} +.tsd-kind-type-literal { + color: var(--color-ts-type-literal); +} +.tsd-kind-type-parameter { + color: var(--color-ts-type-parameter); +} +.tsd-kind-accessor { + color: var(--color-ts-accessor); +} +.tsd-kind-get-signature { + color: var(--color-ts-get-signature); +} +.tsd-kind-set-signature { + color: var(--color-ts-set-signature); +} +.tsd-kind-type-alias { + color: var(--color-ts-type-alias); +} + +/* if we have a kind icon, don't color the text by kind */ +.tsd-kind-icon ~ span { + color: var(--color-text); +} + +* { + scrollbar-width: thin; + scrollbar-color: var(--color-accent) var(--color-icon-background); +} + +*::-webkit-scrollbar { + width: 0.75rem; +} + +*::-webkit-scrollbar-track { + background: var(--color-icon-background); +} + +*::-webkit-scrollbar-thumb { + background-color: var(--color-accent); + border-radius: 999rem; + border: 0.25rem solid var(--color-icon-background); +} + +/* mobile */ +@media (max-width: 769px) { + .tsd-widget.options, + .tsd-widget.menu { + display: inline-block; + } + + .container-main { + display: flex; + } + html .col-content { + float: none; + max-width: 100%; + width: 100%; + } + html .col-sidebar { + position: fixed !important; + overflow-y: auto; + -webkit-overflow-scrolling: touch; + z-index: 1024; + top: 0 !important; + bottom: 0 !important; + left: auto !important; + right: 0 !important; + padding: 1.5rem 1.5rem 0 0; + width: 75vw; + visibility: hidden; + background-color: var(--color-background); + transform: translate(100%, 0); + } + html .col-sidebar > *:last-child { + padding-bottom: 20px; + } + html .overlay { + content: ""; + display: block; + position: fixed; + z-index: 1023; + top: 0; + left: 0; + right: 0; + bottom: 0; + background-color: rgba(0, 0, 0, 0.75); + visibility: hidden; + } + + .to-has-menu .overlay { + animation: fade-in 0.4s; + } + + .to-has-menu .col-sidebar { + animation: pop-in-from-right 0.4s; + } + + .from-has-menu .overlay { + animation: fade-out 0.4s; + } + + .from-has-menu .col-sidebar { + animation: pop-out-to-right 0.4s; + } + + .has-menu body { + overflow: hidden; + } + .has-menu .overlay { + visibility: visible; + } + .has-menu .col-sidebar { + visibility: visible; + transform: translate(0, 0); + display: flex; + flex-direction: column; + gap: 1.5rem; + max-height: 100vh; + padding: 1rem 2rem; + } + .has-menu .tsd-navigation { + max-height: 100%; + } + #tsd-toolbar-links { + display: none; + } + .tsd-navigation .tsd-nav-link { + display: flex; + } +} + +/* one sidebar */ +@media (min-width: 770px) { + .container-main { + display: grid; + grid-template-columns: minmax(0, 1fr) minmax(0, 2fr); + grid-template-areas: "sidebar content"; + margin: 2rem auto; + } + + .col-sidebar { + grid-area: sidebar; + } + .col-content { + grid-area: content; + padding: 0 1rem; + } +} +@media (min-width: 770px) and (max-width: 1399px) { + .col-sidebar { + max-height: calc(100vh - 2rem - 42px); + overflow: auto; + position: sticky; + top: 42px; + padding-top: 1rem; + } + .site-menu { + margin-top: 1rem; + } +} + +/* two sidebars */ +@media (min-width: 1200px) { + .container-main { + grid-template-columns: minmax(0, 1fr) minmax(0, 2.5fr) minmax(0, 20rem); + grid-template-areas: "sidebar content toc"; + } + + .col-sidebar { + display: contents; + } + + .page-menu { + grid-area: toc; + padding-left: 1rem; + } + .site-menu { + grid-area: sidebar; + } + + .site-menu { + margin-top: 1rem 0; + } + + .page-menu, + .site-menu { + max-height: calc(100vh - 2rem - 42px); + overflow: auto; + position: sticky; + top: 42px; + } +} diff --git a/Documentation/index.html b/Documentation/index.html new file mode 100644 index 00000000..1cc0ca30 --- /dev/null +++ b/Documentation/index.html @@ -0,0 +1,19 @@ +@playform/starter - v0.0.1

@playform/starter - v0.0.1

📄 Starter —

A simple skeleton with TailwindCSS, PostCSS.

+ + + + + +
+ + + + TailwindCSS Logo + + + + + PostCSS Logo + +
+
diff --git a/Documentation/modules/Script_Firebase.html b/Documentation/modules/Script_Firebase.html new file mode 100644 index 00000000..eeca09b6 --- /dev/null +++ b/Documentation/modules/Script_Firebase.html @@ -0,0 +1,2 @@ +Script/Firebase | @playform/starter - v0.0.1

Module Script/Firebase

Index

Variables

diff --git a/Documentation/modules/Script_SWUP.html b/Documentation/modules/Script_SWUP.html new file mode 100644 index 00000000..bca8e756 --- /dev/null +++ b/Documentation/modules/Script_SWUP.html @@ -0,0 +1,2 @@ +Script/SWUP | @playform/starter - v0.0.1

Index

Variables

diff --git a/Documentation/modules/env.html b/Documentation/modules/env.html new file mode 100644 index 00000000..b4d72a7b --- /dev/null +++ b/Documentation/modules/env.html @@ -0,0 +1 @@ +env | @playform/starter - v0.0.1
diff --git a/Documentation/variables/Script_Firebase.firebase.html b/Documentation/variables/Script_Firebase.firebase.html new file mode 100644 index 00000000..a171139d --- /dev/null +++ b/Documentation/variables/Script_Firebase.firebase.html @@ -0,0 +1 @@ +firebase | @playform/starter - v0.0.1
firebase: FirebaseApp
diff --git a/Documentation/variables/Script_SWUP.SWUP.html b/Documentation/variables/Script_SWUP.SWUP.html new file mode 100644 index 00000000..f0eddc58 --- /dev/null +++ b/Documentation/variables/Script_SWUP.SWUP.html @@ -0,0 +1 @@ +SWUP | @playform/starter - v0.0.1
SWUP: Swup
From eee5c3c4802914e4513b67890812e421277362a5 Mon Sep 17 00:00:00 2001 From: Nikola Hristov Date: Tue, 27 Aug 2024 14:25:10 +0300 Subject: [PATCH 031/112] --- Target/{manifest_CnXHI3ra.mjs.map => manifest_C0y05owi.mjs.map} | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) rename Target/{manifest_CnXHI3ra.mjs.map => manifest_C0y05owi.mjs.map} (99%) diff --git a/Target/manifest_CnXHI3ra.mjs.map b/Target/manifest_C0y05owi.mjs.map similarity index 99% rename from Target/manifest_CnXHI3ra.mjs.map rename to Target/manifest_C0y05owi.mjs.map index d87354fe..27766bf4 100644 --- a/Target/manifest_CnXHI3ra.mjs.map +++ b/Target/manifest_C0y05owi.mjs.map @@ -1 +1 @@ -{"version":3,"file":"manifest_CnXHI3ra.mjs","sources":["../../../../../node_modules/astro/dist/actions/runtime/virtual/shared.js","../../../../../node_modules/astro/dist/core/routing/manifest/generator.js","../../../../../node_modules/astro/dist/core/routing/manifest/serialization.js","../../../../../node_modules/astro/dist/core/app/common.js"],"sourcesContent":["import { parse as devalueParse, stringify as devalueStringify } from \"devalue\";\nimport { ACTION_QUERY_PARAMS as _ACTION_QUERY_PARAMS } from \"../../consts.js\";\nconst ACTION_QUERY_PARAMS = _ACTION_QUERY_PARAMS;\nconst ACTION_ERROR_CODES = [\n \"BAD_REQUEST\",\n \"UNAUTHORIZED\",\n \"FORBIDDEN\",\n \"NOT_FOUND\",\n \"TIMEOUT\",\n \"CONFLICT\",\n \"PRECONDITION_FAILED\",\n \"PAYLOAD_TOO_LARGE\",\n \"UNSUPPORTED_MEDIA_TYPE\",\n \"UNPROCESSABLE_CONTENT\",\n \"TOO_MANY_REQUESTS\",\n \"CLIENT_CLOSED_REQUEST\",\n \"INTERNAL_SERVER_ERROR\"\n];\nconst codeToStatusMap = {\n // Implemented from tRPC error code table\n // https://trpc.io/docs/server/error-handling#error-codes\n BAD_REQUEST: 400,\n UNAUTHORIZED: 401,\n FORBIDDEN: 403,\n NOT_FOUND: 404,\n TIMEOUT: 405,\n CONFLICT: 409,\n PRECONDITION_FAILED: 412,\n PAYLOAD_TOO_LARGE: 413,\n UNSUPPORTED_MEDIA_TYPE: 415,\n UNPROCESSABLE_CONTENT: 422,\n TOO_MANY_REQUESTS: 429,\n CLIENT_CLOSED_REQUEST: 499,\n INTERNAL_SERVER_ERROR: 500\n};\nconst statusToCodeMap = Object.entries(codeToStatusMap).reduce(\n // reverse the key-value pairs\n (acc, [key, value]) => ({ ...acc, [value]: key }),\n {}\n);\nclass ActionError extends Error {\n type = \"AstroActionError\";\n code = \"INTERNAL_SERVER_ERROR\";\n status = 500;\n constructor(params) {\n super(params.message);\n this.code = params.code;\n this.status = ActionError.codeToStatus(params.code);\n if (params.stack) {\n this.stack = params.stack;\n }\n }\n static codeToStatus(code) {\n return codeToStatusMap[code];\n }\n static statusToCode(status) {\n return statusToCodeMap[status] ?? \"INTERNAL_SERVER_ERROR\";\n }\n static fromJson(body) {\n if (isInputError(body)) {\n return new ActionInputError(body.issues);\n }\n if (isActionError(body)) {\n return new ActionError(body);\n }\n return new ActionError({\n code: \"INTERNAL_SERVER_ERROR\"\n });\n }\n}\nfunction isActionError(error) {\n return typeof error === \"object\" && error != null && \"type\" in error && error.type === \"AstroActionError\";\n}\nfunction isInputError(error) {\n return typeof error === \"object\" && error != null && \"type\" in error && error.type === \"AstroActionInputError\" && \"issues\" in error && Array.isArray(error.issues);\n}\nclass ActionInputError extends ActionError {\n type = \"AstroActionInputError\";\n // We don't expose all ZodError properties.\n // Not all properties will serialize from server to client,\n // and we don't want to import the full ZodError object into the client.\n issues;\n fields;\n constructor(issues) {\n super({\n message: `Failed to validate: ${JSON.stringify(issues, null, 2)}`,\n code: \"BAD_REQUEST\"\n });\n this.issues = issues;\n this.fields = {};\n for (const issue of issues) {\n if (issue.path.length > 0) {\n const key = issue.path[0].toString();\n this.fields[key] ??= [];\n this.fields[key]?.push(issue.message);\n }\n }\n }\n}\nasync function callSafely(handler) {\n try {\n const data = await handler();\n return { data, error: void 0 };\n } catch (e) {\n if (e instanceof ActionError) {\n return { data: void 0, error: e };\n }\n return {\n data: void 0,\n error: new ActionError({\n message: e instanceof Error ? e.message : \"Unknown error\",\n code: \"INTERNAL_SERVER_ERROR\"\n })\n };\n }\n}\nfunction getActionQueryString(name) {\n const searchParams = new URLSearchParams({ [_ACTION_QUERY_PARAMS.actionName]: name });\n return `?${searchParams.toString()}`;\n}\nfunction getActionProps(action) {\n const params = new URLSearchParams(action.toString());\n const actionName = params.get(\"_astroAction\");\n if (!actionName) {\n throw new Error(\"Invalid actions function was passed to getActionProps()\");\n }\n return {\n type: \"hidden\",\n name: \"_astroAction\",\n value: actionName\n };\n}\nfunction serializeActionResult(res) {\n if (res.error) {\n if (import.meta.env?.DEV) {\n actionResultErrorStack.set(res.error.stack);\n }\n return {\n type: \"error\",\n status: res.error.status,\n contentType: \"application/json\",\n body: JSON.stringify({\n ...res.error,\n message: res.error.message\n })\n };\n }\n if (res.data === void 0) {\n return {\n type: \"empty\",\n status: 204\n };\n }\n return {\n type: \"data\",\n status: 200,\n contentType: \"application/json+devalue\",\n body: devalueStringify(res.data, {\n // Add support for URL objects\n URL: (value) => value instanceof URL && value.href\n })\n };\n}\nfunction deserializeActionResult(res) {\n if (res.type === \"error\") {\n if (import.meta.env?.PROD) {\n return { error: ActionError.fromJson(JSON.parse(res.body)), data: void 0 };\n } else {\n const error = ActionError.fromJson(JSON.parse(res.body));\n error.stack = actionResultErrorStack.get();\n return {\n error,\n data: void 0\n };\n }\n }\n if (res.type === \"empty\") {\n return { data: void 0, error: void 0 };\n }\n return {\n data: devalueParse(res.body, {\n URL: (href) => new URL(href)\n }),\n error: void 0\n };\n}\nconst actionResultErrorStack = /* @__PURE__ */ function actionResultErrorStackFn() {\n let errorStack;\n return {\n set(stack) {\n errorStack = stack;\n },\n get() {\n return errorStack;\n }\n };\n}();\nexport {\n ACTION_ERROR_CODES,\n ACTION_QUERY_PARAMS,\n ActionError,\n ActionInputError,\n callSafely,\n deserializeActionResult,\n getActionProps,\n getActionQueryString,\n isActionError,\n isInputError,\n serializeActionResult\n};\n","import { compile } from \"path-to-regexp\";\nfunction sanitizeParams(params) {\n return Object.fromEntries(\n Object.entries(params).map(([key, value]) => {\n if (typeof value === \"string\") {\n return [key, value.normalize().replace(/#/g, \"%23\").replace(/\\?/g, \"%3F\")];\n }\n return [key, value];\n })\n );\n}\nfunction getRouteGenerator(segments, addTrailingSlash) {\n const template = segments.map((segment) => {\n return \"/\" + segment.map((part) => {\n if (part.spread) {\n return `:${part.content.slice(3)}(.*)?`;\n } else if (part.dynamic) {\n return `:${part.content}`;\n } else {\n return part.content.normalize().replace(/\\?/g, \"%3F\").replace(/#/g, \"%23\").replace(/%5B/g, \"[\").replace(/%5D/g, \"]\").replace(/[.*+?^${}()|[\\]\\\\]/g, \"\\\\$&\");\n }\n }).join(\"\");\n }).join(\"\");\n let trailing = \"\";\n if (addTrailingSlash === \"always\" && segments.length) {\n trailing = \"/\";\n }\n const toPath = compile(template + trailing);\n return (params) => {\n const sanitizedParams = sanitizeParams(params);\n const path = toPath(sanitizedParams);\n return path || \"/\";\n };\n}\nexport {\n getRouteGenerator\n};\n","import { getRouteGenerator } from \"./generator.js\";\nfunction serializeRouteData(routeData, trailingSlash) {\n return {\n ...routeData,\n generate: void 0,\n pattern: routeData.pattern.source,\n redirectRoute: routeData.redirectRoute ? serializeRouteData(routeData.redirectRoute, trailingSlash) : void 0,\n fallbackRoutes: routeData.fallbackRoutes.map((fallbackRoute) => {\n return serializeRouteData(fallbackRoute, trailingSlash);\n }),\n _meta: { trailingSlash }\n };\n}\nfunction deserializeRouteData(rawRouteData) {\n return {\n route: rawRouteData.route,\n type: rawRouteData.type,\n pattern: new RegExp(rawRouteData.pattern),\n params: rawRouteData.params,\n component: rawRouteData.component,\n generate: getRouteGenerator(rawRouteData.segments, rawRouteData._meta.trailingSlash),\n pathname: rawRouteData.pathname || void 0,\n segments: rawRouteData.segments,\n prerender: rawRouteData.prerender,\n redirect: rawRouteData.redirect,\n redirectRoute: rawRouteData.redirectRoute ? deserializeRouteData(rawRouteData.redirectRoute) : void 0,\n fallbackRoutes: rawRouteData.fallbackRoutes.map((fallback) => {\n return deserializeRouteData(fallback);\n }),\n isIndex: rawRouteData.isIndex\n };\n}\nexport {\n deserializeRouteData,\n serializeRouteData\n};\n","import { decodeKey } from \"../encryption.js\";\nimport { deserializeRouteData } from \"../routing/manifest/serialization.js\";\nfunction deserializeManifest(serializedManifest) {\n const routes = [];\n for (const serializedRoute of serializedManifest.routes) {\n routes.push({\n ...serializedRoute,\n routeData: deserializeRouteData(serializedRoute.routeData)\n });\n const route = serializedRoute;\n route.routeData = deserializeRouteData(serializedRoute.routeData);\n }\n const assets = new Set(serializedManifest.assets);\n const componentMetadata = new Map(serializedManifest.componentMetadata);\n const inlinedScripts = new Map(serializedManifest.inlinedScripts);\n const clientDirectives = new Map(serializedManifest.clientDirectives);\n const serverIslandNameMap = new Map(serializedManifest.serverIslandNameMap);\n const key = decodeKey(serializedManifest.key);\n return {\n // in case user middleware exists, this no-op middleware will be reassigned (see plugin-ssr.ts)\n middleware(_, next) {\n return next();\n },\n ...serializedManifest,\n assets,\n componentMetadata,\n inlinedScripts,\n clientDirectives,\n routes,\n serverIslandNameMap,\n key\n };\n}\nexport {\n deserializeManifest\n};\n"],"names":[],"mappings":";;;;;;;;;AAkBA,MAAM,eAAkB,GAAA;AAAA;AAAA;AAAA,EAGtB,WAAa,EAAA,GAAA;AAAA,EACb,YAAc,EAAA,GAAA;AAAA,EACd,SAAW,EAAA,GAAA;AAAA,EACX,SAAW,EAAA,GAAA;AAAA,EACX,OAAS,EAAA,GAAA;AAAA,EACT,QAAU,EAAA,GAAA;AAAA,EACV,mBAAqB,EAAA,GAAA;AAAA,EACrB,iBAAmB,EAAA,GAAA;AAAA,EACnB,sBAAwB,EAAA,GAAA;AAAA,EACxB,qBAAuB,EAAA,GAAA;AAAA,EACvB,iBAAmB,EAAA,GAAA;AAAA,EACnB,qBAAuB,EAAA,GAAA;AAAA,EACvB,qBAAuB,EAAA,GAAA;AACzB,CAAA,CAAA;AACwB,MAAA,CAAO,OAAQ,CAAA,eAAe,CAAE,CAAA,MAAA;AAAA;AAAA,EAEtD,CAAC,GAAA,EAAK,CAAC,GAAA,EAAK,KAAK,CAAA,MAAO,EAAE,GAAG,GAAK,EAAA,CAAC,KAAK,GAAG,GAAI,EAAA,CAAA;AAAA,EAC/C,EAAC;AACH;;ACtCA,SAAS,cAAc,CAAC,MAAM,EAAE;AAChC,EAAE,OAAO,MAAM,CAAC,WAAW;AAC3B,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,KAAK;AACjD,MAAM,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;AACrC,QAAQ,OAAO,CAAC,GAAG,EAAE,KAAK,CAAC,SAAS,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC;AACnF,OAAO;AACP,MAAM,OAAO,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;AAC1B,KAAK,CAAC;AACN,GAAG,CAAC;AACJ,CAAC;AACD,SAAS,iBAAiB,CAAC,QAAQ,EAAE,gBAAgB,EAAE;AACvD,EAAE,MAAM,QAAQ,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,KAAK;AAC7C,IAAI,OAAO,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,KAAK;AACvC,MAAM,IAAI,IAAI,CAAC,MAAM,EAAE;AACvB,QAAQ,OAAO,CAAC,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;AAChD,OAAO,MAAM,IAAI,IAAI,CAAC,OAAO,EAAE;AAC/B,QAAQ,OAAO,CAAC,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;AAClC,OAAO,MAAM;AACb,QAAQ,OAAO,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,qBAAqB,EAAE,MAAM,CAAC,CAAC;AACpK,OAAO;AACP,KAAK,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AAChB,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AACd,EAAE,IAAI,QAAQ,GAAG,EAAE,CAAC;AACpB,EAAE,IAAI,gBAAgB,KAAK,QAAQ,IAAI,QAAQ,CAAC,MAAM,EAAE;AACxD,IAAI,QAAQ,GAAG,GAAG,CAAC;AACnB,GAAG;AACH,EAAE,MAAM,MAAM,GAAG,OAAO,CAAC,QAAQ,GAAG,QAAQ,CAAC,CAAC;AAC9C,EAAE,OAAO,CAAC,MAAM,KAAK;AACrB,IAAI,MAAM,eAAe,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC;AACnD,IAAI,MAAM,IAAI,GAAG,MAAM,CAAC,eAAe,CAAC,CAAC;AACzC,IAAI,OAAO,IAAI,IAAI,GAAG,CAAC;AACvB,GAAG,CAAC;AACJ;;ACpBA,SAAS,oBAAoB,CAAC,YAAY,EAAE;AAC5C,EAAE,OAAO;AACT,IAAI,KAAK,EAAE,YAAY,CAAC,KAAK;AAC7B,IAAI,IAAI,EAAE,YAAY,CAAC,IAAI;AAC3B,IAAI,OAAO,EAAE,IAAI,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC;AAC7C,IAAI,MAAM,EAAE,YAAY,CAAC,MAAM;AAC/B,IAAI,SAAS,EAAE,YAAY,CAAC,SAAS;AACrC,IAAI,QAAQ,EAAE,iBAAiB,CAAC,YAAY,CAAC,QAAQ,EAAE,YAAY,CAAC,KAAK,CAAC,aAAa,CAAC;AACxF,IAAI,QAAQ,EAAE,YAAY,CAAC,QAAQ,IAAI,KAAK,CAAC;AAC7C,IAAI,QAAQ,EAAE,YAAY,CAAC,QAAQ;AACnC,IAAI,SAAS,EAAE,YAAY,CAAC,SAAS;AACrC,IAAI,QAAQ,EAAE,YAAY,CAAC,QAAQ;AACnC,IAAI,aAAa,EAAE,YAAY,CAAC,aAAa,GAAG,oBAAoB,CAAC,YAAY,CAAC,aAAa,CAAC,GAAG,KAAK,CAAC;AACzG,IAAI,cAAc,EAAE,YAAY,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,QAAQ,KAAK;AAClE,MAAM,OAAO,oBAAoB,CAAC,QAAQ,CAAC,CAAC;AAC5C,KAAK,CAAC;AACN,IAAI,OAAO,EAAE,YAAY,CAAC,OAAO;AACjC,GAAG,CAAC;AACJ;;AC7BA,SAAS,mBAAmB,CAAC,kBAAkB,EAAE;AACjD,EAAE,MAAM,MAAM,GAAG,EAAE,CAAC;AACpB,EAAE,KAAK,MAAM,eAAe,IAAI,kBAAkB,CAAC,MAAM,EAAE;AAC3D,IAAI,MAAM,CAAC,IAAI,CAAC;AAChB,MAAM,GAAG,eAAe;AACxB,MAAM,SAAS,EAAE,oBAAoB,CAAC,eAAe,CAAC,SAAS,CAAC;AAChE,KAAK,CAAC,CAAC;AACP,IAAI,MAAM,KAAK,GAAG,eAAe,CAAC;AAClC,IAAI,KAAK,CAAC,SAAS,GAAG,oBAAoB,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;AACtE,GAAG;AACH,EAAE,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC;AACpD,EAAE,MAAM,iBAAiB,GAAG,IAAI,GAAG,CAAC,kBAAkB,CAAC,iBAAiB,CAAC,CAAC;AAC1E,EAAE,MAAM,cAAc,GAAG,IAAI,GAAG,CAAC,kBAAkB,CAAC,cAAc,CAAC,CAAC;AACpE,EAAE,MAAM,gBAAgB,GAAG,IAAI,GAAG,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,CAAC;AACxE,EAAE,MAAM,mBAAmB,GAAG,IAAI,GAAG,CAAC,kBAAkB,CAAC,mBAAmB,CAAC,CAAC;AAC9E,EAAE,MAAM,GAAG,GAAG,SAAS,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC;AAChD,EAAE,OAAO;AACT;AACA,IAAI,UAAU,CAAC,CAAC,EAAE,IAAI,EAAE;AACxB,MAAM,OAAO,IAAI,EAAE,CAAC;AACpB,KAAK;AACL,IAAI,GAAG,kBAAkB;AACzB,IAAI,MAAM;AACV,IAAI,iBAAiB;AACrB,IAAI,cAAc;AAClB,IAAI,gBAAgB;AACpB,IAAI,MAAM;AACV,IAAI,mBAAmB;AACvB,IAAI,GAAG;AACP,GAAG,CAAC;AACJ;;;;;;","x_google_ignoreList":[0,1,2,3]} \ No newline at end of file +{"version":3,"file":"manifest_C0y05owi.mjs","sources":["../../../../../node_modules/astro/dist/actions/runtime/virtual/shared.js","../../../../../node_modules/astro/dist/core/routing/manifest/generator.js","../../../../../node_modules/astro/dist/core/routing/manifest/serialization.js","../../../../../node_modules/astro/dist/core/app/common.js"],"sourcesContent":["import { parse as devalueParse, stringify as devalueStringify } from \"devalue\";\nimport { ACTION_QUERY_PARAMS as _ACTION_QUERY_PARAMS } from \"../../consts.js\";\nconst ACTION_QUERY_PARAMS = _ACTION_QUERY_PARAMS;\nconst ACTION_ERROR_CODES = [\n \"BAD_REQUEST\",\n \"UNAUTHORIZED\",\n \"FORBIDDEN\",\n \"NOT_FOUND\",\n \"TIMEOUT\",\n \"CONFLICT\",\n \"PRECONDITION_FAILED\",\n \"PAYLOAD_TOO_LARGE\",\n \"UNSUPPORTED_MEDIA_TYPE\",\n \"UNPROCESSABLE_CONTENT\",\n \"TOO_MANY_REQUESTS\",\n \"CLIENT_CLOSED_REQUEST\",\n \"INTERNAL_SERVER_ERROR\"\n];\nconst codeToStatusMap = {\n // Implemented from tRPC error code table\n // https://trpc.io/docs/server/error-handling#error-codes\n BAD_REQUEST: 400,\n UNAUTHORIZED: 401,\n FORBIDDEN: 403,\n NOT_FOUND: 404,\n TIMEOUT: 405,\n CONFLICT: 409,\n PRECONDITION_FAILED: 412,\n PAYLOAD_TOO_LARGE: 413,\n UNSUPPORTED_MEDIA_TYPE: 415,\n UNPROCESSABLE_CONTENT: 422,\n TOO_MANY_REQUESTS: 429,\n CLIENT_CLOSED_REQUEST: 499,\n INTERNAL_SERVER_ERROR: 500\n};\nconst statusToCodeMap = Object.entries(codeToStatusMap).reduce(\n // reverse the key-value pairs\n (acc, [key, value]) => ({ ...acc, [value]: key }),\n {}\n);\nclass ActionError extends Error {\n type = \"AstroActionError\";\n code = \"INTERNAL_SERVER_ERROR\";\n status = 500;\n constructor(params) {\n super(params.message);\n this.code = params.code;\n this.status = ActionError.codeToStatus(params.code);\n if (params.stack) {\n this.stack = params.stack;\n }\n }\n static codeToStatus(code) {\n return codeToStatusMap[code];\n }\n static statusToCode(status) {\n return statusToCodeMap[status] ?? \"INTERNAL_SERVER_ERROR\";\n }\n static fromJson(body) {\n if (isInputError(body)) {\n return new ActionInputError(body.issues);\n }\n if (isActionError(body)) {\n return new ActionError(body);\n }\n return new ActionError({\n code: \"INTERNAL_SERVER_ERROR\"\n });\n }\n}\nfunction isActionError(error) {\n return typeof error === \"object\" && error != null && \"type\" in error && error.type === \"AstroActionError\";\n}\nfunction isInputError(error) {\n return typeof error === \"object\" && error != null && \"type\" in error && error.type === \"AstroActionInputError\" && \"issues\" in error && Array.isArray(error.issues);\n}\nclass ActionInputError extends ActionError {\n type = \"AstroActionInputError\";\n // We don't expose all ZodError properties.\n // Not all properties will serialize from server to client,\n // and we don't want to import the full ZodError object into the client.\n issues;\n fields;\n constructor(issues) {\n super({\n message: `Failed to validate: ${JSON.stringify(issues, null, 2)}`,\n code: \"BAD_REQUEST\"\n });\n this.issues = issues;\n this.fields = {};\n for (const issue of issues) {\n if (issue.path.length > 0) {\n const key = issue.path[0].toString();\n this.fields[key] ??= [];\n this.fields[key]?.push(issue.message);\n }\n }\n }\n}\nasync function callSafely(handler) {\n try {\n const data = await handler();\n return { data, error: void 0 };\n } catch (e) {\n if (e instanceof ActionError) {\n return { data: void 0, error: e };\n }\n return {\n data: void 0,\n error: new ActionError({\n message: e instanceof Error ? e.message : \"Unknown error\",\n code: \"INTERNAL_SERVER_ERROR\"\n })\n };\n }\n}\nfunction getActionQueryString(name) {\n const searchParams = new URLSearchParams({ [_ACTION_QUERY_PARAMS.actionName]: name });\n return `?${searchParams.toString()}`;\n}\nfunction getActionProps(action) {\n const params = new URLSearchParams(action.toString());\n const actionName = params.get(\"_astroAction\");\n if (!actionName) {\n throw new Error(\"Invalid actions function was passed to getActionProps()\");\n }\n return {\n type: \"hidden\",\n name: \"_astroAction\",\n value: actionName\n };\n}\nfunction serializeActionResult(res) {\n if (res.error) {\n if (import.meta.env?.DEV) {\n actionResultErrorStack.set(res.error.stack);\n }\n return {\n type: \"error\",\n status: res.error.status,\n contentType: \"application/json\",\n body: JSON.stringify({\n ...res.error,\n message: res.error.message\n })\n };\n }\n if (res.data === void 0) {\n return {\n type: \"empty\",\n status: 204\n };\n }\n return {\n type: \"data\",\n status: 200,\n contentType: \"application/json+devalue\",\n body: devalueStringify(res.data, {\n // Add support for URL objects\n URL: (value) => value instanceof URL && value.href\n })\n };\n}\nfunction deserializeActionResult(res) {\n if (res.type === \"error\") {\n if (import.meta.env?.PROD) {\n return { error: ActionError.fromJson(JSON.parse(res.body)), data: void 0 };\n } else {\n const error = ActionError.fromJson(JSON.parse(res.body));\n error.stack = actionResultErrorStack.get();\n return {\n error,\n data: void 0\n };\n }\n }\n if (res.type === \"empty\") {\n return { data: void 0, error: void 0 };\n }\n return {\n data: devalueParse(res.body, {\n URL: (href) => new URL(href)\n }),\n error: void 0\n };\n}\nconst actionResultErrorStack = /* @__PURE__ */ function actionResultErrorStackFn() {\n let errorStack;\n return {\n set(stack) {\n errorStack = stack;\n },\n get() {\n return errorStack;\n }\n };\n}();\nexport {\n ACTION_ERROR_CODES,\n ACTION_QUERY_PARAMS,\n ActionError,\n ActionInputError,\n callSafely,\n deserializeActionResult,\n getActionProps,\n getActionQueryString,\n isActionError,\n isInputError,\n serializeActionResult\n};\n","import { compile } from \"path-to-regexp\";\nfunction sanitizeParams(params) {\n return Object.fromEntries(\n Object.entries(params).map(([key, value]) => {\n if (typeof value === \"string\") {\n return [key, value.normalize().replace(/#/g, \"%23\").replace(/\\?/g, \"%3F\")];\n }\n return [key, value];\n })\n );\n}\nfunction getRouteGenerator(segments, addTrailingSlash) {\n const template = segments.map((segment) => {\n return \"/\" + segment.map((part) => {\n if (part.spread) {\n return `:${part.content.slice(3)}(.*)?`;\n } else if (part.dynamic) {\n return `:${part.content}`;\n } else {\n return part.content.normalize().replace(/\\?/g, \"%3F\").replace(/#/g, \"%23\").replace(/%5B/g, \"[\").replace(/%5D/g, \"]\").replace(/[.*+?^${}()|[\\]\\\\]/g, \"\\\\$&\");\n }\n }).join(\"\");\n }).join(\"\");\n let trailing = \"\";\n if (addTrailingSlash === \"always\" && segments.length) {\n trailing = \"/\";\n }\n const toPath = compile(template + trailing);\n return (params) => {\n const sanitizedParams = sanitizeParams(params);\n const path = toPath(sanitizedParams);\n return path || \"/\";\n };\n}\nexport {\n getRouteGenerator\n};\n","import { getRouteGenerator } from \"./generator.js\";\nfunction serializeRouteData(routeData, trailingSlash) {\n return {\n ...routeData,\n generate: void 0,\n pattern: routeData.pattern.source,\n redirectRoute: routeData.redirectRoute ? serializeRouteData(routeData.redirectRoute, trailingSlash) : void 0,\n fallbackRoutes: routeData.fallbackRoutes.map((fallbackRoute) => {\n return serializeRouteData(fallbackRoute, trailingSlash);\n }),\n _meta: { trailingSlash }\n };\n}\nfunction deserializeRouteData(rawRouteData) {\n return {\n route: rawRouteData.route,\n type: rawRouteData.type,\n pattern: new RegExp(rawRouteData.pattern),\n params: rawRouteData.params,\n component: rawRouteData.component,\n generate: getRouteGenerator(rawRouteData.segments, rawRouteData._meta.trailingSlash),\n pathname: rawRouteData.pathname || void 0,\n segments: rawRouteData.segments,\n prerender: rawRouteData.prerender,\n redirect: rawRouteData.redirect,\n redirectRoute: rawRouteData.redirectRoute ? deserializeRouteData(rawRouteData.redirectRoute) : void 0,\n fallbackRoutes: rawRouteData.fallbackRoutes.map((fallback) => {\n return deserializeRouteData(fallback);\n }),\n isIndex: rawRouteData.isIndex\n };\n}\nexport {\n deserializeRouteData,\n serializeRouteData\n};\n","import { decodeKey } from \"../encryption.js\";\nimport { deserializeRouteData } from \"../routing/manifest/serialization.js\";\nfunction deserializeManifest(serializedManifest) {\n const routes = [];\n for (const serializedRoute of serializedManifest.routes) {\n routes.push({\n ...serializedRoute,\n routeData: deserializeRouteData(serializedRoute.routeData)\n });\n const route = serializedRoute;\n route.routeData = deserializeRouteData(serializedRoute.routeData);\n }\n const assets = new Set(serializedManifest.assets);\n const componentMetadata = new Map(serializedManifest.componentMetadata);\n const inlinedScripts = new Map(serializedManifest.inlinedScripts);\n const clientDirectives = new Map(serializedManifest.clientDirectives);\n const serverIslandNameMap = new Map(serializedManifest.serverIslandNameMap);\n const key = decodeKey(serializedManifest.key);\n return {\n // in case user middleware exists, this no-op middleware will be reassigned (see plugin-ssr.ts)\n middleware(_, next) {\n return next();\n },\n ...serializedManifest,\n assets,\n componentMetadata,\n inlinedScripts,\n clientDirectives,\n routes,\n serverIslandNameMap,\n key\n };\n}\nexport {\n deserializeManifest\n};\n"],"names":[],"mappings":"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","x_google_ignoreList":[0,1,2,3]} \ No newline at end of file From d7538d91dbcd1a7914ee8445454366930821febb Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 28 Aug 2024 01:29:56 +0000 Subject: [PATCH 032/112] Bump @playform/build from 0.1.3 to 0.1.4 Bumps [@playform/build](https://github.com/PlayForm/Build) from 0.1.3 to 0.1.4. - [Release notes](https://github.com/PlayForm/Build/releases) - [Changelog](https://github.com/PlayForm/Build/blob/Current/CHANGELOG.md) - [Commits](https://github.com/PlayForm/Build/compare/v0.1.3...v0.1.4) --- updated-dependencies: - dependency-name: "@playform/build" dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index d157c468..903eba3d 100644 --- a/package.json +++ b/package.json @@ -29,7 +29,7 @@ }, "dependencies": { "@astrojs/sitemap": "3.1.6", - "@playform/build": "0.1.3", + "@playform/build": "0.1.4", "@playform/compress": "0.1.1", "@playform/format": "0.0.7", "@playform/inline": "0.1.0", From 8b69281b2b97f6156beb899d435afe3ab741dd3f Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 29 Aug 2024 01:26:56 +0000 Subject: [PATCH 033/112] Bump astro from 4.14.5 to 4.14.6 Bumps [astro](https://github.com/withastro/astro/tree/HEAD/packages/astro) from 4.14.5 to 4.14.6. - [Release notes](https://github.com/withastro/astro/releases) - [Changelog](https://github.com/withastro/astro/blob/main/packages/astro/CHANGELOG.md) - [Commits](https://github.com/withastro/astro/commits/astro@4.14.6/packages/astro) --- updated-dependencies: - dependency-name: astro dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 903eba3d..aa94f0d8 100644 --- a/package.json +++ b/package.json @@ -43,7 +43,7 @@ "@tailwindcss/aspect-ratio": "0.4.2", "@tailwindcss/forms": "0.5.7", "@tailwindcss/typography": "0.5.14", - "astro": "4.14.5", + "astro": "4.14.6", "astro-capo": "0.0.1", "astrojs-service-worker": "2.0.0", "autoprefixer": "10.4.20", From 3a7d7ffce9b16755ed0eceb35f6bc8ae3581c523 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 29 Aug 2024 01:27:14 +0000 Subject: [PATCH 034/112] Bump @tailwindcss/forms from 0.5.7 to 0.5.8 Bumps [@tailwindcss/forms](https://github.com/tailwindlabs/tailwindcss-forms) from 0.5.7 to 0.5.8. - [Release notes](https://github.com/tailwindlabs/tailwindcss-forms/releases) - [Changelog](https://github.com/tailwindlabs/tailwindcss-forms/blob/main/CHANGELOG.md) - [Commits](https://github.com/tailwindlabs/tailwindcss-forms/compare/v0.5.7...v0.5.8) --- updated-dependencies: - dependency-name: "@tailwindcss/forms" dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 903eba3d..65bbd257 100644 --- a/package.json +++ b/package.json @@ -41,7 +41,7 @@ "@swup/scroll-plugin": "3.3.2", "@swup/slide-theme": "2.0.1", "@tailwindcss/aspect-ratio": "0.4.2", - "@tailwindcss/forms": "0.5.7", + "@tailwindcss/forms": "0.5.8", "@tailwindcss/typography": "0.5.14", "astro": "4.14.5", "astro-capo": "0.0.1", From 4b1ca68c9a168e978c3ef4b3e86d326fb556a55d Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 29 Aug 2024 01:28:47 +0000 Subject: [PATCH 035/112] Bump @tailwindcss/typography from 0.5.14 to 0.5.15 Bumps [@tailwindcss/typography](https://github.com/tailwindlabs/tailwindcss-typography) from 0.5.14 to 0.5.15. - [Release notes](https://github.com/tailwindlabs/tailwindcss-typography/releases) - [Changelog](https://github.com/tailwindlabs/tailwindcss-typography/blob/main/CHANGELOG.md) - [Commits](https://github.com/tailwindlabs/tailwindcss-typography/compare/v0.5.14...v0.5.15) --- updated-dependencies: - dependency-name: "@tailwindcss/typography" dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 970e95a1..6c0930ed 100644 --- a/package.json +++ b/package.json @@ -42,7 +42,7 @@ "@swup/slide-theme": "2.0.1", "@tailwindcss/aspect-ratio": "0.4.2", "@tailwindcss/forms": "0.5.8", - "@tailwindcss/typography": "0.5.14", + "@tailwindcss/typography": "0.5.15", "astro": "4.14.6", "astro-capo": "0.0.1", "astrojs-service-worker": "2.0.0", From 95008e903c7f0e6bad723aa803d202988d8ffff9 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 30 Aug 2024 01:14:11 +0000 Subject: [PATCH 036/112] Bump firebase from 10.13.0 to 10.13.1 Bumps [firebase](https://github.com/firebase/firebase-js-sdk) from 10.13.0 to 10.13.1. - [Release notes](https://github.com/firebase/firebase-js-sdk/releases) - [Changelog](https://github.com/firebase/firebase-js-sdk/blob/main/CHANGELOG.md) - [Commits](https://github.com/firebase/firebase-js-sdk/compare/firebase@10.13.0...firebase@10.13.1) --- updated-dependencies: - dependency-name: firebase dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 6c0930ed..d10fc565 100644 --- a/package.json +++ b/package.json @@ -50,7 +50,7 @@ "cssnano": "7.0.5", "cssnano-preset-advanced": "7.0.5", "dotenv": "16.4.5", - "firebase": "10.13.0", + "firebase": "10.13.1", "postcss": "8.4.41", "postcss-combine-duplicated-selectors": "10.0.3", "postcss-combine-media-query": "1.0.1", From 4faebe4b1a55f08b85dbfa1f366fbf69924d6ac9 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 30 Aug 2024 01:14:27 +0000 Subject: [PATCH 037/112] Bump astro from 4.14.6 to 4.15.1 Bumps [astro](https://github.com/withastro/astro/tree/HEAD/packages/astro) from 4.14.6 to 4.15.1. - [Release notes](https://github.com/withastro/astro/releases) - [Changelog](https://github.com/withastro/astro/blob/main/packages/astro/CHANGELOG.md) - [Commits](https://github.com/withastro/astro/commits/astro@4.15.1/packages/astro) --- updated-dependencies: - dependency-name: astro dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 6c0930ed..879ce0d7 100644 --- a/package.json +++ b/package.json @@ -43,7 +43,7 @@ "@tailwindcss/aspect-ratio": "0.4.2", "@tailwindcss/forms": "0.5.8", "@tailwindcss/typography": "0.5.15", - "astro": "4.14.6", + "astro": "4.15.1", "astro-capo": "0.0.1", "astrojs-service-worker": "2.0.0", "autoprefixer": "10.4.20", From a7a5008f8565efe57d06b87107f9742fcdcd9d48 Mon Sep 17 00:00:00 2001 From: Nikola Hristov Date: Fri, 30 Aug 2024 14:06:46 +0300 Subject: [PATCH 038/112] --- package.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/package.json b/package.json index 6c0930ed..5d5213d4 100644 --- a/package.json +++ b/package.json @@ -43,14 +43,14 @@ "@tailwindcss/aspect-ratio": "0.4.2", "@tailwindcss/forms": "0.5.8", "@tailwindcss/typography": "0.5.15", - "astro": "4.14.6", + "astro": "4.15.1", "astro-capo": "0.0.1", "astrojs-service-worker": "2.0.0", "autoprefixer": "10.4.20", "cssnano": "7.0.5", "cssnano-preset-advanced": "7.0.5", "dotenv": "16.4.5", - "firebase": "10.13.0", + "firebase": "10.13.1", "postcss": "8.4.41", "postcss-combine-duplicated-selectors": "10.0.3", "postcss-combine-media-query": "1.0.1", From f8225ccc663443092e6c49cf336f5955967dcb31 Mon Sep 17 00:00:00 2001 From: Nikola Hristov Date: Sat, 31 Aug 2024 18:53:54 +0300 Subject: [PATCH 039/112] --- .npmignore | 1 - ... Base.astro_astro_type_script_index_0_lang.CvgM2Ypu.js} | 4 ++-- ...e.astro_astro_type_script_index_0_lang.CvgM2Ypu.js.map} | 2 +- ...ns.astro_astro_type_script_index_0_lang.DSSDe5pU.js.map | 1 - ...tions.astro_astro_type_script_index_0_lang.Dd_TQxzB.js} | 2 +- ...ns.astro_astro_type_script_index_0_lang.Dd_TQxzB.js.map | 1 + Target/_astro/index.B1fp56SV.js | 1 + Target/_astro/index.B1fp56SV.js.map | 1 + Target/_astro/index.D6rU_tt3.js | 1 - Target/_astro/index.D6rU_tt3.js.map | 1 - .../{index.esm.WPJ9Gp6O.js => index.esm.C4IwMFMF.js} | 2 +- ...index.esm.WPJ9Gp6O.js.map => index.esm.C4IwMFMF.js.map} | 2 +- Target/_astro/page.C1i_5bqm.js | 1 + .../_astro/{page.RuxDLo8Z.js.map => page.C1i_5bqm.js.map} | 2 +- Target/_astro/page.RuxDLo8Z.js | 1 - Target/chunks/astro/server_B4dKMUTo.mjs.map | 1 + Target/chunks/astro/server_C68CUl7v.mjs.map | 1 - Target/chunks/astro_CXrh3zCg.mjs.map | 1 + Target/chunks/astro_CwgT-hI-.mjs.map | 1 - Target/index.html | 2 +- Target/manifest_C-LRu95t.mjs.map | 1 + Target/manifest_C0y05owi.mjs.map | 1 - tsconfig.json | 7 ++++++- 23 files changed, 21 insertions(+), 17 deletions(-) rename Target/_astro/{Base.astro_astro_type_script_index_0_lang.CCQPt6x2.js => Base.astro_astro_type_script_index_0_lang.CvgM2Ypu.js} (79%) rename Target/_astro/{Base.astro_astro_type_script_index_0_lang.CCQPt6x2.js.map => Base.astro_astro_type_script_index_0_lang.CvgM2Ypu.js.map} (96%) delete mode 100644 Target/_astro/ViewTransitions.astro_astro_type_script_index_0_lang.DSSDe5pU.js.map rename Target/_astro/{ViewTransitions.astro_astro_type_script_index_0_lang.DSSDe5pU.js => ViewTransitions.astro_astro_type_script_index_0_lang.Dd_TQxzB.js} (99%) create mode 100644 Target/_astro/ViewTransitions.astro_astro_type_script_index_0_lang.Dd_TQxzB.js.map create mode 100644 Target/_astro/index.B1fp56SV.js create mode 100644 Target/_astro/index.B1fp56SV.js.map delete mode 100644 Target/_astro/index.D6rU_tt3.js delete mode 100644 Target/_astro/index.D6rU_tt3.js.map rename Target/_astro/{index.esm.WPJ9Gp6O.js => index.esm.C4IwMFMF.js} (61%) rename Target/_astro/{index.esm.WPJ9Gp6O.js.map => index.esm.C4IwMFMF.js.map} (62%) create mode 100644 Target/_astro/page.C1i_5bqm.js rename Target/_astro/{page.RuxDLo8Z.js.map => page.C1i_5bqm.js.map} (69%) delete mode 100644 Target/_astro/page.RuxDLo8Z.js create mode 100644 Target/chunks/astro/server_B4dKMUTo.mjs.map delete mode 100644 Target/chunks/astro/server_C68CUl7v.mjs.map create mode 100644 Target/chunks/astro_CXrh3zCg.mjs.map delete mode 100644 Target/chunks/astro_CwgT-hI-.mjs.map create mode 100644 Target/manifest_C-LRu95t.mjs.map delete mode 100644 Target/manifest_C0y05owi.mjs.map diff --git a/.npmignore b/.npmignore index 35828682..12d75aac 100644 --- a/.npmignore +++ b/.npmignore @@ -4,4 +4,3 @@ CODE_OF_CONDUCT.md CONTRIBUTING.md Documentation/ Source/ -Summary.md diff --git a/Target/_astro/Base.astro_astro_type_script_index_0_lang.CCQPt6x2.js b/Target/_astro/Base.astro_astro_type_script_index_0_lang.CvgM2Ypu.js similarity index 79% rename from Target/_astro/Base.astro_astro_type_script_index_0_lang.CCQPt6x2.js rename to Target/_astro/Base.astro_astro_type_script_index_0_lang.CvgM2Ypu.js index 7d0882a6..08001f76 100644 --- a/Target/_astro/Base.astro_astro_type_script_index_0_lang.CCQPt6x2.js +++ b/Target/_astro/Base.astro_astro_type_script_index_0_lang.CvgM2Ypu.js @@ -1,7 +1,7 @@ import { _ as e } from "./preload-helper.BiBI96sQ.js"; ( await e(async () => { - const { initializeApp: a } = await import("./index.esm.WPJ9Gp6O.js"); + const { initializeApp: a } = await import("./index.esm.C4IwMFMF.js"); return { initializeApp: a }; }, []) ).initializeApp({ @@ -14,4 +14,4 @@ import { _ as e } from "./preload-helper.BiBI96sQ.js"; projectId: "", storageBucket: "", }); -//# sourceMappingURL=Base.astro_astro_type_script_index_0_lang.CCQPt6x2.js.map +//# sourceMappingURL=Base.astro_astro_type_script_index_0_lang.CvgM2Ypu.js.map diff --git a/Target/_astro/Base.astro_astro_type_script_index_0_lang.CCQPt6x2.js.map b/Target/_astro/Base.astro_astro_type_script_index_0_lang.CvgM2Ypu.js.map similarity index 96% rename from Target/_astro/Base.astro_astro_type_script_index_0_lang.CCQPt6x2.js.map rename to Target/_astro/Base.astro_astro_type_script_index_0_lang.CvgM2Ypu.js.map index ee8b5389..3043f858 100644 --- a/Target/_astro/Base.astro_astro_type_script_index_0_lang.CCQPt6x2.js.map +++ b/Target/_astro/Base.astro_astro_type_script_index_0_lang.CvgM2Ypu.js.map @@ -1 +1 @@ -{"version":3,"mappings":"kDAAgB,MAAMA,EAAA,8BAAAC,CAAA,eAAO,yBAAc,uBAAAA,CAAA,QAAG,cAAc,CAC3D,OAAQ,GACR,MAAO,GACP,WAAY,GACZ,YAAa,GACb,cAAe,GACf,kBAAmB,GACnB,UAAW,GACX,cAAe,EAChB,CAAC","names":["__vitePreload","initializeApp"],"ignoreList":[],"sources":["../../Source/Script/Firebase.ts"],"sourcesContent":["export default (await import(\"firebase/app\")).initializeApp({\n\tapiKey: \"\", // TODO Replace with your API key\n\tappId: \"\", // TODO Replace with your app ID\n\tauthDomain: \"\", // TODO Replace with your auth domain\n\tdatabaseURL: \"\", // TODO Replace with your database URL\n\tmeasurementId: \"\", // TODO Replace with your measurement ID\n\tmessagingSenderId: \"\", // TODO Replace with your messaging sender ID\n\tprojectId: \"\", // TODO Replace with your project ID\n\tstorageBucket: \"\", // TODO Replace with your storage bucket\n});\n"],"file":"_astro/Base.astro_astro_type_script_index_0_lang.CCQPt6x2.js"} \ No newline at end of file +{"version":3,"mappings":"kDAAgB,MAAMA,EAAA,8BAAAC,CAAA,eAAO,yBAAc,uBAAAA,CAAA,QAAG,cAAc,CAC3D,OAAQ,GACR,MAAO,GACP,WAAY,GACZ,YAAa,GACb,cAAe,GACf,kBAAmB,GACnB,UAAW,GACX,cAAe,EAChB,CAAC","names":["__vitePreload","initializeApp"],"ignoreList":[],"sources":["../../Source/Script/Firebase.ts"],"sourcesContent":["export default (await import(\"firebase/app\")).initializeApp({\n\tapiKey: \"\", // TODO Replace with your API key\n\tappId: \"\", // TODO Replace with your app ID\n\tauthDomain: \"\", // TODO Replace with your auth domain\n\tdatabaseURL: \"\", // TODO Replace with your database URL\n\tmeasurementId: \"\", // TODO Replace with your measurement ID\n\tmessagingSenderId: \"\", // TODO Replace with your messaging sender ID\n\tprojectId: \"\", // TODO Replace with your project ID\n\tstorageBucket: \"\", // TODO Replace with your storage bucket\n});\n"],"file":"_astro/Base.astro_astro_type_script_index_0_lang.CvgM2Ypu.js"} \ No newline at end of file diff --git a/Target/_astro/ViewTransitions.astro_astro_type_script_index_0_lang.DSSDe5pU.js.map b/Target/_astro/ViewTransitions.astro_astro_type_script_index_0_lang.DSSDe5pU.js.map deleted file mode 100644 index b8a01032..00000000 --- a/Target/_astro/ViewTransitions.astro_astro_type_script_index_0_lang.DSSDe5pU.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"ViewTransitions.astro_astro_type_script_index_0_lang.DSSDe5pU.js","sources":["../../../../../../node_modules/astro/dist/transitions/swap-functions.js","../../../../../../node_modules/astro/dist/transitions/events.js","../../../../../../node_modules/astro/dist/transitions/router.js"],"sourcesContent":["const PERSIST_ATTR = \"data-astro-transition-persist\";\nfunction deselectScripts(doc) {\n for (const s1 of document.scripts) {\n for (const s2 of doc.scripts) {\n if (\n // Check if the script should be rerun regardless of it being the same\n !s2.hasAttribute(\"data-astro-rerun\") && // Inline\n (!s1.src && s1.textContent === s2.textContent || // External\n s1.src && s1.type === s2.type && s1.src === s2.src)\n ) {\n s2.dataset.astroExec = \"\";\n break;\n }\n }\n }\n}\nfunction swapRootAttributes(doc) {\n const html = document.documentElement;\n const astroAttributes = [...html.attributes].filter(\n ({ name }) => (html.removeAttribute(name), name.startsWith(\"data-astro-\"))\n );\n [...doc.documentElement.attributes, ...astroAttributes].forEach(\n ({ name, value }) => html.setAttribute(name, value)\n );\n}\nfunction swapHeadElements(doc) {\n for (const el of Array.from(document.head.children)) {\n const newEl = persistedHeadElement(el, doc);\n if (newEl) {\n newEl.remove();\n } else {\n el.remove();\n }\n }\n document.head.append(...doc.head.children);\n}\nfunction swapBodyElement(newElement, oldElement) {\n oldElement.replaceWith(newElement);\n for (const el of oldElement.querySelectorAll(`[${PERSIST_ATTR}]`)) {\n const id = el.getAttribute(PERSIST_ATTR);\n const newEl = newElement.querySelector(`[${PERSIST_ATTR}=\"${id}\"]`);\n if (newEl) {\n newEl.replaceWith(el);\n if (newEl.localName === \"astro-island\" && shouldCopyProps(el)) {\n el.setAttribute(\"ssr\", \"\");\n el.setAttribute(\"props\", newEl.getAttribute(\"props\"));\n }\n }\n }\n}\nconst saveFocus = () => {\n const activeElement = document.activeElement;\n if (activeElement?.closest(`[${PERSIST_ATTR}]`)) {\n if (activeElement instanceof HTMLInputElement || activeElement instanceof HTMLTextAreaElement) {\n const start = activeElement.selectionStart;\n const end = activeElement.selectionEnd;\n return () => restoreFocus({ activeElement, start, end });\n }\n return () => restoreFocus({ activeElement });\n } else {\n return () => restoreFocus({ activeElement: null });\n }\n};\nconst restoreFocus = ({ activeElement, start, end }) => {\n if (activeElement) {\n activeElement.focus();\n if (activeElement instanceof HTMLInputElement || activeElement instanceof HTMLTextAreaElement) {\n if (typeof start === \"number\") activeElement.selectionStart = start;\n if (typeof end === \"number\") activeElement.selectionEnd = end;\n }\n }\n};\nconst persistedHeadElement = (el, newDoc) => {\n const id = el.getAttribute(PERSIST_ATTR);\n const newEl = id && newDoc.head.querySelector(`[${PERSIST_ATTR}=\"${id}\"]`);\n if (newEl) {\n return newEl;\n }\n if (el.matches(\"link[rel=stylesheet]\")) {\n const href = el.getAttribute(\"href\");\n return newDoc.head.querySelector(`link[rel=stylesheet][href=\"${href}\"]`);\n }\n return null;\n};\nconst shouldCopyProps = (el) => {\n const persistProps = el.dataset.astroTransitionPersistProps;\n return persistProps == null || persistProps === \"false\";\n};\nconst swap = (doc) => {\n deselectScripts(doc);\n swapRootAttributes(doc);\n swapHeadElements(doc);\n const restoreFocusFunction = saveFocus();\n swapBodyElement(doc.body, document.body);\n restoreFocusFunction();\n};\nexport {\n deselectScripts,\n restoreFocus,\n saveFocus,\n swap,\n swapBodyElement,\n swapHeadElements,\n swapRootAttributes\n};\n","import { updateScrollPosition } from \"./router.js\";\nimport { swap } from \"./swap-functions.js\";\nconst TRANSITION_BEFORE_PREPARATION = \"astro:before-preparation\";\nconst TRANSITION_AFTER_PREPARATION = \"astro:after-preparation\";\nconst TRANSITION_BEFORE_SWAP = \"astro:before-swap\";\nconst TRANSITION_AFTER_SWAP = \"astro:after-swap\";\nconst TRANSITION_PAGE_LOAD = \"astro:page-load\";\nconst triggerEvent = (name) => document.dispatchEvent(new Event(name));\nconst onPageLoad = () => triggerEvent(TRANSITION_PAGE_LOAD);\nclass BeforeEvent extends Event {\n from;\n to;\n direction;\n navigationType;\n sourceElement;\n info;\n newDocument;\n signal;\n constructor(type, eventInitDict, from, to, direction, navigationType, sourceElement, info, newDocument, signal) {\n super(type, eventInitDict);\n this.from = from;\n this.to = to;\n this.direction = direction;\n this.navigationType = navigationType;\n this.sourceElement = sourceElement;\n this.info = info;\n this.newDocument = newDocument;\n this.signal = signal;\n Object.defineProperties(this, {\n from: { enumerable: true },\n to: { enumerable: true, writable: true },\n direction: { enumerable: true, writable: true },\n navigationType: { enumerable: true },\n sourceElement: { enumerable: true },\n info: { enumerable: true },\n newDocument: { enumerable: true, writable: true },\n signal: { enumerable: true }\n });\n }\n}\nconst isTransitionBeforePreparationEvent = (value) => value.type === TRANSITION_BEFORE_PREPARATION;\nclass TransitionBeforePreparationEvent extends BeforeEvent {\n formData;\n loader;\n constructor(from, to, direction, navigationType, sourceElement, info, newDocument, signal, formData, loader) {\n super(\n TRANSITION_BEFORE_PREPARATION,\n { cancelable: true },\n from,\n to,\n direction,\n navigationType,\n sourceElement,\n info,\n newDocument,\n signal\n );\n this.formData = formData;\n this.loader = loader.bind(this, this);\n Object.defineProperties(this, {\n formData: { enumerable: true },\n loader: { enumerable: true, writable: true }\n });\n }\n}\nconst isTransitionBeforeSwapEvent = (value) => value.type === TRANSITION_BEFORE_SWAP;\nclass TransitionBeforeSwapEvent extends BeforeEvent {\n direction;\n viewTransition;\n swap;\n constructor(afterPreparation, viewTransition) {\n super(\n TRANSITION_BEFORE_SWAP,\n void 0,\n afterPreparation.from,\n afterPreparation.to,\n afterPreparation.direction,\n afterPreparation.navigationType,\n afterPreparation.sourceElement,\n afterPreparation.info,\n afterPreparation.newDocument,\n afterPreparation.signal\n );\n this.direction = afterPreparation.direction;\n this.viewTransition = viewTransition;\n this.swap = () => swap(this.newDocument);\n Object.defineProperties(this, {\n direction: { enumerable: true },\n viewTransition: { enumerable: true },\n swap: { enumerable: true, writable: true }\n });\n }\n}\nasync function doPreparation(from, to, direction, navigationType, sourceElement, info, signal, formData, defaultLoader) {\n const event = new TransitionBeforePreparationEvent(\n from,\n to,\n direction,\n navigationType,\n sourceElement,\n info,\n window.document,\n signal,\n formData,\n defaultLoader\n );\n if (document.dispatchEvent(event)) {\n await event.loader();\n if (!event.defaultPrevented) {\n triggerEvent(TRANSITION_AFTER_PREPARATION);\n if (event.navigationType !== \"traverse\") {\n updateScrollPosition({ scrollX, scrollY });\n }\n }\n }\n return event;\n}\nfunction doSwap(afterPreparation, viewTransition) {\n const event = new TransitionBeforeSwapEvent(afterPreparation, viewTransition);\n document.dispatchEvent(event);\n event.swap();\n return event;\n}\nexport {\n TRANSITION_AFTER_PREPARATION,\n TRANSITION_AFTER_SWAP,\n TRANSITION_BEFORE_PREPARATION,\n TRANSITION_BEFORE_SWAP,\n TRANSITION_PAGE_LOAD,\n TransitionBeforePreparationEvent,\n TransitionBeforeSwapEvent,\n doPreparation,\n doSwap,\n isTransitionBeforePreparationEvent,\n isTransitionBeforeSwapEvent,\n onPageLoad,\n triggerEvent\n};\n","import { TRANSITION_AFTER_SWAP, doPreparation, doSwap } from \"./events.js\";\nconst inBrowser = import.meta.env.SSR === false;\nconst pushState = inBrowser && history.pushState.bind(history);\nconst replaceState = inBrowser && history.replaceState.bind(history);\nconst updateScrollPosition = (positions) => {\n if (history.state) {\n history.scrollRestoration = \"manual\";\n replaceState({ ...history.state, ...positions }, \"\");\n }\n};\nconst supportsViewTransitions = inBrowser && !!document.startViewTransition;\nconst transitionEnabledOnThisPage = () => inBrowser && !!document.querySelector('[name=\"astro-view-transitions-enabled\"]');\nconst samePage = (thisLocation, otherLocation) => thisLocation.pathname === otherLocation.pathname && thisLocation.search === otherLocation.search;\nlet mostRecentNavigation;\nlet mostRecentTransition;\nlet originalLocation;\nconst triggerEvent = (name) => document.dispatchEvent(new Event(name));\nconst onPageLoad = () => triggerEvent(\"astro:page-load\");\nconst announce = () => {\n let div = document.createElement(\"div\");\n div.setAttribute(\"aria-live\", \"assertive\");\n div.setAttribute(\"aria-atomic\", \"true\");\n div.className = \"astro-route-announcer\";\n document.body.append(div);\n setTimeout(\n () => {\n let title = document.title || document.querySelector(\"h1\")?.textContent || location.pathname;\n div.textContent = title;\n },\n // Much thought went into this magic number; the gist is that screen readers\n // need to see that the element changed and might not do so if it happens\n // too quickly.\n 60\n );\n};\nconst PERSIST_ATTR = \"data-astro-transition-persist\";\nconst DIRECTION_ATTR = \"data-astro-transition\";\nconst OLD_NEW_ATTR = \"data-astro-transition-fallback\";\nconst VITE_ID = \"data-vite-dev-id\";\nlet parser;\nlet currentHistoryIndex = 0;\nif (inBrowser) {\n if (history.state) {\n currentHistoryIndex = history.state.index;\n scrollTo({ left: history.state.scrollX, top: history.state.scrollY });\n } else if (transitionEnabledOnThisPage()) {\n replaceState({ index: currentHistoryIndex, scrollX, scrollY }, \"\");\n history.scrollRestoration = \"manual\";\n }\n}\nasync function fetchHTML(href, init) {\n try {\n const res = await fetch(href, init);\n const contentType = res.headers.get(\"content-type\") ?? \"\";\n const mediaType = contentType.split(\";\", 1)[0].trim();\n if (mediaType !== \"text/html\" && mediaType !== \"application/xhtml+xml\") {\n return null;\n }\n const html = await res.text();\n return {\n html,\n redirected: res.redirected ? res.url : void 0,\n mediaType\n };\n } catch {\n return null;\n }\n}\nfunction getFallback() {\n const el = document.querySelector('[name=\"astro-view-transitions-fallback\"]');\n if (el) {\n return el.getAttribute(\"content\");\n }\n return \"animate\";\n}\nfunction runScripts() {\n let wait = Promise.resolve();\n for (const script of Array.from(document.scripts)) {\n if (script.dataset.astroExec === \"\") continue;\n const type = script.getAttribute(\"type\");\n if (type && type !== \"module\" && type !== \"text/javascript\") continue;\n const newScript = document.createElement(\"script\");\n newScript.innerHTML = script.innerHTML;\n for (const attr of script.attributes) {\n if (attr.name === \"src\") {\n const p = new Promise((r) => {\n newScript.onload = newScript.onerror = r;\n });\n wait = wait.then(() => p);\n }\n newScript.setAttribute(attr.name, attr.value);\n }\n newScript.dataset.astroExec = \"\";\n script.replaceWith(newScript);\n }\n return wait;\n}\nconst moveToLocation = (to, from, options, pageTitleForBrowserHistory, historyState) => {\n const intraPage = samePage(from, to);\n const targetPageTitle = document.title;\n document.title = pageTitleForBrowserHistory;\n let scrolledToTop = false;\n if (to.href !== location.href && !historyState) {\n if (options.history === \"replace\") {\n const current = history.state;\n replaceState(\n {\n ...options.state,\n index: current.index,\n scrollX: current.scrollX,\n scrollY: current.scrollY\n },\n \"\",\n to.href\n );\n } else {\n pushState(\n { ...options.state, index: ++currentHistoryIndex, scrollX: 0, scrollY: 0 },\n \"\",\n to.href\n );\n }\n }\n document.title = targetPageTitle;\n originalLocation = to;\n if (!intraPage) {\n scrollTo({ left: 0, top: 0, behavior: \"instant\" });\n scrolledToTop = true;\n }\n if (historyState) {\n scrollTo(historyState.scrollX, historyState.scrollY);\n } else {\n if (to.hash) {\n history.scrollRestoration = \"auto\";\n const savedState = history.state;\n location.href = to.href;\n if (!history.state) {\n replaceState(savedState, \"\");\n if (intraPage) {\n window.dispatchEvent(new PopStateEvent(\"popstate\"));\n }\n }\n } else {\n if (!scrolledToTop) {\n scrollTo({ left: 0, top: 0, behavior: \"instant\" });\n }\n }\n history.scrollRestoration = \"manual\";\n }\n};\nfunction preloadStyleLinks(newDocument) {\n const links = [];\n for (const el of newDocument.querySelectorAll(\"head link[rel=stylesheet]\")) {\n if (!document.querySelector(\n `[${PERSIST_ATTR}=\"${el.getAttribute(\n PERSIST_ATTR\n )}\"], link[rel=stylesheet][href=\"${el.getAttribute(\"href\")}\"]`\n )) {\n const c = document.createElement(\"link\");\n c.setAttribute(\"rel\", \"preload\");\n c.setAttribute(\"as\", \"style\");\n c.setAttribute(\"href\", el.getAttribute(\"href\"));\n links.push(\n new Promise((resolve) => {\n [\"load\", \"error\"].forEach((evName) => c.addEventListener(evName, resolve));\n document.head.append(c);\n })\n );\n }\n }\n return links;\n}\nasync function updateDOM(preparationEvent, options, currentTransition, historyState, fallback) {\n async function animate(phase) {\n function isInfinite(animation) {\n const effect = animation.effect;\n if (!effect || !(effect instanceof KeyframeEffect) || !effect.target) return false;\n const style = window.getComputedStyle(effect.target, effect.pseudoElement);\n return style.animationIterationCount === \"infinite\";\n }\n const currentAnimations = document.getAnimations();\n document.documentElement.setAttribute(OLD_NEW_ATTR, phase);\n const nextAnimations = document.getAnimations();\n const newAnimations = nextAnimations.filter(\n (a) => !currentAnimations.includes(a) && !isInfinite(a)\n );\n return Promise.allSettled(newAnimations.map((a) => a.finished));\n }\n if (fallback === \"animate\" && !currentTransition.transitionSkipped && !preparationEvent.signal.aborted) {\n try {\n await animate(\"old\");\n } catch {\n }\n }\n const pageTitleForBrowserHistory = document.title;\n const swapEvent = doSwap(preparationEvent, currentTransition.viewTransition);\n moveToLocation(swapEvent.to, swapEvent.from, options, pageTitleForBrowserHistory, historyState);\n triggerEvent(TRANSITION_AFTER_SWAP);\n if (fallback === \"animate\") {\n if (!currentTransition.transitionSkipped && !swapEvent.signal.aborted) {\n animate(\"new\").finally(() => currentTransition.viewTransitionFinished());\n } else {\n currentTransition.viewTransitionFinished();\n }\n }\n}\nfunction abortAndRecreateMostRecentNavigation() {\n mostRecentNavigation?.controller.abort();\n return mostRecentNavigation = {\n controller: new AbortController()\n };\n}\nasync function transition(direction, from, to, options, historyState) {\n const currentNavigation = abortAndRecreateMostRecentNavigation();\n if (!transitionEnabledOnThisPage() || location.origin !== to.origin) {\n if (currentNavigation === mostRecentNavigation) mostRecentNavigation = void 0;\n location.href = to.href;\n return;\n }\n const navigationType = historyState ? \"traverse\" : options.history === \"replace\" ? \"replace\" : \"push\";\n if (navigationType !== \"traverse\") {\n updateScrollPosition({ scrollX, scrollY });\n }\n if (samePage(from, to)) {\n if (direction !== \"back\" && to.hash || direction === \"back\" && from.hash) {\n moveToLocation(to, from, options, document.title, historyState);\n if (currentNavigation === mostRecentNavigation) mostRecentNavigation = void 0;\n return;\n }\n }\n const prepEvent = await doPreparation(\n from,\n to,\n direction,\n navigationType,\n options.sourceElement,\n options.info,\n currentNavigation.controller.signal,\n options.formData,\n defaultLoader\n );\n if (prepEvent.defaultPrevented || prepEvent.signal.aborted) {\n if (currentNavigation === mostRecentNavigation) mostRecentNavigation = void 0;\n if (!prepEvent.signal.aborted) {\n location.href = to.href;\n }\n return;\n }\n async function defaultLoader(preparationEvent) {\n const href = preparationEvent.to.href;\n const init = { signal: preparationEvent.signal };\n if (preparationEvent.formData) {\n init.method = \"POST\";\n const form = preparationEvent.sourceElement instanceof HTMLFormElement ? preparationEvent.sourceElement : preparationEvent.sourceElement instanceof HTMLElement && \"form\" in preparationEvent.sourceElement ? preparationEvent.sourceElement.form : preparationEvent.sourceElement?.closest(\"form\");\n init.body = form?.attributes.getNamedItem(\"enctype\")?.value === \"application/x-www-form-urlencoded\" ? new URLSearchParams(preparationEvent.formData) : preparationEvent.formData;\n }\n const response = await fetchHTML(href, init);\n if (response === null) {\n preparationEvent.preventDefault();\n return;\n }\n if (response.redirected) {\n const redirectedTo = new URL(response.redirected);\n if (redirectedTo.origin !== preparationEvent.to.origin) {\n preparationEvent.preventDefault();\n return;\n }\n preparationEvent.to = redirectedTo;\n }\n parser ??= new DOMParser();\n preparationEvent.newDocument = parser.parseFromString(response.html, response.mediaType);\n preparationEvent.newDocument.querySelectorAll(\"noscript\").forEach((el) => el.remove());\n if (!preparationEvent.newDocument.querySelector('[name=\"astro-view-transitions-enabled\"]') && !preparationEvent.formData) {\n preparationEvent.preventDefault();\n return;\n }\n const links = preloadStyleLinks(preparationEvent.newDocument);\n links.length && !preparationEvent.signal.aborted && await Promise.all(links);\n if (import.meta.env.DEV && !preparationEvent.signal.aborted)\n await prepareForClientOnlyComponents(\n preparationEvent.newDocument,\n preparationEvent.to,\n preparationEvent.signal\n );\n }\n async function abortAndRecreateMostRecentTransition() {\n if (mostRecentTransition) {\n if (mostRecentTransition.viewTransition) {\n try {\n mostRecentTransition.viewTransition.skipTransition();\n } catch {\n }\n try {\n await mostRecentTransition.viewTransition.updateCallbackDone;\n } catch {\n }\n }\n }\n return mostRecentTransition = { transitionSkipped: false };\n }\n const currentTransition = await abortAndRecreateMostRecentTransition();\n if (prepEvent.signal.aborted) {\n if (currentNavigation === mostRecentNavigation) mostRecentNavigation = void 0;\n return;\n }\n document.documentElement.setAttribute(DIRECTION_ATTR, prepEvent.direction);\n if (supportsViewTransitions) {\n currentTransition.viewTransition = document.startViewTransition(\n async () => await updateDOM(prepEvent, options, currentTransition, historyState)\n );\n } else {\n const updateDone = (async () => {\n await Promise.resolve();\n await updateDOM(prepEvent, options, currentTransition, historyState, getFallback());\n })();\n currentTransition.viewTransition = {\n updateCallbackDone: updateDone,\n // this is about correct\n ready: updateDone,\n // good enough\n // Finished promise could have been done better: finished rejects iff updateDone does.\n // Our simulation always resolves, never rejects.\n finished: new Promise((r) => currentTransition.viewTransitionFinished = r),\n // see end of updateDOM\n skipTransition: () => {\n currentTransition.transitionSkipped = true;\n document.documentElement.removeAttribute(OLD_NEW_ATTR);\n }\n };\n }\n currentTransition.viewTransition.updateCallbackDone.finally(async () => {\n await runScripts();\n onPageLoad();\n announce();\n });\n currentTransition.viewTransition.finished.finally(() => {\n currentTransition.viewTransition = void 0;\n if (currentTransition === mostRecentTransition) mostRecentTransition = void 0;\n if (currentNavigation === mostRecentNavigation) mostRecentNavigation = void 0;\n document.documentElement.removeAttribute(DIRECTION_ATTR);\n document.documentElement.removeAttribute(OLD_NEW_ATTR);\n });\n try {\n await currentTransition.viewTransition.updateCallbackDone;\n } catch (e) {\n const err = e;\n console.log(\"[astro]\", err.name, err.message, err.stack);\n }\n}\nlet navigateOnServerWarned = false;\nasync function navigate(href, options) {\n if (inBrowser === false) {\n if (!navigateOnServerWarned) {\n const warning = new Error(\n \"The view transitions client API was called during a server side render. This may be unintentional as the navigate() function is expected to be called in response to user interactions. Please make sure that your usage is correct.\"\n );\n warning.name = \"Warning\";\n console.warn(warning);\n navigateOnServerWarned = true;\n }\n return;\n }\n await transition(\"forward\", originalLocation, new URL(href, location.href), options ?? {});\n}\nfunction onPopState(ev) {\n if (!transitionEnabledOnThisPage() && ev.state) {\n location.reload();\n return;\n }\n if (ev.state === null) {\n return;\n }\n const state = history.state;\n const nextIndex = state.index;\n const direction = nextIndex > currentHistoryIndex ? \"forward\" : \"back\";\n currentHistoryIndex = nextIndex;\n transition(direction, originalLocation, new URL(location.href), {}, state);\n}\nconst onScrollEnd = () => {\n if (history.state && (scrollX !== history.state.scrollX || scrollY !== history.state.scrollY)) {\n updateScrollPosition({ scrollX, scrollY });\n }\n};\nif (inBrowser) {\n if (supportsViewTransitions || getFallback() !== \"none\") {\n originalLocation = new URL(location.href);\n addEventListener(\"popstate\", onPopState);\n addEventListener(\"load\", onPageLoad);\n if (\"onscrollend\" in window) addEventListener(\"scrollend\", onScrollEnd);\n else {\n let intervalId, lastY, lastX, lastIndex;\n const scrollInterval = () => {\n if (lastIndex !== history.state?.index) {\n clearInterval(intervalId);\n intervalId = void 0;\n return;\n }\n if (lastY === scrollY && lastX === scrollX) {\n clearInterval(intervalId);\n intervalId = void 0;\n onScrollEnd();\n return;\n } else {\n lastY = scrollY, lastX = scrollX;\n }\n };\n addEventListener(\n \"scroll\",\n () => {\n if (intervalId !== void 0) return;\n lastIndex = history.state.index, lastY = scrollY, lastX = scrollX;\n intervalId = window.setInterval(scrollInterval, 50);\n },\n { passive: true }\n );\n }\n }\n for (const script of document.scripts) {\n script.dataset.astroExec = \"\";\n }\n}\nasync function prepareForClientOnlyComponents(newDocument, toLocation, signal) {\n if (newDocument.body.querySelector(`astro-island[client='only']`)) {\n const nextPage = document.createElement(\"iframe\");\n nextPage.src = toLocation.href;\n nextPage.style.display = \"none\";\n document.body.append(nextPage);\n nextPage.contentWindow.console = Object.keys(console).reduce((acc, key) => {\n acc[key] = () => {\n };\n return acc;\n }, {});\n await hydrationDone(nextPage);\n const nextHead = nextPage.contentDocument?.head;\n if (nextHead) {\n const viteIds = [...nextHead.querySelectorAll(`style[${VITE_ID}]`)].map(\n (style) => style.getAttribute(VITE_ID)\n );\n viteIds.forEach((id) => {\n const style = nextHead.querySelector(`style[${VITE_ID}=\"${id}\"]`);\n if (style && !newDocument.head.querySelector(`style[${VITE_ID}=\"${id}\"]`)) {\n newDocument.head.appendChild(style.cloneNode(true));\n }\n });\n }\n async function hydrationDone(loadingPage) {\n if (!signal.aborted) {\n await new Promise(\n (r) => loadingPage.contentWindow?.addEventListener(\"load\", r, { once: true })\n );\n }\n return new Promise(async (r) => {\n for (let count = 0; count <= 20; ++count) {\n if (signal.aborted) break;\n if (!loadingPage.contentDocument.body.querySelector(\"astro-island[ssr]\")) break;\n await new Promise((r2) => setTimeout(r2, 50));\n }\n r();\n });\n }\n }\n}\nexport {\n getFallback,\n navigate,\n supportsViewTransitions,\n transitionEnabledOnThisPage,\n updateScrollPosition\n};\n"],"names":["PERSIST_ATTR","deselectScripts","doc","s1","s2","swapRootAttributes","html","astroAttributes","name","value","swapHeadElements","el","newEl","persistedHeadElement","swapBodyElement","newElement","oldElement","id","shouldCopyProps","saveFocus","activeElement","start","end","restoreFocus","newDoc","href","persistProps","swap","restoreFocusFunction","TRANSITION_BEFORE_PREPARATION","TRANSITION_AFTER_PREPARATION","TRANSITION_BEFORE_SWAP","TRANSITION_AFTER_SWAP","triggerEvent","BeforeEvent","type","eventInitDict","from","to","direction","navigationType","sourceElement","info","newDocument","signal","TransitionBeforePreparationEvent","formData","loader","TransitionBeforeSwapEvent","afterPreparation","viewTransition","doPreparation","defaultLoader","event","updateScrollPosition","doSwap","pushState","replaceState","positions","supportsViewTransitions","transitionEnabledOnThisPage","samePage","thisLocation","otherLocation","mostRecentNavigation","mostRecentTransition","originalLocation","onPageLoad","announce","div","title","DIRECTION_ATTR","OLD_NEW_ATTR","parser","currentHistoryIndex","fetchHTML","init","res","mediaType","getFallback","runScripts","wait","script","newScript","attr","p","r","moveToLocation","options","pageTitleForBrowserHistory","historyState","intraPage","targetPageTitle","scrolledToTop","current","savedState","preloadStyleLinks","links","c","resolve","evName","updateDOM","preparationEvent","currentTransition","fallback","animate","phase","isInfinite","animation","effect","currentAnimations","newAnimations","a","swapEvent","abortAndRecreateMostRecentNavigation","transition","currentNavigation","prepEvent","form","response","redirectedTo","abortAndRecreateMostRecentTransition","updateDone","e","err","navigate","onPopState","ev","state","nextIndex","onScrollEnd","intervalId","lastY","lastX","lastIndex","scrollInterval"],"mappings":"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","x_google_ignoreList":[0,1,2]} \ No newline at end of file diff --git a/Target/_astro/ViewTransitions.astro_astro_type_script_index_0_lang.DSSDe5pU.js b/Target/_astro/ViewTransitions.astro_astro_type_script_index_0_lang.Dd_TQxzB.js similarity index 99% rename from Target/_astro/ViewTransitions.astro_astro_type_script_index_0_lang.DSSDe5pU.js rename to Target/_astro/ViewTransitions.astro_astro_type_script_index_0_lang.Dd_TQxzB.js index 22c8bfba..1c1e283b 100644 --- a/Target/_astro/ViewTransitions.astro_astro_type_script_index_0_lang.DSSDe5pU.js +++ b/Target/_astro/ViewTransitions.astro_astro_type_script_index_0_lang.Dd_TQxzB.js @@ -1 +1 @@ -import{i as q}from"./index.D6rU_tt3.js";const y="data-astro-transition-persist";function U(t){for(const e of document.scripts)for(const n of t.scripts)if(!n.hasAttribute("data-astro-rerun")&&(!e.src&&e.textContent===n.textContent||e.src&&e.type===n.type&&e.src===n.src)){n.dataset.astroExec="";break}}function B(t){const e=document.documentElement,n=[...e.attributes].filter((({name:t})=>(e.removeAttribute(t),t.startsWith("data-astro-"))));[...t.documentElement.attributes,...n].forEach((({name:t,value:n})=>e.setAttribute(t,n)))}function W(t){for(const e of Array.from(document.head.children)){const n=j(e,t);n?n.remove():e.remove()}document.head.append(...t.head.children)}function V(t,e){e.replaceWith(t);for(const n of e.querySelectorAll(`[${y}]`)){const e=n.getAttribute(y),o=t.querySelector(`[${y}="${e}"]`);o&&(o.replaceWith(n),"astro-island"===o.localName&&G(n)&&(n.setAttribute("ssr",""),n.setAttribute("props",o.getAttribute("props"))))}}const K=()=>{const t=document.activeElement;if(t?.closest(`[${y}]`)){if(t instanceof HTMLInputElement||t instanceof HTMLTextAreaElement){const e=t.selectionStart,n=t.selectionEnd;return()=>E({activeElement:t,start:e,end:n})}return()=>E({activeElement:t})}return()=>E({activeElement:null})},E=({activeElement:t,start:e,end:n})=>{t&&(t.focus(),(t instanceof HTMLInputElement||t instanceof HTMLTextAreaElement)&&("number"==typeof e&&(t.selectionStart=e),"number"==typeof n&&(t.selectionEnd=n)))},j=(t,e)=>{const n=t.getAttribute(y),o=n&&e.head.querySelector(`[${y}="${n}"]`);if(o)return o;if(t.matches("link[rel=stylesheet]")){const n=t.getAttribute("href");return e.head.querySelector(`link[rel=stylesheet][href="${n}"]`)}return null},G=t=>{const e=t.dataset.astroTransitionPersistProps;return null==e||"false"===e},z=t=>{U(t),B(t),W(t);const e=K();V(t.body,document.body),e()},J="astro:before-preparation",Q="astro:after-preparation",Z="astro:before-swap",tt="astro:after-swap",et=t=>document.dispatchEvent(new Event(t));class H extends Event{from;to;direction;navigationType;sourceElement;info;newDocument;signal;constructor(t,e,n,o,r,i,a,s,c,l){super(t,e),this.from=n,this.to=o,this.direction=r,this.navigationType=i,this.sourceElement=a,this.info=s,this.newDocument=c,this.signal=l,Object.defineProperties(this,{from:{enumerable:!0},to:{enumerable:!0,writable:!0},direction:{enumerable:!0,writable:!0},navigationType:{enumerable:!0},sourceElement:{enumerable:!0},info:{enumerable:!0},newDocument:{enumerable:!0,writable:!0},signal:{enumerable:!0}})}}class nt extends H{formData;loader;constructor(t,e,n,o,r,i,a,s,c,l){super(J,{cancelable:!0},t,e,n,o,r,i,a,s),this.formData=c,this.loader=l.bind(this,this),Object.defineProperties(this,{formData:{enumerable:!0},loader:{enumerable:!0,writable:!0}})}}class ot extends H{direction;viewTransition;swap;constructor(t,e){super(Z,void 0,t.from,t.to,t.direction,t.navigationType,t.sourceElement,t.info,t.newDocument,t.signal),this.direction=t.direction,this.viewTransition=e,this.swap=()=>z(this.newDocument),Object.defineProperties(this,{direction:{enumerable:!0},viewTransition:{enumerable:!0},swap:{enumerable:!0,writable:!0}})}}async function rt(t,e,n,o,r,i,a,s,c){const l=new nt(t,e,n,o,r,i,window.document,a,s,c);return document.dispatchEvent(l)&&(await l.loader(),l.defaultPrevented||(et(Q),"traverse"!==l.navigationType&&R({scrollX:scrollX,scrollY:scrollY}))),l}function it(t,e){const n=new ot(t,e);return document.dispatchEvent(n),n.swap(),n}const st=history.pushState.bind(history),T=history.replaceState.bind(history),R=t=>{history.state&&(history.scrollRestoration="manual",T({...history.state,...t},""))},x=!!document.startViewTransition,D=()=>!!document.querySelector('[name="astro-view-transitions-enabled"]'),O=(t,e)=>t.pathname===e.pathname&&t.search===e.search;let f,b,v;const X=t=>document.dispatchEvent(new Event(t)),Y=()=>X("astro:page-load"),at=()=>{let t=document.createElement("div");t.setAttribute("aria-live","assertive"),t.setAttribute("aria-atomic","true"),t.className="astro-route-announcer",document.body.append(t),setTimeout((()=>{let e=document.title||document.querySelector("h1")?.textContent||location.pathname;t.textContent=e}),60)},L="data-astro-transition-persist",P="data-astro-transition",S="data-astro-transition-fallback";let k,g=0;async function ct(t,e){try{const n=await fetch(t,e),o=(n.headers.get("content-type")??"").split(";",1)[0].trim();return"text/html"!==o&&"application/xhtml+xml"!==o?null:{html:await n.text(),redirected:n.redirected?n.url:void 0,mediaType:o}}catch{return null}}function _(){const t=document.querySelector('[name="astro-view-transitions-fallback"]');return t?t.getAttribute("content"):"animate"}function lt(){let t=Promise.resolve();for(const e of Array.from(document.scripts)){if(""===e.dataset.astroExec)continue;const n=e.getAttribute("type");if(n&&"module"!==n&&"text/javascript"!==n)continue;const o=document.createElement("script");o.innerHTML=e.innerHTML;for(const n of e.attributes){if("src"===n.name){const e=new Promise((t=>{o.onload=o.onerror=t}));t=t.then((()=>e))}o.setAttribute(n.name,n.value)}o.dataset.astroExec="",e.replaceWith(o)}return t}history.state?(g=history.state.index,scrollTo({left:history.state.scrollX,top:history.state.scrollY})):D()&&(T({index:g,scrollX:scrollX,scrollY:scrollY},""),history.scrollRestoration="manual");const C=(t,e,n,o,r)=>{const i=O(e,t),a=document.title;document.title=o;let s=!1;if(t.href!==location.href&&!r)if("replace"===n.history){const e=history.state;T({...n.state,index:e.index,scrollX:e.scrollX,scrollY:e.scrollY},"",t.href)}else st({...n.state,index:++g,scrollX:0,scrollY:0},"",t.href);if(document.title=a,v=t,i||(scrollTo({left:0,top:0,behavior:"instant"}),s=!0),r)scrollTo(r.scrollX,r.scrollY);else{if(t.hash){history.scrollRestoration="auto";const e=history.state;location.href=t.href,history.state||(T(e,""),i&&window.dispatchEvent(new PopStateEvent("popstate")))}else s||scrollTo({left:0,top:0,behavior:"instant"});history.scrollRestoration="manual"}};function ut(t){const e=[];for(const n of t.querySelectorAll("head link[rel=stylesheet]"))if(!document.querySelector(`[${L}="${n.getAttribute(L)}"], link[rel=stylesheet][href="${n.getAttribute("href")}"]`)){const t=document.createElement("link");t.setAttribute("rel","preload"),t.setAttribute("as","style"),t.setAttribute("href",n.getAttribute("href")),e.push(new Promise((e=>{["load","error"].forEach((n=>t.addEventListener(n,e))),document.head.append(t)})))}return e}async function I(t,e,n,o,r){async function i(t){const e=document.getAnimations();document.documentElement.setAttribute(S,t);const n=document.getAnimations().filter((t=>!e.includes(t)&&!function(t){const e=t.effect;return!!(e&&e instanceof KeyframeEffect&&e.target)&&"infinite"===window.getComputedStyle(e.target,e.pseudoElement).animationIterationCount}(t)));return Promise.allSettled(n.map((t=>t.finished)))}if("animate"===r&&!n.transitionSkipped&&!t.signal.aborted)try{await i("old")}catch{}const a=document.title,s=it(t,n.viewTransition);C(s.to,s.from,e,a,o),X(tt),"animate"===r&&(n.transitionSkipped||s.signal.aborted?n.viewTransitionFinished():i("new").finally((()=>n.viewTransitionFinished())))}function dt(){return f?.controller.abort(),f={controller:new AbortController}}async function $(t,e,n,o,r){const i=dt();if(!D()||location.origin!==n.origin)return i===f&&(f=void 0),void(location.href=n.href);const a=r?"traverse":"replace"===o.history?"replace":"push";if("traverse"!==a&&R({scrollX:scrollX,scrollY:scrollY}),O(e,n)&&("back"!==t&&n.hash||"back"===t&&e.hash))return C(n,e,o,document.title,r),void(i===f&&(f=void 0));const s=await rt(e,n,t,a,o.sourceElement,o.info,i.controller.signal,o.formData,(async function(t){const e=t.to.href,n={signal:t.signal};if(t.formData){n.method="POST";const e=t.sourceElement instanceof HTMLFormElement?t.sourceElement:t.sourceElement instanceof HTMLElement&&"form"in t.sourceElement?t.sourceElement.form:t.sourceElement?.closest("form");n.body="application/x-www-form-urlencoded"===e?.attributes.getNamedItem("enctype")?.value?new URLSearchParams(t.formData):t.formData}const o=await ct(e,n);if(null===o)return void t.preventDefault();if(o.redirected){const e=new URL(o.redirected);if(e.origin!==t.to.origin)return void t.preventDefault();t.to=e}if(k??=new DOMParser,t.newDocument=k.parseFromString(o.html,o.mediaType),t.newDocument.querySelectorAll("noscript").forEach((t=>t.remove())),!t.newDocument.querySelector('[name="astro-view-transitions-enabled"]')&&!t.formData)return void t.preventDefault();const r=ut(t.newDocument);r.length&&!t.signal.aborted&&await Promise.all(r)}));if(s.defaultPrevented||s.signal.aborted)return i===f&&(f=void 0),void(s.signal.aborted||(location.href=n.href));const c=await async function(){if(b&&b.viewTransition){try{b.viewTransition.skipTransition()}catch{}try{await b.viewTransition.updateCallbackDone}catch{}}return b={transitionSkipped:!1}}();if(s.signal.aborted)i===f&&(f=void 0);else{if(document.documentElement.setAttribute(P,s.direction),x)c.viewTransition=document.startViewTransition((async()=>await I(s,o,c,r)));else{const t=(async()=>{await Promise.resolve(),await I(s,o,c,r,_())})();c.viewTransition={updateCallbackDone:t,ready:t,finished:new Promise((t=>c.viewTransitionFinished=t)),skipTransition:()=>{c.transitionSkipped=!0,document.documentElement.removeAttribute(S)}}}c.viewTransition.updateCallbackDone.finally((async()=>{await lt(),Y(),at()})),c.viewTransition.finished.finally((()=>{c.viewTransition=void 0,c===b&&(b=void 0),i===f&&(f=void 0),document.documentElement.removeAttribute(P),document.documentElement.removeAttribute(S)}));try{await c.viewTransition.updateCallbackDone}catch(t){const e=t;console.log("[astro]",e.name,e.message,e.stack)}}}async function M(t,e){await $("forward",v,new URL(t,location.href),e??{})}function ft(t){if(!D()&&t.state)return void location.reload();if(null===t.state)return;const e=history.state,n=e.index,o=n>g?"forward":"back";g=n,$(o,v,new URL(location.href),{},e)}const N=()=>{history.state&&(scrollX!==history.state.scrollX||scrollY!==history.state.scrollY)&&R({scrollX:scrollX,scrollY:scrollY})};if(x||"none"!==_())if(v=new URL(location.href),addEventListener("popstate",ft),addEventListener("load",Y),"onscrollend"in window)addEventListener("scrollend",N);else{let t,e,n,o;const r=()=>o!==history.state?.index?(clearInterval(t),void(t=void 0)):e===scrollY&&n===scrollX?(clearInterval(t),t=void 0,void N()):(e=scrollY,void(n=scrollX));addEventListener("scroll",(()=>{void 0===t&&(o=history.state.index,e=scrollY,n=scrollX,t=window.setInterval(r,50))}),{passive:!0})}for(const t of document.scripts)t.dataset.astroExec="";function mt(){const t=document.querySelector('[name="astro-view-transitions-fallback"]');return t?t.getAttribute("content"):"animate"}function F(t){return void 0!==t.dataset.astroReload}(x||"none"!==mt())&&(document.addEventListener("click",(t=>{let e=t.target;if(t.composed&&(e=t.composedPath()[0]),e instanceof Element&&(e=e.closest("a, area")),!(e instanceof HTMLAnchorElement||e instanceof SVGAElement||e instanceof HTMLAreaElement))return;const n=e instanceof HTMLElement?e.target:e.target.baseVal,o=e instanceof HTMLElement?e.href:e.href.baseVal,r=new URL(o,location.href).origin;F(e)||e.hasAttribute("download")||!e.href||n&&"_self"!==n||r!==location.origin||0!==t.button||t.metaKey||t.ctrlKey||t.altKey||t.shiftKey||t.defaultPrevented||(t.preventDefault(),M(o,{history:"replace"===e.dataset.astroHistory?"replace":"auto",sourceElement:e}))})),document.addEventListener("submit",(t=>{let e=t.target;if("FORM"!==e.tagName||t.defaultPrevented||F(e))return;const n=e,o=t.submitter,r=new FormData(n,o),i="string"==typeof n.action?n.action:n.getAttribute("action"),a="string"==typeof n.method?n.method:n.getAttribute("method");let s=o?.getAttribute("formaction")??i??location.pathname;const c=o?.getAttribute("formmethod")??a??"get";if("dialog"===c||location.origin!==new URL(s,location.href).origin)return;const l={sourceElement:o??n};if("get"===c){const t=new URLSearchParams(r),e=new URL(s);e.search=t.toString(),s=e.toString()}else l.formData=r;t.preventDefault(),M(s,l)})),q({prefetchAll:!0})); \ No newline at end of file +import{i as q}from"./index.B1fp56SV.js";const y="data-astro-transition-persist";function U(t){for(const e of document.scripts)for(const n of t.scripts)if(!n.hasAttribute("data-astro-rerun")&&(!e.src&&e.textContent===n.textContent||e.src&&e.type===n.type&&e.src===n.src)){n.dataset.astroExec="";break}}function B(t){const e=document.documentElement,n=[...e.attributes].filter((({name:t})=>(e.removeAttribute(t),t.startsWith("data-astro-"))));[...t.documentElement.attributes,...n].forEach((({name:t,value:n})=>e.setAttribute(t,n)))}function W(t){for(const e of Array.from(document.head.children)){const n=j(e,t);n?n.remove():e.remove()}document.head.append(...t.head.children)}function V(t,e){e.replaceWith(t);for(const n of e.querySelectorAll(`[${y}]`)){const e=n.getAttribute(y),o=t.querySelector(`[${y}="${e}"]`);o&&(o.replaceWith(n),"astro-island"===o.localName&&G(n)&&(n.setAttribute("ssr",""),n.setAttribute("props",o.getAttribute("props"))))}}const K=()=>{const t=document.activeElement;if(t?.closest(`[${y}]`)){if(t instanceof HTMLInputElement||t instanceof HTMLTextAreaElement){const e=t.selectionStart,n=t.selectionEnd;return()=>E({activeElement:t,start:e,end:n})}return()=>E({activeElement:t})}return()=>E({activeElement:null})},E=({activeElement:t,start:e,end:n})=>{t&&(t.focus(),(t instanceof HTMLInputElement||t instanceof HTMLTextAreaElement)&&("number"==typeof e&&(t.selectionStart=e),"number"==typeof n&&(t.selectionEnd=n)))},j=(t,e)=>{const n=t.getAttribute(y),o=n&&e.head.querySelector(`[${y}="${n}"]`);if(o)return o;if(t.matches("link[rel=stylesheet]")){const n=t.getAttribute("href");return e.head.querySelector(`link[rel=stylesheet][href="${n}"]`)}return null},G=t=>{const e=t.dataset.astroTransitionPersistProps;return null==e||"false"===e},z=t=>{U(t),B(t),W(t);const e=K();V(t.body,document.body),e()},J="astro:before-preparation",Q="astro:after-preparation",Z="astro:before-swap",tt="astro:after-swap",et=t=>document.dispatchEvent(new Event(t));class H extends Event{from;to;direction;navigationType;sourceElement;info;newDocument;signal;constructor(t,e,n,o,r,i,a,s,c,l){super(t,e),this.from=n,this.to=o,this.direction=r,this.navigationType=i,this.sourceElement=a,this.info=s,this.newDocument=c,this.signal=l,Object.defineProperties(this,{from:{enumerable:!0},to:{enumerable:!0,writable:!0},direction:{enumerable:!0,writable:!0},navigationType:{enumerable:!0},sourceElement:{enumerable:!0},info:{enumerable:!0},newDocument:{enumerable:!0,writable:!0},signal:{enumerable:!0}})}}class nt extends H{formData;loader;constructor(t,e,n,o,r,i,a,s,c,l){super(J,{cancelable:!0},t,e,n,o,r,i,a,s),this.formData=c,this.loader=l.bind(this,this),Object.defineProperties(this,{formData:{enumerable:!0},loader:{enumerable:!0,writable:!0}})}}class ot extends H{direction;viewTransition;swap;constructor(t,e){super(Z,void 0,t.from,t.to,t.direction,t.navigationType,t.sourceElement,t.info,t.newDocument,t.signal),this.direction=t.direction,this.viewTransition=e,this.swap=()=>z(this.newDocument),Object.defineProperties(this,{direction:{enumerable:!0},viewTransition:{enumerable:!0},swap:{enumerable:!0,writable:!0}})}}async function rt(t,e,n,o,r,i,a,s,c){const l=new nt(t,e,n,o,r,i,window.document,a,s,c);return document.dispatchEvent(l)&&(await l.loader(),l.defaultPrevented||(et(Q),"traverse"!==l.navigationType&&R({scrollX:scrollX,scrollY:scrollY}))),l}function it(t,e){const n=new ot(t,e);return document.dispatchEvent(n),n.swap(),n}const st=history.pushState.bind(history),T=history.replaceState.bind(history),R=t=>{history.state&&(history.scrollRestoration="manual",T({...history.state,...t},""))},x=!!document.startViewTransition,D=()=>!!document.querySelector('[name="astro-view-transitions-enabled"]'),O=(t,e)=>t.pathname===e.pathname&&t.search===e.search;let f,b,v;const X=t=>document.dispatchEvent(new Event(t)),Y=()=>X("astro:page-load"),at=()=>{let t=document.createElement("div");t.setAttribute("aria-live","assertive"),t.setAttribute("aria-atomic","true"),t.className="astro-route-announcer",document.body.append(t),setTimeout((()=>{let e=document.title||document.querySelector("h1")?.textContent||location.pathname;t.textContent=e}),60)},L="data-astro-transition-persist",P="data-astro-transition",S="data-astro-transition-fallback";let k,g=0;async function ct(t,e){try{const n=await fetch(t,e),o=(n.headers.get("content-type")??"").split(";",1)[0].trim();return"text/html"!==o&&"application/xhtml+xml"!==o?null:{html:await n.text(),redirected:n.redirected?n.url:void 0,mediaType:o}}catch{return null}}function _(){const t=document.querySelector('[name="astro-view-transitions-fallback"]');return t?t.getAttribute("content"):"animate"}function lt(){let t=Promise.resolve();for(const e of Array.from(document.scripts)){if(""===e.dataset.astroExec)continue;const n=e.getAttribute("type");if(n&&"module"!==n&&"text/javascript"!==n)continue;const o=document.createElement("script");o.innerHTML=e.innerHTML;for(const n of e.attributes){if("src"===n.name){const e=new Promise((t=>{o.onload=o.onerror=t}));t=t.then((()=>e))}o.setAttribute(n.name,n.value)}o.dataset.astroExec="",e.replaceWith(o)}return t}history.state?(g=history.state.index,scrollTo({left:history.state.scrollX,top:history.state.scrollY})):D()&&(T({index:g,scrollX:scrollX,scrollY:scrollY},""),history.scrollRestoration="manual");const C=(t,e,n,o,r)=>{const i=O(e,t),a=document.title;document.title=o;let s=!1;if(t.href!==location.href&&!r)if("replace"===n.history){const e=history.state;T({...n.state,index:e.index,scrollX:e.scrollX,scrollY:e.scrollY},"",t.href)}else st({...n.state,index:++g,scrollX:0,scrollY:0},"",t.href);if(document.title=a,v=t,i||(scrollTo({left:0,top:0,behavior:"instant"}),s=!0),r)scrollTo(r.scrollX,r.scrollY);else{if(t.hash){history.scrollRestoration="auto";const e=history.state;location.href=t.href,history.state||(T(e,""),i&&window.dispatchEvent(new PopStateEvent("popstate")))}else s||scrollTo({left:0,top:0,behavior:"instant"});history.scrollRestoration="manual"}};function ut(t){const e=[];for(const n of t.querySelectorAll("head link[rel=stylesheet]"))if(!document.querySelector(`[${L}="${n.getAttribute(L)}"], link[rel=stylesheet][href="${n.getAttribute("href")}"]`)){const t=document.createElement("link");t.setAttribute("rel","preload"),t.setAttribute("as","style"),t.setAttribute("href",n.getAttribute("href")),e.push(new Promise((e=>{["load","error"].forEach((n=>t.addEventListener(n,e))),document.head.append(t)})))}return e}async function I(t,e,n,o,r){async function i(t){const e=document.getAnimations();document.documentElement.setAttribute(S,t);const n=document.getAnimations().filter((t=>!e.includes(t)&&!function(t){const e=t.effect;return!!(e&&e instanceof KeyframeEffect&&e.target)&&"infinite"===window.getComputedStyle(e.target,e.pseudoElement).animationIterationCount}(t)));return Promise.allSettled(n.map((t=>t.finished)))}if("animate"===r&&!n.transitionSkipped&&!t.signal.aborted)try{await i("old")}catch{}const a=document.title,s=it(t,n.viewTransition);C(s.to,s.from,e,a,o),X(tt),"animate"===r&&(n.transitionSkipped||s.signal.aborted?n.viewTransitionFinished():i("new").finally((()=>n.viewTransitionFinished())))}function dt(){return f?.controller.abort(),f={controller:new AbortController}}async function $(t,e,n,o,r){const i=dt();if(!D()||location.origin!==n.origin)return i===f&&(f=void 0),void(location.href=n.href);const a=r?"traverse":"replace"===o.history?"replace":"push";if("traverse"!==a&&R({scrollX:scrollX,scrollY:scrollY}),O(e,n)&&("back"!==t&&n.hash||"back"===t&&e.hash))return C(n,e,o,document.title,r),void(i===f&&(f=void 0));const s=await rt(e,n,t,a,o.sourceElement,o.info,i.controller.signal,o.formData,(async function(t){const e=t.to.href,n={signal:t.signal};if(t.formData){n.method="POST";const e=t.sourceElement instanceof HTMLFormElement?t.sourceElement:t.sourceElement instanceof HTMLElement&&"form"in t.sourceElement?t.sourceElement.form:t.sourceElement?.closest("form");n.body="application/x-www-form-urlencoded"===e?.attributes.getNamedItem("enctype")?.value?new URLSearchParams(t.formData):t.formData}const o=await ct(e,n);if(null===o)return void t.preventDefault();if(o.redirected){const e=new URL(o.redirected);if(e.origin!==t.to.origin)return void t.preventDefault();t.to=e}if(k??=new DOMParser,t.newDocument=k.parseFromString(o.html,o.mediaType),t.newDocument.querySelectorAll("noscript").forEach((t=>t.remove())),!t.newDocument.querySelector('[name="astro-view-transitions-enabled"]')&&!t.formData)return void t.preventDefault();const r=ut(t.newDocument);r.length&&!t.signal.aborted&&await Promise.all(r)}));if(s.defaultPrevented||s.signal.aborted)return i===f&&(f=void 0),void(s.signal.aborted||(location.href=n.href));const c=await async function(){if(b&&b.viewTransition){try{b.viewTransition.skipTransition()}catch{}try{await b.viewTransition.updateCallbackDone}catch{}}return b={transitionSkipped:!1}}();if(s.signal.aborted)i===f&&(f=void 0);else{if(document.documentElement.setAttribute(P,s.direction),x)c.viewTransition=document.startViewTransition((async()=>await I(s,o,c,r)));else{const t=(async()=>{await Promise.resolve(),await I(s,o,c,r,_())})();c.viewTransition={updateCallbackDone:t,ready:t,finished:new Promise((t=>c.viewTransitionFinished=t)),skipTransition:()=>{c.transitionSkipped=!0,document.documentElement.removeAttribute(S)}}}c.viewTransition.updateCallbackDone.finally((async()=>{await lt(),Y(),at()})),c.viewTransition.finished.finally((()=>{c.viewTransition=void 0,c===b&&(b=void 0),i===f&&(f=void 0),document.documentElement.removeAttribute(P),document.documentElement.removeAttribute(S)}));try{await c.viewTransition.updateCallbackDone}catch(t){const e=t;console.log("[astro]",e.name,e.message,e.stack)}}}async function M(t,e){await $("forward",v,new URL(t,location.href),e??{})}function ft(t){if(!D()&&t.state)return void location.reload();if(null===t.state)return;const e=history.state,n=e.index,o=n>g?"forward":"back";g=n,$(o,v,new URL(location.href),{},e)}const N=()=>{history.state&&(scrollX!==history.state.scrollX||scrollY!==history.state.scrollY)&&R({scrollX:scrollX,scrollY:scrollY})};if(x||"none"!==_())if(v=new URL(location.href),addEventListener("popstate",ft),addEventListener("load",Y),"onscrollend"in window)addEventListener("scrollend",N);else{let t,e,n,o;const r=()=>o!==history.state?.index?(clearInterval(t),void(t=void 0)):e===scrollY&&n===scrollX?(clearInterval(t),t=void 0,void N()):(e=scrollY,void(n=scrollX));addEventListener("scroll",(()=>{void 0===t&&(o=history.state.index,e=scrollY,n=scrollX,t=window.setInterval(r,50))}),{passive:!0})}for(const t of document.scripts)t.dataset.astroExec="";function mt(){const t=document.querySelector('[name="astro-view-transitions-fallback"]');return t?t.getAttribute("content"):"animate"}function F(t){return void 0!==t.dataset.astroReload}(x||"none"!==mt())&&(document.addEventListener("click",(t=>{let e=t.target;if(t.composed&&(e=t.composedPath()[0]),e instanceof Element&&(e=e.closest("a, area")),!(e instanceof HTMLAnchorElement||e instanceof SVGAElement||e instanceof HTMLAreaElement))return;const n=e instanceof HTMLElement?e.target:e.target.baseVal,o=e instanceof HTMLElement?e.href:e.href.baseVal,r=new URL(o,location.href).origin;F(e)||e.hasAttribute("download")||!e.href||n&&"_self"!==n||r!==location.origin||0!==t.button||t.metaKey||t.ctrlKey||t.altKey||t.shiftKey||t.defaultPrevented||(t.preventDefault(),M(o,{history:"replace"===e.dataset.astroHistory?"replace":"auto",sourceElement:e}))})),document.addEventListener("submit",(t=>{let e=t.target;if("FORM"!==e.tagName||t.defaultPrevented||F(e))return;const n=e,o=t.submitter,r=new FormData(n,o),i="string"==typeof n.action?n.action:n.getAttribute("action"),a="string"==typeof n.method?n.method:n.getAttribute("method");let s=o?.getAttribute("formaction")??i??location.pathname;const c=o?.getAttribute("formmethod")??a??"get";if("dialog"===c||location.origin!==new URL(s,location.href).origin)return;const l={sourceElement:o??n};if("get"===c){const t=new URLSearchParams(r),e=new URL(s);e.search=t.toString(),s=e.toString()}else l.formData=r;t.preventDefault(),M(s,l)})),q({prefetchAll:!0})); \ No newline at end of file diff --git a/Target/_astro/ViewTransitions.astro_astro_type_script_index_0_lang.Dd_TQxzB.js.map b/Target/_astro/ViewTransitions.astro_astro_type_script_index_0_lang.Dd_TQxzB.js.map new file mode 100644 index 00000000..61af99fe --- /dev/null +++ b/Target/_astro/ViewTransitions.astro_astro_type_script_index_0_lang.Dd_TQxzB.js.map @@ -0,0 +1 @@ +{"version":3,"file":"ViewTransitions.astro_astro_type_script_index_0_lang.Dd_TQxzB.js","sources":["../../../../../../node_modules/astro/dist/transitions/swap-functions.js","../../../../../../node_modules/astro/dist/transitions/events.js","../../../../../../node_modules/astro/dist/transitions/router.js"],"sourcesContent":["const PERSIST_ATTR = \"data-astro-transition-persist\";\nfunction deselectScripts(doc) {\n for (const s1 of document.scripts) {\n for (const s2 of doc.scripts) {\n if (\n // Check if the script should be rerun regardless of it being the same\n !s2.hasAttribute(\"data-astro-rerun\") && // Inline\n (!s1.src && s1.textContent === s2.textContent || // External\n s1.src && s1.type === s2.type && s1.src === s2.src)\n ) {\n s2.dataset.astroExec = \"\";\n break;\n }\n }\n }\n}\nfunction swapRootAttributes(doc) {\n const html = document.documentElement;\n const astroAttributes = [...html.attributes].filter(\n ({ name }) => (html.removeAttribute(name), name.startsWith(\"data-astro-\"))\n );\n [...doc.documentElement.attributes, ...astroAttributes].forEach(\n ({ name, value }) => html.setAttribute(name, value)\n );\n}\nfunction swapHeadElements(doc) {\n for (const el of Array.from(document.head.children)) {\n const newEl = persistedHeadElement(el, doc);\n if (newEl) {\n newEl.remove();\n } else {\n el.remove();\n }\n }\n document.head.append(...doc.head.children);\n}\nfunction swapBodyElement(newElement, oldElement) {\n oldElement.replaceWith(newElement);\n for (const el of oldElement.querySelectorAll(`[${PERSIST_ATTR}]`)) {\n const id = el.getAttribute(PERSIST_ATTR);\n const newEl = newElement.querySelector(`[${PERSIST_ATTR}=\"${id}\"]`);\n if (newEl) {\n newEl.replaceWith(el);\n if (newEl.localName === \"astro-island\" && shouldCopyProps(el)) {\n el.setAttribute(\"ssr\", \"\");\n el.setAttribute(\"props\", newEl.getAttribute(\"props\"));\n }\n }\n }\n}\nconst saveFocus = () => {\n const activeElement = document.activeElement;\n if (activeElement?.closest(`[${PERSIST_ATTR}]`)) {\n if (activeElement instanceof HTMLInputElement || activeElement instanceof HTMLTextAreaElement) {\n const start = activeElement.selectionStart;\n const end = activeElement.selectionEnd;\n return () => restoreFocus({ activeElement, start, end });\n }\n return () => restoreFocus({ activeElement });\n } else {\n return () => restoreFocus({ activeElement: null });\n }\n};\nconst restoreFocus = ({ activeElement, start, end }) => {\n if (activeElement) {\n activeElement.focus();\n if (activeElement instanceof HTMLInputElement || activeElement instanceof HTMLTextAreaElement) {\n if (typeof start === \"number\") activeElement.selectionStart = start;\n if (typeof end === \"number\") activeElement.selectionEnd = end;\n }\n }\n};\nconst persistedHeadElement = (el, newDoc) => {\n const id = el.getAttribute(PERSIST_ATTR);\n const newEl = id && newDoc.head.querySelector(`[${PERSIST_ATTR}=\"${id}\"]`);\n if (newEl) {\n return newEl;\n }\n if (el.matches(\"link[rel=stylesheet]\")) {\n const href = el.getAttribute(\"href\");\n return newDoc.head.querySelector(`link[rel=stylesheet][href=\"${href}\"]`);\n }\n return null;\n};\nconst shouldCopyProps = (el) => {\n const persistProps = el.dataset.astroTransitionPersistProps;\n return persistProps == null || persistProps === \"false\";\n};\nconst swapFunctions = {\n deselectScripts,\n swapRootAttributes,\n swapHeadElements,\n swapBodyElement,\n saveFocus\n};\nconst swap = (doc) => {\n deselectScripts(doc);\n swapRootAttributes(doc);\n swapHeadElements(doc);\n const restoreFocusFunction = saveFocus();\n swapBodyElement(doc.body, document.body);\n restoreFocusFunction();\n};\nexport {\n deselectScripts,\n restoreFocus,\n saveFocus,\n swap,\n swapBodyElement,\n swapFunctions,\n swapHeadElements,\n swapRootAttributes\n};\n","import { updateScrollPosition } from \"./router.js\";\nimport { swap } from \"./swap-functions.js\";\nconst TRANSITION_BEFORE_PREPARATION = \"astro:before-preparation\";\nconst TRANSITION_AFTER_PREPARATION = \"astro:after-preparation\";\nconst TRANSITION_BEFORE_SWAP = \"astro:before-swap\";\nconst TRANSITION_AFTER_SWAP = \"astro:after-swap\";\nconst TRANSITION_PAGE_LOAD = \"astro:page-load\";\nconst triggerEvent = (name) => document.dispatchEvent(new Event(name));\nconst onPageLoad = () => triggerEvent(TRANSITION_PAGE_LOAD);\nclass BeforeEvent extends Event {\n from;\n to;\n direction;\n navigationType;\n sourceElement;\n info;\n newDocument;\n signal;\n constructor(type, eventInitDict, from, to, direction, navigationType, sourceElement, info, newDocument, signal) {\n super(type, eventInitDict);\n this.from = from;\n this.to = to;\n this.direction = direction;\n this.navigationType = navigationType;\n this.sourceElement = sourceElement;\n this.info = info;\n this.newDocument = newDocument;\n this.signal = signal;\n Object.defineProperties(this, {\n from: { enumerable: true },\n to: { enumerable: true, writable: true },\n direction: { enumerable: true, writable: true },\n navigationType: { enumerable: true },\n sourceElement: { enumerable: true },\n info: { enumerable: true },\n newDocument: { enumerable: true, writable: true },\n signal: { enumerable: true }\n });\n }\n}\nconst isTransitionBeforePreparationEvent = (value) => value.type === TRANSITION_BEFORE_PREPARATION;\nclass TransitionBeforePreparationEvent extends BeforeEvent {\n formData;\n loader;\n constructor(from, to, direction, navigationType, sourceElement, info, newDocument, signal, formData, loader) {\n super(\n TRANSITION_BEFORE_PREPARATION,\n { cancelable: true },\n from,\n to,\n direction,\n navigationType,\n sourceElement,\n info,\n newDocument,\n signal\n );\n this.formData = formData;\n this.loader = loader.bind(this, this);\n Object.defineProperties(this, {\n formData: { enumerable: true },\n loader: { enumerable: true, writable: true }\n });\n }\n}\nconst isTransitionBeforeSwapEvent = (value) => value.type === TRANSITION_BEFORE_SWAP;\nclass TransitionBeforeSwapEvent extends BeforeEvent {\n direction;\n viewTransition;\n swap;\n constructor(afterPreparation, viewTransition) {\n super(\n TRANSITION_BEFORE_SWAP,\n void 0,\n afterPreparation.from,\n afterPreparation.to,\n afterPreparation.direction,\n afterPreparation.navigationType,\n afterPreparation.sourceElement,\n afterPreparation.info,\n afterPreparation.newDocument,\n afterPreparation.signal\n );\n this.direction = afterPreparation.direction;\n this.viewTransition = viewTransition;\n this.swap = () => swap(this.newDocument);\n Object.defineProperties(this, {\n direction: { enumerable: true },\n viewTransition: { enumerable: true },\n swap: { enumerable: true, writable: true }\n });\n }\n}\nasync function doPreparation(from, to, direction, navigationType, sourceElement, info, signal, formData, defaultLoader) {\n const event = new TransitionBeforePreparationEvent(\n from,\n to,\n direction,\n navigationType,\n sourceElement,\n info,\n window.document,\n signal,\n formData,\n defaultLoader\n );\n if (document.dispatchEvent(event)) {\n await event.loader();\n if (!event.defaultPrevented) {\n triggerEvent(TRANSITION_AFTER_PREPARATION);\n if (event.navigationType !== \"traverse\") {\n updateScrollPosition({ scrollX, scrollY });\n }\n }\n }\n return event;\n}\nfunction doSwap(afterPreparation, viewTransition) {\n const event = new TransitionBeforeSwapEvent(afterPreparation, viewTransition);\n document.dispatchEvent(event);\n event.swap();\n return event;\n}\nexport {\n TRANSITION_AFTER_PREPARATION,\n TRANSITION_AFTER_SWAP,\n TRANSITION_BEFORE_PREPARATION,\n TRANSITION_BEFORE_SWAP,\n TRANSITION_PAGE_LOAD,\n TransitionBeforePreparationEvent,\n TransitionBeforeSwapEvent,\n doPreparation,\n doSwap,\n isTransitionBeforePreparationEvent,\n isTransitionBeforeSwapEvent,\n onPageLoad,\n triggerEvent\n};\n","import { TRANSITION_AFTER_SWAP, doPreparation, doSwap } from \"./events.js\";\nconst inBrowser = import.meta.env.SSR === false;\nconst pushState = inBrowser && history.pushState.bind(history);\nconst replaceState = inBrowser && history.replaceState.bind(history);\nconst updateScrollPosition = (positions) => {\n if (history.state) {\n history.scrollRestoration = \"manual\";\n replaceState({ ...history.state, ...positions }, \"\");\n }\n};\nconst supportsViewTransitions = inBrowser && !!document.startViewTransition;\nconst transitionEnabledOnThisPage = () => inBrowser && !!document.querySelector('[name=\"astro-view-transitions-enabled\"]');\nconst samePage = (thisLocation, otherLocation) => thisLocation.pathname === otherLocation.pathname && thisLocation.search === otherLocation.search;\nlet mostRecentNavigation;\nlet mostRecentTransition;\nlet originalLocation;\nconst triggerEvent = (name) => document.dispatchEvent(new Event(name));\nconst onPageLoad = () => triggerEvent(\"astro:page-load\");\nconst announce = () => {\n let div = document.createElement(\"div\");\n div.setAttribute(\"aria-live\", \"assertive\");\n div.setAttribute(\"aria-atomic\", \"true\");\n div.className = \"astro-route-announcer\";\n document.body.append(div);\n setTimeout(\n () => {\n let title = document.title || document.querySelector(\"h1\")?.textContent || location.pathname;\n div.textContent = title;\n },\n // Much thought went into this magic number; the gist is that screen readers\n // need to see that the element changed and might not do so if it happens\n // too quickly.\n 60\n );\n};\nconst PERSIST_ATTR = \"data-astro-transition-persist\";\nconst DIRECTION_ATTR = \"data-astro-transition\";\nconst OLD_NEW_ATTR = \"data-astro-transition-fallback\";\nconst VITE_ID = \"data-vite-dev-id\";\nlet parser;\nlet currentHistoryIndex = 0;\nif (inBrowser) {\n if (history.state) {\n currentHistoryIndex = history.state.index;\n scrollTo({ left: history.state.scrollX, top: history.state.scrollY });\n } else if (transitionEnabledOnThisPage()) {\n replaceState({ index: currentHistoryIndex, scrollX, scrollY }, \"\");\n history.scrollRestoration = \"manual\";\n }\n}\nasync function fetchHTML(href, init) {\n try {\n const res = await fetch(href, init);\n const contentType = res.headers.get(\"content-type\") ?? \"\";\n const mediaType = contentType.split(\";\", 1)[0].trim();\n if (mediaType !== \"text/html\" && mediaType !== \"application/xhtml+xml\") {\n return null;\n }\n const html = await res.text();\n return {\n html,\n redirected: res.redirected ? res.url : void 0,\n mediaType\n };\n } catch {\n return null;\n }\n}\nfunction getFallback() {\n const el = document.querySelector('[name=\"astro-view-transitions-fallback\"]');\n if (el) {\n return el.getAttribute(\"content\");\n }\n return \"animate\";\n}\nfunction runScripts() {\n let wait = Promise.resolve();\n for (const script of Array.from(document.scripts)) {\n if (script.dataset.astroExec === \"\") continue;\n const type = script.getAttribute(\"type\");\n if (type && type !== \"module\" && type !== \"text/javascript\") continue;\n const newScript = document.createElement(\"script\");\n newScript.innerHTML = script.innerHTML;\n for (const attr of script.attributes) {\n if (attr.name === \"src\") {\n const p = new Promise((r) => {\n newScript.onload = newScript.onerror = r;\n });\n wait = wait.then(() => p);\n }\n newScript.setAttribute(attr.name, attr.value);\n }\n newScript.dataset.astroExec = \"\";\n script.replaceWith(newScript);\n }\n return wait;\n}\nconst moveToLocation = (to, from, options, pageTitleForBrowserHistory, historyState) => {\n const intraPage = samePage(from, to);\n const targetPageTitle = document.title;\n document.title = pageTitleForBrowserHistory;\n let scrolledToTop = false;\n if (to.href !== location.href && !historyState) {\n if (options.history === \"replace\") {\n const current = history.state;\n replaceState(\n {\n ...options.state,\n index: current.index,\n scrollX: current.scrollX,\n scrollY: current.scrollY\n },\n \"\",\n to.href\n );\n } else {\n pushState(\n { ...options.state, index: ++currentHistoryIndex, scrollX: 0, scrollY: 0 },\n \"\",\n to.href\n );\n }\n }\n document.title = targetPageTitle;\n originalLocation = to;\n if (!intraPage) {\n scrollTo({ left: 0, top: 0, behavior: \"instant\" });\n scrolledToTop = true;\n }\n if (historyState) {\n scrollTo(historyState.scrollX, historyState.scrollY);\n } else {\n if (to.hash) {\n history.scrollRestoration = \"auto\";\n const savedState = history.state;\n location.href = to.href;\n if (!history.state) {\n replaceState(savedState, \"\");\n if (intraPage) {\n window.dispatchEvent(new PopStateEvent(\"popstate\"));\n }\n }\n } else {\n if (!scrolledToTop) {\n scrollTo({ left: 0, top: 0, behavior: \"instant\" });\n }\n }\n history.scrollRestoration = \"manual\";\n }\n};\nfunction preloadStyleLinks(newDocument) {\n const links = [];\n for (const el of newDocument.querySelectorAll(\"head link[rel=stylesheet]\")) {\n if (!document.querySelector(\n `[${PERSIST_ATTR}=\"${el.getAttribute(\n PERSIST_ATTR\n )}\"], link[rel=stylesheet][href=\"${el.getAttribute(\"href\")}\"]`\n )) {\n const c = document.createElement(\"link\");\n c.setAttribute(\"rel\", \"preload\");\n c.setAttribute(\"as\", \"style\");\n c.setAttribute(\"href\", el.getAttribute(\"href\"));\n links.push(\n new Promise((resolve) => {\n [\"load\", \"error\"].forEach((evName) => c.addEventListener(evName, resolve));\n document.head.append(c);\n })\n );\n }\n }\n return links;\n}\nasync function updateDOM(preparationEvent, options, currentTransition, historyState, fallback) {\n async function animate(phase) {\n function isInfinite(animation) {\n const effect = animation.effect;\n if (!effect || !(effect instanceof KeyframeEffect) || !effect.target) return false;\n const style = window.getComputedStyle(effect.target, effect.pseudoElement);\n return style.animationIterationCount === \"infinite\";\n }\n const currentAnimations = document.getAnimations();\n document.documentElement.setAttribute(OLD_NEW_ATTR, phase);\n const nextAnimations = document.getAnimations();\n const newAnimations = nextAnimations.filter(\n (a) => !currentAnimations.includes(a) && !isInfinite(a)\n );\n return Promise.allSettled(newAnimations.map((a) => a.finished));\n }\n if (fallback === \"animate\" && !currentTransition.transitionSkipped && !preparationEvent.signal.aborted) {\n try {\n await animate(\"old\");\n } catch {\n }\n }\n const pageTitleForBrowserHistory = document.title;\n const swapEvent = doSwap(preparationEvent, currentTransition.viewTransition);\n moveToLocation(swapEvent.to, swapEvent.from, options, pageTitleForBrowserHistory, historyState);\n triggerEvent(TRANSITION_AFTER_SWAP);\n if (fallback === \"animate\") {\n if (!currentTransition.transitionSkipped && !swapEvent.signal.aborted) {\n animate(\"new\").finally(() => currentTransition.viewTransitionFinished());\n } else {\n currentTransition.viewTransitionFinished();\n }\n }\n}\nfunction abortAndRecreateMostRecentNavigation() {\n mostRecentNavigation?.controller.abort();\n return mostRecentNavigation = {\n controller: new AbortController()\n };\n}\nasync function transition(direction, from, to, options, historyState) {\n const currentNavigation = abortAndRecreateMostRecentNavigation();\n if (!transitionEnabledOnThisPage() || location.origin !== to.origin) {\n if (currentNavigation === mostRecentNavigation) mostRecentNavigation = void 0;\n location.href = to.href;\n return;\n }\n const navigationType = historyState ? \"traverse\" : options.history === \"replace\" ? \"replace\" : \"push\";\n if (navigationType !== \"traverse\") {\n updateScrollPosition({ scrollX, scrollY });\n }\n if (samePage(from, to)) {\n if (direction !== \"back\" && to.hash || direction === \"back\" && from.hash) {\n moveToLocation(to, from, options, document.title, historyState);\n if (currentNavigation === mostRecentNavigation) mostRecentNavigation = void 0;\n return;\n }\n }\n const prepEvent = await doPreparation(\n from,\n to,\n direction,\n navigationType,\n options.sourceElement,\n options.info,\n currentNavigation.controller.signal,\n options.formData,\n defaultLoader\n );\n if (prepEvent.defaultPrevented || prepEvent.signal.aborted) {\n if (currentNavigation === mostRecentNavigation) mostRecentNavigation = void 0;\n if (!prepEvent.signal.aborted) {\n location.href = to.href;\n }\n return;\n }\n async function defaultLoader(preparationEvent) {\n const href = preparationEvent.to.href;\n const init = { signal: preparationEvent.signal };\n if (preparationEvent.formData) {\n init.method = \"POST\";\n const form = preparationEvent.sourceElement instanceof HTMLFormElement ? preparationEvent.sourceElement : preparationEvent.sourceElement instanceof HTMLElement && \"form\" in preparationEvent.sourceElement ? preparationEvent.sourceElement.form : preparationEvent.sourceElement?.closest(\"form\");\n init.body = form?.attributes.getNamedItem(\"enctype\")?.value === \"application/x-www-form-urlencoded\" ? new URLSearchParams(preparationEvent.formData) : preparationEvent.formData;\n }\n const response = await fetchHTML(href, init);\n if (response === null) {\n preparationEvent.preventDefault();\n return;\n }\n if (response.redirected) {\n const redirectedTo = new URL(response.redirected);\n if (redirectedTo.origin !== preparationEvent.to.origin) {\n preparationEvent.preventDefault();\n return;\n }\n preparationEvent.to = redirectedTo;\n }\n parser ??= new DOMParser();\n preparationEvent.newDocument = parser.parseFromString(response.html, response.mediaType);\n preparationEvent.newDocument.querySelectorAll(\"noscript\").forEach((el) => el.remove());\n if (!preparationEvent.newDocument.querySelector('[name=\"astro-view-transitions-enabled\"]') && !preparationEvent.formData) {\n preparationEvent.preventDefault();\n return;\n }\n const links = preloadStyleLinks(preparationEvent.newDocument);\n links.length && !preparationEvent.signal.aborted && await Promise.all(links);\n if (import.meta.env.DEV && !preparationEvent.signal.aborted)\n await prepareForClientOnlyComponents(\n preparationEvent.newDocument,\n preparationEvent.to,\n preparationEvent.signal\n );\n }\n async function abortAndRecreateMostRecentTransition() {\n if (mostRecentTransition) {\n if (mostRecentTransition.viewTransition) {\n try {\n mostRecentTransition.viewTransition.skipTransition();\n } catch {\n }\n try {\n await mostRecentTransition.viewTransition.updateCallbackDone;\n } catch {\n }\n }\n }\n return mostRecentTransition = { transitionSkipped: false };\n }\n const currentTransition = await abortAndRecreateMostRecentTransition();\n if (prepEvent.signal.aborted) {\n if (currentNavigation === mostRecentNavigation) mostRecentNavigation = void 0;\n return;\n }\n document.documentElement.setAttribute(DIRECTION_ATTR, prepEvent.direction);\n if (supportsViewTransitions) {\n currentTransition.viewTransition = document.startViewTransition(\n async () => await updateDOM(prepEvent, options, currentTransition, historyState)\n );\n } else {\n const updateDone = (async () => {\n await Promise.resolve();\n await updateDOM(prepEvent, options, currentTransition, historyState, getFallback());\n })();\n currentTransition.viewTransition = {\n updateCallbackDone: updateDone,\n // this is about correct\n ready: updateDone,\n // good enough\n // Finished promise could have been done better: finished rejects iff updateDone does.\n // Our simulation always resolves, never rejects.\n finished: new Promise((r) => currentTransition.viewTransitionFinished = r),\n // see end of updateDOM\n skipTransition: () => {\n currentTransition.transitionSkipped = true;\n document.documentElement.removeAttribute(OLD_NEW_ATTR);\n }\n };\n }\n currentTransition.viewTransition.updateCallbackDone.finally(async () => {\n await runScripts();\n onPageLoad();\n announce();\n });\n currentTransition.viewTransition.finished.finally(() => {\n currentTransition.viewTransition = void 0;\n if (currentTransition === mostRecentTransition) mostRecentTransition = void 0;\n if (currentNavigation === mostRecentNavigation) mostRecentNavigation = void 0;\n document.documentElement.removeAttribute(DIRECTION_ATTR);\n document.documentElement.removeAttribute(OLD_NEW_ATTR);\n });\n try {\n await currentTransition.viewTransition.updateCallbackDone;\n } catch (e) {\n const err = e;\n console.log(\"[astro]\", err.name, err.message, err.stack);\n }\n}\nlet navigateOnServerWarned = false;\nasync function navigate(href, options) {\n if (inBrowser === false) {\n if (!navigateOnServerWarned) {\n const warning = new Error(\n \"The view transitions client API was called during a server side render. This may be unintentional as the navigate() function is expected to be called in response to user interactions. Please make sure that your usage is correct.\"\n );\n warning.name = \"Warning\";\n console.warn(warning);\n navigateOnServerWarned = true;\n }\n return;\n }\n await transition(\"forward\", originalLocation, new URL(href, location.href), options ?? {});\n}\nfunction onPopState(ev) {\n if (!transitionEnabledOnThisPage() && ev.state) {\n location.reload();\n return;\n }\n if (ev.state === null) {\n return;\n }\n const state = history.state;\n const nextIndex = state.index;\n const direction = nextIndex > currentHistoryIndex ? \"forward\" : \"back\";\n currentHistoryIndex = nextIndex;\n transition(direction, originalLocation, new URL(location.href), {}, state);\n}\nconst onScrollEnd = () => {\n if (history.state && (scrollX !== history.state.scrollX || scrollY !== history.state.scrollY)) {\n updateScrollPosition({ scrollX, scrollY });\n }\n};\nif (inBrowser) {\n if (supportsViewTransitions || getFallback() !== \"none\") {\n originalLocation = new URL(location.href);\n addEventListener(\"popstate\", onPopState);\n addEventListener(\"load\", onPageLoad);\n if (\"onscrollend\" in window) addEventListener(\"scrollend\", onScrollEnd);\n else {\n let intervalId, lastY, lastX, lastIndex;\n const scrollInterval = () => {\n if (lastIndex !== history.state?.index) {\n clearInterval(intervalId);\n intervalId = void 0;\n return;\n }\n if (lastY === scrollY && lastX === scrollX) {\n clearInterval(intervalId);\n intervalId = void 0;\n onScrollEnd();\n return;\n } else {\n lastY = scrollY, lastX = scrollX;\n }\n };\n addEventListener(\n \"scroll\",\n () => {\n if (intervalId !== void 0) return;\n lastIndex = history.state.index, lastY = scrollY, lastX = scrollX;\n intervalId = window.setInterval(scrollInterval, 50);\n },\n { passive: true }\n );\n }\n }\n for (const script of document.scripts) {\n script.dataset.astroExec = \"\";\n }\n}\nasync function prepareForClientOnlyComponents(newDocument, toLocation, signal) {\n if (newDocument.body.querySelector(`astro-island[client='only']`)) {\n const nextPage = document.createElement(\"iframe\");\n nextPage.src = toLocation.href;\n nextPage.style.display = \"none\";\n document.body.append(nextPage);\n nextPage.contentWindow.console = Object.keys(console).reduce((acc, key) => {\n acc[key] = () => {\n };\n return acc;\n }, {});\n await hydrationDone(nextPage);\n const nextHead = nextPage.contentDocument?.head;\n if (nextHead) {\n const viteIds = [...nextHead.querySelectorAll(`style[${VITE_ID}]`)].map(\n (style) => style.getAttribute(VITE_ID)\n );\n viteIds.forEach((id) => {\n const style = nextHead.querySelector(`style[${VITE_ID}=\"${id}\"]`);\n if (style && !newDocument.head.querySelector(`style[${VITE_ID}=\"${id}\"]`)) {\n newDocument.head.appendChild(style.cloneNode(true));\n }\n });\n }\n async function hydrationDone(loadingPage) {\n if (!signal.aborted) {\n await new Promise(\n (r) => loadingPage.contentWindow?.addEventListener(\"load\", r, { once: true })\n );\n }\n return new Promise(async (r) => {\n for (let count = 0; count <= 20; ++count) {\n if (signal.aborted) break;\n if (!loadingPage.contentDocument.body.querySelector(\"astro-island[ssr]\")) break;\n await new Promise((r2) => setTimeout(r2, 50));\n }\n r();\n });\n }\n }\n}\nexport {\n getFallback,\n navigate,\n supportsViewTransitions,\n transitionEnabledOnThisPage,\n updateScrollPosition\n};\n"],"names":["PERSIST_ATTR","deselectScripts","doc","s1","s2","swapRootAttributes","html","astroAttributes","name","value","swapHeadElements","el","newEl","persistedHeadElement","swapBodyElement","newElement","oldElement","id","shouldCopyProps","saveFocus","activeElement","start","end","restoreFocus","newDoc","href","persistProps","swap","restoreFocusFunction","TRANSITION_BEFORE_PREPARATION","TRANSITION_AFTER_PREPARATION","TRANSITION_BEFORE_SWAP","TRANSITION_AFTER_SWAP","triggerEvent","BeforeEvent","type","eventInitDict","from","to","direction","navigationType","sourceElement","info","newDocument","signal","TransitionBeforePreparationEvent","formData","loader","TransitionBeforeSwapEvent","afterPreparation","viewTransition","doPreparation","defaultLoader","event","updateScrollPosition","doSwap","pushState","replaceState","positions","supportsViewTransitions","transitionEnabledOnThisPage","samePage","thisLocation","otherLocation","mostRecentNavigation","mostRecentTransition","originalLocation","onPageLoad","announce","div","title","DIRECTION_ATTR","OLD_NEW_ATTR","parser","currentHistoryIndex","fetchHTML","init","res","mediaType","getFallback","runScripts","wait","script","newScript","attr","p","r","moveToLocation","options","pageTitleForBrowserHistory","historyState","intraPage","targetPageTitle","scrolledToTop","current","savedState","preloadStyleLinks","links","c","resolve","evName","updateDOM","preparationEvent","currentTransition","fallback","animate","phase","isInfinite","animation","effect","currentAnimations","newAnimations","a","swapEvent","abortAndRecreateMostRecentNavigation","transition","currentNavigation","prepEvent","form","response","redirectedTo","abortAndRecreateMostRecentTransition","updateDone","e","err","navigate","onPopState","ev","state","nextIndex","onScrollEnd","intervalId","lastY","lastX","lastIndex","scrollInterval"],"mappings":"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","x_google_ignoreList":[0,1,2]} \ No newline at end of file diff --git a/Target/_astro/index.B1fp56SV.js b/Target/_astro/index.B1fp56SV.js new file mode 100644 index 00000000..0848619d --- /dev/null +++ b/Target/_astro/index.B1fp56SV.js @@ -0,0 +1 @@ +const d=new Set,c=new WeakSet;let f,p,l=!1;function L(e){l||(l=!0,f??=e?.prefetchAll??!1,p??=e?.defaultStrategy??"hover",m(),v(),g(),S())}function m(){for(const e of["touchstart","mousedown"])document.body.addEventListener(e,(e=>{i(e.target,"tap")&&s(e.target.href,{ignoreSlowConnection:!0})}),{passive:!0})}function v(){let e;function t(t){const n=t.target.href;e&&clearTimeout(e),e=setTimeout((()=>{s(n)}),80)}function n(){e&&(clearTimeout(e),e=0)}document.body.addEventListener("focusin",(e=>{i(e.target,"hover")&&t(e)}),{passive:!0}),document.body.addEventListener("focusout",n,{passive:!0}),u((()=>{for(const e of document.getElementsByTagName("a"))c.has(e)||i(e,"hover")&&(c.add(e),e.addEventListener("mouseenter",t,{passive:!0}),e.addEventListener("mouseleave",n,{passive:!0}))}))}function g(){let e;u((()=>{for(const t of document.getElementsByTagName("a"))c.has(t)||i(t,"viewport")&&(c.add(t),e??=y(),e.observe(t))}))}function y(){const e=new WeakMap;return new IntersectionObserver(((t,n)=>{for(const o of t){const t=o.target,r=e.get(t);o.isIntersecting?(r&&clearTimeout(r),e.set(t,setTimeout((()=>{n.unobserve(t),e.delete(t),s(t.href)}),300))):r&&(clearTimeout(r),e.delete(t))}}))}function S(){u((()=>{for(const e of document.getElementsByTagName("a"))i(e,"load")&&s(e.href)}))}function s(e,t){if(w(e=e.replace(/#.*/,""),t?.ignoreSlowConnection??!1))if(d.add(e),HTMLScriptElement.supports?.("speculationrules"))E(e);else if(document.createElement("link").relList?.supports?.("prefetch")&&"fetch"!==t?.with){const t=document.createElement("link");t.rel="prefetch",t.setAttribute("href",e),document.head.append(t)}else fetch(e,{priority:"low"})}function w(e,t){if(!navigator.onLine||!t&&h())return!1;try{const t=new URL(e,location.href);return location.origin===t.origin&&(location.pathname!==t.pathname||location.search!==t.search)&&!d.has(e)}catch{}return!1}function i(e,t){if("A"!==e?.tagName)return!1;const n=e.dataset.astroPrefetch;return"false"!==n&&(!("tap"!==t||null==n&&!f||!h())||(null==n&&f||""===n?t===p:n===t))}function h(){if("connection"in navigator){const e=navigator.connection;return e.saveData||/2g/.test(e.effectiveType)}return!1}function u(e){e();let t=!1;document.addEventListener("astro:page-load",(()=>{t?e():t=!0}))}function E(e){const t=document.createElement("script");t.type="speculationrules",t.textContent=JSON.stringify({prerender:[{source:"list",urls:[e]}],prefetch:[{source:"list",urls:[e]}]}),document.head.append(t)}export{L as i}; \ No newline at end of file diff --git a/Target/_astro/index.B1fp56SV.js.map b/Target/_astro/index.B1fp56SV.js.map new file mode 100644 index 00000000..8c6a135e --- /dev/null +++ b/Target/_astro/index.B1fp56SV.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.B1fp56SV.js","sources":[],"sourcesContent":[],"names":[],"mappings":""} \ No newline at end of file diff --git a/Target/_astro/index.D6rU_tt3.js b/Target/_astro/index.D6rU_tt3.js deleted file mode 100644 index 59138804..00000000 --- a/Target/_astro/index.D6rU_tt3.js +++ /dev/null @@ -1 +0,0 @@ -const d=new Set,s=new WeakSet;let f,h,l=!1;function L(e){l||(l=!0,f??=e?.prefetchAll??!1,h??=e?.defaultStrategy??"hover",m(),v(),g(),S())}function m(){for(const e of["touchstart","mousedown"])document.body.addEventListener(e,(e=>{i(e.target,"tap")&&c(e.target.href,{ignoreSlowConnection:!0})}),{passive:!0})}function v(){let e;function t(t){const n=t.target.href;e&&clearTimeout(e),e=setTimeout((()=>{c(n)}),80)}function n(){e&&(clearTimeout(e),e=0)}document.body.addEventListener("focusin",(e=>{i(e.target,"hover")&&t(e)}),{passive:!0}),document.body.addEventListener("focusout",n,{passive:!0}),u((()=>{for(const e of document.getElementsByTagName("a"))s.has(e)||i(e,"hover")&&(s.add(e),e.addEventListener("mouseenter",t,{passive:!0}),e.addEventListener("mouseleave",n,{passive:!0}))}))}function g(){let e;u((()=>{for(const t of document.getElementsByTagName("a"))s.has(t)||i(t,"viewport")&&(s.add(t),e??=y(),e.observe(t))}))}function y(){const e=new WeakMap;return new IntersectionObserver(((t,n)=>{for(const o of t){const t=o.target,r=e.get(t);o.isIntersecting?(r&&clearTimeout(r),e.set(t,setTimeout((()=>{n.unobserve(t),e.delete(t),c(t.href)}),300))):r&&(clearTimeout(r),e.delete(t))}}))}function S(){u((()=>{for(const e of document.getElementsByTagName("a"))i(e,"load")&&c(e.href)}))}function c(e,t){if(w(e,t?.ignoreSlowConnection??!1))if(d.add(e),HTMLScriptElement.supports?.("speculationrules"))E(e);else if(document.createElement("link").relList?.supports?.("prefetch")&&"fetch"!==t?.with){const t=document.createElement("link");t.rel="prefetch",t.setAttribute("href",e),document.head.append(t)}else fetch(e,{priority:"low"})}function w(e,t){if(!navigator.onLine||!t&&p())return!1;try{const t=new URL(e,location.href);return location.origin===t.origin&&(location.pathname!==t.pathname||location.search!==t.search)&&!d.has(e)}catch{}return!1}function i(e,t){if("A"!==e?.tagName)return!1;const n=e.dataset.astroPrefetch;return"false"!==n&&(!("tap"!==t||null==n&&!f||!p())||(null==n&&f||""===n?t===h:n===t))}function p(){if("connection"in navigator){const e=navigator.connection;return e.saveData||/2g/.test(e.effectiveType)}return!1}function u(e){e();let t=!1;document.addEventListener("astro:page-load",(()=>{t?e():t=!0}))}function E(e){const t=document.createElement("script");t.type="speculationrules",t.textContent=JSON.stringify({prerender:[{source:"list",urls:[e]}],prefetch:[{source:"list",urls:[e]}]}),document.head.append(t)}export{L as i}; \ No newline at end of file diff --git a/Target/_astro/index.D6rU_tt3.js.map b/Target/_astro/index.D6rU_tt3.js.map deleted file mode 100644 index 2f63cd04..00000000 --- a/Target/_astro/index.D6rU_tt3.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"index.D6rU_tt3.js","sources":[],"sourcesContent":[],"names":[],"mappings":""} \ No newline at end of file diff --git a/Target/_astro/index.esm.WPJ9Gp6O.js b/Target/_astro/index.esm.C4IwMFMF.js similarity index 61% rename from Target/_astro/index.esm.WPJ9Gp6O.js rename to Target/_astro/index.esm.C4IwMFMF.js index d12f1412..b044ba46 100644 --- a/Target/_astro/index.esm.WPJ9Gp6O.js +++ b/Target/_astro/index.esm.C4IwMFMF.js @@ -1 +1 @@ -var L={};const W=function(e){const t=[];let r=0;for(let n=0;n>6|192,t[r++]=63&a|128):55296==(64512&a)&&n+1>18|240,t[r++]=a>>12&63|128,t[r++]=a>>6&63|128,t[r++]=63&a|128):(t[r++]=a>>12|224,t[r++]=a>>6&63|128,t[r++]=63&a|128)}return t},ee=function(e){const t=[];let r=0,n=0;for(;r191&&a<224){const i=e[r++];t[n++]=String.fromCharCode((31&a)<<6|63&i)}else if(a>239&&a<365){const i=((7&a)<<18|(63&e[r++])<<12|(63&e[r++])<<6|63&e[r++])-65536;t[n++]=String.fromCharCode(55296+(i>>10)),t[n++]=String.fromCharCode(56320+(1023&i))}else{const i=e[r++],s=e[r++];t[n++]=String.fromCharCode((15&a)<<12|(63&i)<<6|63&s)}}return t.join("")},G={byteToCharMap_:null,charToByteMap_:null,byteToCharMapWebSafe_:null,charToByteMapWebSafe_:null,ENCODED_VALS_BASE:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789",get ENCODED_VALS(){return this.ENCODED_VALS_BASE+"+/="},get ENCODED_VALS_WEBSAFE(){return this.ENCODED_VALS_BASE+"-_."},HAS_NATIVE_SUPPORT:"function"==typeof atob,encodeByteArray(e,t){if(!Array.isArray(e))throw Error("encodeByteArray takes an array as a parameter");this.init_();const r=t?this.byteToCharMapWebSafe_:this.byteToCharMap_,n=[];for(let t=0;t>2,l=(3&a)<<4|s>>4;let d=(15&s)<<2|c>>6,u=63&c;o||(u=64,i||(d=64)),n.push(r[h],r[l],r[d],r[u])}return n.join("")},encodeString(e,t){return this.HAS_NATIVE_SUPPORT&&!t?btoa(e):this.encodeByteArray(W(e),t)},decodeString(e,t){return this.HAS_NATIVE_SUPPORT&&!t?atob(e):ee(this.decodeStringToByteArray(e,t))},decodeStringToByteArray(e,t){this.init_();const r=t?this.charToByteMapWebSafe_:this.charToByteMap_,n=[];for(let t=0;t>4;if(n.push(c),64!==s){const e=i<<4&240|s>>2;if(n.push(e),64!==o){const e=s<<6&192|o;n.push(e)}}}return n},init_(){if(!this.byteToCharMap_){this.byteToCharMap_={},this.charToByteMap_={},this.byteToCharMapWebSafe_={},this.charToByteMapWebSafe_={};for(let e=0;e=this.ENCODED_VALS_BASE.length&&(this.charToByteMap_[this.ENCODED_VALS_WEBSAFE.charAt(e)]=e,this.charToByteMapWebSafe_[this.ENCODED_VALS.charAt(e)]=e)}}};class te extends Error{constructor(){super(...arguments),this.name="DecodeBase64StringError"}}const ne=function(e){const t=W(e);return G.encodeByteArray(t,!0)},J=function(e){return ne(e).replace(/\./g,"")},re=function(e){try{return G.decodeString(e,!0)}catch(e){console.error("base64Decode failed: ",e)}return null};function se(){if(typeof self<"u")return self;if(typeof window<"u")return window;if(typeof global<"u")return global;throw new Error("Unable to locate global object.")}const ae=()=>se().__FIREBASE_DEFAULTS__,ie=()=>{if(typeof process>"u"||typeof L>"u")return;const e=L.__FIREBASE_DEFAULTS__;return e?JSON.parse(e):void 0},oe=()=>{if(typeof document>"u")return;let e;try{e=document.cookie.match(/__FIREBASE_DEFAULTS__=([^;]+)/)}catch{return}const t=e&&re(e[1]);return t&&JSON.parse(t)},ce=()=>{try{return ae()||ie()||oe()}catch(e){return void console.info(`Unable to get __FIREBASE_DEFAULTS__ due to: ${e}`)}},he=()=>{var e;return null===(e=ce())||void 0===e?void 0:e.config};class le{constructor(){this.reject=()=>{},this.resolve=()=>{},this.promise=new Promise(((e,t)=>{this.resolve=e,this.reject=t}))}wrapCallback(e){return(t,r)=>{t?this.reject(t):this.resolve(r),"function"==typeof e&&(this.promise.catch((()=>{})),1===e.length?e(t):e(t,r))}}}function de(){try{return"object"==typeof indexedDB}catch{return!1}}function fe(){return new Promise(((e,t)=>{try{let r=!0;const n="validate-browser-context-for-indexeddb-analytics-module",a=self.indexedDB.open(n);a.onsuccess=()=>{a.result.close(),r||self.indexedDB.deleteDatabase(n),e(!0)},a.onupgradeneeded=()=>{r=!1},a.onerror=()=>{var e;t((null===(e=a.error)||void 0===e?void 0:e.message)||"")}}catch(e){t(e)}}))}const ue="FirebaseError";class b extends Error{constructor(e,t,r){super(t),this.code=e,this.customData=r,this.name=ue,Object.setPrototypeOf(this,b.prototype),Error.captureStackTrace&&Error.captureStackTrace(this,K.prototype.create)}}class K{constructor(e,t,r){this.service=e,this.serviceName=t,this.errors=r}create(e,...t){const r=t[0]||{},n=`${this.service}/${e}`,a=this.errors[e],i=a?pe(a,r):"Error",s=`${this.serviceName}: ${i} (${n}).`;return new b(n,s,r)}}function pe(e,t){return e.replace(me,((e,r)=>{const n=t[r];return null!=n?String(n):`<${r}?>`}))}const me=/\{\$([^}]+)}/g;function C(e,t){if(e===t)return!0;const r=Object.keys(e),n=Object.keys(t);for(const a of r){if(!n.includes(a))return!1;const r=e[a],i=t[a];if(H(r)&&H(i)){if(!C(r,i))return!1}else if(r!==i)return!1}for(const e of n)if(!r.includes(e))return!1;return!0}function H(e){return null!==e&&"object"==typeof e}class D{constructor(e,t,r){this.name=e,this.instanceFactory=t,this.type=r,this.multipleInstances=!1,this.serviceProps={},this.instantiationMode="LAZY",this.onInstanceCreated=null}setInstantiationMode(e){return this.instantiationMode=e,this}setMultipleInstances(e){return this.multipleInstances=e,this}setServiceProps(e){return this.serviceProps=e,this}setInstanceCreatedCallback(e){return this.onInstanceCreated=e,this}}const u="[DEFAULT]";class ge{constructor(e,t){this.name=e,this.container=t,this.component=null,this.instances=new Map,this.instancesDeferred=new Map,this.instancesOptions=new Map,this.onInitCallbacks=new Map}get(e){const t=this.normalizeInstanceIdentifier(e);if(!this.instancesDeferred.has(t)){const e=new le;if(this.instancesDeferred.set(t,e),this.isInitialized(t)||this.shouldAutoInitialize())try{const r=this.getOrInitializeService({instanceIdentifier:t});r&&e.resolve(r)}catch{}}return this.instancesDeferred.get(t).promise}getImmediate(e){var t;const r=this.normalizeInstanceIdentifier(e?.identifier),n=null!==(t=e?.optional)&&void 0!==t&&t;if(!this.isInitialized(r)&&!this.shouldAutoInitialize()){if(n)return null;throw Error(`Service ${this.name} is not available`)}try{return this.getOrInitializeService({instanceIdentifier:r})}catch(e){if(n)return null;throw e}}getComponent(){return this.component}setComponent(e){if(e.name!==this.name)throw Error(`Mismatching Component ${e.name} for Provider ${this.name}.`);if(this.component)throw Error(`Component for ${this.name} has already been provided`);if(this.component=e,this.shouldAutoInitialize()){if(_e(e))try{this.getOrInitializeService({instanceIdentifier:u})}catch{}for(const[e,t]of this.instancesDeferred.entries()){const r=this.normalizeInstanceIdentifier(e);try{const e=this.getOrInitializeService({instanceIdentifier:r});t.resolve(e)}catch{}}}}clearInstance(e=u){this.instancesDeferred.delete(e),this.instancesOptions.delete(e),this.instances.delete(e)}async delete(){const e=Array.from(this.instances.values());await Promise.all([...e.filter((e=>"INTERNAL"in e)).map((e=>e.INTERNAL.delete())),...e.filter((e=>"_delete"in e)).map((e=>e._delete()))])}isComponentSet(){return null!=this.component}isInitialized(e=u){return this.instances.has(e)}getOptions(e=u){return this.instancesOptions.get(e)||{}}initialize(e={}){const{options:t={}}=e,r=this.normalizeInstanceIdentifier(e.instanceIdentifier);if(this.isInitialized(r))throw Error(`${this.name}(${r}) has already been initialized`);if(!this.isComponentSet())throw Error(`Component ${this.name} has not been registered yet`);const n=this.getOrInitializeService({instanceIdentifier:r,options:t});for(const[e,t]of this.instancesDeferred.entries()){r===this.normalizeInstanceIdentifier(e)&&t.resolve(n)}return n}onInit(e,t){var r;const n=this.normalizeInstanceIdentifier(t),a=null!==(r=this.onInitCallbacks.get(n))&&void 0!==r?r:new Set;a.add(e),this.onInitCallbacks.set(n,a);const i=this.instances.get(n);return i&&e(i,n),()=>{a.delete(e)}}invokeOnInitCallbacks(e,t){const r=this.onInitCallbacks.get(t);if(r)for(const n of r)try{n(e,t)}catch{}}getOrInitializeService({instanceIdentifier:e,options:t={}}){let r=this.instances.get(e);if(!r&&this.component&&(r=this.component.instanceFactory(this.container,{instanceIdentifier:be(e),options:t}),this.instances.set(e,r),this.instancesOptions.set(e,t),this.invokeOnInitCallbacks(r,e),this.component.onInstanceCreated))try{this.component.onInstanceCreated(this.container,e,r)}catch{}return r||null}normalizeInstanceIdentifier(e=u){return this.component?this.component.multipleInstances?e:u:e}shouldAutoInitialize(){return!!this.component&&"EXPLICIT"!==this.component.instantiationMode}}function be(e){return e===u?void 0:e}function _e(e){return"EAGER"===e.instantiationMode}class Ee{constructor(e){this.name=e,this.providers=new Map}addComponent(e){const t=this.getProvider(e.name);if(t.isComponentSet())throw new Error(`Component ${e.name} has already been registered with ${this.name}`);t.setComponent(e)}addOrOverwriteComponent(e){this.getProvider(e.name).isComponentSet()&&this.providers.delete(e.name),this.addComponent(e)}getProvider(e){if(this.providers.has(e))return this.providers.get(e);const t=new ge(e,this);return this.providers.set(e,t),t}getProviders(){return Array.from(this.providers.values())}}var h;!function(e){e[e.DEBUG=0]="DEBUG",e[e.VERBOSE=1]="VERBOSE",e[e.INFO=2]="INFO",e[e.WARN=3]="WARN",e[e.ERROR=4]="ERROR",e[e.SILENT=5]="SILENT"}(h||(h={}));const ye={debug:h.DEBUG,verbose:h.VERBOSE,info:h.INFO,warn:h.WARN,error:h.ERROR,silent:h.SILENT},De=h.INFO,Ie={[h.DEBUG]:"log",[h.VERBOSE]:"log",[h.INFO]:"info",[h.WARN]:"warn",[h.ERROR]:"error"},ve=(e,t,...r)=>{if(tt.some((t=>e instanceof t));let P,F;function Ce(){return P||(P=[IDBDatabase,IDBObjectStore,IDBIndex,IDBCursor,IDBTransaction])}function Ae(){return F||(F=[IDBCursor.prototype.advance,IDBCursor.prototype.continue,IDBCursor.prototype.continuePrimaryKey])}const Y=new WeakMap,A=new WeakMap,X=new WeakMap,I=new WeakMap,N=new WeakMap;function Be(e){const t=new Promise(((t,r)=>{const n=()=>{e.removeEventListener("success",a),e.removeEventListener("error",i)},a=()=>{t(f(e.result)),n()},i=()=>{r(e.error),n()};e.addEventListener("success",a),e.addEventListener("error",i)}));return t.then((t=>{t instanceof IDBCursor&&Y.set(t,e)})).catch((()=>{})),N.set(t,e),t}function Oe(e){if(A.has(e))return;const t=new Promise(((t,r)=>{const n=()=>{e.removeEventListener("complete",a),e.removeEventListener("error",i),e.removeEventListener("abort",i)},a=()=>{t(),n()},i=()=>{r(e.error||new DOMException("AbortError","AbortError")),n()};e.addEventListener("complete",a),e.addEventListener("error",i),e.addEventListener("abort",i)}));A.set(e,t)}let B={get(e,t,r){if(e instanceof IDBTransaction){if("done"===t)return A.get(e);if("objectStoreNames"===t)return e.objectStoreNames||X.get(e);if("store"===t)return r.objectStoreNames[1]?void 0:r.objectStore(r.objectStoreNames[0])}return f(e[t])},set:(e,t,r)=>(e[t]=r,!0),has:(e,t)=>e instanceof IDBTransaction&&("done"===t||"store"===t)||t in e};function Te(e){B=e(B)}function Me(e){return e!==IDBDatabase.prototype.transaction||"objectStoreNames"in IDBTransaction.prototype?Ae().includes(e)?function(...t){return e.apply(v(this),t),f(Y.get(this))}:function(...t){return f(e.apply(v(this),t))}:function(t,...r){const n=e.call(v(this),t,...r);return X.set(n,t.sort?t.sort():[t]),f(n)}}function $e(e){return"function"==typeof e?Me(e):(e instanceof IDBTransaction&&Oe(e),Se(e,Ce())?new Proxy(e,B):e)}function f(e){if(e instanceof IDBRequest)return Be(e);if(I.has(e))return I.get(e);const t=$e(e);return t!==e&&(I.set(e,t),N.set(t,e)),t}const v=e=>N.get(e);function Ne(e,t,{blocked:r,upgrade:n,blocking:a,terminated:i}={}){const s=indexedDB.open(e,t),o=f(s);return n&&s.addEventListener("upgradeneeded",(e=>{n(f(s.result),e.oldVersion,e.newVersion,f(s.transaction),e)})),r&&s.addEventListener("blocked",(e=>r(e.oldVersion,e.newVersion,e))),o.then((e=>{i&&e.addEventListener("close",(()=>i())),a&&e.addEventListener("versionchange",(e=>a(e.oldVersion,e.newVersion,e)))})).catch((()=>{})),o}const Re=["get","getKey","getAll","getAllKeys","count"],Le=["put","add","delete","clear"],w=new Map;function x(e,t){if(!(e instanceof IDBDatabase)||t in e||"string"!=typeof t)return;if(w.get(t))return w.get(t);const r=t.replace(/FromIndex$/,""),n=t!==r,a=Le.includes(r);if(!(r in(n?IDBIndex:IDBObjectStore).prototype)||!a&&!Re.includes(r))return;const i=async function(e,...t){const i=this.transaction(e,a?"readwrite":"readonly");let s=i.store;return n&&(s=s.index(t.shift())),(await Promise.all([s[r](...t),a&&i.done]))[0]};return w.set(t,i),i}Te((e=>({...e,get:(t,r,n)=>x(t,r)||e.get(t,r,n),has:(t,r)=>!!x(t,r)||e.has(t,r)})));class He{constructor(e){this.container=e}getPlatformInfoString(){return this.container.getProviders().map((e=>{if(Pe(e)){const t=e.getImmediate();return`${t.library}/${t.version}`}return null})).filter((e=>e)).join(" ")}}function Pe(e){const t=e.getComponent();return"VERSION"===t?.type}const O="@firebase/app",V="0.10.9",d=new we("@firebase/app"),Fe="@firebase/app-compat",xe="@firebase/analytics-compat",Ve="@firebase/analytics",je="@firebase/app-check-compat",ke="@firebase/app-check",ze="@firebase/auth",Ue="@firebase/auth-compat",We="@firebase/database",Ge="@firebase/database-compat",Je="@firebase/functions",Ke="@firebase/functions-compat",Ye="@firebase/installations",Xe="@firebase/installations-compat",Ze="@firebase/messaging",qe="@firebase/messaging-compat",Qe="@firebase/performance",et="@firebase/performance-compat",tt="@firebase/remote-config",nt="@firebase/remote-config-compat",rt="@firebase/storage",st="@firebase/storage-compat",at="@firebase/firestore",it="@firebase/vertexai-preview",ot="@firebase/firestore-compat",ct="firebase",ht="[DEFAULT]",lt={[O]:"fire-core",[Fe]:"fire-core-compat",[Ve]:"fire-analytics",[xe]:"fire-analytics-compat",[ke]:"fire-app-check",[je]:"fire-app-check-compat",[ze]:"fire-auth",[Ue]:"fire-auth-compat",[We]:"fire-rtdb",[Ge]:"fire-rtdb-compat",[Je]:"fire-fn",[Ke]:"fire-fn-compat",[Ye]:"fire-iid",[Xe]:"fire-iid-compat",[Ze]:"fire-fcm",[qe]:"fire-fcm-compat",[Qe]:"fire-perf",[et]:"fire-perf-compat",[tt]:"fire-rc",[nt]:"fire-rc-compat",[rt]:"fire-gcs",[st]:"fire-gcs-compat",[at]:"fire-fst",[ot]:"fire-fst-compat",[it]:"fire-vertex","fire-js":"fire-js",[ct]:"fire-js-all"},T=new Map,dt=new Map,M=new Map;function j(e,t){try{e.container.addComponent(t)}catch(r){d.debug(`Component ${t.name} failed to register with FirebaseApp ${e.name}`,r)}}function $(e){const t=e.name;if(M.has(t))return d.debug(`There were multiple attempts to register component ${t}.`),!1;M.set(t,e);for(const t of T.values())j(t,e);for(const t of dt.values())j(t,e);return!0}const ft={"no-app":"No Firebase App '{$appName}' has been created - call initializeApp() first","bad-app-name":"Illegal App name: '{$appName}'","duplicate-app":"Firebase App named '{$appName}' already exists with different options or config","app-deleted":"Firebase App named '{$appName}' already deleted","server-app-deleted":"Firebase Server App has been deleted","no-options":"Need to provide options, when not being deployed to hosting via source.","invalid-app-argument":"firebase.{$appName}() takes either no argument or a Firebase App instance.","invalid-log-argument":"First argument to `onLog` must be null or a function.","idb-open":"Error thrown when opening IndexedDB. Original error: {$originalErrorMessage}.","idb-get":"Error thrown when reading from IndexedDB. Original error: {$originalErrorMessage}.","idb-set":"Error thrown when writing to IndexedDB. Original error: {$originalErrorMessage}.","idb-delete":"Error thrown when deleting from IndexedDB. Original error: {$originalErrorMessage}.","finalization-registry-not-supported":"FirebaseServerApp deleteOnDeref field defined but the JS runtime does not support FinalizationRegistry.","invalid-server-app-environment":"FirebaseServerApp is not for use in browser environments."},p=new K("app","Firebase",ft);class ut{constructor(e,t,r){this._isDeleted=!1,this._options=Object.assign({},e),this._config=Object.assign({},t),this._name=t.name,this._automaticDataCollectionEnabled=t.automaticDataCollectionEnabled,this._container=r,this.container.addComponent(new D("app",(()=>this),"PUBLIC"))}get automaticDataCollectionEnabled(){return this.checkDestroyed(),this._automaticDataCollectionEnabled}set automaticDataCollectionEnabled(e){this.checkDestroyed(),this._automaticDataCollectionEnabled=e}get name(){return this.checkDestroyed(),this._name}get options(){return this.checkDestroyed(),this._options}get config(){return this.checkDestroyed(),this._config}get container(){return this._container}get isDeleted(){return this._isDeleted}set isDeleted(e){this._isDeleted=e}checkDestroyed(){if(this.isDeleted)throw p.create("app-deleted",{appName:this._name})}}function St(e,t={}){let r=e;"object"!=typeof t&&(t={name:t});const n=Object.assign({name:ht,automaticDataCollectionEnabled:!1},t),a=n.name;if("string"!=typeof a||!a)throw p.create("bad-app-name",{appName:String(a)});if(r||(r=he()),!r)throw p.create("no-options");const i=T.get(a);if(i){if(C(r,i.options)&&C(n,i.config))return i;throw p.create("duplicate-app",{appName:a})}const s=new Ee(a);for(const e of M.values())s.addComponent(e);const o=new ut(r,n,s);return T.set(a,o),o}function y(e,t,r){var n;let a=null!==(n=lt[e])&&void 0!==n?n:e;r&&(a+=`-${r}`);const i=a.match(/\s|\//),s=t.match(/\s|\//);if(i||s){const e=[`Unable to register library "${a}" with version "${t}":`];return i&&e.push(`library name "${a}" contains illegal characters (whitespace or "/")`),i&&s&&e.push("and"),s&&e.push(`version name "${t}" contains illegal characters (whitespace or "/")`),void d.warn(e.join(" "))}$(new D(`${a}-version`,(()=>({library:a,version:t})),"VERSION"))}const pt="firebase-heartbeat-database",mt=1,g="firebase-heartbeat-store";let S=null;function Z(){return S||(S=Ne(pt,mt,{upgrade:(e,t)=>{if(0===t)try{e.createObjectStore(g)}catch(e){console.warn(e)}}}).catch((e=>{throw p.create("idb-open",{originalErrorMessage:e.message})}))),S}async function gt(e){try{const t=(await Z()).transaction(g),r=await t.objectStore(g).get(q(e));return await t.done,r}catch(e){if(e instanceof b)d.warn(e.message);else{const t=p.create("idb-get",{originalErrorMessage:e?.message});d.warn(t.message)}}}async function k(e,t){try{const r=(await Z()).transaction(g,"readwrite");await r.objectStore(g).put(t,q(e)),await r.done}catch(e){if(e instanceof b)d.warn(e.message);else{const t=p.create("idb-set",{originalErrorMessage:e?.message});d.warn(t.message)}}}function q(e){return`${e.name}!${e.options.appId}`}const bt=1024,_t=2592e6;class Et{constructor(e){this.container=e,this._heartbeatsCache=null;const t=this.container.getProvider("app").getImmediate();this._storage=new Dt(t),this._heartbeatsCachePromise=this._storage.read().then((e=>(this._heartbeatsCache=e,e)))}async triggerHeartbeat(){var e,t,r;try{const n=this.container.getProvider("platform-logger").getImmediate().getPlatformInfoString(),a=z();return console.log("heartbeats",null===(e=this._heartbeatsCache)||void 0===e?void 0:e.heartbeats),null==(null===(t=this._heartbeatsCache)||void 0===t?void 0:t.heartbeats)&&(this._heartbeatsCache=await this._heartbeatsCachePromise,null==(null===(r=this._heartbeatsCache)||void 0===r?void 0:r.heartbeats))||this._heartbeatsCache.lastSentHeartbeatDate===a||this._heartbeatsCache.heartbeats.some((e=>e.date===a))?void 0:(this._heartbeatsCache.heartbeats.push({date:a,agent:n}),this._heartbeatsCache.heartbeats=this._heartbeatsCache.heartbeats.filter((e=>{const t=new Date(e.date).valueOf();return Date.now()-t<=_t})),this._storage.overwrite(this._heartbeatsCache))}catch(e){d.warn(e)}}async getHeartbeatsHeader(){var e;try{if(null===this._heartbeatsCache&&await this._heartbeatsCachePromise,null==(null===(e=this._heartbeatsCache)||void 0===e?void 0:e.heartbeats)||0===this._heartbeatsCache.heartbeats.length)return"";const t=z(),{heartbeatsToSend:r,unsentEntries:n}=yt(this._heartbeatsCache.heartbeats),a=J(JSON.stringify({version:2,heartbeats:r}));return this._heartbeatsCache.lastSentHeartbeatDate=t,n.length>0?(this._heartbeatsCache.heartbeats=n,await this._storage.overwrite(this._heartbeatsCache)):(this._heartbeatsCache.heartbeats=[],this._storage.overwrite(this._heartbeatsCache)),a}catch(e){return d.warn(e),""}}}function z(){return(new Date).toISOString().substring(0,10)}function yt(e,t=bt){const r=[];let n=e.slice();for(const a of e){const e=r.find((e=>e.agent===a.agent));if(e){if(e.dates.push(a.date),U(r)>t){e.dates.pop();break}}else if(r.push({agent:a.agent,dates:[a.date]}),U(r)>t){r.pop();break}n=n.slice(1)}return{heartbeatsToSend:r,unsentEntries:n}}class Dt{constructor(e){this.app=e,this._canUseIndexedDBPromise=this.runIndexedDBEnvironmentCheck()}async runIndexedDBEnvironmentCheck(){return!!de()&&fe().then((()=>!0)).catch((()=>!1))}async read(){if(await this._canUseIndexedDBPromise){const e=await gt(this.app);return e?.heartbeats?e:{heartbeats:[]}}return{heartbeats:[]}}async overwrite(e){var t;if(await this._canUseIndexedDBPromise){const r=await this.read();return k(this.app,{lastSentHeartbeatDate:null!==(t=e.lastSentHeartbeatDate)&&void 0!==t?t:r.lastSentHeartbeatDate,heartbeats:e.heartbeats})}}async add(e){var t;if(await this._canUseIndexedDBPromise){const r=await this.read();return k(this.app,{lastSentHeartbeatDate:null!==(t=e.lastSentHeartbeatDate)&&void 0!==t?t:r.lastSentHeartbeatDate,heartbeats:[...r.heartbeats,...e.heartbeats]})}}}function U(e){return J(JSON.stringify({version:2,heartbeats:e})).length}function It(e){$(new D("platform-logger",(e=>new He(e)),"PRIVATE")),$(new D("heartbeat",(e=>new Et(e)),"PRIVATE")),y(O,V,e),y(O,V,"esm2017"),y("fire-js","")}It("");var vt="firebase",wt="10.13.0";y(vt,wt,"app");export{b as FirebaseError,ht as _DEFAULT_ENTRY_NAME,j as _addComponent,T as _apps,M as _components,$ as _registerComponent,dt as _serverApps,St as initializeApp,y as registerVersion}; \ No newline at end of file +var L={};const W=function(e){const t=[];let r=0;for(let n=0;n>6|192,t[r++]=63&a|128):55296==(64512&a)&&n+1>18|240,t[r++]=a>>12&63|128,t[r++]=a>>6&63|128,t[r++]=63&a|128):(t[r++]=a>>12|224,t[r++]=a>>6&63|128,t[r++]=63&a|128)}return t},ee=function(e){const t=[];let r=0,n=0;for(;r191&&a<224){const i=e[r++];t[n++]=String.fromCharCode((31&a)<<6|63&i)}else if(a>239&&a<365){const i=((7&a)<<18|(63&e[r++])<<12|(63&e[r++])<<6|63&e[r++])-65536;t[n++]=String.fromCharCode(55296+(i>>10)),t[n++]=String.fromCharCode(56320+(1023&i))}else{const i=e[r++],s=e[r++];t[n++]=String.fromCharCode((15&a)<<12|(63&i)<<6|63&s)}}return t.join("")},G={byteToCharMap_:null,charToByteMap_:null,byteToCharMapWebSafe_:null,charToByteMapWebSafe_:null,ENCODED_VALS_BASE:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789",get ENCODED_VALS(){return this.ENCODED_VALS_BASE+"+/="},get ENCODED_VALS_WEBSAFE(){return this.ENCODED_VALS_BASE+"-_."},HAS_NATIVE_SUPPORT:"function"==typeof atob,encodeByteArray(e,t){if(!Array.isArray(e))throw Error("encodeByteArray takes an array as a parameter");this.init_();const r=t?this.byteToCharMapWebSafe_:this.byteToCharMap_,n=[];for(let t=0;t>2,l=(3&a)<<4|s>>4;let d=(15&s)<<2|c>>6,u=63&c;o||(u=64,i||(d=64)),n.push(r[h],r[l],r[d],r[u])}return n.join("")},encodeString(e,t){return this.HAS_NATIVE_SUPPORT&&!t?btoa(e):this.encodeByteArray(W(e),t)},decodeString(e,t){return this.HAS_NATIVE_SUPPORT&&!t?atob(e):ee(this.decodeStringToByteArray(e,t))},decodeStringToByteArray(e,t){this.init_();const r=t?this.charToByteMapWebSafe_:this.charToByteMap_,n=[];for(let t=0;t>4;if(n.push(c),64!==s){const e=i<<4&240|s>>2;if(n.push(e),64!==o){const e=s<<6&192|o;n.push(e)}}}return n},init_(){if(!this.byteToCharMap_){this.byteToCharMap_={},this.charToByteMap_={},this.byteToCharMapWebSafe_={},this.charToByteMapWebSafe_={};for(let e=0;e=this.ENCODED_VALS_BASE.length&&(this.charToByteMap_[this.ENCODED_VALS_WEBSAFE.charAt(e)]=e,this.charToByteMapWebSafe_[this.ENCODED_VALS.charAt(e)]=e)}}};class te extends Error{constructor(){super(...arguments),this.name="DecodeBase64StringError"}}const ne=function(e){const t=W(e);return G.encodeByteArray(t,!0)},J=function(e){return ne(e).replace(/\./g,"")},re=function(e){try{return G.decodeString(e,!0)}catch(e){console.error("base64Decode failed: ",e)}return null};function se(){if(typeof self<"u")return self;if(typeof window<"u")return window;if(typeof global<"u")return global;throw new Error("Unable to locate global object.")}const ae=()=>se().__FIREBASE_DEFAULTS__,ie=()=>{if(typeof process>"u"||typeof L>"u")return;const e=L.__FIREBASE_DEFAULTS__;return e?JSON.parse(e):void 0},oe=()=>{if(typeof document>"u")return;let e;try{e=document.cookie.match(/__FIREBASE_DEFAULTS__=([^;]+)/)}catch{return}const t=e&&re(e[1]);return t&&JSON.parse(t)},ce=()=>{try{return ae()||ie()||oe()}catch(e){return void console.info(`Unable to get __FIREBASE_DEFAULTS__ due to: ${e}`)}},he=()=>{var e;return null===(e=ce())||void 0===e?void 0:e.config};class le{constructor(){this.reject=()=>{},this.resolve=()=>{},this.promise=new Promise(((e,t)=>{this.resolve=e,this.reject=t}))}wrapCallback(e){return(t,r)=>{t?this.reject(t):this.resolve(r),"function"==typeof e&&(this.promise.catch((()=>{})),1===e.length?e(t):e(t,r))}}}function de(){try{return"object"==typeof indexedDB}catch{return!1}}function fe(){return new Promise(((e,t)=>{try{let r=!0;const n="validate-browser-context-for-indexeddb-analytics-module",a=self.indexedDB.open(n);a.onsuccess=()=>{a.result.close(),r||self.indexedDB.deleteDatabase(n),e(!0)},a.onupgradeneeded=()=>{r=!1},a.onerror=()=>{var e;t((null===(e=a.error)||void 0===e?void 0:e.message)||"")}}catch(e){t(e)}}))}const ue="FirebaseError";class b extends Error{constructor(e,t,r){super(t),this.code=e,this.customData=r,this.name=ue,Object.setPrototypeOf(this,b.prototype),Error.captureStackTrace&&Error.captureStackTrace(this,K.prototype.create)}}class K{constructor(e,t,r){this.service=e,this.serviceName=t,this.errors=r}create(e,...t){const r=t[0]||{},n=`${this.service}/${e}`,a=this.errors[e],i=a?pe(a,r):"Error",s=`${this.serviceName}: ${i} (${n}).`;return new b(n,s,r)}}function pe(e,t){return e.replace(me,((e,r)=>{const n=t[r];return null!=n?String(n):`<${r}?>`}))}const me=/\{\$([^}]+)}/g;function C(e,t){if(e===t)return!0;const r=Object.keys(e),n=Object.keys(t);for(const a of r){if(!n.includes(a))return!1;const r=e[a],i=t[a];if(H(r)&&H(i)){if(!C(r,i))return!1}else if(r!==i)return!1}for(const e of n)if(!r.includes(e))return!1;return!0}function H(e){return null!==e&&"object"==typeof e}class D{constructor(e,t,r){this.name=e,this.instanceFactory=t,this.type=r,this.multipleInstances=!1,this.serviceProps={},this.instantiationMode="LAZY",this.onInstanceCreated=null}setInstantiationMode(e){return this.instantiationMode=e,this}setMultipleInstances(e){return this.multipleInstances=e,this}setServiceProps(e){return this.serviceProps=e,this}setInstanceCreatedCallback(e){return this.onInstanceCreated=e,this}}const u="[DEFAULT]";class ge{constructor(e,t){this.name=e,this.container=t,this.component=null,this.instances=new Map,this.instancesDeferred=new Map,this.instancesOptions=new Map,this.onInitCallbacks=new Map}get(e){const t=this.normalizeInstanceIdentifier(e);if(!this.instancesDeferred.has(t)){const e=new le;if(this.instancesDeferred.set(t,e),this.isInitialized(t)||this.shouldAutoInitialize())try{const r=this.getOrInitializeService({instanceIdentifier:t});r&&e.resolve(r)}catch{}}return this.instancesDeferred.get(t).promise}getImmediate(e){var t;const r=this.normalizeInstanceIdentifier(e?.identifier),n=null!==(t=e?.optional)&&void 0!==t&&t;if(!this.isInitialized(r)&&!this.shouldAutoInitialize()){if(n)return null;throw Error(`Service ${this.name} is not available`)}try{return this.getOrInitializeService({instanceIdentifier:r})}catch(e){if(n)return null;throw e}}getComponent(){return this.component}setComponent(e){if(e.name!==this.name)throw Error(`Mismatching Component ${e.name} for Provider ${this.name}.`);if(this.component)throw Error(`Component for ${this.name} has already been provided`);if(this.component=e,this.shouldAutoInitialize()){if(_e(e))try{this.getOrInitializeService({instanceIdentifier:u})}catch{}for(const[e,t]of this.instancesDeferred.entries()){const r=this.normalizeInstanceIdentifier(e);try{const e=this.getOrInitializeService({instanceIdentifier:r});t.resolve(e)}catch{}}}}clearInstance(e=u){this.instancesDeferred.delete(e),this.instancesOptions.delete(e),this.instances.delete(e)}async delete(){const e=Array.from(this.instances.values());await Promise.all([...e.filter((e=>"INTERNAL"in e)).map((e=>e.INTERNAL.delete())),...e.filter((e=>"_delete"in e)).map((e=>e._delete()))])}isComponentSet(){return null!=this.component}isInitialized(e=u){return this.instances.has(e)}getOptions(e=u){return this.instancesOptions.get(e)||{}}initialize(e={}){const{options:t={}}=e,r=this.normalizeInstanceIdentifier(e.instanceIdentifier);if(this.isInitialized(r))throw Error(`${this.name}(${r}) has already been initialized`);if(!this.isComponentSet())throw Error(`Component ${this.name} has not been registered yet`);const n=this.getOrInitializeService({instanceIdentifier:r,options:t});for(const[e,t]of this.instancesDeferred.entries()){r===this.normalizeInstanceIdentifier(e)&&t.resolve(n)}return n}onInit(e,t){var r;const n=this.normalizeInstanceIdentifier(t),a=null!==(r=this.onInitCallbacks.get(n))&&void 0!==r?r:new Set;a.add(e),this.onInitCallbacks.set(n,a);const i=this.instances.get(n);return i&&e(i,n),()=>{a.delete(e)}}invokeOnInitCallbacks(e,t){const r=this.onInitCallbacks.get(t);if(r)for(const n of r)try{n(e,t)}catch{}}getOrInitializeService({instanceIdentifier:e,options:t={}}){let r=this.instances.get(e);if(!r&&this.component&&(r=this.component.instanceFactory(this.container,{instanceIdentifier:be(e),options:t}),this.instances.set(e,r),this.instancesOptions.set(e,t),this.invokeOnInitCallbacks(r,e),this.component.onInstanceCreated))try{this.component.onInstanceCreated(this.container,e,r)}catch{}return r||null}normalizeInstanceIdentifier(e=u){return this.component?this.component.multipleInstances?e:u:e}shouldAutoInitialize(){return!!this.component&&"EXPLICIT"!==this.component.instantiationMode}}function be(e){return e===u?void 0:e}function _e(e){return"EAGER"===e.instantiationMode}class Ee{constructor(e){this.name=e,this.providers=new Map}addComponent(e){const t=this.getProvider(e.name);if(t.isComponentSet())throw new Error(`Component ${e.name} has already been registered with ${this.name}`);t.setComponent(e)}addOrOverwriteComponent(e){this.getProvider(e.name).isComponentSet()&&this.providers.delete(e.name),this.addComponent(e)}getProvider(e){if(this.providers.has(e))return this.providers.get(e);const t=new ge(e,this);return this.providers.set(e,t),t}getProviders(){return Array.from(this.providers.values())}}var h;!function(e){e[e.DEBUG=0]="DEBUG",e[e.VERBOSE=1]="VERBOSE",e[e.INFO=2]="INFO",e[e.WARN=3]="WARN",e[e.ERROR=4]="ERROR",e[e.SILENT=5]="SILENT"}(h||(h={}));const ye={debug:h.DEBUG,verbose:h.VERBOSE,info:h.INFO,warn:h.WARN,error:h.ERROR,silent:h.SILENT},De=h.INFO,Ie={[h.DEBUG]:"log",[h.VERBOSE]:"log",[h.INFO]:"info",[h.WARN]:"warn",[h.ERROR]:"error"},ve=(e,t,...r)=>{if(tt.some((t=>e instanceof t));let P,F;function Ce(){return P||(P=[IDBDatabase,IDBObjectStore,IDBIndex,IDBCursor,IDBTransaction])}function Ae(){return F||(F=[IDBCursor.prototype.advance,IDBCursor.prototype.continue,IDBCursor.prototype.continuePrimaryKey])}const Y=new WeakMap,A=new WeakMap,X=new WeakMap,I=new WeakMap,N=new WeakMap;function Be(e){const t=new Promise(((t,r)=>{const n=()=>{e.removeEventListener("success",a),e.removeEventListener("error",i)},a=()=>{t(f(e.result)),n()},i=()=>{r(e.error),n()};e.addEventListener("success",a),e.addEventListener("error",i)}));return t.then((t=>{t instanceof IDBCursor&&Y.set(t,e)})).catch((()=>{})),N.set(t,e),t}function Oe(e){if(A.has(e))return;const t=new Promise(((t,r)=>{const n=()=>{e.removeEventListener("complete",a),e.removeEventListener("error",i),e.removeEventListener("abort",i)},a=()=>{t(),n()},i=()=>{r(e.error||new DOMException("AbortError","AbortError")),n()};e.addEventListener("complete",a),e.addEventListener("error",i),e.addEventListener("abort",i)}));A.set(e,t)}let B={get(e,t,r){if(e instanceof IDBTransaction){if("done"===t)return A.get(e);if("objectStoreNames"===t)return e.objectStoreNames||X.get(e);if("store"===t)return r.objectStoreNames[1]?void 0:r.objectStore(r.objectStoreNames[0])}return f(e[t])},set:(e,t,r)=>(e[t]=r,!0),has:(e,t)=>e instanceof IDBTransaction&&("done"===t||"store"===t)||t in e};function Te(e){B=e(B)}function Me(e){return e!==IDBDatabase.prototype.transaction||"objectStoreNames"in IDBTransaction.prototype?Ae().includes(e)?function(...t){return e.apply(v(this),t),f(Y.get(this))}:function(...t){return f(e.apply(v(this),t))}:function(t,...r){const n=e.call(v(this),t,...r);return X.set(n,t.sort?t.sort():[t]),f(n)}}function $e(e){return"function"==typeof e?Me(e):(e instanceof IDBTransaction&&Oe(e),Se(e,Ce())?new Proxy(e,B):e)}function f(e){if(e instanceof IDBRequest)return Be(e);if(I.has(e))return I.get(e);const t=$e(e);return t!==e&&(I.set(e,t),N.set(t,e)),t}const v=e=>N.get(e);function Ne(e,t,{blocked:r,upgrade:n,blocking:a,terminated:i}={}){const s=indexedDB.open(e,t),o=f(s);return n&&s.addEventListener("upgradeneeded",(e=>{n(f(s.result),e.oldVersion,e.newVersion,f(s.transaction),e)})),r&&s.addEventListener("blocked",(e=>r(e.oldVersion,e.newVersion,e))),o.then((e=>{i&&e.addEventListener("close",(()=>i())),a&&e.addEventListener("versionchange",(e=>a(e.oldVersion,e.newVersion,e)))})).catch((()=>{})),o}const Re=["get","getKey","getAll","getAllKeys","count"],Le=["put","add","delete","clear"],w=new Map;function x(e,t){if(!(e instanceof IDBDatabase)||t in e||"string"!=typeof t)return;if(w.get(t))return w.get(t);const r=t.replace(/FromIndex$/,""),n=t!==r,a=Le.includes(r);if(!(r in(n?IDBIndex:IDBObjectStore).prototype)||!a&&!Re.includes(r))return;const i=async function(e,...t){const i=this.transaction(e,a?"readwrite":"readonly");let s=i.store;return n&&(s=s.index(t.shift())),(await Promise.all([s[r](...t),a&&i.done]))[0]};return w.set(t,i),i}Te((e=>({...e,get:(t,r,n)=>x(t,r)||e.get(t,r,n),has:(t,r)=>!!x(t,r)||e.has(t,r)})));class He{constructor(e){this.container=e}getPlatformInfoString(){return this.container.getProviders().map((e=>{if(Pe(e)){const t=e.getImmediate();return`${t.library}/${t.version}`}return null})).filter((e=>e)).join(" ")}}function Pe(e){const t=e.getComponent();return"VERSION"===t?.type}const O="@firebase/app",V="0.10.10",d=new we("@firebase/app"),Fe="@firebase/app-compat",xe="@firebase/analytics-compat",Ve="@firebase/analytics",je="@firebase/app-check-compat",ke="@firebase/app-check",ze="@firebase/auth",Ue="@firebase/auth-compat",We="@firebase/database",Ge="@firebase/database-compat",Je="@firebase/functions",Ke="@firebase/functions-compat",Ye="@firebase/installations",Xe="@firebase/installations-compat",Ze="@firebase/messaging",qe="@firebase/messaging-compat",Qe="@firebase/performance",et="@firebase/performance-compat",tt="@firebase/remote-config",nt="@firebase/remote-config-compat",rt="@firebase/storage",st="@firebase/storage-compat",at="@firebase/firestore",it="@firebase/vertexai-preview",ot="@firebase/firestore-compat",ct="firebase",ht="[DEFAULT]",lt={[O]:"fire-core",[Fe]:"fire-core-compat",[Ve]:"fire-analytics",[xe]:"fire-analytics-compat",[ke]:"fire-app-check",[je]:"fire-app-check-compat",[ze]:"fire-auth",[Ue]:"fire-auth-compat",[We]:"fire-rtdb",[Ge]:"fire-rtdb-compat",[Je]:"fire-fn",[Ke]:"fire-fn-compat",[Ye]:"fire-iid",[Xe]:"fire-iid-compat",[Ze]:"fire-fcm",[qe]:"fire-fcm-compat",[Qe]:"fire-perf",[et]:"fire-perf-compat",[tt]:"fire-rc",[nt]:"fire-rc-compat",[rt]:"fire-gcs",[st]:"fire-gcs-compat",[at]:"fire-fst",[ot]:"fire-fst-compat",[it]:"fire-vertex","fire-js":"fire-js",[ct]:"fire-js-all"},T=new Map,dt=new Map,M=new Map;function j(e,t){try{e.container.addComponent(t)}catch(r){d.debug(`Component ${t.name} failed to register with FirebaseApp ${e.name}`,r)}}function $(e){const t=e.name;if(M.has(t))return d.debug(`There were multiple attempts to register component ${t}.`),!1;M.set(t,e);for(const t of T.values())j(t,e);for(const t of dt.values())j(t,e);return!0}const ft={"no-app":"No Firebase App '{$appName}' has been created - call initializeApp() first","bad-app-name":"Illegal App name: '{$appName}'","duplicate-app":"Firebase App named '{$appName}' already exists with different options or config","app-deleted":"Firebase App named '{$appName}' already deleted","server-app-deleted":"Firebase Server App has been deleted","no-options":"Need to provide options, when not being deployed to hosting via source.","invalid-app-argument":"firebase.{$appName}() takes either no argument or a Firebase App instance.","invalid-log-argument":"First argument to `onLog` must be null or a function.","idb-open":"Error thrown when opening IndexedDB. Original error: {$originalErrorMessage}.","idb-get":"Error thrown when reading from IndexedDB. Original error: {$originalErrorMessage}.","idb-set":"Error thrown when writing to IndexedDB. Original error: {$originalErrorMessage}.","idb-delete":"Error thrown when deleting from IndexedDB. Original error: {$originalErrorMessage}.","finalization-registry-not-supported":"FirebaseServerApp deleteOnDeref field defined but the JS runtime does not support FinalizationRegistry.","invalid-server-app-environment":"FirebaseServerApp is not for use in browser environments."},p=new K("app","Firebase",ft);class ut{constructor(e,t,r){this._isDeleted=!1,this._options=Object.assign({},e),this._config=Object.assign({},t),this._name=t.name,this._automaticDataCollectionEnabled=t.automaticDataCollectionEnabled,this._container=r,this.container.addComponent(new D("app",(()=>this),"PUBLIC"))}get automaticDataCollectionEnabled(){return this.checkDestroyed(),this._automaticDataCollectionEnabled}set automaticDataCollectionEnabled(e){this.checkDestroyed(),this._automaticDataCollectionEnabled=e}get name(){return this.checkDestroyed(),this._name}get options(){return this.checkDestroyed(),this._options}get config(){return this.checkDestroyed(),this._config}get container(){return this._container}get isDeleted(){return this._isDeleted}set isDeleted(e){this._isDeleted=e}checkDestroyed(){if(this.isDeleted)throw p.create("app-deleted",{appName:this._name})}}function St(e,t={}){let r=e;"object"!=typeof t&&(t={name:t});const n=Object.assign({name:ht,automaticDataCollectionEnabled:!1},t),a=n.name;if("string"!=typeof a||!a)throw p.create("bad-app-name",{appName:String(a)});if(r||(r=he()),!r)throw p.create("no-options");const i=T.get(a);if(i){if(C(r,i.options)&&C(n,i.config))return i;throw p.create("duplicate-app",{appName:a})}const s=new Ee(a);for(const e of M.values())s.addComponent(e);const o=new ut(r,n,s);return T.set(a,o),o}function y(e,t,r){var n;let a=null!==(n=lt[e])&&void 0!==n?n:e;r&&(a+=`-${r}`);const i=a.match(/\s|\//),s=t.match(/\s|\//);if(i||s){const e=[`Unable to register library "${a}" with version "${t}":`];return i&&e.push(`library name "${a}" contains illegal characters (whitespace or "/")`),i&&s&&e.push("and"),s&&e.push(`version name "${t}" contains illegal characters (whitespace or "/")`),void d.warn(e.join(" "))}$(new D(`${a}-version`,(()=>({library:a,version:t})),"VERSION"))}const pt="firebase-heartbeat-database",mt=1,g="firebase-heartbeat-store";let S=null;function Z(){return S||(S=Ne(pt,mt,{upgrade:(e,t)=>{if(0===t)try{e.createObjectStore(g)}catch(e){console.warn(e)}}}).catch((e=>{throw p.create("idb-open",{originalErrorMessage:e.message})}))),S}async function gt(e){try{const t=(await Z()).transaction(g),r=await t.objectStore(g).get(q(e));return await t.done,r}catch(e){if(e instanceof b)d.warn(e.message);else{const t=p.create("idb-get",{originalErrorMessage:e?.message});d.warn(t.message)}}}async function k(e,t){try{const r=(await Z()).transaction(g,"readwrite");await r.objectStore(g).put(t,q(e)),await r.done}catch(e){if(e instanceof b)d.warn(e.message);else{const t=p.create("idb-set",{originalErrorMessage:e?.message});d.warn(t.message)}}}function q(e){return`${e.name}!${e.options.appId}`}const bt=1024,_t=2592e6;class Et{constructor(e){this.container=e,this._heartbeatsCache=null;const t=this.container.getProvider("app").getImmediate();this._storage=new Dt(t),this._heartbeatsCachePromise=this._storage.read().then((e=>(this._heartbeatsCache=e,e)))}async triggerHeartbeat(){var e,t;try{const r=this.container.getProvider("platform-logger").getImmediate().getPlatformInfoString(),n=z();return null==(null===(e=this._heartbeatsCache)||void 0===e?void 0:e.heartbeats)&&(this._heartbeatsCache=await this._heartbeatsCachePromise,null==(null===(t=this._heartbeatsCache)||void 0===t?void 0:t.heartbeats))||this._heartbeatsCache.lastSentHeartbeatDate===n||this._heartbeatsCache.heartbeats.some((e=>e.date===n))?void 0:(this._heartbeatsCache.heartbeats.push({date:n,agent:r}),this._heartbeatsCache.heartbeats=this._heartbeatsCache.heartbeats.filter((e=>{const t=new Date(e.date).valueOf();return Date.now()-t<=_t})),this._storage.overwrite(this._heartbeatsCache))}catch(e){d.warn(e)}}async getHeartbeatsHeader(){var e;try{if(null===this._heartbeatsCache&&await this._heartbeatsCachePromise,null==(null===(e=this._heartbeatsCache)||void 0===e?void 0:e.heartbeats)||0===this._heartbeatsCache.heartbeats.length)return"";const t=z(),{heartbeatsToSend:r,unsentEntries:n}=yt(this._heartbeatsCache.heartbeats),a=J(JSON.stringify({version:2,heartbeats:r}));return this._heartbeatsCache.lastSentHeartbeatDate=t,n.length>0?(this._heartbeatsCache.heartbeats=n,await this._storage.overwrite(this._heartbeatsCache)):(this._heartbeatsCache.heartbeats=[],this._storage.overwrite(this._heartbeatsCache)),a}catch(e){return d.warn(e),""}}}function z(){return(new Date).toISOString().substring(0,10)}function yt(e,t=bt){const r=[];let n=e.slice();for(const a of e){const e=r.find((e=>e.agent===a.agent));if(e){if(e.dates.push(a.date),U(r)>t){e.dates.pop();break}}else if(r.push({agent:a.agent,dates:[a.date]}),U(r)>t){r.pop();break}n=n.slice(1)}return{heartbeatsToSend:r,unsentEntries:n}}class Dt{constructor(e){this.app=e,this._canUseIndexedDBPromise=this.runIndexedDBEnvironmentCheck()}async runIndexedDBEnvironmentCheck(){return!!de()&&fe().then((()=>!0)).catch((()=>!1))}async read(){if(await this._canUseIndexedDBPromise){const e=await gt(this.app);return e?.heartbeats?e:{heartbeats:[]}}return{heartbeats:[]}}async overwrite(e){var t;if(await this._canUseIndexedDBPromise){const r=await this.read();return k(this.app,{lastSentHeartbeatDate:null!==(t=e.lastSentHeartbeatDate)&&void 0!==t?t:r.lastSentHeartbeatDate,heartbeats:e.heartbeats})}}async add(e){var t;if(await this._canUseIndexedDBPromise){const r=await this.read();return k(this.app,{lastSentHeartbeatDate:null!==(t=e.lastSentHeartbeatDate)&&void 0!==t?t:r.lastSentHeartbeatDate,heartbeats:[...r.heartbeats,...e.heartbeats]})}}}function U(e){return J(JSON.stringify({version:2,heartbeats:e})).length}function It(e){$(new D("platform-logger",(e=>new He(e)),"PRIVATE")),$(new D("heartbeat",(e=>new Et(e)),"PRIVATE")),y(O,V,e),y(O,V,"esm2017"),y("fire-js","")}It("");var vt="firebase",wt="10.13.1";y(vt,wt,"app");export{b as FirebaseError,ht as _DEFAULT_ENTRY_NAME,j as _addComponent,T as _apps,M as _components,$ as _registerComponent,dt as _serverApps,St as initializeApp,y as registerVersion}; \ No newline at end of file diff --git a/Target/_astro/index.esm.WPJ9Gp6O.js.map b/Target/_astro/index.esm.C4IwMFMF.js.map similarity index 62% rename from Target/_astro/index.esm.WPJ9Gp6O.js.map rename to Target/_astro/index.esm.C4IwMFMF.js.map index 87430fb9..8f1be8ff 100644 --- a/Target/_astro/index.esm.WPJ9Gp6O.js.map +++ b/Target/_astro/index.esm.C4IwMFMF.js.map @@ -1 +1 @@ -{"version":3,"file":"index.esm.WPJ9Gp6O.js","sources":["../../../../../../node_modules/@firebase/util/dist/index.esm2017.js","../../../../../../node_modules/@firebase/component/dist/esm/index.esm2017.js","../../../../../../node_modules/@firebase/logger/dist/esm/index.esm2017.js","../../../../../../node_modules/idb/build/wrap-idb-value.js","../../../../../../node_modules/idb/build/index.js","../../../../../../node_modules/@firebase/app/dist/esm/index.esm2017.js","../../../../../../node_modules/firebase/app/dist/esm/index.esm.js"],"sourcesContent":["/**\r\n * @license\r\n * Copyright 2017 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n/**\r\n * @fileoverview Firebase constants. Some of these (@defines) can be overridden at compile-time.\r\n */\r\nconst CONSTANTS = {\r\n /**\r\n * @define {boolean} Whether this is the client Node.js SDK.\r\n */\r\n NODE_CLIENT: false,\r\n /**\r\n * @define {boolean} Whether this is the Admin Node.js SDK.\r\n */\r\n NODE_ADMIN: false,\r\n /**\r\n * Firebase SDK Version\r\n */\r\n SDK_VERSION: '${JSCORE_VERSION}'\r\n};\n\n/**\r\n * @license\r\n * Copyright 2017 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n/**\r\n * Throws an error if the provided assertion is falsy\r\n */\r\nconst assert = function (assertion, message) {\r\n if (!assertion) {\r\n throw assertionError(message);\r\n }\r\n};\r\n/**\r\n * Returns an Error object suitable for throwing.\r\n */\r\nconst assertionError = function (message) {\r\n return new Error('Firebase Database (' +\r\n CONSTANTS.SDK_VERSION +\r\n ') INTERNAL ASSERT FAILED: ' +\r\n message);\r\n};\n\n/**\r\n * @license\r\n * Copyright 2017 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\nconst stringToByteArray$1 = function (str) {\r\n // TODO(user): Use native implementations if/when available\r\n const out = [];\r\n let p = 0;\r\n for (let i = 0; i < str.length; i++) {\r\n let c = str.charCodeAt(i);\r\n if (c < 128) {\r\n out[p++] = c;\r\n }\r\n else if (c < 2048) {\r\n out[p++] = (c >> 6) | 192;\r\n out[p++] = (c & 63) | 128;\r\n }\r\n else if ((c & 0xfc00) === 0xd800 &&\r\n i + 1 < str.length &&\r\n (str.charCodeAt(i + 1) & 0xfc00) === 0xdc00) {\r\n // Surrogate Pair\r\n c = 0x10000 + ((c & 0x03ff) << 10) + (str.charCodeAt(++i) & 0x03ff);\r\n out[p++] = (c >> 18) | 240;\r\n out[p++] = ((c >> 12) & 63) | 128;\r\n out[p++] = ((c >> 6) & 63) | 128;\r\n out[p++] = (c & 63) | 128;\r\n }\r\n else {\r\n out[p++] = (c >> 12) | 224;\r\n out[p++] = ((c >> 6) & 63) | 128;\r\n out[p++] = (c & 63) | 128;\r\n }\r\n }\r\n return out;\r\n};\r\n/**\r\n * Turns an array of numbers into the string given by the concatenation of the\r\n * characters to which the numbers correspond.\r\n * @param bytes Array of numbers representing characters.\r\n * @return Stringification of the array.\r\n */\r\nconst byteArrayToString = function (bytes) {\r\n // TODO(user): Use native implementations if/when available\r\n const out = [];\r\n let pos = 0, c = 0;\r\n while (pos < bytes.length) {\r\n const c1 = bytes[pos++];\r\n if (c1 < 128) {\r\n out[c++] = String.fromCharCode(c1);\r\n }\r\n else if (c1 > 191 && c1 < 224) {\r\n const c2 = bytes[pos++];\r\n out[c++] = String.fromCharCode(((c1 & 31) << 6) | (c2 & 63));\r\n }\r\n else if (c1 > 239 && c1 < 365) {\r\n // Surrogate Pair\r\n const c2 = bytes[pos++];\r\n const c3 = bytes[pos++];\r\n const c4 = bytes[pos++];\r\n const u = (((c1 & 7) << 18) | ((c2 & 63) << 12) | ((c3 & 63) << 6) | (c4 & 63)) -\r\n 0x10000;\r\n out[c++] = String.fromCharCode(0xd800 + (u >> 10));\r\n out[c++] = String.fromCharCode(0xdc00 + (u & 1023));\r\n }\r\n else {\r\n const c2 = bytes[pos++];\r\n const c3 = bytes[pos++];\r\n out[c++] = String.fromCharCode(((c1 & 15) << 12) | ((c2 & 63) << 6) | (c3 & 63));\r\n }\r\n }\r\n return out.join('');\r\n};\r\n// We define it as an object literal instead of a class because a class compiled down to es5 can't\r\n// be treeshaked. https://github.com/rollup/rollup/issues/1691\r\n// Static lookup maps, lazily populated by init_()\r\nconst base64 = {\r\n /**\r\n * Maps bytes to characters.\r\n */\r\n byteToCharMap_: null,\r\n /**\r\n * Maps characters to bytes.\r\n */\r\n charToByteMap_: null,\r\n /**\r\n * Maps bytes to websafe characters.\r\n * @private\r\n */\r\n byteToCharMapWebSafe_: null,\r\n /**\r\n * Maps websafe characters to bytes.\r\n * @private\r\n */\r\n charToByteMapWebSafe_: null,\r\n /**\r\n * Our default alphabet, shared between\r\n * ENCODED_VALS and ENCODED_VALS_WEBSAFE\r\n */\r\n ENCODED_VALS_BASE: 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' + 'abcdefghijklmnopqrstuvwxyz' + '0123456789',\r\n /**\r\n * Our default alphabet. Value 64 (=) is special; it means \"nothing.\"\r\n */\r\n get ENCODED_VALS() {\r\n return this.ENCODED_VALS_BASE + '+/=';\r\n },\r\n /**\r\n * Our websafe alphabet.\r\n */\r\n get ENCODED_VALS_WEBSAFE() {\r\n return this.ENCODED_VALS_BASE + '-_.';\r\n },\r\n /**\r\n * Whether this browser supports the atob and btoa functions. This extension\r\n * started at Mozilla but is now implemented by many browsers. We use the\r\n * ASSUME_* variables to avoid pulling in the full useragent detection library\r\n * but still allowing the standard per-browser compilations.\r\n *\r\n */\r\n HAS_NATIVE_SUPPORT: typeof atob === 'function',\r\n /**\r\n * Base64-encode an array of bytes.\r\n *\r\n * @param input An array of bytes (numbers with\r\n * value in [0, 255]) to encode.\r\n * @param webSafe Boolean indicating we should use the\r\n * alternative alphabet.\r\n * @return The base64 encoded string.\r\n */\r\n encodeByteArray(input, webSafe) {\r\n if (!Array.isArray(input)) {\r\n throw Error('encodeByteArray takes an array as a parameter');\r\n }\r\n this.init_();\r\n const byteToCharMap = webSafe\r\n ? this.byteToCharMapWebSafe_\r\n : this.byteToCharMap_;\r\n const output = [];\r\n for (let i = 0; i < input.length; i += 3) {\r\n const byte1 = input[i];\r\n const haveByte2 = i + 1 < input.length;\r\n const byte2 = haveByte2 ? input[i + 1] : 0;\r\n const haveByte3 = i + 2 < input.length;\r\n const byte3 = haveByte3 ? input[i + 2] : 0;\r\n const outByte1 = byte1 >> 2;\r\n const outByte2 = ((byte1 & 0x03) << 4) | (byte2 >> 4);\r\n let outByte3 = ((byte2 & 0x0f) << 2) | (byte3 >> 6);\r\n let outByte4 = byte3 & 0x3f;\r\n if (!haveByte3) {\r\n outByte4 = 64;\r\n if (!haveByte2) {\r\n outByte3 = 64;\r\n }\r\n }\r\n output.push(byteToCharMap[outByte1], byteToCharMap[outByte2], byteToCharMap[outByte3], byteToCharMap[outByte4]);\r\n }\r\n return output.join('');\r\n },\r\n /**\r\n * Base64-encode a string.\r\n *\r\n * @param input A string to encode.\r\n * @param webSafe If true, we should use the\r\n * alternative alphabet.\r\n * @return The base64 encoded string.\r\n */\r\n encodeString(input, webSafe) {\r\n // Shortcut for Mozilla browsers that implement\r\n // a native base64 encoder in the form of \"btoa/atob\"\r\n if (this.HAS_NATIVE_SUPPORT && !webSafe) {\r\n return btoa(input);\r\n }\r\n return this.encodeByteArray(stringToByteArray$1(input), webSafe);\r\n },\r\n /**\r\n * Base64-decode a string.\r\n *\r\n * @param input to decode.\r\n * @param webSafe True if we should use the\r\n * alternative alphabet.\r\n * @return string representing the decoded value.\r\n */\r\n decodeString(input, webSafe) {\r\n // Shortcut for Mozilla browsers that implement\r\n // a native base64 encoder in the form of \"btoa/atob\"\r\n if (this.HAS_NATIVE_SUPPORT && !webSafe) {\r\n return atob(input);\r\n }\r\n return byteArrayToString(this.decodeStringToByteArray(input, webSafe));\r\n },\r\n /**\r\n * Base64-decode a string.\r\n *\r\n * In base-64 decoding, groups of four characters are converted into three\r\n * bytes. If the encoder did not apply padding, the input length may not\r\n * be a multiple of 4.\r\n *\r\n * In this case, the last group will have fewer than 4 characters, and\r\n * padding will be inferred. If the group has one or two characters, it decodes\r\n * to one byte. If the group has three characters, it decodes to two bytes.\r\n *\r\n * @param input Input to decode.\r\n * @param webSafe True if we should use the web-safe alphabet.\r\n * @return bytes representing the decoded value.\r\n */\r\n decodeStringToByteArray(input, webSafe) {\r\n this.init_();\r\n const charToByteMap = webSafe\r\n ? this.charToByteMapWebSafe_\r\n : this.charToByteMap_;\r\n const output = [];\r\n for (let i = 0; i < input.length;) {\r\n const byte1 = charToByteMap[input.charAt(i++)];\r\n const haveByte2 = i < input.length;\r\n const byte2 = haveByte2 ? charToByteMap[input.charAt(i)] : 0;\r\n ++i;\r\n const haveByte3 = i < input.length;\r\n const byte3 = haveByte3 ? charToByteMap[input.charAt(i)] : 64;\r\n ++i;\r\n const haveByte4 = i < input.length;\r\n const byte4 = haveByte4 ? charToByteMap[input.charAt(i)] : 64;\r\n ++i;\r\n if (byte1 == null || byte2 == null || byte3 == null || byte4 == null) {\r\n throw new DecodeBase64StringError();\r\n }\r\n const outByte1 = (byte1 << 2) | (byte2 >> 4);\r\n output.push(outByte1);\r\n if (byte3 !== 64) {\r\n const outByte2 = ((byte2 << 4) & 0xf0) | (byte3 >> 2);\r\n output.push(outByte2);\r\n if (byte4 !== 64) {\r\n const outByte3 = ((byte3 << 6) & 0xc0) | byte4;\r\n output.push(outByte3);\r\n }\r\n }\r\n }\r\n return output;\r\n },\r\n /**\r\n * Lazy static initialization function. Called before\r\n * accessing any of the static map variables.\r\n * @private\r\n */\r\n init_() {\r\n if (!this.byteToCharMap_) {\r\n this.byteToCharMap_ = {};\r\n this.charToByteMap_ = {};\r\n this.byteToCharMapWebSafe_ = {};\r\n this.charToByteMapWebSafe_ = {};\r\n // We want quick mappings back and forth, so we precompute two maps.\r\n for (let i = 0; i < this.ENCODED_VALS.length; i++) {\r\n this.byteToCharMap_[i] = this.ENCODED_VALS.charAt(i);\r\n this.charToByteMap_[this.byteToCharMap_[i]] = i;\r\n this.byteToCharMapWebSafe_[i] = this.ENCODED_VALS_WEBSAFE.charAt(i);\r\n this.charToByteMapWebSafe_[this.byteToCharMapWebSafe_[i]] = i;\r\n // Be forgiving when decoding and correctly decode both encodings.\r\n if (i >= this.ENCODED_VALS_BASE.length) {\r\n this.charToByteMap_[this.ENCODED_VALS_WEBSAFE.charAt(i)] = i;\r\n this.charToByteMapWebSafe_[this.ENCODED_VALS.charAt(i)] = i;\r\n }\r\n }\r\n }\r\n }\r\n};\r\n/**\r\n * An error encountered while decoding base64 string.\r\n */\r\nclass DecodeBase64StringError extends Error {\r\n constructor() {\r\n super(...arguments);\r\n this.name = 'DecodeBase64StringError';\r\n }\r\n}\r\n/**\r\n * URL-safe base64 encoding\r\n */\r\nconst base64Encode = function (str) {\r\n const utf8Bytes = stringToByteArray$1(str);\r\n return base64.encodeByteArray(utf8Bytes, true);\r\n};\r\n/**\r\n * URL-safe base64 encoding (without \".\" padding in the end).\r\n * e.g. Used in JSON Web Token (JWT) parts.\r\n */\r\nconst base64urlEncodeWithoutPadding = function (str) {\r\n // Use base64url encoding and remove padding in the end (dot characters).\r\n return base64Encode(str).replace(/\\./g, '');\r\n};\r\n/**\r\n * URL-safe base64 decoding\r\n *\r\n * NOTE: DO NOT use the global atob() function - it does NOT support the\r\n * base64Url variant encoding.\r\n *\r\n * @param str To be decoded\r\n * @return Decoded result, if possible\r\n */\r\nconst base64Decode = function (str) {\r\n try {\r\n return base64.decodeString(str, true);\r\n }\r\n catch (e) {\r\n console.error('base64Decode failed: ', e);\r\n }\r\n return null;\r\n};\n\n/**\r\n * @license\r\n * Copyright 2017 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n/**\r\n * Do a deep-copy of basic JavaScript Objects or Arrays.\r\n */\r\nfunction deepCopy(value) {\r\n return deepExtend(undefined, value);\r\n}\r\n/**\r\n * Copy properties from source to target (recursively allows extension\r\n * of Objects and Arrays). Scalar values in the target are over-written.\r\n * If target is undefined, an object of the appropriate type will be created\r\n * (and returned).\r\n *\r\n * We recursively copy all child properties of plain Objects in the source- so\r\n * that namespace- like dictionaries are merged.\r\n *\r\n * Note that the target can be a function, in which case the properties in\r\n * the source Object are copied onto it as static properties of the Function.\r\n *\r\n * Note: we don't merge __proto__ to prevent prototype pollution\r\n */\r\nfunction deepExtend(target, source) {\r\n if (!(source instanceof Object)) {\r\n return source;\r\n }\r\n switch (source.constructor) {\r\n case Date:\r\n // Treat Dates like scalars; if the target date object had any child\r\n // properties - they will be lost!\r\n const dateValue = source;\r\n return new Date(dateValue.getTime());\r\n case Object:\r\n if (target === undefined) {\r\n target = {};\r\n }\r\n break;\r\n case Array:\r\n // Always copy the array source and overwrite the target.\r\n target = [];\r\n break;\r\n default:\r\n // Not a plain Object - treat it as a scalar.\r\n return source;\r\n }\r\n for (const prop in source) {\r\n // use isValidKey to guard against prototype pollution. See https://snyk.io/vuln/SNYK-JS-LODASH-450202\r\n if (!source.hasOwnProperty(prop) || !isValidKey(prop)) {\r\n continue;\r\n }\r\n target[prop] = deepExtend(target[prop], source[prop]);\r\n }\r\n return target;\r\n}\r\nfunction isValidKey(key) {\r\n return key !== '__proto__';\r\n}\n\n/**\r\n * @license\r\n * Copyright 2022 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n/**\r\n * Polyfill for `globalThis` object.\r\n * @returns the `globalThis` object for the given environment.\r\n * @public\r\n */\r\nfunction getGlobal() {\r\n if (typeof self !== 'undefined') {\r\n return self;\r\n }\r\n if (typeof window !== 'undefined') {\r\n return window;\r\n }\r\n if (typeof global !== 'undefined') {\r\n return global;\r\n }\r\n throw new Error('Unable to locate global object.');\r\n}\n\n/**\r\n * @license\r\n * Copyright 2022 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\nconst getDefaultsFromGlobal = () => getGlobal().__FIREBASE_DEFAULTS__;\r\n/**\r\n * Attempt to read defaults from a JSON string provided to\r\n * process(.)env(.)__FIREBASE_DEFAULTS__ or a JSON file whose path is in\r\n * process(.)env(.)__FIREBASE_DEFAULTS_PATH__\r\n * The dots are in parens because certain compilers (Vite?) cannot\r\n * handle seeing that variable in comments.\r\n * See https://github.com/firebase/firebase-js-sdk/issues/6838\r\n */\r\nconst getDefaultsFromEnvVariable = () => {\r\n if (typeof process === 'undefined' || typeof process.env === 'undefined') {\r\n return;\r\n }\r\n const defaultsJsonString = process.env.__FIREBASE_DEFAULTS__;\r\n if (defaultsJsonString) {\r\n return JSON.parse(defaultsJsonString);\r\n }\r\n};\r\nconst getDefaultsFromCookie = () => {\r\n if (typeof document === 'undefined') {\r\n return;\r\n }\r\n let match;\r\n try {\r\n match = document.cookie.match(/__FIREBASE_DEFAULTS__=([^;]+)/);\r\n }\r\n catch (e) {\r\n // Some environments such as Angular Universal SSR have a\r\n // `document` object but error on accessing `document.cookie`.\r\n return;\r\n }\r\n const decoded = match && base64Decode(match[1]);\r\n return decoded && JSON.parse(decoded);\r\n};\r\n/**\r\n * Get the __FIREBASE_DEFAULTS__ object. It checks in order:\r\n * (1) if such an object exists as a property of `globalThis`\r\n * (2) if such an object was provided on a shell environment variable\r\n * (3) if such an object exists in a cookie\r\n * @public\r\n */\r\nconst getDefaults = () => {\r\n try {\r\n return (getDefaultsFromGlobal() ||\r\n getDefaultsFromEnvVariable() ||\r\n getDefaultsFromCookie());\r\n }\r\n catch (e) {\r\n /**\r\n * Catch-all for being unable to get __FIREBASE_DEFAULTS__ due\r\n * to any environment case we have not accounted for. Log to\r\n * info instead of swallowing so we can find these unknown cases\r\n * and add paths for them if needed.\r\n */\r\n console.info(`Unable to get __FIREBASE_DEFAULTS__ due to: ${e}`);\r\n return;\r\n }\r\n};\r\n/**\r\n * Returns emulator host stored in the __FIREBASE_DEFAULTS__ object\r\n * for the given product.\r\n * @returns a URL host formatted like `127.0.0.1:9999` or `[::1]:4000` if available\r\n * @public\r\n */\r\nconst getDefaultEmulatorHost = (productName) => { var _a, _b; return (_b = (_a = getDefaults()) === null || _a === void 0 ? void 0 : _a.emulatorHosts) === null || _b === void 0 ? void 0 : _b[productName]; };\r\n/**\r\n * Returns emulator hostname and port stored in the __FIREBASE_DEFAULTS__ object\r\n * for the given product.\r\n * @returns a pair of hostname and port like `[\"::1\", 4000]` if available\r\n * @public\r\n */\r\nconst getDefaultEmulatorHostnameAndPort = (productName) => {\r\n const host = getDefaultEmulatorHost(productName);\r\n if (!host) {\r\n return undefined;\r\n }\r\n const separatorIndex = host.lastIndexOf(':'); // Finding the last since IPv6 addr also has colons.\r\n if (separatorIndex <= 0 || separatorIndex + 1 === host.length) {\r\n throw new Error(`Invalid host ${host} with no separate hostname and port!`);\r\n }\r\n // eslint-disable-next-line no-restricted-globals\r\n const port = parseInt(host.substring(separatorIndex + 1), 10);\r\n if (host[0] === '[') {\r\n // Bracket-quoted `[ipv6addr]:port` => return \"ipv6addr\" (without brackets).\r\n return [host.substring(1, separatorIndex - 1), port];\r\n }\r\n else {\r\n return [host.substring(0, separatorIndex), port];\r\n }\r\n};\r\n/**\r\n * Returns Firebase app config stored in the __FIREBASE_DEFAULTS__ object.\r\n * @public\r\n */\r\nconst getDefaultAppConfig = () => { var _a; return (_a = getDefaults()) === null || _a === void 0 ? void 0 : _a.config; };\r\n/**\r\n * Returns an experimental setting on the __FIREBASE_DEFAULTS__ object (properties\r\n * prefixed by \"_\")\r\n * @public\r\n */\r\nconst getExperimentalSetting = (name) => { var _a; return (_a = getDefaults()) === null || _a === void 0 ? void 0 : _a[`_${name}`]; };\n\n/**\r\n * @license\r\n * Copyright 2017 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\nclass Deferred {\r\n constructor() {\r\n this.reject = () => { };\r\n this.resolve = () => { };\r\n this.promise = new Promise((resolve, reject) => {\r\n this.resolve = resolve;\r\n this.reject = reject;\r\n });\r\n }\r\n /**\r\n * Our API internals are not promiseified and cannot because our callback APIs have subtle expectations around\r\n * invoking promises inline, which Promises are forbidden to do. This method accepts an optional node-style callback\r\n * and returns a node-style callback which will resolve or reject the Deferred's promise.\r\n */\r\n wrapCallback(callback) {\r\n return (error, value) => {\r\n if (error) {\r\n this.reject(error);\r\n }\r\n else {\r\n this.resolve(value);\r\n }\r\n if (typeof callback === 'function') {\r\n // Attaching noop handler just in case developer wasn't expecting\r\n // promises\r\n this.promise.catch(() => { });\r\n // Some of our callbacks don't expect a value and our own tests\r\n // assert that the parameter length is 1\r\n if (callback.length === 1) {\r\n callback(error);\r\n }\r\n else {\r\n callback(error, value);\r\n }\r\n }\r\n };\r\n }\r\n}\n\n/**\r\n * @license\r\n * Copyright 2021 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\nfunction createMockUserToken(token, projectId) {\r\n if (token.uid) {\r\n throw new Error('The \"uid\" field is no longer supported by mockUserToken. Please use \"sub\" instead for Firebase Auth User ID.');\r\n }\r\n // Unsecured JWTs use \"none\" as the algorithm.\r\n const header = {\r\n alg: 'none',\r\n type: 'JWT'\r\n };\r\n const project = projectId || 'demo-project';\r\n const iat = token.iat || 0;\r\n const sub = token.sub || token.user_id;\r\n if (!sub) {\r\n throw new Error(\"mockUserToken must contain 'sub' or 'user_id' field!\");\r\n }\r\n const payload = Object.assign({ \r\n // Set all required fields to decent defaults\r\n iss: `https://securetoken.google.com/${project}`, aud: project, iat, exp: iat + 3600, auth_time: iat, sub, user_id: sub, firebase: {\r\n sign_in_provider: 'custom',\r\n identities: {}\r\n } }, token);\r\n // Unsecured JWTs use the empty string as a signature.\r\n const signature = '';\r\n return [\r\n base64urlEncodeWithoutPadding(JSON.stringify(header)),\r\n base64urlEncodeWithoutPadding(JSON.stringify(payload)),\r\n signature\r\n ].join('.');\r\n}\n\n/**\r\n * @license\r\n * Copyright 2017 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n/**\r\n * Returns navigator.userAgent string or '' if it's not defined.\r\n * @return user agent string\r\n */\r\nfunction getUA() {\r\n if (typeof navigator !== 'undefined' &&\r\n typeof navigator['userAgent'] === 'string') {\r\n return navigator['userAgent'];\r\n }\r\n else {\r\n return '';\r\n }\r\n}\r\n/**\r\n * Detect Cordova / PhoneGap / Ionic frameworks on a mobile device.\r\n *\r\n * Deliberately does not rely on checking `file://` URLs (as this fails PhoneGap\r\n * in the Ripple emulator) nor Cordova `onDeviceReady`, which would normally\r\n * wait for a callback.\r\n */\r\nfunction isMobileCordova() {\r\n return (typeof window !== 'undefined' &&\r\n // @ts-ignore Setting up an broadly applicable index signature for Window\r\n // just to deal with this case would probably be a bad idea.\r\n !!(window['cordova'] || window['phonegap'] || window['PhoneGap']) &&\r\n /ios|iphone|ipod|ipad|android|blackberry|iemobile/i.test(getUA()));\r\n}\r\n/**\r\n * Detect Node.js.\r\n *\r\n * @return true if Node.js environment is detected or specified.\r\n */\r\n// Node detection logic from: https://github.com/iliakan/detect-node/\r\nfunction isNode() {\r\n var _a;\r\n const forceEnvironment = (_a = getDefaults()) === null || _a === void 0 ? void 0 : _a.forceEnvironment;\r\n if (forceEnvironment === 'node') {\r\n return true;\r\n }\r\n else if (forceEnvironment === 'browser') {\r\n return false;\r\n }\r\n try {\r\n return (Object.prototype.toString.call(global.process) === '[object process]');\r\n }\r\n catch (e) {\r\n return false;\r\n }\r\n}\r\n/**\r\n * Detect Browser Environment\r\n */\r\nfunction isBrowser() {\r\n return typeof window !== 'undefined' || isWebWorker();\r\n}\r\n/**\r\n * Detect Web Worker context\r\n */\r\nfunction isWebWorker() {\r\n return (typeof WorkerGlobalScope !== 'undefined' &&\r\n typeof self !== 'undefined' &&\r\n self instanceof WorkerGlobalScope);\r\n}\r\nfunction isBrowserExtension() {\r\n const runtime = typeof chrome === 'object'\r\n ? chrome.runtime\r\n : typeof browser === 'object'\r\n ? browser.runtime\r\n : undefined;\r\n return typeof runtime === 'object' && runtime.id !== undefined;\r\n}\r\n/**\r\n * Detect React Native.\r\n *\r\n * @return true if ReactNative environment is detected.\r\n */\r\nfunction isReactNative() {\r\n return (typeof navigator === 'object' && navigator['product'] === 'ReactNative');\r\n}\r\n/** Detects Electron apps. */\r\nfunction isElectron() {\r\n return getUA().indexOf('Electron/') >= 0;\r\n}\r\n/** Detects Internet Explorer. */\r\nfunction isIE() {\r\n const ua = getUA();\r\n return ua.indexOf('MSIE ') >= 0 || ua.indexOf('Trident/') >= 0;\r\n}\r\n/** Detects Universal Windows Platform apps. */\r\nfunction isUWP() {\r\n return getUA().indexOf('MSAppHost/') >= 0;\r\n}\r\n/**\r\n * Detect whether the current SDK build is the Node version.\r\n *\r\n * @return true if it's the Node SDK build.\r\n */\r\nfunction isNodeSdk() {\r\n return CONSTANTS.NODE_CLIENT === true || CONSTANTS.NODE_ADMIN === true;\r\n}\r\n/** Returns true if we are running in Safari. */\r\nfunction isSafari() {\r\n return (!isNode() &&\r\n !!navigator.userAgent &&\r\n navigator.userAgent.includes('Safari') &&\r\n !navigator.userAgent.includes('Chrome'));\r\n}\r\n/**\r\n * This method checks if indexedDB is supported by current browser/service worker context\r\n * @return true if indexedDB is supported by current browser/service worker context\r\n */\r\nfunction isIndexedDBAvailable() {\r\n try {\r\n return typeof indexedDB === 'object';\r\n }\r\n catch (e) {\r\n return false;\r\n }\r\n}\r\n/**\r\n * This method validates browser/sw context for indexedDB by opening a dummy indexedDB database and reject\r\n * if errors occur during the database open operation.\r\n *\r\n * @throws exception if current browser/sw context can't run idb.open (ex: Safari iframe, Firefox\r\n * private browsing)\r\n */\r\nfunction validateIndexedDBOpenable() {\r\n return new Promise((resolve, reject) => {\r\n try {\r\n let preExist = true;\r\n const DB_CHECK_NAME = 'validate-browser-context-for-indexeddb-analytics-module';\r\n const request = self.indexedDB.open(DB_CHECK_NAME);\r\n request.onsuccess = () => {\r\n request.result.close();\r\n // delete database only when it doesn't pre-exist\r\n if (!preExist) {\r\n self.indexedDB.deleteDatabase(DB_CHECK_NAME);\r\n }\r\n resolve(true);\r\n };\r\n request.onupgradeneeded = () => {\r\n preExist = false;\r\n };\r\n request.onerror = () => {\r\n var _a;\r\n reject(((_a = request.error) === null || _a === void 0 ? void 0 : _a.message) || '');\r\n };\r\n }\r\n catch (error) {\r\n reject(error);\r\n }\r\n });\r\n}\r\n/**\r\n *\r\n * This method checks whether cookie is enabled within current browser\r\n * @return true if cookie is enabled within current browser\r\n */\r\nfunction areCookiesEnabled() {\r\n if (typeof navigator === 'undefined' || !navigator.cookieEnabled) {\r\n return false;\r\n }\r\n return true;\r\n}\n\n/**\r\n * @license\r\n * Copyright 2017 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n/**\r\n * @fileoverview Standardized Firebase Error.\r\n *\r\n * Usage:\r\n *\r\n * // Typescript string literals for type-safe codes\r\n * type Err =\r\n * 'unknown' |\r\n * 'object-not-found'\r\n * ;\r\n *\r\n * // Closure enum for type-safe error codes\r\n * // at-enum {string}\r\n * var Err = {\r\n * UNKNOWN: 'unknown',\r\n * OBJECT_NOT_FOUND: 'object-not-found',\r\n * }\r\n *\r\n * let errors: Map = {\r\n * 'generic-error': \"Unknown error\",\r\n * 'file-not-found': \"Could not find file: {$file}\",\r\n * };\r\n *\r\n * // Type-safe function - must pass a valid error code as param.\r\n * let error = new ErrorFactory('service', 'Service', errors);\r\n *\r\n * ...\r\n * throw error.create(Err.GENERIC);\r\n * ...\r\n * throw error.create(Err.FILE_NOT_FOUND, {'file': fileName});\r\n * ...\r\n * // Service: Could not file file: foo.txt (service/file-not-found).\r\n *\r\n * catch (e) {\r\n * assert(e.message === \"Could not find file: foo.txt.\");\r\n * if ((e as FirebaseError)?.code === 'service/file-not-found') {\r\n * console.log(\"Could not read file: \" + e['file']);\r\n * }\r\n * }\r\n */\r\nconst ERROR_NAME = 'FirebaseError';\r\n// Based on code from:\r\n// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Error#Custom_Error_Types\r\nclass FirebaseError extends Error {\r\n constructor(\r\n /** The error code for this error. */\r\n code, message, \r\n /** Custom data for this error. */\r\n customData) {\r\n super(message);\r\n this.code = code;\r\n this.customData = customData;\r\n /** The custom name for all FirebaseErrors. */\r\n this.name = ERROR_NAME;\r\n // Fix For ES5\r\n // https://github.com/Microsoft/TypeScript-wiki/blob/master/Breaking-Changes.md#extending-built-ins-like-error-array-and-map-may-no-longer-work\r\n Object.setPrototypeOf(this, FirebaseError.prototype);\r\n // Maintains proper stack trace for where our error was thrown.\r\n // Only available on V8.\r\n if (Error.captureStackTrace) {\r\n Error.captureStackTrace(this, ErrorFactory.prototype.create);\r\n }\r\n }\r\n}\r\nclass ErrorFactory {\r\n constructor(service, serviceName, errors) {\r\n this.service = service;\r\n this.serviceName = serviceName;\r\n this.errors = errors;\r\n }\r\n create(code, ...data) {\r\n const customData = data[0] || {};\r\n const fullCode = `${this.service}/${code}`;\r\n const template = this.errors[code];\r\n const message = template ? replaceTemplate(template, customData) : 'Error';\r\n // Service Name: Error message (service/code).\r\n const fullMessage = `${this.serviceName}: ${message} (${fullCode}).`;\r\n const error = new FirebaseError(fullCode, fullMessage, customData);\r\n return error;\r\n }\r\n}\r\nfunction replaceTemplate(template, data) {\r\n return template.replace(PATTERN, (_, key) => {\r\n const value = data[key];\r\n return value != null ? String(value) : `<${key}?>`;\r\n });\r\n}\r\nconst PATTERN = /\\{\\$([^}]+)}/g;\n\n/**\r\n * @license\r\n * Copyright 2017 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n/**\r\n * Evaluates a JSON string into a javascript object.\r\n *\r\n * @param {string} str A string containing JSON.\r\n * @return {*} The javascript object representing the specified JSON.\r\n */\r\nfunction jsonEval(str) {\r\n return JSON.parse(str);\r\n}\r\n/**\r\n * Returns JSON representing a javascript object.\r\n * @param {*} data Javascript object to be stringified.\r\n * @return {string} The JSON contents of the object.\r\n */\r\nfunction stringify(data) {\r\n return JSON.stringify(data);\r\n}\n\n/**\r\n * @license\r\n * Copyright 2017 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n/**\r\n * Decodes a Firebase auth. token into constituent parts.\r\n *\r\n * Notes:\r\n * - May return with invalid / incomplete claims if there's no native base64 decoding support.\r\n * - Doesn't check if the token is actually valid.\r\n */\r\nconst decode = function (token) {\r\n let header = {}, claims = {}, data = {}, signature = '';\r\n try {\r\n const parts = token.split('.');\r\n header = jsonEval(base64Decode(parts[0]) || '');\r\n claims = jsonEval(base64Decode(parts[1]) || '');\r\n signature = parts[2];\r\n data = claims['d'] || {};\r\n delete claims['d'];\r\n }\r\n catch (e) { }\r\n return {\r\n header,\r\n claims,\r\n data,\r\n signature\r\n };\r\n};\r\n/**\r\n * Decodes a Firebase auth. token and checks the validity of its time-based claims. Will return true if the\r\n * token is within the time window authorized by the 'nbf' (not-before) and 'iat' (issued-at) claims.\r\n *\r\n * Notes:\r\n * - May return a false negative if there's no native base64 decoding support.\r\n * - Doesn't check if the token is actually valid.\r\n */\r\nconst isValidTimestamp = function (token) {\r\n const claims = decode(token).claims;\r\n const now = Math.floor(new Date().getTime() / 1000);\r\n let validSince = 0, validUntil = 0;\r\n if (typeof claims === 'object') {\r\n if (claims.hasOwnProperty('nbf')) {\r\n validSince = claims['nbf'];\r\n }\r\n else if (claims.hasOwnProperty('iat')) {\r\n validSince = claims['iat'];\r\n }\r\n if (claims.hasOwnProperty('exp')) {\r\n validUntil = claims['exp'];\r\n }\r\n else {\r\n // token will expire after 24h by default\r\n validUntil = validSince + 86400;\r\n }\r\n }\r\n return (!!now &&\r\n !!validSince &&\r\n !!validUntil &&\r\n now >= validSince &&\r\n now <= validUntil);\r\n};\r\n/**\r\n * Decodes a Firebase auth. token and returns its issued at time if valid, null otherwise.\r\n *\r\n * Notes:\r\n * - May return null if there's no native base64 decoding support.\r\n * - Doesn't check if the token is actually valid.\r\n */\r\nconst issuedAtTime = function (token) {\r\n const claims = decode(token).claims;\r\n if (typeof claims === 'object' && claims.hasOwnProperty('iat')) {\r\n return claims['iat'];\r\n }\r\n return null;\r\n};\r\n/**\r\n * Decodes a Firebase auth. token and checks the validity of its format. Expects a valid issued-at time.\r\n *\r\n * Notes:\r\n * - May return a false negative if there's no native base64 decoding support.\r\n * - Doesn't check if the token is actually valid.\r\n */\r\nconst isValidFormat = function (token) {\r\n const decoded = decode(token), claims = decoded.claims;\r\n return !!claims && typeof claims === 'object' && claims.hasOwnProperty('iat');\r\n};\r\n/**\r\n * Attempts to peer into an auth token and determine if it's an admin auth token by looking at the claims portion.\r\n *\r\n * Notes:\r\n * - May return a false negative if there's no native base64 decoding support.\r\n * - Doesn't check if the token is actually valid.\r\n */\r\nconst isAdmin = function (token) {\r\n const claims = decode(token).claims;\r\n return typeof claims === 'object' && claims['admin'] === true;\r\n};\n\n/**\r\n * @license\r\n * Copyright 2017 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\nfunction contains(obj, key) {\r\n return Object.prototype.hasOwnProperty.call(obj, key);\r\n}\r\nfunction safeGet(obj, key) {\r\n if (Object.prototype.hasOwnProperty.call(obj, key)) {\r\n return obj[key];\r\n }\r\n else {\r\n return undefined;\r\n }\r\n}\r\nfunction isEmpty(obj) {\r\n for (const key in obj) {\r\n if (Object.prototype.hasOwnProperty.call(obj, key)) {\r\n return false;\r\n }\r\n }\r\n return true;\r\n}\r\nfunction map(obj, fn, contextObj) {\r\n const res = {};\r\n for (const key in obj) {\r\n if (Object.prototype.hasOwnProperty.call(obj, key)) {\r\n res[key] = fn.call(contextObj, obj[key], key, obj);\r\n }\r\n }\r\n return res;\r\n}\r\n/**\r\n * Deep equal two objects. Support Arrays and Objects.\r\n */\r\nfunction deepEqual(a, b) {\r\n if (a === b) {\r\n return true;\r\n }\r\n const aKeys = Object.keys(a);\r\n const bKeys = Object.keys(b);\r\n for (const k of aKeys) {\r\n if (!bKeys.includes(k)) {\r\n return false;\r\n }\r\n const aProp = a[k];\r\n const bProp = b[k];\r\n if (isObject(aProp) && isObject(bProp)) {\r\n if (!deepEqual(aProp, bProp)) {\r\n return false;\r\n }\r\n }\r\n else if (aProp !== bProp) {\r\n return false;\r\n }\r\n }\r\n for (const k of bKeys) {\r\n if (!aKeys.includes(k)) {\r\n return false;\r\n }\r\n }\r\n return true;\r\n}\r\nfunction isObject(thing) {\r\n return thing !== null && typeof thing === 'object';\r\n}\n\n/**\r\n * @license\r\n * Copyright 2022 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n/**\r\n * Rejects if the given promise doesn't resolve in timeInMS milliseconds.\r\n * @internal\r\n */\r\nfunction promiseWithTimeout(promise, timeInMS = 2000) {\r\n const deferredPromise = new Deferred();\r\n setTimeout(() => deferredPromise.reject('timeout!'), timeInMS);\r\n promise.then(deferredPromise.resolve, deferredPromise.reject);\r\n return deferredPromise.promise;\r\n}\n\n/**\r\n * @license\r\n * Copyright 2017 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n/**\r\n * Returns a querystring-formatted string (e.g. &arg=val&arg2=val2) from a\r\n * params object (e.g. {arg: 'val', arg2: 'val2'})\r\n * Note: You must prepend it with ? when adding it to a URL.\r\n */\r\nfunction querystring(querystringParams) {\r\n const params = [];\r\n for (const [key, value] of Object.entries(querystringParams)) {\r\n if (Array.isArray(value)) {\r\n value.forEach(arrayVal => {\r\n params.push(encodeURIComponent(key) + '=' + encodeURIComponent(arrayVal));\r\n });\r\n }\r\n else {\r\n params.push(encodeURIComponent(key) + '=' + encodeURIComponent(value));\r\n }\r\n }\r\n return params.length ? '&' + params.join('&') : '';\r\n}\r\n/**\r\n * Decodes a querystring (e.g. ?arg=val&arg2=val2) into a params object\r\n * (e.g. {arg: 'val', arg2: 'val2'})\r\n */\r\nfunction querystringDecode(querystring) {\r\n const obj = {};\r\n const tokens = querystring.replace(/^\\?/, '').split('&');\r\n tokens.forEach(token => {\r\n if (token) {\r\n const [key, value] = token.split('=');\r\n obj[decodeURIComponent(key)] = decodeURIComponent(value);\r\n }\r\n });\r\n return obj;\r\n}\r\n/**\r\n * Extract the query string part of a URL, including the leading question mark (if present).\r\n */\r\nfunction extractQuerystring(url) {\r\n const queryStart = url.indexOf('?');\r\n if (!queryStart) {\r\n return '';\r\n }\r\n const fragmentStart = url.indexOf('#', queryStart);\r\n return url.substring(queryStart, fragmentStart > 0 ? fragmentStart : undefined);\r\n}\n\n/**\r\n * @license\r\n * Copyright 2017 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n/**\r\n * @fileoverview SHA-1 cryptographic hash.\r\n * Variable names follow the notation in FIPS PUB 180-3:\r\n * http://csrc.nist.gov/publications/fips/fips180-3/fips180-3_final.pdf.\r\n *\r\n * Usage:\r\n * var sha1 = new sha1();\r\n * sha1.update(bytes);\r\n * var hash = sha1.digest();\r\n *\r\n * Performance:\r\n * Chrome 23: ~400 Mbit/s\r\n * Firefox 16: ~250 Mbit/s\r\n *\r\n */\r\n/**\r\n * SHA-1 cryptographic hash constructor.\r\n *\r\n * The properties declared here are discussed in the above algorithm document.\r\n * @constructor\r\n * @final\r\n * @struct\r\n */\r\nclass Sha1 {\r\n constructor() {\r\n /**\r\n * Holds the previous values of accumulated variables a-e in the compress_\r\n * function.\r\n * @private\r\n */\r\n this.chain_ = [];\r\n /**\r\n * A buffer holding the partially computed hash result.\r\n * @private\r\n */\r\n this.buf_ = [];\r\n /**\r\n * An array of 80 bytes, each a part of the message to be hashed. Referred to\r\n * as the message schedule in the docs.\r\n * @private\r\n */\r\n this.W_ = [];\r\n /**\r\n * Contains data needed to pad messages less than 64 bytes.\r\n * @private\r\n */\r\n this.pad_ = [];\r\n /**\r\n * @private {number}\r\n */\r\n this.inbuf_ = 0;\r\n /**\r\n * @private {number}\r\n */\r\n this.total_ = 0;\r\n this.blockSize = 512 / 8;\r\n this.pad_[0] = 128;\r\n for (let i = 1; i < this.blockSize; ++i) {\r\n this.pad_[i] = 0;\r\n }\r\n this.reset();\r\n }\r\n reset() {\r\n this.chain_[0] = 0x67452301;\r\n this.chain_[1] = 0xefcdab89;\r\n this.chain_[2] = 0x98badcfe;\r\n this.chain_[3] = 0x10325476;\r\n this.chain_[4] = 0xc3d2e1f0;\r\n this.inbuf_ = 0;\r\n this.total_ = 0;\r\n }\r\n /**\r\n * Internal compress helper function.\r\n * @param buf Block to compress.\r\n * @param offset Offset of the block in the buffer.\r\n * @private\r\n */\r\n compress_(buf, offset) {\r\n if (!offset) {\r\n offset = 0;\r\n }\r\n const W = this.W_;\r\n // get 16 big endian words\r\n if (typeof buf === 'string') {\r\n for (let i = 0; i < 16; i++) {\r\n // TODO(user): [bug 8140122] Recent versions of Safari for Mac OS and iOS\r\n // have a bug that turns the post-increment ++ operator into pre-increment\r\n // during JIT compilation. We have code that depends heavily on SHA-1 for\r\n // correctness and which is affected by this bug, so I've removed all uses\r\n // of post-increment ++ in which the result value is used. We can revert\r\n // this change once the Safari bug\r\n // (https://bugs.webkit.org/show_bug.cgi?id=109036) has been fixed and\r\n // most clients have been updated.\r\n W[i] =\r\n (buf.charCodeAt(offset) << 24) |\r\n (buf.charCodeAt(offset + 1) << 16) |\r\n (buf.charCodeAt(offset + 2) << 8) |\r\n buf.charCodeAt(offset + 3);\r\n offset += 4;\r\n }\r\n }\r\n else {\r\n for (let i = 0; i < 16; i++) {\r\n W[i] =\r\n (buf[offset] << 24) |\r\n (buf[offset + 1] << 16) |\r\n (buf[offset + 2] << 8) |\r\n buf[offset + 3];\r\n offset += 4;\r\n }\r\n }\r\n // expand to 80 words\r\n for (let i = 16; i < 80; i++) {\r\n const t = W[i - 3] ^ W[i - 8] ^ W[i - 14] ^ W[i - 16];\r\n W[i] = ((t << 1) | (t >>> 31)) & 0xffffffff;\r\n }\r\n let a = this.chain_[0];\r\n let b = this.chain_[1];\r\n let c = this.chain_[2];\r\n let d = this.chain_[3];\r\n let e = this.chain_[4];\r\n let f, k;\r\n // TODO(user): Try to unroll this loop to speed up the computation.\r\n for (let i = 0; i < 80; i++) {\r\n if (i < 40) {\r\n if (i < 20) {\r\n f = d ^ (b & (c ^ d));\r\n k = 0x5a827999;\r\n }\r\n else {\r\n f = b ^ c ^ d;\r\n k = 0x6ed9eba1;\r\n }\r\n }\r\n else {\r\n if (i < 60) {\r\n f = (b & c) | (d & (b | c));\r\n k = 0x8f1bbcdc;\r\n }\r\n else {\r\n f = b ^ c ^ d;\r\n k = 0xca62c1d6;\r\n }\r\n }\r\n const t = (((a << 5) | (a >>> 27)) + f + e + k + W[i]) & 0xffffffff;\r\n e = d;\r\n d = c;\r\n c = ((b << 30) | (b >>> 2)) & 0xffffffff;\r\n b = a;\r\n a = t;\r\n }\r\n this.chain_[0] = (this.chain_[0] + a) & 0xffffffff;\r\n this.chain_[1] = (this.chain_[1] + b) & 0xffffffff;\r\n this.chain_[2] = (this.chain_[2] + c) & 0xffffffff;\r\n this.chain_[3] = (this.chain_[3] + d) & 0xffffffff;\r\n this.chain_[4] = (this.chain_[4] + e) & 0xffffffff;\r\n }\r\n update(bytes, length) {\r\n // TODO(johnlenz): tighten the function signature and remove this check\r\n if (bytes == null) {\r\n return;\r\n }\r\n if (length === undefined) {\r\n length = bytes.length;\r\n }\r\n const lengthMinusBlock = length - this.blockSize;\r\n let n = 0;\r\n // Using local instead of member variables gives ~5% speedup on Firefox 16.\r\n const buf = this.buf_;\r\n let inbuf = this.inbuf_;\r\n // The outer while loop should execute at most twice.\r\n while (n < length) {\r\n // When we have no data in the block to top up, we can directly process the\r\n // input buffer (assuming it contains sufficient data). This gives ~25%\r\n // speedup on Chrome 23 and ~15% speedup on Firefox 16, but requires that\r\n // the data is provided in large chunks (or in multiples of 64 bytes).\r\n if (inbuf === 0) {\r\n while (n <= lengthMinusBlock) {\r\n this.compress_(bytes, n);\r\n n += this.blockSize;\r\n }\r\n }\r\n if (typeof bytes === 'string') {\r\n while (n < length) {\r\n buf[inbuf] = bytes.charCodeAt(n);\r\n ++inbuf;\r\n ++n;\r\n if (inbuf === this.blockSize) {\r\n this.compress_(buf);\r\n inbuf = 0;\r\n // Jump to the outer loop so we use the full-block optimization.\r\n break;\r\n }\r\n }\r\n }\r\n else {\r\n while (n < length) {\r\n buf[inbuf] = bytes[n];\r\n ++inbuf;\r\n ++n;\r\n if (inbuf === this.blockSize) {\r\n this.compress_(buf);\r\n inbuf = 0;\r\n // Jump to the outer loop so we use the full-block optimization.\r\n break;\r\n }\r\n }\r\n }\r\n }\r\n this.inbuf_ = inbuf;\r\n this.total_ += length;\r\n }\r\n /** @override */\r\n digest() {\r\n const digest = [];\r\n let totalBits = this.total_ * 8;\r\n // Add pad 0x80 0x00*.\r\n if (this.inbuf_ < 56) {\r\n this.update(this.pad_, 56 - this.inbuf_);\r\n }\r\n else {\r\n this.update(this.pad_, this.blockSize - (this.inbuf_ - 56));\r\n }\r\n // Add # bits.\r\n for (let i = this.blockSize - 1; i >= 56; i--) {\r\n this.buf_[i] = totalBits & 255;\r\n totalBits /= 256; // Don't use bit-shifting here!\r\n }\r\n this.compress_(this.buf_);\r\n let n = 0;\r\n for (let i = 0; i < 5; i++) {\r\n for (let j = 24; j >= 0; j -= 8) {\r\n digest[n] = (this.chain_[i] >> j) & 255;\r\n ++n;\r\n }\r\n }\r\n return digest;\r\n }\r\n}\n\n/**\r\n * Helper to make a Subscribe function (just like Promise helps make a\r\n * Thenable).\r\n *\r\n * @param executor Function which can make calls to a single Observer\r\n * as a proxy.\r\n * @param onNoObservers Callback when count of Observers goes to zero.\r\n */\r\nfunction createSubscribe(executor, onNoObservers) {\r\n const proxy = new ObserverProxy(executor, onNoObservers);\r\n return proxy.subscribe.bind(proxy);\r\n}\r\n/**\r\n * Implement fan-out for any number of Observers attached via a subscribe\r\n * function.\r\n */\r\nclass ObserverProxy {\r\n /**\r\n * @param executor Function which can make calls to a single Observer\r\n * as a proxy.\r\n * @param onNoObservers Callback when count of Observers goes to zero.\r\n */\r\n constructor(executor, onNoObservers) {\r\n this.observers = [];\r\n this.unsubscribes = [];\r\n this.observerCount = 0;\r\n // Micro-task scheduling by calling task.then().\r\n this.task = Promise.resolve();\r\n this.finalized = false;\r\n this.onNoObservers = onNoObservers;\r\n // Call the executor asynchronously so subscribers that are called\r\n // synchronously after the creation of the subscribe function\r\n // can still receive the very first value generated in the executor.\r\n this.task\r\n .then(() => {\r\n executor(this);\r\n })\r\n .catch(e => {\r\n this.error(e);\r\n });\r\n }\r\n next(value) {\r\n this.forEachObserver((observer) => {\r\n observer.next(value);\r\n });\r\n }\r\n error(error) {\r\n this.forEachObserver((observer) => {\r\n observer.error(error);\r\n });\r\n this.close(error);\r\n }\r\n complete() {\r\n this.forEachObserver((observer) => {\r\n observer.complete();\r\n });\r\n this.close();\r\n }\r\n /**\r\n * Subscribe function that can be used to add an Observer to the fan-out list.\r\n *\r\n * - We require that no event is sent to a subscriber sychronously to their\r\n * call to subscribe().\r\n */\r\n subscribe(nextOrObserver, error, complete) {\r\n let observer;\r\n if (nextOrObserver === undefined &&\r\n error === undefined &&\r\n complete === undefined) {\r\n throw new Error('Missing Observer.');\r\n }\r\n // Assemble an Observer object when passed as callback functions.\r\n if (implementsAnyMethods(nextOrObserver, [\r\n 'next',\r\n 'error',\r\n 'complete'\r\n ])) {\r\n observer = nextOrObserver;\r\n }\r\n else {\r\n observer = {\r\n next: nextOrObserver,\r\n error,\r\n complete\r\n };\r\n }\r\n if (observer.next === undefined) {\r\n observer.next = noop;\r\n }\r\n if (observer.error === undefined) {\r\n observer.error = noop;\r\n }\r\n if (observer.complete === undefined) {\r\n observer.complete = noop;\r\n }\r\n const unsub = this.unsubscribeOne.bind(this, this.observers.length);\r\n // Attempt to subscribe to a terminated Observable - we\r\n // just respond to the Observer with the final error or complete\r\n // event.\r\n if (this.finalized) {\r\n // eslint-disable-next-line @typescript-eslint/no-floating-promises\r\n this.task.then(() => {\r\n try {\r\n if (this.finalError) {\r\n observer.error(this.finalError);\r\n }\r\n else {\r\n observer.complete();\r\n }\r\n }\r\n catch (e) {\r\n // nothing\r\n }\r\n return;\r\n });\r\n }\r\n this.observers.push(observer);\r\n return unsub;\r\n }\r\n // Unsubscribe is synchronous - we guarantee that no events are sent to\r\n // any unsubscribed Observer.\r\n unsubscribeOne(i) {\r\n if (this.observers === undefined || this.observers[i] === undefined) {\r\n return;\r\n }\r\n delete this.observers[i];\r\n this.observerCount -= 1;\r\n if (this.observerCount === 0 && this.onNoObservers !== undefined) {\r\n this.onNoObservers(this);\r\n }\r\n }\r\n forEachObserver(fn) {\r\n if (this.finalized) {\r\n // Already closed by previous event....just eat the additional values.\r\n return;\r\n }\r\n // Since sendOne calls asynchronously - there is no chance that\r\n // this.observers will become undefined.\r\n for (let i = 0; i < this.observers.length; i++) {\r\n this.sendOne(i, fn);\r\n }\r\n }\r\n // Call the Observer via one of it's callback function. We are careful to\r\n // confirm that the observe has not been unsubscribed since this asynchronous\r\n // function had been queued.\r\n sendOne(i, fn) {\r\n // Execute the callback asynchronously\r\n // eslint-disable-next-line @typescript-eslint/no-floating-promises\r\n this.task.then(() => {\r\n if (this.observers !== undefined && this.observers[i] !== undefined) {\r\n try {\r\n fn(this.observers[i]);\r\n }\r\n catch (e) {\r\n // Ignore exceptions raised in Observers or missing methods of an\r\n // Observer.\r\n // Log error to console. b/31404806\r\n if (typeof console !== 'undefined' && console.error) {\r\n console.error(e);\r\n }\r\n }\r\n }\r\n });\r\n }\r\n close(err) {\r\n if (this.finalized) {\r\n return;\r\n }\r\n this.finalized = true;\r\n if (err !== undefined) {\r\n this.finalError = err;\r\n }\r\n // Proxy is no longer needed - garbage collect references\r\n // eslint-disable-next-line @typescript-eslint/no-floating-promises\r\n this.task.then(() => {\r\n this.observers = undefined;\r\n this.onNoObservers = undefined;\r\n });\r\n }\r\n}\r\n/** Turn synchronous function into one called asynchronously. */\r\n// eslint-disable-next-line @typescript-eslint/ban-types\r\nfunction async(fn, onError) {\r\n return (...args) => {\r\n Promise.resolve(true)\r\n .then(() => {\r\n fn(...args);\r\n })\r\n .catch((error) => {\r\n if (onError) {\r\n onError(error);\r\n }\r\n });\r\n };\r\n}\r\n/**\r\n * Return true if the object passed in implements any of the named methods.\r\n */\r\nfunction implementsAnyMethods(obj, methods) {\r\n if (typeof obj !== 'object' || obj === null) {\r\n return false;\r\n }\r\n for (const method of methods) {\r\n if (method in obj && typeof obj[method] === 'function') {\r\n return true;\r\n }\r\n }\r\n return false;\r\n}\r\nfunction noop() {\r\n // do nothing\r\n}\n\n/**\r\n * @license\r\n * Copyright 2017 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n/**\r\n * Check to make sure the appropriate number of arguments are provided for a public function.\r\n * Throws an error if it fails.\r\n *\r\n * @param fnName The function name\r\n * @param minCount The minimum number of arguments to allow for the function call\r\n * @param maxCount The maximum number of argument to allow for the function call\r\n * @param argCount The actual number of arguments provided.\r\n */\r\nconst validateArgCount = function (fnName, minCount, maxCount, argCount) {\r\n let argError;\r\n if (argCount < minCount) {\r\n argError = 'at least ' + minCount;\r\n }\r\n else if (argCount > maxCount) {\r\n argError = maxCount === 0 ? 'none' : 'no more than ' + maxCount;\r\n }\r\n if (argError) {\r\n const error = fnName +\r\n ' failed: Was called with ' +\r\n argCount +\r\n (argCount === 1 ? ' argument.' : ' arguments.') +\r\n ' Expects ' +\r\n argError +\r\n '.';\r\n throw new Error(error);\r\n }\r\n};\r\n/**\r\n * Generates a string to prefix an error message about failed argument validation\r\n *\r\n * @param fnName The function name\r\n * @param argName The name of the argument\r\n * @return The prefix to add to the error thrown for validation.\r\n */\r\nfunction errorPrefix(fnName, argName) {\r\n return `${fnName} failed: ${argName} argument `;\r\n}\r\n/**\r\n * @param fnName\r\n * @param argumentNumber\r\n * @param namespace\r\n * @param optional\r\n */\r\nfunction validateNamespace(fnName, namespace, optional) {\r\n if (optional && !namespace) {\r\n return;\r\n }\r\n if (typeof namespace !== 'string') {\r\n //TODO: I should do more validation here. We only allow certain chars in namespaces.\r\n throw new Error(errorPrefix(fnName, 'namespace') + 'must be a valid firebase namespace.');\r\n }\r\n}\r\nfunction validateCallback(fnName, argumentName, \r\n// eslint-disable-next-line @typescript-eslint/ban-types\r\ncallback, optional) {\r\n if (optional && !callback) {\r\n return;\r\n }\r\n if (typeof callback !== 'function') {\r\n throw new Error(errorPrefix(fnName, argumentName) + 'must be a valid function.');\r\n }\r\n}\r\nfunction validateContextObject(fnName, argumentName, context, optional) {\r\n if (optional && !context) {\r\n return;\r\n }\r\n if (typeof context !== 'object' || context === null) {\r\n throw new Error(errorPrefix(fnName, argumentName) + 'must be a valid context object.');\r\n }\r\n}\n\n/**\r\n * @license\r\n * Copyright 2017 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n// Code originally came from goog.crypt.stringToUtf8ByteArray, but for some reason they\r\n// automatically replaced '\\r\\n' with '\\n', and they didn't handle surrogate pairs,\r\n// so it's been modified.\r\n// Note that not all Unicode characters appear as single characters in JavaScript strings.\r\n// fromCharCode returns the UTF-16 encoding of a character - so some Unicode characters\r\n// use 2 characters in Javascript. All 4-byte UTF-8 characters begin with a first\r\n// character in the range 0xD800 - 0xDBFF (the first character of a so-called surrogate\r\n// pair).\r\n// See http://www.ecma-international.org/ecma-262/5.1/#sec-15.1.3\r\n/**\r\n * @param {string} str\r\n * @return {Array}\r\n */\r\nconst stringToByteArray = function (str) {\r\n const out = [];\r\n let p = 0;\r\n for (let i = 0; i < str.length; i++) {\r\n let c = str.charCodeAt(i);\r\n // Is this the lead surrogate in a surrogate pair?\r\n if (c >= 0xd800 && c <= 0xdbff) {\r\n const high = c - 0xd800; // the high 10 bits.\r\n i++;\r\n assert(i < str.length, 'Surrogate pair missing trail surrogate.');\r\n const low = str.charCodeAt(i) - 0xdc00; // the low 10 bits.\r\n c = 0x10000 + (high << 10) + low;\r\n }\r\n if (c < 128) {\r\n out[p++] = c;\r\n }\r\n else if (c < 2048) {\r\n out[p++] = (c >> 6) | 192;\r\n out[p++] = (c & 63) | 128;\r\n }\r\n else if (c < 65536) {\r\n out[p++] = (c >> 12) | 224;\r\n out[p++] = ((c >> 6) & 63) | 128;\r\n out[p++] = (c & 63) | 128;\r\n }\r\n else {\r\n out[p++] = (c >> 18) | 240;\r\n out[p++] = ((c >> 12) & 63) | 128;\r\n out[p++] = ((c >> 6) & 63) | 128;\r\n out[p++] = (c & 63) | 128;\r\n }\r\n }\r\n return out;\r\n};\r\n/**\r\n * Calculate length without actually converting; useful for doing cheaper validation.\r\n * @param {string} str\r\n * @return {number}\r\n */\r\nconst stringLength = function (str) {\r\n let p = 0;\r\n for (let i = 0; i < str.length; i++) {\r\n const c = str.charCodeAt(i);\r\n if (c < 128) {\r\n p++;\r\n }\r\n else if (c < 2048) {\r\n p += 2;\r\n }\r\n else if (c >= 0xd800 && c <= 0xdbff) {\r\n // Lead surrogate of a surrogate pair. The pair together will take 4 bytes to represent.\r\n p += 4;\r\n i++; // skip trail surrogate.\r\n }\r\n else {\r\n p += 3;\r\n }\r\n }\r\n return p;\r\n};\n\n/**\r\n * @license\r\n * Copyright 2022 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n/**\r\n * Copied from https://stackoverflow.com/a/2117523\r\n * Generates a new uuid.\r\n * @public\r\n */\r\nconst uuidv4 = function () {\r\n return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, c => {\r\n const r = (Math.random() * 16) | 0, v = c === 'x' ? r : (r & 0x3) | 0x8;\r\n return v.toString(16);\r\n });\r\n};\n\n/**\r\n * @license\r\n * Copyright 2019 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n/**\r\n * The amount of milliseconds to exponentially increase.\r\n */\r\nconst DEFAULT_INTERVAL_MILLIS = 1000;\r\n/**\r\n * The factor to backoff by.\r\n * Should be a number greater than 1.\r\n */\r\nconst DEFAULT_BACKOFF_FACTOR = 2;\r\n/**\r\n * The maximum milliseconds to increase to.\r\n *\r\n *

Visible for testing\r\n */\r\nconst MAX_VALUE_MILLIS = 4 * 60 * 60 * 1000; // Four hours, like iOS and Android.\r\n/**\r\n * The percentage of backoff time to randomize by.\r\n * See\r\n * http://go/safe-client-behavior#step-1-determine-the-appropriate-retry-interval-to-handle-spike-traffic\r\n * for context.\r\n *\r\n *

Visible for testing\r\n */\r\nconst RANDOM_FACTOR = 0.5;\r\n/**\r\n * Based on the backoff method from\r\n * https://github.com/google/closure-library/blob/master/closure/goog/math/exponentialbackoff.js.\r\n * Extracted here so we don't need to pass metadata and a stateful ExponentialBackoff object around.\r\n */\r\nfunction calculateBackoffMillis(backoffCount, intervalMillis = DEFAULT_INTERVAL_MILLIS, backoffFactor = DEFAULT_BACKOFF_FACTOR) {\r\n // Calculates an exponentially increasing value.\r\n // Deviation: calculates value from count and a constant interval, so we only need to save value\r\n // and count to restore state.\r\n const currBaseValue = intervalMillis * Math.pow(backoffFactor, backoffCount);\r\n // A random \"fuzz\" to avoid waves of retries.\r\n // Deviation: randomFactor is required.\r\n const randomWait = Math.round(\r\n // A fraction of the backoff value to add/subtract.\r\n // Deviation: changes multiplication order to improve readability.\r\n RANDOM_FACTOR *\r\n currBaseValue *\r\n // A random float (rounded to int by Math.round above) in the range [-1, 1]. Determines\r\n // if we add or subtract.\r\n (Math.random() - 0.5) *\r\n 2);\r\n // Limits backoff to max to avoid effectively permanent backoff.\r\n return Math.min(MAX_VALUE_MILLIS, currBaseValue + randomWait);\r\n}\n\n/**\r\n * @license\r\n * Copyright 2020 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n/**\r\n * Provide English ordinal letters after a number\r\n */\r\nfunction ordinal(i) {\r\n if (!Number.isFinite(i)) {\r\n return `${i}`;\r\n }\r\n return i + indicator(i);\r\n}\r\nfunction indicator(i) {\r\n i = Math.abs(i);\r\n const cent = i % 100;\r\n if (cent >= 10 && cent <= 20) {\r\n return 'th';\r\n }\r\n const dec = i % 10;\r\n if (dec === 1) {\r\n return 'st';\r\n }\r\n if (dec === 2) {\r\n return 'nd';\r\n }\r\n if (dec === 3) {\r\n return 'rd';\r\n }\r\n return 'th';\r\n}\n\n/**\r\n * @license\r\n * Copyright 2021 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\nfunction getModularInstance(service) {\r\n if (service && service._delegate) {\r\n return service._delegate;\r\n }\r\n else {\r\n return service;\r\n }\r\n}\n\nexport { CONSTANTS, DecodeBase64StringError, Deferred, ErrorFactory, FirebaseError, MAX_VALUE_MILLIS, RANDOM_FACTOR, Sha1, areCookiesEnabled, assert, assertionError, async, base64, base64Decode, base64Encode, base64urlEncodeWithoutPadding, calculateBackoffMillis, contains, createMockUserToken, createSubscribe, decode, deepCopy, deepEqual, deepExtend, errorPrefix, extractQuerystring, getDefaultAppConfig, getDefaultEmulatorHost, getDefaultEmulatorHostnameAndPort, getDefaults, getExperimentalSetting, getGlobal, getModularInstance, getUA, isAdmin, isBrowser, isBrowserExtension, isElectron, isEmpty, isIE, isIndexedDBAvailable, isMobileCordova, isNode, isNodeSdk, isReactNative, isSafari, isUWP, isValidFormat, isValidTimestamp, isWebWorker, issuedAtTime, jsonEval, map, ordinal, promiseWithTimeout, querystring, querystringDecode, safeGet, stringLength, stringToByteArray, stringify, uuidv4, validateArgCount, validateCallback, validateContextObject, validateIndexedDBOpenable, validateNamespace };\n//# sourceMappingURL=index.esm2017.js.map\n","import { Deferred } from '@firebase/util';\n\n/**\r\n * Component for service name T, e.g. `auth`, `auth-internal`\r\n */\r\nclass Component {\r\n /**\r\n *\r\n * @param name The public service name, e.g. app, auth, firestore, database\r\n * @param instanceFactory Service factory responsible for creating the public interface\r\n * @param type whether the service provided by the component is public or private\r\n */\r\n constructor(name, instanceFactory, type) {\r\n this.name = name;\r\n this.instanceFactory = instanceFactory;\r\n this.type = type;\r\n this.multipleInstances = false;\r\n /**\r\n * Properties to be added to the service namespace\r\n */\r\n this.serviceProps = {};\r\n this.instantiationMode = \"LAZY\" /* InstantiationMode.LAZY */;\r\n this.onInstanceCreated = null;\r\n }\r\n setInstantiationMode(mode) {\r\n this.instantiationMode = mode;\r\n return this;\r\n }\r\n setMultipleInstances(multipleInstances) {\r\n this.multipleInstances = multipleInstances;\r\n return this;\r\n }\r\n setServiceProps(props) {\r\n this.serviceProps = props;\r\n return this;\r\n }\r\n setInstanceCreatedCallback(callback) {\r\n this.onInstanceCreated = callback;\r\n return this;\r\n }\r\n}\n\n/**\r\n * @license\r\n * Copyright 2019 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\nconst DEFAULT_ENTRY_NAME = '[DEFAULT]';\n\n/**\r\n * @license\r\n * Copyright 2019 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n/**\r\n * Provider for instance for service name T, e.g. 'auth', 'auth-internal'\r\n * NameServiceMapping[T] is an alias for the type of the instance\r\n */\r\nclass Provider {\r\n constructor(name, container) {\r\n this.name = name;\r\n this.container = container;\r\n this.component = null;\r\n this.instances = new Map();\r\n this.instancesDeferred = new Map();\r\n this.instancesOptions = new Map();\r\n this.onInitCallbacks = new Map();\r\n }\r\n /**\r\n * @param identifier A provider can provide mulitple instances of a service\r\n * if this.component.multipleInstances is true.\r\n */\r\n get(identifier) {\r\n // if multipleInstances is not supported, use the default name\r\n const normalizedIdentifier = this.normalizeInstanceIdentifier(identifier);\r\n if (!this.instancesDeferred.has(normalizedIdentifier)) {\r\n const deferred = new Deferred();\r\n this.instancesDeferred.set(normalizedIdentifier, deferred);\r\n if (this.isInitialized(normalizedIdentifier) ||\r\n this.shouldAutoInitialize()) {\r\n // initialize the service if it can be auto-initialized\r\n try {\r\n const instance = this.getOrInitializeService({\r\n instanceIdentifier: normalizedIdentifier\r\n });\r\n if (instance) {\r\n deferred.resolve(instance);\r\n }\r\n }\r\n catch (e) {\r\n // when the instance factory throws an exception during get(), it should not cause\r\n // a fatal error. We just return the unresolved promise in this case.\r\n }\r\n }\r\n }\r\n return this.instancesDeferred.get(normalizedIdentifier).promise;\r\n }\r\n getImmediate(options) {\r\n var _a;\r\n // if multipleInstances is not supported, use the default name\r\n const normalizedIdentifier = this.normalizeInstanceIdentifier(options === null || options === void 0 ? void 0 : options.identifier);\r\n const optional = (_a = options === null || options === void 0 ? void 0 : options.optional) !== null && _a !== void 0 ? _a : false;\r\n if (this.isInitialized(normalizedIdentifier) ||\r\n this.shouldAutoInitialize()) {\r\n try {\r\n return this.getOrInitializeService({\r\n instanceIdentifier: normalizedIdentifier\r\n });\r\n }\r\n catch (e) {\r\n if (optional) {\r\n return null;\r\n }\r\n else {\r\n throw e;\r\n }\r\n }\r\n }\r\n else {\r\n // In case a component is not initialized and should/can not be auto-initialized at the moment, return null if the optional flag is set, or throw\r\n if (optional) {\r\n return null;\r\n }\r\n else {\r\n throw Error(`Service ${this.name} is not available`);\r\n }\r\n }\r\n }\r\n getComponent() {\r\n return this.component;\r\n }\r\n setComponent(component) {\r\n if (component.name !== this.name) {\r\n throw Error(`Mismatching Component ${component.name} for Provider ${this.name}.`);\r\n }\r\n if (this.component) {\r\n throw Error(`Component for ${this.name} has already been provided`);\r\n }\r\n this.component = component;\r\n // return early without attempting to initialize the component if the component requires explicit initialization (calling `Provider.initialize()`)\r\n if (!this.shouldAutoInitialize()) {\r\n return;\r\n }\r\n // if the service is eager, initialize the default instance\r\n if (isComponentEager(component)) {\r\n try {\r\n this.getOrInitializeService({ instanceIdentifier: DEFAULT_ENTRY_NAME });\r\n }\r\n catch (e) {\r\n // when the instance factory for an eager Component throws an exception during the eager\r\n // initialization, it should not cause a fatal error.\r\n // TODO: Investigate if we need to make it configurable, because some component may want to cause\r\n // a fatal error in this case?\r\n }\r\n }\r\n // Create service instances for the pending promises and resolve them\r\n // NOTE: if this.multipleInstances is false, only the default instance will be created\r\n // and all promises with resolve with it regardless of the identifier.\r\n for (const [instanceIdentifier, instanceDeferred] of this.instancesDeferred.entries()) {\r\n const normalizedIdentifier = this.normalizeInstanceIdentifier(instanceIdentifier);\r\n try {\r\n // `getOrInitializeService()` should always return a valid instance since a component is guaranteed. use ! to make typescript happy.\r\n const instance = this.getOrInitializeService({\r\n instanceIdentifier: normalizedIdentifier\r\n });\r\n instanceDeferred.resolve(instance);\r\n }\r\n catch (e) {\r\n // when the instance factory throws an exception, it should not cause\r\n // a fatal error. We just leave the promise unresolved.\r\n }\r\n }\r\n }\r\n clearInstance(identifier = DEFAULT_ENTRY_NAME) {\r\n this.instancesDeferred.delete(identifier);\r\n this.instancesOptions.delete(identifier);\r\n this.instances.delete(identifier);\r\n }\r\n // app.delete() will call this method on every provider to delete the services\r\n // TODO: should we mark the provider as deleted?\r\n async delete() {\r\n const services = Array.from(this.instances.values());\r\n await Promise.all([\r\n ...services\r\n .filter(service => 'INTERNAL' in service) // legacy services\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n .map(service => service.INTERNAL.delete()),\r\n ...services\r\n .filter(service => '_delete' in service) // modularized services\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n .map(service => service._delete())\r\n ]);\r\n }\r\n isComponentSet() {\r\n return this.component != null;\r\n }\r\n isInitialized(identifier = DEFAULT_ENTRY_NAME) {\r\n return this.instances.has(identifier);\r\n }\r\n getOptions(identifier = DEFAULT_ENTRY_NAME) {\r\n return this.instancesOptions.get(identifier) || {};\r\n }\r\n initialize(opts = {}) {\r\n const { options = {} } = opts;\r\n const normalizedIdentifier = this.normalizeInstanceIdentifier(opts.instanceIdentifier);\r\n if (this.isInitialized(normalizedIdentifier)) {\r\n throw Error(`${this.name}(${normalizedIdentifier}) has already been initialized`);\r\n }\r\n if (!this.isComponentSet()) {\r\n throw Error(`Component ${this.name} has not been registered yet`);\r\n }\r\n const instance = this.getOrInitializeService({\r\n instanceIdentifier: normalizedIdentifier,\r\n options\r\n });\r\n // resolve any pending promise waiting for the service instance\r\n for (const [instanceIdentifier, instanceDeferred] of this.instancesDeferred.entries()) {\r\n const normalizedDeferredIdentifier = this.normalizeInstanceIdentifier(instanceIdentifier);\r\n if (normalizedIdentifier === normalizedDeferredIdentifier) {\r\n instanceDeferred.resolve(instance);\r\n }\r\n }\r\n return instance;\r\n }\r\n /**\r\n *\r\n * @param callback - a function that will be invoked after the provider has been initialized by calling provider.initialize().\r\n * The function is invoked SYNCHRONOUSLY, so it should not execute any longrunning tasks in order to not block the program.\r\n *\r\n * @param identifier An optional instance identifier\r\n * @returns a function to unregister the callback\r\n */\r\n onInit(callback, identifier) {\r\n var _a;\r\n const normalizedIdentifier = this.normalizeInstanceIdentifier(identifier);\r\n const existingCallbacks = (_a = this.onInitCallbacks.get(normalizedIdentifier)) !== null && _a !== void 0 ? _a : new Set();\r\n existingCallbacks.add(callback);\r\n this.onInitCallbacks.set(normalizedIdentifier, existingCallbacks);\r\n const existingInstance = this.instances.get(normalizedIdentifier);\r\n if (existingInstance) {\r\n callback(existingInstance, normalizedIdentifier);\r\n }\r\n return () => {\r\n existingCallbacks.delete(callback);\r\n };\r\n }\r\n /**\r\n * Invoke onInit callbacks synchronously\r\n * @param instance the service instance`\r\n */\r\n invokeOnInitCallbacks(instance, identifier) {\r\n const callbacks = this.onInitCallbacks.get(identifier);\r\n if (!callbacks) {\r\n return;\r\n }\r\n for (const callback of callbacks) {\r\n try {\r\n callback(instance, identifier);\r\n }\r\n catch (_a) {\r\n // ignore errors in the onInit callback\r\n }\r\n }\r\n }\r\n getOrInitializeService({ instanceIdentifier, options = {} }) {\r\n let instance = this.instances.get(instanceIdentifier);\r\n if (!instance && this.component) {\r\n instance = this.component.instanceFactory(this.container, {\r\n instanceIdentifier: normalizeIdentifierForFactory(instanceIdentifier),\r\n options\r\n });\r\n this.instances.set(instanceIdentifier, instance);\r\n this.instancesOptions.set(instanceIdentifier, options);\r\n /**\r\n * Invoke onInit listeners.\r\n * Note this.component.onInstanceCreated is different, which is used by the component creator,\r\n * while onInit listeners are registered by consumers of the provider.\r\n */\r\n this.invokeOnInitCallbacks(instance, instanceIdentifier);\r\n /**\r\n * Order is important\r\n * onInstanceCreated() should be called after this.instances.set(instanceIdentifier, instance); which\r\n * makes `isInitialized()` return true.\r\n */\r\n if (this.component.onInstanceCreated) {\r\n try {\r\n this.component.onInstanceCreated(this.container, instanceIdentifier, instance);\r\n }\r\n catch (_a) {\r\n // ignore errors in the onInstanceCreatedCallback\r\n }\r\n }\r\n }\r\n return instance || null;\r\n }\r\n normalizeInstanceIdentifier(identifier = DEFAULT_ENTRY_NAME) {\r\n if (this.component) {\r\n return this.component.multipleInstances ? identifier : DEFAULT_ENTRY_NAME;\r\n }\r\n else {\r\n return identifier; // assume multiple instances are supported before the component is provided.\r\n }\r\n }\r\n shouldAutoInitialize() {\r\n return (!!this.component &&\r\n this.component.instantiationMode !== \"EXPLICIT\" /* InstantiationMode.EXPLICIT */);\r\n }\r\n}\r\n// undefined should be passed to the service factory for the default instance\r\nfunction normalizeIdentifierForFactory(identifier) {\r\n return identifier === DEFAULT_ENTRY_NAME ? undefined : identifier;\r\n}\r\nfunction isComponentEager(component) {\r\n return component.instantiationMode === \"EAGER\" /* InstantiationMode.EAGER */;\r\n}\n\n/**\r\n * @license\r\n * Copyright 2019 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n/**\r\n * ComponentContainer that provides Providers for service name T, e.g. `auth`, `auth-internal`\r\n */\r\nclass ComponentContainer {\r\n constructor(name) {\r\n this.name = name;\r\n this.providers = new Map();\r\n }\r\n /**\r\n *\r\n * @param component Component being added\r\n * @param overwrite When a component with the same name has already been registered,\r\n * if overwrite is true: overwrite the existing component with the new component and create a new\r\n * provider with the new component. It can be useful in tests where you want to use different mocks\r\n * for different tests.\r\n * if overwrite is false: throw an exception\r\n */\r\n addComponent(component) {\r\n const provider = this.getProvider(component.name);\r\n if (provider.isComponentSet()) {\r\n throw new Error(`Component ${component.name} has already been registered with ${this.name}`);\r\n }\r\n provider.setComponent(component);\r\n }\r\n addOrOverwriteComponent(component) {\r\n const provider = this.getProvider(component.name);\r\n if (provider.isComponentSet()) {\r\n // delete the existing provider from the container, so we can register the new component\r\n this.providers.delete(component.name);\r\n }\r\n this.addComponent(component);\r\n }\r\n /**\r\n * getProvider provides a type safe interface where it can only be called with a field name\r\n * present in NameServiceMapping interface.\r\n *\r\n * Firebase SDKs providing services should extend NameServiceMapping interface to register\r\n * themselves.\r\n */\r\n getProvider(name) {\r\n if (this.providers.has(name)) {\r\n return this.providers.get(name);\r\n }\r\n // create a Provider for a service that hasn't registered with Firebase\r\n const provider = new Provider(name, this);\r\n this.providers.set(name, provider);\r\n return provider;\r\n }\r\n getProviders() {\r\n return Array.from(this.providers.values());\r\n }\r\n}\n\nexport { Component, ComponentContainer, Provider };\n//# sourceMappingURL=index.esm2017.js.map\n","/**\r\n * @license\r\n * Copyright 2017 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n/**\r\n * A container for all of the Logger instances\r\n */\r\nconst instances = [];\r\n/**\r\n * The JS SDK supports 5 log levels and also allows a user the ability to\r\n * silence the logs altogether.\r\n *\r\n * The order is a follows:\r\n * DEBUG < VERBOSE < INFO < WARN < ERROR\r\n *\r\n * All of the log types above the current log level will be captured (i.e. if\r\n * you set the log level to `INFO`, errors will still be logged, but `DEBUG` and\r\n * `VERBOSE` logs will not)\r\n */\r\nvar LogLevel;\r\n(function (LogLevel) {\r\n LogLevel[LogLevel[\"DEBUG\"] = 0] = \"DEBUG\";\r\n LogLevel[LogLevel[\"VERBOSE\"] = 1] = \"VERBOSE\";\r\n LogLevel[LogLevel[\"INFO\"] = 2] = \"INFO\";\r\n LogLevel[LogLevel[\"WARN\"] = 3] = \"WARN\";\r\n LogLevel[LogLevel[\"ERROR\"] = 4] = \"ERROR\";\r\n LogLevel[LogLevel[\"SILENT\"] = 5] = \"SILENT\";\r\n})(LogLevel || (LogLevel = {}));\r\nconst levelStringToEnum = {\r\n 'debug': LogLevel.DEBUG,\r\n 'verbose': LogLevel.VERBOSE,\r\n 'info': LogLevel.INFO,\r\n 'warn': LogLevel.WARN,\r\n 'error': LogLevel.ERROR,\r\n 'silent': LogLevel.SILENT\r\n};\r\n/**\r\n * The default log level\r\n */\r\nconst defaultLogLevel = LogLevel.INFO;\r\n/**\r\n * By default, `console.debug` is not displayed in the developer console (in\r\n * chrome). To avoid forcing users to have to opt-in to these logs twice\r\n * (i.e. once for firebase, and once in the console), we are sending `DEBUG`\r\n * logs to the `console.log` function.\r\n */\r\nconst ConsoleMethod = {\r\n [LogLevel.DEBUG]: 'log',\r\n [LogLevel.VERBOSE]: 'log',\r\n [LogLevel.INFO]: 'info',\r\n [LogLevel.WARN]: 'warn',\r\n [LogLevel.ERROR]: 'error'\r\n};\r\n/**\r\n * The default log handler will forward DEBUG, VERBOSE, INFO, WARN, and ERROR\r\n * messages on to their corresponding console counterparts (if the log method\r\n * is supported by the current log level)\r\n */\r\nconst defaultLogHandler = (instance, logType, ...args) => {\r\n if (logType < instance.logLevel) {\r\n return;\r\n }\r\n const now = new Date().toISOString();\r\n const method = ConsoleMethod[logType];\r\n if (method) {\r\n console[method](`[${now}] ${instance.name}:`, ...args);\r\n }\r\n else {\r\n throw new Error(`Attempted to log a message with an invalid logType (value: ${logType})`);\r\n }\r\n};\r\nclass Logger {\r\n /**\r\n * Gives you an instance of a Logger to capture messages according to\r\n * Firebase's logging scheme.\r\n *\r\n * @param name The name that the logs will be associated with\r\n */\r\n constructor(name) {\r\n this.name = name;\r\n /**\r\n * The log level of the given Logger instance.\r\n */\r\n this._logLevel = defaultLogLevel;\r\n /**\r\n * The main (internal) log handler for the Logger instance.\r\n * Can be set to a new function in internal package code but not by user.\r\n */\r\n this._logHandler = defaultLogHandler;\r\n /**\r\n * The optional, additional, user-defined log handler for the Logger instance.\r\n */\r\n this._userLogHandler = null;\r\n /**\r\n * Capture the current instance for later use\r\n */\r\n instances.push(this);\r\n }\r\n get logLevel() {\r\n return this._logLevel;\r\n }\r\n set logLevel(val) {\r\n if (!(val in LogLevel)) {\r\n throw new TypeError(`Invalid value \"${val}\" assigned to \\`logLevel\\``);\r\n }\r\n this._logLevel = val;\r\n }\r\n // Workaround for setter/getter having to be the same type.\r\n setLogLevel(val) {\r\n this._logLevel = typeof val === 'string' ? levelStringToEnum[val] : val;\r\n }\r\n get logHandler() {\r\n return this._logHandler;\r\n }\r\n set logHandler(val) {\r\n if (typeof val !== 'function') {\r\n throw new TypeError('Value assigned to `logHandler` must be a function');\r\n }\r\n this._logHandler = val;\r\n }\r\n get userLogHandler() {\r\n return this._userLogHandler;\r\n }\r\n set userLogHandler(val) {\r\n this._userLogHandler = val;\r\n }\r\n /**\r\n * The functions below are all based on the `console` interface\r\n */\r\n debug(...args) {\r\n this._userLogHandler && this._userLogHandler(this, LogLevel.DEBUG, ...args);\r\n this._logHandler(this, LogLevel.DEBUG, ...args);\r\n }\r\n log(...args) {\r\n this._userLogHandler &&\r\n this._userLogHandler(this, LogLevel.VERBOSE, ...args);\r\n this._logHandler(this, LogLevel.VERBOSE, ...args);\r\n }\r\n info(...args) {\r\n this._userLogHandler && this._userLogHandler(this, LogLevel.INFO, ...args);\r\n this._logHandler(this, LogLevel.INFO, ...args);\r\n }\r\n warn(...args) {\r\n this._userLogHandler && this._userLogHandler(this, LogLevel.WARN, ...args);\r\n this._logHandler(this, LogLevel.WARN, ...args);\r\n }\r\n error(...args) {\r\n this._userLogHandler && this._userLogHandler(this, LogLevel.ERROR, ...args);\r\n this._logHandler(this, LogLevel.ERROR, ...args);\r\n }\r\n}\r\nfunction setLogLevel(level) {\r\n instances.forEach(inst => {\r\n inst.setLogLevel(level);\r\n });\r\n}\r\nfunction setUserLogHandler(logCallback, options) {\r\n for (const instance of instances) {\r\n let customLogLevel = null;\r\n if (options && options.level) {\r\n customLogLevel = levelStringToEnum[options.level];\r\n }\r\n if (logCallback === null) {\r\n instance.userLogHandler = null;\r\n }\r\n else {\r\n instance.userLogHandler = (instance, level, ...args) => {\r\n const message = args\r\n .map(arg => {\r\n if (arg == null) {\r\n return null;\r\n }\r\n else if (typeof arg === 'string') {\r\n return arg;\r\n }\r\n else if (typeof arg === 'number' || typeof arg === 'boolean') {\r\n return arg.toString();\r\n }\r\n else if (arg instanceof Error) {\r\n return arg.message;\r\n }\r\n else {\r\n try {\r\n return JSON.stringify(arg);\r\n }\r\n catch (ignored) {\r\n return null;\r\n }\r\n }\r\n })\r\n .filter(arg => arg)\r\n .join(' ');\r\n if (level >= (customLogLevel !== null && customLogLevel !== void 0 ? customLogLevel : instance.logLevel)) {\r\n logCallback({\r\n level: LogLevel[level].toLowerCase(),\r\n message,\r\n args,\r\n type: instance.name\r\n });\r\n }\r\n };\r\n }\r\n }\r\n}\n\nexport { LogLevel, Logger, setLogLevel, setUserLogHandler };\n//# sourceMappingURL=index.esm2017.js.map\n","const instanceOfAny = (object, constructors) => constructors.some((c) => object instanceof c);\n\nlet idbProxyableTypes;\nlet cursorAdvanceMethods;\n// This is a function to prevent it throwing up in node environments.\nfunction getIdbProxyableTypes() {\n return (idbProxyableTypes ||\n (idbProxyableTypes = [\n IDBDatabase,\n IDBObjectStore,\n IDBIndex,\n IDBCursor,\n IDBTransaction,\n ]));\n}\n// This is a function to prevent it throwing up in node environments.\nfunction getCursorAdvanceMethods() {\n return (cursorAdvanceMethods ||\n (cursorAdvanceMethods = [\n IDBCursor.prototype.advance,\n IDBCursor.prototype.continue,\n IDBCursor.prototype.continuePrimaryKey,\n ]));\n}\nconst cursorRequestMap = new WeakMap();\nconst transactionDoneMap = new WeakMap();\nconst transactionStoreNamesMap = new WeakMap();\nconst transformCache = new WeakMap();\nconst reverseTransformCache = new WeakMap();\nfunction promisifyRequest(request) {\n const promise = new Promise((resolve, reject) => {\n const unlisten = () => {\n request.removeEventListener('success', success);\n request.removeEventListener('error', error);\n };\n const success = () => {\n resolve(wrap(request.result));\n unlisten();\n };\n const error = () => {\n reject(request.error);\n unlisten();\n };\n request.addEventListener('success', success);\n request.addEventListener('error', error);\n });\n promise\n .then((value) => {\n // Since cursoring reuses the IDBRequest (*sigh*), we cache it for later retrieval\n // (see wrapFunction).\n if (value instanceof IDBCursor) {\n cursorRequestMap.set(value, request);\n }\n // Catching to avoid \"Uncaught Promise exceptions\"\n })\n .catch(() => { });\n // This mapping exists in reverseTransformCache but doesn't doesn't exist in transformCache. This\n // is because we create many promises from a single IDBRequest.\n reverseTransformCache.set(promise, request);\n return promise;\n}\nfunction cacheDonePromiseForTransaction(tx) {\n // Early bail if we've already created a done promise for this transaction.\n if (transactionDoneMap.has(tx))\n return;\n const done = new Promise((resolve, reject) => {\n const unlisten = () => {\n tx.removeEventListener('complete', complete);\n tx.removeEventListener('error', error);\n tx.removeEventListener('abort', error);\n };\n const complete = () => {\n resolve();\n unlisten();\n };\n const error = () => {\n reject(tx.error || new DOMException('AbortError', 'AbortError'));\n unlisten();\n };\n tx.addEventListener('complete', complete);\n tx.addEventListener('error', error);\n tx.addEventListener('abort', error);\n });\n // Cache it for later retrieval.\n transactionDoneMap.set(tx, done);\n}\nlet idbProxyTraps = {\n get(target, prop, receiver) {\n if (target instanceof IDBTransaction) {\n // Special handling for transaction.done.\n if (prop === 'done')\n return transactionDoneMap.get(target);\n // Polyfill for objectStoreNames because of Edge.\n if (prop === 'objectStoreNames') {\n return target.objectStoreNames || transactionStoreNamesMap.get(target);\n }\n // Make tx.store return the only store in the transaction, or undefined if there are many.\n if (prop === 'store') {\n return receiver.objectStoreNames[1]\n ? undefined\n : receiver.objectStore(receiver.objectStoreNames[0]);\n }\n }\n // Else transform whatever we get back.\n return wrap(target[prop]);\n },\n set(target, prop, value) {\n target[prop] = value;\n return true;\n },\n has(target, prop) {\n if (target instanceof IDBTransaction &&\n (prop === 'done' || prop === 'store')) {\n return true;\n }\n return prop in target;\n },\n};\nfunction replaceTraps(callback) {\n idbProxyTraps = callback(idbProxyTraps);\n}\nfunction wrapFunction(func) {\n // Due to expected object equality (which is enforced by the caching in `wrap`), we\n // only create one new func per func.\n // Edge doesn't support objectStoreNames (booo), so we polyfill it here.\n if (func === IDBDatabase.prototype.transaction &&\n !('objectStoreNames' in IDBTransaction.prototype)) {\n return function (storeNames, ...args) {\n const tx = func.call(unwrap(this), storeNames, ...args);\n transactionStoreNamesMap.set(tx, storeNames.sort ? storeNames.sort() : [storeNames]);\n return wrap(tx);\n };\n }\n // Cursor methods are special, as the behaviour is a little more different to standard IDB. In\n // IDB, you advance the cursor and wait for a new 'success' on the IDBRequest that gave you the\n // cursor. It's kinda like a promise that can resolve with many values. That doesn't make sense\n // with real promises, so each advance methods returns a new promise for the cursor object, or\n // undefined if the end of the cursor has been reached.\n if (getCursorAdvanceMethods().includes(func)) {\n return function (...args) {\n // Calling the original function with the proxy as 'this' causes ILLEGAL INVOCATION, so we use\n // the original object.\n func.apply(unwrap(this), args);\n return wrap(cursorRequestMap.get(this));\n };\n }\n return function (...args) {\n // Calling the original function with the proxy as 'this' causes ILLEGAL INVOCATION, so we use\n // the original object.\n return wrap(func.apply(unwrap(this), args));\n };\n}\nfunction transformCachableValue(value) {\n if (typeof value === 'function')\n return wrapFunction(value);\n // This doesn't return, it just creates a 'done' promise for the transaction,\n // which is later returned for transaction.done (see idbObjectHandler).\n if (value instanceof IDBTransaction)\n cacheDonePromiseForTransaction(value);\n if (instanceOfAny(value, getIdbProxyableTypes()))\n return new Proxy(value, idbProxyTraps);\n // Return the same value back if we're not going to transform it.\n return value;\n}\nfunction wrap(value) {\n // We sometimes generate multiple promises from a single IDBRequest (eg when cursoring), because\n // IDB is weird and a single IDBRequest can yield many responses, so these can't be cached.\n if (value instanceof IDBRequest)\n return promisifyRequest(value);\n // If we've already transformed this value before, reuse the transformed value.\n // This is faster, but it also provides object equality.\n if (transformCache.has(value))\n return transformCache.get(value);\n const newValue = transformCachableValue(value);\n // Not all types are transformed.\n // These may be primitive types, so they can't be WeakMap keys.\n if (newValue !== value) {\n transformCache.set(value, newValue);\n reverseTransformCache.set(newValue, value);\n }\n return newValue;\n}\nconst unwrap = (value) => reverseTransformCache.get(value);\n\nexport { reverseTransformCache as a, instanceOfAny as i, replaceTraps as r, unwrap as u, wrap as w };\n","import { w as wrap, r as replaceTraps } from './wrap-idb-value.js';\nexport { u as unwrap, w as wrap } from './wrap-idb-value.js';\n\n/**\n * Open a database.\n *\n * @param name Name of the database.\n * @param version Schema version.\n * @param callbacks Additional callbacks.\n */\nfunction openDB(name, version, { blocked, upgrade, blocking, terminated } = {}) {\n const request = indexedDB.open(name, version);\n const openPromise = wrap(request);\n if (upgrade) {\n request.addEventListener('upgradeneeded', (event) => {\n upgrade(wrap(request.result), event.oldVersion, event.newVersion, wrap(request.transaction), event);\n });\n }\n if (blocked) {\n request.addEventListener('blocked', (event) => blocked(\n // Casting due to https://github.com/microsoft/TypeScript-DOM-lib-generator/pull/1405\n event.oldVersion, event.newVersion, event));\n }\n openPromise\n .then((db) => {\n if (terminated)\n db.addEventListener('close', () => terminated());\n if (blocking) {\n db.addEventListener('versionchange', (event) => blocking(event.oldVersion, event.newVersion, event));\n }\n })\n .catch(() => { });\n return openPromise;\n}\n/**\n * Delete a database.\n *\n * @param name Name of the database.\n */\nfunction deleteDB(name, { blocked } = {}) {\n const request = indexedDB.deleteDatabase(name);\n if (blocked) {\n request.addEventListener('blocked', (event) => blocked(\n // Casting due to https://github.com/microsoft/TypeScript-DOM-lib-generator/pull/1405\n event.oldVersion, event));\n }\n return wrap(request).then(() => undefined);\n}\n\nconst readMethods = ['get', 'getKey', 'getAll', 'getAllKeys', 'count'];\nconst writeMethods = ['put', 'add', 'delete', 'clear'];\nconst cachedMethods = new Map();\nfunction getMethod(target, prop) {\n if (!(target instanceof IDBDatabase &&\n !(prop in target) &&\n typeof prop === 'string')) {\n return;\n }\n if (cachedMethods.get(prop))\n return cachedMethods.get(prop);\n const targetFuncName = prop.replace(/FromIndex$/, '');\n const useIndex = prop !== targetFuncName;\n const isWrite = writeMethods.includes(targetFuncName);\n if (\n // Bail if the target doesn't exist on the target. Eg, getAll isn't in Edge.\n !(targetFuncName in (useIndex ? IDBIndex : IDBObjectStore).prototype) ||\n !(isWrite || readMethods.includes(targetFuncName))) {\n return;\n }\n const method = async function (storeName, ...args) {\n // isWrite ? 'readwrite' : undefined gzipps better, but fails in Edge :(\n const tx = this.transaction(storeName, isWrite ? 'readwrite' : 'readonly');\n let target = tx.store;\n if (useIndex)\n target = target.index(args.shift());\n // Must reject if op rejects.\n // If it's a write operation, must reject if tx.done rejects.\n // Must reject with op rejection first.\n // Must resolve with op value.\n // Must handle both promises (no unhandled rejections)\n return (await Promise.all([\n target[targetFuncName](...args),\n isWrite && tx.done,\n ]))[0];\n };\n cachedMethods.set(prop, method);\n return method;\n}\nreplaceTraps((oldTraps) => ({\n ...oldTraps,\n get: (target, prop, receiver) => getMethod(target, prop) || oldTraps.get(target, prop, receiver),\n has: (target, prop) => !!getMethod(target, prop) || oldTraps.has(target, prop),\n}));\n\nexport { deleteDB, openDB };\n","import { Component, ComponentContainer } from '@firebase/component';\nimport { Logger, setUserLogHandler, setLogLevel as setLogLevel$1 } from '@firebase/logger';\nimport { ErrorFactory, getDefaultAppConfig, deepEqual, isBrowser, isWebWorker, FirebaseError, base64urlEncodeWithoutPadding, isIndexedDBAvailable, validateIndexedDBOpenable } from '@firebase/util';\nexport { FirebaseError } from '@firebase/util';\nimport { openDB } from 'idb';\n\n/**\r\n * @license\r\n * Copyright 2019 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\nclass PlatformLoggerServiceImpl {\r\n constructor(container) {\r\n this.container = container;\r\n }\r\n // In initial implementation, this will be called by installations on\r\n // auth token refresh, and installations will send this string.\r\n getPlatformInfoString() {\r\n const providers = this.container.getProviders();\r\n // Loop through providers and get library/version pairs from any that are\r\n // version components.\r\n return providers\r\n .map(provider => {\r\n if (isVersionServiceProvider(provider)) {\r\n const service = provider.getImmediate();\r\n return `${service.library}/${service.version}`;\r\n }\r\n else {\r\n return null;\r\n }\r\n })\r\n .filter(logString => logString)\r\n .join(' ');\r\n }\r\n}\r\n/**\r\n *\r\n * @param provider check if this provider provides a VersionService\r\n *\r\n * NOTE: Using Provider<'app-version'> is a hack to indicate that the provider\r\n * provides VersionService. The provider is not necessarily a 'app-version'\r\n * provider.\r\n */\r\nfunction isVersionServiceProvider(provider) {\r\n const component = provider.getComponent();\r\n return (component === null || component === void 0 ? void 0 : component.type) === \"VERSION\" /* ComponentType.VERSION */;\r\n}\n\nconst name$p = \"@firebase/app\";\nconst version$1 = \"0.10.9\";\n\n/**\r\n * @license\r\n * Copyright 2019 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\nconst logger = new Logger('@firebase/app');\n\nconst name$o = \"@firebase/app-compat\";\n\nconst name$n = \"@firebase/analytics-compat\";\n\nconst name$m = \"@firebase/analytics\";\n\nconst name$l = \"@firebase/app-check-compat\";\n\nconst name$k = \"@firebase/app-check\";\n\nconst name$j = \"@firebase/auth\";\n\nconst name$i = \"@firebase/auth-compat\";\n\nconst name$h = \"@firebase/database\";\n\nconst name$g = \"@firebase/database-compat\";\n\nconst name$f = \"@firebase/functions\";\n\nconst name$e = \"@firebase/functions-compat\";\n\nconst name$d = \"@firebase/installations\";\n\nconst name$c = \"@firebase/installations-compat\";\n\nconst name$b = \"@firebase/messaging\";\n\nconst name$a = \"@firebase/messaging-compat\";\n\nconst name$9 = \"@firebase/performance\";\n\nconst name$8 = \"@firebase/performance-compat\";\n\nconst name$7 = \"@firebase/remote-config\";\n\nconst name$6 = \"@firebase/remote-config-compat\";\n\nconst name$5 = \"@firebase/storage\";\n\nconst name$4 = \"@firebase/storage-compat\";\n\nconst name$3 = \"@firebase/firestore\";\n\nconst name$2 = \"@firebase/vertexai-preview\";\n\nconst name$1 = \"@firebase/firestore-compat\";\n\nconst name = \"firebase\";\nconst version = \"10.13.0\";\n\n/**\r\n * @license\r\n * Copyright 2019 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n/**\r\n * The default app name\r\n *\r\n * @internal\r\n */\r\nconst DEFAULT_ENTRY_NAME = '[DEFAULT]';\r\nconst PLATFORM_LOG_STRING = {\r\n [name$p]: 'fire-core',\r\n [name$o]: 'fire-core-compat',\r\n [name$m]: 'fire-analytics',\r\n [name$n]: 'fire-analytics-compat',\r\n [name$k]: 'fire-app-check',\r\n [name$l]: 'fire-app-check-compat',\r\n [name$j]: 'fire-auth',\r\n [name$i]: 'fire-auth-compat',\r\n [name$h]: 'fire-rtdb',\r\n [name$g]: 'fire-rtdb-compat',\r\n [name$f]: 'fire-fn',\r\n [name$e]: 'fire-fn-compat',\r\n [name$d]: 'fire-iid',\r\n [name$c]: 'fire-iid-compat',\r\n [name$b]: 'fire-fcm',\r\n [name$a]: 'fire-fcm-compat',\r\n [name$9]: 'fire-perf',\r\n [name$8]: 'fire-perf-compat',\r\n [name$7]: 'fire-rc',\r\n [name$6]: 'fire-rc-compat',\r\n [name$5]: 'fire-gcs',\r\n [name$4]: 'fire-gcs-compat',\r\n [name$3]: 'fire-fst',\r\n [name$1]: 'fire-fst-compat',\r\n [name$2]: 'fire-vertex',\r\n 'fire-js': 'fire-js',\r\n [name]: 'fire-js-all'\r\n};\n\n/**\r\n * @license\r\n * Copyright 2019 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n/**\r\n * @internal\r\n */\r\nconst _apps = new Map();\r\n/**\r\n * @internal\r\n */\r\nconst _serverApps = new Map();\r\n/**\r\n * Registered components.\r\n *\r\n * @internal\r\n */\r\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\r\nconst _components = new Map();\r\n/**\r\n * @param component - the component being added to this app's container\r\n *\r\n * @internal\r\n */\r\nfunction _addComponent(app, component) {\r\n try {\r\n app.container.addComponent(component);\r\n }\r\n catch (e) {\r\n logger.debug(`Component ${component.name} failed to register with FirebaseApp ${app.name}`, e);\r\n }\r\n}\r\n/**\r\n *\r\n * @internal\r\n */\r\nfunction _addOrOverwriteComponent(app, component) {\r\n app.container.addOrOverwriteComponent(component);\r\n}\r\n/**\r\n *\r\n * @param component - the component to register\r\n * @returns whether or not the component is registered successfully\r\n *\r\n * @internal\r\n */\r\nfunction _registerComponent(component) {\r\n const componentName = component.name;\r\n if (_components.has(componentName)) {\r\n logger.debug(`There were multiple attempts to register component ${componentName}.`);\r\n return false;\r\n }\r\n _components.set(componentName, component);\r\n // add the component to existing app instances\r\n for (const app of _apps.values()) {\r\n _addComponent(app, component);\r\n }\r\n for (const serverApp of _serverApps.values()) {\r\n _addComponent(serverApp, component);\r\n }\r\n return true;\r\n}\r\n/**\r\n *\r\n * @param app - FirebaseApp instance\r\n * @param name - service name\r\n *\r\n * @returns the provider for the service with the matching name\r\n *\r\n * @internal\r\n */\r\nfunction _getProvider(app, name) {\r\n const heartbeatController = app.container\r\n .getProvider('heartbeat')\r\n .getImmediate({ optional: true });\r\n if (heartbeatController) {\r\n void heartbeatController.triggerHeartbeat();\r\n }\r\n return app.container.getProvider(name);\r\n}\r\n/**\r\n *\r\n * @param app - FirebaseApp instance\r\n * @param name - service name\r\n * @param instanceIdentifier - service instance identifier in case the service supports multiple instances\r\n *\r\n * @internal\r\n */\r\nfunction _removeServiceInstance(app, name, instanceIdentifier = DEFAULT_ENTRY_NAME) {\r\n _getProvider(app, name).clearInstance(instanceIdentifier);\r\n}\r\n/**\r\n *\r\n * @param obj - an object of type FirebaseApp or FirebaseOptions.\r\n *\r\n * @returns true if the provide object is of type FirebaseApp.\r\n *\r\n * @internal\r\n */\r\nfunction _isFirebaseApp(obj) {\r\n return obj.options !== undefined;\r\n}\r\n/**\r\n *\r\n * @param obj - an object of type FirebaseApp.\r\n *\r\n * @returns true if the provided object is of type FirebaseServerAppImpl.\r\n *\r\n * @internal\r\n */\r\nfunction _isFirebaseServerApp(obj) {\r\n return obj.settings !== undefined;\r\n}\r\n/**\r\n * Test only\r\n *\r\n * @internal\r\n */\r\nfunction _clearComponents() {\r\n _components.clear();\r\n}\n\n/**\r\n * @license\r\n * Copyright 2019 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\nconst ERRORS = {\r\n [\"no-app\" /* AppError.NO_APP */]: \"No Firebase App '{$appName}' has been created - \" +\r\n 'call initializeApp() first',\r\n [\"bad-app-name\" /* AppError.BAD_APP_NAME */]: \"Illegal App name: '{$appName}'\",\r\n [\"duplicate-app\" /* AppError.DUPLICATE_APP */]: \"Firebase App named '{$appName}' already exists with different options or config\",\r\n [\"app-deleted\" /* AppError.APP_DELETED */]: \"Firebase App named '{$appName}' already deleted\",\r\n [\"server-app-deleted\" /* AppError.SERVER_APP_DELETED */]: 'Firebase Server App has been deleted',\r\n [\"no-options\" /* AppError.NO_OPTIONS */]: 'Need to provide options, when not being deployed to hosting via source.',\r\n [\"invalid-app-argument\" /* AppError.INVALID_APP_ARGUMENT */]: 'firebase.{$appName}() takes either no argument or a ' +\r\n 'Firebase App instance.',\r\n [\"invalid-log-argument\" /* AppError.INVALID_LOG_ARGUMENT */]: 'First argument to `onLog` must be null or a function.',\r\n [\"idb-open\" /* AppError.IDB_OPEN */]: 'Error thrown when opening IndexedDB. Original error: {$originalErrorMessage}.',\r\n [\"idb-get\" /* AppError.IDB_GET */]: 'Error thrown when reading from IndexedDB. Original error: {$originalErrorMessage}.',\r\n [\"idb-set\" /* AppError.IDB_WRITE */]: 'Error thrown when writing to IndexedDB. Original error: {$originalErrorMessage}.',\r\n [\"idb-delete\" /* AppError.IDB_DELETE */]: 'Error thrown when deleting from IndexedDB. Original error: {$originalErrorMessage}.',\r\n [\"finalization-registry-not-supported\" /* AppError.FINALIZATION_REGISTRY_NOT_SUPPORTED */]: 'FirebaseServerApp deleteOnDeref field defined but the JS runtime does not support FinalizationRegistry.',\r\n [\"invalid-server-app-environment\" /* AppError.INVALID_SERVER_APP_ENVIRONMENT */]: 'FirebaseServerApp is not for use in browser environments.'\r\n};\r\nconst ERROR_FACTORY = new ErrorFactory('app', 'Firebase', ERRORS);\n\n/**\r\n * @license\r\n * Copyright 2019 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\nclass FirebaseAppImpl {\r\n constructor(options, config, container) {\r\n this._isDeleted = false;\r\n this._options = Object.assign({}, options);\r\n this._config = Object.assign({}, config);\r\n this._name = config.name;\r\n this._automaticDataCollectionEnabled =\r\n config.automaticDataCollectionEnabled;\r\n this._container = container;\r\n this.container.addComponent(new Component('app', () => this, \"PUBLIC\" /* ComponentType.PUBLIC */));\r\n }\r\n get automaticDataCollectionEnabled() {\r\n this.checkDestroyed();\r\n return this._automaticDataCollectionEnabled;\r\n }\r\n set automaticDataCollectionEnabled(val) {\r\n this.checkDestroyed();\r\n this._automaticDataCollectionEnabled = val;\r\n }\r\n get name() {\r\n this.checkDestroyed();\r\n return this._name;\r\n }\r\n get options() {\r\n this.checkDestroyed();\r\n return this._options;\r\n }\r\n get config() {\r\n this.checkDestroyed();\r\n return this._config;\r\n }\r\n get container() {\r\n return this._container;\r\n }\r\n get isDeleted() {\r\n return this._isDeleted;\r\n }\r\n set isDeleted(val) {\r\n this._isDeleted = val;\r\n }\r\n /**\r\n * This function will throw an Error if the App has already been deleted -\r\n * use before performing API actions on the App.\r\n */\r\n checkDestroyed() {\r\n if (this.isDeleted) {\r\n throw ERROR_FACTORY.create(\"app-deleted\" /* AppError.APP_DELETED */, { appName: this._name });\r\n }\r\n }\r\n}\n\n/**\r\n * @license\r\n * Copyright 2023 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\nclass FirebaseServerAppImpl extends FirebaseAppImpl {\r\n constructor(options, serverConfig, name, container) {\r\n // Build configuration parameters for the FirebaseAppImpl base class.\r\n const automaticDataCollectionEnabled = serverConfig.automaticDataCollectionEnabled !== undefined\r\n ? serverConfig.automaticDataCollectionEnabled\r\n : false;\r\n // Create the FirebaseAppSettings object for the FirebaseAppImp constructor.\r\n const config = {\r\n name,\r\n automaticDataCollectionEnabled\r\n };\r\n if (options.apiKey !== undefined) {\r\n // Construct the parent FirebaseAppImp object.\r\n super(options, config, container);\r\n }\r\n else {\r\n const appImpl = options;\r\n super(appImpl.options, config, container);\r\n }\r\n // Now construct the data for the FirebaseServerAppImpl.\r\n this._serverConfig = Object.assign({ automaticDataCollectionEnabled }, serverConfig);\r\n this._finalizationRegistry = null;\r\n if (typeof FinalizationRegistry !== 'undefined') {\r\n this._finalizationRegistry = new FinalizationRegistry(() => {\r\n this.automaticCleanup();\r\n });\r\n }\r\n this._refCount = 0;\r\n this.incRefCount(this._serverConfig.releaseOnDeref);\r\n // Do not retain a hard reference to the dref object, otherwise the FinalizationRegistry\r\n // will never trigger.\r\n this._serverConfig.releaseOnDeref = undefined;\r\n serverConfig.releaseOnDeref = undefined;\r\n registerVersion(name$p, version$1, 'serverapp');\r\n }\r\n toJSON() {\r\n return undefined;\r\n }\r\n get refCount() {\r\n return this._refCount;\r\n }\r\n // Increment the reference count of this server app. If an object is provided, register it\r\n // with the finalization registry.\r\n incRefCount(obj) {\r\n if (this.isDeleted) {\r\n return;\r\n }\r\n this._refCount++;\r\n if (obj !== undefined && this._finalizationRegistry !== null) {\r\n this._finalizationRegistry.register(obj, this);\r\n }\r\n }\r\n // Decrement the reference count.\r\n decRefCount() {\r\n if (this.isDeleted) {\r\n return 0;\r\n }\r\n return --this._refCount;\r\n }\r\n // Invoked by the FinalizationRegistry callback to note that this app should go through its\r\n // reference counts and delete itself if no reference count remain. The coordinating logic that\r\n // handles this is in deleteApp(...).\r\n automaticCleanup() {\r\n void deleteApp(this);\r\n }\r\n get settings() {\r\n this.checkDestroyed();\r\n return this._serverConfig;\r\n }\r\n /**\r\n * This function will throw an Error if the App has already been deleted -\r\n * use before performing API actions on the App.\r\n */\r\n checkDestroyed() {\r\n if (this.isDeleted) {\r\n throw ERROR_FACTORY.create(\"server-app-deleted\" /* AppError.SERVER_APP_DELETED */);\r\n }\r\n }\r\n}\n\n/**\r\n * @license\r\n * Copyright 2019 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n/**\r\n * The current SDK version.\r\n *\r\n * @public\r\n */\r\nconst SDK_VERSION = version;\r\nfunction initializeApp(_options, rawConfig = {}) {\r\n let options = _options;\r\n if (typeof rawConfig !== 'object') {\r\n const name = rawConfig;\r\n rawConfig = { name };\r\n }\r\n const config = Object.assign({ name: DEFAULT_ENTRY_NAME, automaticDataCollectionEnabled: false }, rawConfig);\r\n const name = config.name;\r\n if (typeof name !== 'string' || !name) {\r\n throw ERROR_FACTORY.create(\"bad-app-name\" /* AppError.BAD_APP_NAME */, {\r\n appName: String(name)\r\n });\r\n }\r\n options || (options = getDefaultAppConfig());\r\n if (!options) {\r\n throw ERROR_FACTORY.create(\"no-options\" /* AppError.NO_OPTIONS */);\r\n }\r\n const existingApp = _apps.get(name);\r\n if (existingApp) {\r\n // return the existing app if options and config deep equal the ones in the existing app.\r\n if (deepEqual(options, existingApp.options) &&\r\n deepEqual(config, existingApp.config)) {\r\n return existingApp;\r\n }\r\n else {\r\n throw ERROR_FACTORY.create(\"duplicate-app\" /* AppError.DUPLICATE_APP */, { appName: name });\r\n }\r\n }\r\n const container = new ComponentContainer(name);\r\n for (const component of _components.values()) {\r\n container.addComponent(component);\r\n }\r\n const newApp = new FirebaseAppImpl(options, config, container);\r\n _apps.set(name, newApp);\r\n return newApp;\r\n}\r\nfunction initializeServerApp(_options, _serverAppConfig) {\r\n if (isBrowser() && !isWebWorker()) {\r\n // FirebaseServerApp isn't designed to be run in browsers.\r\n throw ERROR_FACTORY.create(\"invalid-server-app-environment\" /* AppError.INVALID_SERVER_APP_ENVIRONMENT */);\r\n }\r\n if (_serverAppConfig.automaticDataCollectionEnabled === undefined) {\r\n _serverAppConfig.automaticDataCollectionEnabled = false;\r\n }\r\n let appOptions;\r\n if (_isFirebaseApp(_options)) {\r\n appOptions = _options.options;\r\n }\r\n else {\r\n appOptions = _options;\r\n }\r\n // Build an app name based on a hash of the configuration options.\r\n const nameObj = Object.assign(Object.assign({}, _serverAppConfig), appOptions);\r\n // However, Do not mangle the name based on releaseOnDeref, since it will vary between the\r\n // construction of FirebaseServerApp instances. For example, if the object is the request headers.\r\n if (nameObj.releaseOnDeref !== undefined) {\r\n delete nameObj.releaseOnDeref;\r\n }\r\n const hashCode = (s) => {\r\n return [...s].reduce((hash, c) => (Math.imul(31, hash) + c.charCodeAt(0)) | 0, 0);\r\n };\r\n if (_serverAppConfig.releaseOnDeref !== undefined) {\r\n if (typeof FinalizationRegistry === 'undefined') {\r\n throw ERROR_FACTORY.create(\"finalization-registry-not-supported\" /* AppError.FINALIZATION_REGISTRY_NOT_SUPPORTED */, {});\r\n }\r\n }\r\n const nameString = '' + hashCode(JSON.stringify(nameObj));\r\n const existingApp = _serverApps.get(nameString);\r\n if (existingApp) {\r\n existingApp.incRefCount(_serverAppConfig.releaseOnDeref);\r\n return existingApp;\r\n }\r\n const container = new ComponentContainer(nameString);\r\n for (const component of _components.values()) {\r\n container.addComponent(component);\r\n }\r\n const newApp = new FirebaseServerAppImpl(appOptions, _serverAppConfig, nameString, container);\r\n _serverApps.set(nameString, newApp);\r\n return newApp;\r\n}\r\n/**\r\n * Retrieves a {@link @firebase/app#FirebaseApp} instance.\r\n *\r\n * When called with no arguments, the default app is returned. When an app name\r\n * is provided, the app corresponding to that name is returned.\r\n *\r\n * An exception is thrown if the app being retrieved has not yet been\r\n * initialized.\r\n *\r\n * @example\r\n * ```javascript\r\n * // Return the default app\r\n * const app = getApp();\r\n * ```\r\n *\r\n * @example\r\n * ```javascript\r\n * // Return a named app\r\n * const otherApp = getApp(\"otherApp\");\r\n * ```\r\n *\r\n * @param name - Optional name of the app to return. If no name is\r\n * provided, the default is `\"[DEFAULT]\"`.\r\n *\r\n * @returns The app corresponding to the provided app name.\r\n * If no app name is provided, the default app is returned.\r\n *\r\n * @public\r\n */\r\nfunction getApp(name = DEFAULT_ENTRY_NAME) {\r\n const app = _apps.get(name);\r\n if (!app && name === DEFAULT_ENTRY_NAME && getDefaultAppConfig()) {\r\n return initializeApp();\r\n }\r\n if (!app) {\r\n throw ERROR_FACTORY.create(\"no-app\" /* AppError.NO_APP */, { appName: name });\r\n }\r\n return app;\r\n}\r\n/**\r\n * A (read-only) array of all initialized apps.\r\n * @public\r\n */\r\nfunction getApps() {\r\n return Array.from(_apps.values());\r\n}\r\n/**\r\n * Renders this app unusable and frees the resources of all associated\r\n * services.\r\n *\r\n * @example\r\n * ```javascript\r\n * deleteApp(app)\r\n * .then(function() {\r\n * console.log(\"App deleted successfully\");\r\n * })\r\n * .catch(function(error) {\r\n * console.log(\"Error deleting app:\", error);\r\n * });\r\n * ```\r\n *\r\n * @public\r\n */\r\nasync function deleteApp(app) {\r\n let cleanupProviders = false;\r\n const name = app.name;\r\n if (_apps.has(name)) {\r\n cleanupProviders = true;\r\n _apps.delete(name);\r\n }\r\n else if (_serverApps.has(name)) {\r\n const firebaseServerApp = app;\r\n if (firebaseServerApp.decRefCount() <= 0) {\r\n _serverApps.delete(name);\r\n cleanupProviders = true;\r\n }\r\n }\r\n if (cleanupProviders) {\r\n await Promise.all(app.container\r\n .getProviders()\r\n .map(provider => provider.delete()));\r\n app.isDeleted = true;\r\n }\r\n}\r\n/**\r\n * Registers a library's name and version for platform logging purposes.\r\n * @param library - Name of 1p or 3p library (e.g. firestore, angularfire)\r\n * @param version - Current version of that library.\r\n * @param variant - Bundle variant, e.g., node, rn, etc.\r\n *\r\n * @public\r\n */\r\nfunction registerVersion(libraryKeyOrName, version, variant) {\r\n var _a;\r\n // TODO: We can use this check to whitelist strings when/if we set up\r\n // a good whitelist system.\r\n let library = (_a = PLATFORM_LOG_STRING[libraryKeyOrName]) !== null && _a !== void 0 ? _a : libraryKeyOrName;\r\n if (variant) {\r\n library += `-${variant}`;\r\n }\r\n const libraryMismatch = library.match(/\\s|\\//);\r\n const versionMismatch = version.match(/\\s|\\//);\r\n if (libraryMismatch || versionMismatch) {\r\n const warning = [\r\n `Unable to register library \"${library}\" with version \"${version}\":`\r\n ];\r\n if (libraryMismatch) {\r\n warning.push(`library name \"${library}\" contains illegal characters (whitespace or \"/\")`);\r\n }\r\n if (libraryMismatch && versionMismatch) {\r\n warning.push('and');\r\n }\r\n if (versionMismatch) {\r\n warning.push(`version name \"${version}\" contains illegal characters (whitespace or \"/\")`);\r\n }\r\n logger.warn(warning.join(' '));\r\n return;\r\n }\r\n _registerComponent(new Component(`${library}-version`, () => ({ library, version }), \"VERSION\" /* ComponentType.VERSION */));\r\n}\r\n/**\r\n * Sets log handler for all Firebase SDKs.\r\n * @param logCallback - An optional custom log handler that executes user code whenever\r\n * the Firebase SDK makes a logging call.\r\n *\r\n * @public\r\n */\r\nfunction onLog(logCallback, options) {\r\n if (logCallback !== null && typeof logCallback !== 'function') {\r\n throw ERROR_FACTORY.create(\"invalid-log-argument\" /* AppError.INVALID_LOG_ARGUMENT */);\r\n }\r\n setUserLogHandler(logCallback, options);\r\n}\r\n/**\r\n * Sets log level for all Firebase SDKs.\r\n *\r\n * All of the log types above the current log level are captured (i.e. if\r\n * you set the log level to `info`, errors are logged, but `debug` and\r\n * `verbose` logs are not).\r\n *\r\n * @public\r\n */\r\nfunction setLogLevel(logLevel) {\r\n setLogLevel$1(logLevel);\r\n}\n\n/**\r\n * @license\r\n * Copyright 2021 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\nconst DB_NAME = 'firebase-heartbeat-database';\r\nconst DB_VERSION = 1;\r\nconst STORE_NAME = 'firebase-heartbeat-store';\r\nlet dbPromise = null;\r\nfunction getDbPromise() {\r\n if (!dbPromise) {\r\n dbPromise = openDB(DB_NAME, DB_VERSION, {\r\n upgrade: (db, oldVersion) => {\r\n // We don't use 'break' in this switch statement, the fall-through\r\n // behavior is what we want, because if there are multiple versions between\r\n // the old version and the current version, we want ALL the migrations\r\n // that correspond to those versions to run, not only the last one.\r\n // eslint-disable-next-line default-case\r\n switch (oldVersion) {\r\n case 0:\r\n try {\r\n db.createObjectStore(STORE_NAME);\r\n }\r\n catch (e) {\r\n // Safari/iOS browsers throw occasional exceptions on\r\n // db.createObjectStore() that may be a bug. Avoid blocking\r\n // the rest of the app functionality.\r\n console.warn(e);\r\n }\r\n }\r\n }\r\n }).catch(e => {\r\n throw ERROR_FACTORY.create(\"idb-open\" /* AppError.IDB_OPEN */, {\r\n originalErrorMessage: e.message\r\n });\r\n });\r\n }\r\n return dbPromise;\r\n}\r\nasync function readHeartbeatsFromIndexedDB(app) {\r\n try {\r\n const db = await getDbPromise();\r\n const tx = db.transaction(STORE_NAME);\r\n const result = await tx.objectStore(STORE_NAME).get(computeKey(app));\r\n // We already have the value but tx.done can throw,\r\n // so we need to await it here to catch errors\r\n await tx.done;\r\n return result;\r\n }\r\n catch (e) {\r\n if (e instanceof FirebaseError) {\r\n logger.warn(e.message);\r\n }\r\n else {\r\n const idbGetError = ERROR_FACTORY.create(\"idb-get\" /* AppError.IDB_GET */, {\r\n originalErrorMessage: e === null || e === void 0 ? void 0 : e.message\r\n });\r\n logger.warn(idbGetError.message);\r\n }\r\n }\r\n}\r\nasync function writeHeartbeatsToIndexedDB(app, heartbeatObject) {\r\n try {\r\n const db = await getDbPromise();\r\n const tx = db.transaction(STORE_NAME, 'readwrite');\r\n const objectStore = tx.objectStore(STORE_NAME);\r\n await objectStore.put(heartbeatObject, computeKey(app));\r\n await tx.done;\r\n }\r\n catch (e) {\r\n if (e instanceof FirebaseError) {\r\n logger.warn(e.message);\r\n }\r\n else {\r\n const idbGetError = ERROR_FACTORY.create(\"idb-set\" /* AppError.IDB_WRITE */, {\r\n originalErrorMessage: e === null || e === void 0 ? void 0 : e.message\r\n });\r\n logger.warn(idbGetError.message);\r\n }\r\n }\r\n}\r\nfunction computeKey(app) {\r\n return `${app.name}!${app.options.appId}`;\r\n}\n\n/**\r\n * @license\r\n * Copyright 2021 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\nconst MAX_HEADER_BYTES = 1024;\r\n// 30 days\r\nconst STORED_HEARTBEAT_RETENTION_MAX_MILLIS = 30 * 24 * 60 * 60 * 1000;\r\nclass HeartbeatServiceImpl {\r\n constructor(container) {\r\n this.container = container;\r\n /**\r\n * In-memory cache for heartbeats, used by getHeartbeatsHeader() to generate\r\n * the header string.\r\n * Stores one record per date. This will be consolidated into the standard\r\n * format of one record per user agent string before being sent as a header.\r\n * Populated from indexedDB when the controller is instantiated and should\r\n * be kept in sync with indexedDB.\r\n * Leave public for easier testing.\r\n */\r\n this._heartbeatsCache = null;\r\n const app = this.container.getProvider('app').getImmediate();\r\n this._storage = new HeartbeatStorageImpl(app);\r\n this._heartbeatsCachePromise = this._storage.read().then(result => {\r\n this._heartbeatsCache = result;\r\n return result;\r\n });\r\n }\r\n /**\r\n * Called to report a heartbeat. The function will generate\r\n * a HeartbeatsByUserAgent object, update heartbeatsCache, and persist it\r\n * to IndexedDB.\r\n * Note that we only store one heartbeat per day. So if a heartbeat for today is\r\n * already logged, subsequent calls to this function in the same day will be ignored.\r\n */\r\n async triggerHeartbeat() {\r\n var _a, _b, _c;\r\n try {\r\n const platformLogger = this.container\r\n .getProvider('platform-logger')\r\n .getImmediate();\r\n // This is the \"Firebase user agent\" string from the platform logger\r\n // service, not the browser user agent.\r\n const agent = platformLogger.getPlatformInfoString();\r\n const date = getUTCDateString();\r\n console.log('heartbeats', (_a = this._heartbeatsCache) === null || _a === void 0 ? void 0 : _a.heartbeats);\r\n if (((_b = this._heartbeatsCache) === null || _b === void 0 ? void 0 : _b.heartbeats) == null) {\r\n this._heartbeatsCache = await this._heartbeatsCachePromise;\r\n // If we failed to construct a heartbeats cache, then return immediately.\r\n if (((_c = this._heartbeatsCache) === null || _c === void 0 ? void 0 : _c.heartbeats) == null) {\r\n return;\r\n }\r\n }\r\n // Do not store a heartbeat if one is already stored for this day\r\n // or if a header has already been sent today.\r\n if (this._heartbeatsCache.lastSentHeartbeatDate === date ||\r\n this._heartbeatsCache.heartbeats.some(singleDateHeartbeat => singleDateHeartbeat.date === date)) {\r\n return;\r\n }\r\n else {\r\n // There is no entry for this date. Create one.\r\n this._heartbeatsCache.heartbeats.push({ date, agent });\r\n }\r\n // Remove entries older than 30 days.\r\n this._heartbeatsCache.heartbeats =\r\n this._heartbeatsCache.heartbeats.filter(singleDateHeartbeat => {\r\n const hbTimestamp = new Date(singleDateHeartbeat.date).valueOf();\r\n const now = Date.now();\r\n return now - hbTimestamp <= STORED_HEARTBEAT_RETENTION_MAX_MILLIS;\r\n });\r\n return this._storage.overwrite(this._heartbeatsCache);\r\n }\r\n catch (e) {\r\n logger.warn(e);\r\n }\r\n }\r\n /**\r\n * Returns a base64 encoded string which can be attached to the heartbeat-specific header directly.\r\n * It also clears all heartbeats from memory as well as in IndexedDB.\r\n *\r\n * NOTE: Consuming product SDKs should not send the header if this method\r\n * returns an empty string.\r\n */\r\n async getHeartbeatsHeader() {\r\n var _a;\r\n try {\r\n if (this._heartbeatsCache === null) {\r\n await this._heartbeatsCachePromise;\r\n }\r\n // If it's still null or the array is empty, there is no data to send.\r\n if (((_a = this._heartbeatsCache) === null || _a === void 0 ? void 0 : _a.heartbeats) == null ||\r\n this._heartbeatsCache.heartbeats.length === 0) {\r\n return '';\r\n }\r\n const date = getUTCDateString();\r\n // Extract as many heartbeats from the cache as will fit under the size limit.\r\n const { heartbeatsToSend, unsentEntries } = extractHeartbeatsForHeader(this._heartbeatsCache.heartbeats);\r\n const headerString = base64urlEncodeWithoutPadding(JSON.stringify({ version: 2, heartbeats: heartbeatsToSend }));\r\n // Store last sent date to prevent another being logged/sent for the same day.\r\n this._heartbeatsCache.lastSentHeartbeatDate = date;\r\n if (unsentEntries.length > 0) {\r\n // Store any unsent entries if they exist.\r\n this._heartbeatsCache.heartbeats = unsentEntries;\r\n // This seems more likely than emptying the array (below) to lead to some odd state\r\n // since the cache isn't empty and this will be called again on the next request,\r\n // and is probably safest if we await it.\r\n await this._storage.overwrite(this._heartbeatsCache);\r\n }\r\n else {\r\n this._heartbeatsCache.heartbeats = [];\r\n // Do not wait for this, to reduce latency.\r\n void this._storage.overwrite(this._heartbeatsCache);\r\n }\r\n return headerString;\r\n }\r\n catch (e) {\r\n logger.warn(e);\r\n return '';\r\n }\r\n }\r\n}\r\nfunction getUTCDateString() {\r\n const today = new Date();\r\n // Returns date format 'YYYY-MM-DD'\r\n return today.toISOString().substring(0, 10);\r\n}\r\nfunction extractHeartbeatsForHeader(heartbeatsCache, maxSize = MAX_HEADER_BYTES) {\r\n // Heartbeats grouped by user agent in the standard format to be sent in\r\n // the header.\r\n const heartbeatsToSend = [];\r\n // Single date format heartbeats that are not sent.\r\n let unsentEntries = heartbeatsCache.slice();\r\n for (const singleDateHeartbeat of heartbeatsCache) {\r\n // Look for an existing entry with the same user agent.\r\n const heartbeatEntry = heartbeatsToSend.find(hb => hb.agent === singleDateHeartbeat.agent);\r\n if (!heartbeatEntry) {\r\n // If no entry for this user agent exists, create one.\r\n heartbeatsToSend.push({\r\n agent: singleDateHeartbeat.agent,\r\n dates: [singleDateHeartbeat.date]\r\n });\r\n if (countBytes(heartbeatsToSend) > maxSize) {\r\n // If the header would exceed max size, remove the added heartbeat\r\n // entry and stop adding to the header.\r\n heartbeatsToSend.pop();\r\n break;\r\n }\r\n }\r\n else {\r\n heartbeatEntry.dates.push(singleDateHeartbeat.date);\r\n // If the header would exceed max size, remove the added date\r\n // and stop adding to the header.\r\n if (countBytes(heartbeatsToSend) > maxSize) {\r\n heartbeatEntry.dates.pop();\r\n break;\r\n }\r\n }\r\n // Pop unsent entry from queue. (Skipped if adding the entry exceeded\r\n // quota and the loop breaks early.)\r\n unsentEntries = unsentEntries.slice(1);\r\n }\r\n return {\r\n heartbeatsToSend,\r\n unsentEntries\r\n };\r\n}\r\nclass HeartbeatStorageImpl {\r\n constructor(app) {\r\n this.app = app;\r\n this._canUseIndexedDBPromise = this.runIndexedDBEnvironmentCheck();\r\n }\r\n async runIndexedDBEnvironmentCheck() {\r\n if (!isIndexedDBAvailable()) {\r\n return false;\r\n }\r\n else {\r\n return validateIndexedDBOpenable()\r\n .then(() => true)\r\n .catch(() => false);\r\n }\r\n }\r\n /**\r\n * Read all heartbeats.\r\n */\r\n async read() {\r\n const canUseIndexedDB = await this._canUseIndexedDBPromise;\r\n if (!canUseIndexedDB) {\r\n return { heartbeats: [] };\r\n }\r\n else {\r\n const idbHeartbeatObject = await readHeartbeatsFromIndexedDB(this.app);\r\n if (idbHeartbeatObject === null || idbHeartbeatObject === void 0 ? void 0 : idbHeartbeatObject.heartbeats) {\r\n return idbHeartbeatObject;\r\n }\r\n else {\r\n return { heartbeats: [] };\r\n }\r\n }\r\n }\r\n // overwrite the storage with the provided heartbeats\r\n async overwrite(heartbeatsObject) {\r\n var _a;\r\n const canUseIndexedDB = await this._canUseIndexedDBPromise;\r\n if (!canUseIndexedDB) {\r\n return;\r\n }\r\n else {\r\n const existingHeartbeatsObject = await this.read();\r\n return writeHeartbeatsToIndexedDB(this.app, {\r\n lastSentHeartbeatDate: (_a = heartbeatsObject.lastSentHeartbeatDate) !== null && _a !== void 0 ? _a : existingHeartbeatsObject.lastSentHeartbeatDate,\r\n heartbeats: heartbeatsObject.heartbeats\r\n });\r\n }\r\n }\r\n // add heartbeats\r\n async add(heartbeatsObject) {\r\n var _a;\r\n const canUseIndexedDB = await this._canUseIndexedDBPromise;\r\n if (!canUseIndexedDB) {\r\n return;\r\n }\r\n else {\r\n const existingHeartbeatsObject = await this.read();\r\n return writeHeartbeatsToIndexedDB(this.app, {\r\n lastSentHeartbeatDate: (_a = heartbeatsObject.lastSentHeartbeatDate) !== null && _a !== void 0 ? _a : existingHeartbeatsObject.lastSentHeartbeatDate,\r\n heartbeats: [\r\n ...existingHeartbeatsObject.heartbeats,\r\n ...heartbeatsObject.heartbeats\r\n ]\r\n });\r\n }\r\n }\r\n}\r\n/**\r\n * Calculate bytes of a HeartbeatsByUserAgent array after being wrapped\r\n * in a platform logging header JSON object, stringified, and converted\r\n * to base 64.\r\n */\r\nfunction countBytes(heartbeatsCache) {\r\n // base64 has a restricted set of characters, all of which should be 1 byte.\r\n return base64urlEncodeWithoutPadding(\r\n // heartbeatsCache wrapper properties\r\n JSON.stringify({ version: 2, heartbeats: heartbeatsCache })).length;\r\n}\n\n/**\r\n * @license\r\n * Copyright 2019 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\nfunction registerCoreComponents(variant) {\r\n _registerComponent(new Component('platform-logger', container => new PlatformLoggerServiceImpl(container), \"PRIVATE\" /* ComponentType.PRIVATE */));\r\n _registerComponent(new Component('heartbeat', container => new HeartbeatServiceImpl(container), \"PRIVATE\" /* ComponentType.PRIVATE */));\r\n // Register `app` package.\r\n registerVersion(name$p, version$1, variant);\r\n // BUILD_TARGET will be replaced by values like esm5, esm2017, cjs5, etc during the compilation\r\n registerVersion(name$p, version$1, 'esm2017');\r\n // Register platform SDK identifier (no version).\r\n registerVersion('fire-js', '');\r\n}\n\n/**\r\n * Firebase App\r\n *\r\n * @remarks This package coordinates the communication between the different Firebase components\r\n * @packageDocumentation\r\n */\r\nregisterCoreComponents('');\n\nexport { SDK_VERSION, DEFAULT_ENTRY_NAME as _DEFAULT_ENTRY_NAME, _addComponent, _addOrOverwriteComponent, _apps, _clearComponents, _components, _getProvider, _isFirebaseApp, _isFirebaseServerApp, _registerComponent, _removeServiceInstance, _serverApps, deleteApp, getApp, getApps, initializeApp, initializeServerApp, onLog, registerVersion, setLogLevel };\n//# sourceMappingURL=index.esm2017.js.map\n","import { registerVersion } from '@firebase/app';\nexport * from '@firebase/app';\n\nvar name = \"firebase\";\nvar version = \"10.13.0\";\n\n/**\r\n * @license\r\n * Copyright 2020 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\nregisterVersion(name, version, 'app');\n//# sourceMappingURL=index.esm.js.map\n"],"names":["stringToByteArray$1","str","out","p","i","c","byteArrayToString","bytes","pos","c1","c2","c3","c4","u","base64","input","webSafe","byteToCharMap","output","byte1","haveByte2","byte2","haveByte3","byte3","outByte1","outByte2","outByte3","outByte4","charToByteMap","byte4","DecodeBase64StringError","base64Encode","utf8Bytes","base64urlEncodeWithoutPadding","base64Decode","getGlobal","getDefaultsFromGlobal","getDefaultsFromEnvVariable","define_process_env_default","defaultsJsonString","getDefaultsFromCookie","match","decoded","getDefaults","e","getDefaultAppConfig","_a","Deferred","resolve","reject","callback","error","value","isIndexedDBAvailable","validateIndexedDBOpenable","preExist","DB_CHECK_NAME","request","ERROR_NAME","FirebaseError","code","message","customData","ErrorFactory","service","serviceName","errors","data","fullCode","template","replaceTemplate","fullMessage","PATTERN","_","key","deepEqual","a","b","aKeys","bKeys","k","aProp","bProp","isObject","thing","Component","name","instanceFactory","type","mode","multipleInstances","props","DEFAULT_ENTRY_NAME","Provider","container","identifier","normalizedIdentifier","deferred","instance","options","optional","component","isComponentEager","instanceIdentifier","instanceDeferred","services","opts","normalizedDeferredIdentifier","existingCallbacks","existingInstance","callbacks","normalizeIdentifierForFactory","ComponentContainer","provider","LogLevel","levelStringToEnum","defaultLogLevel","ConsoleMethod","defaultLogHandler","logType","args","now","method","Logger","val","instanceOfAny","object","constructors","idbProxyableTypes","cursorAdvanceMethods","getIdbProxyableTypes","getCursorAdvanceMethods","cursorRequestMap","transactionDoneMap","transactionStoreNamesMap","transformCache","reverseTransformCache","promisifyRequest","promise","unlisten","success","wrap","cacheDonePromiseForTransaction","tx","done","complete","idbProxyTraps","target","prop","receiver","replaceTraps","wrapFunction","func","storeNames","unwrap","transformCachableValue","newValue","openDB","version","blocked","upgrade","blocking","terminated","openPromise","event","db","readMethods","writeMethods","cachedMethods","getMethod","targetFuncName","useIndex","isWrite","storeName","oldTraps","PlatformLoggerServiceImpl","isVersionServiceProvider","logString","name$p","version$1","logger","name$o","name$n","name$m","name$l","name$k","name$j","name$i","name$h","name$g","name$f","name$e","name$d","name$c","name$b","name$a","name$9","name$8","name$7","name$6","name$5","name$4","name$3","name$2","name$1","PLATFORM_LOG_STRING","_apps","_serverApps","_components","_addComponent","app","_registerComponent","componentName","serverApp","ERRORS","ERROR_FACTORY","FirebaseAppImpl","config","initializeApp","_options","rawConfig","existingApp","newApp","registerVersion","libraryKeyOrName","variant","library","libraryMismatch","versionMismatch","warning","DB_NAME","DB_VERSION","STORE_NAME","dbPromise","getDbPromise","oldVersion","readHeartbeatsFromIndexedDB","result","computeKey","idbGetError","writeHeartbeatsToIndexedDB","heartbeatObject","MAX_HEADER_BYTES","STORED_HEARTBEAT_RETENTION_MAX_MILLIS","HeartbeatServiceImpl","HeartbeatStorageImpl","_b","_c","agent","date","getUTCDateString","singleDateHeartbeat","hbTimestamp","heartbeatsToSend","unsentEntries","extractHeartbeatsForHeader","headerString","heartbeatsCache","maxSize","heartbeatEntry","hb","countBytes","idbHeartbeatObject","heartbeatsObject","existingHeartbeatsObject","registerCoreComponents"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,5,6]} \ No newline at end of file +{"version":3,"file":"index.esm.C4IwMFMF.js","sources":["../../../../../../node_modules/@firebase/util/dist/index.esm2017.js","../../../../../../node_modules/@firebase/component/dist/esm/index.esm2017.js","../../../../../../node_modules/@firebase/logger/dist/esm/index.esm2017.js","../../../../../../node_modules/idb/build/wrap-idb-value.js","../../../../../../node_modules/idb/build/index.js","../../../../../../node_modules/@firebase/app/dist/esm/index.esm2017.js","../../../../../../node_modules/firebase/app/dist/esm/index.esm.js"],"sourcesContent":["/**\r\n * @license\r\n * Copyright 2017 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n/**\r\n * @fileoverview Firebase constants. Some of these (@defines) can be overridden at compile-time.\r\n */\r\nconst CONSTANTS = {\r\n /**\r\n * @define {boolean} Whether this is the client Node.js SDK.\r\n */\r\n NODE_CLIENT: false,\r\n /**\r\n * @define {boolean} Whether this is the Admin Node.js SDK.\r\n */\r\n NODE_ADMIN: false,\r\n /**\r\n * Firebase SDK Version\r\n */\r\n SDK_VERSION: '${JSCORE_VERSION}'\r\n};\n\n/**\r\n * @license\r\n * Copyright 2017 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n/**\r\n * Throws an error if the provided assertion is falsy\r\n */\r\nconst assert = function (assertion, message) {\r\n if (!assertion) {\r\n throw assertionError(message);\r\n }\r\n};\r\n/**\r\n * Returns an Error object suitable for throwing.\r\n */\r\nconst assertionError = function (message) {\r\n return new Error('Firebase Database (' +\r\n CONSTANTS.SDK_VERSION +\r\n ') INTERNAL ASSERT FAILED: ' +\r\n message);\r\n};\n\n/**\r\n * @license\r\n * Copyright 2017 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\nconst stringToByteArray$1 = function (str) {\r\n // TODO(user): Use native implementations if/when available\r\n const out = [];\r\n let p = 0;\r\n for (let i = 0; i < str.length; i++) {\r\n let c = str.charCodeAt(i);\r\n if (c < 128) {\r\n out[p++] = c;\r\n }\r\n else if (c < 2048) {\r\n out[p++] = (c >> 6) | 192;\r\n out[p++] = (c & 63) | 128;\r\n }\r\n else if ((c & 0xfc00) === 0xd800 &&\r\n i + 1 < str.length &&\r\n (str.charCodeAt(i + 1) & 0xfc00) === 0xdc00) {\r\n // Surrogate Pair\r\n c = 0x10000 + ((c & 0x03ff) << 10) + (str.charCodeAt(++i) & 0x03ff);\r\n out[p++] = (c >> 18) | 240;\r\n out[p++] = ((c >> 12) & 63) | 128;\r\n out[p++] = ((c >> 6) & 63) | 128;\r\n out[p++] = (c & 63) | 128;\r\n }\r\n else {\r\n out[p++] = (c >> 12) | 224;\r\n out[p++] = ((c >> 6) & 63) | 128;\r\n out[p++] = (c & 63) | 128;\r\n }\r\n }\r\n return out;\r\n};\r\n/**\r\n * Turns an array of numbers into the string given by the concatenation of the\r\n * characters to which the numbers correspond.\r\n * @param bytes Array of numbers representing characters.\r\n * @return Stringification of the array.\r\n */\r\nconst byteArrayToString = function (bytes) {\r\n // TODO(user): Use native implementations if/when available\r\n const out = [];\r\n let pos = 0, c = 0;\r\n while (pos < bytes.length) {\r\n const c1 = bytes[pos++];\r\n if (c1 < 128) {\r\n out[c++] = String.fromCharCode(c1);\r\n }\r\n else if (c1 > 191 && c1 < 224) {\r\n const c2 = bytes[pos++];\r\n out[c++] = String.fromCharCode(((c1 & 31) << 6) | (c2 & 63));\r\n }\r\n else if (c1 > 239 && c1 < 365) {\r\n // Surrogate Pair\r\n const c2 = bytes[pos++];\r\n const c3 = bytes[pos++];\r\n const c4 = bytes[pos++];\r\n const u = (((c1 & 7) << 18) | ((c2 & 63) << 12) | ((c3 & 63) << 6) | (c4 & 63)) -\r\n 0x10000;\r\n out[c++] = String.fromCharCode(0xd800 + (u >> 10));\r\n out[c++] = String.fromCharCode(0xdc00 + (u & 1023));\r\n }\r\n else {\r\n const c2 = bytes[pos++];\r\n const c3 = bytes[pos++];\r\n out[c++] = String.fromCharCode(((c1 & 15) << 12) | ((c2 & 63) << 6) | (c3 & 63));\r\n }\r\n }\r\n return out.join('');\r\n};\r\n// We define it as an object literal instead of a class because a class compiled down to es5 can't\r\n// be treeshaked. https://github.com/rollup/rollup/issues/1691\r\n// Static lookup maps, lazily populated by init_()\r\nconst base64 = {\r\n /**\r\n * Maps bytes to characters.\r\n */\r\n byteToCharMap_: null,\r\n /**\r\n * Maps characters to bytes.\r\n */\r\n charToByteMap_: null,\r\n /**\r\n * Maps bytes to websafe characters.\r\n * @private\r\n */\r\n byteToCharMapWebSafe_: null,\r\n /**\r\n * Maps websafe characters to bytes.\r\n * @private\r\n */\r\n charToByteMapWebSafe_: null,\r\n /**\r\n * Our default alphabet, shared between\r\n * ENCODED_VALS and ENCODED_VALS_WEBSAFE\r\n */\r\n ENCODED_VALS_BASE: 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' + 'abcdefghijklmnopqrstuvwxyz' + '0123456789',\r\n /**\r\n * Our default alphabet. Value 64 (=) is special; it means \"nothing.\"\r\n */\r\n get ENCODED_VALS() {\r\n return this.ENCODED_VALS_BASE + '+/=';\r\n },\r\n /**\r\n * Our websafe alphabet.\r\n */\r\n get ENCODED_VALS_WEBSAFE() {\r\n return this.ENCODED_VALS_BASE + '-_.';\r\n },\r\n /**\r\n * Whether this browser supports the atob and btoa functions. This extension\r\n * started at Mozilla but is now implemented by many browsers. We use the\r\n * ASSUME_* variables to avoid pulling in the full useragent detection library\r\n * but still allowing the standard per-browser compilations.\r\n *\r\n */\r\n HAS_NATIVE_SUPPORT: typeof atob === 'function',\r\n /**\r\n * Base64-encode an array of bytes.\r\n *\r\n * @param input An array of bytes (numbers with\r\n * value in [0, 255]) to encode.\r\n * @param webSafe Boolean indicating we should use the\r\n * alternative alphabet.\r\n * @return The base64 encoded string.\r\n */\r\n encodeByteArray(input, webSafe) {\r\n if (!Array.isArray(input)) {\r\n throw Error('encodeByteArray takes an array as a parameter');\r\n }\r\n this.init_();\r\n const byteToCharMap = webSafe\r\n ? this.byteToCharMapWebSafe_\r\n : this.byteToCharMap_;\r\n const output = [];\r\n for (let i = 0; i < input.length; i += 3) {\r\n const byte1 = input[i];\r\n const haveByte2 = i + 1 < input.length;\r\n const byte2 = haveByte2 ? input[i + 1] : 0;\r\n const haveByte3 = i + 2 < input.length;\r\n const byte3 = haveByte3 ? input[i + 2] : 0;\r\n const outByte1 = byte1 >> 2;\r\n const outByte2 = ((byte1 & 0x03) << 4) | (byte2 >> 4);\r\n let outByte3 = ((byte2 & 0x0f) << 2) | (byte3 >> 6);\r\n let outByte4 = byte3 & 0x3f;\r\n if (!haveByte3) {\r\n outByte4 = 64;\r\n if (!haveByte2) {\r\n outByte3 = 64;\r\n }\r\n }\r\n output.push(byteToCharMap[outByte1], byteToCharMap[outByte2], byteToCharMap[outByte3], byteToCharMap[outByte4]);\r\n }\r\n return output.join('');\r\n },\r\n /**\r\n * Base64-encode a string.\r\n *\r\n * @param input A string to encode.\r\n * @param webSafe If true, we should use the\r\n * alternative alphabet.\r\n * @return The base64 encoded string.\r\n */\r\n encodeString(input, webSafe) {\r\n // Shortcut for Mozilla browsers that implement\r\n // a native base64 encoder in the form of \"btoa/atob\"\r\n if (this.HAS_NATIVE_SUPPORT && !webSafe) {\r\n return btoa(input);\r\n }\r\n return this.encodeByteArray(stringToByteArray$1(input), webSafe);\r\n },\r\n /**\r\n * Base64-decode a string.\r\n *\r\n * @param input to decode.\r\n * @param webSafe True if we should use the\r\n * alternative alphabet.\r\n * @return string representing the decoded value.\r\n */\r\n decodeString(input, webSafe) {\r\n // Shortcut for Mozilla browsers that implement\r\n // a native base64 encoder in the form of \"btoa/atob\"\r\n if (this.HAS_NATIVE_SUPPORT && !webSafe) {\r\n return atob(input);\r\n }\r\n return byteArrayToString(this.decodeStringToByteArray(input, webSafe));\r\n },\r\n /**\r\n * Base64-decode a string.\r\n *\r\n * In base-64 decoding, groups of four characters are converted into three\r\n * bytes. If the encoder did not apply padding, the input length may not\r\n * be a multiple of 4.\r\n *\r\n * In this case, the last group will have fewer than 4 characters, and\r\n * padding will be inferred. If the group has one or two characters, it decodes\r\n * to one byte. If the group has three characters, it decodes to two bytes.\r\n *\r\n * @param input Input to decode.\r\n * @param webSafe True if we should use the web-safe alphabet.\r\n * @return bytes representing the decoded value.\r\n */\r\n decodeStringToByteArray(input, webSafe) {\r\n this.init_();\r\n const charToByteMap = webSafe\r\n ? this.charToByteMapWebSafe_\r\n : this.charToByteMap_;\r\n const output = [];\r\n for (let i = 0; i < input.length;) {\r\n const byte1 = charToByteMap[input.charAt(i++)];\r\n const haveByte2 = i < input.length;\r\n const byte2 = haveByte2 ? charToByteMap[input.charAt(i)] : 0;\r\n ++i;\r\n const haveByte3 = i < input.length;\r\n const byte3 = haveByte3 ? charToByteMap[input.charAt(i)] : 64;\r\n ++i;\r\n const haveByte4 = i < input.length;\r\n const byte4 = haveByte4 ? charToByteMap[input.charAt(i)] : 64;\r\n ++i;\r\n if (byte1 == null || byte2 == null || byte3 == null || byte4 == null) {\r\n throw new DecodeBase64StringError();\r\n }\r\n const outByte1 = (byte1 << 2) | (byte2 >> 4);\r\n output.push(outByte1);\r\n if (byte3 !== 64) {\r\n const outByte2 = ((byte2 << 4) & 0xf0) | (byte3 >> 2);\r\n output.push(outByte2);\r\n if (byte4 !== 64) {\r\n const outByte3 = ((byte3 << 6) & 0xc0) | byte4;\r\n output.push(outByte3);\r\n }\r\n }\r\n }\r\n return output;\r\n },\r\n /**\r\n * Lazy static initialization function. Called before\r\n * accessing any of the static map variables.\r\n * @private\r\n */\r\n init_() {\r\n if (!this.byteToCharMap_) {\r\n this.byteToCharMap_ = {};\r\n this.charToByteMap_ = {};\r\n this.byteToCharMapWebSafe_ = {};\r\n this.charToByteMapWebSafe_ = {};\r\n // We want quick mappings back and forth, so we precompute two maps.\r\n for (let i = 0; i < this.ENCODED_VALS.length; i++) {\r\n this.byteToCharMap_[i] = this.ENCODED_VALS.charAt(i);\r\n this.charToByteMap_[this.byteToCharMap_[i]] = i;\r\n this.byteToCharMapWebSafe_[i] = this.ENCODED_VALS_WEBSAFE.charAt(i);\r\n this.charToByteMapWebSafe_[this.byteToCharMapWebSafe_[i]] = i;\r\n // Be forgiving when decoding and correctly decode both encodings.\r\n if (i >= this.ENCODED_VALS_BASE.length) {\r\n this.charToByteMap_[this.ENCODED_VALS_WEBSAFE.charAt(i)] = i;\r\n this.charToByteMapWebSafe_[this.ENCODED_VALS.charAt(i)] = i;\r\n }\r\n }\r\n }\r\n }\r\n};\r\n/**\r\n * An error encountered while decoding base64 string.\r\n */\r\nclass DecodeBase64StringError extends Error {\r\n constructor() {\r\n super(...arguments);\r\n this.name = 'DecodeBase64StringError';\r\n }\r\n}\r\n/**\r\n * URL-safe base64 encoding\r\n */\r\nconst base64Encode = function (str) {\r\n const utf8Bytes = stringToByteArray$1(str);\r\n return base64.encodeByteArray(utf8Bytes, true);\r\n};\r\n/**\r\n * URL-safe base64 encoding (without \".\" padding in the end).\r\n * e.g. Used in JSON Web Token (JWT) parts.\r\n */\r\nconst base64urlEncodeWithoutPadding = function (str) {\r\n // Use base64url encoding and remove padding in the end (dot characters).\r\n return base64Encode(str).replace(/\\./g, '');\r\n};\r\n/**\r\n * URL-safe base64 decoding\r\n *\r\n * NOTE: DO NOT use the global atob() function - it does NOT support the\r\n * base64Url variant encoding.\r\n *\r\n * @param str To be decoded\r\n * @return Decoded result, if possible\r\n */\r\nconst base64Decode = function (str) {\r\n try {\r\n return base64.decodeString(str, true);\r\n }\r\n catch (e) {\r\n console.error('base64Decode failed: ', e);\r\n }\r\n return null;\r\n};\n\n/**\r\n * @license\r\n * Copyright 2017 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n/**\r\n * Do a deep-copy of basic JavaScript Objects or Arrays.\r\n */\r\nfunction deepCopy(value) {\r\n return deepExtend(undefined, value);\r\n}\r\n/**\r\n * Copy properties from source to target (recursively allows extension\r\n * of Objects and Arrays). Scalar values in the target are over-written.\r\n * If target is undefined, an object of the appropriate type will be created\r\n * (and returned).\r\n *\r\n * We recursively copy all child properties of plain Objects in the source- so\r\n * that namespace- like dictionaries are merged.\r\n *\r\n * Note that the target can be a function, in which case the properties in\r\n * the source Object are copied onto it as static properties of the Function.\r\n *\r\n * Note: we don't merge __proto__ to prevent prototype pollution\r\n */\r\nfunction deepExtend(target, source) {\r\n if (!(source instanceof Object)) {\r\n return source;\r\n }\r\n switch (source.constructor) {\r\n case Date:\r\n // Treat Dates like scalars; if the target date object had any child\r\n // properties - they will be lost!\r\n const dateValue = source;\r\n return new Date(dateValue.getTime());\r\n case Object:\r\n if (target === undefined) {\r\n target = {};\r\n }\r\n break;\r\n case Array:\r\n // Always copy the array source and overwrite the target.\r\n target = [];\r\n break;\r\n default:\r\n // Not a plain Object - treat it as a scalar.\r\n return source;\r\n }\r\n for (const prop in source) {\r\n // use isValidKey to guard against prototype pollution. See https://snyk.io/vuln/SNYK-JS-LODASH-450202\r\n if (!source.hasOwnProperty(prop) || !isValidKey(prop)) {\r\n continue;\r\n }\r\n target[prop] = deepExtend(target[prop], source[prop]);\r\n }\r\n return target;\r\n}\r\nfunction isValidKey(key) {\r\n return key !== '__proto__';\r\n}\n\n/**\r\n * @license\r\n * Copyright 2022 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n/**\r\n * Polyfill for `globalThis` object.\r\n * @returns the `globalThis` object for the given environment.\r\n * @public\r\n */\r\nfunction getGlobal() {\r\n if (typeof self !== 'undefined') {\r\n return self;\r\n }\r\n if (typeof window !== 'undefined') {\r\n return window;\r\n }\r\n if (typeof global !== 'undefined') {\r\n return global;\r\n }\r\n throw new Error('Unable to locate global object.');\r\n}\n\n/**\r\n * @license\r\n * Copyright 2022 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\nconst getDefaultsFromGlobal = () => getGlobal().__FIREBASE_DEFAULTS__;\r\n/**\r\n * Attempt to read defaults from a JSON string provided to\r\n * process(.)env(.)__FIREBASE_DEFAULTS__ or a JSON file whose path is in\r\n * process(.)env(.)__FIREBASE_DEFAULTS_PATH__\r\n * The dots are in parens because certain compilers (Vite?) cannot\r\n * handle seeing that variable in comments.\r\n * See https://github.com/firebase/firebase-js-sdk/issues/6838\r\n */\r\nconst getDefaultsFromEnvVariable = () => {\r\n if (typeof process === 'undefined' || typeof process.env === 'undefined') {\r\n return;\r\n }\r\n const defaultsJsonString = process.env.__FIREBASE_DEFAULTS__;\r\n if (defaultsJsonString) {\r\n return JSON.parse(defaultsJsonString);\r\n }\r\n};\r\nconst getDefaultsFromCookie = () => {\r\n if (typeof document === 'undefined') {\r\n return;\r\n }\r\n let match;\r\n try {\r\n match = document.cookie.match(/__FIREBASE_DEFAULTS__=([^;]+)/);\r\n }\r\n catch (e) {\r\n // Some environments such as Angular Universal SSR have a\r\n // `document` object but error on accessing `document.cookie`.\r\n return;\r\n }\r\n const decoded = match && base64Decode(match[1]);\r\n return decoded && JSON.parse(decoded);\r\n};\r\n/**\r\n * Get the __FIREBASE_DEFAULTS__ object. It checks in order:\r\n * (1) if such an object exists as a property of `globalThis`\r\n * (2) if such an object was provided on a shell environment variable\r\n * (3) if such an object exists in a cookie\r\n * @public\r\n */\r\nconst getDefaults = () => {\r\n try {\r\n return (getDefaultsFromGlobal() ||\r\n getDefaultsFromEnvVariable() ||\r\n getDefaultsFromCookie());\r\n }\r\n catch (e) {\r\n /**\r\n * Catch-all for being unable to get __FIREBASE_DEFAULTS__ due\r\n * to any environment case we have not accounted for. Log to\r\n * info instead of swallowing so we can find these unknown cases\r\n * and add paths for them if needed.\r\n */\r\n console.info(`Unable to get __FIREBASE_DEFAULTS__ due to: ${e}`);\r\n return;\r\n }\r\n};\r\n/**\r\n * Returns emulator host stored in the __FIREBASE_DEFAULTS__ object\r\n * for the given product.\r\n * @returns a URL host formatted like `127.0.0.1:9999` or `[::1]:4000` if available\r\n * @public\r\n */\r\nconst getDefaultEmulatorHost = (productName) => { var _a, _b; return (_b = (_a = getDefaults()) === null || _a === void 0 ? void 0 : _a.emulatorHosts) === null || _b === void 0 ? void 0 : _b[productName]; };\r\n/**\r\n * Returns emulator hostname and port stored in the __FIREBASE_DEFAULTS__ object\r\n * for the given product.\r\n * @returns a pair of hostname and port like `[\"::1\", 4000]` if available\r\n * @public\r\n */\r\nconst getDefaultEmulatorHostnameAndPort = (productName) => {\r\n const host = getDefaultEmulatorHost(productName);\r\n if (!host) {\r\n return undefined;\r\n }\r\n const separatorIndex = host.lastIndexOf(':'); // Finding the last since IPv6 addr also has colons.\r\n if (separatorIndex <= 0 || separatorIndex + 1 === host.length) {\r\n throw new Error(`Invalid host ${host} with no separate hostname and port!`);\r\n }\r\n // eslint-disable-next-line no-restricted-globals\r\n const port = parseInt(host.substring(separatorIndex + 1), 10);\r\n if (host[0] === '[') {\r\n // Bracket-quoted `[ipv6addr]:port` => return \"ipv6addr\" (without brackets).\r\n return [host.substring(1, separatorIndex - 1), port];\r\n }\r\n else {\r\n return [host.substring(0, separatorIndex), port];\r\n }\r\n};\r\n/**\r\n * Returns Firebase app config stored in the __FIREBASE_DEFAULTS__ object.\r\n * @public\r\n */\r\nconst getDefaultAppConfig = () => { var _a; return (_a = getDefaults()) === null || _a === void 0 ? void 0 : _a.config; };\r\n/**\r\n * Returns an experimental setting on the __FIREBASE_DEFAULTS__ object (properties\r\n * prefixed by \"_\")\r\n * @public\r\n */\r\nconst getExperimentalSetting = (name) => { var _a; return (_a = getDefaults()) === null || _a === void 0 ? void 0 : _a[`_${name}`]; };\n\n/**\r\n * @license\r\n * Copyright 2017 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\nclass Deferred {\r\n constructor() {\r\n this.reject = () => { };\r\n this.resolve = () => { };\r\n this.promise = new Promise((resolve, reject) => {\r\n this.resolve = resolve;\r\n this.reject = reject;\r\n });\r\n }\r\n /**\r\n * Our API internals are not promiseified and cannot because our callback APIs have subtle expectations around\r\n * invoking promises inline, which Promises are forbidden to do. This method accepts an optional node-style callback\r\n * and returns a node-style callback which will resolve or reject the Deferred's promise.\r\n */\r\n wrapCallback(callback) {\r\n return (error, value) => {\r\n if (error) {\r\n this.reject(error);\r\n }\r\n else {\r\n this.resolve(value);\r\n }\r\n if (typeof callback === 'function') {\r\n // Attaching noop handler just in case developer wasn't expecting\r\n // promises\r\n this.promise.catch(() => { });\r\n // Some of our callbacks don't expect a value and our own tests\r\n // assert that the parameter length is 1\r\n if (callback.length === 1) {\r\n callback(error);\r\n }\r\n else {\r\n callback(error, value);\r\n }\r\n }\r\n };\r\n }\r\n}\n\n/**\r\n * @license\r\n * Copyright 2021 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\nfunction createMockUserToken(token, projectId) {\r\n if (token.uid) {\r\n throw new Error('The \"uid\" field is no longer supported by mockUserToken. Please use \"sub\" instead for Firebase Auth User ID.');\r\n }\r\n // Unsecured JWTs use \"none\" as the algorithm.\r\n const header = {\r\n alg: 'none',\r\n type: 'JWT'\r\n };\r\n const project = projectId || 'demo-project';\r\n const iat = token.iat || 0;\r\n const sub = token.sub || token.user_id;\r\n if (!sub) {\r\n throw new Error(\"mockUserToken must contain 'sub' or 'user_id' field!\");\r\n }\r\n const payload = Object.assign({ \r\n // Set all required fields to decent defaults\r\n iss: `https://securetoken.google.com/${project}`, aud: project, iat, exp: iat + 3600, auth_time: iat, sub, user_id: sub, firebase: {\r\n sign_in_provider: 'custom',\r\n identities: {}\r\n } }, token);\r\n // Unsecured JWTs use the empty string as a signature.\r\n const signature = '';\r\n return [\r\n base64urlEncodeWithoutPadding(JSON.stringify(header)),\r\n base64urlEncodeWithoutPadding(JSON.stringify(payload)),\r\n signature\r\n ].join('.');\r\n}\n\n/**\r\n * @license\r\n * Copyright 2017 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n/**\r\n * Returns navigator.userAgent string or '' if it's not defined.\r\n * @return user agent string\r\n */\r\nfunction getUA() {\r\n if (typeof navigator !== 'undefined' &&\r\n typeof navigator['userAgent'] === 'string') {\r\n return navigator['userAgent'];\r\n }\r\n else {\r\n return '';\r\n }\r\n}\r\n/**\r\n * Detect Cordova / PhoneGap / Ionic frameworks on a mobile device.\r\n *\r\n * Deliberately does not rely on checking `file://` URLs (as this fails PhoneGap\r\n * in the Ripple emulator) nor Cordova `onDeviceReady`, which would normally\r\n * wait for a callback.\r\n */\r\nfunction isMobileCordova() {\r\n return (typeof window !== 'undefined' &&\r\n // @ts-ignore Setting up an broadly applicable index signature for Window\r\n // just to deal with this case would probably be a bad idea.\r\n !!(window['cordova'] || window['phonegap'] || window['PhoneGap']) &&\r\n /ios|iphone|ipod|ipad|android|blackberry|iemobile/i.test(getUA()));\r\n}\r\n/**\r\n * Detect Node.js.\r\n *\r\n * @return true if Node.js environment is detected or specified.\r\n */\r\n// Node detection logic from: https://github.com/iliakan/detect-node/\r\nfunction isNode() {\r\n var _a;\r\n const forceEnvironment = (_a = getDefaults()) === null || _a === void 0 ? void 0 : _a.forceEnvironment;\r\n if (forceEnvironment === 'node') {\r\n return true;\r\n }\r\n else if (forceEnvironment === 'browser') {\r\n return false;\r\n }\r\n try {\r\n return (Object.prototype.toString.call(global.process) === '[object process]');\r\n }\r\n catch (e) {\r\n return false;\r\n }\r\n}\r\n/**\r\n * Detect Browser Environment\r\n */\r\nfunction isBrowser() {\r\n return typeof window !== 'undefined' || isWebWorker();\r\n}\r\n/**\r\n * Detect Web Worker context\r\n */\r\nfunction isWebWorker() {\r\n return (typeof WorkerGlobalScope !== 'undefined' &&\r\n typeof self !== 'undefined' &&\r\n self instanceof WorkerGlobalScope);\r\n}\r\nfunction isBrowserExtension() {\r\n const runtime = typeof chrome === 'object'\r\n ? chrome.runtime\r\n : typeof browser === 'object'\r\n ? browser.runtime\r\n : undefined;\r\n return typeof runtime === 'object' && runtime.id !== undefined;\r\n}\r\n/**\r\n * Detect React Native.\r\n *\r\n * @return true if ReactNative environment is detected.\r\n */\r\nfunction isReactNative() {\r\n return (typeof navigator === 'object' && navigator['product'] === 'ReactNative');\r\n}\r\n/** Detects Electron apps. */\r\nfunction isElectron() {\r\n return getUA().indexOf('Electron/') >= 0;\r\n}\r\n/** Detects Internet Explorer. */\r\nfunction isIE() {\r\n const ua = getUA();\r\n return ua.indexOf('MSIE ') >= 0 || ua.indexOf('Trident/') >= 0;\r\n}\r\n/** Detects Universal Windows Platform apps. */\r\nfunction isUWP() {\r\n return getUA().indexOf('MSAppHost/') >= 0;\r\n}\r\n/**\r\n * Detect whether the current SDK build is the Node version.\r\n *\r\n * @return true if it's the Node SDK build.\r\n */\r\nfunction isNodeSdk() {\r\n return CONSTANTS.NODE_CLIENT === true || CONSTANTS.NODE_ADMIN === true;\r\n}\r\n/** Returns true if we are running in Safari. */\r\nfunction isSafari() {\r\n return (!isNode() &&\r\n !!navigator.userAgent &&\r\n navigator.userAgent.includes('Safari') &&\r\n !navigator.userAgent.includes('Chrome'));\r\n}\r\n/**\r\n * This method checks if indexedDB is supported by current browser/service worker context\r\n * @return true if indexedDB is supported by current browser/service worker context\r\n */\r\nfunction isIndexedDBAvailable() {\r\n try {\r\n return typeof indexedDB === 'object';\r\n }\r\n catch (e) {\r\n return false;\r\n }\r\n}\r\n/**\r\n * This method validates browser/sw context for indexedDB by opening a dummy indexedDB database and reject\r\n * if errors occur during the database open operation.\r\n *\r\n * @throws exception if current browser/sw context can't run idb.open (ex: Safari iframe, Firefox\r\n * private browsing)\r\n */\r\nfunction validateIndexedDBOpenable() {\r\n return new Promise((resolve, reject) => {\r\n try {\r\n let preExist = true;\r\n const DB_CHECK_NAME = 'validate-browser-context-for-indexeddb-analytics-module';\r\n const request = self.indexedDB.open(DB_CHECK_NAME);\r\n request.onsuccess = () => {\r\n request.result.close();\r\n // delete database only when it doesn't pre-exist\r\n if (!preExist) {\r\n self.indexedDB.deleteDatabase(DB_CHECK_NAME);\r\n }\r\n resolve(true);\r\n };\r\n request.onupgradeneeded = () => {\r\n preExist = false;\r\n };\r\n request.onerror = () => {\r\n var _a;\r\n reject(((_a = request.error) === null || _a === void 0 ? void 0 : _a.message) || '');\r\n };\r\n }\r\n catch (error) {\r\n reject(error);\r\n }\r\n });\r\n}\r\n/**\r\n *\r\n * This method checks whether cookie is enabled within current browser\r\n * @return true if cookie is enabled within current browser\r\n */\r\nfunction areCookiesEnabled() {\r\n if (typeof navigator === 'undefined' || !navigator.cookieEnabled) {\r\n return false;\r\n }\r\n return true;\r\n}\n\n/**\r\n * @license\r\n * Copyright 2017 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n/**\r\n * @fileoverview Standardized Firebase Error.\r\n *\r\n * Usage:\r\n *\r\n * // Typescript string literals for type-safe codes\r\n * type Err =\r\n * 'unknown' |\r\n * 'object-not-found'\r\n * ;\r\n *\r\n * // Closure enum for type-safe error codes\r\n * // at-enum {string}\r\n * var Err = {\r\n * UNKNOWN: 'unknown',\r\n * OBJECT_NOT_FOUND: 'object-not-found',\r\n * }\r\n *\r\n * let errors: Map = {\r\n * 'generic-error': \"Unknown error\",\r\n * 'file-not-found': \"Could not find file: {$file}\",\r\n * };\r\n *\r\n * // Type-safe function - must pass a valid error code as param.\r\n * let error = new ErrorFactory('service', 'Service', errors);\r\n *\r\n * ...\r\n * throw error.create(Err.GENERIC);\r\n * ...\r\n * throw error.create(Err.FILE_NOT_FOUND, {'file': fileName});\r\n * ...\r\n * // Service: Could not file file: foo.txt (service/file-not-found).\r\n *\r\n * catch (e) {\r\n * assert(e.message === \"Could not find file: foo.txt.\");\r\n * if ((e as FirebaseError)?.code === 'service/file-not-found') {\r\n * console.log(\"Could not read file: \" + e['file']);\r\n * }\r\n * }\r\n */\r\nconst ERROR_NAME = 'FirebaseError';\r\n// Based on code from:\r\n// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Error#Custom_Error_Types\r\nclass FirebaseError extends Error {\r\n constructor(\r\n /** The error code for this error. */\r\n code, message, \r\n /** Custom data for this error. */\r\n customData) {\r\n super(message);\r\n this.code = code;\r\n this.customData = customData;\r\n /** The custom name for all FirebaseErrors. */\r\n this.name = ERROR_NAME;\r\n // Fix For ES5\r\n // https://github.com/Microsoft/TypeScript-wiki/blob/master/Breaking-Changes.md#extending-built-ins-like-error-array-and-map-may-no-longer-work\r\n Object.setPrototypeOf(this, FirebaseError.prototype);\r\n // Maintains proper stack trace for where our error was thrown.\r\n // Only available on V8.\r\n if (Error.captureStackTrace) {\r\n Error.captureStackTrace(this, ErrorFactory.prototype.create);\r\n }\r\n }\r\n}\r\nclass ErrorFactory {\r\n constructor(service, serviceName, errors) {\r\n this.service = service;\r\n this.serviceName = serviceName;\r\n this.errors = errors;\r\n }\r\n create(code, ...data) {\r\n const customData = data[0] || {};\r\n const fullCode = `${this.service}/${code}`;\r\n const template = this.errors[code];\r\n const message = template ? replaceTemplate(template, customData) : 'Error';\r\n // Service Name: Error message (service/code).\r\n const fullMessage = `${this.serviceName}: ${message} (${fullCode}).`;\r\n const error = new FirebaseError(fullCode, fullMessage, customData);\r\n return error;\r\n }\r\n}\r\nfunction replaceTemplate(template, data) {\r\n return template.replace(PATTERN, (_, key) => {\r\n const value = data[key];\r\n return value != null ? String(value) : `<${key}?>`;\r\n });\r\n}\r\nconst PATTERN = /\\{\\$([^}]+)}/g;\n\n/**\r\n * @license\r\n * Copyright 2017 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n/**\r\n * Evaluates a JSON string into a javascript object.\r\n *\r\n * @param {string} str A string containing JSON.\r\n * @return {*} The javascript object representing the specified JSON.\r\n */\r\nfunction jsonEval(str) {\r\n return JSON.parse(str);\r\n}\r\n/**\r\n * Returns JSON representing a javascript object.\r\n * @param {*} data Javascript object to be stringified.\r\n * @return {string} The JSON contents of the object.\r\n */\r\nfunction stringify(data) {\r\n return JSON.stringify(data);\r\n}\n\n/**\r\n * @license\r\n * Copyright 2017 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n/**\r\n * Decodes a Firebase auth. token into constituent parts.\r\n *\r\n * Notes:\r\n * - May return with invalid / incomplete claims if there's no native base64 decoding support.\r\n * - Doesn't check if the token is actually valid.\r\n */\r\nconst decode = function (token) {\r\n let header = {}, claims = {}, data = {}, signature = '';\r\n try {\r\n const parts = token.split('.');\r\n header = jsonEval(base64Decode(parts[0]) || '');\r\n claims = jsonEval(base64Decode(parts[1]) || '');\r\n signature = parts[2];\r\n data = claims['d'] || {};\r\n delete claims['d'];\r\n }\r\n catch (e) { }\r\n return {\r\n header,\r\n claims,\r\n data,\r\n signature\r\n };\r\n};\r\n/**\r\n * Decodes a Firebase auth. token and checks the validity of its time-based claims. Will return true if the\r\n * token is within the time window authorized by the 'nbf' (not-before) and 'iat' (issued-at) claims.\r\n *\r\n * Notes:\r\n * - May return a false negative if there's no native base64 decoding support.\r\n * - Doesn't check if the token is actually valid.\r\n */\r\nconst isValidTimestamp = function (token) {\r\n const claims = decode(token).claims;\r\n const now = Math.floor(new Date().getTime() / 1000);\r\n let validSince = 0, validUntil = 0;\r\n if (typeof claims === 'object') {\r\n if (claims.hasOwnProperty('nbf')) {\r\n validSince = claims['nbf'];\r\n }\r\n else if (claims.hasOwnProperty('iat')) {\r\n validSince = claims['iat'];\r\n }\r\n if (claims.hasOwnProperty('exp')) {\r\n validUntil = claims['exp'];\r\n }\r\n else {\r\n // token will expire after 24h by default\r\n validUntil = validSince + 86400;\r\n }\r\n }\r\n return (!!now &&\r\n !!validSince &&\r\n !!validUntil &&\r\n now >= validSince &&\r\n now <= validUntil);\r\n};\r\n/**\r\n * Decodes a Firebase auth. token and returns its issued at time if valid, null otherwise.\r\n *\r\n * Notes:\r\n * - May return null if there's no native base64 decoding support.\r\n * - Doesn't check if the token is actually valid.\r\n */\r\nconst issuedAtTime = function (token) {\r\n const claims = decode(token).claims;\r\n if (typeof claims === 'object' && claims.hasOwnProperty('iat')) {\r\n return claims['iat'];\r\n }\r\n return null;\r\n};\r\n/**\r\n * Decodes a Firebase auth. token and checks the validity of its format. Expects a valid issued-at time.\r\n *\r\n * Notes:\r\n * - May return a false negative if there's no native base64 decoding support.\r\n * - Doesn't check if the token is actually valid.\r\n */\r\nconst isValidFormat = function (token) {\r\n const decoded = decode(token), claims = decoded.claims;\r\n return !!claims && typeof claims === 'object' && claims.hasOwnProperty('iat');\r\n};\r\n/**\r\n * Attempts to peer into an auth token and determine if it's an admin auth token by looking at the claims portion.\r\n *\r\n * Notes:\r\n * - May return a false negative if there's no native base64 decoding support.\r\n * - Doesn't check if the token is actually valid.\r\n */\r\nconst isAdmin = function (token) {\r\n const claims = decode(token).claims;\r\n return typeof claims === 'object' && claims['admin'] === true;\r\n};\n\n/**\r\n * @license\r\n * Copyright 2017 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\nfunction contains(obj, key) {\r\n return Object.prototype.hasOwnProperty.call(obj, key);\r\n}\r\nfunction safeGet(obj, key) {\r\n if (Object.prototype.hasOwnProperty.call(obj, key)) {\r\n return obj[key];\r\n }\r\n else {\r\n return undefined;\r\n }\r\n}\r\nfunction isEmpty(obj) {\r\n for (const key in obj) {\r\n if (Object.prototype.hasOwnProperty.call(obj, key)) {\r\n return false;\r\n }\r\n }\r\n return true;\r\n}\r\nfunction map(obj, fn, contextObj) {\r\n const res = {};\r\n for (const key in obj) {\r\n if (Object.prototype.hasOwnProperty.call(obj, key)) {\r\n res[key] = fn.call(contextObj, obj[key], key, obj);\r\n }\r\n }\r\n return res;\r\n}\r\n/**\r\n * Deep equal two objects. Support Arrays and Objects.\r\n */\r\nfunction deepEqual(a, b) {\r\n if (a === b) {\r\n return true;\r\n }\r\n const aKeys = Object.keys(a);\r\n const bKeys = Object.keys(b);\r\n for (const k of aKeys) {\r\n if (!bKeys.includes(k)) {\r\n return false;\r\n }\r\n const aProp = a[k];\r\n const bProp = b[k];\r\n if (isObject(aProp) && isObject(bProp)) {\r\n if (!deepEqual(aProp, bProp)) {\r\n return false;\r\n }\r\n }\r\n else if (aProp !== bProp) {\r\n return false;\r\n }\r\n }\r\n for (const k of bKeys) {\r\n if (!aKeys.includes(k)) {\r\n return false;\r\n }\r\n }\r\n return true;\r\n}\r\nfunction isObject(thing) {\r\n return thing !== null && typeof thing === 'object';\r\n}\n\n/**\r\n * @license\r\n * Copyright 2022 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n/**\r\n * Rejects if the given promise doesn't resolve in timeInMS milliseconds.\r\n * @internal\r\n */\r\nfunction promiseWithTimeout(promise, timeInMS = 2000) {\r\n const deferredPromise = new Deferred();\r\n setTimeout(() => deferredPromise.reject('timeout!'), timeInMS);\r\n promise.then(deferredPromise.resolve, deferredPromise.reject);\r\n return deferredPromise.promise;\r\n}\n\n/**\r\n * @license\r\n * Copyright 2017 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n/**\r\n * Returns a querystring-formatted string (e.g. &arg=val&arg2=val2) from a\r\n * params object (e.g. {arg: 'val', arg2: 'val2'})\r\n * Note: You must prepend it with ? when adding it to a URL.\r\n */\r\nfunction querystring(querystringParams) {\r\n const params = [];\r\n for (const [key, value] of Object.entries(querystringParams)) {\r\n if (Array.isArray(value)) {\r\n value.forEach(arrayVal => {\r\n params.push(encodeURIComponent(key) + '=' + encodeURIComponent(arrayVal));\r\n });\r\n }\r\n else {\r\n params.push(encodeURIComponent(key) + '=' + encodeURIComponent(value));\r\n }\r\n }\r\n return params.length ? '&' + params.join('&') : '';\r\n}\r\n/**\r\n * Decodes a querystring (e.g. ?arg=val&arg2=val2) into a params object\r\n * (e.g. {arg: 'val', arg2: 'val2'})\r\n */\r\nfunction querystringDecode(querystring) {\r\n const obj = {};\r\n const tokens = querystring.replace(/^\\?/, '').split('&');\r\n tokens.forEach(token => {\r\n if (token) {\r\n const [key, value] = token.split('=');\r\n obj[decodeURIComponent(key)] = decodeURIComponent(value);\r\n }\r\n });\r\n return obj;\r\n}\r\n/**\r\n * Extract the query string part of a URL, including the leading question mark (if present).\r\n */\r\nfunction extractQuerystring(url) {\r\n const queryStart = url.indexOf('?');\r\n if (!queryStart) {\r\n return '';\r\n }\r\n const fragmentStart = url.indexOf('#', queryStart);\r\n return url.substring(queryStart, fragmentStart > 0 ? fragmentStart : undefined);\r\n}\n\n/**\r\n * @license\r\n * Copyright 2017 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n/**\r\n * @fileoverview SHA-1 cryptographic hash.\r\n * Variable names follow the notation in FIPS PUB 180-3:\r\n * http://csrc.nist.gov/publications/fips/fips180-3/fips180-3_final.pdf.\r\n *\r\n * Usage:\r\n * var sha1 = new sha1();\r\n * sha1.update(bytes);\r\n * var hash = sha1.digest();\r\n *\r\n * Performance:\r\n * Chrome 23: ~400 Mbit/s\r\n * Firefox 16: ~250 Mbit/s\r\n *\r\n */\r\n/**\r\n * SHA-1 cryptographic hash constructor.\r\n *\r\n * The properties declared here are discussed in the above algorithm document.\r\n * @constructor\r\n * @final\r\n * @struct\r\n */\r\nclass Sha1 {\r\n constructor() {\r\n /**\r\n * Holds the previous values of accumulated variables a-e in the compress_\r\n * function.\r\n * @private\r\n */\r\n this.chain_ = [];\r\n /**\r\n * A buffer holding the partially computed hash result.\r\n * @private\r\n */\r\n this.buf_ = [];\r\n /**\r\n * An array of 80 bytes, each a part of the message to be hashed. Referred to\r\n * as the message schedule in the docs.\r\n * @private\r\n */\r\n this.W_ = [];\r\n /**\r\n * Contains data needed to pad messages less than 64 bytes.\r\n * @private\r\n */\r\n this.pad_ = [];\r\n /**\r\n * @private {number}\r\n */\r\n this.inbuf_ = 0;\r\n /**\r\n * @private {number}\r\n */\r\n this.total_ = 0;\r\n this.blockSize = 512 / 8;\r\n this.pad_[0] = 128;\r\n for (let i = 1; i < this.blockSize; ++i) {\r\n this.pad_[i] = 0;\r\n }\r\n this.reset();\r\n }\r\n reset() {\r\n this.chain_[0] = 0x67452301;\r\n this.chain_[1] = 0xefcdab89;\r\n this.chain_[2] = 0x98badcfe;\r\n this.chain_[3] = 0x10325476;\r\n this.chain_[4] = 0xc3d2e1f0;\r\n this.inbuf_ = 0;\r\n this.total_ = 0;\r\n }\r\n /**\r\n * Internal compress helper function.\r\n * @param buf Block to compress.\r\n * @param offset Offset of the block in the buffer.\r\n * @private\r\n */\r\n compress_(buf, offset) {\r\n if (!offset) {\r\n offset = 0;\r\n }\r\n const W = this.W_;\r\n // get 16 big endian words\r\n if (typeof buf === 'string') {\r\n for (let i = 0; i < 16; i++) {\r\n // TODO(user): [bug 8140122] Recent versions of Safari for Mac OS and iOS\r\n // have a bug that turns the post-increment ++ operator into pre-increment\r\n // during JIT compilation. We have code that depends heavily on SHA-1 for\r\n // correctness and which is affected by this bug, so I've removed all uses\r\n // of post-increment ++ in which the result value is used. We can revert\r\n // this change once the Safari bug\r\n // (https://bugs.webkit.org/show_bug.cgi?id=109036) has been fixed and\r\n // most clients have been updated.\r\n W[i] =\r\n (buf.charCodeAt(offset) << 24) |\r\n (buf.charCodeAt(offset + 1) << 16) |\r\n (buf.charCodeAt(offset + 2) << 8) |\r\n buf.charCodeAt(offset + 3);\r\n offset += 4;\r\n }\r\n }\r\n else {\r\n for (let i = 0; i < 16; i++) {\r\n W[i] =\r\n (buf[offset] << 24) |\r\n (buf[offset + 1] << 16) |\r\n (buf[offset + 2] << 8) |\r\n buf[offset + 3];\r\n offset += 4;\r\n }\r\n }\r\n // expand to 80 words\r\n for (let i = 16; i < 80; i++) {\r\n const t = W[i - 3] ^ W[i - 8] ^ W[i - 14] ^ W[i - 16];\r\n W[i] = ((t << 1) | (t >>> 31)) & 0xffffffff;\r\n }\r\n let a = this.chain_[0];\r\n let b = this.chain_[1];\r\n let c = this.chain_[2];\r\n let d = this.chain_[3];\r\n let e = this.chain_[4];\r\n let f, k;\r\n // TODO(user): Try to unroll this loop to speed up the computation.\r\n for (let i = 0; i < 80; i++) {\r\n if (i < 40) {\r\n if (i < 20) {\r\n f = d ^ (b & (c ^ d));\r\n k = 0x5a827999;\r\n }\r\n else {\r\n f = b ^ c ^ d;\r\n k = 0x6ed9eba1;\r\n }\r\n }\r\n else {\r\n if (i < 60) {\r\n f = (b & c) | (d & (b | c));\r\n k = 0x8f1bbcdc;\r\n }\r\n else {\r\n f = b ^ c ^ d;\r\n k = 0xca62c1d6;\r\n }\r\n }\r\n const t = (((a << 5) | (a >>> 27)) + f + e + k + W[i]) & 0xffffffff;\r\n e = d;\r\n d = c;\r\n c = ((b << 30) | (b >>> 2)) & 0xffffffff;\r\n b = a;\r\n a = t;\r\n }\r\n this.chain_[0] = (this.chain_[0] + a) & 0xffffffff;\r\n this.chain_[1] = (this.chain_[1] + b) & 0xffffffff;\r\n this.chain_[2] = (this.chain_[2] + c) & 0xffffffff;\r\n this.chain_[3] = (this.chain_[3] + d) & 0xffffffff;\r\n this.chain_[4] = (this.chain_[4] + e) & 0xffffffff;\r\n }\r\n update(bytes, length) {\r\n // TODO(johnlenz): tighten the function signature and remove this check\r\n if (bytes == null) {\r\n return;\r\n }\r\n if (length === undefined) {\r\n length = bytes.length;\r\n }\r\n const lengthMinusBlock = length - this.blockSize;\r\n let n = 0;\r\n // Using local instead of member variables gives ~5% speedup on Firefox 16.\r\n const buf = this.buf_;\r\n let inbuf = this.inbuf_;\r\n // The outer while loop should execute at most twice.\r\n while (n < length) {\r\n // When we have no data in the block to top up, we can directly process the\r\n // input buffer (assuming it contains sufficient data). This gives ~25%\r\n // speedup on Chrome 23 and ~15% speedup on Firefox 16, but requires that\r\n // the data is provided in large chunks (or in multiples of 64 bytes).\r\n if (inbuf === 0) {\r\n while (n <= lengthMinusBlock) {\r\n this.compress_(bytes, n);\r\n n += this.blockSize;\r\n }\r\n }\r\n if (typeof bytes === 'string') {\r\n while (n < length) {\r\n buf[inbuf] = bytes.charCodeAt(n);\r\n ++inbuf;\r\n ++n;\r\n if (inbuf === this.blockSize) {\r\n this.compress_(buf);\r\n inbuf = 0;\r\n // Jump to the outer loop so we use the full-block optimization.\r\n break;\r\n }\r\n }\r\n }\r\n else {\r\n while (n < length) {\r\n buf[inbuf] = bytes[n];\r\n ++inbuf;\r\n ++n;\r\n if (inbuf === this.blockSize) {\r\n this.compress_(buf);\r\n inbuf = 0;\r\n // Jump to the outer loop so we use the full-block optimization.\r\n break;\r\n }\r\n }\r\n }\r\n }\r\n this.inbuf_ = inbuf;\r\n this.total_ += length;\r\n }\r\n /** @override */\r\n digest() {\r\n const digest = [];\r\n let totalBits = this.total_ * 8;\r\n // Add pad 0x80 0x00*.\r\n if (this.inbuf_ < 56) {\r\n this.update(this.pad_, 56 - this.inbuf_);\r\n }\r\n else {\r\n this.update(this.pad_, this.blockSize - (this.inbuf_ - 56));\r\n }\r\n // Add # bits.\r\n for (let i = this.blockSize - 1; i >= 56; i--) {\r\n this.buf_[i] = totalBits & 255;\r\n totalBits /= 256; // Don't use bit-shifting here!\r\n }\r\n this.compress_(this.buf_);\r\n let n = 0;\r\n for (let i = 0; i < 5; i++) {\r\n for (let j = 24; j >= 0; j -= 8) {\r\n digest[n] = (this.chain_[i] >> j) & 255;\r\n ++n;\r\n }\r\n }\r\n return digest;\r\n }\r\n}\n\n/**\r\n * Helper to make a Subscribe function (just like Promise helps make a\r\n * Thenable).\r\n *\r\n * @param executor Function which can make calls to a single Observer\r\n * as a proxy.\r\n * @param onNoObservers Callback when count of Observers goes to zero.\r\n */\r\nfunction createSubscribe(executor, onNoObservers) {\r\n const proxy = new ObserverProxy(executor, onNoObservers);\r\n return proxy.subscribe.bind(proxy);\r\n}\r\n/**\r\n * Implement fan-out for any number of Observers attached via a subscribe\r\n * function.\r\n */\r\nclass ObserverProxy {\r\n /**\r\n * @param executor Function which can make calls to a single Observer\r\n * as a proxy.\r\n * @param onNoObservers Callback when count of Observers goes to zero.\r\n */\r\n constructor(executor, onNoObservers) {\r\n this.observers = [];\r\n this.unsubscribes = [];\r\n this.observerCount = 0;\r\n // Micro-task scheduling by calling task.then().\r\n this.task = Promise.resolve();\r\n this.finalized = false;\r\n this.onNoObservers = onNoObservers;\r\n // Call the executor asynchronously so subscribers that are called\r\n // synchronously after the creation of the subscribe function\r\n // can still receive the very first value generated in the executor.\r\n this.task\r\n .then(() => {\r\n executor(this);\r\n })\r\n .catch(e => {\r\n this.error(e);\r\n });\r\n }\r\n next(value) {\r\n this.forEachObserver((observer) => {\r\n observer.next(value);\r\n });\r\n }\r\n error(error) {\r\n this.forEachObserver((observer) => {\r\n observer.error(error);\r\n });\r\n this.close(error);\r\n }\r\n complete() {\r\n this.forEachObserver((observer) => {\r\n observer.complete();\r\n });\r\n this.close();\r\n }\r\n /**\r\n * Subscribe function that can be used to add an Observer to the fan-out list.\r\n *\r\n * - We require that no event is sent to a subscriber sychronously to their\r\n * call to subscribe().\r\n */\r\n subscribe(nextOrObserver, error, complete) {\r\n let observer;\r\n if (nextOrObserver === undefined &&\r\n error === undefined &&\r\n complete === undefined) {\r\n throw new Error('Missing Observer.');\r\n }\r\n // Assemble an Observer object when passed as callback functions.\r\n if (implementsAnyMethods(nextOrObserver, [\r\n 'next',\r\n 'error',\r\n 'complete'\r\n ])) {\r\n observer = nextOrObserver;\r\n }\r\n else {\r\n observer = {\r\n next: nextOrObserver,\r\n error,\r\n complete\r\n };\r\n }\r\n if (observer.next === undefined) {\r\n observer.next = noop;\r\n }\r\n if (observer.error === undefined) {\r\n observer.error = noop;\r\n }\r\n if (observer.complete === undefined) {\r\n observer.complete = noop;\r\n }\r\n const unsub = this.unsubscribeOne.bind(this, this.observers.length);\r\n // Attempt to subscribe to a terminated Observable - we\r\n // just respond to the Observer with the final error or complete\r\n // event.\r\n if (this.finalized) {\r\n // eslint-disable-next-line @typescript-eslint/no-floating-promises\r\n this.task.then(() => {\r\n try {\r\n if (this.finalError) {\r\n observer.error(this.finalError);\r\n }\r\n else {\r\n observer.complete();\r\n }\r\n }\r\n catch (e) {\r\n // nothing\r\n }\r\n return;\r\n });\r\n }\r\n this.observers.push(observer);\r\n return unsub;\r\n }\r\n // Unsubscribe is synchronous - we guarantee that no events are sent to\r\n // any unsubscribed Observer.\r\n unsubscribeOne(i) {\r\n if (this.observers === undefined || this.observers[i] === undefined) {\r\n return;\r\n }\r\n delete this.observers[i];\r\n this.observerCount -= 1;\r\n if (this.observerCount === 0 && this.onNoObservers !== undefined) {\r\n this.onNoObservers(this);\r\n }\r\n }\r\n forEachObserver(fn) {\r\n if (this.finalized) {\r\n // Already closed by previous event....just eat the additional values.\r\n return;\r\n }\r\n // Since sendOne calls asynchronously - there is no chance that\r\n // this.observers will become undefined.\r\n for (let i = 0; i < this.observers.length; i++) {\r\n this.sendOne(i, fn);\r\n }\r\n }\r\n // Call the Observer via one of it's callback function. We are careful to\r\n // confirm that the observe has not been unsubscribed since this asynchronous\r\n // function had been queued.\r\n sendOne(i, fn) {\r\n // Execute the callback asynchronously\r\n // eslint-disable-next-line @typescript-eslint/no-floating-promises\r\n this.task.then(() => {\r\n if (this.observers !== undefined && this.observers[i] !== undefined) {\r\n try {\r\n fn(this.observers[i]);\r\n }\r\n catch (e) {\r\n // Ignore exceptions raised in Observers or missing methods of an\r\n // Observer.\r\n // Log error to console. b/31404806\r\n if (typeof console !== 'undefined' && console.error) {\r\n console.error(e);\r\n }\r\n }\r\n }\r\n });\r\n }\r\n close(err) {\r\n if (this.finalized) {\r\n return;\r\n }\r\n this.finalized = true;\r\n if (err !== undefined) {\r\n this.finalError = err;\r\n }\r\n // Proxy is no longer needed - garbage collect references\r\n // eslint-disable-next-line @typescript-eslint/no-floating-promises\r\n this.task.then(() => {\r\n this.observers = undefined;\r\n this.onNoObservers = undefined;\r\n });\r\n }\r\n}\r\n/** Turn synchronous function into one called asynchronously. */\r\n// eslint-disable-next-line @typescript-eslint/ban-types\r\nfunction async(fn, onError) {\r\n return (...args) => {\r\n Promise.resolve(true)\r\n .then(() => {\r\n fn(...args);\r\n })\r\n .catch((error) => {\r\n if (onError) {\r\n onError(error);\r\n }\r\n });\r\n };\r\n}\r\n/**\r\n * Return true if the object passed in implements any of the named methods.\r\n */\r\nfunction implementsAnyMethods(obj, methods) {\r\n if (typeof obj !== 'object' || obj === null) {\r\n return false;\r\n }\r\n for (const method of methods) {\r\n if (method in obj && typeof obj[method] === 'function') {\r\n return true;\r\n }\r\n }\r\n return false;\r\n}\r\nfunction noop() {\r\n // do nothing\r\n}\n\n/**\r\n * @license\r\n * Copyright 2017 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n/**\r\n * Check to make sure the appropriate number of arguments are provided for a public function.\r\n * Throws an error if it fails.\r\n *\r\n * @param fnName The function name\r\n * @param minCount The minimum number of arguments to allow for the function call\r\n * @param maxCount The maximum number of argument to allow for the function call\r\n * @param argCount The actual number of arguments provided.\r\n */\r\nconst validateArgCount = function (fnName, minCount, maxCount, argCount) {\r\n let argError;\r\n if (argCount < minCount) {\r\n argError = 'at least ' + minCount;\r\n }\r\n else if (argCount > maxCount) {\r\n argError = maxCount === 0 ? 'none' : 'no more than ' + maxCount;\r\n }\r\n if (argError) {\r\n const error = fnName +\r\n ' failed: Was called with ' +\r\n argCount +\r\n (argCount === 1 ? ' argument.' : ' arguments.') +\r\n ' Expects ' +\r\n argError +\r\n '.';\r\n throw new Error(error);\r\n }\r\n};\r\n/**\r\n * Generates a string to prefix an error message about failed argument validation\r\n *\r\n * @param fnName The function name\r\n * @param argName The name of the argument\r\n * @return The prefix to add to the error thrown for validation.\r\n */\r\nfunction errorPrefix(fnName, argName) {\r\n return `${fnName} failed: ${argName} argument `;\r\n}\r\n/**\r\n * @param fnName\r\n * @param argumentNumber\r\n * @param namespace\r\n * @param optional\r\n */\r\nfunction validateNamespace(fnName, namespace, optional) {\r\n if (optional && !namespace) {\r\n return;\r\n }\r\n if (typeof namespace !== 'string') {\r\n //TODO: I should do more validation here. We only allow certain chars in namespaces.\r\n throw new Error(errorPrefix(fnName, 'namespace') + 'must be a valid firebase namespace.');\r\n }\r\n}\r\nfunction validateCallback(fnName, argumentName, \r\n// eslint-disable-next-line @typescript-eslint/ban-types\r\ncallback, optional) {\r\n if (optional && !callback) {\r\n return;\r\n }\r\n if (typeof callback !== 'function') {\r\n throw new Error(errorPrefix(fnName, argumentName) + 'must be a valid function.');\r\n }\r\n}\r\nfunction validateContextObject(fnName, argumentName, context, optional) {\r\n if (optional && !context) {\r\n return;\r\n }\r\n if (typeof context !== 'object' || context === null) {\r\n throw new Error(errorPrefix(fnName, argumentName) + 'must be a valid context object.');\r\n }\r\n}\n\n/**\r\n * @license\r\n * Copyright 2017 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n// Code originally came from goog.crypt.stringToUtf8ByteArray, but for some reason they\r\n// automatically replaced '\\r\\n' with '\\n', and they didn't handle surrogate pairs,\r\n// so it's been modified.\r\n// Note that not all Unicode characters appear as single characters in JavaScript strings.\r\n// fromCharCode returns the UTF-16 encoding of a character - so some Unicode characters\r\n// use 2 characters in Javascript. All 4-byte UTF-8 characters begin with a first\r\n// character in the range 0xD800 - 0xDBFF (the first character of a so-called surrogate\r\n// pair).\r\n// See http://www.ecma-international.org/ecma-262/5.1/#sec-15.1.3\r\n/**\r\n * @param {string} str\r\n * @return {Array}\r\n */\r\nconst stringToByteArray = function (str) {\r\n const out = [];\r\n let p = 0;\r\n for (let i = 0; i < str.length; i++) {\r\n let c = str.charCodeAt(i);\r\n // Is this the lead surrogate in a surrogate pair?\r\n if (c >= 0xd800 && c <= 0xdbff) {\r\n const high = c - 0xd800; // the high 10 bits.\r\n i++;\r\n assert(i < str.length, 'Surrogate pair missing trail surrogate.');\r\n const low = str.charCodeAt(i) - 0xdc00; // the low 10 bits.\r\n c = 0x10000 + (high << 10) + low;\r\n }\r\n if (c < 128) {\r\n out[p++] = c;\r\n }\r\n else if (c < 2048) {\r\n out[p++] = (c >> 6) | 192;\r\n out[p++] = (c & 63) | 128;\r\n }\r\n else if (c < 65536) {\r\n out[p++] = (c >> 12) | 224;\r\n out[p++] = ((c >> 6) & 63) | 128;\r\n out[p++] = (c & 63) | 128;\r\n }\r\n else {\r\n out[p++] = (c >> 18) | 240;\r\n out[p++] = ((c >> 12) & 63) | 128;\r\n out[p++] = ((c >> 6) & 63) | 128;\r\n out[p++] = (c & 63) | 128;\r\n }\r\n }\r\n return out;\r\n};\r\n/**\r\n * Calculate length without actually converting; useful for doing cheaper validation.\r\n * @param {string} str\r\n * @return {number}\r\n */\r\nconst stringLength = function (str) {\r\n let p = 0;\r\n for (let i = 0; i < str.length; i++) {\r\n const c = str.charCodeAt(i);\r\n if (c < 128) {\r\n p++;\r\n }\r\n else if (c < 2048) {\r\n p += 2;\r\n }\r\n else if (c >= 0xd800 && c <= 0xdbff) {\r\n // Lead surrogate of a surrogate pair. The pair together will take 4 bytes to represent.\r\n p += 4;\r\n i++; // skip trail surrogate.\r\n }\r\n else {\r\n p += 3;\r\n }\r\n }\r\n return p;\r\n};\n\n/**\r\n * @license\r\n * Copyright 2022 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n/**\r\n * Copied from https://stackoverflow.com/a/2117523\r\n * Generates a new uuid.\r\n * @public\r\n */\r\nconst uuidv4 = function () {\r\n return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, c => {\r\n const r = (Math.random() * 16) | 0, v = c === 'x' ? r : (r & 0x3) | 0x8;\r\n return v.toString(16);\r\n });\r\n};\n\n/**\r\n * @license\r\n * Copyright 2019 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n/**\r\n * The amount of milliseconds to exponentially increase.\r\n */\r\nconst DEFAULT_INTERVAL_MILLIS = 1000;\r\n/**\r\n * The factor to backoff by.\r\n * Should be a number greater than 1.\r\n */\r\nconst DEFAULT_BACKOFF_FACTOR = 2;\r\n/**\r\n * The maximum milliseconds to increase to.\r\n *\r\n *

Visible for testing\r\n */\r\nconst MAX_VALUE_MILLIS = 4 * 60 * 60 * 1000; // Four hours, like iOS and Android.\r\n/**\r\n * The percentage of backoff time to randomize by.\r\n * See\r\n * http://go/safe-client-behavior#step-1-determine-the-appropriate-retry-interval-to-handle-spike-traffic\r\n * for context.\r\n *\r\n *

Visible for testing\r\n */\r\nconst RANDOM_FACTOR = 0.5;\r\n/**\r\n * Based on the backoff method from\r\n * https://github.com/google/closure-library/blob/master/closure/goog/math/exponentialbackoff.js.\r\n * Extracted here so we don't need to pass metadata and a stateful ExponentialBackoff object around.\r\n */\r\nfunction calculateBackoffMillis(backoffCount, intervalMillis = DEFAULT_INTERVAL_MILLIS, backoffFactor = DEFAULT_BACKOFF_FACTOR) {\r\n // Calculates an exponentially increasing value.\r\n // Deviation: calculates value from count and a constant interval, so we only need to save value\r\n // and count to restore state.\r\n const currBaseValue = intervalMillis * Math.pow(backoffFactor, backoffCount);\r\n // A random \"fuzz\" to avoid waves of retries.\r\n // Deviation: randomFactor is required.\r\n const randomWait = Math.round(\r\n // A fraction of the backoff value to add/subtract.\r\n // Deviation: changes multiplication order to improve readability.\r\n RANDOM_FACTOR *\r\n currBaseValue *\r\n // A random float (rounded to int by Math.round above) in the range [-1, 1]. Determines\r\n // if we add or subtract.\r\n (Math.random() - 0.5) *\r\n 2);\r\n // Limits backoff to max to avoid effectively permanent backoff.\r\n return Math.min(MAX_VALUE_MILLIS, currBaseValue + randomWait);\r\n}\n\n/**\r\n * @license\r\n * Copyright 2020 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n/**\r\n * Provide English ordinal letters after a number\r\n */\r\nfunction ordinal(i) {\r\n if (!Number.isFinite(i)) {\r\n return `${i}`;\r\n }\r\n return i + indicator(i);\r\n}\r\nfunction indicator(i) {\r\n i = Math.abs(i);\r\n const cent = i % 100;\r\n if (cent >= 10 && cent <= 20) {\r\n return 'th';\r\n }\r\n const dec = i % 10;\r\n if (dec === 1) {\r\n return 'st';\r\n }\r\n if (dec === 2) {\r\n return 'nd';\r\n }\r\n if (dec === 3) {\r\n return 'rd';\r\n }\r\n return 'th';\r\n}\n\n/**\r\n * @license\r\n * Copyright 2021 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\nfunction getModularInstance(service) {\r\n if (service && service._delegate) {\r\n return service._delegate;\r\n }\r\n else {\r\n return service;\r\n }\r\n}\n\nexport { CONSTANTS, DecodeBase64StringError, Deferred, ErrorFactory, FirebaseError, MAX_VALUE_MILLIS, RANDOM_FACTOR, Sha1, areCookiesEnabled, assert, assertionError, async, base64, base64Decode, base64Encode, base64urlEncodeWithoutPadding, calculateBackoffMillis, contains, createMockUserToken, createSubscribe, decode, deepCopy, deepEqual, deepExtend, errorPrefix, extractQuerystring, getDefaultAppConfig, getDefaultEmulatorHost, getDefaultEmulatorHostnameAndPort, getDefaults, getExperimentalSetting, getGlobal, getModularInstance, getUA, isAdmin, isBrowser, isBrowserExtension, isElectron, isEmpty, isIE, isIndexedDBAvailable, isMobileCordova, isNode, isNodeSdk, isReactNative, isSafari, isUWP, isValidFormat, isValidTimestamp, isWebWorker, issuedAtTime, jsonEval, map, ordinal, promiseWithTimeout, querystring, querystringDecode, safeGet, stringLength, stringToByteArray, stringify, uuidv4, validateArgCount, validateCallback, validateContextObject, validateIndexedDBOpenable, validateNamespace };\n//# sourceMappingURL=index.esm2017.js.map\n","import { Deferred } from '@firebase/util';\n\n/**\r\n * Component for service name T, e.g. `auth`, `auth-internal`\r\n */\r\nclass Component {\r\n /**\r\n *\r\n * @param name The public service name, e.g. app, auth, firestore, database\r\n * @param instanceFactory Service factory responsible for creating the public interface\r\n * @param type whether the service provided by the component is public or private\r\n */\r\n constructor(name, instanceFactory, type) {\r\n this.name = name;\r\n this.instanceFactory = instanceFactory;\r\n this.type = type;\r\n this.multipleInstances = false;\r\n /**\r\n * Properties to be added to the service namespace\r\n */\r\n this.serviceProps = {};\r\n this.instantiationMode = \"LAZY\" /* InstantiationMode.LAZY */;\r\n this.onInstanceCreated = null;\r\n }\r\n setInstantiationMode(mode) {\r\n this.instantiationMode = mode;\r\n return this;\r\n }\r\n setMultipleInstances(multipleInstances) {\r\n this.multipleInstances = multipleInstances;\r\n return this;\r\n }\r\n setServiceProps(props) {\r\n this.serviceProps = props;\r\n return this;\r\n }\r\n setInstanceCreatedCallback(callback) {\r\n this.onInstanceCreated = callback;\r\n return this;\r\n }\r\n}\n\n/**\r\n * @license\r\n * Copyright 2019 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\nconst DEFAULT_ENTRY_NAME = '[DEFAULT]';\n\n/**\r\n * @license\r\n * Copyright 2019 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n/**\r\n * Provider for instance for service name T, e.g. 'auth', 'auth-internal'\r\n * NameServiceMapping[T] is an alias for the type of the instance\r\n */\r\nclass Provider {\r\n constructor(name, container) {\r\n this.name = name;\r\n this.container = container;\r\n this.component = null;\r\n this.instances = new Map();\r\n this.instancesDeferred = new Map();\r\n this.instancesOptions = new Map();\r\n this.onInitCallbacks = new Map();\r\n }\r\n /**\r\n * @param identifier A provider can provide mulitple instances of a service\r\n * if this.component.multipleInstances is true.\r\n */\r\n get(identifier) {\r\n // if multipleInstances is not supported, use the default name\r\n const normalizedIdentifier = this.normalizeInstanceIdentifier(identifier);\r\n if (!this.instancesDeferred.has(normalizedIdentifier)) {\r\n const deferred = new Deferred();\r\n this.instancesDeferred.set(normalizedIdentifier, deferred);\r\n if (this.isInitialized(normalizedIdentifier) ||\r\n this.shouldAutoInitialize()) {\r\n // initialize the service if it can be auto-initialized\r\n try {\r\n const instance = this.getOrInitializeService({\r\n instanceIdentifier: normalizedIdentifier\r\n });\r\n if (instance) {\r\n deferred.resolve(instance);\r\n }\r\n }\r\n catch (e) {\r\n // when the instance factory throws an exception during get(), it should not cause\r\n // a fatal error. We just return the unresolved promise in this case.\r\n }\r\n }\r\n }\r\n return this.instancesDeferred.get(normalizedIdentifier).promise;\r\n }\r\n getImmediate(options) {\r\n var _a;\r\n // if multipleInstances is not supported, use the default name\r\n const normalizedIdentifier = this.normalizeInstanceIdentifier(options === null || options === void 0 ? void 0 : options.identifier);\r\n const optional = (_a = options === null || options === void 0 ? void 0 : options.optional) !== null && _a !== void 0 ? _a : false;\r\n if (this.isInitialized(normalizedIdentifier) ||\r\n this.shouldAutoInitialize()) {\r\n try {\r\n return this.getOrInitializeService({\r\n instanceIdentifier: normalizedIdentifier\r\n });\r\n }\r\n catch (e) {\r\n if (optional) {\r\n return null;\r\n }\r\n else {\r\n throw e;\r\n }\r\n }\r\n }\r\n else {\r\n // In case a component is not initialized and should/can not be auto-initialized at the moment, return null if the optional flag is set, or throw\r\n if (optional) {\r\n return null;\r\n }\r\n else {\r\n throw Error(`Service ${this.name} is not available`);\r\n }\r\n }\r\n }\r\n getComponent() {\r\n return this.component;\r\n }\r\n setComponent(component) {\r\n if (component.name !== this.name) {\r\n throw Error(`Mismatching Component ${component.name} for Provider ${this.name}.`);\r\n }\r\n if (this.component) {\r\n throw Error(`Component for ${this.name} has already been provided`);\r\n }\r\n this.component = component;\r\n // return early without attempting to initialize the component if the component requires explicit initialization (calling `Provider.initialize()`)\r\n if (!this.shouldAutoInitialize()) {\r\n return;\r\n }\r\n // if the service is eager, initialize the default instance\r\n if (isComponentEager(component)) {\r\n try {\r\n this.getOrInitializeService({ instanceIdentifier: DEFAULT_ENTRY_NAME });\r\n }\r\n catch (e) {\r\n // when the instance factory for an eager Component throws an exception during the eager\r\n // initialization, it should not cause a fatal error.\r\n // TODO: Investigate if we need to make it configurable, because some component may want to cause\r\n // a fatal error in this case?\r\n }\r\n }\r\n // Create service instances for the pending promises and resolve them\r\n // NOTE: if this.multipleInstances is false, only the default instance will be created\r\n // and all promises with resolve with it regardless of the identifier.\r\n for (const [instanceIdentifier, instanceDeferred] of this.instancesDeferred.entries()) {\r\n const normalizedIdentifier = this.normalizeInstanceIdentifier(instanceIdentifier);\r\n try {\r\n // `getOrInitializeService()` should always return a valid instance since a component is guaranteed. use ! to make typescript happy.\r\n const instance = this.getOrInitializeService({\r\n instanceIdentifier: normalizedIdentifier\r\n });\r\n instanceDeferred.resolve(instance);\r\n }\r\n catch (e) {\r\n // when the instance factory throws an exception, it should not cause\r\n // a fatal error. We just leave the promise unresolved.\r\n }\r\n }\r\n }\r\n clearInstance(identifier = DEFAULT_ENTRY_NAME) {\r\n this.instancesDeferred.delete(identifier);\r\n this.instancesOptions.delete(identifier);\r\n this.instances.delete(identifier);\r\n }\r\n // app.delete() will call this method on every provider to delete the services\r\n // TODO: should we mark the provider as deleted?\r\n async delete() {\r\n const services = Array.from(this.instances.values());\r\n await Promise.all([\r\n ...services\r\n .filter(service => 'INTERNAL' in service) // legacy services\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n .map(service => service.INTERNAL.delete()),\r\n ...services\r\n .filter(service => '_delete' in service) // modularized services\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n .map(service => service._delete())\r\n ]);\r\n }\r\n isComponentSet() {\r\n return this.component != null;\r\n }\r\n isInitialized(identifier = DEFAULT_ENTRY_NAME) {\r\n return this.instances.has(identifier);\r\n }\r\n getOptions(identifier = DEFAULT_ENTRY_NAME) {\r\n return this.instancesOptions.get(identifier) || {};\r\n }\r\n initialize(opts = {}) {\r\n const { options = {} } = opts;\r\n const normalizedIdentifier = this.normalizeInstanceIdentifier(opts.instanceIdentifier);\r\n if (this.isInitialized(normalizedIdentifier)) {\r\n throw Error(`${this.name}(${normalizedIdentifier}) has already been initialized`);\r\n }\r\n if (!this.isComponentSet()) {\r\n throw Error(`Component ${this.name} has not been registered yet`);\r\n }\r\n const instance = this.getOrInitializeService({\r\n instanceIdentifier: normalizedIdentifier,\r\n options\r\n });\r\n // resolve any pending promise waiting for the service instance\r\n for (const [instanceIdentifier, instanceDeferred] of this.instancesDeferred.entries()) {\r\n const normalizedDeferredIdentifier = this.normalizeInstanceIdentifier(instanceIdentifier);\r\n if (normalizedIdentifier === normalizedDeferredIdentifier) {\r\n instanceDeferred.resolve(instance);\r\n }\r\n }\r\n return instance;\r\n }\r\n /**\r\n *\r\n * @param callback - a function that will be invoked after the provider has been initialized by calling provider.initialize().\r\n * The function is invoked SYNCHRONOUSLY, so it should not execute any longrunning tasks in order to not block the program.\r\n *\r\n * @param identifier An optional instance identifier\r\n * @returns a function to unregister the callback\r\n */\r\n onInit(callback, identifier) {\r\n var _a;\r\n const normalizedIdentifier = this.normalizeInstanceIdentifier(identifier);\r\n const existingCallbacks = (_a = this.onInitCallbacks.get(normalizedIdentifier)) !== null && _a !== void 0 ? _a : new Set();\r\n existingCallbacks.add(callback);\r\n this.onInitCallbacks.set(normalizedIdentifier, existingCallbacks);\r\n const existingInstance = this.instances.get(normalizedIdentifier);\r\n if (existingInstance) {\r\n callback(existingInstance, normalizedIdentifier);\r\n }\r\n return () => {\r\n existingCallbacks.delete(callback);\r\n };\r\n }\r\n /**\r\n * Invoke onInit callbacks synchronously\r\n * @param instance the service instance`\r\n */\r\n invokeOnInitCallbacks(instance, identifier) {\r\n const callbacks = this.onInitCallbacks.get(identifier);\r\n if (!callbacks) {\r\n return;\r\n }\r\n for (const callback of callbacks) {\r\n try {\r\n callback(instance, identifier);\r\n }\r\n catch (_a) {\r\n // ignore errors in the onInit callback\r\n }\r\n }\r\n }\r\n getOrInitializeService({ instanceIdentifier, options = {} }) {\r\n let instance = this.instances.get(instanceIdentifier);\r\n if (!instance && this.component) {\r\n instance = this.component.instanceFactory(this.container, {\r\n instanceIdentifier: normalizeIdentifierForFactory(instanceIdentifier),\r\n options\r\n });\r\n this.instances.set(instanceIdentifier, instance);\r\n this.instancesOptions.set(instanceIdentifier, options);\r\n /**\r\n * Invoke onInit listeners.\r\n * Note this.component.onInstanceCreated is different, which is used by the component creator,\r\n * while onInit listeners are registered by consumers of the provider.\r\n */\r\n this.invokeOnInitCallbacks(instance, instanceIdentifier);\r\n /**\r\n * Order is important\r\n * onInstanceCreated() should be called after this.instances.set(instanceIdentifier, instance); which\r\n * makes `isInitialized()` return true.\r\n */\r\n if (this.component.onInstanceCreated) {\r\n try {\r\n this.component.onInstanceCreated(this.container, instanceIdentifier, instance);\r\n }\r\n catch (_a) {\r\n // ignore errors in the onInstanceCreatedCallback\r\n }\r\n }\r\n }\r\n return instance || null;\r\n }\r\n normalizeInstanceIdentifier(identifier = DEFAULT_ENTRY_NAME) {\r\n if (this.component) {\r\n return this.component.multipleInstances ? identifier : DEFAULT_ENTRY_NAME;\r\n }\r\n else {\r\n return identifier; // assume multiple instances are supported before the component is provided.\r\n }\r\n }\r\n shouldAutoInitialize() {\r\n return (!!this.component &&\r\n this.component.instantiationMode !== \"EXPLICIT\" /* InstantiationMode.EXPLICIT */);\r\n }\r\n}\r\n// undefined should be passed to the service factory for the default instance\r\nfunction normalizeIdentifierForFactory(identifier) {\r\n return identifier === DEFAULT_ENTRY_NAME ? undefined : identifier;\r\n}\r\nfunction isComponentEager(component) {\r\n return component.instantiationMode === \"EAGER\" /* InstantiationMode.EAGER */;\r\n}\n\n/**\r\n * @license\r\n * Copyright 2019 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n/**\r\n * ComponentContainer that provides Providers for service name T, e.g. `auth`, `auth-internal`\r\n */\r\nclass ComponentContainer {\r\n constructor(name) {\r\n this.name = name;\r\n this.providers = new Map();\r\n }\r\n /**\r\n *\r\n * @param component Component being added\r\n * @param overwrite When a component with the same name has already been registered,\r\n * if overwrite is true: overwrite the existing component with the new component and create a new\r\n * provider with the new component. It can be useful in tests where you want to use different mocks\r\n * for different tests.\r\n * if overwrite is false: throw an exception\r\n */\r\n addComponent(component) {\r\n const provider = this.getProvider(component.name);\r\n if (provider.isComponentSet()) {\r\n throw new Error(`Component ${component.name} has already been registered with ${this.name}`);\r\n }\r\n provider.setComponent(component);\r\n }\r\n addOrOverwriteComponent(component) {\r\n const provider = this.getProvider(component.name);\r\n if (provider.isComponentSet()) {\r\n // delete the existing provider from the container, so we can register the new component\r\n this.providers.delete(component.name);\r\n }\r\n this.addComponent(component);\r\n }\r\n /**\r\n * getProvider provides a type safe interface where it can only be called with a field name\r\n * present in NameServiceMapping interface.\r\n *\r\n * Firebase SDKs providing services should extend NameServiceMapping interface to register\r\n * themselves.\r\n */\r\n getProvider(name) {\r\n if (this.providers.has(name)) {\r\n return this.providers.get(name);\r\n }\r\n // create a Provider for a service that hasn't registered with Firebase\r\n const provider = new Provider(name, this);\r\n this.providers.set(name, provider);\r\n return provider;\r\n }\r\n getProviders() {\r\n return Array.from(this.providers.values());\r\n }\r\n}\n\nexport { Component, ComponentContainer, Provider };\n//# sourceMappingURL=index.esm2017.js.map\n","/**\r\n * @license\r\n * Copyright 2017 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n/**\r\n * A container for all of the Logger instances\r\n */\r\nconst instances = [];\r\n/**\r\n * The JS SDK supports 5 log levels and also allows a user the ability to\r\n * silence the logs altogether.\r\n *\r\n * The order is a follows:\r\n * DEBUG < VERBOSE < INFO < WARN < ERROR\r\n *\r\n * All of the log types above the current log level will be captured (i.e. if\r\n * you set the log level to `INFO`, errors will still be logged, but `DEBUG` and\r\n * `VERBOSE` logs will not)\r\n */\r\nvar LogLevel;\r\n(function (LogLevel) {\r\n LogLevel[LogLevel[\"DEBUG\"] = 0] = \"DEBUG\";\r\n LogLevel[LogLevel[\"VERBOSE\"] = 1] = \"VERBOSE\";\r\n LogLevel[LogLevel[\"INFO\"] = 2] = \"INFO\";\r\n LogLevel[LogLevel[\"WARN\"] = 3] = \"WARN\";\r\n LogLevel[LogLevel[\"ERROR\"] = 4] = \"ERROR\";\r\n LogLevel[LogLevel[\"SILENT\"] = 5] = \"SILENT\";\r\n})(LogLevel || (LogLevel = {}));\r\nconst levelStringToEnum = {\r\n 'debug': LogLevel.DEBUG,\r\n 'verbose': LogLevel.VERBOSE,\r\n 'info': LogLevel.INFO,\r\n 'warn': LogLevel.WARN,\r\n 'error': LogLevel.ERROR,\r\n 'silent': LogLevel.SILENT\r\n};\r\n/**\r\n * The default log level\r\n */\r\nconst defaultLogLevel = LogLevel.INFO;\r\n/**\r\n * By default, `console.debug` is not displayed in the developer console (in\r\n * chrome). To avoid forcing users to have to opt-in to these logs twice\r\n * (i.e. once for firebase, and once in the console), we are sending `DEBUG`\r\n * logs to the `console.log` function.\r\n */\r\nconst ConsoleMethod = {\r\n [LogLevel.DEBUG]: 'log',\r\n [LogLevel.VERBOSE]: 'log',\r\n [LogLevel.INFO]: 'info',\r\n [LogLevel.WARN]: 'warn',\r\n [LogLevel.ERROR]: 'error'\r\n};\r\n/**\r\n * The default log handler will forward DEBUG, VERBOSE, INFO, WARN, and ERROR\r\n * messages on to their corresponding console counterparts (if the log method\r\n * is supported by the current log level)\r\n */\r\nconst defaultLogHandler = (instance, logType, ...args) => {\r\n if (logType < instance.logLevel) {\r\n return;\r\n }\r\n const now = new Date().toISOString();\r\n const method = ConsoleMethod[logType];\r\n if (method) {\r\n console[method](`[${now}] ${instance.name}:`, ...args);\r\n }\r\n else {\r\n throw new Error(`Attempted to log a message with an invalid logType (value: ${logType})`);\r\n }\r\n};\r\nclass Logger {\r\n /**\r\n * Gives you an instance of a Logger to capture messages according to\r\n * Firebase's logging scheme.\r\n *\r\n * @param name The name that the logs will be associated with\r\n */\r\n constructor(name) {\r\n this.name = name;\r\n /**\r\n * The log level of the given Logger instance.\r\n */\r\n this._logLevel = defaultLogLevel;\r\n /**\r\n * The main (internal) log handler for the Logger instance.\r\n * Can be set to a new function in internal package code but not by user.\r\n */\r\n this._logHandler = defaultLogHandler;\r\n /**\r\n * The optional, additional, user-defined log handler for the Logger instance.\r\n */\r\n this._userLogHandler = null;\r\n /**\r\n * Capture the current instance for later use\r\n */\r\n instances.push(this);\r\n }\r\n get logLevel() {\r\n return this._logLevel;\r\n }\r\n set logLevel(val) {\r\n if (!(val in LogLevel)) {\r\n throw new TypeError(`Invalid value \"${val}\" assigned to \\`logLevel\\``);\r\n }\r\n this._logLevel = val;\r\n }\r\n // Workaround for setter/getter having to be the same type.\r\n setLogLevel(val) {\r\n this._logLevel = typeof val === 'string' ? levelStringToEnum[val] : val;\r\n }\r\n get logHandler() {\r\n return this._logHandler;\r\n }\r\n set logHandler(val) {\r\n if (typeof val !== 'function') {\r\n throw new TypeError('Value assigned to `logHandler` must be a function');\r\n }\r\n this._logHandler = val;\r\n }\r\n get userLogHandler() {\r\n return this._userLogHandler;\r\n }\r\n set userLogHandler(val) {\r\n this._userLogHandler = val;\r\n }\r\n /**\r\n * The functions below are all based on the `console` interface\r\n */\r\n debug(...args) {\r\n this._userLogHandler && this._userLogHandler(this, LogLevel.DEBUG, ...args);\r\n this._logHandler(this, LogLevel.DEBUG, ...args);\r\n }\r\n log(...args) {\r\n this._userLogHandler &&\r\n this._userLogHandler(this, LogLevel.VERBOSE, ...args);\r\n this._logHandler(this, LogLevel.VERBOSE, ...args);\r\n }\r\n info(...args) {\r\n this._userLogHandler && this._userLogHandler(this, LogLevel.INFO, ...args);\r\n this._logHandler(this, LogLevel.INFO, ...args);\r\n }\r\n warn(...args) {\r\n this._userLogHandler && this._userLogHandler(this, LogLevel.WARN, ...args);\r\n this._logHandler(this, LogLevel.WARN, ...args);\r\n }\r\n error(...args) {\r\n this._userLogHandler && this._userLogHandler(this, LogLevel.ERROR, ...args);\r\n this._logHandler(this, LogLevel.ERROR, ...args);\r\n }\r\n}\r\nfunction setLogLevel(level) {\r\n instances.forEach(inst => {\r\n inst.setLogLevel(level);\r\n });\r\n}\r\nfunction setUserLogHandler(logCallback, options) {\r\n for (const instance of instances) {\r\n let customLogLevel = null;\r\n if (options && options.level) {\r\n customLogLevel = levelStringToEnum[options.level];\r\n }\r\n if (logCallback === null) {\r\n instance.userLogHandler = null;\r\n }\r\n else {\r\n instance.userLogHandler = (instance, level, ...args) => {\r\n const message = args\r\n .map(arg => {\r\n if (arg == null) {\r\n return null;\r\n }\r\n else if (typeof arg === 'string') {\r\n return arg;\r\n }\r\n else if (typeof arg === 'number' || typeof arg === 'boolean') {\r\n return arg.toString();\r\n }\r\n else if (arg instanceof Error) {\r\n return arg.message;\r\n }\r\n else {\r\n try {\r\n return JSON.stringify(arg);\r\n }\r\n catch (ignored) {\r\n return null;\r\n }\r\n }\r\n })\r\n .filter(arg => arg)\r\n .join(' ');\r\n if (level >= (customLogLevel !== null && customLogLevel !== void 0 ? customLogLevel : instance.logLevel)) {\r\n logCallback({\r\n level: LogLevel[level].toLowerCase(),\r\n message,\r\n args,\r\n type: instance.name\r\n });\r\n }\r\n };\r\n }\r\n }\r\n}\n\nexport { LogLevel, Logger, setLogLevel, setUserLogHandler };\n//# sourceMappingURL=index.esm2017.js.map\n","const instanceOfAny = (object, constructors) => constructors.some((c) => object instanceof c);\n\nlet idbProxyableTypes;\nlet cursorAdvanceMethods;\n// This is a function to prevent it throwing up in node environments.\nfunction getIdbProxyableTypes() {\n return (idbProxyableTypes ||\n (idbProxyableTypes = [\n IDBDatabase,\n IDBObjectStore,\n IDBIndex,\n IDBCursor,\n IDBTransaction,\n ]));\n}\n// This is a function to prevent it throwing up in node environments.\nfunction getCursorAdvanceMethods() {\n return (cursorAdvanceMethods ||\n (cursorAdvanceMethods = [\n IDBCursor.prototype.advance,\n IDBCursor.prototype.continue,\n IDBCursor.prototype.continuePrimaryKey,\n ]));\n}\nconst cursorRequestMap = new WeakMap();\nconst transactionDoneMap = new WeakMap();\nconst transactionStoreNamesMap = new WeakMap();\nconst transformCache = new WeakMap();\nconst reverseTransformCache = new WeakMap();\nfunction promisifyRequest(request) {\n const promise = new Promise((resolve, reject) => {\n const unlisten = () => {\n request.removeEventListener('success', success);\n request.removeEventListener('error', error);\n };\n const success = () => {\n resolve(wrap(request.result));\n unlisten();\n };\n const error = () => {\n reject(request.error);\n unlisten();\n };\n request.addEventListener('success', success);\n request.addEventListener('error', error);\n });\n promise\n .then((value) => {\n // Since cursoring reuses the IDBRequest (*sigh*), we cache it for later retrieval\n // (see wrapFunction).\n if (value instanceof IDBCursor) {\n cursorRequestMap.set(value, request);\n }\n // Catching to avoid \"Uncaught Promise exceptions\"\n })\n .catch(() => { });\n // This mapping exists in reverseTransformCache but doesn't doesn't exist in transformCache. This\n // is because we create many promises from a single IDBRequest.\n reverseTransformCache.set(promise, request);\n return promise;\n}\nfunction cacheDonePromiseForTransaction(tx) {\n // Early bail if we've already created a done promise for this transaction.\n if (transactionDoneMap.has(tx))\n return;\n const done = new Promise((resolve, reject) => {\n const unlisten = () => {\n tx.removeEventListener('complete', complete);\n tx.removeEventListener('error', error);\n tx.removeEventListener('abort', error);\n };\n const complete = () => {\n resolve();\n unlisten();\n };\n const error = () => {\n reject(tx.error || new DOMException('AbortError', 'AbortError'));\n unlisten();\n };\n tx.addEventListener('complete', complete);\n tx.addEventListener('error', error);\n tx.addEventListener('abort', error);\n });\n // Cache it for later retrieval.\n transactionDoneMap.set(tx, done);\n}\nlet idbProxyTraps = {\n get(target, prop, receiver) {\n if (target instanceof IDBTransaction) {\n // Special handling for transaction.done.\n if (prop === 'done')\n return transactionDoneMap.get(target);\n // Polyfill for objectStoreNames because of Edge.\n if (prop === 'objectStoreNames') {\n return target.objectStoreNames || transactionStoreNamesMap.get(target);\n }\n // Make tx.store return the only store in the transaction, or undefined if there are many.\n if (prop === 'store') {\n return receiver.objectStoreNames[1]\n ? undefined\n : receiver.objectStore(receiver.objectStoreNames[0]);\n }\n }\n // Else transform whatever we get back.\n return wrap(target[prop]);\n },\n set(target, prop, value) {\n target[prop] = value;\n return true;\n },\n has(target, prop) {\n if (target instanceof IDBTransaction &&\n (prop === 'done' || prop === 'store')) {\n return true;\n }\n return prop in target;\n },\n};\nfunction replaceTraps(callback) {\n idbProxyTraps = callback(idbProxyTraps);\n}\nfunction wrapFunction(func) {\n // Due to expected object equality (which is enforced by the caching in `wrap`), we\n // only create one new func per func.\n // Edge doesn't support objectStoreNames (booo), so we polyfill it here.\n if (func === IDBDatabase.prototype.transaction &&\n !('objectStoreNames' in IDBTransaction.prototype)) {\n return function (storeNames, ...args) {\n const tx = func.call(unwrap(this), storeNames, ...args);\n transactionStoreNamesMap.set(tx, storeNames.sort ? storeNames.sort() : [storeNames]);\n return wrap(tx);\n };\n }\n // Cursor methods are special, as the behaviour is a little more different to standard IDB. In\n // IDB, you advance the cursor and wait for a new 'success' on the IDBRequest that gave you the\n // cursor. It's kinda like a promise that can resolve with many values. That doesn't make sense\n // with real promises, so each advance methods returns a new promise for the cursor object, or\n // undefined if the end of the cursor has been reached.\n if (getCursorAdvanceMethods().includes(func)) {\n return function (...args) {\n // Calling the original function with the proxy as 'this' causes ILLEGAL INVOCATION, so we use\n // the original object.\n func.apply(unwrap(this), args);\n return wrap(cursorRequestMap.get(this));\n };\n }\n return function (...args) {\n // Calling the original function with the proxy as 'this' causes ILLEGAL INVOCATION, so we use\n // the original object.\n return wrap(func.apply(unwrap(this), args));\n };\n}\nfunction transformCachableValue(value) {\n if (typeof value === 'function')\n return wrapFunction(value);\n // This doesn't return, it just creates a 'done' promise for the transaction,\n // which is later returned for transaction.done (see idbObjectHandler).\n if (value instanceof IDBTransaction)\n cacheDonePromiseForTransaction(value);\n if (instanceOfAny(value, getIdbProxyableTypes()))\n return new Proxy(value, idbProxyTraps);\n // Return the same value back if we're not going to transform it.\n return value;\n}\nfunction wrap(value) {\n // We sometimes generate multiple promises from a single IDBRequest (eg when cursoring), because\n // IDB is weird and a single IDBRequest can yield many responses, so these can't be cached.\n if (value instanceof IDBRequest)\n return promisifyRequest(value);\n // If we've already transformed this value before, reuse the transformed value.\n // This is faster, but it also provides object equality.\n if (transformCache.has(value))\n return transformCache.get(value);\n const newValue = transformCachableValue(value);\n // Not all types are transformed.\n // These may be primitive types, so they can't be WeakMap keys.\n if (newValue !== value) {\n transformCache.set(value, newValue);\n reverseTransformCache.set(newValue, value);\n }\n return newValue;\n}\nconst unwrap = (value) => reverseTransformCache.get(value);\n\nexport { reverseTransformCache as a, instanceOfAny as i, replaceTraps as r, unwrap as u, wrap as w };\n","import { w as wrap, r as replaceTraps } from './wrap-idb-value.js';\nexport { u as unwrap, w as wrap } from './wrap-idb-value.js';\n\n/**\n * Open a database.\n *\n * @param name Name of the database.\n * @param version Schema version.\n * @param callbacks Additional callbacks.\n */\nfunction openDB(name, version, { blocked, upgrade, blocking, terminated } = {}) {\n const request = indexedDB.open(name, version);\n const openPromise = wrap(request);\n if (upgrade) {\n request.addEventListener('upgradeneeded', (event) => {\n upgrade(wrap(request.result), event.oldVersion, event.newVersion, wrap(request.transaction), event);\n });\n }\n if (blocked) {\n request.addEventListener('blocked', (event) => blocked(\n // Casting due to https://github.com/microsoft/TypeScript-DOM-lib-generator/pull/1405\n event.oldVersion, event.newVersion, event));\n }\n openPromise\n .then((db) => {\n if (terminated)\n db.addEventListener('close', () => terminated());\n if (blocking) {\n db.addEventListener('versionchange', (event) => blocking(event.oldVersion, event.newVersion, event));\n }\n })\n .catch(() => { });\n return openPromise;\n}\n/**\n * Delete a database.\n *\n * @param name Name of the database.\n */\nfunction deleteDB(name, { blocked } = {}) {\n const request = indexedDB.deleteDatabase(name);\n if (blocked) {\n request.addEventListener('blocked', (event) => blocked(\n // Casting due to https://github.com/microsoft/TypeScript-DOM-lib-generator/pull/1405\n event.oldVersion, event));\n }\n return wrap(request).then(() => undefined);\n}\n\nconst readMethods = ['get', 'getKey', 'getAll', 'getAllKeys', 'count'];\nconst writeMethods = ['put', 'add', 'delete', 'clear'];\nconst cachedMethods = new Map();\nfunction getMethod(target, prop) {\n if (!(target instanceof IDBDatabase &&\n !(prop in target) &&\n typeof prop === 'string')) {\n return;\n }\n if (cachedMethods.get(prop))\n return cachedMethods.get(prop);\n const targetFuncName = prop.replace(/FromIndex$/, '');\n const useIndex = prop !== targetFuncName;\n const isWrite = writeMethods.includes(targetFuncName);\n if (\n // Bail if the target doesn't exist on the target. Eg, getAll isn't in Edge.\n !(targetFuncName in (useIndex ? IDBIndex : IDBObjectStore).prototype) ||\n !(isWrite || readMethods.includes(targetFuncName))) {\n return;\n }\n const method = async function (storeName, ...args) {\n // isWrite ? 'readwrite' : undefined gzipps better, but fails in Edge :(\n const tx = this.transaction(storeName, isWrite ? 'readwrite' : 'readonly');\n let target = tx.store;\n if (useIndex)\n target = target.index(args.shift());\n // Must reject if op rejects.\n // If it's a write operation, must reject if tx.done rejects.\n // Must reject with op rejection first.\n // Must resolve with op value.\n // Must handle both promises (no unhandled rejections)\n return (await Promise.all([\n target[targetFuncName](...args),\n isWrite && tx.done,\n ]))[0];\n };\n cachedMethods.set(prop, method);\n return method;\n}\nreplaceTraps((oldTraps) => ({\n ...oldTraps,\n get: (target, prop, receiver) => getMethod(target, prop) || oldTraps.get(target, prop, receiver),\n has: (target, prop) => !!getMethod(target, prop) || oldTraps.has(target, prop),\n}));\n\nexport { deleteDB, openDB };\n","import { Component, ComponentContainer } from '@firebase/component';\nimport { Logger, setUserLogHandler, setLogLevel as setLogLevel$1 } from '@firebase/logger';\nimport { ErrorFactory, getDefaultAppConfig, deepEqual, isBrowser, isWebWorker, FirebaseError, base64urlEncodeWithoutPadding, isIndexedDBAvailable, validateIndexedDBOpenable } from '@firebase/util';\nexport { FirebaseError } from '@firebase/util';\nimport { openDB } from 'idb';\n\n/**\r\n * @license\r\n * Copyright 2019 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\nclass PlatformLoggerServiceImpl {\r\n constructor(container) {\r\n this.container = container;\r\n }\r\n // In initial implementation, this will be called by installations on\r\n // auth token refresh, and installations will send this string.\r\n getPlatformInfoString() {\r\n const providers = this.container.getProviders();\r\n // Loop through providers and get library/version pairs from any that are\r\n // version components.\r\n return providers\r\n .map(provider => {\r\n if (isVersionServiceProvider(provider)) {\r\n const service = provider.getImmediate();\r\n return `${service.library}/${service.version}`;\r\n }\r\n else {\r\n return null;\r\n }\r\n })\r\n .filter(logString => logString)\r\n .join(' ');\r\n }\r\n}\r\n/**\r\n *\r\n * @param provider check if this provider provides a VersionService\r\n *\r\n * NOTE: Using Provider<'app-version'> is a hack to indicate that the provider\r\n * provides VersionService. The provider is not necessarily a 'app-version'\r\n * provider.\r\n */\r\nfunction isVersionServiceProvider(provider) {\r\n const component = provider.getComponent();\r\n return (component === null || component === void 0 ? void 0 : component.type) === \"VERSION\" /* ComponentType.VERSION */;\r\n}\n\nconst name$p = \"@firebase/app\";\nconst version$1 = \"0.10.10\";\n\n/**\r\n * @license\r\n * Copyright 2019 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\nconst logger = new Logger('@firebase/app');\n\nconst name$o = \"@firebase/app-compat\";\n\nconst name$n = \"@firebase/analytics-compat\";\n\nconst name$m = \"@firebase/analytics\";\n\nconst name$l = \"@firebase/app-check-compat\";\n\nconst name$k = \"@firebase/app-check\";\n\nconst name$j = \"@firebase/auth\";\n\nconst name$i = \"@firebase/auth-compat\";\n\nconst name$h = \"@firebase/database\";\n\nconst name$g = \"@firebase/database-compat\";\n\nconst name$f = \"@firebase/functions\";\n\nconst name$e = \"@firebase/functions-compat\";\n\nconst name$d = \"@firebase/installations\";\n\nconst name$c = \"@firebase/installations-compat\";\n\nconst name$b = \"@firebase/messaging\";\n\nconst name$a = \"@firebase/messaging-compat\";\n\nconst name$9 = \"@firebase/performance\";\n\nconst name$8 = \"@firebase/performance-compat\";\n\nconst name$7 = \"@firebase/remote-config\";\n\nconst name$6 = \"@firebase/remote-config-compat\";\n\nconst name$5 = \"@firebase/storage\";\n\nconst name$4 = \"@firebase/storage-compat\";\n\nconst name$3 = \"@firebase/firestore\";\n\nconst name$2 = \"@firebase/vertexai-preview\";\n\nconst name$1 = \"@firebase/firestore-compat\";\n\nconst name = \"firebase\";\nconst version = \"10.13.1\";\n\n/**\r\n * @license\r\n * Copyright 2019 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n/**\r\n * The default app name\r\n *\r\n * @internal\r\n */\r\nconst DEFAULT_ENTRY_NAME = '[DEFAULT]';\r\nconst PLATFORM_LOG_STRING = {\r\n [name$p]: 'fire-core',\r\n [name$o]: 'fire-core-compat',\r\n [name$m]: 'fire-analytics',\r\n [name$n]: 'fire-analytics-compat',\r\n [name$k]: 'fire-app-check',\r\n [name$l]: 'fire-app-check-compat',\r\n [name$j]: 'fire-auth',\r\n [name$i]: 'fire-auth-compat',\r\n [name$h]: 'fire-rtdb',\r\n [name$g]: 'fire-rtdb-compat',\r\n [name$f]: 'fire-fn',\r\n [name$e]: 'fire-fn-compat',\r\n [name$d]: 'fire-iid',\r\n [name$c]: 'fire-iid-compat',\r\n [name$b]: 'fire-fcm',\r\n [name$a]: 'fire-fcm-compat',\r\n [name$9]: 'fire-perf',\r\n [name$8]: 'fire-perf-compat',\r\n [name$7]: 'fire-rc',\r\n [name$6]: 'fire-rc-compat',\r\n [name$5]: 'fire-gcs',\r\n [name$4]: 'fire-gcs-compat',\r\n [name$3]: 'fire-fst',\r\n [name$1]: 'fire-fst-compat',\r\n [name$2]: 'fire-vertex',\r\n 'fire-js': 'fire-js',\r\n [name]: 'fire-js-all'\r\n};\n\n/**\r\n * @license\r\n * Copyright 2019 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n/**\r\n * @internal\r\n */\r\nconst _apps = new Map();\r\n/**\r\n * @internal\r\n */\r\nconst _serverApps = new Map();\r\n/**\r\n * Registered components.\r\n *\r\n * @internal\r\n */\r\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\r\nconst _components = new Map();\r\n/**\r\n * @param component - the component being added to this app's container\r\n *\r\n * @internal\r\n */\r\nfunction _addComponent(app, component) {\r\n try {\r\n app.container.addComponent(component);\r\n }\r\n catch (e) {\r\n logger.debug(`Component ${component.name} failed to register with FirebaseApp ${app.name}`, e);\r\n }\r\n}\r\n/**\r\n *\r\n * @internal\r\n */\r\nfunction _addOrOverwriteComponent(app, component) {\r\n app.container.addOrOverwriteComponent(component);\r\n}\r\n/**\r\n *\r\n * @param component - the component to register\r\n * @returns whether or not the component is registered successfully\r\n *\r\n * @internal\r\n */\r\nfunction _registerComponent(component) {\r\n const componentName = component.name;\r\n if (_components.has(componentName)) {\r\n logger.debug(`There were multiple attempts to register component ${componentName}.`);\r\n return false;\r\n }\r\n _components.set(componentName, component);\r\n // add the component to existing app instances\r\n for (const app of _apps.values()) {\r\n _addComponent(app, component);\r\n }\r\n for (const serverApp of _serverApps.values()) {\r\n _addComponent(serverApp, component);\r\n }\r\n return true;\r\n}\r\n/**\r\n *\r\n * @param app - FirebaseApp instance\r\n * @param name - service name\r\n *\r\n * @returns the provider for the service with the matching name\r\n *\r\n * @internal\r\n */\r\nfunction _getProvider(app, name) {\r\n const heartbeatController = app.container\r\n .getProvider('heartbeat')\r\n .getImmediate({ optional: true });\r\n if (heartbeatController) {\r\n void heartbeatController.triggerHeartbeat();\r\n }\r\n return app.container.getProvider(name);\r\n}\r\n/**\r\n *\r\n * @param app - FirebaseApp instance\r\n * @param name - service name\r\n * @param instanceIdentifier - service instance identifier in case the service supports multiple instances\r\n *\r\n * @internal\r\n */\r\nfunction _removeServiceInstance(app, name, instanceIdentifier = DEFAULT_ENTRY_NAME) {\r\n _getProvider(app, name).clearInstance(instanceIdentifier);\r\n}\r\n/**\r\n *\r\n * @param obj - an object of type FirebaseApp or FirebaseOptions.\r\n *\r\n * @returns true if the provide object is of type FirebaseApp.\r\n *\r\n * @internal\r\n */\r\nfunction _isFirebaseApp(obj) {\r\n return obj.options !== undefined;\r\n}\r\n/**\r\n *\r\n * @param obj - an object of type FirebaseApp.\r\n *\r\n * @returns true if the provided object is of type FirebaseServerAppImpl.\r\n *\r\n * @internal\r\n */\r\nfunction _isFirebaseServerApp(obj) {\r\n return obj.settings !== undefined;\r\n}\r\n/**\r\n * Test only\r\n *\r\n * @internal\r\n */\r\nfunction _clearComponents() {\r\n _components.clear();\r\n}\n\n/**\r\n * @license\r\n * Copyright 2019 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\nconst ERRORS = {\r\n [\"no-app\" /* AppError.NO_APP */]: \"No Firebase App '{$appName}' has been created - \" +\r\n 'call initializeApp() first',\r\n [\"bad-app-name\" /* AppError.BAD_APP_NAME */]: \"Illegal App name: '{$appName}'\",\r\n [\"duplicate-app\" /* AppError.DUPLICATE_APP */]: \"Firebase App named '{$appName}' already exists with different options or config\",\r\n [\"app-deleted\" /* AppError.APP_DELETED */]: \"Firebase App named '{$appName}' already deleted\",\r\n [\"server-app-deleted\" /* AppError.SERVER_APP_DELETED */]: 'Firebase Server App has been deleted',\r\n [\"no-options\" /* AppError.NO_OPTIONS */]: 'Need to provide options, when not being deployed to hosting via source.',\r\n [\"invalid-app-argument\" /* AppError.INVALID_APP_ARGUMENT */]: 'firebase.{$appName}() takes either no argument or a ' +\r\n 'Firebase App instance.',\r\n [\"invalid-log-argument\" /* AppError.INVALID_LOG_ARGUMENT */]: 'First argument to `onLog` must be null or a function.',\r\n [\"idb-open\" /* AppError.IDB_OPEN */]: 'Error thrown when opening IndexedDB. Original error: {$originalErrorMessage}.',\r\n [\"idb-get\" /* AppError.IDB_GET */]: 'Error thrown when reading from IndexedDB. Original error: {$originalErrorMessage}.',\r\n [\"idb-set\" /* AppError.IDB_WRITE */]: 'Error thrown when writing to IndexedDB. Original error: {$originalErrorMessage}.',\r\n [\"idb-delete\" /* AppError.IDB_DELETE */]: 'Error thrown when deleting from IndexedDB. Original error: {$originalErrorMessage}.',\r\n [\"finalization-registry-not-supported\" /* AppError.FINALIZATION_REGISTRY_NOT_SUPPORTED */]: 'FirebaseServerApp deleteOnDeref field defined but the JS runtime does not support FinalizationRegistry.',\r\n [\"invalid-server-app-environment\" /* AppError.INVALID_SERVER_APP_ENVIRONMENT */]: 'FirebaseServerApp is not for use in browser environments.'\r\n};\r\nconst ERROR_FACTORY = new ErrorFactory('app', 'Firebase', ERRORS);\n\n/**\r\n * @license\r\n * Copyright 2019 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\nclass FirebaseAppImpl {\r\n constructor(options, config, container) {\r\n this._isDeleted = false;\r\n this._options = Object.assign({}, options);\r\n this._config = Object.assign({}, config);\r\n this._name = config.name;\r\n this._automaticDataCollectionEnabled =\r\n config.automaticDataCollectionEnabled;\r\n this._container = container;\r\n this.container.addComponent(new Component('app', () => this, \"PUBLIC\" /* ComponentType.PUBLIC */));\r\n }\r\n get automaticDataCollectionEnabled() {\r\n this.checkDestroyed();\r\n return this._automaticDataCollectionEnabled;\r\n }\r\n set automaticDataCollectionEnabled(val) {\r\n this.checkDestroyed();\r\n this._automaticDataCollectionEnabled = val;\r\n }\r\n get name() {\r\n this.checkDestroyed();\r\n return this._name;\r\n }\r\n get options() {\r\n this.checkDestroyed();\r\n return this._options;\r\n }\r\n get config() {\r\n this.checkDestroyed();\r\n return this._config;\r\n }\r\n get container() {\r\n return this._container;\r\n }\r\n get isDeleted() {\r\n return this._isDeleted;\r\n }\r\n set isDeleted(val) {\r\n this._isDeleted = val;\r\n }\r\n /**\r\n * This function will throw an Error if the App has already been deleted -\r\n * use before performing API actions on the App.\r\n */\r\n checkDestroyed() {\r\n if (this.isDeleted) {\r\n throw ERROR_FACTORY.create(\"app-deleted\" /* AppError.APP_DELETED */, { appName: this._name });\r\n }\r\n }\r\n}\n\n/**\r\n * @license\r\n * Copyright 2023 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\nclass FirebaseServerAppImpl extends FirebaseAppImpl {\r\n constructor(options, serverConfig, name, container) {\r\n // Build configuration parameters for the FirebaseAppImpl base class.\r\n const automaticDataCollectionEnabled = serverConfig.automaticDataCollectionEnabled !== undefined\r\n ? serverConfig.automaticDataCollectionEnabled\r\n : false;\r\n // Create the FirebaseAppSettings object for the FirebaseAppImp constructor.\r\n const config = {\r\n name,\r\n automaticDataCollectionEnabled\r\n };\r\n if (options.apiKey !== undefined) {\r\n // Construct the parent FirebaseAppImp object.\r\n super(options, config, container);\r\n }\r\n else {\r\n const appImpl = options;\r\n super(appImpl.options, config, container);\r\n }\r\n // Now construct the data for the FirebaseServerAppImpl.\r\n this._serverConfig = Object.assign({ automaticDataCollectionEnabled }, serverConfig);\r\n this._finalizationRegistry = null;\r\n if (typeof FinalizationRegistry !== 'undefined') {\r\n this._finalizationRegistry = new FinalizationRegistry(() => {\r\n this.automaticCleanup();\r\n });\r\n }\r\n this._refCount = 0;\r\n this.incRefCount(this._serverConfig.releaseOnDeref);\r\n // Do not retain a hard reference to the dref object, otherwise the FinalizationRegistry\r\n // will never trigger.\r\n this._serverConfig.releaseOnDeref = undefined;\r\n serverConfig.releaseOnDeref = undefined;\r\n registerVersion(name$p, version$1, 'serverapp');\r\n }\r\n toJSON() {\r\n return undefined;\r\n }\r\n get refCount() {\r\n return this._refCount;\r\n }\r\n // Increment the reference count of this server app. If an object is provided, register it\r\n // with the finalization registry.\r\n incRefCount(obj) {\r\n if (this.isDeleted) {\r\n return;\r\n }\r\n this._refCount++;\r\n if (obj !== undefined && this._finalizationRegistry !== null) {\r\n this._finalizationRegistry.register(obj, this);\r\n }\r\n }\r\n // Decrement the reference count.\r\n decRefCount() {\r\n if (this.isDeleted) {\r\n return 0;\r\n }\r\n return --this._refCount;\r\n }\r\n // Invoked by the FinalizationRegistry callback to note that this app should go through its\r\n // reference counts and delete itself if no reference count remain. The coordinating logic that\r\n // handles this is in deleteApp(...).\r\n automaticCleanup() {\r\n void deleteApp(this);\r\n }\r\n get settings() {\r\n this.checkDestroyed();\r\n return this._serverConfig;\r\n }\r\n /**\r\n * This function will throw an Error if the App has already been deleted -\r\n * use before performing API actions on the App.\r\n */\r\n checkDestroyed() {\r\n if (this.isDeleted) {\r\n throw ERROR_FACTORY.create(\"server-app-deleted\" /* AppError.SERVER_APP_DELETED */);\r\n }\r\n }\r\n}\n\n/**\r\n * @license\r\n * Copyright 2019 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n/**\r\n * The current SDK version.\r\n *\r\n * @public\r\n */\r\nconst SDK_VERSION = version;\r\nfunction initializeApp(_options, rawConfig = {}) {\r\n let options = _options;\r\n if (typeof rawConfig !== 'object') {\r\n const name = rawConfig;\r\n rawConfig = { name };\r\n }\r\n const config = Object.assign({ name: DEFAULT_ENTRY_NAME, automaticDataCollectionEnabled: false }, rawConfig);\r\n const name = config.name;\r\n if (typeof name !== 'string' || !name) {\r\n throw ERROR_FACTORY.create(\"bad-app-name\" /* AppError.BAD_APP_NAME */, {\r\n appName: String(name)\r\n });\r\n }\r\n options || (options = getDefaultAppConfig());\r\n if (!options) {\r\n throw ERROR_FACTORY.create(\"no-options\" /* AppError.NO_OPTIONS */);\r\n }\r\n const existingApp = _apps.get(name);\r\n if (existingApp) {\r\n // return the existing app if options and config deep equal the ones in the existing app.\r\n if (deepEqual(options, existingApp.options) &&\r\n deepEqual(config, existingApp.config)) {\r\n return existingApp;\r\n }\r\n else {\r\n throw ERROR_FACTORY.create(\"duplicate-app\" /* AppError.DUPLICATE_APP */, { appName: name });\r\n }\r\n }\r\n const container = new ComponentContainer(name);\r\n for (const component of _components.values()) {\r\n container.addComponent(component);\r\n }\r\n const newApp = new FirebaseAppImpl(options, config, container);\r\n _apps.set(name, newApp);\r\n return newApp;\r\n}\r\nfunction initializeServerApp(_options, _serverAppConfig) {\r\n if (isBrowser() && !isWebWorker()) {\r\n // FirebaseServerApp isn't designed to be run in browsers.\r\n throw ERROR_FACTORY.create(\"invalid-server-app-environment\" /* AppError.INVALID_SERVER_APP_ENVIRONMENT */);\r\n }\r\n if (_serverAppConfig.automaticDataCollectionEnabled === undefined) {\r\n _serverAppConfig.automaticDataCollectionEnabled = false;\r\n }\r\n let appOptions;\r\n if (_isFirebaseApp(_options)) {\r\n appOptions = _options.options;\r\n }\r\n else {\r\n appOptions = _options;\r\n }\r\n // Build an app name based on a hash of the configuration options.\r\n const nameObj = Object.assign(Object.assign({}, _serverAppConfig), appOptions);\r\n // However, Do not mangle the name based on releaseOnDeref, since it will vary between the\r\n // construction of FirebaseServerApp instances. For example, if the object is the request headers.\r\n if (nameObj.releaseOnDeref !== undefined) {\r\n delete nameObj.releaseOnDeref;\r\n }\r\n const hashCode = (s) => {\r\n return [...s].reduce((hash, c) => (Math.imul(31, hash) + c.charCodeAt(0)) | 0, 0);\r\n };\r\n if (_serverAppConfig.releaseOnDeref !== undefined) {\r\n if (typeof FinalizationRegistry === 'undefined') {\r\n throw ERROR_FACTORY.create(\"finalization-registry-not-supported\" /* AppError.FINALIZATION_REGISTRY_NOT_SUPPORTED */, {});\r\n }\r\n }\r\n const nameString = '' + hashCode(JSON.stringify(nameObj));\r\n const existingApp = _serverApps.get(nameString);\r\n if (existingApp) {\r\n existingApp.incRefCount(_serverAppConfig.releaseOnDeref);\r\n return existingApp;\r\n }\r\n const container = new ComponentContainer(nameString);\r\n for (const component of _components.values()) {\r\n container.addComponent(component);\r\n }\r\n const newApp = new FirebaseServerAppImpl(appOptions, _serverAppConfig, nameString, container);\r\n _serverApps.set(nameString, newApp);\r\n return newApp;\r\n}\r\n/**\r\n * Retrieves a {@link @firebase/app#FirebaseApp} instance.\r\n *\r\n * When called with no arguments, the default app is returned. When an app name\r\n * is provided, the app corresponding to that name is returned.\r\n *\r\n * An exception is thrown if the app being retrieved has not yet been\r\n * initialized.\r\n *\r\n * @example\r\n * ```javascript\r\n * // Return the default app\r\n * const app = getApp();\r\n * ```\r\n *\r\n * @example\r\n * ```javascript\r\n * // Return a named app\r\n * const otherApp = getApp(\"otherApp\");\r\n * ```\r\n *\r\n * @param name - Optional name of the app to return. If no name is\r\n * provided, the default is `\"[DEFAULT]\"`.\r\n *\r\n * @returns The app corresponding to the provided app name.\r\n * If no app name is provided, the default app is returned.\r\n *\r\n * @public\r\n */\r\nfunction getApp(name = DEFAULT_ENTRY_NAME) {\r\n const app = _apps.get(name);\r\n if (!app && name === DEFAULT_ENTRY_NAME && getDefaultAppConfig()) {\r\n return initializeApp();\r\n }\r\n if (!app) {\r\n throw ERROR_FACTORY.create(\"no-app\" /* AppError.NO_APP */, { appName: name });\r\n }\r\n return app;\r\n}\r\n/**\r\n * A (read-only) array of all initialized apps.\r\n * @public\r\n */\r\nfunction getApps() {\r\n return Array.from(_apps.values());\r\n}\r\n/**\r\n * Renders this app unusable and frees the resources of all associated\r\n * services.\r\n *\r\n * @example\r\n * ```javascript\r\n * deleteApp(app)\r\n * .then(function() {\r\n * console.log(\"App deleted successfully\");\r\n * })\r\n * .catch(function(error) {\r\n * console.log(\"Error deleting app:\", error);\r\n * });\r\n * ```\r\n *\r\n * @public\r\n */\r\nasync function deleteApp(app) {\r\n let cleanupProviders = false;\r\n const name = app.name;\r\n if (_apps.has(name)) {\r\n cleanupProviders = true;\r\n _apps.delete(name);\r\n }\r\n else if (_serverApps.has(name)) {\r\n const firebaseServerApp = app;\r\n if (firebaseServerApp.decRefCount() <= 0) {\r\n _serverApps.delete(name);\r\n cleanupProviders = true;\r\n }\r\n }\r\n if (cleanupProviders) {\r\n await Promise.all(app.container\r\n .getProviders()\r\n .map(provider => provider.delete()));\r\n app.isDeleted = true;\r\n }\r\n}\r\n/**\r\n * Registers a library's name and version for platform logging purposes.\r\n * @param library - Name of 1p or 3p library (e.g. firestore, angularfire)\r\n * @param version - Current version of that library.\r\n * @param variant - Bundle variant, e.g., node, rn, etc.\r\n *\r\n * @public\r\n */\r\nfunction registerVersion(libraryKeyOrName, version, variant) {\r\n var _a;\r\n // TODO: We can use this check to whitelist strings when/if we set up\r\n // a good whitelist system.\r\n let library = (_a = PLATFORM_LOG_STRING[libraryKeyOrName]) !== null && _a !== void 0 ? _a : libraryKeyOrName;\r\n if (variant) {\r\n library += `-${variant}`;\r\n }\r\n const libraryMismatch = library.match(/\\s|\\//);\r\n const versionMismatch = version.match(/\\s|\\//);\r\n if (libraryMismatch || versionMismatch) {\r\n const warning = [\r\n `Unable to register library \"${library}\" with version \"${version}\":`\r\n ];\r\n if (libraryMismatch) {\r\n warning.push(`library name \"${library}\" contains illegal characters (whitespace or \"/\")`);\r\n }\r\n if (libraryMismatch && versionMismatch) {\r\n warning.push('and');\r\n }\r\n if (versionMismatch) {\r\n warning.push(`version name \"${version}\" contains illegal characters (whitespace or \"/\")`);\r\n }\r\n logger.warn(warning.join(' '));\r\n return;\r\n }\r\n _registerComponent(new Component(`${library}-version`, () => ({ library, version }), \"VERSION\" /* ComponentType.VERSION */));\r\n}\r\n/**\r\n * Sets log handler for all Firebase SDKs.\r\n * @param logCallback - An optional custom log handler that executes user code whenever\r\n * the Firebase SDK makes a logging call.\r\n *\r\n * @public\r\n */\r\nfunction onLog(logCallback, options) {\r\n if (logCallback !== null && typeof logCallback !== 'function') {\r\n throw ERROR_FACTORY.create(\"invalid-log-argument\" /* AppError.INVALID_LOG_ARGUMENT */);\r\n }\r\n setUserLogHandler(logCallback, options);\r\n}\r\n/**\r\n * Sets log level for all Firebase SDKs.\r\n *\r\n * All of the log types above the current log level are captured (i.e. if\r\n * you set the log level to `info`, errors are logged, but `debug` and\r\n * `verbose` logs are not).\r\n *\r\n * @public\r\n */\r\nfunction setLogLevel(logLevel) {\r\n setLogLevel$1(logLevel);\r\n}\n\n/**\r\n * @license\r\n * Copyright 2021 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\nconst DB_NAME = 'firebase-heartbeat-database';\r\nconst DB_VERSION = 1;\r\nconst STORE_NAME = 'firebase-heartbeat-store';\r\nlet dbPromise = null;\r\nfunction getDbPromise() {\r\n if (!dbPromise) {\r\n dbPromise = openDB(DB_NAME, DB_VERSION, {\r\n upgrade: (db, oldVersion) => {\r\n // We don't use 'break' in this switch statement, the fall-through\r\n // behavior is what we want, because if there are multiple versions between\r\n // the old version and the current version, we want ALL the migrations\r\n // that correspond to those versions to run, not only the last one.\r\n // eslint-disable-next-line default-case\r\n switch (oldVersion) {\r\n case 0:\r\n try {\r\n db.createObjectStore(STORE_NAME);\r\n }\r\n catch (e) {\r\n // Safari/iOS browsers throw occasional exceptions on\r\n // db.createObjectStore() that may be a bug. Avoid blocking\r\n // the rest of the app functionality.\r\n console.warn(e);\r\n }\r\n }\r\n }\r\n }).catch(e => {\r\n throw ERROR_FACTORY.create(\"idb-open\" /* AppError.IDB_OPEN */, {\r\n originalErrorMessage: e.message\r\n });\r\n });\r\n }\r\n return dbPromise;\r\n}\r\nasync function readHeartbeatsFromIndexedDB(app) {\r\n try {\r\n const db = await getDbPromise();\r\n const tx = db.transaction(STORE_NAME);\r\n const result = await tx.objectStore(STORE_NAME).get(computeKey(app));\r\n // We already have the value but tx.done can throw,\r\n // so we need to await it here to catch errors\r\n await tx.done;\r\n return result;\r\n }\r\n catch (e) {\r\n if (e instanceof FirebaseError) {\r\n logger.warn(e.message);\r\n }\r\n else {\r\n const idbGetError = ERROR_FACTORY.create(\"idb-get\" /* AppError.IDB_GET */, {\r\n originalErrorMessage: e === null || e === void 0 ? void 0 : e.message\r\n });\r\n logger.warn(idbGetError.message);\r\n }\r\n }\r\n}\r\nasync function writeHeartbeatsToIndexedDB(app, heartbeatObject) {\r\n try {\r\n const db = await getDbPromise();\r\n const tx = db.transaction(STORE_NAME, 'readwrite');\r\n const objectStore = tx.objectStore(STORE_NAME);\r\n await objectStore.put(heartbeatObject, computeKey(app));\r\n await tx.done;\r\n }\r\n catch (e) {\r\n if (e instanceof FirebaseError) {\r\n logger.warn(e.message);\r\n }\r\n else {\r\n const idbGetError = ERROR_FACTORY.create(\"idb-set\" /* AppError.IDB_WRITE */, {\r\n originalErrorMessage: e === null || e === void 0 ? void 0 : e.message\r\n });\r\n logger.warn(idbGetError.message);\r\n }\r\n }\r\n}\r\nfunction computeKey(app) {\r\n return `${app.name}!${app.options.appId}`;\r\n}\n\n/**\r\n * @license\r\n * Copyright 2021 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\nconst MAX_HEADER_BYTES = 1024;\r\n// 30 days\r\nconst STORED_HEARTBEAT_RETENTION_MAX_MILLIS = 30 * 24 * 60 * 60 * 1000;\r\nclass HeartbeatServiceImpl {\r\n constructor(container) {\r\n this.container = container;\r\n /**\r\n * In-memory cache for heartbeats, used by getHeartbeatsHeader() to generate\r\n * the header string.\r\n * Stores one record per date. This will be consolidated into the standard\r\n * format of one record per user agent string before being sent as a header.\r\n * Populated from indexedDB when the controller is instantiated and should\r\n * be kept in sync with indexedDB.\r\n * Leave public for easier testing.\r\n */\r\n this._heartbeatsCache = null;\r\n const app = this.container.getProvider('app').getImmediate();\r\n this._storage = new HeartbeatStorageImpl(app);\r\n this._heartbeatsCachePromise = this._storage.read().then(result => {\r\n this._heartbeatsCache = result;\r\n return result;\r\n });\r\n }\r\n /**\r\n * Called to report a heartbeat. The function will generate\r\n * a HeartbeatsByUserAgent object, update heartbeatsCache, and persist it\r\n * to IndexedDB.\r\n * Note that we only store one heartbeat per day. So if a heartbeat for today is\r\n * already logged, subsequent calls to this function in the same day will be ignored.\r\n */\r\n async triggerHeartbeat() {\r\n var _a, _b;\r\n try {\r\n const platformLogger = this.container\r\n .getProvider('platform-logger')\r\n .getImmediate();\r\n // This is the \"Firebase user agent\" string from the platform logger\r\n // service, not the browser user agent.\r\n const agent = platformLogger.getPlatformInfoString();\r\n const date = getUTCDateString();\r\n if (((_a = this._heartbeatsCache) === null || _a === void 0 ? void 0 : _a.heartbeats) == null) {\r\n this._heartbeatsCache = await this._heartbeatsCachePromise;\r\n // If we failed to construct a heartbeats cache, then return immediately.\r\n if (((_b = this._heartbeatsCache) === null || _b === void 0 ? void 0 : _b.heartbeats) == null) {\r\n return;\r\n }\r\n }\r\n // Do not store a heartbeat if one is already stored for this day\r\n // or if a header has already been sent today.\r\n if (this._heartbeatsCache.lastSentHeartbeatDate === date ||\r\n this._heartbeatsCache.heartbeats.some(singleDateHeartbeat => singleDateHeartbeat.date === date)) {\r\n return;\r\n }\r\n else {\r\n // There is no entry for this date. Create one.\r\n this._heartbeatsCache.heartbeats.push({ date, agent });\r\n }\r\n // Remove entries older than 30 days.\r\n this._heartbeatsCache.heartbeats =\r\n this._heartbeatsCache.heartbeats.filter(singleDateHeartbeat => {\r\n const hbTimestamp = new Date(singleDateHeartbeat.date).valueOf();\r\n const now = Date.now();\r\n return now - hbTimestamp <= STORED_HEARTBEAT_RETENTION_MAX_MILLIS;\r\n });\r\n return this._storage.overwrite(this._heartbeatsCache);\r\n }\r\n catch (e) {\r\n logger.warn(e);\r\n }\r\n }\r\n /**\r\n * Returns a base64 encoded string which can be attached to the heartbeat-specific header directly.\r\n * It also clears all heartbeats from memory as well as in IndexedDB.\r\n *\r\n * NOTE: Consuming product SDKs should not send the header if this method\r\n * returns an empty string.\r\n */\r\n async getHeartbeatsHeader() {\r\n var _a;\r\n try {\r\n if (this._heartbeatsCache === null) {\r\n await this._heartbeatsCachePromise;\r\n }\r\n // If it's still null or the array is empty, there is no data to send.\r\n if (((_a = this._heartbeatsCache) === null || _a === void 0 ? void 0 : _a.heartbeats) == null ||\r\n this._heartbeatsCache.heartbeats.length === 0) {\r\n return '';\r\n }\r\n const date = getUTCDateString();\r\n // Extract as many heartbeats from the cache as will fit under the size limit.\r\n const { heartbeatsToSend, unsentEntries } = extractHeartbeatsForHeader(this._heartbeatsCache.heartbeats);\r\n const headerString = base64urlEncodeWithoutPadding(JSON.stringify({ version: 2, heartbeats: heartbeatsToSend }));\r\n // Store last sent date to prevent another being logged/sent for the same day.\r\n this._heartbeatsCache.lastSentHeartbeatDate = date;\r\n if (unsentEntries.length > 0) {\r\n // Store any unsent entries if they exist.\r\n this._heartbeatsCache.heartbeats = unsentEntries;\r\n // This seems more likely than emptying the array (below) to lead to some odd state\r\n // since the cache isn't empty and this will be called again on the next request,\r\n // and is probably safest if we await it.\r\n await this._storage.overwrite(this._heartbeatsCache);\r\n }\r\n else {\r\n this._heartbeatsCache.heartbeats = [];\r\n // Do not wait for this, to reduce latency.\r\n void this._storage.overwrite(this._heartbeatsCache);\r\n }\r\n return headerString;\r\n }\r\n catch (e) {\r\n logger.warn(e);\r\n return '';\r\n }\r\n }\r\n}\r\nfunction getUTCDateString() {\r\n const today = new Date();\r\n // Returns date format 'YYYY-MM-DD'\r\n return today.toISOString().substring(0, 10);\r\n}\r\nfunction extractHeartbeatsForHeader(heartbeatsCache, maxSize = MAX_HEADER_BYTES) {\r\n // Heartbeats grouped by user agent in the standard format to be sent in\r\n // the header.\r\n const heartbeatsToSend = [];\r\n // Single date format heartbeats that are not sent.\r\n let unsentEntries = heartbeatsCache.slice();\r\n for (const singleDateHeartbeat of heartbeatsCache) {\r\n // Look for an existing entry with the same user agent.\r\n const heartbeatEntry = heartbeatsToSend.find(hb => hb.agent === singleDateHeartbeat.agent);\r\n if (!heartbeatEntry) {\r\n // If no entry for this user agent exists, create one.\r\n heartbeatsToSend.push({\r\n agent: singleDateHeartbeat.agent,\r\n dates: [singleDateHeartbeat.date]\r\n });\r\n if (countBytes(heartbeatsToSend) > maxSize) {\r\n // If the header would exceed max size, remove the added heartbeat\r\n // entry and stop adding to the header.\r\n heartbeatsToSend.pop();\r\n break;\r\n }\r\n }\r\n else {\r\n heartbeatEntry.dates.push(singleDateHeartbeat.date);\r\n // If the header would exceed max size, remove the added date\r\n // and stop adding to the header.\r\n if (countBytes(heartbeatsToSend) > maxSize) {\r\n heartbeatEntry.dates.pop();\r\n break;\r\n }\r\n }\r\n // Pop unsent entry from queue. (Skipped if adding the entry exceeded\r\n // quota and the loop breaks early.)\r\n unsentEntries = unsentEntries.slice(1);\r\n }\r\n return {\r\n heartbeatsToSend,\r\n unsentEntries\r\n };\r\n}\r\nclass HeartbeatStorageImpl {\r\n constructor(app) {\r\n this.app = app;\r\n this._canUseIndexedDBPromise = this.runIndexedDBEnvironmentCheck();\r\n }\r\n async runIndexedDBEnvironmentCheck() {\r\n if (!isIndexedDBAvailable()) {\r\n return false;\r\n }\r\n else {\r\n return validateIndexedDBOpenable()\r\n .then(() => true)\r\n .catch(() => false);\r\n }\r\n }\r\n /**\r\n * Read all heartbeats.\r\n */\r\n async read() {\r\n const canUseIndexedDB = await this._canUseIndexedDBPromise;\r\n if (!canUseIndexedDB) {\r\n return { heartbeats: [] };\r\n }\r\n else {\r\n const idbHeartbeatObject = await readHeartbeatsFromIndexedDB(this.app);\r\n if (idbHeartbeatObject === null || idbHeartbeatObject === void 0 ? void 0 : idbHeartbeatObject.heartbeats) {\r\n return idbHeartbeatObject;\r\n }\r\n else {\r\n return { heartbeats: [] };\r\n }\r\n }\r\n }\r\n // overwrite the storage with the provided heartbeats\r\n async overwrite(heartbeatsObject) {\r\n var _a;\r\n const canUseIndexedDB = await this._canUseIndexedDBPromise;\r\n if (!canUseIndexedDB) {\r\n return;\r\n }\r\n else {\r\n const existingHeartbeatsObject = await this.read();\r\n return writeHeartbeatsToIndexedDB(this.app, {\r\n lastSentHeartbeatDate: (_a = heartbeatsObject.lastSentHeartbeatDate) !== null && _a !== void 0 ? _a : existingHeartbeatsObject.lastSentHeartbeatDate,\r\n heartbeats: heartbeatsObject.heartbeats\r\n });\r\n }\r\n }\r\n // add heartbeats\r\n async add(heartbeatsObject) {\r\n var _a;\r\n const canUseIndexedDB = await this._canUseIndexedDBPromise;\r\n if (!canUseIndexedDB) {\r\n return;\r\n }\r\n else {\r\n const existingHeartbeatsObject = await this.read();\r\n return writeHeartbeatsToIndexedDB(this.app, {\r\n lastSentHeartbeatDate: (_a = heartbeatsObject.lastSentHeartbeatDate) !== null && _a !== void 0 ? _a : existingHeartbeatsObject.lastSentHeartbeatDate,\r\n heartbeats: [\r\n ...existingHeartbeatsObject.heartbeats,\r\n ...heartbeatsObject.heartbeats\r\n ]\r\n });\r\n }\r\n }\r\n}\r\n/**\r\n * Calculate bytes of a HeartbeatsByUserAgent array after being wrapped\r\n * in a platform logging header JSON object, stringified, and converted\r\n * to base 64.\r\n */\r\nfunction countBytes(heartbeatsCache) {\r\n // base64 has a restricted set of characters, all of which should be 1 byte.\r\n return base64urlEncodeWithoutPadding(\r\n // heartbeatsCache wrapper properties\r\n JSON.stringify({ version: 2, heartbeats: heartbeatsCache })).length;\r\n}\n\n/**\r\n * @license\r\n * Copyright 2019 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\nfunction registerCoreComponents(variant) {\r\n _registerComponent(new Component('platform-logger', container => new PlatformLoggerServiceImpl(container), \"PRIVATE\" /* ComponentType.PRIVATE */));\r\n _registerComponent(new Component('heartbeat', container => new HeartbeatServiceImpl(container), \"PRIVATE\" /* ComponentType.PRIVATE */));\r\n // Register `app` package.\r\n registerVersion(name$p, version$1, variant);\r\n // BUILD_TARGET will be replaced by values like esm5, esm2017, cjs5, etc during the compilation\r\n registerVersion(name$p, version$1, 'esm2017');\r\n // Register platform SDK identifier (no version).\r\n registerVersion('fire-js', '');\r\n}\n\n/**\r\n * Firebase App\r\n *\r\n * @remarks This package coordinates the communication between the different Firebase components\r\n * @packageDocumentation\r\n */\r\nregisterCoreComponents('');\n\nexport { SDK_VERSION, DEFAULT_ENTRY_NAME as _DEFAULT_ENTRY_NAME, _addComponent, _addOrOverwriteComponent, _apps, _clearComponents, _components, _getProvider, _isFirebaseApp, _isFirebaseServerApp, _registerComponent, _removeServiceInstance, _serverApps, deleteApp, getApp, getApps, initializeApp, initializeServerApp, onLog, registerVersion, setLogLevel };\n//# sourceMappingURL=index.esm2017.js.map\n","import { registerVersion } from '@firebase/app';\nexport * from '@firebase/app';\n\nvar name = \"firebase\";\nvar version = \"10.13.1\";\n\n/**\r\n * @license\r\n * Copyright 2020 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\nregisterVersion(name, version, 'app');\n//# sourceMappingURL=index.esm.js.map\n"],"names":["stringToByteArray$1","str","out","p","i","c","byteArrayToString","bytes","pos","c1","c2","c3","c4","u","base64","input","webSafe","byteToCharMap","output","byte1","haveByte2","byte2","haveByte3","byte3","outByte1","outByte2","outByte3","outByte4","charToByteMap","byte4","DecodeBase64StringError","base64Encode","utf8Bytes","base64urlEncodeWithoutPadding","base64Decode","getGlobal","getDefaultsFromGlobal","getDefaultsFromEnvVariable","define_process_env_default","defaultsJsonString","getDefaultsFromCookie","match","decoded","getDefaults","e","getDefaultAppConfig","_a","Deferred","resolve","reject","callback","error","value","isIndexedDBAvailable","validateIndexedDBOpenable","preExist","DB_CHECK_NAME","request","ERROR_NAME","FirebaseError","code","message","customData","ErrorFactory","service","serviceName","errors","data","fullCode","template","replaceTemplate","fullMessage","PATTERN","_","key","deepEqual","a","b","aKeys","bKeys","k","aProp","bProp","isObject","thing","Component","name","instanceFactory","type","mode","multipleInstances","props","DEFAULT_ENTRY_NAME","Provider","container","identifier","normalizedIdentifier","deferred","instance","options","optional","component","isComponentEager","instanceIdentifier","instanceDeferred","services","opts","normalizedDeferredIdentifier","existingCallbacks","existingInstance","callbacks","normalizeIdentifierForFactory","ComponentContainer","provider","LogLevel","levelStringToEnum","defaultLogLevel","ConsoleMethod","defaultLogHandler","logType","args","now","method","Logger","val","instanceOfAny","object","constructors","idbProxyableTypes","cursorAdvanceMethods","getIdbProxyableTypes","getCursorAdvanceMethods","cursorRequestMap","transactionDoneMap","transactionStoreNamesMap","transformCache","reverseTransformCache","promisifyRequest","promise","unlisten","success","wrap","cacheDonePromiseForTransaction","tx","done","complete","idbProxyTraps","target","prop","receiver","replaceTraps","wrapFunction","func","storeNames","unwrap","transformCachableValue","newValue","openDB","version","blocked","upgrade","blocking","terminated","openPromise","event","db","readMethods","writeMethods","cachedMethods","getMethod","targetFuncName","useIndex","isWrite","storeName","oldTraps","PlatformLoggerServiceImpl","isVersionServiceProvider","logString","name$p","version$1","logger","name$o","name$n","name$m","name$l","name$k","name$j","name$i","name$h","name$g","name$f","name$e","name$d","name$c","name$b","name$a","name$9","name$8","name$7","name$6","name$5","name$4","name$3","name$2","name$1","PLATFORM_LOG_STRING","_apps","_serverApps","_components","_addComponent","app","_registerComponent","componentName","serverApp","ERRORS","ERROR_FACTORY","FirebaseAppImpl","config","initializeApp","_options","rawConfig","existingApp","newApp","registerVersion","libraryKeyOrName","variant","library","libraryMismatch","versionMismatch","warning","DB_NAME","DB_VERSION","STORE_NAME","dbPromise","getDbPromise","oldVersion","readHeartbeatsFromIndexedDB","result","computeKey","idbGetError","writeHeartbeatsToIndexedDB","heartbeatObject","MAX_HEADER_BYTES","STORED_HEARTBEAT_RETENTION_MAX_MILLIS","HeartbeatServiceImpl","HeartbeatStorageImpl","_b","agent","date","getUTCDateString","singleDateHeartbeat","hbTimestamp","heartbeatsToSend","unsentEntries","extractHeartbeatsForHeader","headerString","heartbeatsCache","maxSize","heartbeatEntry","hb","countBytes","idbHeartbeatObject","heartbeatsObject","existingHeartbeatsObject","registerCoreComponents"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,5,6]} \ No newline at end of file diff --git a/Target/_astro/page.C1i_5bqm.js b/Target/_astro/page.C1i_5bqm.js new file mode 100644 index 00000000..f5f0c1d1 --- /dev/null +++ b/Target/_astro/page.C1i_5bqm.js @@ -0,0 +1 @@ +import{i}from"./index.B1fp56SV.js";i(); \ No newline at end of file diff --git a/Target/_astro/page.RuxDLo8Z.js.map b/Target/_astro/page.C1i_5bqm.js.map similarity index 69% rename from Target/_astro/page.RuxDLo8Z.js.map rename to Target/_astro/page.C1i_5bqm.js.map index ded3aa03..3a7affe5 100644 --- a/Target/_astro/page.RuxDLo8Z.js.map +++ b/Target/_astro/page.C1i_5bqm.js.map @@ -1 +1 @@ -{"version":3,"file":"page.RuxDLo8Z.js","sources":["../../astro:scripts/page.js"],"sourcesContent":["import { init } from 'astro/virtual-modules/prefetch.js';init()"],"names":["init"],"mappings":"mCAAyDA,EAAI"} \ No newline at end of file +{"version":3,"file":"page.C1i_5bqm.js","sources":["../../astro:scripts/page.js"],"sourcesContent":["import { init } from 'astro/virtual-modules/prefetch.js';init()"],"names":["init"],"mappings":"mCAAyDA,EAAI"} \ No newline at end of file diff --git a/Target/_astro/page.RuxDLo8Z.js b/Target/_astro/page.RuxDLo8Z.js deleted file mode 100644 index 2c60a4fc..00000000 --- a/Target/_astro/page.RuxDLo8Z.js +++ /dev/null @@ -1 +0,0 @@ -import{i}from"./index.D6rU_tt3.js";i(); \ No newline at end of file diff --git a/Target/chunks/astro/server_B4dKMUTo.mjs.map b/Target/chunks/astro/server_B4dKMUTo.mjs.map new file mode 100644 index 00000000..ac1e753b --- /dev/null +++ b/Target/chunks/astro/server_B4dKMUTo.mjs.map @@ -0,0 +1 @@ +{"version":3,"file":"server_B4dKMUTo.mjs","sources":["../../../../../../../node_modules/astro/dist/core/errors/errors-data.js","../../../../../../../node_modules/astro/dist/core/errors/utils.js","../../../../../../../node_modules/astro/dist/core/errors/printer.js","../../../../../../../node_modules/astro/dist/core/errors/errors.js","../../../../../../../node_modules/astro/dist/runtime/server/astro-component.js","../../../../../../../node_modules/astro/dist/core/constants.js","../../../../../../../node_modules/astro/dist/runtime/server/astro-global.js","../../../../../../../node_modules/astro/dist/runtime/server/util.js","../../../../../../../node_modules/astro/dist/runtime/server/escape.js","../../../../../../../node_modules/astro/dist/runtime/server/render/instruction.js","../../../../../../../node_modules/astro/dist/runtime/server/serialize.js","../../../../../../../node_modules/astro/dist/runtime/server/hydration.js","../../../../../../../node_modules/astro/dist/runtime/server/shorthash.js","../../../../../../../node_modules/astro/dist/runtime/server/render/astro/factory.js","../../../../../../../node_modules/astro/dist/runtime/server/render/astro/head-and-content.js","../../../../../../../node_modules/astro/dist/runtime/server/astro-island.prebuilt-dev.js","../../../../../../../node_modules/astro/dist/runtime/server/astro-island.prebuilt.js","../../../../../../../node_modules/astro/dist/runtime/server/scripts.js","../../../../../../../node_modules/astro/dist/runtime/server/render/util.js","../../../../../../../node_modules/astro/dist/runtime/server/render/head.js","../../../../../../../node_modules/astro/dist/runtime/server/render/astro/render-template.js","../../../../../../../node_modules/astro/dist/runtime/server/render/slot.js","../../../../../../../node_modules/astro/dist/runtime/server/render/common.js","../../../../../../../node_modules/astro/dist/runtime/server/render/any.js","../../../../../../../node_modules/astro/dist/runtime/server/render/astro/instance.js","../../../../../../../node_modules/astro/dist/runtime/server/render/dom.js","../../../../../../../node_modules/astro/dist/core/encryption.js","../../../../../../../node_modules/astro/dist/runtime/server/render/server-islands.js","../../../../../../../node_modules/astro/dist/runtime/server/render/component.js","../../../../../../../node_modules/astro/dist/runtime/server/render/script.js","../../../../../../../node_modules/astro/dist/runtime/server/transition.js","../../../../../../../node_modules/astro/dist/runtime/server/index.js"],"sourcesContent":["const UnknownCompilerError = {\n name: \"UnknownCompilerError\",\n title: \"Unknown compiler error.\",\n hint: \"This is almost always a problem with the Astro compiler, not your code. Please open an issue at https://astro.build/issues/compiler.\"\n};\nconst StaticRedirectNotAvailable = {\n name: \"StaticRedirectNotAvailable\",\n title: \"`Astro.redirect` is not available in static mode.\",\n message: \"Redirects are only available when using `output: 'server'` or `output: 'hybrid'`. Update your Astro config if you need SSR features.\",\n hint: \"See https://docs.astro.build/en/guides/server-side-rendering/ for more information on how to enable SSR.\"\n};\nconst ClientAddressNotAvailable = {\n name: \"ClientAddressNotAvailable\",\n title: \"`Astro.clientAddress` is not available in current adapter.\",\n message: (adapterName) => `\\`Astro.clientAddress\\` is not available in the \\`${adapterName}\\` adapter. File an issue with the adapter to add support.`\n};\nconst PrerenderClientAddressNotAvailable = {\n name: \"PrerenderClientAddressNotAvailable\",\n title: \"`Astro.clientAddress` cannot be used inside prerendered routes.\",\n message: `\\`Astro.clientAddress\\` cannot be used inside prerendered routes`\n};\nconst StaticClientAddressNotAvailable = {\n name: \"StaticClientAddressNotAvailable\",\n title: \"`Astro.clientAddress` is not available in static mode.\",\n message: \"`Astro.clientAddress` is only available when using `output: 'server'` or `output: 'hybrid'`. Update your Astro config if you need SSR features.\",\n hint: \"See https://docs.astro.build/en/guides/server-side-rendering/ for more information on how to enable SSR.\"\n};\nconst NoMatchingStaticPathFound = {\n name: \"NoMatchingStaticPathFound\",\n title: \"No static path found for requested path.\",\n message: (pathName) => `A \\`getStaticPaths()\\` route pattern was matched, but no matching static path was found for requested path \\`${pathName}\\`.`,\n hint: (possibleRoutes) => `Possible dynamic routes being matched: ${possibleRoutes.join(\", \")}.`\n};\nconst OnlyResponseCanBeReturned = {\n name: \"OnlyResponseCanBeReturned\",\n title: \"Invalid type returned by Astro page.\",\n message: (route, returnedValue) => `Route \\`${route ? route : \"\"}\\` returned a \\`${returnedValue}\\`. Only a [Response](https://developer.mozilla.org/en-US/docs/Web/API/Response) can be returned from Astro files.`,\n hint: \"See https://docs.astro.build/en/guides/server-side-rendering/#response for more information.\"\n};\nconst MissingMediaQueryDirective = {\n name: \"MissingMediaQueryDirective\",\n title: \"Missing value for `client:media` directive.\",\n message: 'Media query not provided for `client:media` directive. A media query similar to `client:media=\"(max-width: 600px)\"` must be provided'\n};\nconst NoMatchingRenderer = {\n name: \"NoMatchingRenderer\",\n title: \"No matching renderer found.\",\n message: (componentName, componentExtension, plural, validRenderersCount) => `Unable to render \\`${componentName}\\`.\n\n${validRenderersCount > 0 ? `There ${plural ? \"are\" : \"is\"} ${validRenderersCount} renderer${plural ? \"s\" : \"\"} configured in your \\`astro.config.mjs\\` file,\nbut ${plural ? \"none were\" : \"it was not\"} able to server-side render \\`${componentName}\\`.` : `No valid renderer was found ${componentExtension ? `for the \\`.${componentExtension}\\` file extension.` : `for this file extension.`}`}`,\n hint: (probableRenderers) => `Did you mean to enable the ${probableRenderers} integration?\n\nSee https://docs.astro.build/en/guides/framework-components/ for more information on how to install and configure integrations.`\n};\nconst NoClientEntrypoint = {\n name: \"NoClientEntrypoint\",\n title: \"No client entrypoint specified in renderer.\",\n message: (componentName, clientDirective, rendererName) => `\\`${componentName}\\` component has a \\`client:${clientDirective}\\` directive, but no client entrypoint was provided by \\`${rendererName}\\`.`,\n hint: \"See https://docs.astro.build/en/reference/integrations-reference/#addrenderer-option for more information on how to configure your renderer.\"\n};\nconst NoClientOnlyHint = {\n name: \"NoClientOnlyHint\",\n title: \"Missing hint on client:only directive.\",\n message: (componentName) => `Unable to render \\`${componentName}\\`. When using the \\`client:only\\` hydration strategy, Astro needs a hint to use the correct renderer.`,\n hint: (probableRenderers) => `Did you mean to pass \\`client:only=\"${probableRenderers}\"\\`? See https://docs.astro.build/en/reference/directives-reference/#clientonly for more information on client:only`\n};\nconst InvalidGetStaticPathParam = {\n name: \"InvalidGetStaticPathParam\",\n title: \"Invalid value returned by a `getStaticPaths` path.\",\n message: (paramType) => `Invalid params given to \\`getStaticPaths\\` path. Expected an \\`object\\`, got \\`${paramType}\\``,\n hint: \"See https://docs.astro.build/en/reference/api-reference/#getstaticpaths for more information on getStaticPaths.\"\n};\nconst InvalidGetStaticPathsEntry = {\n name: \"InvalidGetStaticPathsEntry\",\n title: \"Invalid entry inside getStaticPath's return value\",\n message: (entryType) => `Invalid entry returned by getStaticPaths. Expected an object, got \\`${entryType}\\``,\n hint: \"If you're using a `.map` call, you might be looking for `.flatMap()` instead. See https://docs.astro.build/en/reference/api-reference/#getstaticpaths for more information on getStaticPaths.\"\n};\nconst InvalidGetStaticPathsReturn = {\n name: \"InvalidGetStaticPathsReturn\",\n title: \"Invalid value returned by getStaticPaths.\",\n message: (returnType) => `Invalid type returned by \\`getStaticPaths\\`. Expected an \\`array\\`, got \\`${returnType}\\``,\n hint: \"See https://docs.astro.build/en/reference/api-reference/#getstaticpaths for more information on getStaticPaths.\"\n};\nconst GetStaticPathsRemovedRSSHelper = {\n name: \"GetStaticPathsRemovedRSSHelper\",\n title: \"getStaticPaths RSS helper is not available anymore.\",\n message: \"The RSS helper has been removed from `getStaticPaths`. Try the new @astrojs/rss package instead.\",\n hint: \"See https://docs.astro.build/en/guides/rss/ for more information.\"\n};\nconst GetStaticPathsExpectedParams = {\n name: \"GetStaticPathsExpectedParams\",\n title: \"Missing params property on `getStaticPaths` route.\",\n message: \"Missing or empty required `params` property on `getStaticPaths` route.\",\n hint: \"See https://docs.astro.build/en/reference/api-reference/#getstaticpaths for more information on getStaticPaths.\"\n};\nconst GetStaticPathsInvalidRouteParam = {\n name: \"GetStaticPathsInvalidRouteParam\",\n title: \"Invalid value for `getStaticPaths` route parameter.\",\n message: (key, value, valueType) => `Invalid getStaticPaths route parameter for \\`${key}\\`. Expected undefined, a string or a number, received \\`${valueType}\\` (\\`${value}\\`)`,\n hint: \"See https://docs.astro.build/en/reference/api-reference/#getstaticpaths for more information on getStaticPaths.\"\n};\nconst GetStaticPathsRequired = {\n name: \"GetStaticPathsRequired\",\n title: \"`getStaticPaths()` function required for dynamic routes.\",\n message: \"`getStaticPaths()` function is required for dynamic routes. Make sure that you `export` a `getStaticPaths` function from your dynamic route.\",\n hint: `See https://docs.astro.build/en/guides/routing/#dynamic-routes for more information on dynamic routes.\n\nAlternatively, set \\`output: \"server\"\\` or \\`output: \"hybrid\"\\` in your Astro config file to switch to a non-static server build. This error can also occur if using \\`export const prerender = true;\\`.\nSee https://docs.astro.build/en/guides/server-side-rendering/ for more information on non-static rendering.`\n};\nconst ReservedSlotName = {\n name: \"ReservedSlotName\",\n title: \"Invalid slot name.\",\n message: (slotName) => `Unable to create a slot named \\`${slotName}\\`. \\`${slotName}\\` is a reserved slot name. Please update the name of this slot.`\n};\nconst NoAdapterInstalled = {\n name: \"NoAdapterInstalled\",\n title: \"Cannot use Server-side Rendering without an adapter.\",\n message: `Cannot use \\`output: 'server'\\` or \\`output: 'hybrid'\\` without an adapter. Please install and configure the appropriate server adapter for your final deployment.`,\n hint: \"See https://docs.astro.build/en/guides/server-side-rendering/ for more information.\"\n};\nconst NoMatchingImport = {\n name: \"NoMatchingImport\",\n title: \"No import found for component.\",\n message: (componentName) => `Could not render \\`${componentName}\\`. No matching import has been found for \\`${componentName}\\`.`,\n hint: \"Please make sure the component is properly imported.\"\n};\nconst InvalidPrerenderExport = {\n name: \"InvalidPrerenderExport\",\n title: \"Invalid prerender export.\",\n message(prefix, suffix, isHydridOutput) {\n const defaultExpectedValue = isHydridOutput ? \"false\" : \"true\";\n let msg = `A \\`prerender\\` export has been detected, but its value cannot be statically analyzed.`;\n if (prefix !== \"const\") msg += `\nExpected \\`const\\` declaration but got \\`${prefix}\\`.`;\n if (suffix !== \"true\")\n msg += `\nExpected \\`${defaultExpectedValue}\\` value but got \\`${suffix}\\`.`;\n return msg;\n },\n hint: \"Mutable values declared at runtime are not supported. Please make sure to use exactly `export const prerender = true`.\"\n};\nconst InvalidComponentArgs = {\n name: \"InvalidComponentArgs\",\n title: \"Invalid component arguments.\",\n message: (name) => `Invalid arguments passed to${name ? ` <${name}>` : \"\"} component.`,\n hint: \"Astro components cannot be rendered directly via function call, such as `Component()` or `{items.map(Component)}`.\"\n};\nconst PageNumberParamNotFound = {\n name: \"PageNumberParamNotFound\",\n title: \"Page number param not found.\",\n message: (paramName) => `[paginate()] page number param \\`${paramName}\\` not found in your filepath.`,\n hint: \"Rename your file to `[page].astro` or `[...page].astro`.\"\n};\nconst ImageMissingAlt = {\n name: \"ImageMissingAlt\",\n title: 'Image missing required \"alt\" property.',\n message: 'Image missing \"alt\" property. \"alt\" text is required to describe important images on the page.',\n hint: 'Use an empty string (\"\") for decorative images.'\n};\nconst InvalidImageService = {\n name: \"InvalidImageService\",\n title: \"Error while loading image service.\",\n message: \"There was an error loading the configured image service. Please see the stack trace for more information.\"\n};\nconst MissingImageDimension = {\n name: \"MissingImageDimension\",\n title: \"Missing image dimensions\",\n message: (missingDimension, imageURL) => `Missing ${missingDimension === \"both\" ? \"width and height attributes\" : `${missingDimension} attribute`} for ${imageURL}. When using remote images, both dimensions are required in order to avoid CLS.`,\n hint: \"If your image is inside your `src` folder, you probably meant to import it instead. See [the Imports guide for more information](https://docs.astro.build/en/guides/imports/#other-assets). You can also use `inferSize={true}` for remote images to get the original dimensions.\"\n};\nconst FailedToFetchRemoteImageDimensions = {\n name: \"FailedToFetchRemoteImageDimensions\",\n title: \"Failed to retrieve remote image dimensions\",\n message: (imageURL) => `Failed to get the dimensions for ${imageURL}.`,\n hint: \"Verify your remote image URL is accurate, and that you are not using `inferSize` with a file located in your `public/` folder.\"\n};\nconst UnsupportedImageFormat = {\n name: \"UnsupportedImageFormat\",\n title: \"Unsupported image format\",\n message: (format, imagePath, supportedFormats) => `Received unsupported format \\`${format}\\` from \\`${imagePath}\\`. Currently only ${supportedFormats.join(\n \", \"\n )} are supported by our image services.`,\n hint: \"Using an `img` tag directly instead of the `Image` component might be what you're looking for.\"\n};\nconst UnsupportedImageConversion = {\n name: \"UnsupportedImageConversion\",\n title: \"Unsupported image conversion\",\n message: \"Converting between vector (such as SVGs) and raster (such as PNGs and JPEGs) images is not currently supported.\"\n};\nconst PrerenderDynamicEndpointPathCollide = {\n name: \"PrerenderDynamicEndpointPathCollide\",\n title: \"Prerendered dynamic endpoint has path collision.\",\n message: (pathname) => `Could not render \\`${pathname}\\` with an \\`undefined\\` param as the generated path will collide during prerendering. Prevent passing \\`undefined\\` as \\`params\\` for the endpoint's \\`getStaticPaths()\\` function, or add an additional extension to the endpoint's filename.`,\n hint: (filename) => `Rename \\`${filename}\\` to \\`${filename.replace(/\\.(?:js|ts)/, (m) => `.json` + m)}\\``\n};\nconst ExpectedImage = {\n name: \"ExpectedImage\",\n title: \"Expected src to be an image.\",\n message: (src, typeofOptions, fullOptions) => `Expected \\`src\\` property for \\`getImage\\` or \\`\\` to be either an ESM imported image or a string with the path of a remote image. Received \\`${src}\\` (type: \\`${typeofOptions}\\`).\n\nFull serialized options received: \\`${fullOptions}\\`.`,\n hint: \"This error can often happen because of a wrong path. Make sure the path to your image is correct. If you're passing an async function, make sure to call and await it.\"\n};\nconst ExpectedImageOptions = {\n name: \"ExpectedImageOptions\",\n title: \"Expected image options.\",\n message: (options) => `Expected getImage() parameter to be an object. Received \\`${options}\\`.`\n};\nconst ExpectedNotESMImage = {\n name: \"ExpectedNotESMImage\",\n title: \"Expected image options, not an ESM-imported image.\",\n message: \"An ESM-imported image cannot be passed directly to `getImage()`. Instead, pass an object with the image in the `src` property.\",\n hint: \"Try changing `getImage(myImage)` to `getImage({ src: myImage })`\"\n};\nconst IncompatibleDescriptorOptions = {\n name: \"IncompatibleDescriptorOptions\",\n title: \"Cannot set both `densities` and `widths`\",\n message: \"Only one of `densities` or `widths` can be specified. In most cases, you'll probably want to use only `widths` if you require specific widths.\",\n hint: \"Those attributes are used to construct a `srcset` attribute, which cannot have both `x` and `w` descriptors.\"\n};\nconst ImageNotFound = {\n name: \"ImageNotFound\",\n title: \"Image not found.\",\n message: (imagePath) => `Could not find requested image \\`${imagePath}\\`. Does it exist?`,\n hint: \"This is often caused by a typo in the image path. Please make sure the file exists, and is spelled correctly.\"\n};\nconst NoImageMetadata = {\n name: \"NoImageMetadata\",\n title: \"Could not process image metadata.\",\n message: (imagePath) => `Could not process image metadata${imagePath ? ` for \\`${imagePath}\\`` : \"\"}.`,\n hint: \"This is often caused by a corrupted or malformed image. Re-exporting the image from your image editor may fix this issue.\"\n};\nconst MarkdownImageNotFound = {\n name: \"MarkdownImageNotFound\",\n title: \"Image not found.\",\n message: (imagePath, fullImagePath) => `Could not find requested image \\`${imagePath}\\`${fullImagePath ? ` at \\`${fullImagePath}\\`.` : \".\"}`,\n hint: \"This is often caused by a typo in the image path. Please make sure the file exists, and is spelled correctly.\"\n};\nconst CouldNotTransformImage = {\n name: \"CouldNotTransformImage\",\n title: \"Could not transform image.\",\n message: (imagePath) => `Could not transform image \\`${imagePath}\\`. See the stack trace for more information.`,\n hint: \"This is often caused by a corrupted or malformed image. Re-exporting the image from your image editor may fix this issue.\"\n};\nconst ResponseSentError = {\n name: \"ResponseSentError\",\n title: \"Unable to set response.\",\n message: \"The response has already been sent to the browser and cannot be altered.\"\n};\nconst MiddlewareNoDataOrNextCalled = {\n name: \"MiddlewareNoDataOrNextCalled\",\n title: \"The middleware didn't return a `Response`.\",\n message: \"Make sure your middleware returns a `Response` object, either directly or by returning the `Response` from calling the `next` function.\"\n};\nconst MiddlewareNotAResponse = {\n name: \"MiddlewareNotAResponse\",\n title: \"The middleware returned something that is not a `Response` object.\",\n message: \"Any data returned from middleware must be a valid `Response` object.\"\n};\nconst EndpointDidNotReturnAResponse = {\n name: \"EndpointDidNotReturnAResponse\",\n title: \"The endpoint did not return a `Response`.\",\n message: \"An endpoint must return either a `Response`, or a `Promise` that resolves with a `Response`.\"\n};\nconst LocalsNotAnObject = {\n name: \"LocalsNotAnObject\",\n title: \"Value assigned to `locals` is not accepted.\",\n message: \"`locals` can only be assigned to an object. Other values like numbers, strings, etc. are not accepted.\",\n hint: \"If you tried to remove some information from the `locals` object, try to use `delete` or set the property to `undefined`.\"\n};\nconst AstroResponseHeadersReassigned = {\n name: \"AstroResponseHeadersReassigned\",\n title: \"`Astro.response.headers` must not be reassigned.\",\n message: \"Individual headers can be added to and removed from `Astro.response.headers`, but it must not be replaced with another instance of `Headers` altogether.\",\n hint: \"Consider using `Astro.response.headers.add()`, and `Astro.response.headers.delete()`.\"\n};\nconst MiddlewareCantBeLoaded = {\n name: \"MiddlewareCantBeLoaded\",\n title: \"Can't load the middleware.\",\n message: \"An unknown error was thrown while loading your middleware.\"\n};\nconst LocalImageUsedWrongly = {\n name: \"LocalImageUsedWrongly\",\n title: \"Local images must be imported.\",\n message: (imageFilePath) => `\\`Image\\`'s and \\`getImage\\`'s \\`src\\` parameter must be an imported image or an URL, it cannot be a string filepath. Received \\`${imageFilePath}\\`.`,\n hint: \"If you want to use an image from your `src` folder, you need to either import it or if the image is coming from a content collection, use the [image() schema helper](https://docs.astro.build/en/guides/images/#images-in-content-collections). See https://docs.astro.build/en/guides/images/#src-required for more information on the `src` property.\"\n};\nconst AstroGlobUsedOutside = {\n name: \"AstroGlobUsedOutside\",\n title: \"Astro.glob() used outside of an Astro file.\",\n message: (globStr) => `\\`Astro.glob(${globStr})\\` can only be used in \\`.astro\\` files. \\`import.meta.glob(${globStr})\\` can be used instead to achieve a similar result.`,\n hint: \"See Vite's documentation on `import.meta.glob` for more information: https://vitejs.dev/guide/features.html#glob-import\"\n};\nconst AstroGlobNoMatch = {\n name: \"AstroGlobNoMatch\",\n title: \"Astro.glob() did not match any files.\",\n message: (globStr) => `\\`Astro.glob(${globStr})\\` did not return any matching files.`,\n hint: \"Check the pattern for typos.\"\n};\nconst RedirectWithNoLocation = {\n name: \"RedirectWithNoLocation\",\n title: \"A redirect must be given a location with the `Location` header.\"\n};\nconst InvalidDynamicRoute = {\n name: \"InvalidDynamicRoute\",\n title: \"Invalid dynamic route.\",\n message: (route, invalidParam, received) => `The ${invalidParam} param for route ${route} is invalid. Received **${received}**.`\n};\nconst MissingSharp = {\n name: \"MissingSharp\",\n title: \"Could not find Sharp.\",\n message: \"Could not find Sharp. Please install Sharp (`sharp`) manually into your project or migrate to another image service.\",\n hint: \"See Sharp's installation instructions for more information: https://sharp.pixelplumbing.com/install. If you are not relying on `astro:assets` to optimize, transform, or process any images, you can configure a passthrough image service instead of installing Sharp. See https://docs.astro.build/en/reference/errors/missing-sharp for more information.\\n\\nSee https://docs.astro.build/en/guides/images/#default-image-service for more information on how to migrate to another image service.\"\n};\nconst UnknownViteError = {\n name: \"UnknownViteError\",\n title: \"Unknown Vite Error.\"\n};\nconst FailedToLoadModuleSSR = {\n name: \"FailedToLoadModuleSSR\",\n title: \"Could not import file.\",\n message: (importName) => `Could not import \\`${importName}\\`.`,\n hint: \"This is often caused by a typo in the import path. Please make sure the file exists.\"\n};\nconst InvalidGlob = {\n name: \"InvalidGlob\",\n title: \"Invalid glob pattern.\",\n message: (globPattern) => `Invalid glob pattern: \\`${globPattern}\\`. Glob patterns must start with './', '../' or '/'.`,\n hint: \"See https://docs.astro.build/en/guides/imports/#glob-patterns for more information on supported glob patterns.\"\n};\nconst FailedToFindPageMapSSR = {\n name: \"FailedToFindPageMapSSR\",\n title: \"Astro couldn't find the correct page to render\",\n message: \"Astro couldn't find the correct page to render, probably because it wasn't correctly mapped for SSR usage. This is an internal error. Please file an issue.\"\n};\nconst MissingLocale = {\n name: \"MissingLocaleError\",\n title: \"The provided locale does not exist.\",\n message: (locale) => `The locale/path \\`${locale}\\` does not exist in the configured \\`i18n.locales\\`.`\n};\nconst MissingIndexForInternationalization = {\n name: \"MissingIndexForInternationalizationError\",\n title: \"Index page not found.\",\n message: (defaultLocale) => `Could not find index page. A root index page is required in order to create a redirect to the index URL of the default locale. (\\`/${defaultLocale}\\`)`,\n hint: (src) => `Create an index page (\\`index.astro, index.md, etc.\\`) in \\`${src}\\`.`\n};\nconst IncorrectStrategyForI18n = {\n name: \"IncorrectStrategyForI18n\",\n title: \"You can't use the current function with the current strategy\",\n message: (functionName) => `The function \\`${functionName}\\` can only be used when the \\`i18n.routing.strategy\\` is set to \\`\"manual\"\\`.`\n};\nconst NoPrerenderedRoutesWithDomains = {\n name: \"NoPrerenderedRoutesWithDomains\",\n title: \"Prerendered routes aren't supported when internationalization domains are enabled.\",\n message: (component) => `Static pages aren't yet supported with multiple domains. To enable this feature, you must disable prerendering for the page ${component}`\n};\nconst MissingMiddlewareForInternationalization = {\n name: \"MissingMiddlewareForInternationalization\",\n title: \"Enabled manual internationalization routing without having a middleware.\",\n message: \"Your configuration setting `i18n.routing: 'manual'` requires you to provide your own i18n `middleware` file.\"\n};\nconst RewriteEncounteredAnError = {\n name: \"RewriteEncounteredAnError\",\n title: \"Astro couldn't find the route to rewrite, or if was found but it emitted an error during the rendering phase.\",\n message: (route, stack) => `The route ${route} that you tried to render doesn't exist, or it emitted an error during the rendering phase. ${stack ? stack : \"\"}.`\n};\nconst CantRenderPage = {\n name: \"CantRenderPage\",\n title: \"Astro can't render the route.\",\n message: \"Astro cannot find any content to render for this route. There is no file or redirect associated with this route.\",\n hint: \"If you expect to find a route here, this may be an Astro bug. Please file an issue/restart the dev server\"\n};\nconst UnhandledRejection = {\n name: \"UnhandledRejection\",\n title: \"Unhandled rejection\",\n message: (stack) => `Astro detected an unhandled rejection. Here's the stack trace:\n${stack}`,\n hint: \"Make sure your promises all have an `await` or a `.catch()` handler.\"\n};\nconst i18nNotEnabled = {\n name: \"i18nNotEnabled\",\n title: \"i18n Not Enabled\",\n message: \"The `astro:i18n` module can not be used without enabling i18n in your Astro config.\",\n hint: \"See https://docs.astro.build/en/guides/internationalization for a guide on setting up i18n.\"\n};\nconst i18nNoLocaleFoundInPath = {\n name: \"i18nNoLocaleFoundInPath\",\n title: \"The path doesn't contain any locale\",\n message: \"You tried to use an i18n utility on a path that doesn't contain any locale. You can use `pathHasLocale` first to determine if the path has a locale.\"\n};\nconst RouteNotFound = {\n name: \"RouteNotFound\",\n title: \"Route not found.\",\n message: `Astro could not find a route that matches the one you requested.`\n};\nconst EnvInvalidVariables = {\n name: \"EnvInvalidVariables\",\n title: \"Invalid Environment Variables\",\n message: (errors) => `The following environment variables defined in \\`experimental.env.schema\\` are invalid:\n\n${errors.map((err) => `- ${err}`).join(\"\\n\")}\n`\n};\nconst EnvUnsupportedGetSecret = {\n name: \"EnvUnsupportedGetSecret\",\n title: \"Unsupported astro:env getSecret\",\n message: \"`astro:env/server` exported function `getSecret` is not supported by your adapter.\"\n};\nconst ServerOnlyModule = {\n name: \"ServerOnlyModule\",\n title: \"Module is only available server-side\",\n message: (name) => `The \"${name}\" module is only available server-side.`\n};\nconst RewriteWithBodyUsed = {\n name: \"RewriteWithBodyUsed\",\n title: \"Cannot use Astro.rewrite after the request body has been read\",\n message: \"Astro.rewrite() cannot be used if the request body has already been read. If you need to read the body, first clone the request.\"\n};\nconst UnknownFilesystemError = {\n name: \"UnknownFilesystemError\",\n title: \"An unknown error occurred while reading or writing files to disk.\",\n hint: \"It can be caused by many things, eg. missing permissions or a file not existing we attempt to read. Check the error cause for more details.\"\n};\nconst UnknownCSSError = {\n name: \"UnknownCSSError\",\n title: \"Unknown CSS Error.\"\n};\nconst CSSSyntaxError = {\n name: \"CSSSyntaxError\",\n title: \"CSS Syntax Error.\"\n};\nconst UnknownMarkdownError = {\n name: \"UnknownMarkdownError\",\n title: \"Unknown Markdown Error.\"\n};\nconst MarkdownFrontmatterParseError = {\n name: \"MarkdownFrontmatterParseError\",\n title: \"Failed to parse Markdown frontmatter.\"\n};\nconst InvalidFrontmatterInjectionError = {\n name: \"InvalidFrontmatterInjectionError\",\n title: \"Invalid frontmatter injection.\",\n message: 'A remark or rehype plugin attempted to inject invalid frontmatter. Ensure \"astro.frontmatter\" is set to a valid JSON object that is not `null` or `undefined`.',\n hint: \"See the frontmatter injection docs https://docs.astro.build/en/guides/markdown-content/#modifying-frontmatter-programmatically for more information.\"\n};\nconst MdxIntegrationMissingError = {\n name: \"MdxIntegrationMissingError\",\n title: \"MDX integration missing.\",\n message: (file) => `Unable to render ${file}. Ensure that the \\`@astrojs/mdx\\` integration is installed.`,\n hint: \"See the MDX integration docs for installation and usage instructions: https://docs.astro.build/en/guides/integrations-guide/mdx/\"\n};\nconst UnknownConfigError = {\n name: \"UnknownConfigError\",\n title: \"Unknown configuration error.\"\n};\nconst ConfigNotFound = {\n name: \"ConfigNotFound\",\n title: \"Specified configuration file not found.\",\n message: (configFile) => `Unable to resolve \\`--config \"${configFile}\"\\`. Does the file exist?`\n};\nconst ConfigLegacyKey = {\n name: \"ConfigLegacyKey\",\n title: \"Legacy configuration detected.\",\n message: (legacyConfigKey) => `Legacy configuration detected: \\`${legacyConfigKey}\\`.`,\n hint: \"Please update your configuration to the new format.\\nSee https://astro.build/config for more information.\"\n};\nconst UnknownCLIError = {\n name: \"UnknownCLIError\",\n title: \"Unknown CLI Error.\"\n};\nconst GenerateContentTypesError = {\n name: \"GenerateContentTypesError\",\n title: \"Failed to generate content types.\",\n message: (errorMessage) => `\\`astro sync\\` command failed to generate content collection types: ${errorMessage}`,\n hint: \"Check your `src/content/config.*` file for typos.\"\n};\nconst UnknownContentCollectionError = {\n name: \"UnknownContentCollectionError\",\n title: \"Unknown Content Collection Error.\"\n};\nconst GetEntryDeprecationError = {\n name: \"GetEntryDeprecationError\",\n title: \"Invalid use of `getDataEntryById` or `getEntryBySlug` function.\",\n message: (collection, method) => `The \\`${method}\\` function is deprecated and cannot be used to query the \"${collection}\" collection. Use \\`getEntry\\` instead.`,\n hint: \"Use the `getEntry` or `getCollection` functions to query content layer collections.\"\n};\nconst InvalidContentEntryFrontmatterError = {\n name: \"InvalidContentEntryFrontmatterError\",\n title: \"Content entry frontmatter does not match schema.\",\n message(collection, entryId, error) {\n return [\n `**${String(collection)} \\u2192 ${String(\n entryId\n )}** frontmatter does not match collection schema.`,\n ...error.errors.map((zodError) => zodError.message)\n ].join(\"\\n\");\n },\n hint: \"See https://docs.astro.build/en/guides/content-collections/ for more information on content schemas.\"\n};\nconst InvalidContentEntrySlugError = {\n name: \"InvalidContentEntrySlugError\",\n title: \"Invalid content entry slug.\",\n message(collection, entryId) {\n return `${String(collection)} \\u2192 ${String(\n entryId\n )} has an invalid slug. \\`slug\\` must be a string.`;\n },\n hint: \"See https://docs.astro.build/en/guides/content-collections/ for more on the `slug` field.\"\n};\nconst ContentSchemaContainsSlugError = {\n name: \"ContentSchemaContainsSlugError\",\n title: \"Content Schema should not contain `slug`.\",\n message: (collectionName) => `A content collection schema should not contain \\`slug\\` since it is reserved for slug generation. Remove this from your ${collectionName} collection schema.`,\n hint: \"See https://docs.astro.build/en/guides/content-collections/ for more on the `slug` field.\"\n};\nconst CollectionDoesNotExistError = {\n name: \"CollectionDoesNotExistError\",\n title: \"Collection does not exist\",\n message: (collectionName) => `The collection **${collectionName}** does not exist. Ensure a collection directory with this name exists.`,\n hint: \"See https://docs.astro.build/en/guides/content-collections/ for more on creating collections.\"\n};\nconst MixedContentDataCollectionError = {\n name: \"MixedContentDataCollectionError\",\n title: \"Content and data cannot be in same collection.\",\n message: (collectionName) => `**${collectionName}** contains a mix of content and data entries. All entries must be of the same type.`,\n hint: \"Store data entries in a new collection separate from your content collection.\"\n};\nconst ContentCollectionTypeMismatchError = {\n name: \"ContentCollectionTypeMismatchError\",\n title: \"Collection contains entries of a different type.\",\n message: (collection, expectedType, actualType) => `${collection} contains ${expectedType} entries, but is configured as a ${actualType} collection.`\n};\nconst DataCollectionEntryParseError = {\n name: \"DataCollectionEntryParseError\",\n title: \"Data collection entry failed to parse.\",\n message(entryId, errorMessage) {\n return `**${entryId}** failed to parse: ${errorMessage}`;\n },\n hint: \"Ensure your data entry is an object with valid JSON (for `.json` entries) or YAML (for `.yaml` entries).\"\n};\nconst DuplicateContentEntrySlugError = {\n name: \"DuplicateContentEntrySlugError\",\n title: \"Duplicate content entry slug.\",\n message(collection, slug, preExisting, alsoFound) {\n return `**${collection}** contains multiple entries with the same slug: \\`${slug}\\`. Slugs must be unique.\n\nEntries: \n- ${preExisting}\n- ${alsoFound}`;\n }\n};\nconst UnsupportedConfigTransformError = {\n name: \"UnsupportedConfigTransformError\",\n title: \"Unsupported transform in content config.\",\n message: (parseError) => `\\`transform()\\` functions in your content config must return valid JSON, or data types compatible with the devalue library (including Dates, Maps, and Sets).\nFull error: ${parseError}`,\n hint: \"See the devalue library for all supported types: https://github.com/rich-harris/devalue\"\n};\nconst ActionsWithoutServerOutputError = {\n name: \"ActionsWithoutServerOutputError\",\n title: \"Actions must be used with server output.\",\n message: \"Actions enabled without setting a server build output. A server is required to create callable backend functions. To deploy routes to a server, add a server adapter to your astro config.\",\n hint: \"Learn about on-demand rendering: https://docs.astro.build/en/basics/rendering-modes/#on-demand-rendered\"\n};\nconst ActionsReturnedInvalidDataError = {\n name: \"ActionsReturnedInvalidDataError\",\n title: \"Action handler returned invalid data.\",\n message: (error) => `Action handler returned invalid data. Handlers should return serializable data types like objects, arrays, strings, and numbers. Parse error: ${error}`,\n hint: \"See the devalue library for all supported types: https://github.com/rich-harris/devalue\"\n};\nconst ActionNotFoundError = {\n name: \"ActionNotFoundError\",\n title: \"Action not found.\",\n message: (actionName) => `The server received a request for an action named \\`${actionName}\\` but could not find a match. If you renamed an action, check that you've updated your \\`actions/index\\` file and your calling code to match.`,\n hint: \"You can run `astro check` to detect type errors caused by mismatched action names.\"\n};\nconst ActionCalledFromServerError = {\n name: \"ActionCalledFromServerError\",\n title: \"Action unexpected called from the server.\",\n message: \"Action called from a server page or endpoint without using `Astro.callAction()`. This wrapper must be used to call actions from server code.\",\n hint: \"See the `Astro.callAction()` reference for usage examples: https://docs.astro.build/en/reference/api-reference/#astrocallaction\"\n};\nconst UnknownError = { name: \"UnknownError\", title: \"Unknown Error.\" };\nexport {\n ActionCalledFromServerError,\n ActionNotFoundError,\n ActionsReturnedInvalidDataError,\n ActionsWithoutServerOutputError,\n AstroGlobNoMatch,\n AstroGlobUsedOutside,\n AstroResponseHeadersReassigned,\n CSSSyntaxError,\n CantRenderPage,\n ClientAddressNotAvailable,\n CollectionDoesNotExistError,\n ConfigLegacyKey,\n ConfigNotFound,\n ContentCollectionTypeMismatchError,\n ContentSchemaContainsSlugError,\n CouldNotTransformImage,\n DataCollectionEntryParseError,\n DuplicateContentEntrySlugError,\n EndpointDidNotReturnAResponse,\n EnvInvalidVariables,\n EnvUnsupportedGetSecret,\n ExpectedImage,\n ExpectedImageOptions,\n ExpectedNotESMImage,\n FailedToFetchRemoteImageDimensions,\n FailedToFindPageMapSSR,\n FailedToLoadModuleSSR,\n GenerateContentTypesError,\n GetEntryDeprecationError,\n GetStaticPathsExpectedParams,\n GetStaticPathsInvalidRouteParam,\n GetStaticPathsRemovedRSSHelper,\n GetStaticPathsRequired,\n ImageMissingAlt,\n ImageNotFound,\n IncompatibleDescriptorOptions,\n IncorrectStrategyForI18n,\n InvalidComponentArgs,\n InvalidContentEntryFrontmatterError,\n InvalidContentEntrySlugError,\n InvalidDynamicRoute,\n InvalidFrontmatterInjectionError,\n InvalidGetStaticPathParam,\n InvalidGetStaticPathsEntry,\n InvalidGetStaticPathsReturn,\n InvalidGlob,\n InvalidImageService,\n InvalidPrerenderExport,\n LocalImageUsedWrongly,\n LocalsNotAnObject,\n MarkdownFrontmatterParseError,\n MarkdownImageNotFound,\n MdxIntegrationMissingError,\n MiddlewareCantBeLoaded,\n MiddlewareNoDataOrNextCalled,\n MiddlewareNotAResponse,\n MissingImageDimension,\n MissingIndexForInternationalization,\n MissingLocale,\n MissingMediaQueryDirective,\n MissingMiddlewareForInternationalization,\n MissingSharp,\n MixedContentDataCollectionError,\n NoAdapterInstalled,\n NoClientEntrypoint,\n NoClientOnlyHint,\n NoImageMetadata,\n NoMatchingImport,\n NoMatchingRenderer,\n NoMatchingStaticPathFound,\n NoPrerenderedRoutesWithDomains,\n OnlyResponseCanBeReturned,\n PageNumberParamNotFound,\n PrerenderClientAddressNotAvailable,\n PrerenderDynamicEndpointPathCollide,\n RedirectWithNoLocation,\n ReservedSlotName,\n ResponseSentError,\n RewriteEncounteredAnError,\n RewriteWithBodyUsed,\n RouteNotFound,\n ServerOnlyModule,\n StaticClientAddressNotAvailable,\n StaticRedirectNotAvailable,\n UnhandledRejection,\n UnknownCLIError,\n UnknownCSSError,\n UnknownCompilerError,\n UnknownConfigError,\n UnknownContentCollectionError,\n UnknownError,\n UnknownFilesystemError,\n UnknownMarkdownError,\n UnknownViteError,\n UnsupportedConfigTransformError,\n UnsupportedImageConversion,\n UnsupportedImageFormat,\n i18nNoLocaleFoundInPath,\n i18nNotEnabled\n};\n","function positionAt(offset, text) {\n const lineOffsets = getLineOffsets(text);\n offset = Math.max(0, Math.min(text.length, offset));\n let low = 0;\n let high = lineOffsets.length;\n if (high === 0) {\n return {\n line: 0,\n column: offset\n };\n }\n while (low <= high) {\n const mid = Math.floor((low + high) / 2);\n const lineOffset = lineOffsets[mid];\n if (lineOffset === offset) {\n return {\n line: mid,\n column: 0\n };\n } else if (offset > lineOffset) {\n low = mid + 1;\n } else {\n high = mid - 1;\n }\n }\n const line = low - 1;\n return { line, column: offset - lineOffsets[line] };\n}\nfunction getLineOffsets(text) {\n const lineOffsets = [];\n let isLineStart = true;\n for (let i = 0; i < text.length; i++) {\n if (isLineStart) {\n lineOffsets.push(i);\n isLineStart = false;\n }\n const ch = text.charAt(i);\n isLineStart = ch === \"\\r\" || ch === \"\\n\";\n if (ch === \"\\r\" && i + 1 < text.length && text.charAt(i + 1) === \"\\n\") {\n i++;\n }\n }\n if (isLineStart && text.length > 0) {\n lineOffsets.push(text.length);\n }\n return lineOffsets;\n}\nfunction isYAMLException(err) {\n return err instanceof Error && err.name === \"YAMLException\";\n}\nfunction formatYAMLException(e) {\n return {\n name: e.name,\n id: e.mark.name,\n loc: { file: e.mark.name, line: e.mark.line + 1, column: e.mark.column },\n message: e.reason,\n stack: e.stack ?? \"\"\n };\n}\nfunction createSafeError(err) {\n if (err instanceof Error || err?.name && err.message) {\n return err;\n } else {\n const error = new Error(JSON.stringify(err));\n error.hint = `To get as much information as possible from your errors, make sure to throw Error objects instead of \\`${typeof err}\\`. See https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Error for more information.`;\n return error;\n }\n}\nfunction normalizeLF(code) {\n return code.replace(/\\r\\n|\\r(?!\\n)|\\n/g, \"\\n\");\n}\nexport {\n createSafeError,\n formatYAMLException,\n isYAMLException,\n normalizeLF,\n positionAt\n};\n","import { normalizeLF } from \"./utils.js\";\nfunction codeFrame(src, loc) {\n if (!loc || loc.line === void 0 || loc.column === void 0) {\n return \"\";\n }\n const lines = normalizeLF(src).split(\"\\n\").map((ln) => ln.replace(/\\t/g, \" \"));\n const visibleLines = [];\n for (let n = -2; n <= 2; n++) {\n if (lines[loc.line + n]) visibleLines.push(loc.line + n);\n }\n let gutterWidth = 0;\n for (const lineNo of visibleLines) {\n let w = `> ${lineNo}`;\n if (w.length > gutterWidth) gutterWidth = w.length;\n }\n let output = \"\";\n for (const lineNo of visibleLines) {\n const isFocusedLine = lineNo === loc.line - 1;\n output += isFocusedLine ? \"> \" : \" \";\n output += `${lineNo + 1} | ${lines[lineNo]}\n`;\n if (isFocusedLine)\n output += `${Array.from({ length: gutterWidth }).join(\" \")} | ${Array.from({\n length: loc.column\n }).join(\" \")}^\n`;\n }\n return output;\n}\nexport {\n codeFrame\n};\n","import { codeFrame } from \"./printer.js\";\nfunction isAstroError(e) {\n return e instanceof AstroError;\n}\nclass AstroError extends Error {\n loc;\n title;\n hint;\n frame;\n type = \"AstroError\";\n constructor(props, options) {\n const { name, title, message, stack, location, hint, frame } = props;\n super(message, options);\n this.title = title;\n this.name = name;\n if (message) this.message = message;\n this.stack = stack ? stack : this.stack;\n this.loc = location;\n this.hint = hint;\n this.frame = frame;\n }\n setLocation(location) {\n this.loc = location;\n }\n setName(name) {\n this.name = name;\n }\n setMessage(message) {\n this.message = message;\n }\n setHint(hint) {\n this.hint = hint;\n }\n setFrame(source, location) {\n this.frame = codeFrame(source, location);\n }\n static is(err) {\n return err.type === \"AstroError\";\n }\n}\nclass CompilerError extends AstroError {\n type = \"CompilerError\";\n constructor(props, options) {\n super(props, options);\n }\n static is(err) {\n return err.type === \"CompilerError\";\n }\n}\nclass CSSError extends AstroError {\n type = \"CSSError\";\n static is(err) {\n return err.type === \"CSSError\";\n }\n}\nclass MarkdownError extends AstroError {\n type = \"MarkdownError\";\n static is(err) {\n return err.type === \"MarkdownError\";\n }\n}\nclass InternalError extends AstroError {\n type = \"InternalError\";\n static is(err) {\n return err.type === \"InternalError\";\n }\n}\nclass AggregateError extends AstroError {\n type = \"AggregateError\";\n errors;\n // Despite being a collection of errors, AggregateError still needs to have a main error attached to it\n // This is because Vite expects every thrown errors handled during HMR to be, well, Error and have a message\n constructor(props, options) {\n super(props, options);\n this.errors = props.errors;\n }\n static is(err) {\n return err.type === \"AggregateError\";\n }\n}\nconst astroConfigZodErrors = /* @__PURE__ */ new WeakSet();\nfunction isAstroConfigZodError(error) {\n return astroConfigZodErrors.has(error);\n}\nfunction trackAstroConfigZodError(error) {\n astroConfigZodErrors.add(error);\n}\nclass AstroUserError extends Error {\n type = \"AstroUserError\";\n /**\n * A message that explains to the user how they can fix the error.\n */\n hint;\n name = \"AstroUserError\";\n constructor(message, hint) {\n super();\n this.message = message;\n this.hint = hint;\n }\n static is(err) {\n return err.type === \"AstroUserError\";\n }\n}\nexport {\n AggregateError,\n AstroError,\n AstroUserError,\n CSSError,\n CompilerError,\n InternalError,\n MarkdownError,\n isAstroConfigZodError,\n isAstroError,\n trackAstroConfigZodError\n};\n","import { AstroError, AstroErrorData } from \"../../core/errors/index.js\";\nfunction validateArgs(args) {\n if (args.length !== 3) return false;\n if (!args[0] || typeof args[0] !== \"object\") return false;\n return true;\n}\nfunction baseCreateComponent(cb, moduleId, propagation) {\n const name = moduleId?.split(\"/\").pop()?.replace(\".astro\", \"\") ?? \"\";\n const fn = (...args) => {\n if (!validateArgs(args)) {\n throw new AstroError({\n ...AstroErrorData.InvalidComponentArgs,\n message: AstroErrorData.InvalidComponentArgs.message(name)\n });\n }\n return cb(...args);\n };\n Object.defineProperty(fn, \"name\", { value: name, writable: false });\n fn.isAstroComponentFactory = true;\n fn.moduleId = moduleId;\n fn.propagation = propagation;\n return fn;\n}\nfunction createComponentWithOptions(opts) {\n const cb = baseCreateComponent(opts.factory, opts.moduleId, opts.propagation);\n return cb;\n}\nfunction createComponent(arg1, moduleId, propagation) {\n if (typeof arg1 === \"function\") {\n return baseCreateComponent(arg1, moduleId, propagation);\n } else {\n return createComponentWithOptions(arg1);\n }\n}\nexport {\n createComponent\n};\n","const ASTRO_VERSION = \"4.15.1\";\nconst REROUTE_DIRECTIVE_HEADER = \"X-Astro-Reroute\";\nconst REWRITE_DIRECTIVE_HEADER_KEY = \"X-Astro-Rewrite\";\nconst REWRITE_DIRECTIVE_HEADER_VALUE = \"yes\";\nconst ROUTE_TYPE_HEADER = \"X-Astro-Route-Type\";\nconst DEFAULT_404_COMPONENT = \"astro-default-404.astro\";\nconst DEFAULT_500_COMPONENT = \"astro-default-500.astro\";\nconst REDIRECT_STATUS_CODES = [301, 302, 303, 307, 308, 300, 304];\nconst REROUTABLE_STATUS_CODES = [404, 500];\nconst clientAddressSymbol = Symbol.for(\"astro.clientAddress\");\nconst clientLocalsSymbol = Symbol.for(\"astro.locals\");\nconst responseSentSymbol = Symbol.for(\"astro.responseSent\");\nconst SUPPORTED_MARKDOWN_FILE_EXTENSIONS = [\n \".markdown\",\n \".mdown\",\n \".mkdn\",\n \".mkd\",\n \".mdwn\",\n \".md\"\n];\nconst MIDDLEWARE_PATH_SEGMENT_NAME = \"middleware\";\nexport {\n ASTRO_VERSION,\n DEFAULT_404_COMPONENT,\n DEFAULT_500_COMPONENT,\n MIDDLEWARE_PATH_SEGMENT_NAME,\n REDIRECT_STATUS_CODES,\n REROUTABLE_STATUS_CODES,\n REROUTE_DIRECTIVE_HEADER,\n REWRITE_DIRECTIVE_HEADER_KEY,\n REWRITE_DIRECTIVE_HEADER_VALUE,\n ROUTE_TYPE_HEADER,\n SUPPORTED_MARKDOWN_FILE_EXTENSIONS,\n clientAddressSymbol,\n clientLocalsSymbol,\n responseSentSymbol\n};\n","import { ASTRO_VERSION } from \"../../core/constants.js\";\nimport { AstroError, AstroErrorData } from \"../../core/errors/index.js\";\nfunction createAstroGlobFn() {\n const globHandler = (importMetaGlobResult) => {\n if (typeof importMetaGlobResult === \"string\") {\n throw new AstroError({\n ...AstroErrorData.AstroGlobUsedOutside,\n message: AstroErrorData.AstroGlobUsedOutside.message(JSON.stringify(importMetaGlobResult))\n });\n }\n let allEntries = [...Object.values(importMetaGlobResult)];\n if (allEntries.length === 0) {\n throw new AstroError({\n ...AstroErrorData.AstroGlobNoMatch,\n message: AstroErrorData.AstroGlobNoMatch.message(JSON.stringify(importMetaGlobResult))\n });\n }\n return Promise.all(allEntries.map((fn) => fn()));\n };\n return globHandler;\n}\nfunction createAstro(site) {\n return {\n // TODO: this is no longer necessary for `Astro.site`\n // but it somehow allows working around caching issues in content collections for some tests\n site: site ? new URL(site) : void 0,\n generator: `Astro v${ASTRO_VERSION}`,\n glob: createAstroGlobFn()\n };\n}\nexport {\n createAstro\n};\n","function isPromise(value) {\n return !!value && typeof value === \"object\" && \"then\" in value && typeof value.then === \"function\";\n}\nasync function* streamAsyncIterator(stream) {\n const reader = stream.getReader();\n try {\n while (true) {\n const { done, value } = await reader.read();\n if (done) return;\n yield value;\n }\n } finally {\n reader.releaseLock();\n }\n}\nexport {\n isPromise,\n streamAsyncIterator\n};\n","import { escape } from \"html-escaper\";\nimport { streamAsyncIterator } from \"./util.js\";\nconst escapeHTML = escape;\nclass HTMLBytes extends Uint8Array {\n}\nObject.defineProperty(HTMLBytes.prototype, Symbol.toStringTag, {\n get() {\n return \"HTMLBytes\";\n }\n});\nclass HTMLString extends String {\n get [Symbol.toStringTag]() {\n return \"HTMLString\";\n }\n}\nconst markHTMLString = (value) => {\n if (value instanceof HTMLString) {\n return value;\n }\n if (typeof value === \"string\") {\n return new HTMLString(value);\n }\n return value;\n};\nfunction isHTMLString(value) {\n return Object.prototype.toString.call(value) === \"[object HTMLString]\";\n}\nfunction markHTMLBytes(bytes) {\n return new HTMLBytes(bytes);\n}\nfunction isHTMLBytes(value) {\n return Object.prototype.toString.call(value) === \"[object HTMLBytes]\";\n}\nfunction hasGetReader(obj) {\n return typeof obj.getReader === \"function\";\n}\nasync function* unescapeChunksAsync(iterable) {\n if (hasGetReader(iterable)) {\n for await (const chunk of streamAsyncIterator(iterable)) {\n yield unescapeHTML(chunk);\n }\n } else {\n for await (const chunk of iterable) {\n yield unescapeHTML(chunk);\n }\n }\n}\nfunction* unescapeChunks(iterable) {\n for (const chunk of iterable) {\n yield unescapeHTML(chunk);\n }\n}\nfunction unescapeHTML(str) {\n if (!!str && typeof str === \"object\") {\n if (str instanceof Uint8Array) {\n return markHTMLBytes(str);\n } else if (str instanceof Response && str.body) {\n const body = str.body;\n return unescapeChunksAsync(body);\n } else if (typeof str.then === \"function\") {\n return Promise.resolve(str).then((value) => {\n return unescapeHTML(value);\n });\n } else if (str[Symbol.for(\"astro:slot-string\")]) {\n return str;\n } else if (Symbol.iterator in str) {\n return unescapeChunks(str);\n } else if (Symbol.asyncIterator in str || hasGetReader(str)) {\n return unescapeChunksAsync(str);\n }\n }\n return markHTMLString(str);\n}\nexport {\n HTMLBytes,\n HTMLString,\n escapeHTML,\n isHTMLBytes,\n isHTMLString,\n markHTMLString,\n unescapeHTML\n};\n","const RenderInstructionSymbol = Symbol.for(\"astro:render\");\nfunction createRenderInstruction(instruction) {\n return Object.defineProperty(instruction, RenderInstructionSymbol, {\n value: true\n });\n}\nfunction isRenderInstruction(chunk) {\n return chunk && typeof chunk === \"object\" && chunk[RenderInstructionSymbol];\n}\nexport {\n createRenderInstruction,\n isRenderInstruction\n};\n","const PROP_TYPE = {\n Value: 0,\n JSON: 1,\n // Actually means Array\n RegExp: 2,\n Date: 3,\n Map: 4,\n Set: 5,\n BigInt: 6,\n URL: 7,\n Uint8Array: 8,\n Uint16Array: 9,\n Uint32Array: 10\n};\nfunction serializeArray(value, metadata = {}, parents = /* @__PURE__ */ new WeakSet()) {\n if (parents.has(value)) {\n throw new Error(`Cyclic reference detected while serializing props for <${metadata.displayName} client:${metadata.hydrate}>!\n\nCyclic references cannot be safely serialized for client-side usage. Please remove the cyclic reference.`);\n }\n parents.add(value);\n const serialized = value.map((v) => {\n return convertToSerializedForm(v, metadata, parents);\n });\n parents.delete(value);\n return serialized;\n}\nfunction serializeObject(value, metadata = {}, parents = /* @__PURE__ */ new WeakSet()) {\n if (parents.has(value)) {\n throw new Error(`Cyclic reference detected while serializing props for <${metadata.displayName} client:${metadata.hydrate}>!\n\nCyclic references cannot be safely serialized for client-side usage. Please remove the cyclic reference.`);\n }\n parents.add(value);\n const serialized = Object.fromEntries(\n Object.entries(value).map(([k, v]) => {\n return [k, convertToSerializedForm(v, metadata, parents)];\n })\n );\n parents.delete(value);\n return serialized;\n}\nfunction convertToSerializedForm(value, metadata = {}, parents = /* @__PURE__ */ new WeakSet()) {\n const tag = Object.prototype.toString.call(value);\n switch (tag) {\n case \"[object Date]\": {\n return [PROP_TYPE.Date, value.toISOString()];\n }\n case \"[object RegExp]\": {\n return [PROP_TYPE.RegExp, value.source];\n }\n case \"[object Map]\": {\n return [PROP_TYPE.Map, serializeArray(Array.from(value), metadata, parents)];\n }\n case \"[object Set]\": {\n return [PROP_TYPE.Set, serializeArray(Array.from(value), metadata, parents)];\n }\n case \"[object BigInt]\": {\n return [PROP_TYPE.BigInt, value.toString()];\n }\n case \"[object URL]\": {\n return [PROP_TYPE.URL, value.toString()];\n }\n case \"[object Array]\": {\n return [PROP_TYPE.JSON, serializeArray(value, metadata, parents)];\n }\n case \"[object Uint8Array]\": {\n return [PROP_TYPE.Uint8Array, Array.from(value)];\n }\n case \"[object Uint16Array]\": {\n return [PROP_TYPE.Uint16Array, Array.from(value)];\n }\n case \"[object Uint32Array]\": {\n return [PROP_TYPE.Uint32Array, Array.from(value)];\n }\n default: {\n if (value !== null && typeof value === \"object\") {\n return [PROP_TYPE.Value, serializeObject(value, metadata, parents)];\n } else if (value === void 0) {\n return [PROP_TYPE.Value];\n } else {\n return [PROP_TYPE.Value, value];\n }\n }\n }\n}\nfunction serializeProps(props, metadata) {\n const serialized = JSON.stringify(serializeObject(props, metadata));\n return serialized;\n}\nexport {\n serializeProps\n};\n","import { AstroError, AstroErrorData } from \"../../core/errors/index.js\";\nimport { escapeHTML } from \"./escape.js\";\nimport { serializeProps } from \"./serialize.js\";\nconst transitionDirectivesToCopyOnIsland = Object.freeze([\n \"data-astro-transition-scope\",\n \"data-astro-transition-persist\",\n \"data-astro-transition-persist-props\"\n]);\nfunction extractDirectives(inputProps, clientDirectives) {\n let extracted = {\n isPage: false,\n hydration: null,\n props: {},\n propsWithoutTransitionAttributes: {}\n };\n for (const [key, value] of Object.entries(inputProps)) {\n if (key.startsWith(\"server:\")) {\n if (key === \"server:root\") {\n extracted.isPage = true;\n }\n }\n if (key.startsWith(\"client:\")) {\n if (!extracted.hydration) {\n extracted.hydration = {\n directive: \"\",\n value: \"\",\n componentUrl: \"\",\n componentExport: { value: \"\" }\n };\n }\n switch (key) {\n case \"client:component-path\": {\n extracted.hydration.componentUrl = value;\n break;\n }\n case \"client:component-export\": {\n extracted.hydration.componentExport.value = value;\n break;\n }\n case \"client:component-hydration\": {\n break;\n }\n case \"client:display-name\": {\n break;\n }\n default: {\n extracted.hydration.directive = key.split(\":\")[1];\n extracted.hydration.value = value;\n if (!clientDirectives.has(extracted.hydration.directive)) {\n const hydrationMethods = Array.from(clientDirectives.keys()).map((d) => `client:${d}`).join(\", \");\n throw new Error(\n `Error: invalid hydration directive \"${key}\". Supported hydration methods: ${hydrationMethods}`\n );\n }\n if (extracted.hydration.directive === \"media\" && typeof extracted.hydration.value !== \"string\") {\n throw new AstroError(AstroErrorData.MissingMediaQueryDirective);\n }\n break;\n }\n }\n } else {\n extracted.props[key] = value;\n if (!transitionDirectivesToCopyOnIsland.includes(key)) {\n extracted.propsWithoutTransitionAttributes[key] = value;\n }\n }\n }\n for (const sym of Object.getOwnPropertySymbols(inputProps)) {\n extracted.props[sym] = inputProps[sym];\n extracted.propsWithoutTransitionAttributes[sym] = inputProps[sym];\n }\n return extracted;\n}\nasync function generateHydrateScript(scriptOptions, metadata) {\n const { renderer, result, astroId, props, attrs } = scriptOptions;\n const { hydrate, componentUrl, componentExport } = metadata;\n if (!componentExport.value) {\n throw new AstroError({\n ...AstroErrorData.NoMatchingImport,\n message: AstroErrorData.NoMatchingImport.message(metadata.displayName)\n });\n }\n const island = {\n children: \"\",\n props: {\n // This is for HMR, probably can avoid it in prod\n uid: astroId\n }\n };\n if (attrs) {\n for (const [key, value] of Object.entries(attrs)) {\n island.props[key] = escapeHTML(value);\n }\n }\n island.props[\"component-url\"] = await result.resolve(decodeURI(componentUrl));\n if (renderer.clientEntrypoint) {\n island.props[\"component-export\"] = componentExport.value;\n island.props[\"renderer-url\"] = await result.resolve(decodeURI(renderer.clientEntrypoint));\n island.props[\"props\"] = escapeHTML(serializeProps(props, metadata));\n }\n island.props[\"ssr\"] = \"\";\n island.props[\"client\"] = hydrate;\n let beforeHydrationUrl = await result.resolve(\"astro:scripts/before-hydration.js\");\n if (beforeHydrationUrl.length) {\n island.props[\"before-hydration-url\"] = beforeHydrationUrl;\n }\n island.props[\"opts\"] = escapeHTML(\n JSON.stringify({\n name: metadata.displayName,\n value: metadata.hydrateArgs || \"\"\n })\n );\n transitionDirectivesToCopyOnIsland.forEach((name) => {\n if (typeof props[name] !== \"undefined\") {\n island.props[name] = props[name];\n }\n });\n return island;\n}\nexport {\n extractDirectives,\n generateHydrateScript\n};\n","/**\n * shortdash - https://github.com/bibig/node-shorthash\n *\n * @license\n *\n * (The MIT License)\n *\n * Copyright (c) 2013 Bibig \n *\n * Permission is hereby granted, free of charge, to any person\n * obtaining a copy of this software and associated documentation\n * files (the \"Software\"), to deal in the Software without\n * restriction, including without limitation the rights to use,\n * copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the\n * Software is furnished to do so, subject to the following\n * conditions:\n *\n * The above copyright notice and this permission notice shall be\n * included in all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\n * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES\n * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\n * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT\n * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,\n * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING\n * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR\n * OTHER DEALINGS IN THE SOFTWARE.\n */\nconst dictionary = \"0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXY\";\nconst binary = dictionary.length;\nfunction bitwise(str) {\n let hash = 0;\n if (str.length === 0) return hash;\n for (let i = 0; i < str.length; i++) {\n const ch = str.charCodeAt(i);\n hash = (hash << 5) - hash + ch;\n hash = hash & hash;\n }\n return hash;\n}\nfunction shorthash(text) {\n let num;\n let result = \"\";\n let integer = bitwise(text);\n const sign = integer < 0 ? \"Z\" : \"\";\n integer = Math.abs(integer);\n while (integer >= binary) {\n num = integer % binary;\n integer = Math.floor(integer / binary);\n result = dictionary[num] + result;\n }\n if (integer > 0) {\n result = dictionary[integer] + result;\n }\n return sign + result;\n}\nexport {\n shorthash\n};\n","function isAstroComponentFactory(obj) {\n return obj == null ? false : obj.isAstroComponentFactory === true;\n}\nfunction isAPropagatingComponent(result, factory) {\n let hint = factory.propagation || \"none\";\n if (factory.moduleId && result.componentMetadata.has(factory.moduleId) && hint === \"none\") {\n hint = result.componentMetadata.get(factory.moduleId).propagation;\n }\n return hint === \"in-tree\" || hint === \"self\";\n}\nexport {\n isAPropagatingComponent,\n isAstroComponentFactory\n};\n","const headAndContentSym = Symbol.for(\"astro.headAndContent\");\nfunction isHeadAndContent(obj) {\n return typeof obj === \"object\" && !!obj[headAndContentSym];\n}\nfunction createHeadAndContent(head, content) {\n return {\n [headAndContentSym]: true,\n head,\n content\n };\n}\nexport {\n createHeadAndContent,\n isHeadAndContent\n};\n","var astro_island_prebuilt_dev_default = `(()=>{var A=Object.defineProperty;var g=(i,o,a)=>o in i?A(i,o,{enumerable:!0,configurable:!0,writable:!0,value:a}):i[o]=a;var l=(i,o,a)=>g(i,typeof o!=\"symbol\"?o+\"\":o,a);{let i={0:t=>y(t),1:t=>a(t),2:t=>new RegExp(t),3:t=>new Date(t),4:t=>new Map(a(t)),5:t=>new Set(a(t)),6:t=>BigInt(t),7:t=>new URL(t),8:t=>new Uint8Array(t),9:t=>new Uint16Array(t),10:t=>new Uint32Array(t)},o=t=>{let[h,e]=t;return h in i?i[h](e):void 0},a=t=>t.map(o),y=t=>typeof t!=\"object\"||t===null?t:Object.fromEntries(Object.entries(t).map(([h,e])=>[h,o(e)]));class f extends HTMLElement{constructor(){super(...arguments);l(this,\"Component\");l(this,\"hydrator\");l(this,\"hydrate\",async()=>{var b;if(!this.hydrator||!this.isConnected)return;let e=(b=this.parentElement)==null?void 0:b.closest(\"astro-island[ssr]\");if(e){e.addEventListener(\"astro:hydrate\",this.hydrate,{once:!0});return}let c=this.querySelectorAll(\"astro-slot\"),n={},p=this.querySelectorAll(\"template[data-astro-template]\");for(let r of p){let s=r.closest(this.tagName);s!=null&&s.isSameNode(this)&&(n[r.getAttribute(\"data-astro-template\")||\"default\"]=r.innerHTML,r.remove())}for(let r of c){let s=r.closest(this.tagName);s!=null&&s.isSameNode(this)&&(n[r.getAttribute(\"name\")||\"default\"]=r.innerHTML)}let u;try{u=this.hasAttribute(\"props\")?y(JSON.parse(this.getAttribute(\"props\"))):{}}catch(r){let s=this.getAttribute(\"component-url\")||\"\",v=this.getAttribute(\"component-export\");throw v&&(s+=\\` (export \\${v})\\`),console.error(\\`[hydrate] Error parsing props for component \\${s}\\`,this.getAttribute(\"props\"),r),r}let d,m=this.hydrator(this);d=performance.now(),await m(this.Component,u,n,{client:this.getAttribute(\"client\")}),d&&this.setAttribute(\"client-render-time\",(performance.now()-d).toString()),this.removeAttribute(\"ssr\"),this.dispatchEvent(new CustomEvent(\"astro:hydrate\"))});l(this,\"unmount\",()=>{this.isConnected||this.dispatchEvent(new CustomEvent(\"astro:unmount\"))})}disconnectedCallback(){document.removeEventListener(\"astro:after-swap\",this.unmount),document.addEventListener(\"astro:after-swap\",this.unmount,{once:!0})}connectedCallback(){if(!this.hasAttribute(\"await-children\")||document.readyState===\"interactive\"||document.readyState===\"complete\")this.childrenConnectedCallback();else{let e=()=>{document.removeEventListener(\"DOMContentLoaded\",e),c.disconnect(),this.childrenConnectedCallback()},c=new MutationObserver(()=>{var n;((n=this.lastChild)==null?void 0:n.nodeType)===Node.COMMENT_NODE&&this.lastChild.nodeValue===\"astro:end\"&&(this.lastChild.remove(),e())});c.observe(this,{childList:!0}),document.addEventListener(\"DOMContentLoaded\",e)}}async childrenConnectedCallback(){let e=this.getAttribute(\"before-hydration-url\");e&&await import(e),this.start()}async start(){let e=JSON.parse(this.getAttribute(\"opts\")),c=this.getAttribute(\"client\");if(Astro[c]===void 0){window.addEventListener(\\`astro:\\${c}\\`,()=>this.start(),{once:!0});return}try{await Astro[c](async()=>{let n=this.getAttribute(\"renderer-url\"),[p,{default:u}]=await Promise.all([import(this.getAttribute(\"component-url\")),n?import(n):()=>()=>{}]),d=this.getAttribute(\"component-export\")||\"default\";if(!d.includes(\".\"))this.Component=p[d];else{this.Component=p;for(let m of d.split(\".\"))this.Component=this.Component[m]}return this.hydrator=u,this.hydrate},e,this)}catch(n){console.error(\\`[astro-island] Error hydrating \\${this.getAttribute(\"component-url\")}\\`,n)}}attributeChangedCallback(){this.hydrate()}}l(f,\"observedAttributes\",[\"props\"]),customElements.get(\"astro-island\")||customElements.define(\"astro-island\",f)}})();`;\nexport {\n astro_island_prebuilt_dev_default as default\n};\n","var astro_island_prebuilt_default = `(()=>{var A=Object.defineProperty;var g=(i,o,a)=>o in i?A(i,o,{enumerable:!0,configurable:!0,writable:!0,value:a}):i[o]=a;var d=(i,o,a)=>g(i,typeof o!=\"symbol\"?o+\"\":o,a);{let i={0:t=>m(t),1:t=>a(t),2:t=>new RegExp(t),3:t=>new Date(t),4:t=>new Map(a(t)),5:t=>new Set(a(t)),6:t=>BigInt(t),7:t=>new URL(t),8:t=>new Uint8Array(t),9:t=>new Uint16Array(t),10:t=>new Uint32Array(t)},o=t=>{let[l,e]=t;return l in i?i[l](e):void 0},a=t=>t.map(o),m=t=>typeof t!=\"object\"||t===null?t:Object.fromEntries(Object.entries(t).map(([l,e])=>[l,o(e)]));class y extends HTMLElement{constructor(){super(...arguments);d(this,\"Component\");d(this,\"hydrator\");d(this,\"hydrate\",async()=>{var b;if(!this.hydrator||!this.isConnected)return;let e=(b=this.parentElement)==null?void 0:b.closest(\"astro-island[ssr]\");if(e){e.addEventListener(\"astro:hydrate\",this.hydrate,{once:!0});return}let c=this.querySelectorAll(\"astro-slot\"),n={},h=this.querySelectorAll(\"template[data-astro-template]\");for(let r of h){let s=r.closest(this.tagName);s!=null&&s.isSameNode(this)&&(n[r.getAttribute(\"data-astro-template\")||\"default\"]=r.innerHTML,r.remove())}for(let r of c){let s=r.closest(this.tagName);s!=null&&s.isSameNode(this)&&(n[r.getAttribute(\"name\")||\"default\"]=r.innerHTML)}let p;try{p=this.hasAttribute(\"props\")?m(JSON.parse(this.getAttribute(\"props\"))):{}}catch(r){let s=this.getAttribute(\"component-url\")||\"\",v=this.getAttribute(\"component-export\");throw v&&(s+=\\` (export \\${v})\\`),console.error(\\`[hydrate] Error parsing props for component \\${s}\\`,this.getAttribute(\"props\"),r),r}let u;await this.hydrator(this)(this.Component,p,n,{client:this.getAttribute(\"client\")}),this.removeAttribute(\"ssr\"),this.dispatchEvent(new CustomEvent(\"astro:hydrate\"))});d(this,\"unmount\",()=>{this.isConnected||this.dispatchEvent(new CustomEvent(\"astro:unmount\"))})}disconnectedCallback(){document.removeEventListener(\"astro:after-swap\",this.unmount),document.addEventListener(\"astro:after-swap\",this.unmount,{once:!0})}connectedCallback(){if(!this.hasAttribute(\"await-children\")||document.readyState===\"interactive\"||document.readyState===\"complete\")this.childrenConnectedCallback();else{let e=()=>{document.removeEventListener(\"DOMContentLoaded\",e),c.disconnect(),this.childrenConnectedCallback()},c=new MutationObserver(()=>{var n;((n=this.lastChild)==null?void 0:n.nodeType)===Node.COMMENT_NODE&&this.lastChild.nodeValue===\"astro:end\"&&(this.lastChild.remove(),e())});c.observe(this,{childList:!0}),document.addEventListener(\"DOMContentLoaded\",e)}}async childrenConnectedCallback(){let e=this.getAttribute(\"before-hydration-url\");e&&await import(e),this.start()}async start(){let e=JSON.parse(this.getAttribute(\"opts\")),c=this.getAttribute(\"client\");if(Astro[c]===void 0){window.addEventListener(\\`astro:\\${c}\\`,()=>this.start(),{once:!0});return}try{await Astro[c](async()=>{let n=this.getAttribute(\"renderer-url\"),[h,{default:p}]=await Promise.all([import(this.getAttribute(\"component-url\")),n?import(n):()=>()=>{}]),u=this.getAttribute(\"component-export\")||\"default\";if(!u.includes(\".\"))this.Component=h[u];else{this.Component=h;for(let f of u.split(\".\"))this.Component=this.Component[f]}return this.hydrator=p,this.hydrate},e,this)}catch(n){console.error(\\`[astro-island] Error hydrating \\${this.getAttribute(\"component-url\")}\\`,n)}}attributeChangedCallback(){this.hydrate()}}d(y,\"observedAttributes\",[\"props\"]),customElements.get(\"astro-island\")||customElements.define(\"astro-island\",y)}})();`;\nexport {\n astro_island_prebuilt_default as default\n};\n","import islandScriptDev from \"./astro-island.prebuilt-dev.js\";\nimport islandScript from \"./astro-island.prebuilt.js\";\nconst ISLAND_STYLES = ``;\nfunction determineIfNeedsHydrationScript(result) {\n if (result._metadata.hasHydrationScript) {\n return false;\n }\n return result._metadata.hasHydrationScript = true;\n}\nfunction determinesIfNeedsDirectiveScript(result, directive) {\n if (result._metadata.hasDirectives.has(directive)) {\n return false;\n }\n result._metadata.hasDirectives.add(directive);\n return true;\n}\nfunction getDirectiveScriptText(result, directive) {\n const clientDirectives = result.clientDirectives;\n const clientDirective = clientDirectives.get(directive);\n if (!clientDirective) {\n throw new Error(`Unknown directive: ${directive}`);\n }\n return clientDirective;\n}\nfunction getPrescripts(result, type, directive) {\n switch (type) {\n case \"both\":\n return `${ISLAND_STYLES}`;\n case \"directive\":\n return ``;\n case null:\n break;\n }\n return \"\";\n}\nexport {\n determineIfNeedsHydrationScript,\n determinesIfNeedsDirectiveScript,\n getPrescripts\n};\n","import { clsx } from \"clsx\";\nimport { HTMLString, markHTMLString } from \"../escape.js\";\nconst voidElementNames = /^(area|base|br|col|command|embed|hr|img|input|keygen|link|meta|param|source|track|wbr)$/i;\nconst htmlBooleanAttributes = /^(?:allowfullscreen|async|autofocus|autoplay|controls|default|defer|disabled|disablepictureinpicture|disableremoteplayback|formnovalidate|hidden|loop|nomodule|novalidate|open|playsinline|readonly|required|reversed|scoped|seamless|itemscope)$/i;\nconst htmlEnumAttributes = /^(?:contenteditable|draggable|spellcheck|value)$/i;\nconst svgEnumAttributes = /^(?:autoReverse|externalResourcesRequired|focusable|preserveAlpha)$/i;\nconst AMPERSAND_REGEX = /&/g;\nconst DOUBLE_QUOTE_REGEX = /\"/g;\nconst STATIC_DIRECTIVES = /* @__PURE__ */ new Set([\"set:html\", \"set:text\"]);\nconst toIdent = (k) => k.trim().replace(/(?!^)\\b\\w|\\s+|\\W+/g, (match, index) => {\n if (/\\W/.test(match)) return \"\";\n return index === 0 ? match : match.toUpperCase();\n});\nconst toAttributeString = (value, shouldEscape = true) => shouldEscape ? String(value).replace(AMPERSAND_REGEX, \"&\").replace(DOUBLE_QUOTE_REGEX, \""\") : value;\nconst kebab = (k) => k.toLowerCase() === k ? k : k.replace(/[A-Z]/g, (match) => `-${match.toLowerCase()}`);\nconst toStyleString = (obj) => Object.entries(obj).filter(([_, v]) => typeof v === \"string\" && v.trim() || typeof v === \"number\").map(([k, v]) => {\n if (k[0] !== \"-\" && k[1] !== \"-\") return `${kebab(k)}:${v}`;\n return `${k}:${v}`;\n}).join(\";\");\nfunction defineScriptVars(vars) {\n let output = \"\";\n for (const [key, value] of Object.entries(vars)) {\n output += `const ${toIdent(key)} = ${JSON.stringify(value)?.replace(\n /<\\/script>/g,\n \"\\\\x3C/script>\"\n )};\n`;\n }\n return markHTMLString(output);\n}\nfunction formatList(values) {\n if (values.length === 1) {\n return values[0];\n }\n return `${values.slice(0, -1).join(\", \")} or ${values[values.length - 1]}`;\n}\nfunction addAttribute(value, key, shouldEscape = true) {\n if (value == null) {\n return \"\";\n }\n if (value === false) {\n if (htmlEnumAttributes.test(key) || svgEnumAttributes.test(key)) {\n return markHTMLString(` ${key}=\"false\"`);\n }\n return \"\";\n }\n if (STATIC_DIRECTIVES.has(key)) {\n console.warn(`[astro] The \"${key}\" directive cannot be applied dynamically at runtime. It will not be rendered as an attribute.\n\nMake sure to use the static attribute syntax (\\`${key}={value}\\`) instead of the dynamic spread syntax (\\`{...{ \"${key}\": value }}\\`).`);\n return \"\";\n }\n if (key === \"class:list\") {\n const listValue = toAttributeString(clsx(value), shouldEscape);\n if (listValue === \"\") {\n return \"\";\n }\n return markHTMLString(` ${key.slice(0, -5)}=\"${listValue}\"`);\n }\n if (key === \"style\" && !(value instanceof HTMLString)) {\n if (Array.isArray(value) && value.length === 2) {\n return markHTMLString(\n ` ${key}=\"${toAttributeString(`${toStyleString(value[0])};${value[1]}`, shouldEscape)}\"`\n );\n }\n if (typeof value === \"object\") {\n return markHTMLString(` ${key}=\"${toAttributeString(toStyleString(value), shouldEscape)}\"`);\n }\n }\n if (key === \"className\") {\n return markHTMLString(` class=\"${toAttributeString(value, shouldEscape)}\"`);\n }\n if (typeof value === \"string\" && value.includes(\"&\") && isHttpUrl(value)) {\n return markHTMLString(` ${key}=\"${toAttributeString(value, false)}\"`);\n }\n if (value === true && (key.startsWith(\"data-\") || htmlBooleanAttributes.test(key))) {\n return markHTMLString(` ${key}`);\n } else {\n return markHTMLString(` ${key}=\"${toAttributeString(value, shouldEscape)}\"`);\n }\n}\nfunction internalSpreadAttributes(values, shouldEscape = true) {\n let output = \"\";\n for (const [key, value] of Object.entries(values)) {\n output += addAttribute(value, key, shouldEscape);\n }\n return markHTMLString(output);\n}\nfunction renderElement(name, { props: _props, children = \"\" }, shouldEscape = true) {\n const { lang: _, \"data-astro-id\": astroId, \"define:vars\": defineVars, ...props } = _props;\n if (defineVars) {\n if (name === \"style\") {\n delete props[\"is:global\"];\n delete props[\"is:scoped\"];\n }\n if (name === \"script\") {\n delete props.hoist;\n children = defineScriptVars(defineVars) + \"\\n\" + children;\n }\n }\n if ((children == null || children == \"\") && voidElementNames.test(name)) {\n return `<${name}${internalSpreadAttributes(props, shouldEscape)}>`;\n }\n return `<${name}${internalSpreadAttributes(props, shouldEscape)}>${children}`;\n}\nconst noop = () => {\n};\nclass BufferedRenderer {\n chunks = [];\n renderPromise;\n destination;\n constructor(bufferRenderFunction) {\n this.renderPromise = bufferRenderFunction(this);\n Promise.resolve(this.renderPromise).catch(noop);\n }\n write(chunk) {\n if (this.destination) {\n this.destination.write(chunk);\n } else {\n this.chunks.push(chunk);\n }\n }\n async renderToFinalDestination(destination) {\n for (const chunk of this.chunks) {\n destination.write(chunk);\n }\n this.destination = destination;\n await this.renderPromise;\n }\n}\nfunction renderToBufferDestination(bufferRenderFunction) {\n const renderer = new BufferedRenderer(bufferRenderFunction);\n return renderer;\n}\nconst isNode = typeof process !== \"undefined\" && Object.prototype.toString.call(process) === \"[object process]\";\nconst isDeno = typeof Deno !== \"undefined\";\nfunction promiseWithResolvers() {\n let resolve, reject;\n const promise = new Promise((_resolve, _reject) => {\n resolve = _resolve;\n reject = _reject;\n });\n return {\n promise,\n resolve,\n reject\n };\n}\nconst VALID_PROTOCOLS = [\"http:\", \"https:\"];\nfunction isHttpUrl(url) {\n try {\n const parsedUrl = new URL(url);\n return VALID_PROTOCOLS.includes(parsedUrl.protocol);\n } catch {\n return false;\n }\n}\nexport {\n addAttribute,\n defineScriptVars,\n formatList,\n internalSpreadAttributes,\n isDeno,\n isNode,\n promiseWithResolvers,\n renderElement,\n renderToBufferDestination,\n toAttributeString,\n voidElementNames\n};\n","import { markHTMLString } from \"../escape.js\";\nimport { createRenderInstruction } from \"./instruction.js\";\nimport { renderElement } from \"./util.js\";\nconst uniqueElements = (item, index, all) => {\n const props = JSON.stringify(item.props);\n const children = item.children;\n return index === all.findIndex((i) => JSON.stringify(i.props) === props && i.children == children);\n};\nfunction renderAllHeadContent(result) {\n result._metadata.hasRenderedHead = true;\n const styles = Array.from(result.styles).filter(uniqueElements).map(\n (style) => style.props.rel === \"stylesheet\" ? renderElement(\"link\", style) : renderElement(\"style\", style)\n );\n result.styles.clear();\n const scripts = Array.from(result.scripts).filter(uniqueElements).map((script) => {\n return renderElement(\"script\", script, false);\n });\n const links = Array.from(result.links).filter(uniqueElements).map((link) => renderElement(\"link\", link, false));\n let content = styles.join(\"\\n\") + links.join(\"\\n\") + scripts.join(\"\\n\");\n if (result._metadata.extraHead.length > 0) {\n for (const part of result._metadata.extraHead) {\n content += part;\n }\n }\n return markHTMLString(content);\n}\nfunction renderHead() {\n return createRenderInstruction({ type: \"head\" });\n}\nfunction maybeRenderHead() {\n return createRenderInstruction({ type: \"maybe-head\" });\n}\nexport {\n maybeRenderHead,\n renderAllHeadContent,\n renderHead\n};\n","import { markHTMLString } from \"../../escape.js\";\nimport { isPromise } from \"../../util.js\";\nimport { renderChild } from \"../any.js\";\nimport { renderToBufferDestination } from \"../util.js\";\nconst renderTemplateResultSym = Symbol.for(\"astro.renderTemplateResult\");\nclass RenderTemplateResult {\n [renderTemplateResultSym] = true;\n htmlParts;\n expressions;\n error;\n constructor(htmlParts, expressions) {\n this.htmlParts = htmlParts;\n this.error = void 0;\n this.expressions = expressions.map((expression) => {\n if (isPromise(expression)) {\n return Promise.resolve(expression).catch((err) => {\n if (!this.error) {\n this.error = err;\n throw err;\n }\n });\n }\n return expression;\n });\n }\n async render(destination) {\n const expRenders = this.expressions.map((exp) => {\n return renderToBufferDestination((bufferDestination) => {\n if (exp || exp === 0) {\n return renderChild(bufferDestination, exp);\n }\n });\n });\n for (let i = 0; i < this.htmlParts.length; i++) {\n const html = this.htmlParts[i];\n const expRender = expRenders[i];\n destination.write(markHTMLString(html));\n if (expRender) {\n await expRender.renderToFinalDestination(destination);\n }\n }\n }\n}\nfunction isRenderTemplateResult(obj) {\n return typeof obj === \"object\" && !!obj[renderTemplateResultSym];\n}\nfunction renderTemplate(htmlParts, ...expressions) {\n return new RenderTemplateResult(htmlParts, expressions);\n}\nexport {\n RenderTemplateResult,\n isRenderTemplateResult,\n renderTemplate\n};\n","import { renderTemplate } from \"./astro/render-template.js\";\nimport { HTMLString, markHTMLString, unescapeHTML } from \"../escape.js\";\nimport { renderChild } from \"./any.js\";\nimport { chunkToString } from \"./common.js\";\nconst slotString = Symbol.for(\"astro:slot-string\");\nclass SlotString extends HTMLString {\n instructions;\n [slotString];\n constructor(content, instructions) {\n super(content);\n this.instructions = instructions;\n this[slotString] = true;\n }\n}\nfunction isSlotString(str) {\n return !!str[slotString];\n}\nfunction renderSlot(result, slotted, fallback) {\n if (!slotted && fallback) {\n return renderSlot(result, fallback);\n }\n return {\n async render(destination) {\n await renderChild(destination, typeof slotted === \"function\" ? slotted(result) : slotted);\n }\n };\n}\nasync function renderSlotToString(result, slotted, fallback) {\n let content = \"\";\n let instructions = null;\n const temporaryDestination = {\n write(chunk) {\n if (chunk instanceof SlotString) {\n content += chunk;\n if (chunk.instructions) {\n instructions ??= [];\n instructions.push(...chunk.instructions);\n }\n } else if (chunk instanceof Response) return;\n else if (typeof chunk === \"object\" && \"type\" in chunk && typeof chunk.type === \"string\") {\n if (instructions === null) {\n instructions = [];\n }\n instructions.push(chunk);\n } else {\n content += chunkToString(result, chunk);\n }\n }\n };\n const renderInstance = renderSlot(result, slotted, fallback);\n await renderInstance.render(temporaryDestination);\n return markHTMLString(new SlotString(content, instructions));\n}\nasync function renderSlots(result, slots = {}) {\n let slotInstructions = null;\n let children = {};\n if (slots) {\n await Promise.all(\n Object.entries(slots).map(\n ([key, value]) => renderSlotToString(result, value).then((output) => {\n if (output.instructions) {\n if (slotInstructions === null) {\n slotInstructions = [];\n }\n slotInstructions.push(...output.instructions);\n }\n children[key] = output;\n })\n )\n );\n }\n return { slotInstructions, children };\n}\nfunction createSlotValueFromString(content) {\n return function() {\n return renderTemplate`${unescapeHTML(content)}`;\n };\n}\nexport {\n SlotString,\n createSlotValueFromString,\n isSlotString,\n renderSlot,\n renderSlotToString,\n renderSlots\n};\n","import { markHTMLString } from \"../escape.js\";\nimport {\n determineIfNeedsHydrationScript,\n determinesIfNeedsDirectiveScript,\n getPrescripts\n} from \"../scripts.js\";\nimport { renderAllHeadContent } from \"./head.js\";\nimport { isRenderInstruction } from \"./instruction.js\";\nimport { isSlotString } from \"./slot.js\";\nconst Fragment = Symbol.for(\"astro:fragment\");\nconst Renderer = Symbol.for(\"astro:renderer\");\nconst encoder = new TextEncoder();\nconst decoder = new TextDecoder();\nfunction stringifyChunk(result, chunk) {\n if (isRenderInstruction(chunk)) {\n const instruction = chunk;\n switch (instruction.type) {\n case \"directive\": {\n const { hydration } = instruction;\n let needsHydrationScript = hydration && determineIfNeedsHydrationScript(result);\n let needsDirectiveScript = hydration && determinesIfNeedsDirectiveScript(result, hydration.directive);\n let prescriptType = needsHydrationScript ? \"both\" : needsDirectiveScript ? \"directive\" : null;\n if (prescriptType) {\n let prescripts = getPrescripts(result, prescriptType, hydration.directive);\n return markHTMLString(prescripts);\n } else {\n return \"\";\n }\n }\n case \"head\": {\n if (result._metadata.hasRenderedHead || result.partial) {\n return \"\";\n }\n return renderAllHeadContent(result);\n }\n case \"maybe-head\": {\n if (result._metadata.hasRenderedHead || result._metadata.headInTree || result.partial) {\n return \"\";\n }\n return renderAllHeadContent(result);\n }\n case \"renderer-hydration-script\": {\n const { rendererSpecificHydrationScripts } = result._metadata;\n const { rendererName } = instruction;\n if (!rendererSpecificHydrationScripts.has(rendererName)) {\n rendererSpecificHydrationScripts.add(rendererName);\n return instruction.render();\n }\n return \"\";\n }\n default: {\n throw new Error(`Unknown chunk type: ${chunk.type}`);\n }\n }\n } else if (chunk instanceof Response) {\n return \"\";\n } else if (isSlotString(chunk)) {\n let out = \"\";\n const c = chunk;\n if (c.instructions) {\n for (const instr of c.instructions) {\n out += stringifyChunk(result, instr);\n }\n }\n out += chunk.toString();\n return out;\n }\n return chunk.toString();\n}\nfunction chunkToString(result, chunk) {\n if (ArrayBuffer.isView(chunk)) {\n return decoder.decode(chunk);\n } else {\n return stringifyChunk(result, chunk);\n }\n}\nfunction chunkToByteArray(result, chunk) {\n if (ArrayBuffer.isView(chunk)) {\n return chunk;\n } else {\n const stringified = stringifyChunk(result, chunk);\n return encoder.encode(stringified.toString());\n }\n}\nfunction isRenderInstance(obj) {\n return !!obj && typeof obj === \"object\" && \"render\" in obj && typeof obj.render === \"function\";\n}\nexport {\n Fragment,\n Renderer,\n chunkToByteArray,\n chunkToString,\n decoder,\n encoder,\n isRenderInstance\n};\n","import { escapeHTML, isHTMLString, markHTMLString } from \"../escape.js\";\nimport { isPromise } from \"../util.js\";\nimport { isAstroComponentInstance, isRenderTemplateResult } from \"./astro/index.js\";\nimport { isRenderInstance } from \"./common.js\";\nimport { SlotString } from \"./slot.js\";\nimport { renderToBufferDestination } from \"./util.js\";\nasync function renderChild(destination, child) {\n if (isPromise(child)) {\n child = await child;\n }\n if (child instanceof SlotString) {\n destination.write(child);\n } else if (isHTMLString(child)) {\n destination.write(child);\n } else if (Array.isArray(child)) {\n const childRenders = child.map((c) => {\n return renderToBufferDestination((bufferDestination) => {\n return renderChild(bufferDestination, c);\n });\n });\n for (const childRender of childRenders) {\n if (!childRender) continue;\n await childRender.renderToFinalDestination(destination);\n }\n } else if (typeof child === \"function\") {\n await renderChild(destination, child());\n } else if (typeof child === \"string\") {\n destination.write(markHTMLString(escapeHTML(child)));\n } else if (!child && child !== 0) {\n } else if (isRenderInstance(child)) {\n await child.render(destination);\n } else if (isRenderTemplateResult(child)) {\n await child.render(destination);\n } else if (isAstroComponentInstance(child)) {\n await child.render(destination);\n } else if (ArrayBuffer.isView(child)) {\n destination.write(child);\n } else if (typeof child === \"object\" && (Symbol.asyncIterator in child || Symbol.iterator in child)) {\n for await (const value of child) {\n await renderChild(destination, value);\n }\n } else {\n destination.write(child);\n }\n}\nexport {\n renderChild\n};\n","import { isPromise } from \"../../util.js\";\nimport { renderChild } from \"../any.js\";\nimport { isAPropagatingComponent } from \"./factory.js\";\nimport { isHeadAndContent } from \"./head-and-content.js\";\nconst astroComponentInstanceSym = Symbol.for(\"astro.componentInstance\");\nclass AstroComponentInstance {\n [astroComponentInstanceSym] = true;\n result;\n props;\n slotValues;\n factory;\n returnValue;\n constructor(result, props, slots, factory) {\n this.result = result;\n this.props = props;\n this.factory = factory;\n this.slotValues = {};\n for (const name in slots) {\n let didRender = false;\n let value = slots[name](result);\n this.slotValues[name] = () => {\n if (!didRender) {\n didRender = true;\n return value;\n }\n return slots[name](result);\n };\n }\n }\n async init(result) {\n if (this.returnValue !== void 0) return this.returnValue;\n this.returnValue = this.factory(result, this.props, this.slotValues);\n if (isPromise(this.returnValue)) {\n this.returnValue.then((resolved) => {\n this.returnValue = resolved;\n }).catch(() => {\n });\n }\n return this.returnValue;\n }\n async render(destination) {\n const returnValue = await this.init(this.result);\n if (isHeadAndContent(returnValue)) {\n await returnValue.content.render(destination);\n } else {\n await renderChild(destination, returnValue);\n }\n }\n}\nfunction validateComponentProps(props, displayName) {\n if (props != null) {\n for (const prop of Object.keys(props)) {\n if (prop.startsWith(\"client:\")) {\n console.warn(\n `You are attempting to render <${displayName} ${prop} />, but ${displayName} is an Astro component. Astro components do not render in the client and should not have a hydration directive. Please use a framework component for client rendering.`\n );\n }\n }\n }\n}\nfunction createAstroComponentInstance(result, displayName, factory, props, slots = {}) {\n validateComponentProps(props, displayName);\n const instance = new AstroComponentInstance(result, props, slots, factory);\n if (isAPropagatingComponent(result, factory)) {\n result._metadata.propagators.add(instance);\n }\n return instance;\n}\nfunction isAstroComponentInstance(obj) {\n return typeof obj === \"object\" && !!obj[astroComponentInstanceSym];\n}\nexport {\n AstroComponentInstance,\n createAstroComponentInstance,\n isAstroComponentInstance\n};\n","import { markHTMLString } from \"../escape.js\";\nimport { renderSlotToString } from \"./slot.js\";\nimport { toAttributeString } from \"./util.js\";\nfunction componentIsHTMLElement(Component) {\n return typeof HTMLElement !== \"undefined\" && HTMLElement.isPrototypeOf(Component);\n}\nasync function renderHTMLElement(result, constructor, props, slots) {\n const name = getHTMLElementName(constructor);\n let attrHTML = \"\";\n for (const attr in props) {\n attrHTML += ` ${attr}=\"${toAttributeString(await props[attr])}\"`;\n }\n return markHTMLString(\n `<${name}${attrHTML}>${await renderSlotToString(result, slots?.default)}`\n );\n}\nfunction getHTMLElementName(constructor) {\n const definedName = customElements.getName(constructor);\n if (definedName) return definedName;\n const assignedName = constructor.name.replace(/^HTML|Element$/g, \"\").replace(/[A-Z]/g, \"-$&\").toLowerCase().replace(/^-/, \"html-\");\n return assignedName;\n}\nexport {\n componentIsHTMLElement,\n renderHTMLElement\n};\n","import { decodeBase64, decodeHex, encodeBase64, encodeHexUpperCase } from \"@oslojs/encoding\";\nconst ALGORITHM = \"AES-GCM\";\nasync function createKey() {\n const key = await crypto.subtle.generateKey(\n {\n name: ALGORITHM,\n length: 256\n },\n true,\n [\"encrypt\", \"decrypt\"]\n );\n return key;\n}\nasync function importKey(bytes) {\n const key = await crypto.subtle.importKey(\"raw\", bytes, ALGORITHM, true, [\"encrypt\", \"decrypt\"]);\n return key;\n}\nasync function encodeKey(key) {\n const exported = await crypto.subtle.exportKey(\"raw\", key);\n const encodedKey = encodeBase64(new Uint8Array(exported));\n return encodedKey;\n}\nasync function decodeKey(encoded) {\n const bytes = decodeBase64(encoded);\n return crypto.subtle.importKey(\"raw\", bytes, ALGORITHM, true, [\"encrypt\", \"decrypt\"]);\n}\nconst encoder = new TextEncoder();\nconst decoder = new TextDecoder();\nconst IV_LENGTH = 24;\nasync function encryptString(key, raw) {\n const iv = crypto.getRandomValues(new Uint8Array(IV_LENGTH / 2));\n const data = encoder.encode(raw);\n const buffer = await crypto.subtle.encrypt(\n {\n name: ALGORITHM,\n iv\n },\n key,\n data\n );\n return encodeHexUpperCase(iv) + encodeBase64(new Uint8Array(buffer));\n}\nasync function decryptString(key, encoded) {\n const iv = decodeHex(encoded.slice(0, IV_LENGTH));\n const dataArray = decodeBase64(encoded.slice(IV_LENGTH));\n const decryptedBuffer = await crypto.subtle.decrypt(\n {\n name: ALGORITHM,\n iv\n },\n key,\n dataArray\n );\n const decryptedString = decoder.decode(decryptedBuffer);\n return decryptedString;\n}\nexport {\n createKey,\n decodeKey,\n decryptString,\n encodeKey,\n encryptString,\n importKey\n};\n","import { encryptString } from \"../../../core/encryption.js\";\nimport { renderChild } from \"./any.js\";\nimport { renderSlotToString } from \"./slot.js\";\nconst internalProps = /* @__PURE__ */ new Set([\n \"server:component-path\",\n \"server:component-export\",\n \"server:component-directive\",\n \"server:defer\"\n]);\nfunction containsServerDirective(props) {\n return \"server:component-directive\" in props;\n}\nfunction safeJsonStringify(obj) {\n return JSON.stringify(obj).replace(/\\u2028/g, \"\\\\u2028\").replace(/\\u2029/g, \"\\\\u2029\").replace(//g, \"\\\\u003e\").replace(/\\//g, \"\\\\u002f\");\n}\nfunction renderServerIsland(result, _displayName, props, slots) {\n return {\n async render(destination) {\n const componentPath = props[\"server:component-path\"];\n const componentExport = props[\"server:component-export\"];\n const componentId = result.serverIslandNameMap.get(componentPath);\n if (!componentId) {\n throw new Error(`Could not find server component name`);\n }\n for (const key2 of Object.keys(props)) {\n if (internalProps.has(key2)) {\n delete props[key2];\n }\n }\n destination.write(\"\");\n const renderedSlots = {};\n for (const name in slots) {\n if (name !== \"fallback\") {\n const content = await renderSlotToString(result, slots[name]);\n renderedSlots[name] = content.toString();\n } else {\n await renderChild(destination, slots.fallback(result));\n }\n }\n const key = await result.key;\n const propsEncrypted = await encryptString(key, JSON.stringify(props));\n const hostId = crypto.randomUUID();\n const slash = result.base.endsWith(\"/\") ? \"\" : \"/\";\n const serverIslandUrl = `${result.base}${slash}_server-islands/${componentId}${result.trailingSlash === \"always\" ? \"/\" : \"\"}`;\n destination.write(``);\n }\n };\n}\nexport {\n containsServerDirective,\n renderServerIsland\n};\n","import { createRenderInstruction } from \"./instruction.js\";\nimport { clsx } from \"clsx\";\nimport { AstroError, AstroErrorData } from \"../../../core/errors/index.js\";\nimport { markHTMLString } from \"../escape.js\";\nimport { extractDirectives, generateHydrateScript } from \"../hydration.js\";\nimport { serializeProps } from \"../serialize.js\";\nimport { shorthash } from \"../shorthash.js\";\nimport { isPromise } from \"../util.js\";\nimport { isAstroComponentFactory } from \"./astro/factory.js\";\nimport { renderTemplate } from \"./astro/index.js\";\nimport { createAstroComponentInstance } from \"./astro/instance.js\";\nimport {\n Fragment,\n Renderer,\n chunkToString\n} from \"./common.js\";\nimport { componentIsHTMLElement, renderHTMLElement } from \"./dom.js\";\nimport { maybeRenderHead } from \"./head.js\";\nimport { containsServerDirective, renderServerIsland } from \"./server-islands.js\";\nimport { renderSlotToString, renderSlots } from \"./slot.js\";\nimport { formatList, internalSpreadAttributes, renderElement, voidElementNames } from \"./util.js\";\nconst needsHeadRenderingSymbol = Symbol.for(\"astro.needsHeadRendering\");\nconst rendererAliases = /* @__PURE__ */ new Map([[\"solid\", \"solid-js\"]]);\nconst clientOnlyValues = /* @__PURE__ */ new Set([\"solid-js\", \"react\", \"preact\", \"vue\", \"svelte\", \"lit\"]);\nfunction guessRenderers(componentUrl) {\n const extname = componentUrl?.split(\".\").pop();\n switch (extname) {\n case \"svelte\":\n return [\"@astrojs/svelte\"];\n case \"vue\":\n return [\"@astrojs/vue\"];\n case \"jsx\":\n case \"tsx\":\n return [\"@astrojs/react\", \"@astrojs/preact\", \"@astrojs/solid-js\", \"@astrojs/vue (jsx)\"];\n default:\n return [\n \"@astrojs/react\",\n \"@astrojs/preact\",\n \"@astrojs/solid-js\",\n \"@astrojs/vue\",\n \"@astrojs/svelte\",\n \"@astrojs/lit\"\n ];\n }\n}\nfunction isFragmentComponent(Component) {\n return Component === Fragment;\n}\nfunction isHTMLComponent(Component) {\n return Component && Component[\"astro:html\"] === true;\n}\nconst ASTRO_SLOT_EXP = /<\\/?astro-slot\\b[^>]*>/g;\nconst ASTRO_STATIC_SLOT_EXP = /<\\/?astro-static-slot\\b[^>]*>/g;\nfunction removeStaticAstroSlot(html, supportsAstroStaticSlot = true) {\n const exp = supportsAstroStaticSlot ? ASTRO_STATIC_SLOT_EXP : ASTRO_SLOT_EXP;\n return html.replace(exp, \"\");\n}\nasync function renderFrameworkComponent(result, displayName, Component, _props, slots = {}) {\n if (!Component && \"client:only\" in _props === false) {\n throw new Error(\n `Unable to render ${displayName} because it is ${Component}!\nDid you forget to import the component or is it possible there is a typo?`\n );\n }\n const { renderers, clientDirectives } = result;\n const metadata = {\n astroStaticSlot: true,\n displayName\n };\n const { hydration, isPage, props, propsWithoutTransitionAttributes } = extractDirectives(\n _props,\n clientDirectives\n );\n let html = \"\";\n let attrs = void 0;\n if (hydration) {\n metadata.hydrate = hydration.directive;\n metadata.hydrateArgs = hydration.value;\n metadata.componentExport = hydration.componentExport;\n metadata.componentUrl = hydration.componentUrl;\n }\n const probableRendererNames = guessRenderers(metadata.componentUrl);\n const validRenderers = renderers.filter((r) => r.name !== \"astro:jsx\");\n const { children, slotInstructions } = await renderSlots(result, slots);\n let renderer;\n if (metadata.hydrate !== \"only\") {\n let isTagged = false;\n try {\n isTagged = Component && Component[Renderer];\n } catch {\n }\n if (isTagged) {\n const rendererName = Component[Renderer];\n renderer = renderers.find(({ name }) => name === rendererName);\n }\n if (!renderer) {\n let error;\n for (const r of renderers) {\n try {\n if (await r.ssr.check.call({ result }, Component, props, children)) {\n renderer = r;\n break;\n }\n } catch (e) {\n error ??= e;\n }\n }\n if (!renderer && error) {\n throw error;\n }\n }\n if (!renderer && typeof HTMLElement === \"function\" && componentIsHTMLElement(Component)) {\n const output = await renderHTMLElement(\n result,\n Component,\n _props,\n slots\n );\n return {\n render(destination) {\n destination.write(output);\n }\n };\n }\n } else {\n if (metadata.hydrateArgs) {\n const rendererName = rendererAliases.has(metadata.hydrateArgs) ? rendererAliases.get(metadata.hydrateArgs) : metadata.hydrateArgs;\n if (clientOnlyValues.has(rendererName)) {\n renderer = renderers.find(\n ({ name }) => name === `@astrojs/${rendererName}` || name === rendererName\n );\n }\n }\n if (!renderer && validRenderers.length === 1) {\n renderer = validRenderers[0];\n }\n if (!renderer) {\n const extname = metadata.componentUrl?.split(\".\").pop();\n renderer = renderers.find(({ name }) => name === `@astrojs/${extname}` || name === extname);\n }\n }\n let componentServerRenderEndTime;\n if (!renderer) {\n if (metadata.hydrate === \"only\") {\n const rendererName = rendererAliases.has(metadata.hydrateArgs) ? rendererAliases.get(metadata.hydrateArgs) : metadata.hydrateArgs;\n if (clientOnlyValues.has(rendererName)) {\n const plural = validRenderers.length > 1;\n throw new AstroError({\n ...AstroErrorData.NoMatchingRenderer,\n message: AstroErrorData.NoMatchingRenderer.message(\n metadata.displayName,\n metadata?.componentUrl?.split(\".\").pop(),\n plural,\n validRenderers.length\n ),\n hint: AstroErrorData.NoMatchingRenderer.hint(\n formatList(probableRendererNames.map((r) => \"`\" + r + \"`\"))\n )\n });\n } else {\n throw new AstroError({\n ...AstroErrorData.NoClientOnlyHint,\n message: AstroErrorData.NoClientOnlyHint.message(metadata.displayName),\n hint: AstroErrorData.NoClientOnlyHint.hint(\n probableRendererNames.map((r) => r.replace(\"@astrojs/\", \"\")).join(\"|\")\n )\n });\n }\n } else if (typeof Component !== \"string\") {\n const matchingRenderers = validRenderers.filter(\n (r) => probableRendererNames.includes(r.name)\n );\n const plural = validRenderers.length > 1;\n if (matchingRenderers.length === 0) {\n throw new AstroError({\n ...AstroErrorData.NoMatchingRenderer,\n message: AstroErrorData.NoMatchingRenderer.message(\n metadata.displayName,\n metadata?.componentUrl?.split(\".\").pop(),\n plural,\n validRenderers.length\n ),\n hint: AstroErrorData.NoMatchingRenderer.hint(\n formatList(probableRendererNames.map((r) => \"`\" + r + \"`\"))\n )\n });\n } else if (matchingRenderers.length === 1) {\n renderer = matchingRenderers[0];\n ({ html, attrs } = await renderer.ssr.renderToStaticMarkup.call(\n { result },\n Component,\n propsWithoutTransitionAttributes,\n children,\n metadata\n ));\n } else {\n throw new Error(`Unable to render ${metadata.displayName}!\n\nThis component likely uses ${formatList(probableRendererNames)},\nbut Astro encountered an error during server-side rendering.\n\nPlease ensure that ${metadata.displayName}:\n1. Does not unconditionally access browser-specific globals like \\`window\\` or \\`document\\`.\n If this is unavoidable, use the \\`client:only\\` hydration directive.\n2. Does not conditionally return \\`null\\` or \\`undefined\\` when rendered on the server.\n\nIf you're still stuck, please open an issue on GitHub or join us at https://astro.build/chat.`);\n }\n }\n } else {\n if (metadata.hydrate === \"only\") {\n const rendererName = rendererAliases.has(metadata.hydrateArgs) ? rendererAliases.get(metadata.hydrateArgs) : metadata.hydrateArgs;\n if (!clientOnlyValues.has(rendererName)) {\n console.warn(\n `The client:only directive for ${metadata.displayName} is not recognized. The renderer ${renderer.name} will be used. If you intended to use a different renderer, please provide a valid client:only directive.`\n );\n }\n html = await renderSlotToString(result, slots?.fallback);\n } else {\n const componentRenderStartTime = performance.now();\n ({ html, attrs } = await renderer.ssr.renderToStaticMarkup.call(\n { result },\n Component,\n propsWithoutTransitionAttributes,\n children,\n metadata\n ));\n if (process.env.NODE_ENV === \"development\")\n componentServerRenderEndTime = performance.now() - componentRenderStartTime;\n }\n }\n if (renderer && !renderer.clientEntrypoint && renderer.name !== \"@astrojs/lit\" && metadata.hydrate) {\n throw new AstroError({\n ...AstroErrorData.NoClientEntrypoint,\n message: AstroErrorData.NoClientEntrypoint.message(\n displayName,\n metadata.hydrate,\n renderer.name\n )\n });\n }\n if (!html && typeof Component === \"string\") {\n const Tag = sanitizeElementName(Component);\n const childSlots = Object.values(children).join(\"\");\n const renderTemplateResult = renderTemplate`<${Tag}${internalSpreadAttributes(\n props\n )}${markHTMLString(\n childSlots === \"\" && voidElementNames.test(Tag) ? `/>` : `>${childSlots}`\n )}`;\n html = \"\";\n const destination = {\n write(chunk) {\n if (chunk instanceof Response) return;\n html += chunkToString(result, chunk);\n }\n };\n await renderTemplateResult.render(destination);\n }\n if (!hydration) {\n return {\n render(destination) {\n if (slotInstructions) {\n for (const instruction of slotInstructions) {\n destination.write(instruction);\n }\n }\n if (isPage || renderer?.name === \"astro:jsx\") {\n destination.write(html);\n } else if (html && html.length > 0) {\n destination.write(\n markHTMLString(removeStaticAstroSlot(html, renderer?.ssr?.supportsAstroStaticSlot))\n );\n }\n }\n };\n }\n const astroId = shorthash(\n `\n${html}\n${serializeProps(\n props,\n metadata\n )}`\n );\n const island = await generateHydrateScript(\n { renderer, result, astroId, props, attrs },\n metadata\n );\n if (componentServerRenderEndTime && process.env.NODE_ENV === \"development\")\n island.props[\"server-render-time\"] = componentServerRenderEndTime;\n let unrenderedSlots = [];\n if (html) {\n if (Object.keys(children).length > 0) {\n for (const key of Object.keys(children)) {\n let tagName = renderer?.ssr?.supportsAstroStaticSlot ? !!metadata.hydrate ? \"astro-slot\" : \"astro-static-slot\" : \"astro-slot\";\n let expectedHTML = key === \"default\" ? `<${tagName}>` : `<${tagName} name=\"${key}\">`;\n if (!html.includes(expectedHTML)) {\n unrenderedSlots.push(key);\n }\n }\n }\n } else {\n unrenderedSlots = Object.keys(children);\n }\n const template = unrenderedSlots.length > 0 ? unrenderedSlots.map(\n (key) => ``\n ).join(\"\") : \"\";\n island.children = `${html ?? \"\"}${template}`;\n if (island.children) {\n island.props[\"await-children\"] = \"\";\n island.children += ``;\n }\n return {\n render(destination) {\n if (slotInstructions) {\n for (const instruction of slotInstructions) {\n destination.write(instruction);\n }\n }\n destination.write(createRenderInstruction({ type: \"directive\", hydration }));\n if (hydration.directive !== \"only\" && renderer?.ssr.renderHydrationScript) {\n destination.write(\n createRenderInstruction({\n type: \"renderer-hydration-script\",\n rendererName: renderer.name,\n render: renderer.ssr.renderHydrationScript\n })\n );\n }\n const renderedElement = renderElement(\"astro-island\", island, false);\n destination.write(markHTMLString(renderedElement));\n }\n };\n}\nfunction sanitizeElementName(tag) {\n const unsafe = /[&<>'\"\\s]+/;\n if (!unsafe.test(tag)) return tag;\n return tag.trim().split(unsafe)[0].trim();\n}\nasync function renderFragmentComponent(result, slots = {}) {\n const children = await renderSlotToString(result, slots?.default);\n return {\n render(destination) {\n if (children == null) return;\n destination.write(children);\n }\n };\n}\nasync function renderHTMLComponent(result, Component, _props, slots = {}) {\n const { slotInstructions, children } = await renderSlots(result, slots);\n const html = Component({ slots: children });\n const hydrationHtml = slotInstructions ? slotInstructions.map((instr) => chunkToString(result, instr)).join(\"\") : \"\";\n return {\n render(destination) {\n destination.write(markHTMLString(hydrationHtml + html));\n }\n };\n}\nfunction renderAstroComponent(result, displayName, Component, props, slots = {}) {\n if (containsServerDirective(props)) {\n return renderServerIsland(result, displayName, props, slots);\n }\n const instance = createAstroComponentInstance(result, displayName, Component, props, slots);\n return {\n async render(destination) {\n await instance.render(destination);\n }\n };\n}\nasync function renderComponent(result, displayName, Component, props, slots = {}) {\n if (isPromise(Component)) {\n Component = await Component.catch(handleCancellation);\n }\n if (isFragmentComponent(Component)) {\n return await renderFragmentComponent(result, slots).catch(handleCancellation);\n }\n props = normalizeProps(props);\n if (isHTMLComponent(Component)) {\n return await renderHTMLComponent(result, Component, props, slots).catch(handleCancellation);\n }\n if (isAstroComponentFactory(Component)) {\n return renderAstroComponent(result, displayName, Component, props, slots);\n }\n return await renderFrameworkComponent(result, displayName, Component, props, slots).catch(\n handleCancellation\n );\n function handleCancellation(e) {\n if (result.cancelled)\n return {\n render() {\n }\n };\n throw e;\n }\n}\nfunction normalizeProps(props) {\n if (props[\"class:list\"] !== void 0) {\n const value = props[\"class:list\"];\n delete props[\"class:list\"];\n props[\"class\"] = clsx(props[\"class\"], value);\n if (props[\"class\"] === \"\") {\n delete props[\"class\"];\n }\n }\n return props;\n}\nasync function renderComponentToString(result, displayName, Component, props, slots = {}, isPage = false, route) {\n let str = \"\";\n let renderedFirstPageChunk = false;\n let head = \"\";\n if (isPage && !result.partial && nonAstroPageNeedsHeadInjection(Component)) {\n head += chunkToString(result, maybeRenderHead());\n }\n try {\n const destination = {\n write(chunk) {\n if (isPage && !result.partial && !renderedFirstPageChunk) {\n renderedFirstPageChunk = true;\n if (!/\" : \"\\n\";\n str += doctype + head;\n }\n }\n if (chunk instanceof Response) return;\n str += chunkToString(result, chunk);\n }\n };\n const renderInstance = await renderComponent(result, displayName, Component, props, slots);\n await renderInstance.render(destination);\n } catch (e) {\n if (AstroError.is(e) && !e.loc) {\n e.setLocation({\n file: route?.component\n });\n }\n throw e;\n }\n return str;\n}\nfunction nonAstroPageNeedsHeadInjection(pageComponent) {\n return !!pageComponent?.[needsHeadRenderingSymbol];\n}\nexport {\n renderComponent,\n renderComponentToString\n};\n","import { markHTMLString } from \"../escape.js\";\nasync function renderScript(result, id) {\n if (result._metadata.renderedScripts.has(id)) return;\n result._metadata.renderedScripts.add(id);\n const inlined = result.inlinedScripts.get(id);\n if (inlined != null) {\n if (inlined) {\n return markHTMLString(``);\n } else {\n return \"\";\n }\n }\n const resolved = await result.resolve(id);\n return markHTMLString(``);\n}\nexport {\n renderScript\n};\n","import cssesc from \"cssesc\";\nimport { fade, slide } from \"../../transitions/index.js\";\nimport { markHTMLString } from \"./escape.js\";\nconst transitionNameMap = /* @__PURE__ */ new WeakMap();\nfunction incrementTransitionNumber(result) {\n let num = 1;\n if (transitionNameMap.has(result)) {\n num = transitionNameMap.get(result) + 1;\n }\n transitionNameMap.set(result, num);\n return num;\n}\nfunction createTransitionScope(result, hash) {\n const num = incrementTransitionNumber(result);\n return `astro-${hash}-${num}`;\n}\nconst getAnimations = (name) => {\n if (name === \"fade\") return fade();\n if (name === \"slide\") return slide();\n if (typeof name === \"object\") return name;\n};\nconst addPairs = (animations, stylesheet) => {\n for (const [direction, images] of Object.entries(animations)) {\n for (const [image, rules] of Object.entries(images)) {\n stylesheet.addAnimationPair(direction, image, rules);\n }\n }\n};\nconst reEncodeValidChars = \"0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ-_\".split(\"\").reduce((v, c) => (v[c.charCodeAt(0)] = c, v), []);\nconst reEncodeInValidStart = \"-0123456789_\".split(\"\").reduce((v, c) => (v[c.charCodeAt(0)] = c, v), []);\nfunction reEncode(s) {\n let result = \"\";\n let codepoint;\n for (let i = 0; i < s.length; i += (codepoint ?? 0) > 65535 ? 2 : 1) {\n codepoint = s.codePointAt(i);\n if (codepoint !== void 0) {\n result += codepoint < 128 ? codepoint === 95 ? \"__\" : reEncodeValidChars[codepoint] ?? \"_\" + codepoint.toString(16).padStart(2, \"0\") : String.fromCodePoint(codepoint);\n }\n }\n return reEncodeInValidStart[result.codePointAt(0) ?? 0] ? \"_\" + result : result;\n}\nfunction renderTransition(result, hash, animationName, transitionName) {\n if (typeof (transitionName ?? \"\") !== \"string\") {\n throw new Error(`Invalid transition name {${transitionName}}`);\n }\n if (!animationName) animationName = \"fade\";\n const scope = createTransitionScope(result, hash);\n const name = transitionName ? cssesc(reEncode(transitionName), { isIdentifier: true }) : scope;\n const sheet = new ViewTransitionStyleSheet(scope, name);\n const animations = getAnimations(animationName);\n if (animations) {\n addPairs(animations, sheet);\n } else if (animationName === \"none\") {\n sheet.addFallback(\"old\", \"animation: none; mix-blend-mode: normal;\");\n sheet.addModern(\"old\", \"animation: none; opacity: 0; mix-blend-mode: normal;\");\n sheet.addAnimationRaw(\"new\", \"animation: none; mix-blend-mode: normal;\");\n sheet.addModern(\"group\", \"animation: none\");\n }\n result._metadata.extraHead.push(markHTMLString(``));\n return scope;\n}\nfunction createAnimationScope(transitionName, animations) {\n const hash = Math.random().toString(36).slice(2, 8);\n const scope = `astro-${hash}`;\n const sheet = new ViewTransitionStyleSheet(scope, transitionName);\n addPairs(animations, sheet);\n return { scope, styles: sheet.toString().replaceAll('\"', \"\") };\n}\nclass ViewTransitionStyleSheet {\n constructor(scope, name) {\n this.scope = scope;\n this.name = name;\n }\n modern = [];\n fallback = [];\n toString() {\n const { scope, name } = this;\n const [modern, fallback] = [this.modern, this.fallback].map((rules) => rules.join(\"\"));\n return [\n `[data-astro-transition-scope=\"${scope}\"] { view-transition-name: ${name}; }`,\n this.layer(modern),\n fallback\n ].join(\"\");\n }\n layer(cssText) {\n return cssText ? `@layer astro { ${cssText} }` : \"\";\n }\n addRule(target, cssText) {\n this[target].push(cssText);\n }\n addAnimationRaw(image, animation) {\n this.addModern(image, animation);\n this.addFallback(image, animation);\n }\n addModern(image, animation) {\n const { name } = this;\n this.addRule(\"modern\", `::view-transition-${image}(${name}) { ${animation} }`);\n }\n addFallback(image, animation) {\n const { scope } = this;\n this.addRule(\n \"fallback\",\n // Two selectors here, the second in case there is an animation on the root.\n `[data-astro-transition-fallback=\"${image}\"] [data-astro-transition-scope=\"${scope}\"],\n\t\t\t[data-astro-transition-fallback=\"${image}\"][data-astro-transition-scope=\"${scope}\"] { ${animation} }`\n );\n }\n addAnimationPair(direction, image, rules) {\n const { scope, name } = this;\n const animation = stringifyAnimation(rules);\n const prefix = direction === \"backwards\" ? `[data-astro-transition=back]` : direction === \"forwards\" ? \"\" : `[data-astro-transition=${direction}]`;\n this.addRule(\"modern\", `${prefix}::view-transition-${image}(${name}) { ${animation} }`);\n this.addRule(\n \"fallback\",\n `${prefix}[data-astro-transition-fallback=\"${image}\"] [data-astro-transition-scope=\"${scope}\"],\n\t\t\t${prefix}[data-astro-transition-fallback=\"${image}\"][data-astro-transition-scope=\"${scope}\"] { ${animation} }`\n );\n }\n}\nfunction addAnimationProperty(builder, prop, value) {\n let arr = builder[prop];\n if (Array.isArray(arr)) {\n arr.push(value.toString());\n } else {\n builder[prop] = [value.toString()];\n }\n}\nfunction animationBuilder() {\n return {\n toString() {\n let out = \"\";\n for (let k in this) {\n let value = this[k];\n if (Array.isArray(value)) {\n out += `\n\t${k}: ${value.join(\", \")};`;\n }\n }\n return out;\n }\n };\n}\nfunction stringifyAnimation(anim) {\n if (Array.isArray(anim)) {\n return stringifyAnimations(anim);\n } else {\n return stringifyAnimations([anim]);\n }\n}\nfunction stringifyAnimations(anims) {\n const builder = animationBuilder();\n for (const anim of anims) {\n if (anim.duration) {\n addAnimationProperty(builder, \"animation-duration\", toTimeValue(anim.duration));\n }\n if (anim.easing) {\n addAnimationProperty(builder, \"animation-timing-function\", anim.easing);\n }\n if (anim.direction) {\n addAnimationProperty(builder, \"animation-direction\", anim.direction);\n }\n if (anim.delay) {\n addAnimationProperty(builder, \"animation-delay\", anim.delay);\n }\n if (anim.fillMode) {\n addAnimationProperty(builder, \"animation-fill-mode\", anim.fillMode);\n }\n addAnimationProperty(builder, \"animation-name\", anim.name);\n }\n return builder.toString();\n}\nfunction toTimeValue(num) {\n return typeof num === \"number\" ? num + \"ms\" : num;\n}\nexport {\n createAnimationScope,\n createTransitionScope,\n renderTransition\n};\n","import { createComponent } from \"./astro-component.js\";\nimport { createAstro } from \"./astro-global.js\";\nimport { renderEndpoint } from \"./endpoint.js\";\nimport {\n escapeHTML,\n HTMLBytes,\n HTMLString,\n isHTMLString,\n markHTMLString,\n unescapeHTML\n} from \"./escape.js\";\nimport { renderJSX } from \"./jsx.js\";\nimport {\n addAttribute,\n createHeadAndContent,\n defineScriptVars,\n Fragment,\n maybeRenderHead,\n renderTemplate,\n renderComponent,\n Renderer,\n renderHead,\n renderHTMLElement,\n renderPage,\n renderScript,\n renderScriptElement,\n renderSlot,\n renderSlotToString,\n renderTemplate as renderTemplate2,\n renderToString,\n renderUniqueStylesheet,\n voidElementNames\n} from \"./render/index.js\";\nimport { createTransitionScope, renderTransition } from \"./transition.js\";\nimport { markHTMLString as markHTMLString2 } from \"./escape.js\";\nimport { Renderer as Renderer2, addAttribute as addAttribute2 } from \"./render/index.js\";\nfunction mergeSlots(...slotted) {\n const slots = {};\n for (const slot of slotted) {\n if (!slot) continue;\n if (typeof slot === \"object\") {\n Object.assign(slots, slot);\n } else if (typeof slot === \"function\") {\n Object.assign(slots, mergeSlots(slot()));\n }\n }\n return slots;\n}\nfunction __astro_tag_component__(Component, rendererName) {\n if (!Component) return;\n if (typeof Component !== \"function\") return;\n Object.defineProperty(Component, Renderer2, {\n value: rendererName,\n enumerable: false,\n writable: false\n });\n}\nfunction spreadAttributes(values = {}, _name, { class: scopedClassName } = {}) {\n let output = \"\";\n if (scopedClassName) {\n if (typeof values.class !== \"undefined\") {\n values.class += ` ${scopedClassName}`;\n } else if (typeof values[\"class:list\"] !== \"undefined\") {\n values[\"class:list\"] = [values[\"class:list\"], scopedClassName];\n } else {\n values.class = scopedClassName;\n }\n }\n for (const [key, value] of Object.entries(values)) {\n output += addAttribute2(value, key, true);\n }\n return markHTMLString2(output);\n}\nfunction defineStyleVars(defs) {\n let output = \"\";\n let arr = !Array.isArray(defs) ? [defs] : defs;\n for (const vars of arr) {\n for (const [key, value] of Object.entries(vars)) {\n if (value || value === 0) {\n output += `--${key}: ${value};`;\n }\n }\n }\n return markHTMLString2(output);\n}\nexport {\n Fragment,\n HTMLBytes,\n HTMLString,\n Renderer,\n __astro_tag_component__,\n addAttribute,\n createAstro,\n createComponent,\n createHeadAndContent,\n createTransitionScope,\n defineScriptVars,\n defineStyleVars,\n escapeHTML,\n isHTMLString,\n markHTMLString,\n maybeRenderHead,\n mergeSlots,\n renderTemplate as render,\n renderComponent,\n renderEndpoint,\n renderHTMLElement,\n renderHead,\n renderJSX,\n renderPage,\n renderScript,\n renderScriptElement,\n renderSlot,\n renderSlotToString,\n renderTemplate2 as renderTemplate,\n renderToString,\n renderTransition,\n renderUniqueStylesheet,\n spreadAttributes,\n unescapeHTML,\n voidElementNames\n};\n"],"names":["AstroErrorData.InvalidComponentArgs","AstroErrorData.AstroGlobUsedOutside","AstroErrorData.AstroGlobNoMatch","AstroErrorData.MissingMediaQueryDirective","AstroErrorData.NoMatchingImport","islandScriptDev","islandScript","AstroErrorData.NoMatchingRenderer","AstroErrorData.NoClientOnlyHint","AstroErrorData.NoClientEntrypoint","addAttribute2","markHTMLString2"],"mappings":";;;;;;AAuCA,MAAM,0BAA0B,GAAG;AACnC,EAAE,IAAI,EAAE,4BAA4B;AACpC,EAAE,KAAK,EAAE,6CAA6C;AACtD,EAAE,OAAO,EAAE,sIAAsI;AACjJ,CAAC,CAAC;AACF,MAAM,kBAAkB,GAAG;AAC3B,EAAE,IAAI,EAAE,oBAAoB;AAC5B,EAAE,KAAK,EAAE,6BAA6B;AACtC,EAAE,OAAO,EAAE,CAAC,aAAa,EAAE,kBAAkB,EAAE,MAAM,EAAE,mBAAmB,KAAK,CAAC,mBAAmB,EAAE,aAAa,CAAC;AACnH;AACA,EAAE,mBAAmB,GAAG,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,GAAG,KAAK,GAAG,IAAI,CAAC,CAAC,EAAE,mBAAmB,CAAC,SAAS,EAAE,MAAM,GAAG,GAAG,GAAG,EAAE,CAAC;AAC/G,IAAI,EAAE,MAAM,GAAG,WAAW,GAAG,YAAY,CAAC,8BAA8B,EAAE,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,4BAA4B,EAAE,kBAAkB,GAAG,CAAC,WAAW,EAAE,kBAAkB,CAAC,kBAAkB,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC,CAAC,CAAC,CAAC;AACxO,EAAE,IAAI,EAAE,CAAC,iBAAiB,KAAK,CAAC,2BAA2B,EAAE,iBAAiB,CAAC;AAC/E;AACA,+HAA+H,CAAC;AAChI,CAAC,CAAC;AACF,MAAM,kBAAkB,GAAG;AAC3B,EAAE,IAAI,EAAE,oBAAoB;AAC5B,EAAE,KAAK,EAAE,6CAA6C;AACtD,EAAE,OAAO,EAAE,CAAC,aAAa,EAAE,eAAe,EAAE,YAAY,KAAK,CAAC,EAAE,EAAE,aAAa,CAAC,4BAA4B,EAAE,eAAe,CAAC,yDAAyD,EAAE,YAAY,CAAC,GAAG,CAAC;AAC1M,EAAE,IAAI,EAAE,8IAA8I;AACtJ,CAAC,CAAC;AACF,MAAM,gBAAgB,GAAG;AACzB,EAAE,IAAI,EAAE,kBAAkB;AAC1B,EAAE,KAAK,EAAE,wCAAwC;AACjD,EAAE,OAAO,EAAE,CAAC,aAAa,KAAK,CAAC,mBAAmB,EAAE,aAAa,CAAC,sGAAsG,CAAC;AACzK,EAAE,IAAI,EAAE,CAAC,iBAAiB,KAAK,CAAC,oCAAoC,EAAE,iBAAiB,CAAC,mHAAmH,CAAC;AAC5M,CAAC,CAAC;AAyDF,MAAM,gBAAgB,GAAG;AACzB,EAAE,IAAI,EAAE,kBAAkB;AAC1B,EAAE,KAAK,EAAE,gCAAgC;AACzC,EAAE,OAAO,EAAE,CAAC,aAAa,KAAK,CAAC,mBAAmB,EAAE,aAAa,CAAC,4CAA4C,EAAE,aAAa,CAAC,GAAG,CAAC;AAClI,EAAE,IAAI,EAAE,sDAAsD;AAC9D,CAAC,CAAC;AAgBF,MAAM,oBAAoB,GAAG;AAC7B,EAAE,IAAI,EAAE,sBAAsB;AAC9B,EAAE,KAAK,EAAE,8BAA8B;AACvC,EAAE,OAAO,EAAE,CAAC,IAAI,KAAK,CAAC,2BAA2B,EAAE,IAAI,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,WAAW,CAAC;AACxF,EAAE,IAAI,EAAE,oHAAoH;AAC5H,CAAC,CAAC;AA6IF,MAAM,oBAAoB,GAAG;AAC7B,EAAE,IAAI,EAAE,sBAAsB;AAC9B,EAAE,KAAK,EAAE,6CAA6C;AACtD,EAAE,OAAO,EAAE,CAAC,OAAO,KAAK,CAAC,aAAa,EAAE,OAAO,CAAC,6DAA6D,EAAE,OAAO,CAAC,oDAAoD,CAAC;AAC5K,EAAE,IAAI,EAAE,yHAAyH;AACjI,CAAC,CAAC;AACF,MAAM,gBAAgB,GAAG;AACzB,EAAE,IAAI,EAAE,kBAAkB;AAC1B,EAAE,KAAK,EAAE,uCAAuC;AAChD,EAAE,OAAO,EAAE,CAAC,OAAO,KAAK,CAAC,aAAa,EAAE,OAAO,CAAC,sCAAsC,CAAC;AACvF,EAAE,IAAI,EAAE,8BAA8B;AACtC,CAAC;;ACzOD,SAAS,WAAW,CAAC,IAAI,EAAE;AAC3B,EAAE,OAAO,IAAI,CAAC,OAAO,CAAC,mBAAmB,EAAE,IAAI,CAAC,CAAC;AACjD;;ACrEA,SAAS,SAAS,CAAC,GAAG,EAAE,GAAG,EAAE;AAC7B,EAAE,IAAI,CAAC,GAAG,IAAI,GAAG,CAAC,IAAI,KAAK,KAAK,CAAC,IAAI,GAAG,CAAC,MAAM,KAAK,KAAK,CAAC,EAAE;AAC5D,IAAI,OAAO,EAAE,CAAC;AACd,GAAG;AACH,EAAE,MAAM,KAAK,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC;AAClF,EAAE,MAAM,YAAY,GAAG,EAAE,CAAC;AAC1B,EAAE,KAAK,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE;AAChC,IAAI,IAAI,KAAK,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,CAAC,EAAE,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC;AAC7D,GAAG;AACH,EAAE,IAAI,WAAW,GAAG,CAAC,CAAC;AACtB,EAAE,KAAK,MAAM,MAAM,IAAI,YAAY,EAAE;AACrC,IAAI,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC,CAAC;AAC1B,IAAI,IAAI,CAAC,CAAC,MAAM,GAAG,WAAW,EAAE,WAAW,GAAG,CAAC,CAAC,MAAM,CAAC;AACvD,GAAG;AACH,EAAE,IAAI,MAAM,GAAG,EAAE,CAAC;AAClB,EAAE,KAAK,MAAM,MAAM,IAAI,YAAY,EAAE;AACrC,IAAI,MAAM,aAAa,GAAG,MAAM,KAAK,GAAG,CAAC,IAAI,GAAG,CAAC,CAAC;AAClD,IAAI,MAAM,IAAI,aAAa,GAAG,IAAI,GAAG,IAAI,CAAC;AAC1C,IAAI,MAAM,IAAI,CAAC,EAAE,MAAM,GAAG,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;AAC/C,CAAC,CAAC;AACF,IAAI,IAAI,aAAa;AACrB,MAAM,MAAM,IAAI,CAAC,EAAE,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC;AAClF,QAAQ,MAAM,EAAE,GAAG,CAAC,MAAM;AAC1B,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACnB,CAAC,CAAC;AACF,GAAG;AACH,EAAE,OAAO,MAAM,CAAC;AAChB;;ACxBA,MAAM,UAAU,SAAS,KAAK,CAAC;AAC/B,EAAE,GAAG,CAAC;AACN,EAAE,KAAK,CAAC;AACR,EAAE,IAAI,CAAC;AACP,EAAE,KAAK,CAAC;AACR,EAAE,IAAI,GAAG,YAAY,CAAC;AACtB,EAAE,WAAW,CAAC,KAAK,EAAE,OAAO,EAAE;AAC9B,IAAI,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,KAAK,CAAC;AACzE,IAAI,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;AAC5B,IAAI,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;AACvB,IAAI,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;AACrB,IAAI,IAAI,OAAO,EAAE,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;AACxC,IAAI,IAAI,CAAC,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;AAC5C,IAAI,IAAI,CAAC,GAAG,GAAG,QAAQ,CAAC;AACxB,IAAI,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;AACrB,IAAI,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;AACvB,GAAG;AACH,EAAE,WAAW,CAAC,QAAQ,EAAE;AACxB,IAAI,IAAI,CAAC,GAAG,GAAG,QAAQ,CAAC;AACxB,GAAG;AACH,EAAE,OAAO,CAAC,IAAI,EAAE;AAChB,IAAI,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;AACrB,GAAG;AACH,EAAE,UAAU,CAAC,OAAO,EAAE;AACtB,IAAI,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;AAC3B,GAAG;AACH,EAAE,OAAO,CAAC,IAAI,EAAE;AAChB,IAAI,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;AACrB,GAAG;AACH,EAAE,QAAQ,CAAC,MAAM,EAAE,QAAQ,EAAE;AAC7B,IAAI,IAAI,CAAC,KAAK,GAAG,SAAS,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;AAC7C,GAAG;AACH,EAAE,OAAO,EAAE,CAAC,GAAG,EAAE;AACjB,IAAI,OAAO,GAAG,CAAC,IAAI,KAAK,YAAY,CAAC;AACrC,GAAG;AACH;;ACtCA,SAAS,YAAY,CAAC,IAAI,EAAE;AAC5B,EAAE,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,OAAO,KAAK,CAAC;AACtC,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,OAAO,IAAI,CAAC,CAAC,CAAC,KAAK,QAAQ,EAAE,OAAO,KAAK,CAAC;AAC5D,EAAE,OAAO,IAAI,CAAC;AACd,CAAC;AACD,SAAS,mBAAmB,CAAC,EAAE,EAAE,QAAQ,EAAE,WAAW,EAAE;AACxD,EAAE,MAAM,IAAI,GAAG,QAAQ,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,IAAI,EAAE,CAAC;AACvE,EAAE,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI,KAAK;AAC1B,IAAI,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE;AAC7B,MAAM,MAAM,IAAI,UAAU,CAAC;AAC3B,QAAQ,GAAGA,oBAAmC;AAC9C,QAAQ,OAAO,EAAEA,oBAAmC,CAAC,OAAO,CAAC,IAAI,CAAC;AAClE,OAAO,CAAC,CAAC;AACT,KAAK;AACL,IAAI,OAAO,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC;AACvB,GAAG,CAAC;AACJ,EAAE,MAAM,CAAC,cAAc,CAAC,EAAE,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC;AACtE,EAAE,EAAE,CAAC,uBAAuB,GAAG,IAAI,CAAC;AACpC,EAAE,EAAE,CAAC,QAAQ,GAAG,QAAQ,CAAC;AACzB,EAAE,EAAE,CAAC,WAAW,GAAG,WAAW,CAAC;AAC/B,EAAE,OAAO,EAAE,CAAC;AACZ,CAAC;AACD,SAAS,0BAA0B,CAAC,IAAI,EAAE;AAC1C,EAAE,MAAM,EAAE,GAAG,mBAAmB,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;AAChF,EAAE,OAAO,EAAE,CAAC;AACZ,CAAC;AACD,SAAS,eAAe,CAAC,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE;AACtD,EAAE,IAAI,OAAO,IAAI,KAAK,UAAU,EAAE;AAClC,IAAI,OAAO,mBAAmB,CAAC,IAAI,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAC;AAC5D,GAAG,MAAM;AACT,IAAI,OAAO,0BAA0B,CAAC,IAAI,CAAC,CAAC;AAC5C,GAAG;AACH;;ACjCA,MAAM,aAAa,GAAG,QAAQ;;ACE9B,SAAS,iBAAiB,GAAG;AAC7B,EAAE,MAAM,WAAW,GAAG,CAAC,oBAAoB,KAAK;AAChD,IAAI,IAAI,OAAO,oBAAoB,KAAK,QAAQ,EAAE;AAClD,MAAM,MAAM,IAAI,UAAU,CAAC;AAC3B,QAAQ,GAAGC,oBAAmC;AAC9C,QAAQ,OAAO,EAAEA,oBAAmC,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,oBAAoB,CAAC,CAAC;AAClG,OAAO,CAAC,CAAC;AACT,KAAK;AACL,IAAI,IAAI,UAAU,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,oBAAoB,CAAC,CAAC,CAAC;AAC9D,IAAI,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE;AACjC,MAAM,MAAM,IAAI,UAAU,CAAC;AAC3B,QAAQ,GAAGC,gBAA+B;AAC1C,QAAQ,OAAO,EAAEA,gBAA+B,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,oBAAoB,CAAC,CAAC;AAC9F,OAAO,CAAC,CAAC;AACT,KAAK;AACL,IAAI,OAAO,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC;AACrD,GAAG,CAAC;AACJ,EAAE,OAAO,WAAW,CAAC;AACrB,CAAC;AACD,SAAS,WAAW,CAAC,IAAI,EAAE;AAC3B,EAAE,OAAO;AACT;AACA;AACA,IAAI,IAAI,EAAyB,KAAK,CAAC;AACvC,IAAI,SAAS,EAAE,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC;AACxC,IAAI,IAAI,EAAE,iBAAiB,EAAE;AAC7B,GAAG,CAAC;AACJ;;AC7BA,SAAS,SAAS,CAAC,KAAK,EAAE;AAC1B,EAAE,OAAO,CAAC,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,MAAM,IAAI,KAAK,IAAI,OAAO,KAAK,CAAC,IAAI,KAAK,UAAU,CAAC;AACrG,CAAC;AACD,gBAAgB,mBAAmB,CAAC,MAAM,EAAE;AAC5C,EAAE,MAAM,MAAM,GAAG,MAAM,CAAC,SAAS,EAAE,CAAC;AACpC,EAAE,IAAI;AACN,IAAI,OAAO,IAAI,EAAE;AACjB,MAAM,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC;AAClD,MAAM,IAAI,IAAI,EAAE,OAAO;AACvB,MAAM,MAAM,KAAK,CAAC;AAClB,KAAK;AACL,GAAG,SAAS;AACZ,IAAI,MAAM,CAAC,WAAW,EAAE,CAAC;AACzB,GAAG;AACH;;ACZA,MAAM,UAAU,GAAG,MAAM,CAAC;AAC1B,MAAM,SAAS,SAAS,UAAU,CAAC;AACnC,CAAC;AACD,MAAM,CAAC,cAAc,CAAC,SAAS,CAAC,SAAS,EAAE,MAAM,CAAC,WAAW,EAAE;AAC/D,EAAE,GAAG,GAAG;AACR,IAAI,OAAO,WAAW,CAAC;AACvB,GAAG;AACH,CAAC,CAAC,CAAC;AACH,MAAM,UAAU,SAAS,MAAM,CAAC;AAChC,EAAE,KAAK,MAAM,CAAC,WAAW,CAAC,GAAG;AAC7B,IAAI,OAAO,YAAY,CAAC;AACxB,GAAG;AACH,CAAC;AACD,MAAM,cAAc,GAAG,CAAC,KAAK,KAAK;AAClC,EAAE,IAAI,KAAK,YAAY,UAAU,EAAE;AACnC,IAAI,OAAO,KAAK,CAAC;AACjB,GAAG;AACH,EAAE,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;AACjC,IAAI,OAAO,IAAI,UAAU,CAAC,KAAK,CAAC,CAAC;AACjC,GAAG;AACH,EAAE,OAAO,KAAK,CAAC;AACf,CAAC,CAAC;AACF,SAAS,YAAY,CAAC,KAAK,EAAE;AAC7B,EAAE,OAAO,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,qBAAqB,CAAC;AACzE,CAAC;AACD,SAAS,aAAa,CAAC,KAAK,EAAE;AAC9B,EAAE,OAAO,IAAI,SAAS,CAAC,KAAK,CAAC,CAAC;AAC9B,CAAC;AAID,SAAS,YAAY,CAAC,GAAG,EAAE;AAC3B,EAAE,OAAO,OAAO,GAAG,CAAC,SAAS,KAAK,UAAU,CAAC;AAC7C,CAAC;AACD,gBAAgB,mBAAmB,CAAC,QAAQ,EAAE;AAC9C,EAAE,IAAI,YAAY,CAAC,QAAQ,CAAC,EAAE;AAC9B,IAAI,WAAW,MAAM,KAAK,IAAI,mBAAmB,CAAC,QAAQ,CAAC,EAAE;AAC7D,MAAM,MAAM,YAAY,CAAC,KAAK,CAAC,CAAC;AAChC,KAAK;AACL,GAAG,MAAM;AACT,IAAI,WAAW,MAAM,KAAK,IAAI,QAAQ,EAAE;AACxC,MAAM,MAAM,YAAY,CAAC,KAAK,CAAC,CAAC;AAChC,KAAK;AACL,GAAG;AACH,CAAC;AACD,UAAU,cAAc,CAAC,QAAQ,EAAE;AACnC,EAAE,KAAK,MAAM,KAAK,IAAI,QAAQ,EAAE;AAChC,IAAI,MAAM,YAAY,CAAC,KAAK,CAAC,CAAC;AAC9B,GAAG;AACH,CAAC;AACD,SAAS,YAAY,CAAC,GAAG,EAAE;AAC3B,EAAE,IAAI,CAAC,CAAC,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE;AACxC,IAAI,IAAI,GAAG,YAAY,UAAU,EAAE;AACnC,MAAM,OAAO,aAAa,CAAC,GAAG,CAAC,CAAC;AAChC,KAAK,MAAM,IAAI,GAAG,YAAY,QAAQ,IAAI,GAAG,CAAC,IAAI,EAAE;AACpD,MAAM,MAAM,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC;AAC5B,MAAM,OAAO,mBAAmB,CAAC,IAAI,CAAC,CAAC;AACvC,KAAK,MAAM,IAAI,OAAO,GAAG,CAAC,IAAI,KAAK,UAAU,EAAE;AAC/C,MAAM,OAAO,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,KAAK;AAClD,QAAQ,OAAO,YAAY,CAAC,KAAK,CAAC,CAAC;AACnC,OAAO,CAAC,CAAC;AACT,KAAK,MAAM,IAAI,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC,EAAE;AACrD,MAAM,OAAO,GAAG,CAAC;AACjB,KAAK,MAAM,IAAI,MAAM,CAAC,QAAQ,IAAI,GAAG,EAAE;AACvC,MAAM,OAAO,cAAc,CAAC,GAAG,CAAC,CAAC;AACjC,KAAK,MAAM,IAAI,MAAM,CAAC,aAAa,IAAI,GAAG,IAAI,YAAY,CAAC,GAAG,CAAC,EAAE;AACjE,MAAM,OAAO,mBAAmB,CAAC,GAAG,CAAC,CAAC;AACtC,KAAK;AACL,GAAG;AACH,EAAE,OAAO,cAAc,CAAC,GAAG,CAAC,CAAC;AAC7B;;ACxEA,MAAM,uBAAuB,GAAG,MAAM,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;AAC3D,SAAS,uBAAuB,CAAC,WAAW,EAAE;AAC9C,EAAE,OAAO,MAAM,CAAC,cAAc,CAAC,WAAW,EAAE,uBAAuB,EAAE;AACrE,IAAI,KAAK,EAAE,IAAI;AACf,GAAG,CAAC,CAAC;AACL,CAAC;AACD,SAAS,mBAAmB,CAAC,KAAK,EAAE;AACpC,EAAE,OAAO,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAC;AAC9E;;ACRA,MAAM,SAAS,GAAG;AAClB,EAAE,KAAK,EAAE,CAAC;AACV,EAAE,IAAI,EAAE,CAAC;AACT;AACA,EAAE,MAAM,EAAE,CAAC;AACX,EAAE,IAAI,EAAE,CAAC;AACT,EAAE,GAAG,EAAE,CAAC;AACR,EAAE,GAAG,EAAE,CAAC;AACR,EAAE,MAAM,EAAE,CAAC;AACX,EAAE,GAAG,EAAE,CAAC;AACR,EAAE,UAAU,EAAE,CAAC;AACf,EAAE,WAAW,EAAE,CAAC;AAChB,EAAE,WAAW,EAAE,EAAE;AACjB,CAAC,CAAC;AACF,SAAS,cAAc,CAAC,KAAK,EAAE,QAAQ,GAAG,EAAE,EAAE,OAAO,mBAAmB,IAAI,OAAO,EAAE,EAAE;AACvF,EAAE,IAAI,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE;AAC1B,IAAI,MAAM,IAAI,KAAK,CAAC,CAAC,uDAAuD,EAAE,QAAQ,CAAC,WAAW,CAAC,QAAQ,EAAE,QAAQ,CAAC,OAAO,CAAC;AAC9H;AACA,wGAAwG,CAAC,CAAC,CAAC;AAC3G,GAAG;AACH,EAAE,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;AACrB,EAAE,MAAM,UAAU,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK;AACtC,IAAI,OAAO,uBAAuB,CAAC,CAAC,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;AACzD,GAAG,CAAC,CAAC;AACL,EAAE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AACxB,EAAE,OAAO,UAAU,CAAC;AACpB,CAAC;AACD,SAAS,eAAe,CAAC,KAAK,EAAE,QAAQ,GAAG,EAAE,EAAE,OAAO,mBAAmB,IAAI,OAAO,EAAE,EAAE;AACxF,EAAE,IAAI,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE;AAC1B,IAAI,MAAM,IAAI,KAAK,CAAC,CAAC,uDAAuD,EAAE,QAAQ,CAAC,WAAW,CAAC,QAAQ,EAAE,QAAQ,CAAC,OAAO,CAAC;AAC9H;AACA,wGAAwG,CAAC,CAAC,CAAC;AAC3G,GAAG;AACH,EAAE,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;AACrB,EAAE,MAAM,UAAU,GAAG,MAAM,CAAC,WAAW;AACvC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK;AAC1C,MAAM,OAAO,CAAC,CAAC,EAAE,uBAAuB,CAAC,CAAC,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC;AAChE,KAAK,CAAC;AACN,GAAG,CAAC;AACJ,EAAE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AACxB,EAAE,OAAO,UAAU,CAAC;AACpB,CAAC;AACD,SAAS,uBAAuB,CAAC,KAAK,EAAE,QAAQ,GAAG,EAAE,EAAE,OAAO,mBAAmB,IAAI,OAAO,EAAE,EAAE;AAChG,EAAE,MAAM,GAAG,GAAG,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AACpD,EAAE,QAAQ,GAAG;AACb,IAAI,KAAK,eAAe,EAAE;AAC1B,MAAM,OAAO,CAAC,SAAS,CAAC,IAAI,EAAE,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC;AACnD,KAAK;AACL,IAAI,KAAK,iBAAiB,EAAE;AAC5B,MAAM,OAAO,CAAC,SAAS,CAAC,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;AAC9C,KAAK;AACL,IAAI,KAAK,cAAc,EAAE;AACzB,MAAM,OAAO,CAAC,SAAS,CAAC,GAAG,EAAE,cAAc,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC;AACnF,KAAK;AACL,IAAI,KAAK,cAAc,EAAE;AACzB,MAAM,OAAO,CAAC,SAAS,CAAC,GAAG,EAAE,cAAc,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC;AACnF,KAAK;AACL,IAAI,KAAK,iBAAiB,EAAE;AAC5B,MAAM,OAAO,CAAC,SAAS,CAAC,MAAM,EAAE,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;AAClD,KAAK;AACL,IAAI,KAAK,cAAc,EAAE;AACzB,MAAM,OAAO,CAAC,SAAS,CAAC,GAAG,EAAE,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;AAC/C,KAAK;AACL,IAAI,KAAK,gBAAgB,EAAE;AAC3B,MAAM,OAAO,CAAC,SAAS,CAAC,IAAI,EAAE,cAAc,CAAC,KAAK,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC;AACxE,KAAK;AACL,IAAI,KAAK,qBAAqB,EAAE;AAChC,MAAM,OAAO,CAAC,SAAS,CAAC,UAAU,EAAE,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;AACvD,KAAK;AACL,IAAI,KAAK,sBAAsB,EAAE;AACjC,MAAM,OAAO,CAAC,SAAS,CAAC,WAAW,EAAE,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;AACxD,KAAK;AACL,IAAI,KAAK,sBAAsB,EAAE;AACjC,MAAM,OAAO,CAAC,SAAS,CAAC,WAAW,EAAE,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;AACxD,KAAK;AACL,IAAI,SAAS;AACb,MAAM,IAAI,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;AACvD,QAAQ,OAAO,CAAC,SAAS,CAAC,KAAK,EAAE,eAAe,CAAC,KAAK,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC;AAC5E,OAAO,MAAM,IAAI,KAAK,KAAK,KAAK,CAAC,EAAE;AACnC,QAAQ,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;AACjC,OAAO,MAAM;AACb,QAAQ,OAAO,CAAC,SAAS,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;AACxC,OAAO;AACP,KAAK;AACL,GAAG;AACH,CAAC;AACD,SAAS,cAAc,CAAC,KAAK,EAAE,QAAQ,EAAE;AACzC,EAAE,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC;AACtE,EAAE,OAAO,UAAU,CAAC;AACpB;;ACtFA,MAAM,kCAAkC,GAAG,MAAM,CAAC,MAAM,CAAC;AACzD,EAAE,6BAA6B;AAC/B,EAAE,+BAA+B;AACjC,EAAE,qCAAqC;AACvC,CAAC,CAAC,CAAC;AACH,SAAS,iBAAiB,CAAC,UAAU,EAAE,gBAAgB,EAAE;AACzD,EAAE,IAAI,SAAS,GAAG;AAClB,IAAI,MAAM,EAAE,KAAK;AACjB,IAAI,SAAS,EAAE,IAAI;AACnB,IAAI,KAAK,EAAE,EAAE;AACb,IAAI,gCAAgC,EAAE,EAAE;AACxC,GAAG,CAAC;AACJ,EAAE,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE;AACzD,IAAI,IAAI,GAAG,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE;AACnC,MAAM,IAAI,GAAG,KAAK,aAAa,EAAE;AACjC,QAAQ,SAAS,CAAC,MAAM,GAAG,IAAI,CAAC;AAChC,OAAO;AACP,KAAK;AACL,IAAI,IAAI,GAAG,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE;AACnC,MAAM,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE;AAChC,QAAQ,SAAS,CAAC,SAAS,GAAG;AAC9B,UAAU,SAAS,EAAE,EAAE;AACvB,UAAU,KAAK,EAAE,EAAE;AACnB,UAAU,YAAY,EAAE,EAAE;AAC1B,UAAU,eAAe,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE;AACxC,SAAS,CAAC;AACV,OAAO;AACP,MAAM,QAAQ,GAAG;AACjB,QAAQ,KAAK,uBAAuB,EAAE;AACtC,UAAU,SAAS,CAAC,SAAS,CAAC,YAAY,GAAG,KAAK,CAAC;AACnD,UAAU,MAAM;AAChB,SAAS;AACT,QAAQ,KAAK,yBAAyB,EAAE;AACxC,UAAU,SAAS,CAAC,SAAS,CAAC,eAAe,CAAC,KAAK,GAAG,KAAK,CAAC;AAC5D,UAAU,MAAM;AAChB,SAAS;AACT,QAAQ,KAAK,4BAA4B,EAAE;AAC3C,UAAU,MAAM;AAChB,SAAS;AACT,QAAQ,KAAK,qBAAqB,EAAE;AACpC,UAAU,MAAM;AAChB,SAAS;AACT,QAAQ,SAAS;AACjB,UAAU,SAAS,CAAC,SAAS,CAAC,SAAS,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;AAC5D,UAAU,SAAS,CAAC,SAAS,CAAC,KAAK,GAAG,KAAK,CAAC;AAC5C,UAAU,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,SAAS,CAAC,SAAS,CAAC,SAAS,CAAC,EAAE;AACpE,YAAY,MAAM,gBAAgB,GAAG,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC9G,YAAY,MAAM,IAAI,KAAK;AAC3B,cAAc,CAAC,oCAAoC,EAAE,GAAG,CAAC,gCAAgC,EAAE,gBAAgB,CAAC,CAAC;AAC7G,aAAa,CAAC;AACd,WAAW;AACX,UAAU,IAAI,SAAS,CAAC,SAAS,CAAC,SAAS,KAAK,OAAO,IAAI,OAAO,SAAS,CAAC,SAAS,CAAC,KAAK,KAAK,QAAQ,EAAE;AAC1G,YAAY,MAAM,IAAI,UAAU,CAACC,0BAAyC,CAAC,CAAC;AAC5E,WAAW;AACX,UAAU,MAAM;AAChB,SAAS;AACT,OAAO;AACP,KAAK,MAAM;AACX,MAAM,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;AACnC,MAAM,IAAI,CAAC,kCAAkC,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;AAC7D,QAAQ,SAAS,CAAC,gCAAgC,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;AAChE,OAAO;AACP,KAAK;AACL,GAAG;AACH,EAAE,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,qBAAqB,CAAC,UAAU,CAAC,EAAE;AAC9D,IAAI,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC;AAC3C,IAAI,SAAS,CAAC,gCAAgC,CAAC,GAAG,CAAC,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC;AACtE,GAAG;AACH,EAAE,OAAO,SAAS,CAAC;AACnB,CAAC;AACD,eAAe,qBAAqB,CAAC,aAAa,EAAE,QAAQ,EAAE;AAC9D,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,aAAa,CAAC;AACpE,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,GAAG,QAAQ,CAAC;AAC9D,EAAE,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE;AAC9B,IAAI,MAAM,IAAI,UAAU,CAAC;AACzB,MAAM,GAAGC,gBAA+B;AACxC,MAAM,OAAO,EAAEA,gBAA+B,CAAC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC;AAC5E,KAAK,CAAC,CAAC;AACP,GAAG;AACH,EAAE,MAAM,MAAM,GAAG;AACjB,IAAI,QAAQ,EAAE,EAAE;AAChB,IAAI,KAAK,EAAE;AACX;AACA,MAAM,GAAG,EAAE,OAAO;AAClB,KAAK;AACL,GAAG,CAAC;AACJ,EAAE,IAAI,KAAK,EAAE;AACb,IAAI,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;AACtD,MAAM,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC;AAC5C,KAAK;AACL,GAAG;AACH,EAAE,MAAM,CAAC,KAAK,CAAC,eAAe,CAAC,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC,CAAC;AAChF,EAAE,IAAI,QAAQ,CAAC,gBAAgB,EAAE;AACjC,IAAI,MAAM,CAAC,KAAK,CAAC,kBAAkB,CAAC,GAAG,eAAe,CAAC,KAAK,CAAC;AAC7D,IAAI,MAAM,CAAC,KAAK,CAAC,cAAc,CAAC,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC,CAAC;AAC9F,IAAI,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,UAAU,CAAC,cAAc,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC;AACxE,GAAG;AACH,EAAE,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC;AAC3B,EAAE,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,OAAO,CAAC;AACnC,EAAE,IAAI,kBAAkB,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,mCAAmC,CAAC,CAAC;AACrF,EAAE,IAAI,kBAAkB,CAAC,MAAM,EAAE;AACjC,IAAI,MAAM,CAAC,KAAK,CAAC,sBAAsB,CAAC,GAAG,kBAAkB,CAAC;AAC9D,GAAG;AACH,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,UAAU;AACnC,IAAI,IAAI,CAAC,SAAS,CAAC;AACnB,MAAM,IAAI,EAAE,QAAQ,CAAC,WAAW;AAChC,MAAM,KAAK,EAAE,QAAQ,CAAC,WAAW,IAAI,EAAE;AACvC,KAAK,CAAC;AACN,GAAG,CAAC;AACJ,EAAE,kCAAkC,CAAC,OAAO,CAAC,CAAC,IAAI,KAAK;AACvD,IAAI,IAAI,OAAO,KAAK,CAAC,IAAI,CAAC,KAAK,WAAW,EAAE;AAC5C,MAAM,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC;AACvC,KAAK;AACL,GAAG,CAAC,CAAC;AACL,EAAE,OAAO,MAAM,CAAC;AAChB;;ACtHA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,UAAU,GAAG,+DAA+D,CAAC;AACnF,MAAM,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC;AACjC,SAAS,OAAO,CAAC,GAAG,EAAE;AACtB,EAAE,IAAI,IAAI,GAAG,CAAC,CAAC;AACf,EAAE,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC,EAAE,OAAO,IAAI,CAAC;AACpC,EAAE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;AACvC,IAAI,MAAM,EAAE,GAAG,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;AACjC,IAAI,IAAI,GAAG,CAAC,IAAI,IAAI,CAAC,IAAI,IAAI,GAAG,EAAE,CAAC;AACnC,IAAI,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;AACvB,GAAG;AACH,EAAE,OAAO,IAAI,CAAC;AACd,CAAC;AACD,SAAS,SAAS,CAAC,IAAI,EAAE;AACzB,EAAE,IAAI,GAAG,CAAC;AACV,EAAE,IAAI,MAAM,GAAG,EAAE,CAAC;AAClB,EAAE,IAAI,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;AAC9B,EAAE,MAAM,IAAI,GAAG,OAAO,GAAG,CAAC,GAAG,GAAG,GAAG,EAAE,CAAC;AACtC,EAAE,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;AAC9B,EAAE,OAAO,OAAO,IAAI,MAAM,EAAE;AAC5B,IAAI,GAAG,GAAG,OAAO,GAAG,MAAM,CAAC;AAC3B,IAAI,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC,CAAC;AAC3C,IAAI,MAAM,GAAG,UAAU,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC;AACtC,GAAG;AACH,EAAE,IAAI,OAAO,GAAG,CAAC,EAAE;AACnB,IAAI,MAAM,GAAG,UAAU,CAAC,OAAO,CAAC,GAAG,MAAM,CAAC;AAC1C,GAAG;AACH,EAAE,OAAO,IAAI,GAAG,MAAM,CAAC;AACvB;;ACzDA,SAAS,uBAAuB,CAAC,GAAG,EAAE;AACtC,EAAE,OAAO,GAAG,IAAI,IAAI,GAAG,KAAK,GAAG,GAAG,CAAC,uBAAuB,KAAK,IAAI,CAAC;AACpE,CAAC;AACD,SAAS,uBAAuB,CAAC,MAAM,EAAE,OAAO,EAAE;AAClD,EAAE,IAAI,IAAI,GAAG,OAAO,CAAC,WAAW,IAAI,MAAM,CAAC;AAC3C,EAAE,IAAI,OAAO,CAAC,QAAQ,IAAI,MAAM,CAAC,iBAAiB,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,IAAI,KAAK,MAAM,EAAE;AAC7F,IAAI,IAAI,GAAG,MAAM,CAAC,iBAAiB,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,WAAW,CAAC;AACtE,GAAG;AACH,EAAE,OAAO,IAAI,KAAK,SAAS,IAAI,IAAI,KAAK,MAAM,CAAC;AAC/C;;ACTA,MAAM,iBAAiB,GAAG,MAAM,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC;AAC7D,SAAS,gBAAgB,CAAC,GAAG,EAAE;AAC/B,EAAE,OAAO,OAAO,GAAG,KAAK,QAAQ,IAAI,CAAC,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;AAC7D;;ACHA,IAAI,iCAAiC,GAAG,CAAC,0+GAA0+G,CAAC;;ACAphH,IAAI,6BAA6B,GAAG,CAAC,s4GAAs4G,CAAC;;ACE56G,MAAM,aAAa,GAAG,CAAC,0EAA0E,CAAC,CAAC;AACnG,SAAS,+BAA+B,CAAC,MAAM,EAAE;AACjD,EAAE,IAAI,MAAM,CAAC,SAAS,CAAC,kBAAkB,EAAE;AAC3C,IAAI,OAAO,KAAK,CAAC;AACjB,GAAG;AACH,EAAE,OAAO,MAAM,CAAC,SAAS,CAAC,kBAAkB,GAAG,IAAI,CAAC;AACpD,CAAC;AACD,SAAS,gCAAgC,CAAC,MAAM,EAAE,SAAS,EAAE;AAC7D,EAAE,IAAI,MAAM,CAAC,SAAS,CAAC,aAAa,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE;AACrD,IAAI,OAAO,KAAK,CAAC;AACjB,GAAG;AACH,EAAE,MAAM,CAAC,SAAS,CAAC,aAAa,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;AAChD,EAAE,OAAO,IAAI,CAAC;AACd,CAAC;AACD,SAAS,sBAAsB,CAAC,MAAM,EAAE,SAAS,EAAE;AACnD,EAAE,MAAM,gBAAgB,GAAG,MAAM,CAAC,gBAAgB,CAAC;AACnD,EAAE,MAAM,eAAe,GAAG,gBAAgB,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;AAC1D,EAAE,IAAI,CAAC,eAAe,EAAE;AACxB,IAAI,MAAM,IAAI,KAAK,CAAC,CAAC,mBAAmB,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC;AACvD,GAAG;AACH,EAAE,OAAO,eAAe,CAAC;AACzB,CAAC;AACD,SAAS,aAAa,CAAC,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE;AAChD,EAAE,QAAQ,IAAI;AACd,IAAI,KAAK,MAAM;AACf,MAAM,OAAO,CAAC,EAAE,aAAa,CAAC,QAAQ,EAAE,sBAAsB,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,aAAa,GAAGC,iCAAe,GAAGC,6BAAY,CAAC,SAAS,CAAC,CAAC;AACxK,IAAI,KAAK,WAAW;AACpB,MAAM,OAAO,CAAC,QAAQ,EAAE,sBAAsB,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,SAAS,CAAC,CAAC;AAG7E,GAAG;AACH,EAAE,OAAO,EAAE,CAAC;AACZ;;AChCA,MAAM,gBAAgB,GAAG,0FAA0F,CAAC;AACpH,MAAM,qBAAqB,GAAG,oPAAoP,CAAC;AACnR,MAAM,kBAAkB,GAAG,mDAAmD,CAAC;AAC/E,MAAM,iBAAiB,GAAG,sEAAsE,CAAC;AACjG,MAAM,eAAe,GAAG,IAAI,CAAC;AAC7B,MAAM,kBAAkB,GAAG,IAAI,CAAC;AAChC,MAAM,iBAAiB,mBAAmB,IAAI,GAAG,CAAC,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC,CAAC;AAC5E,MAAM,OAAO,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,oBAAoB,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK;AAChF,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE,CAAC;AAClC,EAAE,OAAO,KAAK,KAAK,CAAC,GAAG,KAAK,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC;AACnD,CAAC,CAAC,CAAC;AACH,MAAM,iBAAiB,GAAG,CAAC,KAAK,EAAE,YAAY,GAAG,IAAI,KAAK,YAAY,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC,OAAO,CAAC,kBAAkB,EAAE,OAAO,CAAC,GAAG,KAAK,CAAC;AACtK,MAAM,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,WAAW,EAAE,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,KAAK,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,CAAC;AAC3G,MAAM,aAAa,GAAG,CAAC,GAAG,KAAK,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,CAAC,IAAI,EAAE,IAAI,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK;AAClJ,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE,OAAO,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;AAC9D,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;AACrB,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACb,SAAS,gBAAgB,CAAC,IAAI,EAAE;AAChC,EAAE,IAAI,MAAM,GAAG,EAAE,CAAC;AAClB,EAAE,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;AACnD,IAAI,MAAM,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,OAAO;AACvE,MAAM,aAAa;AACnB,MAAM,eAAe;AACrB,KAAK,CAAC;AACN,CAAC,CAAC;AACF,GAAG;AACH,EAAE,OAAO,cAAc,CAAC,MAAM,CAAC,CAAC;AAChC,CAAC;AACD,SAAS,UAAU,CAAC,MAAM,EAAE;AAC5B,EAAE,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE;AAC3B,IAAI,OAAO,MAAM,CAAC,CAAC,CAAC,CAAC;AACrB,GAAG;AACH,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;AAC7E,CAAC;AACD,SAAS,YAAY,CAAC,KAAK,EAAE,GAAG,EAAE,YAAY,GAAG,IAAI,EAAE;AACvD,EAAE,IAAI,KAAK,IAAI,IAAI,EAAE;AACrB,IAAI,OAAO,EAAE,CAAC;AACd,GAAG;AACH,EAAE,IAAI,KAAK,KAAK,KAAK,EAAE;AACvB,IAAI,IAAI,kBAAkB,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,iBAAiB,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;AACrE,MAAM,OAAO,cAAc,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC;AAC/C,KAAK;AACL,IAAI,OAAO,EAAE,CAAC;AACd,GAAG;AACH,EAAE,IAAI,iBAAiB,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE;AAClC,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,aAAa,EAAE,GAAG,CAAC;AACrC;AACA,gDAAgD,EAAE,GAAG,CAAC,2DAA2D,EAAE,GAAG,CAAC,eAAe,CAAC,CAAC,CAAC;AACzI,IAAI,OAAO,EAAE,CAAC;AACd,GAAG;AACH,EAAE,IAAI,GAAG,KAAK,YAAY,EAAE;AAC5B,IAAI,MAAM,SAAS,GAAG,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,YAAY,CAAC,CAAC;AACnE,IAAI,IAAI,SAAS,KAAK,EAAE,EAAE;AAC1B,MAAM,OAAO,EAAE,CAAC;AAChB,KAAK;AACL,IAAI,OAAO,cAAc,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;AACjE,GAAG;AACH,EAAE,IAAI,GAAG,KAAK,OAAO,IAAI,EAAE,KAAK,YAAY,UAAU,CAAC,EAAE;AACzD,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE;AACpD,MAAM,OAAO,cAAc;AAC3B,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,EAAE,iBAAiB,CAAC,CAAC,EAAE,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC;AAChG,OAAO,CAAC;AACR,KAAK;AACL,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;AACnC,MAAM,OAAO,cAAc,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,EAAE,iBAAiB,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAClG,KAAK;AACL,GAAG;AACH,EAAE,IAAI,GAAG,KAAK,WAAW,EAAE;AAC3B,IAAI,OAAO,cAAc,CAAC,CAAC,QAAQ,EAAE,iBAAiB,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAChF,GAAG;AACH,EAAE,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,SAAS,CAAC,KAAK,CAAC,EAAE;AAC5E,IAAI,OAAO,cAAc,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,EAAE,iBAAiB,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC1E,GAAG;AACH,EAAE,IAAI,KAAK,KAAK,IAAI,KAAK,GAAG,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,qBAAqB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE;AACtF,IAAI,OAAO,cAAc,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;AACrC,GAAG,MAAM;AACT,IAAI,OAAO,cAAc,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,EAAE,iBAAiB,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACjF,GAAG;AACH,CAAC;AACD,SAAS,wBAAwB,CAAC,MAAM,EAAE,YAAY,GAAG,IAAI,EAAE;AAC/D,EAAE,IAAI,MAAM,GAAG,EAAE,CAAC;AAClB,EAAE,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;AACrD,IAAI,MAAM,IAAI,YAAY,CAAC,KAAK,EAAE,GAAG,EAAE,YAAY,CAAC,CAAC;AACrD,GAAG;AACH,EAAE,OAAO,cAAc,CAAC,MAAM,CAAC,CAAC;AAChC,CAAC;AACD,SAAS,aAAa,CAAC,IAAI,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,GAAG,EAAE,EAAE,EAAE,YAAY,GAAG,IAAI,EAAE;AACpF,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,EAAE,eAAe,EAAE,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,GAAG,KAAK,EAAE,GAAG,MAAM,CAAC;AAC5F,EAAE,IAAI,UAAU,EAAE;AAClB,IAAI,IAAI,IAAI,KAAK,OAAO,EAAE;AAC1B,MAAM,OAAO,KAAK,CAAC,WAAW,CAAC,CAAC;AAChC,MAAM,OAAO,KAAK,CAAC,WAAW,CAAC,CAAC;AAChC,KAAK;AACL,IAAI,IAAI,IAAI,KAAK,QAAQ,EAAE;AAC3B,MAAM,OAAO,KAAK,CAAC,KAAK,CAAC;AACzB,MAAM,QAAQ,GAAG,gBAAgB,CAAC,UAAU,CAAC,GAAG,IAAI,GAAG,QAAQ,CAAC;AAChE,KAAK;AACL,GAAG;AACH,EAAE,IAAI,CAAC,QAAQ,IAAI,IAAI,IAAI,QAAQ,IAAI,EAAE,KAAK,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;AAC3E,IAAI,OAAO,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,wBAAwB,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;AACvE,GAAG;AACH,EAAE,OAAO,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,wBAAwB,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;AAC1F,CAAC;AACD,MAAM,IAAI,GAAG,MAAM;AACnB,CAAC,CAAC;AACF,MAAM,gBAAgB,CAAC;AACvB,EAAE,MAAM,GAAG,EAAE,CAAC;AACd,EAAE,aAAa,CAAC;AAChB,EAAE,WAAW,CAAC;AACd,EAAE,WAAW,CAAC,oBAAoB,EAAE;AACpC,IAAI,IAAI,CAAC,aAAa,GAAG,oBAAoB,CAAC,IAAI,CAAC,CAAC;AACpD,IAAI,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;AACpD,GAAG;AACH,EAAE,KAAK,CAAC,KAAK,EAAE;AACf,IAAI,IAAI,IAAI,CAAC,WAAW,EAAE;AAC1B,MAAM,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;AACpC,KAAK,MAAM;AACX,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAC9B,KAAK;AACL,GAAG;AACH,EAAE,MAAM,wBAAwB,CAAC,WAAW,EAAE;AAC9C,IAAI,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,MAAM,EAAE;AACrC,MAAM,WAAW,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;AAC/B,KAAK;AACL,IAAI,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;AACnC,IAAI,MAAM,IAAI,CAAC,aAAa,CAAC;AAC7B,GAAG;AACH,CAAC;AACD,SAAS,yBAAyB,CAAC,oBAAoB,EAAE;AACzD,EAAE,MAAM,QAAQ,GAAG,IAAI,gBAAgB,CAAC,oBAAoB,CAAC,CAAC;AAC9D,EAAE,OAAO,QAAQ,CAAC;AAClB,CAAC;AACc,OAAO,OAAO,KAAK,WAAW,IAAI,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,mBAAmB;AAchH,MAAM,eAAe,GAAG,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;AAC5C,SAAS,SAAS,CAAC,GAAG,EAAE;AACxB,EAAE,IAAI;AACN,IAAI,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC;AACnC,IAAI,OAAO,eAAe,CAAC,QAAQ,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;AACxD,GAAG,CAAC,MAAM;AACV,IAAI,OAAO,KAAK,CAAC;AACjB,GAAG;AACH;;ACzJA,MAAM,cAAc,GAAG,CAAC,IAAI,EAAE,KAAK,EAAE,GAAG,KAAK;AAC7C,EAAE,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAC3C,EAAE,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;AACjC,EAAE,OAAO,KAAK,KAAK,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,KAAK,IAAI,CAAC,CAAC,QAAQ,IAAI,QAAQ,CAAC,CAAC;AACrG,CAAC,CAAC;AACF,SAAS,oBAAoB,CAAC,MAAM,EAAE;AACtC,EAAE,MAAM,CAAC,SAAS,CAAC,eAAe,GAAG,IAAI,CAAC;AAC1C,EAAE,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,GAAG;AACrE,IAAI,CAAC,KAAK,KAAK,KAAK,CAAC,KAAK,CAAC,GAAG,KAAK,YAAY,GAAG,aAAa,CAAC,MAAM,EAAE,KAAK,CAAC,GAAG,aAAa,CAAC,OAAO,EAAE,KAAK,CAAC;AAC9G,GAAG,CAAC;AACJ,EAAE,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;AACxB,EAAE,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,KAAK;AACpF,IAAI,OAAO,aAAa,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;AAClD,GAAG,CAAC,CAAC;AACL,EAAE,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,KAAK,aAAa,CAAC,MAAM,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC;AAClH,EAAE,IAAI,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1E,EAAE,IAAI,MAAM,CAAC,SAAS,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE;AAC7C,IAAI,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,SAAS,CAAC,SAAS,EAAE;AACnD,MAAM,OAAO,IAAI,IAAI,CAAC;AACtB,KAAK;AACL,GAAG;AACH,EAAE,OAAO,cAAc,CAAC,OAAO,CAAC,CAAC;AACjC,CAAC;AAID,SAAS,eAAe,GAAG;AAC3B,EAAE,OAAO,uBAAuB,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC;AACzD;;AC3BA,MAAM,uBAAuB,GAAG,MAAM,CAAC,GAAG,CAAC,4BAA4B,CAAC,CAAC;AACzE,MAAM,oBAAoB,CAAC;AAC3B,EAAE,CAAC,uBAAuB,IAAI,IAAI,CAAC;AACnC,EAAE,SAAS,CAAC;AACZ,EAAE,WAAW,CAAC;AACd,EAAE,KAAK,CAAC;AACR,EAAE,WAAW,CAAC,SAAS,EAAE,WAAW,EAAE;AACtC,IAAI,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;AAC/B,IAAI,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,CAAC;AACxB,IAAI,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,UAAU,KAAK;AACvD,MAAM,IAAI,SAAS,CAAC,UAAU,CAAC,EAAE;AACjC,QAAQ,OAAO,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,KAAK;AAC1D,UAAU,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE;AAC3B,YAAY,IAAI,CAAC,KAAK,GAAG,GAAG,CAAC;AAC7B,YAAY,MAAM,GAAG,CAAC;AACtB,WAAW;AACX,SAAS,CAAC,CAAC;AACX,OAAO;AACP,MAAM,OAAO,UAAU,CAAC;AACxB,KAAK,CAAC,CAAC;AACP,GAAG;AACH,EAAE,MAAM,MAAM,CAAC,WAAW,EAAE;AAC5B,IAAI,MAAM,UAAU,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,GAAG,KAAK;AACrD,MAAM,OAAO,yBAAyB,CAAC,CAAC,iBAAiB,KAAK;AAC9D,QAAQ,IAAI,GAAG,IAAI,GAAG,KAAK,CAAC,EAAE;AAC9B,UAAU,OAAO,WAAW,CAAC,iBAAiB,EAAE,GAAG,CAAC,CAAC;AACrD,SAAS;AACT,OAAO,CAAC,CAAC;AACT,KAAK,CAAC,CAAC;AACP,IAAI,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;AACpD,MAAM,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;AACrC,MAAM,MAAM,SAAS,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;AACtC,MAAM,WAAW,CAAC,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC;AAC9C,MAAM,IAAI,SAAS,EAAE;AACrB,QAAQ,MAAM,SAAS,CAAC,wBAAwB,CAAC,WAAW,CAAC,CAAC;AAC9D,OAAO;AACP,KAAK;AACL,GAAG;AACH,CAAC;AACD,SAAS,sBAAsB,CAAC,GAAG,EAAE;AACrC,EAAE,OAAO,OAAO,GAAG,KAAK,QAAQ,IAAI,CAAC,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAC;AACnE,CAAC;AACD,SAAS,cAAc,CAAC,SAAS,EAAE,GAAG,WAAW,EAAE;AACnD,EAAE,OAAO,IAAI,oBAAoB,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;AAC1D;;AC5CA,MAAM,UAAU,GAAG,MAAM,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;AACnD,MAAM,UAAU,SAAS,UAAU,CAAC;AACpC,EAAE,YAAY,CAAC;AACf,EAAE,CAAC,UAAU,EAAE;AACf,EAAE,WAAW,CAAC,OAAO,EAAE,YAAY,EAAE;AACrC,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC;AACnB,IAAI,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;AACrC,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC;AAC5B,GAAG;AACH,CAAC;AACD,SAAS,YAAY,CAAC,GAAG,EAAE;AAC3B,EAAE,OAAO,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;AAC3B,CAAC;AACD,SAAS,UAAU,CAAC,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE;AAC/C,EAAE,IAAI,CAAC,OAAO,IAAI,QAAQ,EAAE;AAC5B,IAAI,OAAO,UAAU,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;AACxC,GAAG;AACH,EAAE,OAAO;AACT,IAAI,MAAM,MAAM,CAAC,WAAW,EAAE;AAC9B,MAAM,MAAM,WAAW,CAAC,WAAW,EAAE,OAAO,OAAO,KAAK,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC,GAAG,OAAO,CAAC,CAAC;AAChG,KAAK;AACL,GAAG,CAAC;AACJ,CAAC;AACD,eAAe,kBAAkB,CAAC,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE;AAC7D,EAAE,IAAI,OAAO,GAAG,EAAE,CAAC;AACnB,EAAE,IAAI,YAAY,GAAG,IAAI,CAAC;AAC1B,EAAE,MAAM,oBAAoB,GAAG;AAC/B,IAAI,KAAK,CAAC,KAAK,EAAE;AACjB,MAAM,IAAI,KAAK,YAAY,UAAU,EAAE;AACvC,QAAQ,OAAO,IAAI,KAAK,CAAC;AACzB,QAAQ,IAAI,KAAK,CAAC,YAAY,EAAE;AAChC,UAAU,YAAY,KAAK,EAAE,CAAC;AAC9B,UAAU,YAAY,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,YAAY,CAAC,CAAC;AACnD,SAAS;AACT,OAAO,MAAM,IAAI,KAAK,YAAY,QAAQ,EAAE,OAAO;AACnD,WAAW,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,MAAM,IAAI,KAAK,IAAI,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ,EAAE;AAC/F,QAAQ,IAAI,YAAY,KAAK,IAAI,EAAE;AACnC,UAAU,YAAY,GAAG,EAAE,CAAC;AAC5B,SAAS;AACT,QAAQ,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AACjC,OAAO,MAAM;AACb,QAAQ,OAAO,IAAI,aAAa,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;AAChD,OAAO;AACP,KAAK;AACL,GAAG,CAAC;AACJ,EAAE,MAAM,cAAc,GAAG,UAAU,CAAC,MAAM,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;AAC/D,EAAE,MAAM,cAAc,CAAC,MAAM,CAAC,oBAAoB,CAAC,CAAC;AACpD,EAAE,OAAO,cAAc,CAAC,IAAI,UAAU,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC;AAC/D,CAAC;AACD,eAAe,WAAW,CAAC,MAAM,EAAE,KAAK,GAAG,EAAE,EAAE;AAC/C,EAAE,IAAI,gBAAgB,GAAG,IAAI,CAAC;AAC9B,EAAE,IAAI,QAAQ,GAAG,EAAE,CAAC;AACpB,EAAE,IAAI,KAAK,EAAE;AACb,IAAI,MAAM,OAAO,CAAC,GAAG;AACrB,MAAM,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,GAAG;AAC/B,QAAQ,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,KAAK,kBAAkB,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,KAAK;AAC7E,UAAU,IAAI,MAAM,CAAC,YAAY,EAAE;AACnC,YAAY,IAAI,gBAAgB,KAAK,IAAI,EAAE;AAC3C,cAAc,gBAAgB,GAAG,EAAE,CAAC;AACpC,aAAa;AACb,YAAY,gBAAgB,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,YAAY,CAAC,CAAC;AAC1D,WAAW;AACX,UAAU,QAAQ,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC;AACjC,SAAS,CAAC;AACV,OAAO;AACP,KAAK,CAAC;AACN,GAAG;AACH,EAAE,OAAO,EAAE,gBAAgB,EAAE,QAAQ,EAAE,CAAC;AACxC;;AC/DA,MAAM,QAAQ,GAAG,MAAM,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;AAC9C,MAAM,QAAQ,GAAG,MAAM,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;AAC9B,IAAI,WAAW,GAAG;AAClC,MAAM,OAAO,GAAG,IAAI,WAAW,EAAE,CAAC;AAClC,SAAS,cAAc,CAAC,MAAM,EAAE,KAAK,EAAE;AACvC,EAAE,IAAI,mBAAmB,CAAC,KAAK,CAAC,EAAE;AAClC,IAAI,MAAM,WAAW,GAAG,KAAK,CAAC;AAC9B,IAAI,QAAQ,WAAW,CAAC,IAAI;AAC5B,MAAM,KAAK,WAAW,EAAE;AACxB,QAAQ,MAAM,EAAE,SAAS,EAAE,GAAG,WAAW,CAAC;AAC1C,QAAQ,IAAI,oBAAoB,GAAG,SAAS,IAAI,+BAA+B,CAAC,MAAM,CAAC,CAAC;AACxF,QAAQ,IAAI,oBAAoB,GAAG,SAAS,IAAI,gCAAgC,CAAC,MAAM,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;AAC9G,QAAQ,IAAI,aAAa,GAAG,oBAAoB,GAAG,MAAM,GAAG,oBAAoB,GAAG,WAAW,GAAG,IAAI,CAAC;AACtG,QAAQ,IAAI,aAAa,EAAE;AAC3B,UAAU,IAAI,UAAU,GAAG,aAAa,CAAC,MAAM,EAAE,aAAa,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;AACrF,UAAU,OAAO,cAAc,CAAC,UAAU,CAAC,CAAC;AAC5C,SAAS,MAAM;AACf,UAAU,OAAO,EAAE,CAAC;AACpB,SAAS;AACT,OAAO;AACP,MAAM,KAAK,MAAM,EAAE;AACnB,QAAQ,IAAI,MAAM,CAAC,SAAS,CAAC,eAAe,IAAI,MAAM,CAAC,OAAO,EAAE;AAChE,UAAU,OAAO,EAAE,CAAC;AACpB,SAAS;AACT,QAAQ,OAAO,oBAAoB,CAAC,MAAM,CAAC,CAAC;AAC5C,OAAO;AACP,MAAM,KAAK,YAAY,EAAE;AACzB,QAAQ,IAAI,MAAM,CAAC,SAAS,CAAC,eAAe,IAAI,MAAM,CAAC,SAAS,CAAC,UAAU,IAAI,MAAM,CAAC,OAAO,EAAE;AAC/F,UAAU,OAAO,EAAE,CAAC;AACpB,SAAS;AACT,QAAQ,OAAO,oBAAoB,CAAC,MAAM,CAAC,CAAC;AAC5C,OAAO;AACP,MAAM,KAAK,2BAA2B,EAAE;AACxC,QAAQ,MAAM,EAAE,gCAAgC,EAAE,GAAG,MAAM,CAAC,SAAS,CAAC;AACtE,QAAQ,MAAM,EAAE,YAAY,EAAE,GAAG,WAAW,CAAC;AAC7C,QAAQ,IAAI,CAAC,gCAAgC,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE;AACjE,UAAU,gCAAgC,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;AAC7D,UAAU,OAAO,WAAW,CAAC,MAAM,EAAE,CAAC;AACtC,SAAS;AACT,QAAQ,OAAO,EAAE,CAAC;AAClB,OAAO;AACP,MAAM,SAAS;AACf,QAAQ,MAAM,IAAI,KAAK,CAAC,CAAC,oBAAoB,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAC7D,OAAO;AACP,KAAK;AACL,GAAG,MAAM,IAAI,KAAK,YAAY,QAAQ,EAAE;AACxC,IAAI,OAAO,EAAE,CAAC;AACd,GAAG,MAAM,IAAI,YAAY,CAAC,KAAK,CAAC,EAAE;AAClC,IAAI,IAAI,GAAG,GAAG,EAAE,CAAC;AACjB,IAAI,MAAM,CAAC,GAAG,KAAK,CAAC;AACpB,IAAI,IAAI,CAAC,CAAC,YAAY,EAAE;AACxB,MAAM,KAAK,MAAM,KAAK,IAAI,CAAC,CAAC,YAAY,EAAE;AAC1C,QAAQ,GAAG,IAAI,cAAc,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;AAC7C,OAAO;AACP,KAAK;AACL,IAAI,GAAG,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;AAC5B,IAAI,OAAO,GAAG,CAAC;AACf,GAAG;AACH,EAAE,OAAO,KAAK,CAAC,QAAQ,EAAE,CAAC;AAC1B,CAAC;AACD,SAAS,aAAa,CAAC,MAAM,EAAE,KAAK,EAAE;AACtC,EAAE,IAAI,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE;AACjC,IAAI,OAAO,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AACjC,GAAG,MAAM;AACT,IAAI,OAAO,cAAc,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;AACzC,GAAG;AACH,CAAC;AASD,SAAS,gBAAgB,CAAC,GAAG,EAAE;AAC/B,EAAE,OAAO,CAAC,CAAC,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,QAAQ,IAAI,GAAG,IAAI,OAAO,GAAG,CAAC,MAAM,KAAK,UAAU,CAAC;AACjG;;AChFA,eAAe,WAAW,CAAC,WAAW,EAAE,KAAK,EAAE;AAC/C,EAAE,IAAI,SAAS,CAAC,KAAK,CAAC,EAAE;AACxB,IAAI,KAAK,GAAG,MAAM,KAAK,CAAC;AACxB,GAAG;AACH,EAAE,IAAI,KAAK,YAAY,UAAU,EAAE;AACnC,IAAI,WAAW,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;AAC7B,GAAG,MAAM,IAAI,YAAY,CAAC,KAAK,CAAC,EAAE;AAClC,IAAI,WAAW,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;AAC7B,GAAG,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;AACnC,IAAI,MAAM,YAAY,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK;AAC1C,MAAM,OAAO,yBAAyB,CAAC,CAAC,iBAAiB,KAAK;AAC9D,QAAQ,OAAO,WAAW,CAAC,iBAAiB,EAAE,CAAC,CAAC,CAAC;AACjD,OAAO,CAAC,CAAC;AACT,KAAK,CAAC,CAAC;AACP,IAAI,KAAK,MAAM,WAAW,IAAI,YAAY,EAAE;AAC5C,MAAM,IAAI,CAAC,WAAW,EAAE,SAAS;AACjC,MAAM,MAAM,WAAW,CAAC,wBAAwB,CAAC,WAAW,CAAC,CAAC;AAC9D,KAAK;AACL,GAAG,MAAM,IAAI,OAAO,KAAK,KAAK,UAAU,EAAE;AAC1C,IAAI,MAAM,WAAW,CAAC,WAAW,EAAE,KAAK,EAAE,CAAC,CAAC;AAC5C,GAAG,MAAM,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;AACxC,IAAI,WAAW,CAAC,KAAK,CAAC,cAAc,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AACzD,GAAG,MAAM,IAAI,CAAC,KAAK,IAAI,KAAK,KAAK,CAAC,EAAE,CACjC,MAAM,IAAI,gBAAgB,CAAC,KAAK,CAAC,EAAE;AACtC,IAAI,MAAM,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;AACpC,GAAG,MAAM,IAAI,sBAAsB,CAAC,KAAK,CAAC,EAAE;AAC5C,IAAI,MAAM,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;AACpC,GAAG,MAAM,IAAI,wBAAwB,CAAC,KAAK,CAAC,EAAE;AAC9C,IAAI,MAAM,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;AACpC,GAAG,MAAM,IAAI,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE;AACxC,IAAI,WAAW,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;AAC7B,GAAG,MAAM,IAAI,OAAO,KAAK,KAAK,QAAQ,KAAK,MAAM,CAAC,aAAa,IAAI,KAAK,IAAI,MAAM,CAAC,QAAQ,IAAI,KAAK,CAAC,EAAE;AACvG,IAAI,WAAW,MAAM,KAAK,IAAI,KAAK,EAAE;AACrC,MAAM,MAAM,WAAW,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;AAC5C,KAAK;AACL,GAAG,MAAM;AACT,IAAI,WAAW,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;AAC7B,GAAG;AACH;;ACxCA,MAAM,yBAAyB,GAAG,MAAM,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAC;AACxE,MAAM,sBAAsB,CAAC;AAC7B,EAAE,CAAC,yBAAyB,IAAI,IAAI,CAAC;AACrC,EAAE,MAAM,CAAC;AACT,EAAE,KAAK,CAAC;AACR,EAAE,UAAU,CAAC;AACb,EAAE,OAAO,CAAC;AACV,EAAE,WAAW,CAAC;AACd,EAAE,WAAW,CAAC,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE;AAC7C,IAAI,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;AACzB,IAAI,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;AACvB,IAAI,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;AAC3B,IAAI,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;AACzB,IAAI,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE;AAC9B,MAAM,IAAI,SAAS,GAAG,KAAK,CAAC;AAC5B,MAAM,IAAI,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC;AACtC,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,MAAM;AACpC,QAAQ,IAAI,CAAC,SAAS,EAAE;AACxB,UAAU,SAAS,GAAG,IAAI,CAAC;AAC3B,UAAU,OAAO,KAAK,CAAC;AACvB,SAAS;AACT,QAAQ,OAAO,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC;AACnC,OAAO,CAAC;AACR,KAAK;AACL,GAAG;AACH,EAAE,MAAM,IAAI,CAAC,MAAM,EAAE;AACrB,IAAI,IAAI,IAAI,CAAC,WAAW,KAAK,KAAK,CAAC,EAAE,OAAO,IAAI,CAAC,WAAW,CAAC;AAC7D,IAAI,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;AACzE,IAAI,IAAI,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE;AACrC,MAAM,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,QAAQ,KAAK;AAC1C,QAAQ,IAAI,CAAC,WAAW,GAAG,QAAQ,CAAC;AACpC,OAAO,CAAC,CAAC,KAAK,CAAC,MAAM;AACrB,OAAO,CAAC,CAAC;AACT,KAAK;AACL,IAAI,OAAO,IAAI,CAAC,WAAW,CAAC;AAC5B,GAAG;AACH,EAAE,MAAM,MAAM,CAAC,WAAW,EAAE;AAC5B,IAAI,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AACrD,IAAI,IAAI,gBAAgB,CAAC,WAAW,CAAC,EAAE;AACvC,MAAM,MAAM,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;AACpD,KAAK,MAAM;AACX,MAAM,MAAM,WAAW,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;AAClD,KAAK;AACL,GAAG;AACH,CAAC;AACD,SAAS,sBAAsB,CAAC,KAAK,EAAE,WAAW,EAAE;AACpD,EAAE,IAAI,KAAK,IAAI,IAAI,EAAE;AACrB,IAAI,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE;AAC3C,MAAM,IAAI,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE;AACtC,QAAQ,OAAO,CAAC,IAAI;AACpB,UAAU,CAAC,8BAA8B,EAAE,WAAW,CAAC,CAAC,EAAE,IAAI,CAAC,SAAS,EAAE,WAAW,CAAC,sKAAsK,CAAC;AAC7P,SAAS,CAAC;AACV,OAAO;AACP,KAAK;AACL,GAAG;AACH,CAAC;AACD,SAAS,4BAA4B,CAAC,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,GAAG,EAAE,EAAE;AACvF,EAAE,sBAAsB,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;AAC7C,EAAE,MAAM,QAAQ,GAAG,IAAI,sBAAsB,CAAC,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;AAC7E,EAAE,IAAI,uBAAuB,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE;AAChD,IAAI,MAAM,CAAC,SAAS,CAAC,WAAW,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;AAC/C,GAAG;AACH,EAAE,OAAO,QAAQ,CAAC;AAClB,CAAC;AACD,SAAS,wBAAwB,CAAC,GAAG,EAAE;AACvC,EAAE,OAAO,OAAO,GAAG,KAAK,QAAQ,IAAI,CAAC,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAC;AACrE;;ACnEA,SAAS,sBAAsB,CAAC,SAAS,EAAE;AAC3C,EAAE,OAAO,OAAO,WAAW,KAAK,WAAW,IAAI,WAAW,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;AACpF,CAAC;AACD,eAAe,iBAAiB,CAAC,MAAM,EAAE,WAAW,EAAE,KAAK,EAAE,KAAK,EAAE;AACpE,EAAE,MAAM,IAAI,GAAG,kBAAkB,CAAC,WAAW,CAAC,CAAC;AAC/C,EAAE,IAAI,QAAQ,GAAG,EAAE,CAAC;AACpB,EAAE,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE;AAC5B,IAAI,QAAQ,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,EAAE,iBAAiB,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACrE,GAAG;AACH,EAAE,OAAO,cAAc;AACvB,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,QAAQ,CAAC,CAAC,EAAE,MAAM,kBAAkB,CAAC,MAAM,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC,CAAC;AACvF,GAAG,CAAC;AACJ,CAAC;AACD,SAAS,kBAAkB,CAAC,WAAW,EAAE;AACzC,EAAE,MAAM,WAAW,GAAG,cAAc,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;AAC1D,EAAE,IAAI,WAAW,EAAE,OAAO,WAAW,CAAC;AACtC,EAAE,MAAM,YAAY,GAAG,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,iBAAiB,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;AACrI,EAAE,OAAO,YAAY,CAAC;AACtB;;ACpBA,MAAM,SAAS,GAAG,SAAS,CAAC;AAqB5B,eAAe,SAAS,CAAC,OAAO,EAAE;AAClC,EAAE,MAAM,KAAK,GAAG,YAAY,CAAC,OAAO,CAAC,CAAC;AACtC,EAAE,OAAO,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC;AACxF,CAAC;AACD,MAAM,OAAO,GAAG,IAAI,WAAW,EAAE,CAAC;AAClB,IAAI,WAAW,GAAG;AAClC,MAAM,SAAS,GAAG,EAAE,CAAC;AACrB,eAAe,aAAa,CAAC,GAAG,EAAE,GAAG,EAAE;AACvC,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC,eAAe,CAAC,IAAI,UAAU,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC,CAAC;AACnE,EAAE,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;AACnC,EAAE,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,OAAO;AAC5C,IAAI;AACJ,MAAM,IAAI,EAAE,SAAS;AACrB,MAAM,EAAE;AACR,KAAK;AACL,IAAI,GAAG;AACP,IAAI,IAAI;AACR,GAAG,CAAC;AACJ,EAAE,OAAO,kBAAkB,CAAC,EAAE,CAAC,GAAG,YAAY,CAAC,IAAI,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC;AACvE;;ACtCA,MAAM,aAAa,mBAAmB,IAAI,GAAG,CAAC;AAC9C,EAAE,uBAAuB;AACzB,EAAE,yBAAyB;AAC3B,EAAE,4BAA4B;AAC9B,EAAE,cAAc;AAChB,CAAC,CAAC,CAAC;AACH,SAAS,uBAAuB,CAAC,KAAK,EAAE;AACxC,EAAE,OAAO,4BAA4B,IAAI,KAAK,CAAC;AAC/C,CAAC;AACD,SAAS,iBAAiB,CAAC,GAAG,EAAE;AAChC,EAAE,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC,OAAO,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;AACrK,CAAC;AACD,SAAS,kBAAkB,CAAC,MAAM,EAAE,YAAY,EAAE,KAAK,EAAE,KAAK,EAAE;AAChE,EAAE,OAAO;AACT,IAAI,MAAM,MAAM,CAAC,WAAW,EAAE;AAC9B,MAAM,MAAM,aAAa,GAAG,KAAK,CAAC,uBAAuB,CAAC,CAAC;AAC3D,MAAM,MAAM,eAAe,GAAG,KAAK,CAAC,yBAAyB,CAAC,CAAC;AAC/D,MAAM,MAAM,WAAW,GAAG,MAAM,CAAC,mBAAmB,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;AACxE,MAAM,IAAI,CAAC,WAAW,EAAE;AACxB,QAAQ,MAAM,IAAI,KAAK,CAAC,CAAC,oCAAoC,CAAC,CAAC,CAAC;AAChE,OAAO;AACP,MAAM,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE;AAC7C,QAAQ,IAAI,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;AACrC,UAAU,OAAO,KAAK,CAAC,IAAI,CAAC,CAAC;AAC7B,SAAS;AACT,OAAO;AACP,MAAM,WAAW,CAAC,KAAK,CAAC,4BAA4B,CAAC,CAAC;AACtD,MAAM,MAAM,aAAa,GAAG,EAAE,CAAC;AAC/B,MAAM,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE;AAChC,QAAQ,IAAI,IAAI,KAAK,UAAU,EAAE;AACjC,UAAU,MAAM,OAAO,GAAG,MAAM,kBAAkB,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;AACxE,UAAU,aAAa,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC;AACnD,SAAS,MAAM;AACf,UAAU,MAAM,WAAW,CAAC,WAAW,EAAE,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;AACjE,SAAS;AACT,OAAO;AACP,MAAM,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,GAAG,CAAC;AACnC,MAAM,MAAM,cAAc,GAAG,MAAM,aAAa,CAAC,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;AAC7E,MAAM,MAAM,MAAM,GAAG,MAAM,CAAC,UAAU,EAAE,CAAC;AACzC,MAAM,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,GAAG,CAAC;AACzD,MAAM,MAAM,eAAe,GAAG,CAAC,EAAE,MAAM,CAAC,IAAI,CAAC,EAAE,KAAK,CAAC,gBAAgB,EAAE,WAAW,CAAC,EAAE,MAAM,CAAC,aAAa,KAAK,QAAQ,GAAG,GAAG,GAAG,EAAE,CAAC,CAAC,CAAC;AACpI,MAAM,WAAW,CAAC,KAAK,CAAC,CAAC,4CAA4C,EAAE,MAAM,CAAC;AAC9E,kBAAkB,EAAE,iBAAiB,CAAC,WAAW,CAAC,CAAC;AACnD,sBAAsB,EAAE,iBAAiB,CAAC,eAAe,CAAC,CAAC;AAC3D,4DAA4D,EAAE,MAAM,CAAC;AACrE;AACA;AACA,iBAAiB,EAAE,iBAAiB,CAAC,cAAc,CAAC,CAAC;AACrD,QAAQ,EAAE,iBAAiB,CAAC,aAAa,CAAC,CAAC;AAC3C;AACA;AACA,4BAA4B,EAAE,eAAe,CAAC;AAC9C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,CAAC,CAAC,CAAC;AACZ,KAAK;AACL,GAAG,CAAC;AACJ;;ACvDA,MAAM,eAAe,mBAAmB,IAAI,GAAG,CAAC,CAAC,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC;AACzE,MAAM,gBAAgB,mBAAmB,IAAI,GAAG,CAAC,CAAC,UAAU,EAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC;AAC1G,SAAS,cAAc,CAAC,YAAY,EAAE;AACtC,EAAE,MAAM,OAAO,GAAG,YAAY,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC;AACjD,EAAE,QAAQ,OAAO;AACjB,IAAI,KAAK,QAAQ;AACjB,MAAM,OAAO,CAAC,iBAAiB,CAAC,CAAC;AACjC,IAAI,KAAK,KAAK;AACd,MAAM,OAAO,CAAC,cAAc,CAAC,CAAC;AAC9B,IAAI,KAAK,KAAK,CAAC;AACf,IAAI,KAAK,KAAK;AACd,MAAM,OAAO,CAAC,gBAAgB,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,oBAAoB,CAAC,CAAC;AAC9F,IAAI;AACJ,MAAM,OAAO;AACb,QAAQ,gBAAgB;AACxB,QAAQ,iBAAiB;AACzB,QAAQ,mBAAmB;AAC3B,QAAQ,cAAc;AACtB,QAAQ,iBAAiB;AACzB,QAAQ,cAAc;AACtB,OAAO,CAAC;AACR,GAAG;AACH,CAAC;AACD,SAAS,mBAAmB,CAAC,SAAS,EAAE;AACxC,EAAE,OAAO,SAAS,KAAK,QAAQ,CAAC;AAChC,CAAC;AACD,SAAS,eAAe,CAAC,SAAS,EAAE;AACpC,EAAE,OAAO,SAAS,IAAI,SAAS,CAAC,YAAY,CAAC,KAAK,IAAI,CAAC;AACvD,CAAC;AACD,MAAM,cAAc,GAAG,yBAAyB,CAAC;AACjD,MAAM,qBAAqB,GAAG,gCAAgC,CAAC;AAC/D,SAAS,qBAAqB,CAAC,IAAI,EAAE,uBAAuB,GAAG,IAAI,EAAE;AACrE,EAAE,MAAM,GAAG,GAAG,uBAAuB,GAAG,qBAAqB,GAAG,cAAc,CAAC;AAC/E,EAAE,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;AAC/B,CAAC;AACD,eAAe,wBAAwB,CAAC,MAAM,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,GAAG,EAAE,EAAE;AAC5F,EAAE,IAAI,CAAC,SAAS,IAAI,aAAa,IAAI,MAAM,KAAK,KAAK,EAAE;AACvD,IAAI,MAAM,IAAI,KAAK;AACnB,MAAM,CAAC,iBAAiB,EAAE,WAAW,CAAC,eAAe,EAAE,SAAS,CAAC;AACjE,yEAAyE,CAAC;AAC1E,KAAK,CAAC;AACN,GAAG;AACH,EAAE,MAAM,EAAE,SAAS,EAAE,gBAAgB,EAAE,GAAG,MAAM,CAAC;AACjD,EAAE,MAAM,QAAQ,GAAG;AACnB,IAAI,eAAe,EAAE,IAAI;AACzB,IAAI,WAAW;AACf,GAAG,CAAC;AACJ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,gCAAgC,EAAE,GAAG,iBAAiB;AAC1F,IAAI,MAAM;AACV,IAAI,gBAAgB;AACpB,GAAG,CAAC;AACJ,EAAE,IAAI,IAAI,GAAG,EAAE,CAAC;AAChB,EAAE,IAAI,KAAK,GAAG,KAAK,CAAC,CAAC;AACrB,EAAE,IAAI,SAAS,EAAE;AACjB,IAAI,QAAQ,CAAC,OAAO,GAAG,SAAS,CAAC,SAAS,CAAC;AAC3C,IAAI,QAAQ,CAAC,WAAW,GAAG,SAAS,CAAC,KAAK,CAAC;AAC3C,IAAI,QAAQ,CAAC,eAAe,GAAG,SAAS,CAAC,eAAe,CAAC;AACzD,IAAI,QAAQ,CAAC,YAAY,GAAG,SAAS,CAAC,YAAY,CAAC;AACnD,GAAG;AACH,EAAE,MAAM,qBAAqB,GAAG,cAAc,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;AACtE,EAAE,MAAM,cAAc,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,KAAK,WAAW,CAAC,CAAC;AACzE,EAAE,MAAM,EAAE,QAAQ,EAAE,gBAAgB,EAAE,GAAG,MAAM,WAAW,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;AAC1E,EAAE,IAAI,QAAQ,CAAC;AACf,EAAE,IAAI,QAAQ,CAAC,OAAO,KAAK,MAAM,EAAE;AACnC,IAAI,IAAI,QAAQ,GAAG,KAAK,CAAC;AACzB,IAAI,IAAI;AACR,MAAM,QAAQ,GAAG,SAAS,IAAI,SAAS,CAAC,QAAQ,CAAC,CAAC;AAClD,KAAK,CAAC,MAAM;AACZ,KAAK;AACL,IAAI,IAAI,QAAQ,EAAE;AAClB,MAAM,MAAM,YAAY,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC;AAC/C,MAAM,QAAQ,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,IAAI,KAAK,YAAY,CAAC,CAAC;AACrE,KAAK;AACL,IAAI,IAAI,CAAC,QAAQ,EAAE;AACnB,MAAM,IAAI,KAAK,CAAC;AAChB,MAAM,KAAK,MAAM,CAAC,IAAI,SAAS,EAAE;AACjC,QAAQ,IAAI;AACZ,UAAU,IAAI,MAAM,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,QAAQ,CAAC,EAAE;AAC9E,YAAY,QAAQ,GAAG,CAAC,CAAC;AACzB,YAAY,MAAM;AAClB,WAAW;AACX,SAAS,CAAC,OAAO,CAAC,EAAE;AACpB,UAAU,KAAK,KAAK,CAAC,CAAC;AACtB,SAAS;AACT,OAAO;AACP,MAAM,IAAI,CAAC,QAAQ,IAAI,KAAK,EAAE;AAC9B,QAAQ,MAAM,KAAK,CAAC;AACpB,OAAO;AACP,KAAK;AACL,IAAI,IAAI,CAAC,QAAQ,IAAI,OAAO,WAAW,KAAK,UAAU,IAAI,sBAAsB,CAAC,SAAS,CAAC,EAAE;AAC7F,MAAM,MAAM,MAAM,GAAG,MAAM,iBAAiB;AAC5C,QAAQ,MAAM;AACd,QAAQ,SAAS;AACjB,QAAQ,MAAM;AACd,QAAQ,KAAK;AACb,OAAO,CAAC;AACR,MAAM,OAAO;AACb,QAAQ,MAAM,CAAC,WAAW,EAAE;AAC5B,UAAU,WAAW,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;AACpC,SAAS;AACT,OAAO,CAAC;AACR,KAAK;AACL,GAAG,MAAM;AACT,IAAI,IAAI,QAAQ,CAAC,WAAW,EAAE;AAC9B,MAAM,MAAM,YAAY,GAAG,eAAe,CAAC,GAAG,CAAC,QAAQ,CAAC,WAAW,CAAC,GAAG,eAAe,CAAC,GAAG,CAAC,QAAQ,CAAC,WAAW,CAAC,GAAG,QAAQ,CAAC,WAAW,CAAC;AACxI,MAAM,IAAI,gBAAgB,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE;AAC9C,QAAQ,QAAQ,GAAG,SAAS,CAAC,IAAI;AACjC,UAAU,CAAC,EAAE,IAAI,EAAE,KAAK,IAAI,KAAK,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC,IAAI,IAAI,KAAK,YAAY;AACpF,SAAS,CAAC;AACV,OAAO;AACP,KAAK;AACL,IAAI,IAAI,CAAC,QAAQ,IAAI,cAAc,CAAC,MAAM,KAAK,CAAC,EAAE;AAClD,MAAM,QAAQ,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC;AACnC,KAAK;AACL,IAAI,IAAI,CAAC,QAAQ,EAAE;AACnB,MAAM,MAAM,OAAO,GAAG,QAAQ,CAAC,YAAY,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC;AAC9D,MAAM,QAAQ,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,IAAI,KAAK,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC,IAAI,IAAI,KAAK,OAAO,CAAC,CAAC;AAClG,KAAK;AACL,GAAG;AACH,EAAE,IAAI,4BAA4B,CAAC;AACnC,EAAE,IAAI,CAAC,QAAQ,EAAE;AACjB,IAAI,IAAI,QAAQ,CAAC,OAAO,KAAK,MAAM,EAAE;AACrC,MAAM,MAAM,YAAY,GAAG,eAAe,CAAC,GAAG,CAAC,QAAQ,CAAC,WAAW,CAAC,GAAG,eAAe,CAAC,GAAG,CAAC,QAAQ,CAAC,WAAW,CAAC,GAAG,QAAQ,CAAC,WAAW,CAAC;AACxI,MAAM,IAAI,gBAAgB,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE;AAC9C,QAAQ,MAAM,MAAM,GAAG,cAAc,CAAC,MAAM,GAAG,CAAC,CAAC;AACjD,QAAQ,MAAM,IAAI,UAAU,CAAC;AAC7B,UAAU,GAAGC,kBAAiC;AAC9C,UAAU,OAAO,EAAEA,kBAAiC,CAAC,OAAO;AAC5D,YAAY,QAAQ,CAAC,WAAW;AAChC,YAAY,QAAQ,EAAE,YAAY,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE;AACpD,YAAY,MAAM;AAClB,YAAY,cAAc,CAAC,MAAM;AACjC,WAAW;AACX,UAAU,IAAI,EAAEA,kBAAiC,CAAC,IAAI;AACtD,YAAY,UAAU,CAAC,qBAAqB,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC;AACvE,WAAW;AACX,SAAS,CAAC,CAAC;AACX,OAAO,MAAM;AACb,QAAQ,MAAM,IAAI,UAAU,CAAC;AAC7B,UAAU,GAAGC,gBAA+B;AAC5C,UAAU,OAAO,EAAEA,gBAA+B,CAAC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC;AAChF,UAAU,IAAI,EAAEA,gBAA+B,CAAC,IAAI;AACpD,YAAY,qBAAqB,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;AAClF,WAAW;AACX,SAAS,CAAC,CAAC;AACX,OAAO;AACP,KAAK,MAAM,IAAI,OAAO,SAAS,KAAK,QAAQ,EAAE;AAC9C,MAAM,MAAM,iBAAiB,GAAG,cAAc,CAAC,MAAM;AACrD,QAAQ,CAAC,CAAC,KAAK,qBAAqB,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC;AACrD,OAAO,CAAC;AACR,MAAM,MAAM,MAAM,GAAG,cAAc,CAAC,MAAM,GAAG,CAAC,CAAC;AAC/C,MAAM,IAAI,iBAAiB,CAAC,MAAM,KAAK,CAAC,EAAE;AAC1C,QAAQ,MAAM,IAAI,UAAU,CAAC;AAC7B,UAAU,GAAGD,kBAAiC;AAC9C,UAAU,OAAO,EAAEA,kBAAiC,CAAC,OAAO;AAC5D,YAAY,QAAQ,CAAC,WAAW;AAChC,YAAY,QAAQ,EAAE,YAAY,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE;AACpD,YAAY,MAAM;AAClB,YAAY,cAAc,CAAC,MAAM;AACjC,WAAW;AACX,UAAU,IAAI,EAAEA,kBAAiC,CAAC,IAAI;AACtD,YAAY,UAAU,CAAC,qBAAqB,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC;AACvE,WAAW;AACX,SAAS,CAAC,CAAC;AACX,OAAO,MAAM,IAAI,iBAAiB,CAAC,MAAM,KAAK,CAAC,EAAE;AACjD,QAAQ,QAAQ,GAAG,iBAAiB,CAAC,CAAC,CAAC,CAAC;AACxC,QAAQ,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,QAAQ,CAAC,GAAG,CAAC,oBAAoB,CAAC,IAAI;AACvE,UAAU,EAAE,MAAM,EAAE;AACpB,UAAU,SAAS;AACnB,UAAU,gCAAgC;AAC1C,UAAU,QAAQ;AAClB,UAAU,QAAQ;AAClB,SAAS,EAAE;AACX,OAAO,MAAM;AACb,QAAQ,MAAM,IAAI,KAAK,CAAC,CAAC,iBAAiB,EAAE,QAAQ,CAAC,WAAW,CAAC;AACjE;AACA,2BAA2B,EAAE,UAAU,CAAC,qBAAqB,CAAC,CAAC;AAC/D;AACA;AACA,mBAAmB,EAAE,QAAQ,CAAC,WAAW,CAAC;AAC1C;AACA;AACA;AACA;AACA,6FAA6F,CAAC,CAAC,CAAC;AAChG,OAAO;AACP,KAAK;AACL,GAAG,MAAM;AACT,IAAI,IAAI,QAAQ,CAAC,OAAO,KAAK,MAAM,EAAE;AACrC,MAAM,MAAM,YAAY,GAAG,eAAe,CAAC,GAAG,CAAC,QAAQ,CAAC,WAAW,CAAC,GAAG,eAAe,CAAC,GAAG,CAAC,QAAQ,CAAC,WAAW,CAAC,GAAG,QAAQ,CAAC,WAAW,CAAC;AACxI,MAAM,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE;AAC/C,QAAQ,OAAO,CAAC,IAAI;AACpB,UAAU,CAAC,8BAA8B,EAAE,QAAQ,CAAC,WAAW,CAAC,iCAAiC,EAAE,QAAQ,CAAC,IAAI,CAAC,yGAAyG,CAAC;AAC3N,SAAS,CAAC;AACV,OAAO;AACP,MAAM,IAAI,GAAG,MAAM,kBAAkB,CAAC,MAAM,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC;AAC/D,KAAK,MAAM;AACX,MAAM,MAAM,wBAAwB,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC;AACzD,MAAM,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,QAAQ,CAAC,GAAG,CAAC,oBAAoB,CAAC,IAAI;AACrE,QAAQ,EAAE,MAAM,EAAE;AAClB,QAAQ,SAAS;AACjB,QAAQ,gCAAgC;AACxC,QAAQ,QAAQ;AAChB,QAAQ,QAAQ;AAChB,OAAO,EAAE;AACT,MAAM,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,aAAa;AAChD,QAAQ,4BAA4B,GAAG,WAAW,CAAC,GAAG,EAAE,GAAG,wBAAwB,CAAC;AACpF,KAAK;AACL,GAAG;AACH,EAAE,IAAI,QAAQ,IAAI,CAAC,QAAQ,CAAC,gBAAgB,IAAI,QAAQ,CAAC,IAAI,KAAK,cAAc,IAAI,QAAQ,CAAC,OAAO,EAAE;AACtG,IAAI,MAAM,IAAI,UAAU,CAAC;AACzB,MAAM,GAAGE,kBAAiC;AAC1C,MAAM,OAAO,EAAEA,kBAAiC,CAAC,OAAO;AACxD,QAAQ,WAAW;AACnB,QAAQ,QAAQ,CAAC,OAAO;AACxB,QAAQ,QAAQ,CAAC,IAAI;AACrB,OAAO;AACP,KAAK,CAAC,CAAC;AACP,GAAG;AACH,EAAE,IAAI,CAAC,IAAI,IAAI,OAAO,SAAS,KAAK,QAAQ,EAAE;AAC9C,IAAI,MAAM,GAAG,GAAG,mBAAmB,CAAC,SAAS,CAAC,CAAC;AAC/C,IAAI,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AACxD,IAAI,MAAM,oBAAoB,GAAG,cAAc,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,wBAAwB;AACjF,MAAM,KAAK;AACX,KAAK,CAAC,EAAE,cAAc;AACtB,MAAM,UAAU,KAAK,EAAE,IAAI,gBAAgB,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,UAAU,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC,CAAC;AACxF,KAAK,CAAC,CAAC,CAAC;AACR,IAAI,IAAI,GAAG,EAAE,CAAC;AACd,IAAI,MAAM,WAAW,GAAG;AACxB,MAAM,KAAK,CAAC,KAAK,EAAE;AACnB,QAAQ,IAAI,KAAK,YAAY,QAAQ,EAAE,OAAO;AAC9C,QAAQ,IAAI,IAAI,aAAa,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;AAC7C,OAAO;AACP,KAAK,CAAC;AACN,IAAI,MAAM,oBAAoB,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;AACnD,GAAG;AACH,EAAE,IAAI,CAAC,SAAS,EAAE;AAClB,IAAI,OAAO;AACX,MAAM,MAAM,CAAC,WAAW,EAAE;AAC1B,QAAQ,IAAI,gBAAgB,EAAE;AAC9B,UAAU,KAAK,MAAM,WAAW,IAAI,gBAAgB,EAAE;AACtD,YAAY,WAAW,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;AAC3C,WAAW;AACX,SAAS;AACT,QAAQ,IAAI,MAAM,IAAI,QAAQ,EAAE,IAAI,KAAK,WAAW,EAAE;AACtD,UAAU,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;AAClC,SAAS,MAAM,IAAI,IAAI,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE;AAC5C,UAAU,WAAW,CAAC,KAAK;AAC3B,YAAY,cAAc,CAAC,qBAAqB,CAAC,IAAI,EAAE,QAAQ,EAAE,GAAG,EAAE,uBAAuB,CAAC,CAAC;AAC/F,WAAW,CAAC;AACZ,SAAS;AACT,OAAO;AACP,KAAK,CAAC;AACN,GAAG;AACH,EAAE,MAAM,OAAO,GAAG,SAAS;AAC3B,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,EAAE,QAAQ,CAAC,YAAY,CAAC;AACnE,EAAE,IAAI,CAAC;AACP,EAAE,cAAc;AAChB,MAAM,KAAK;AACX,MAAM,QAAQ;AACd,KAAK,CAAC,CAAC;AACP,GAAG,CAAC;AACJ,EAAE,MAAM,MAAM,GAAG,MAAM,qBAAqB;AAC5C,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE;AAC/C,IAAI,QAAQ;AACZ,GAAG,CAAC;AACJ,EAAE,IAAI,4BAA4B,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,aAAa;AAC5E,IAAI,MAAM,CAAC,KAAK,CAAC,oBAAoB,CAAC,GAAG,4BAA4B,CAAC;AACtE,EAAE,IAAI,eAAe,GAAG,EAAE,CAAC;AAC3B,EAAE,IAAI,IAAI,EAAE;AACZ,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE;AAC1C,MAAM,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE;AAC/C,QAAQ,IAAI,OAAO,GAAG,QAAQ,EAAE,GAAG,EAAE,uBAAuB,GAAG,CAAC,CAAC,QAAQ,CAAC,OAAO,GAAG,YAAY,GAAG,mBAAmB,GAAG,YAAY,CAAC;AACtI,QAAQ,IAAI,YAAY,GAAG,GAAG,KAAK,SAAS,GAAG,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;AAC7F,QAAQ,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE;AAC1C,UAAU,eAAe,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACpC,SAAS;AACT,OAAO;AACP,KAAK;AACL,GAAG,MAAM;AACT,IAAI,eAAe,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;AAC5C,GAAG;AACH,EAAE,MAAM,QAAQ,GAAG,eAAe,CAAC,MAAM,GAAG,CAAC,GAAG,eAAe,CAAC,GAAG;AACnE,IAAI,CAAC,GAAG,KAAK,CAAC,6BAA6B,EAAE,GAAG,KAAK,SAAS,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,WAAW,CAAC;AAC/G,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC;AAClB,EAAE,MAAM,CAAC,QAAQ,GAAG,CAAC,EAAE,IAAI,IAAI,EAAE,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC;AAC/C,EAAE,IAAI,MAAM,CAAC,QAAQ,EAAE;AACvB,IAAI,MAAM,CAAC,KAAK,CAAC,gBAAgB,CAAC,GAAG,EAAE,CAAC;AACxC,IAAI,MAAM,CAAC,QAAQ,IAAI,CAAC,gBAAgB,CAAC,CAAC;AAC1C,GAAG;AACH,EAAE,OAAO;AACT,IAAI,MAAM,CAAC,WAAW,EAAE;AACxB,MAAM,IAAI,gBAAgB,EAAE;AAC5B,QAAQ,KAAK,MAAM,WAAW,IAAI,gBAAgB,EAAE;AACpD,UAAU,WAAW,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;AACzC,SAAS;AACT,OAAO;AACP,MAAM,WAAW,CAAC,KAAK,CAAC,uBAAuB,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC;AACnF,MAAM,IAAI,SAAS,CAAC,SAAS,KAAK,MAAM,IAAI,QAAQ,EAAE,GAAG,CAAC,qBAAqB,EAAE;AACjF,QAAQ,WAAW,CAAC,KAAK;AACzB,UAAU,uBAAuB,CAAC;AAClC,YAAY,IAAI,EAAE,2BAA2B;AAC7C,YAAY,YAAY,EAAE,QAAQ,CAAC,IAAI;AACvC,YAAY,MAAM,EAAE,QAAQ,CAAC,GAAG,CAAC,qBAAqB;AACtD,WAAW,CAAC;AACZ,SAAS,CAAC;AACV,OAAO;AACP,MAAM,MAAM,eAAe,GAAG,aAAa,CAAC,cAAc,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;AAC3E,MAAM,WAAW,CAAC,KAAK,CAAC,cAAc,CAAC,eAAe,CAAC,CAAC,CAAC;AACzD,KAAK;AACL,GAAG,CAAC;AACJ,CAAC;AACD,SAAS,mBAAmB,CAAC,GAAG,EAAE;AAClC,EAAE,MAAM,MAAM,GAAG,YAAY,CAAC;AAC9B,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,OAAO,GAAG,CAAC;AACpC,EAAE,OAAO,GAAG,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;AAC5C,CAAC;AACD,eAAe,uBAAuB,CAAC,MAAM,EAAE,KAAK,GAAG,EAAE,EAAE;AAC3D,EAAE,MAAM,QAAQ,GAAG,MAAM,kBAAkB,CAAC,MAAM,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;AACpE,EAAE,OAAO;AACT,IAAI,MAAM,CAAC,WAAW,EAAE;AACxB,MAAM,IAAI,QAAQ,IAAI,IAAI,EAAE,OAAO;AACnC,MAAM,WAAW,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;AAClC,KAAK;AACL,GAAG,CAAC;AACJ,CAAC;AACD,eAAe,mBAAmB,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,GAAG,EAAE,EAAE;AAC1E,EAAE,MAAM,EAAE,gBAAgB,EAAE,QAAQ,EAAE,GAAG,MAAM,WAAW,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;AAC1E,EAAE,MAAM,IAAI,GAAG,SAAS,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;AAC9C,EAAE,MAAM,aAAa,GAAG,gBAAgB,GAAG,gBAAgB,CAAC,GAAG,CAAC,CAAC,KAAK,KAAK,aAAa,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC;AACvH,EAAE,OAAO;AACT,IAAI,MAAM,CAAC,WAAW,EAAE;AACxB,MAAM,WAAW,CAAC,KAAK,CAAC,cAAc,CAAC,aAAa,GAAG,IAAI,CAAC,CAAC,CAAC;AAC9D,KAAK;AACL,GAAG,CAAC;AACJ,CAAC;AACD,SAAS,oBAAoB,CAAC,MAAM,EAAE,WAAW,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK,GAAG,EAAE,EAAE;AACjF,EAAE,IAAI,uBAAuB,CAAC,KAAK,CAAC,EAAE;AACtC,IAAI,OAAO,kBAAkB,CAAC,MAAM,EAAE,WAAW,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;AACjE,GAAG;AACH,EAAE,MAAM,QAAQ,GAAG,4BAA4B,CAAC,MAAM,EAAE,WAAW,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;AAC9F,EAAE,OAAO;AACT,IAAI,MAAM,MAAM,CAAC,WAAW,EAAE;AAC9B,MAAM,MAAM,QAAQ,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;AACzC,KAAK;AACL,GAAG,CAAC;AACJ,CAAC;AACD,eAAe,eAAe,CAAC,MAAM,EAAE,WAAW,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK,GAAG,EAAE,EAAE;AAClF,EAAE,IAAI,SAAS,CAAC,SAAS,CAAC,EAAE;AAC5B,IAAI,SAAS,GAAG,MAAM,SAAS,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC;AAC1D,GAAG;AACH,EAAE,IAAI,mBAAmB,CAAC,SAAS,CAAC,EAAE;AACtC,IAAI,OAAO,MAAM,uBAAuB,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC;AAClF,GAAG;AACH,EAAE,KAAK,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC;AAChC,EAAE,IAAI,eAAe,CAAC,SAAS,CAAC,EAAE;AAClC,IAAI,OAAO,MAAM,mBAAmB,CAAC,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC;AAChG,GAAG;AACH,EAAE,IAAI,uBAAuB,CAAC,SAAS,CAAC,EAAE;AAC1C,IAAI,OAAO,oBAAoB,CAAC,MAAM,EAAE,WAAW,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;AAC9E,GAAG;AACH,EAAE,OAAO,MAAM,wBAAwB,CAAC,MAAM,EAAE,WAAW,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,KAAK;AAC3F,IAAI,kBAAkB;AACtB,GAAG,CAAC;AACJ,EAAE,SAAS,kBAAkB,CAAC,CAAC,EAAE;AACjC,IAAI,IAAI,MAAM,CAAC,SAAS;AACxB,MAAM,OAAO;AACb,QAAQ,MAAM,GAAG;AACjB,SAAS;AACT,OAAO,CAAC;AACR,IAAI,MAAM,CAAC,CAAC;AACZ,GAAG;AACH,CAAC;AACD,SAAS,cAAc,CAAC,KAAK,EAAE;AAC/B,EAAE,IAAI,KAAK,CAAC,YAAY,CAAC,KAAK,KAAK,CAAC,EAAE;AACtC,IAAI,MAAM,KAAK,GAAG,KAAK,CAAC,YAAY,CAAC,CAAC;AACtC,IAAI,OAAO,KAAK,CAAC,YAAY,CAAC,CAAC;AAC/B,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,KAAK,CAAC,CAAC;AACjD,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE;AAC/B,MAAM,OAAO,KAAK,CAAC,OAAO,CAAC,CAAC;AAC5B,KAAK;AACL,GAAG;AACH,EAAE,OAAO,KAAK,CAAC;AACf;;ACpZA,eAAe,YAAY,CAAC,MAAM,EAAE,EAAE,EAAE;AACxC,EAAE,IAAI,MAAM,CAAC,SAAS,CAAC,eAAe,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,OAAO;AACvD,EAAE,MAAM,CAAC,SAAS,CAAC,eAAe,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;AAC3C,EAAE,MAAM,OAAO,GAAG,MAAM,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;AAChD,EAAE,IAAI,OAAO,IAAI,IAAI,EAAE;AACvB,IAAI,IAAI,OAAO,EAAE;AACjB,MAAM,OAAO,cAAc,CAAC,CAAC,sBAAsB,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC;AACzE,KAAK,MAAM;AACX,MAAM,OAAO,EAAE,CAAC;AAChB,KAAK;AACL,GAAG;AACH,EAAE,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;AAC5C,EAAE,OAAO,cAAc,CAAC,CAAC,2BAA2B,EAAE,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC;AAC7E;;ACc2B,kEAAkE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE;AAC7H,cAAc,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE;;AC4BtG,SAAS,gBAAgB,CAAC,MAAM,GAAG,EAAE,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,eAAe,EAAE,GAAG,EAAE,EAAE;AAC/E,EAAE,IAAI,MAAM,GAAG,EAAE,CAAC;AAClB,EAAE,IAAI,eAAe,EAAE;AACvB,IAAI,IAAI,OAAO,MAAM,CAAC,KAAK,KAAK,WAAW,EAAE;AAC7C,MAAM,MAAM,CAAC,KAAK,IAAI,CAAC,CAAC,EAAE,eAAe,CAAC,CAAC,CAAC;AAC5C,KAAK,MAAM,IAAI,OAAO,MAAM,CAAC,YAAY,CAAC,KAAK,WAAW,EAAE;AAC5D,MAAM,MAAM,CAAC,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC,YAAY,CAAC,EAAE,eAAe,CAAC,CAAC;AACrE,KAAK,MAAM;AACX,MAAM,MAAM,CAAC,KAAK,GAAG,eAAe,CAAC;AACrC,KAAK;AACL,GAAG;AACH,EAAE,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;AACrD,IAAI,MAAM,IAAIC,YAAa,CAAC,KAAK,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;AAC9C,GAAG;AACH,EAAE,OAAOC,cAAe,CAAC,MAAM,CAAC,CAAC;AACjC;;;;","x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31]} \ No newline at end of file diff --git a/Target/chunks/astro/server_C68CUl7v.mjs.map b/Target/chunks/astro/server_C68CUl7v.mjs.map deleted file mode 100644 index 9475728b..00000000 --- a/Target/chunks/astro/server_C68CUl7v.mjs.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"server_C68CUl7v.mjs","sources":["../../../../../../../node_modules/astro/dist/core/errors/errors-data.js","../../../../../../../node_modules/astro/dist/core/errors/utils.js","../../../../../../../node_modules/astro/dist/core/errors/printer.js","../../../../../../../node_modules/astro/dist/core/errors/errors.js","../../../../../../../node_modules/astro/dist/runtime/server/astro-component.js","../../../../../../../node_modules/astro/dist/core/constants.js","../../../../../../../node_modules/astro/dist/runtime/server/astro-global.js","../../../../../../../node_modules/astro/dist/runtime/server/util.js","../../../../../../../node_modules/astro/dist/runtime/server/escape.js","../../../../../../../node_modules/astro/dist/runtime/server/render/instruction.js","../../../../../../../node_modules/astro/dist/runtime/server/serialize.js","../../../../../../../node_modules/astro/dist/runtime/server/hydration.js","../../../../../../../node_modules/astro/dist/runtime/server/shorthash.js","../../../../../../../node_modules/astro/dist/runtime/server/render/astro/factory.js","../../../../../../../node_modules/astro/dist/runtime/server/render/astro/head-and-content.js","../../../../../../../node_modules/astro/dist/runtime/server/astro-island.prebuilt-dev.js","../../../../../../../node_modules/astro/dist/runtime/server/astro-island.prebuilt.js","../../../../../../../node_modules/astro/dist/runtime/server/scripts.js","../../../../../../../node_modules/astro/dist/runtime/server/render/util.js","../../../../../../../node_modules/astro/dist/runtime/server/render/head.js","../../../../../../../node_modules/astro/dist/runtime/server/render/astro/render-template.js","../../../../../../../node_modules/astro/dist/runtime/server/render/slot.js","../../../../../../../node_modules/astro/dist/runtime/server/render/common.js","../../../../../../../node_modules/astro/dist/runtime/server/render/any.js","../../../../../../../node_modules/astro/dist/runtime/server/render/astro/instance.js","../../../../../../../node_modules/astro/dist/runtime/server/render/dom.js","../../../../../../../node_modules/astro/dist/core/encryption.js","../../../../../../../node_modules/astro/dist/runtime/server/render/server-islands.js","../../../../../../../node_modules/astro/dist/runtime/server/render/component.js","../../../../../../../node_modules/astro/dist/runtime/server/render/script.js","../../../../../../../node_modules/astro/dist/runtime/server/transition.js","../../../../../../../node_modules/astro/dist/runtime/server/index.js"],"sourcesContent":["const UnknownCompilerError = {\n name: \"UnknownCompilerError\",\n title: \"Unknown compiler error.\",\n hint: \"This is almost always a problem with the Astro compiler, not your code. Please open an issue at https://astro.build/issues/compiler.\"\n};\nconst StaticRedirectNotAvailable = {\n name: \"StaticRedirectNotAvailable\",\n title: \"`Astro.redirect` is not available in static mode.\",\n message: \"Redirects are only available when using `output: 'server'` or `output: 'hybrid'`. Update your Astro config if you need SSR features.\",\n hint: \"See https://docs.astro.build/en/guides/server-side-rendering/ for more information on how to enable SSR.\"\n};\nconst ClientAddressNotAvailable = {\n name: \"ClientAddressNotAvailable\",\n title: \"`Astro.clientAddress` is not available in current adapter.\",\n message: (adapterName) => `\\`Astro.clientAddress\\` is not available in the \\`${adapterName}\\` adapter. File an issue with the adapter to add support.`\n};\nconst PrerenderClientAddressNotAvailable = {\n name: \"PrerenderClientAddressNotAvailable\",\n title: \"`Astro.clientAddress` cannot be used inside prerendered routes.\",\n message: `\\`Astro.clientAddress\\` cannot be used inside prerendered routes`\n};\nconst StaticClientAddressNotAvailable = {\n name: \"StaticClientAddressNotAvailable\",\n title: \"`Astro.clientAddress` is not available in static mode.\",\n message: \"`Astro.clientAddress` is only available when using `output: 'server'` or `output: 'hybrid'`. Update your Astro config if you need SSR features.\",\n hint: \"See https://docs.astro.build/en/guides/server-side-rendering/ for more information on how to enable SSR.\"\n};\nconst NoMatchingStaticPathFound = {\n name: \"NoMatchingStaticPathFound\",\n title: \"No static path found for requested path.\",\n message: (pathName) => `A \\`getStaticPaths()\\` route pattern was matched, but no matching static path was found for requested path \\`${pathName}\\`.`,\n hint: (possibleRoutes) => `Possible dynamic routes being matched: ${possibleRoutes.join(\", \")}.`\n};\nconst OnlyResponseCanBeReturned = {\n name: \"OnlyResponseCanBeReturned\",\n title: \"Invalid type returned by Astro page.\",\n message: (route, returnedValue) => `Route \\`${route ? route : \"\"}\\` returned a \\`${returnedValue}\\`. Only a [Response](https://developer.mozilla.org/en-US/docs/Web/API/Response) can be returned from Astro files.`,\n hint: \"See https://docs.astro.build/en/guides/server-side-rendering/#response for more information.\"\n};\nconst MissingMediaQueryDirective = {\n name: \"MissingMediaQueryDirective\",\n title: \"Missing value for `client:media` directive.\",\n message: 'Media query not provided for `client:media` directive. A media query similar to `client:media=\"(max-width: 600px)\"` must be provided'\n};\nconst NoMatchingRenderer = {\n name: \"NoMatchingRenderer\",\n title: \"No matching renderer found.\",\n message: (componentName, componentExtension, plural, validRenderersCount) => `Unable to render \\`${componentName}\\`.\n\n${validRenderersCount > 0 ? `There ${plural ? \"are\" : \"is\"} ${validRenderersCount} renderer${plural ? \"s\" : \"\"} configured in your \\`astro.config.mjs\\` file,\nbut ${plural ? \"none were\" : \"it was not\"} able to server-side render \\`${componentName}\\`.` : `No valid renderer was found ${componentExtension ? `for the \\`.${componentExtension}\\` file extension.` : `for this file extension.`}`}`,\n hint: (probableRenderers) => `Did you mean to enable the ${probableRenderers} integration?\n\nSee https://docs.astro.build/en/guides/framework-components/ for more information on how to install and configure integrations.`\n};\nconst NoClientEntrypoint = {\n name: \"NoClientEntrypoint\",\n title: \"No client entrypoint specified in renderer.\",\n message: (componentName, clientDirective, rendererName) => `\\`${componentName}\\` component has a \\`client:${clientDirective}\\` directive, but no client entrypoint was provided by \\`${rendererName}\\`.`,\n hint: \"See https://docs.astro.build/en/reference/integrations-reference/#addrenderer-option for more information on how to configure your renderer.\"\n};\nconst NoClientOnlyHint = {\n name: \"NoClientOnlyHint\",\n title: \"Missing hint on client:only directive.\",\n message: (componentName) => `Unable to render \\`${componentName}\\`. When using the \\`client:only\\` hydration strategy, Astro needs a hint to use the correct renderer.`,\n hint: (probableRenderers) => `Did you mean to pass \\`client:only=\"${probableRenderers}\"\\`? See https://docs.astro.build/en/reference/directives-reference/#clientonly for more information on client:only`\n};\nconst InvalidGetStaticPathParam = {\n name: \"InvalidGetStaticPathParam\",\n title: \"Invalid value returned by a `getStaticPaths` path.\",\n message: (paramType) => `Invalid params given to \\`getStaticPaths\\` path. Expected an \\`object\\`, got \\`${paramType}\\``,\n hint: \"See https://docs.astro.build/en/reference/api-reference/#getstaticpaths for more information on getStaticPaths.\"\n};\nconst InvalidGetStaticPathsEntry = {\n name: \"InvalidGetStaticPathsEntry\",\n title: \"Invalid entry inside getStaticPath's return value\",\n message: (entryType) => `Invalid entry returned by getStaticPaths. Expected an object, got \\`${entryType}\\``,\n hint: \"If you're using a `.map` call, you might be looking for `.flatMap()` instead. See https://docs.astro.build/en/reference/api-reference/#getstaticpaths for more information on getStaticPaths.\"\n};\nconst InvalidGetStaticPathsReturn = {\n name: \"InvalidGetStaticPathsReturn\",\n title: \"Invalid value returned by getStaticPaths.\",\n message: (returnType) => `Invalid type returned by \\`getStaticPaths\\`. Expected an \\`array\\`, got \\`${returnType}\\``,\n hint: \"See https://docs.astro.build/en/reference/api-reference/#getstaticpaths for more information on getStaticPaths.\"\n};\nconst GetStaticPathsRemovedRSSHelper = {\n name: \"GetStaticPathsRemovedRSSHelper\",\n title: \"getStaticPaths RSS helper is not available anymore.\",\n message: \"The RSS helper has been removed from `getStaticPaths`. Try the new @astrojs/rss package instead.\",\n hint: \"See https://docs.astro.build/en/guides/rss/ for more information.\"\n};\nconst GetStaticPathsExpectedParams = {\n name: \"GetStaticPathsExpectedParams\",\n title: \"Missing params property on `getStaticPaths` route.\",\n message: \"Missing or empty required `params` property on `getStaticPaths` route.\",\n hint: \"See https://docs.astro.build/en/reference/api-reference/#getstaticpaths for more information on getStaticPaths.\"\n};\nconst GetStaticPathsInvalidRouteParam = {\n name: \"GetStaticPathsInvalidRouteParam\",\n title: \"Invalid value for `getStaticPaths` route parameter.\",\n message: (key, value, valueType) => `Invalid getStaticPaths route parameter for \\`${key}\\`. Expected undefined, a string or a number, received \\`${valueType}\\` (\\`${value}\\`)`,\n hint: \"See https://docs.astro.build/en/reference/api-reference/#getstaticpaths for more information on getStaticPaths.\"\n};\nconst GetStaticPathsRequired = {\n name: \"GetStaticPathsRequired\",\n title: \"`getStaticPaths()` function required for dynamic routes.\",\n message: \"`getStaticPaths()` function is required for dynamic routes. Make sure that you `export` a `getStaticPaths` function from your dynamic route.\",\n hint: `See https://docs.astro.build/en/guides/routing/#dynamic-routes for more information on dynamic routes.\n\nAlternatively, set \\`output: \"server\"\\` or \\`output: \"hybrid\"\\` in your Astro config file to switch to a non-static server build. This error can also occur if using \\`export const prerender = true;\\`.\nSee https://docs.astro.build/en/guides/server-side-rendering/ for more information on non-static rendering.`\n};\nconst ReservedSlotName = {\n name: \"ReservedSlotName\",\n title: \"Invalid slot name.\",\n message: (slotName) => `Unable to create a slot named \\`${slotName}\\`. \\`${slotName}\\` is a reserved slot name. Please update the name of this slot.`\n};\nconst NoAdapterInstalled = {\n name: \"NoAdapterInstalled\",\n title: \"Cannot use Server-side Rendering without an adapter.\",\n message: `Cannot use \\`output: 'server'\\` or \\`output: 'hybrid'\\` without an adapter. Please install and configure the appropriate server adapter for your final deployment.`,\n hint: \"See https://docs.astro.build/en/guides/server-side-rendering/ for more information.\"\n};\nconst NoMatchingImport = {\n name: \"NoMatchingImport\",\n title: \"No import found for component.\",\n message: (componentName) => `Could not render \\`${componentName}\\`. No matching import has been found for \\`${componentName}\\`.`,\n hint: \"Please make sure the component is properly imported.\"\n};\nconst InvalidPrerenderExport = {\n name: \"InvalidPrerenderExport\",\n title: \"Invalid prerender export.\",\n message(prefix, suffix, isHydridOutput) {\n const defaultExpectedValue = isHydridOutput ? \"false\" : \"true\";\n let msg = `A \\`prerender\\` export has been detected, but its value cannot be statically analyzed.`;\n if (prefix !== \"const\") msg += `\nExpected \\`const\\` declaration but got \\`${prefix}\\`.`;\n if (suffix !== \"true\")\n msg += `\nExpected \\`${defaultExpectedValue}\\` value but got \\`${suffix}\\`.`;\n return msg;\n },\n hint: \"Mutable values declared at runtime are not supported. Please make sure to use exactly `export const prerender = true`.\"\n};\nconst InvalidComponentArgs = {\n name: \"InvalidComponentArgs\",\n title: \"Invalid component arguments.\",\n message: (name) => `Invalid arguments passed to${name ? ` <${name}>` : \"\"} component.`,\n hint: \"Astro components cannot be rendered directly via function call, such as `Component()` or `{items.map(Component)}`.\"\n};\nconst PageNumberParamNotFound = {\n name: \"PageNumberParamNotFound\",\n title: \"Page number param not found.\",\n message: (paramName) => `[paginate()] page number param \\`${paramName}\\` not found in your filepath.`,\n hint: \"Rename your file to `[page].astro` or `[...page].astro`.\"\n};\nconst ImageMissingAlt = {\n name: \"ImageMissingAlt\",\n title: 'Image missing required \"alt\" property.',\n message: 'Image missing \"alt\" property. \"alt\" text is required to describe important images on the page.',\n hint: 'Use an empty string (\"\") for decorative images.'\n};\nconst InvalidImageService = {\n name: \"InvalidImageService\",\n title: \"Error while loading image service.\",\n message: \"There was an error loading the configured image service. Please see the stack trace for more information.\"\n};\nconst MissingImageDimension = {\n name: \"MissingImageDimension\",\n title: \"Missing image dimensions\",\n message: (missingDimension, imageURL) => `Missing ${missingDimension === \"both\" ? \"width and height attributes\" : `${missingDimension} attribute`} for ${imageURL}. When using remote images, both dimensions are required unless in order to avoid CLS.`,\n hint: \"If your image is inside your `src` folder, you probably meant to import it instead. See [the Imports guide for more information](https://docs.astro.build/en/guides/imports/#other-assets). You can also use `inferSize={true}` for remote images to get the original dimensions.\"\n};\nconst FailedToFetchRemoteImageDimensions = {\n name: \"FailedToFetchRemoteImageDimensions\",\n title: \"Failed to retrieve remote image dimensions\",\n message: (imageURL) => `Failed to get the dimensions for ${imageURL}.`,\n hint: \"Verify your remote image URL is accurate, and that you are not using `inferSize` with a file located in your `public/` folder.\"\n};\nconst UnsupportedImageFormat = {\n name: \"UnsupportedImageFormat\",\n title: \"Unsupported image format\",\n message: (format, imagePath, supportedFormats) => `Received unsupported format \\`${format}\\` from \\`${imagePath}\\`. Currently only ${supportedFormats.join(\n \", \"\n )} are supported by our image services.`,\n hint: \"Using an `img` tag directly instead of the `Image` component might be what you're looking for.\"\n};\nconst UnsupportedImageConversion = {\n name: \"UnsupportedImageConversion\",\n title: \"Unsupported image conversion\",\n message: \"Converting between vector (such as SVGs) and raster (such as PNGs and JPEGs) images is not currently supported.\"\n};\nconst PrerenderDynamicEndpointPathCollide = {\n name: \"PrerenderDynamicEndpointPathCollide\",\n title: \"Prerendered dynamic endpoint has path collision.\",\n message: (pathname) => `Could not render \\`${pathname}\\` with an \\`undefined\\` param as the generated path will collide during prerendering. Prevent passing \\`undefined\\` as \\`params\\` for the endpoint's \\`getStaticPaths()\\` function, or add an additional extension to the endpoint's filename.`,\n hint: (filename) => `Rename \\`${filename}\\` to \\`${filename.replace(/\\.(?:js|ts)/, (m) => `.json` + m)}\\``\n};\nconst ExpectedImage = {\n name: \"ExpectedImage\",\n title: \"Expected src to be an image.\",\n message: (src, typeofOptions, fullOptions) => `Expected \\`src\\` property for \\`getImage\\` or \\`\\` to be either an ESM imported image or a string with the path of a remote image. Received \\`${src}\\` (type: \\`${typeofOptions}\\`).\n\nFull serialized options received: \\`${fullOptions}\\`.`,\n hint: \"This error can often happen because of a wrong path. Make sure the path to your image is correct. If you're passing an async function, make sure to call and await it.\"\n};\nconst ExpectedImageOptions = {\n name: \"ExpectedImageOptions\",\n title: \"Expected image options.\",\n message: (options) => `Expected getImage() parameter to be an object. Received \\`${options}\\`.`\n};\nconst ExpectedNotESMImage = {\n name: \"ExpectedNotESMImage\",\n title: \"Expected image options, not an ESM-imported image.\",\n message: \"An ESM-imported image cannot be passed directly to `getImage()`. Instead, pass an object with the image in the `src` property.\",\n hint: \"Try changing `getImage(myImage)` to `getImage({ src: myImage })`\"\n};\nconst IncompatibleDescriptorOptions = {\n name: \"IncompatibleDescriptorOptions\",\n title: \"Cannot set both `densities` and `widths`\",\n message: \"Only one of `densities` or `widths` can be specified. In most cases, you'll probably want to use only `widths` if you require specific widths.\",\n hint: \"Those attributes are used to construct a `srcset` attribute, which cannot have both `x` and `w` descriptors.\"\n};\nconst ImageNotFound = {\n name: \"ImageNotFound\",\n title: \"Image not found.\",\n message: (imagePath) => `Could not find requested image \\`${imagePath}\\`. Does it exist?`,\n hint: \"This is often caused by a typo in the image path. Please make sure the file exists, and is spelled correctly.\"\n};\nconst NoImageMetadata = {\n name: \"NoImageMetadata\",\n title: \"Could not process image metadata.\",\n message: (imagePath) => `Could not process image metadata${imagePath ? ` for \\`${imagePath}\\`` : \"\"}.`,\n hint: \"This is often caused by a corrupted or malformed image. Re-exporting the image from your image editor may fix this issue.\"\n};\nconst MarkdownImageNotFound = {\n name: \"MarkdownImageNotFound\",\n title: \"Image not found.\",\n message: (imagePath, fullImagePath) => `Could not find requested image \\`${imagePath}\\`${fullImagePath ? ` at \\`${fullImagePath}\\`.` : \".\"}`,\n hint: \"This is often caused by a typo in the image path. Please make sure the file exists, and is spelled correctly.\"\n};\nconst CouldNotTransformImage = {\n name: \"CouldNotTransformImage\",\n title: \"Could not transform image.\",\n message: (imagePath) => `Could not transform image \\`${imagePath}\\`. See the stack trace for more information.`,\n hint: \"This is often caused by a corrupted or malformed image. Re-exporting the image from your image editor may fix this issue.\"\n};\nconst ResponseSentError = {\n name: \"ResponseSentError\",\n title: \"Unable to set response.\",\n message: \"The response has already been sent to the browser and cannot be altered.\"\n};\nconst MiddlewareNoDataOrNextCalled = {\n name: \"MiddlewareNoDataOrNextCalled\",\n title: \"The middleware didn't return a `Response`.\",\n message: \"Make sure your middleware returns a `Response` object, either directly or by returning the `Response` from calling the `next` function.\"\n};\nconst MiddlewareNotAResponse = {\n name: \"MiddlewareNotAResponse\",\n title: \"The middleware returned something that is not a `Response` object.\",\n message: \"Any data returned from middleware must be a valid `Response` object.\"\n};\nconst EndpointDidNotReturnAResponse = {\n name: \"EndpointDidNotReturnAResponse\",\n title: \"The endpoint did not return a `Response`.\",\n message: \"An endpoint must return either a `Response`, or a `Promise` that resolves with a `Response`.\"\n};\nconst LocalsNotAnObject = {\n name: \"LocalsNotAnObject\",\n title: \"Value assigned to `locals` is not accepted.\",\n message: \"`locals` can only be assigned to an object. Other values like numbers, strings, etc. are not accepted.\",\n hint: \"If you tried to remove some information from the `locals` object, try to use `delete` or set the property to `undefined`.\"\n};\nconst AstroResponseHeadersReassigned = {\n name: \"AstroResponseHeadersReassigned\",\n title: \"`Astro.response.headers` must not be reassigned.\",\n message: \"Individual headers can be added to and removed from `Astro.response.headers`, but it must not be replaced with another instance of `Headers` altogether.\",\n hint: \"Consider using `Astro.response.headers.add()`, and `Astro.response.headers.delete()`.\"\n};\nconst MiddlewareCantBeLoaded = {\n name: \"MiddlewareCantBeLoaded\",\n title: \"Can't load the middleware.\",\n message: \"An unknown error was thrown while loading your middleware.\"\n};\nconst LocalImageUsedWrongly = {\n name: \"LocalImageUsedWrongly\",\n title: \"Local images must be imported.\",\n message: (imageFilePath) => `\\`Image\\`'s and \\`getImage\\`'s \\`src\\` parameter must be an imported image or an URL, it cannot be a string filepath. Received \\`${imageFilePath}\\`.`,\n hint: \"If you want to use an image from your `src` folder, you need to either import it or if the image is coming from a content collection, use the [image() schema helper](https://docs.astro.build/en/guides/images/#images-in-content-collections). See https://docs.astro.build/en/guides/images/#src-required for more information on the `src` property.\"\n};\nconst AstroGlobUsedOutside = {\n name: \"AstroGlobUsedOutside\",\n title: \"Astro.glob() used outside of an Astro file.\",\n message: (globStr) => `\\`Astro.glob(${globStr})\\` can only be used in \\`.astro\\` files. \\`import.meta.glob(${globStr})\\` can be used instead to achieve a similar result.`,\n hint: \"See Vite's documentation on `import.meta.glob` for more information: https://vitejs.dev/guide/features.html#glob-import\"\n};\nconst AstroGlobNoMatch = {\n name: \"AstroGlobNoMatch\",\n title: \"Astro.glob() did not match any files.\",\n message: (globStr) => `\\`Astro.glob(${globStr})\\` did not return any matching files.`,\n hint: \"Check the pattern for typos.\"\n};\nconst RedirectWithNoLocation = {\n name: \"RedirectWithNoLocation\",\n title: \"A redirect must be given a location with the `Location` header.\"\n};\nconst InvalidDynamicRoute = {\n name: \"InvalidDynamicRoute\",\n title: \"Invalid dynamic route.\",\n message: (route, invalidParam, received) => `The ${invalidParam} param for route ${route} is invalid. Received **${received}**.`\n};\nconst MissingSharp = {\n name: \"MissingSharp\",\n title: \"Could not find Sharp.\",\n message: \"Could not find Sharp. Please install Sharp (`sharp`) manually into your project or migrate to another image service.\",\n hint: \"See Sharp's installation instructions for more information: https://sharp.pixelplumbing.com/install. If you are not relying on `astro:assets` to optimize, transform, or process any images, you can configure a passthrough image service instead of installing Sharp. See https://docs.astro.build/en/reference/errors/missing-sharp for more information.\\n\\nSee https://docs.astro.build/en/guides/images/#default-image-service for more information on how to migrate to another image service.\"\n};\nconst UnknownViteError = {\n name: \"UnknownViteError\",\n title: \"Unknown Vite Error.\"\n};\nconst FailedToLoadModuleSSR = {\n name: \"FailedToLoadModuleSSR\",\n title: \"Could not import file.\",\n message: (importName) => `Could not import \\`${importName}\\`.`,\n hint: \"This is often caused by a typo in the import path. Please make sure the file exists.\"\n};\nconst InvalidGlob = {\n name: \"InvalidGlob\",\n title: \"Invalid glob pattern.\",\n message: (globPattern) => `Invalid glob pattern: \\`${globPattern}\\`. Glob patterns must start with './', '../' or '/'.`,\n hint: \"See https://docs.astro.build/en/guides/imports/#glob-patterns for more information on supported glob patterns.\"\n};\nconst FailedToFindPageMapSSR = {\n name: \"FailedToFindPageMapSSR\",\n title: \"Astro couldn't find the correct page to render\",\n message: \"Astro couldn't find the correct page to render, probably because it wasn't correctly mapped for SSR usage. This is an internal error. Please file an issue.\"\n};\nconst MissingLocale = {\n name: \"MissingLocaleError\",\n title: \"The provided locale does not exist.\",\n message: (locale) => `The locale/path \\`${locale}\\` does not exist in the configured \\`i18n.locales\\`.`\n};\nconst MissingIndexForInternationalization = {\n name: \"MissingIndexForInternationalizationError\",\n title: \"Index page not found.\",\n message: (defaultLocale) => `Could not find index page. A root index page is required in order to create a redirect to the index URL of the default locale. (\\`/${defaultLocale}\\`)`,\n hint: (src) => `Create an index page (\\`index.astro, index.md, etc.\\`) in \\`${src}\\`.`\n};\nconst IncorrectStrategyForI18n = {\n name: \"IncorrectStrategyForI18n\",\n title: \"You can't use the current function with the current strategy\",\n message: (functionName) => `The function \\`${functionName}\\` can only be used when the \\`i18n.routing.strategy\\` is set to \\`\"manual\"\\`.`\n};\nconst NoPrerenderedRoutesWithDomains = {\n name: \"NoPrerenderedRoutesWithDomains\",\n title: \"Prerendered routes aren't supported when internationalization domains are enabled.\",\n message: (component) => `Static pages aren't yet supported with multiple domains. To enable this feature, you must disable prerendering for the page ${component}`\n};\nconst MissingMiddlewareForInternationalization = {\n name: \"MissingMiddlewareForInternationalization\",\n title: \"Enabled manual internationalization routing without having a middleware.\",\n message: \"Your configuration setting `i18n.routing: 'manual'` requires you to provide your own i18n `middleware` file.\"\n};\nconst RewriteEncounteredAnError = {\n name: \"RewriteEncounteredAnError\",\n title: \"Astro couldn't find the route to rewrite, or if was found but it emitted an error during the rendering phase.\",\n message: (route, stack) => `The route ${route} that you tried to render doesn't exist, or it emitted an error during the rendering phase. ${stack ? stack : \"\"}.`\n};\nconst CantRenderPage = {\n name: \"CantRenderPage\",\n title: \"Astro can't render the route.\",\n message: \"Astro cannot find any content to render for this route. There is no file or redirect associated with this route.\",\n hint: \"If you expect to find a route here, this may be an Astro bug. Please file an issue/restart the dev server\"\n};\nconst UnhandledRejection = {\n name: \"UnhandledRejection\",\n title: \"Unhandled rejection\",\n message: (stack) => `Astro detected an unhandled rejection. Here's the stack trace:\n${stack}`,\n hint: \"Make sure your promises all have an `await` or a `.catch()` handler.\"\n};\nconst i18nNotEnabled = {\n name: \"i18nNotEnabled\",\n title: \"i18n Not Enabled\",\n message: \"The `astro:i18n` module can not be used without enabling i18n in your Astro config.\",\n hint: \"See https://docs.astro.build/en/guides/internationalization for a guide on setting up i18n.\"\n};\nconst i18nNoLocaleFoundInPath = {\n name: \"i18nNoLocaleFoundInPath\",\n title: \"The path doesn't contain any locale\",\n message: \"You tried to use an i18n utility on a path that doesn't contain any locale. You can use `pathHasLocale` first to determine if the path has a locale.\"\n};\nconst RouteNotFound = {\n name: \"RouteNotFound\",\n title: \"Route not found.\",\n message: `Astro could not find a route that matches the one you requested.`\n};\nconst EnvInvalidVariables = {\n name: \"EnvInvalidVariables\",\n title: \"Invalid Environment Variables\",\n message: (errors) => `The following environment variables defined in \\`experimental.env.schema\\` are invalid:\n\n${errors.map((err) => `- ${err}`).join(\"\\n\")}\n`\n};\nconst EnvUnsupportedGetSecret = {\n name: \"EnvUnsupportedGetSecret\",\n title: \"Unsupported astro:env getSecret\",\n message: \"`astro:env/server` exported function `getSecret` is not supported by your adapter.\"\n};\nconst ServerOnlyModule = {\n name: \"ServerOnlyModule\",\n title: \"Module is only available server-side\",\n message: (name) => `The \"${name}\" module is only available server-side.`\n};\nconst RewriteWithBodyUsed = {\n name: \"RewriteWithBodyUsed\",\n title: \"Cannot use Astro.rewrite after the request body has been read\",\n message: \"Astro.rewrite() cannot be used if the request body has already been read. If you need to read the body, first clone the request.\"\n};\nconst UnknownFilesystemError = {\n name: \"UnknownFilesystemError\",\n title: \"An unknown error occurred while reading or writing files to disk.\",\n hint: \"It can be caused by many things, eg. missing permissions or a file not existing we attempt to read. Check the error cause for more details.\"\n};\nconst UnknownCSSError = {\n name: \"UnknownCSSError\",\n title: \"Unknown CSS Error.\"\n};\nconst CSSSyntaxError = {\n name: \"CSSSyntaxError\",\n title: \"CSS Syntax Error.\"\n};\nconst UnknownMarkdownError = {\n name: \"UnknownMarkdownError\",\n title: \"Unknown Markdown Error.\"\n};\nconst MarkdownFrontmatterParseError = {\n name: \"MarkdownFrontmatterParseError\",\n title: \"Failed to parse Markdown frontmatter.\"\n};\nconst InvalidFrontmatterInjectionError = {\n name: \"InvalidFrontmatterInjectionError\",\n title: \"Invalid frontmatter injection.\",\n message: 'A remark or rehype plugin attempted to inject invalid frontmatter. Ensure \"astro.frontmatter\" is set to a valid JSON object that is not `null` or `undefined`.',\n hint: \"See the frontmatter injection docs https://docs.astro.build/en/guides/markdown-content/#modifying-frontmatter-programmatically for more information.\"\n};\nconst MdxIntegrationMissingError = {\n name: \"MdxIntegrationMissingError\",\n title: \"MDX integration missing.\",\n message: (file) => `Unable to render ${file}. Ensure that the \\`@astrojs/mdx\\` integration is installed.`,\n hint: \"See the MDX integration docs for installation and usage instructions: https://docs.astro.build/en/guides/integrations-guide/mdx/\"\n};\nconst UnknownConfigError = {\n name: \"UnknownConfigError\",\n title: \"Unknown configuration error.\"\n};\nconst ConfigNotFound = {\n name: \"ConfigNotFound\",\n title: \"Specified configuration file not found.\",\n message: (configFile) => `Unable to resolve \\`--config \"${configFile}\"\\`. Does the file exist?`\n};\nconst ConfigLegacyKey = {\n name: \"ConfigLegacyKey\",\n title: \"Legacy configuration detected.\",\n message: (legacyConfigKey) => `Legacy configuration detected: \\`${legacyConfigKey}\\`.`,\n hint: \"Please update your configuration to the new format.\\nSee https://astro.build/config for more information.\"\n};\nconst UnknownCLIError = {\n name: \"UnknownCLIError\",\n title: \"Unknown CLI Error.\"\n};\nconst GenerateContentTypesError = {\n name: \"GenerateContentTypesError\",\n title: \"Failed to generate content types.\",\n message: (errorMessage) => `\\`astro sync\\` command failed to generate content collection types: ${errorMessage}`,\n hint: \"Check your `src/content/config.*` file for typos.\"\n};\nconst UnknownContentCollectionError = {\n name: \"UnknownContentCollectionError\",\n title: \"Unknown Content Collection Error.\"\n};\nconst GetEntryDeprecationError = {\n name: \"GetEntryDeprecationError\",\n title: \"Invalid use of `getDataEntryById` or `getEntryBySlug` function.\",\n message: (collection, method) => `The \\`${method}\\` function is deprecated and cannot be used to query the \"${collection}\" collection. Use \\`getEntry\\` instead.`,\n hint: \"Use the `getEntry` or `getCollection` functions to query content layer collections.\"\n};\nconst InvalidContentEntryFrontmatterError = {\n name: \"InvalidContentEntryFrontmatterError\",\n title: \"Content entry frontmatter does not match schema.\",\n message(collection, entryId, error) {\n return [\n `**${String(collection)} \\u2192 ${String(\n entryId\n )}** frontmatter does not match collection schema.`,\n ...error.errors.map((zodError) => zodError.message)\n ].join(\"\\n\");\n },\n hint: \"See https://docs.astro.build/en/guides/content-collections/ for more information on content schemas.\"\n};\nconst InvalidContentEntrySlugError = {\n name: \"InvalidContentEntrySlugError\",\n title: \"Invalid content entry slug.\",\n message(collection, entryId) {\n return `${String(collection)} \\u2192 ${String(\n entryId\n )} has an invalid slug. \\`slug\\` must be a string.`;\n },\n hint: \"See https://docs.astro.build/en/guides/content-collections/ for more on the `slug` field.\"\n};\nconst ContentSchemaContainsSlugError = {\n name: \"ContentSchemaContainsSlugError\",\n title: \"Content Schema should not contain `slug`.\",\n message: (collectionName) => `A content collection schema should not contain \\`slug\\` since it is reserved for slug generation. Remove this from your ${collectionName} collection schema.`,\n hint: \"See https://docs.astro.build/en/guides/content-collections/ for more on the `slug` field.\"\n};\nconst CollectionDoesNotExistError = {\n name: \"CollectionDoesNotExistError\",\n title: \"Collection does not exist\",\n message: (collectionName) => `The collection **${collectionName}** does not exist. Ensure a collection directory with this name exists.`,\n hint: \"See https://docs.astro.build/en/guides/content-collections/ for more on creating collections.\"\n};\nconst MixedContentDataCollectionError = {\n name: \"MixedContentDataCollectionError\",\n title: \"Content and data cannot be in same collection.\",\n message: (collectionName) => `**${collectionName}** contains a mix of content and data entries. All entries must be of the same type.`,\n hint: \"Store data entries in a new collection separate from your content collection.\"\n};\nconst ContentCollectionTypeMismatchError = {\n name: \"ContentCollectionTypeMismatchError\",\n title: \"Collection contains entries of a different type.\",\n message: (collection, expectedType, actualType) => `${collection} contains ${expectedType} entries, but is configured as a ${actualType} collection.`\n};\nconst DataCollectionEntryParseError = {\n name: \"DataCollectionEntryParseError\",\n title: \"Data collection entry failed to parse.\",\n message(entryId, errorMessage) {\n return `**${entryId}** failed to parse: ${errorMessage}`;\n },\n hint: \"Ensure your data entry is an object with valid JSON (for `.json` entries) or YAML (for `.yaml` entries).\"\n};\nconst DuplicateContentEntrySlugError = {\n name: \"DuplicateContentEntrySlugError\",\n title: \"Duplicate content entry slug.\",\n message(collection, slug, preExisting, alsoFound) {\n return `**${collection}** contains multiple entries with the same slug: \\`${slug}\\`. Slugs must be unique.\n\nEntries: \n- ${preExisting}\n- ${alsoFound}`;\n }\n};\nconst UnsupportedConfigTransformError = {\n name: \"UnsupportedConfigTransformError\",\n title: \"Unsupported transform in content config.\",\n message: (parseError) => `\\`transform()\\` functions in your content config must return valid JSON, or data types compatible with the devalue library (including Dates, Maps, and Sets).\nFull error: ${parseError}`,\n hint: \"See the devalue library for all supported types: https://github.com/rich-harris/devalue\"\n};\nconst ActionsWithoutServerOutputError = {\n name: \"ActionsWithoutServerOutputError\",\n title: \"Actions must be used with server output.\",\n message: \"Actions enabled without setting a server build output. A server is required to create callable backend functions. To deploy routes to a server, add a server adapter to your astro config.\",\n hint: \"Learn about on-demand rendering: https://docs.astro.build/en/basics/rendering-modes/#on-demand-rendered\"\n};\nconst ActionsUsedWithForGetError = {\n name: \"ActionsUsedWithForGetError\",\n title: \"An invalid Action query string was passed by a form.\",\n message: (actionName) => `Action ${actionName} was called from a form using a GET request, but only POST requests are supported. This often occurs if \\`method=\"POST\"\\` is missing on the form.`,\n hint: \"Actions are experimental. Visit the RFC for usage instructions: https://github.com/withastro/roadmap/blob/actions/proposals/0046-actions.md\"\n};\nconst ActionQueryStringInvalidError = {\n name: \"ActionQueryStringInvalidError\",\n title: \"An invalid Action query string was passed by a form.\",\n message: (actionName) => `The server received the query string \\`?_astroAction=${actionName}\\`, but could not find an action with that name. If you changed an action's name in development, remove this query param from your URL and refresh.`,\n hint: \"Actions are experimental. Visit the RFC for usage instructions: https://github.com/withastro/roadmap/blob/actions/proposals/0046-actions.md\"\n};\nconst ActionCalledFromServerError = {\n name: \"ActionCalledFromServerError\",\n title: \"Action unexpected called from the server.\",\n message: \"Action called from a server page or endpoint without using `Astro.callAction()`.\",\n hint: \"See the RFC section on server calls for usage instructions: https://github.com/withastro/roadmap/blob/actions/proposals/0046-actions.md#call-actions-directly-from-server-code\"\n};\nconst UnknownError = { name: \"UnknownError\", title: \"Unknown Error.\" };\nexport {\n ActionCalledFromServerError,\n ActionQueryStringInvalidError,\n ActionsUsedWithForGetError,\n ActionsWithoutServerOutputError,\n AstroGlobNoMatch,\n AstroGlobUsedOutside,\n AstroResponseHeadersReassigned,\n CSSSyntaxError,\n CantRenderPage,\n ClientAddressNotAvailable,\n CollectionDoesNotExistError,\n ConfigLegacyKey,\n ConfigNotFound,\n ContentCollectionTypeMismatchError,\n ContentSchemaContainsSlugError,\n CouldNotTransformImage,\n DataCollectionEntryParseError,\n DuplicateContentEntrySlugError,\n EndpointDidNotReturnAResponse,\n EnvInvalidVariables,\n EnvUnsupportedGetSecret,\n ExpectedImage,\n ExpectedImageOptions,\n ExpectedNotESMImage,\n FailedToFetchRemoteImageDimensions,\n FailedToFindPageMapSSR,\n FailedToLoadModuleSSR,\n GenerateContentTypesError,\n GetEntryDeprecationError,\n GetStaticPathsExpectedParams,\n GetStaticPathsInvalidRouteParam,\n GetStaticPathsRemovedRSSHelper,\n GetStaticPathsRequired,\n ImageMissingAlt,\n ImageNotFound,\n IncompatibleDescriptorOptions,\n IncorrectStrategyForI18n,\n InvalidComponentArgs,\n InvalidContentEntryFrontmatterError,\n InvalidContentEntrySlugError,\n InvalidDynamicRoute,\n InvalidFrontmatterInjectionError,\n InvalidGetStaticPathParam,\n InvalidGetStaticPathsEntry,\n InvalidGetStaticPathsReturn,\n InvalidGlob,\n InvalidImageService,\n InvalidPrerenderExport,\n LocalImageUsedWrongly,\n LocalsNotAnObject,\n MarkdownFrontmatterParseError,\n MarkdownImageNotFound,\n MdxIntegrationMissingError,\n MiddlewareCantBeLoaded,\n MiddlewareNoDataOrNextCalled,\n MiddlewareNotAResponse,\n MissingImageDimension,\n MissingIndexForInternationalization,\n MissingLocale,\n MissingMediaQueryDirective,\n MissingMiddlewareForInternationalization,\n MissingSharp,\n MixedContentDataCollectionError,\n NoAdapterInstalled,\n NoClientEntrypoint,\n NoClientOnlyHint,\n NoImageMetadata,\n NoMatchingImport,\n NoMatchingRenderer,\n NoMatchingStaticPathFound,\n NoPrerenderedRoutesWithDomains,\n OnlyResponseCanBeReturned,\n PageNumberParamNotFound,\n PrerenderClientAddressNotAvailable,\n PrerenderDynamicEndpointPathCollide,\n RedirectWithNoLocation,\n ReservedSlotName,\n ResponseSentError,\n RewriteEncounteredAnError,\n RewriteWithBodyUsed,\n RouteNotFound,\n ServerOnlyModule,\n StaticClientAddressNotAvailable,\n StaticRedirectNotAvailable,\n UnhandledRejection,\n UnknownCLIError,\n UnknownCSSError,\n UnknownCompilerError,\n UnknownConfigError,\n UnknownContentCollectionError,\n UnknownError,\n UnknownFilesystemError,\n UnknownMarkdownError,\n UnknownViteError,\n UnsupportedConfigTransformError,\n UnsupportedImageConversion,\n UnsupportedImageFormat,\n i18nNoLocaleFoundInPath,\n i18nNotEnabled\n};\n","function positionAt(offset, text) {\n const lineOffsets = getLineOffsets(text);\n offset = Math.max(0, Math.min(text.length, offset));\n let low = 0;\n let high = lineOffsets.length;\n if (high === 0) {\n return {\n line: 0,\n column: offset\n };\n }\n while (low <= high) {\n const mid = Math.floor((low + high) / 2);\n const lineOffset = lineOffsets[mid];\n if (lineOffset === offset) {\n return {\n line: mid,\n column: 0\n };\n } else if (offset > lineOffset) {\n low = mid + 1;\n } else {\n high = mid - 1;\n }\n }\n const line = low - 1;\n return { line, column: offset - lineOffsets[line] };\n}\nfunction getLineOffsets(text) {\n const lineOffsets = [];\n let isLineStart = true;\n for (let i = 0; i < text.length; i++) {\n if (isLineStart) {\n lineOffsets.push(i);\n isLineStart = false;\n }\n const ch = text.charAt(i);\n isLineStart = ch === \"\\r\" || ch === \"\\n\";\n if (ch === \"\\r\" && i + 1 < text.length && text.charAt(i + 1) === \"\\n\") {\n i++;\n }\n }\n if (isLineStart && text.length > 0) {\n lineOffsets.push(text.length);\n }\n return lineOffsets;\n}\nfunction isYAMLException(err) {\n return err instanceof Error && err.name === \"YAMLException\";\n}\nfunction formatYAMLException(e) {\n return {\n name: e.name,\n id: e.mark.name,\n loc: { file: e.mark.name, line: e.mark.line + 1, column: e.mark.column },\n message: e.reason,\n stack: e.stack ?? \"\"\n };\n}\nfunction createSafeError(err) {\n if (err instanceof Error || err?.name && err.message) {\n return err;\n } else {\n const error = new Error(JSON.stringify(err));\n error.hint = `To get as much information as possible from your errors, make sure to throw Error objects instead of \\`${typeof err}\\`. See https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Error for more information.`;\n return error;\n }\n}\nfunction normalizeLF(code) {\n return code.replace(/\\r\\n|\\r(?!\\n)|\\n/g, \"\\n\");\n}\nexport {\n createSafeError,\n formatYAMLException,\n isYAMLException,\n normalizeLF,\n positionAt\n};\n","import { normalizeLF } from \"./utils.js\";\nfunction codeFrame(src, loc) {\n if (!loc || loc.line === void 0 || loc.column === void 0) {\n return \"\";\n }\n const lines = normalizeLF(src).split(\"\\n\").map((ln) => ln.replace(/\\t/g, \" \"));\n const visibleLines = [];\n for (let n = -2; n <= 2; n++) {\n if (lines[loc.line + n]) visibleLines.push(loc.line + n);\n }\n let gutterWidth = 0;\n for (const lineNo of visibleLines) {\n let w = `> ${lineNo}`;\n if (w.length > gutterWidth) gutterWidth = w.length;\n }\n let output = \"\";\n for (const lineNo of visibleLines) {\n const isFocusedLine = lineNo === loc.line - 1;\n output += isFocusedLine ? \"> \" : \" \";\n output += `${lineNo + 1} | ${lines[lineNo]}\n`;\n if (isFocusedLine)\n output += `${Array.from({ length: gutterWidth }).join(\" \")} | ${Array.from({\n length: loc.column\n }).join(\" \")}^\n`;\n }\n return output;\n}\nexport {\n codeFrame\n};\n","import { codeFrame } from \"./printer.js\";\nfunction isAstroError(e) {\n return e instanceof AstroError;\n}\nclass AstroError extends Error {\n loc;\n title;\n hint;\n frame;\n type = \"AstroError\";\n constructor(props, options) {\n const { name, title, message, stack, location, hint, frame } = props;\n super(message, options);\n this.title = title;\n this.name = name;\n if (message) this.message = message;\n this.stack = stack ? stack : this.stack;\n this.loc = location;\n this.hint = hint;\n this.frame = frame;\n }\n setLocation(location) {\n this.loc = location;\n }\n setName(name) {\n this.name = name;\n }\n setMessage(message) {\n this.message = message;\n }\n setHint(hint) {\n this.hint = hint;\n }\n setFrame(source, location) {\n this.frame = codeFrame(source, location);\n }\n static is(err) {\n return err.type === \"AstroError\";\n }\n}\nclass CompilerError extends AstroError {\n type = \"CompilerError\";\n constructor(props, options) {\n super(props, options);\n }\n static is(err) {\n return err.type === \"CompilerError\";\n }\n}\nclass CSSError extends AstroError {\n type = \"CSSError\";\n static is(err) {\n return err.type === \"CSSError\";\n }\n}\nclass MarkdownError extends AstroError {\n type = \"MarkdownError\";\n static is(err) {\n return err.type === \"MarkdownError\";\n }\n}\nclass InternalError extends AstroError {\n type = \"InternalError\";\n static is(err) {\n return err.type === \"InternalError\";\n }\n}\nclass AggregateError extends AstroError {\n type = \"AggregateError\";\n errors;\n // Despite being a collection of errors, AggregateError still needs to have a main error attached to it\n // This is because Vite expects every thrown errors handled during HMR to be, well, Error and have a message\n constructor(props, options) {\n super(props, options);\n this.errors = props.errors;\n }\n static is(err) {\n return err.type === \"AggregateError\";\n }\n}\nconst astroConfigZodErrors = /* @__PURE__ */ new WeakSet();\nfunction isAstroConfigZodError(error) {\n return astroConfigZodErrors.has(error);\n}\nfunction trackAstroConfigZodError(error) {\n astroConfigZodErrors.add(error);\n}\nclass AstroUserError extends Error {\n type = \"AstroUserError\";\n /**\n * A message that explains to the user how they can fix the error.\n */\n hint;\n name = \"AstroUserError\";\n constructor(message, hint) {\n super();\n this.message = message;\n this.hint = hint;\n }\n static is(err) {\n return err.type === \"AstroUserError\";\n }\n}\nexport {\n AggregateError,\n AstroError,\n AstroUserError,\n CSSError,\n CompilerError,\n InternalError,\n MarkdownError,\n isAstroConfigZodError,\n isAstroError,\n trackAstroConfigZodError\n};\n","import { AstroError, AstroErrorData } from \"../../core/errors/index.js\";\nfunction validateArgs(args) {\n if (args.length !== 3) return false;\n if (!args[0] || typeof args[0] !== \"object\") return false;\n return true;\n}\nfunction baseCreateComponent(cb, moduleId, propagation) {\n const name = moduleId?.split(\"/\").pop()?.replace(\".astro\", \"\") ?? \"\";\n const fn = (...args) => {\n if (!validateArgs(args)) {\n throw new AstroError({\n ...AstroErrorData.InvalidComponentArgs,\n message: AstroErrorData.InvalidComponentArgs.message(name)\n });\n }\n return cb(...args);\n };\n Object.defineProperty(fn, \"name\", { value: name, writable: false });\n fn.isAstroComponentFactory = true;\n fn.moduleId = moduleId;\n fn.propagation = propagation;\n return fn;\n}\nfunction createComponentWithOptions(opts) {\n const cb = baseCreateComponent(opts.factory, opts.moduleId, opts.propagation);\n return cb;\n}\nfunction createComponent(arg1, moduleId, propagation) {\n if (typeof arg1 === \"function\") {\n return baseCreateComponent(arg1, moduleId, propagation);\n } else {\n return createComponentWithOptions(arg1);\n }\n}\nexport {\n createComponent\n};\n","const ASTRO_VERSION = \"4.14.5\";\nconst REROUTE_DIRECTIVE_HEADER = \"X-Astro-Reroute\";\nconst REWRITE_DIRECTIVE_HEADER_KEY = \"X-Astro-Rewrite\";\nconst REWRITE_DIRECTIVE_HEADER_VALUE = \"yes\";\nconst ROUTE_TYPE_HEADER = \"X-Astro-Route-Type\";\nconst DEFAULT_404_COMPONENT = \"astro-default-404.astro\";\nconst DEFAULT_500_COMPONENT = \"astro-default-500.astro\";\nconst REROUTABLE_STATUS_CODES = [404, 500];\nconst clientAddressSymbol = Symbol.for(\"astro.clientAddress\");\nconst clientLocalsSymbol = Symbol.for(\"astro.locals\");\nconst responseSentSymbol = Symbol.for(\"astro.responseSent\");\nconst SUPPORTED_MARKDOWN_FILE_EXTENSIONS = [\n \".markdown\",\n \".mdown\",\n \".mkdn\",\n \".mkd\",\n \".mdwn\",\n \".md\"\n];\nconst MIDDLEWARE_PATH_SEGMENT_NAME = \"middleware\";\nexport {\n ASTRO_VERSION,\n DEFAULT_404_COMPONENT,\n DEFAULT_500_COMPONENT,\n MIDDLEWARE_PATH_SEGMENT_NAME,\n REROUTABLE_STATUS_CODES,\n REROUTE_DIRECTIVE_HEADER,\n REWRITE_DIRECTIVE_HEADER_KEY,\n REWRITE_DIRECTIVE_HEADER_VALUE,\n ROUTE_TYPE_HEADER,\n SUPPORTED_MARKDOWN_FILE_EXTENSIONS,\n clientAddressSymbol,\n clientLocalsSymbol,\n responseSentSymbol\n};\n","import { ASTRO_VERSION } from \"../../core/constants.js\";\nimport { AstroError, AstroErrorData } from \"../../core/errors/index.js\";\nfunction createAstroGlobFn() {\n const globHandler = (importMetaGlobResult) => {\n if (typeof importMetaGlobResult === \"string\") {\n throw new AstroError({\n ...AstroErrorData.AstroGlobUsedOutside,\n message: AstroErrorData.AstroGlobUsedOutside.message(JSON.stringify(importMetaGlobResult))\n });\n }\n let allEntries = [...Object.values(importMetaGlobResult)];\n if (allEntries.length === 0) {\n throw new AstroError({\n ...AstroErrorData.AstroGlobNoMatch,\n message: AstroErrorData.AstroGlobNoMatch.message(JSON.stringify(importMetaGlobResult))\n });\n }\n return Promise.all(allEntries.map((fn) => fn()));\n };\n return globHandler;\n}\nfunction createAstro(site) {\n return {\n // TODO: this is no longer necessary for `Astro.site`\n // but it somehow allows working around caching issues in content collections for some tests\n site: site ? new URL(site) : void 0,\n generator: `Astro v${ASTRO_VERSION}`,\n glob: createAstroGlobFn()\n };\n}\nexport {\n createAstro\n};\n","function isPromise(value) {\n return !!value && typeof value === \"object\" && \"then\" in value && typeof value.then === \"function\";\n}\nasync function* streamAsyncIterator(stream) {\n const reader = stream.getReader();\n try {\n while (true) {\n const { done, value } = await reader.read();\n if (done) return;\n yield value;\n }\n } finally {\n reader.releaseLock();\n }\n}\nexport {\n isPromise,\n streamAsyncIterator\n};\n","import { escape } from \"html-escaper\";\nimport { streamAsyncIterator } from \"./util.js\";\nconst escapeHTML = escape;\nclass HTMLBytes extends Uint8Array {\n}\nObject.defineProperty(HTMLBytes.prototype, Symbol.toStringTag, {\n get() {\n return \"HTMLBytes\";\n }\n});\nclass HTMLString extends String {\n get [Symbol.toStringTag]() {\n return \"HTMLString\";\n }\n}\nconst markHTMLString = (value) => {\n if (value instanceof HTMLString) {\n return value;\n }\n if (typeof value === \"string\") {\n return new HTMLString(value);\n }\n return value;\n};\nfunction isHTMLString(value) {\n return Object.prototype.toString.call(value) === \"[object HTMLString]\";\n}\nfunction markHTMLBytes(bytes) {\n return new HTMLBytes(bytes);\n}\nfunction isHTMLBytes(value) {\n return Object.prototype.toString.call(value) === \"[object HTMLBytes]\";\n}\nfunction hasGetReader(obj) {\n return typeof obj.getReader === \"function\";\n}\nasync function* unescapeChunksAsync(iterable) {\n if (hasGetReader(iterable)) {\n for await (const chunk of streamAsyncIterator(iterable)) {\n yield unescapeHTML(chunk);\n }\n } else {\n for await (const chunk of iterable) {\n yield unescapeHTML(chunk);\n }\n }\n}\nfunction* unescapeChunks(iterable) {\n for (const chunk of iterable) {\n yield unescapeHTML(chunk);\n }\n}\nfunction unescapeHTML(str) {\n if (!!str && typeof str === \"object\") {\n if (str instanceof Uint8Array) {\n return markHTMLBytes(str);\n } else if (str instanceof Response && str.body) {\n const body = str.body;\n return unescapeChunksAsync(body);\n } else if (typeof str.then === \"function\") {\n return Promise.resolve(str).then((value) => {\n return unescapeHTML(value);\n });\n } else if (str[Symbol.for(\"astro:slot-string\")]) {\n return str;\n } else if (Symbol.iterator in str) {\n return unescapeChunks(str);\n } else if (Symbol.asyncIterator in str || hasGetReader(str)) {\n return unescapeChunksAsync(str);\n }\n }\n return markHTMLString(str);\n}\nexport {\n HTMLBytes,\n HTMLString,\n escapeHTML,\n isHTMLBytes,\n isHTMLString,\n markHTMLString,\n unescapeHTML\n};\n","const RenderInstructionSymbol = Symbol.for(\"astro:render\");\nfunction createRenderInstruction(instruction) {\n return Object.defineProperty(instruction, RenderInstructionSymbol, {\n value: true\n });\n}\nfunction isRenderInstruction(chunk) {\n return chunk && typeof chunk === \"object\" && chunk[RenderInstructionSymbol];\n}\nexport {\n createRenderInstruction,\n isRenderInstruction\n};\n","const PROP_TYPE = {\n Value: 0,\n JSON: 1,\n // Actually means Array\n RegExp: 2,\n Date: 3,\n Map: 4,\n Set: 5,\n BigInt: 6,\n URL: 7,\n Uint8Array: 8,\n Uint16Array: 9,\n Uint32Array: 10\n};\nfunction serializeArray(value, metadata = {}, parents = /* @__PURE__ */ new WeakSet()) {\n if (parents.has(value)) {\n throw new Error(`Cyclic reference detected while serializing props for <${metadata.displayName} client:${metadata.hydrate}>!\n\nCyclic references cannot be safely serialized for client-side usage. Please remove the cyclic reference.`);\n }\n parents.add(value);\n const serialized = value.map((v) => {\n return convertToSerializedForm(v, metadata, parents);\n });\n parents.delete(value);\n return serialized;\n}\nfunction serializeObject(value, metadata = {}, parents = /* @__PURE__ */ new WeakSet()) {\n if (parents.has(value)) {\n throw new Error(`Cyclic reference detected while serializing props for <${metadata.displayName} client:${metadata.hydrate}>!\n\nCyclic references cannot be safely serialized for client-side usage. Please remove the cyclic reference.`);\n }\n parents.add(value);\n const serialized = Object.fromEntries(\n Object.entries(value).map(([k, v]) => {\n return [k, convertToSerializedForm(v, metadata, parents)];\n })\n );\n parents.delete(value);\n return serialized;\n}\nfunction convertToSerializedForm(value, metadata = {}, parents = /* @__PURE__ */ new WeakSet()) {\n const tag = Object.prototype.toString.call(value);\n switch (tag) {\n case \"[object Date]\": {\n return [PROP_TYPE.Date, value.toISOString()];\n }\n case \"[object RegExp]\": {\n return [PROP_TYPE.RegExp, value.source];\n }\n case \"[object Map]\": {\n return [PROP_TYPE.Map, serializeArray(Array.from(value), metadata, parents)];\n }\n case \"[object Set]\": {\n return [PROP_TYPE.Set, serializeArray(Array.from(value), metadata, parents)];\n }\n case \"[object BigInt]\": {\n return [PROP_TYPE.BigInt, value.toString()];\n }\n case \"[object URL]\": {\n return [PROP_TYPE.URL, value.toString()];\n }\n case \"[object Array]\": {\n return [PROP_TYPE.JSON, serializeArray(value, metadata, parents)];\n }\n case \"[object Uint8Array]\": {\n return [PROP_TYPE.Uint8Array, Array.from(value)];\n }\n case \"[object Uint16Array]\": {\n return [PROP_TYPE.Uint16Array, Array.from(value)];\n }\n case \"[object Uint32Array]\": {\n return [PROP_TYPE.Uint32Array, Array.from(value)];\n }\n default: {\n if (value !== null && typeof value === \"object\") {\n return [PROP_TYPE.Value, serializeObject(value, metadata, parents)];\n } else if (value === void 0) {\n return [PROP_TYPE.Value];\n } else {\n return [PROP_TYPE.Value, value];\n }\n }\n }\n}\nfunction serializeProps(props, metadata) {\n const serialized = JSON.stringify(serializeObject(props, metadata));\n return serialized;\n}\nexport {\n serializeProps\n};\n","import { AstroError, AstroErrorData } from \"../../core/errors/index.js\";\nimport { escapeHTML } from \"./escape.js\";\nimport { serializeProps } from \"./serialize.js\";\nconst transitionDirectivesToCopyOnIsland = Object.freeze([\n \"data-astro-transition-scope\",\n \"data-astro-transition-persist\",\n \"data-astro-transition-persist-props\"\n]);\nfunction extractDirectives(inputProps, clientDirectives) {\n let extracted = {\n isPage: false,\n hydration: null,\n props: {},\n propsWithoutTransitionAttributes: {}\n };\n for (const [key, value] of Object.entries(inputProps)) {\n if (key.startsWith(\"server:\")) {\n if (key === \"server:root\") {\n extracted.isPage = true;\n }\n }\n if (key.startsWith(\"client:\")) {\n if (!extracted.hydration) {\n extracted.hydration = {\n directive: \"\",\n value: \"\",\n componentUrl: \"\",\n componentExport: { value: \"\" }\n };\n }\n switch (key) {\n case \"client:component-path\": {\n extracted.hydration.componentUrl = value;\n break;\n }\n case \"client:component-export\": {\n extracted.hydration.componentExport.value = value;\n break;\n }\n case \"client:component-hydration\": {\n break;\n }\n case \"client:display-name\": {\n break;\n }\n default: {\n extracted.hydration.directive = key.split(\":\")[1];\n extracted.hydration.value = value;\n if (!clientDirectives.has(extracted.hydration.directive)) {\n const hydrationMethods = Array.from(clientDirectives.keys()).map((d) => `client:${d}`).join(\", \");\n throw new Error(\n `Error: invalid hydration directive \"${key}\". Supported hydration methods: ${hydrationMethods}`\n );\n }\n if (extracted.hydration.directive === \"media\" && typeof extracted.hydration.value !== \"string\") {\n throw new AstroError(AstroErrorData.MissingMediaQueryDirective);\n }\n break;\n }\n }\n } else {\n extracted.props[key] = value;\n if (!transitionDirectivesToCopyOnIsland.includes(key)) {\n extracted.propsWithoutTransitionAttributes[key] = value;\n }\n }\n }\n for (const sym of Object.getOwnPropertySymbols(inputProps)) {\n extracted.props[sym] = inputProps[sym];\n extracted.propsWithoutTransitionAttributes[sym] = inputProps[sym];\n }\n return extracted;\n}\nasync function generateHydrateScript(scriptOptions, metadata) {\n const { renderer, result, astroId, props, attrs } = scriptOptions;\n const { hydrate, componentUrl, componentExport } = metadata;\n if (!componentExport.value) {\n throw new AstroError({\n ...AstroErrorData.NoMatchingImport,\n message: AstroErrorData.NoMatchingImport.message(metadata.displayName)\n });\n }\n const island = {\n children: \"\",\n props: {\n // This is for HMR, probably can avoid it in prod\n uid: astroId\n }\n };\n if (attrs) {\n for (const [key, value] of Object.entries(attrs)) {\n island.props[key] = escapeHTML(value);\n }\n }\n island.props[\"component-url\"] = await result.resolve(decodeURI(componentUrl));\n if (renderer.clientEntrypoint) {\n island.props[\"component-export\"] = componentExport.value;\n island.props[\"renderer-url\"] = await result.resolve(decodeURI(renderer.clientEntrypoint));\n island.props[\"props\"] = escapeHTML(serializeProps(props, metadata));\n }\n island.props[\"ssr\"] = \"\";\n island.props[\"client\"] = hydrate;\n let beforeHydrationUrl = await result.resolve(\"astro:scripts/before-hydration.js\");\n if (beforeHydrationUrl.length) {\n island.props[\"before-hydration-url\"] = beforeHydrationUrl;\n }\n island.props[\"opts\"] = escapeHTML(\n JSON.stringify({\n name: metadata.displayName,\n value: metadata.hydrateArgs || \"\"\n })\n );\n transitionDirectivesToCopyOnIsland.forEach((name) => {\n if (typeof props[name] !== \"undefined\") {\n island.props[name] = props[name];\n }\n });\n return island;\n}\nexport {\n extractDirectives,\n generateHydrateScript\n};\n","/**\n * shortdash - https://github.com/bibig/node-shorthash\n *\n * @license\n *\n * (The MIT License)\n *\n * Copyright (c) 2013 Bibig \n *\n * Permission is hereby granted, free of charge, to any person\n * obtaining a copy of this software and associated documentation\n * files (the \"Software\"), to deal in the Software without\n * restriction, including without limitation the rights to use,\n * copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the\n * Software is furnished to do so, subject to the following\n * conditions:\n *\n * The above copyright notice and this permission notice shall be\n * included in all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\n * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES\n * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\n * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT\n * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,\n * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING\n * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR\n * OTHER DEALINGS IN THE SOFTWARE.\n */\nconst dictionary = \"0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXY\";\nconst binary = dictionary.length;\nfunction bitwise(str) {\n let hash = 0;\n if (str.length === 0) return hash;\n for (let i = 0; i < str.length; i++) {\n const ch = str.charCodeAt(i);\n hash = (hash << 5) - hash + ch;\n hash = hash & hash;\n }\n return hash;\n}\nfunction shorthash(text) {\n let num;\n let result = \"\";\n let integer = bitwise(text);\n const sign = integer < 0 ? \"Z\" : \"\";\n integer = Math.abs(integer);\n while (integer >= binary) {\n num = integer % binary;\n integer = Math.floor(integer / binary);\n result = dictionary[num] + result;\n }\n if (integer > 0) {\n result = dictionary[integer] + result;\n }\n return sign + result;\n}\nexport {\n shorthash\n};\n","function isAstroComponentFactory(obj) {\n return obj == null ? false : obj.isAstroComponentFactory === true;\n}\nfunction isAPropagatingComponent(result, factory) {\n let hint = factory.propagation || \"none\";\n if (factory.moduleId && result.componentMetadata.has(factory.moduleId) && hint === \"none\") {\n hint = result.componentMetadata.get(factory.moduleId).propagation;\n }\n return hint === \"in-tree\" || hint === \"self\";\n}\nexport {\n isAPropagatingComponent,\n isAstroComponentFactory\n};\n","const headAndContentSym = Symbol.for(\"astro.headAndContent\");\nfunction isHeadAndContent(obj) {\n return typeof obj === \"object\" && !!obj[headAndContentSym];\n}\nfunction createHeadAndContent(head, content) {\n return {\n [headAndContentSym]: true,\n head,\n content\n };\n}\nexport {\n createHeadAndContent,\n isHeadAndContent\n};\n","var astro_island_prebuilt_dev_default = `(()=>{var A=Object.defineProperty;var g=(i,o,a)=>o in i?A(i,o,{enumerable:!0,configurable:!0,writable:!0,value:a}):i[o]=a;var l=(i,o,a)=>g(i,typeof o!=\"symbol\"?o+\"\":o,a);{let i={0:t=>y(t),1:t=>a(t),2:t=>new RegExp(t),3:t=>new Date(t),4:t=>new Map(a(t)),5:t=>new Set(a(t)),6:t=>BigInt(t),7:t=>new URL(t),8:t=>new Uint8Array(t),9:t=>new Uint16Array(t),10:t=>new Uint32Array(t)},o=t=>{let[h,e]=t;return h in i?i[h](e):void 0},a=t=>t.map(o),y=t=>typeof t!=\"object\"||t===null?t:Object.fromEntries(Object.entries(t).map(([h,e])=>[h,o(e)]));class f extends HTMLElement{constructor(){super(...arguments);l(this,\"Component\");l(this,\"hydrator\");l(this,\"hydrate\",async()=>{var b;if(!this.hydrator||!this.isConnected)return;let e=(b=this.parentElement)==null?void 0:b.closest(\"astro-island[ssr]\");if(e){e.addEventListener(\"astro:hydrate\",this.hydrate,{once:!0});return}let c=this.querySelectorAll(\"astro-slot\"),n={},p=this.querySelectorAll(\"template[data-astro-template]\");for(let r of p){let s=r.closest(this.tagName);s!=null&&s.isSameNode(this)&&(n[r.getAttribute(\"data-astro-template\")||\"default\"]=r.innerHTML,r.remove())}for(let r of c){let s=r.closest(this.tagName);s!=null&&s.isSameNode(this)&&(n[r.getAttribute(\"name\")||\"default\"]=r.innerHTML)}let u;try{u=this.hasAttribute(\"props\")?y(JSON.parse(this.getAttribute(\"props\"))):{}}catch(r){let s=this.getAttribute(\"component-url\")||\"\",v=this.getAttribute(\"component-export\");throw v&&(s+=\\` (export \\${v})\\`),console.error(\\`[hydrate] Error parsing props for component \\${s}\\`,this.getAttribute(\"props\"),r),r}let d,m=this.hydrator(this);d=performance.now(),await m(this.Component,u,n,{client:this.getAttribute(\"client\")}),d&&this.setAttribute(\"client-render-time\",(performance.now()-d).toString()),this.removeAttribute(\"ssr\"),this.dispatchEvent(new CustomEvent(\"astro:hydrate\"))});l(this,\"unmount\",()=>{this.isConnected||this.dispatchEvent(new CustomEvent(\"astro:unmount\"))})}disconnectedCallback(){document.removeEventListener(\"astro:after-swap\",this.unmount),document.addEventListener(\"astro:after-swap\",this.unmount,{once:!0})}connectedCallback(){if(!this.hasAttribute(\"await-children\")||document.readyState===\"interactive\"||document.readyState===\"complete\")this.childrenConnectedCallback();else{let e=()=>{document.removeEventListener(\"DOMContentLoaded\",e),c.disconnect(),this.childrenConnectedCallback()},c=new MutationObserver(()=>{var n;((n=this.lastChild)==null?void 0:n.nodeType)===Node.COMMENT_NODE&&this.lastChild.nodeValue===\"astro:end\"&&(this.lastChild.remove(),e())});c.observe(this,{childList:!0}),document.addEventListener(\"DOMContentLoaded\",e)}}async childrenConnectedCallback(){let e=this.getAttribute(\"before-hydration-url\");e&&await import(e),this.start()}async start(){let e=JSON.parse(this.getAttribute(\"opts\")),c=this.getAttribute(\"client\");if(Astro[c]===void 0){window.addEventListener(\\`astro:\\${c}\\`,()=>this.start(),{once:!0});return}try{await Astro[c](async()=>{let n=this.getAttribute(\"renderer-url\"),[p,{default:u}]=await Promise.all([import(this.getAttribute(\"component-url\")),n?import(n):()=>()=>{}]),d=this.getAttribute(\"component-export\")||\"default\";if(!d.includes(\".\"))this.Component=p[d];else{this.Component=p;for(let m of d.split(\".\"))this.Component=this.Component[m]}return this.hydrator=u,this.hydrate},e,this)}catch(n){console.error(\\`[astro-island] Error hydrating \\${this.getAttribute(\"component-url\")}\\`,n)}}attributeChangedCallback(){this.hydrate()}}l(f,\"observedAttributes\",[\"props\"]),customElements.get(\"astro-island\")||customElements.define(\"astro-island\",f)}})();`;\nexport {\n astro_island_prebuilt_dev_default as default\n};\n","var astro_island_prebuilt_default = `(()=>{var A=Object.defineProperty;var g=(i,o,a)=>o in i?A(i,o,{enumerable:!0,configurable:!0,writable:!0,value:a}):i[o]=a;var d=(i,o,a)=>g(i,typeof o!=\"symbol\"?o+\"\":o,a);{let i={0:t=>m(t),1:t=>a(t),2:t=>new RegExp(t),3:t=>new Date(t),4:t=>new Map(a(t)),5:t=>new Set(a(t)),6:t=>BigInt(t),7:t=>new URL(t),8:t=>new Uint8Array(t),9:t=>new Uint16Array(t),10:t=>new Uint32Array(t)},o=t=>{let[l,e]=t;return l in i?i[l](e):void 0},a=t=>t.map(o),m=t=>typeof t!=\"object\"||t===null?t:Object.fromEntries(Object.entries(t).map(([l,e])=>[l,o(e)]));class y extends HTMLElement{constructor(){super(...arguments);d(this,\"Component\");d(this,\"hydrator\");d(this,\"hydrate\",async()=>{var b;if(!this.hydrator||!this.isConnected)return;let e=(b=this.parentElement)==null?void 0:b.closest(\"astro-island[ssr]\");if(e){e.addEventListener(\"astro:hydrate\",this.hydrate,{once:!0});return}let c=this.querySelectorAll(\"astro-slot\"),n={},h=this.querySelectorAll(\"template[data-astro-template]\");for(let r of h){let s=r.closest(this.tagName);s!=null&&s.isSameNode(this)&&(n[r.getAttribute(\"data-astro-template\")||\"default\"]=r.innerHTML,r.remove())}for(let r of c){let s=r.closest(this.tagName);s!=null&&s.isSameNode(this)&&(n[r.getAttribute(\"name\")||\"default\"]=r.innerHTML)}let p;try{p=this.hasAttribute(\"props\")?m(JSON.parse(this.getAttribute(\"props\"))):{}}catch(r){let s=this.getAttribute(\"component-url\")||\"\",v=this.getAttribute(\"component-export\");throw v&&(s+=\\` (export \\${v})\\`),console.error(\\`[hydrate] Error parsing props for component \\${s}\\`,this.getAttribute(\"props\"),r),r}let u;await this.hydrator(this)(this.Component,p,n,{client:this.getAttribute(\"client\")}),this.removeAttribute(\"ssr\"),this.dispatchEvent(new CustomEvent(\"astro:hydrate\"))});d(this,\"unmount\",()=>{this.isConnected||this.dispatchEvent(new CustomEvent(\"astro:unmount\"))})}disconnectedCallback(){document.removeEventListener(\"astro:after-swap\",this.unmount),document.addEventListener(\"astro:after-swap\",this.unmount,{once:!0})}connectedCallback(){if(!this.hasAttribute(\"await-children\")||document.readyState===\"interactive\"||document.readyState===\"complete\")this.childrenConnectedCallback();else{let e=()=>{document.removeEventListener(\"DOMContentLoaded\",e),c.disconnect(),this.childrenConnectedCallback()},c=new MutationObserver(()=>{var n;((n=this.lastChild)==null?void 0:n.nodeType)===Node.COMMENT_NODE&&this.lastChild.nodeValue===\"astro:end\"&&(this.lastChild.remove(),e())});c.observe(this,{childList:!0}),document.addEventListener(\"DOMContentLoaded\",e)}}async childrenConnectedCallback(){let e=this.getAttribute(\"before-hydration-url\");e&&await import(e),this.start()}async start(){let e=JSON.parse(this.getAttribute(\"opts\")),c=this.getAttribute(\"client\");if(Astro[c]===void 0){window.addEventListener(\\`astro:\\${c}\\`,()=>this.start(),{once:!0});return}try{await Astro[c](async()=>{let n=this.getAttribute(\"renderer-url\"),[h,{default:p}]=await Promise.all([import(this.getAttribute(\"component-url\")),n?import(n):()=>()=>{}]),u=this.getAttribute(\"component-export\")||\"default\";if(!u.includes(\".\"))this.Component=h[u];else{this.Component=h;for(let f of u.split(\".\"))this.Component=this.Component[f]}return this.hydrator=p,this.hydrate},e,this)}catch(n){console.error(\\`[astro-island] Error hydrating \\${this.getAttribute(\"component-url\")}\\`,n)}}attributeChangedCallback(){this.hydrate()}}d(y,\"observedAttributes\",[\"props\"]),customElements.get(\"astro-island\")||customElements.define(\"astro-island\",y)}})();`;\nexport {\n astro_island_prebuilt_default as default\n};\n","import islandScriptDev from \"./astro-island.prebuilt-dev.js\";\nimport islandScript from \"./astro-island.prebuilt.js\";\nconst ISLAND_STYLES = ``;\nfunction determineIfNeedsHydrationScript(result) {\n if (result._metadata.hasHydrationScript) {\n return false;\n }\n return result._metadata.hasHydrationScript = true;\n}\nfunction determinesIfNeedsDirectiveScript(result, directive) {\n if (result._metadata.hasDirectives.has(directive)) {\n return false;\n }\n result._metadata.hasDirectives.add(directive);\n return true;\n}\nfunction getDirectiveScriptText(result, directive) {\n const clientDirectives = result.clientDirectives;\n const clientDirective = clientDirectives.get(directive);\n if (!clientDirective) {\n throw new Error(`Unknown directive: ${directive}`);\n }\n return clientDirective;\n}\nfunction getPrescripts(result, type, directive) {\n switch (type) {\n case \"both\":\n return `${ISLAND_STYLES}`;\n case \"directive\":\n return ``;\n case null:\n break;\n }\n return \"\";\n}\nexport {\n determineIfNeedsHydrationScript,\n determinesIfNeedsDirectiveScript,\n getPrescripts\n};\n","import { clsx } from \"clsx\";\nimport { HTMLString, markHTMLString } from \"../escape.js\";\nconst voidElementNames = /^(area|base|br|col|command|embed|hr|img|input|keygen|link|meta|param|source|track|wbr)$/i;\nconst htmlBooleanAttributes = /^(?:allowfullscreen|async|autofocus|autoplay|controls|default|defer|disabled|disablepictureinpicture|disableremoteplayback|formnovalidate|hidden|loop|nomodule|novalidate|open|playsinline|readonly|required|reversed|scoped|seamless|itemscope)$/i;\nconst htmlEnumAttributes = /^(?:contenteditable|draggable|spellcheck|value)$/i;\nconst svgEnumAttributes = /^(?:autoReverse|externalResourcesRequired|focusable|preserveAlpha)$/i;\nconst AMPERSAND_REGEX = /&/g;\nconst DOUBLE_QUOTE_REGEX = /\"/g;\nconst STATIC_DIRECTIVES = /* @__PURE__ */ new Set([\"set:html\", \"set:text\"]);\nconst toIdent = (k) => k.trim().replace(/(?!^)\\b\\w|\\s+|\\W+/g, (match, index) => {\n if (/\\W/.test(match)) return \"\";\n return index === 0 ? match : match.toUpperCase();\n});\nconst toAttributeString = (value, shouldEscape = true) => shouldEscape ? String(value).replace(AMPERSAND_REGEX, \"&\").replace(DOUBLE_QUOTE_REGEX, \""\") : value;\nconst kebab = (k) => k.toLowerCase() === k ? k : k.replace(/[A-Z]/g, (match) => `-${match.toLowerCase()}`);\nconst toStyleString = (obj) => Object.entries(obj).filter(([_, v]) => typeof v === \"string\" && v.trim() || typeof v === \"number\").map(([k, v]) => {\n if (k[0] !== \"-\" && k[1] !== \"-\") return `${kebab(k)}:${v}`;\n return `${k}:${v}`;\n}).join(\";\");\nfunction defineScriptVars(vars) {\n let output = \"\";\n for (const [key, value] of Object.entries(vars)) {\n output += `const ${toIdent(key)} = ${JSON.stringify(value)?.replace(\n /<\\/script>/g,\n \"\\\\x3C/script>\"\n )};\n`;\n }\n return markHTMLString(output);\n}\nfunction formatList(values) {\n if (values.length === 1) {\n return values[0];\n }\n return `${values.slice(0, -1).join(\", \")} or ${values[values.length - 1]}`;\n}\nfunction addAttribute(value, key, shouldEscape = true) {\n if (value == null) {\n return \"\";\n }\n if (value === false) {\n if (htmlEnumAttributes.test(key) || svgEnumAttributes.test(key)) {\n return markHTMLString(` ${key}=\"false\"`);\n }\n return \"\";\n }\n if (STATIC_DIRECTIVES.has(key)) {\n console.warn(`[astro] The \"${key}\" directive cannot be applied dynamically at runtime. It will not be rendered as an attribute.\n\nMake sure to use the static attribute syntax (\\`${key}={value}\\`) instead of the dynamic spread syntax (\\`{...{ \"${key}\": value }}\\`).`);\n return \"\";\n }\n if (key === \"class:list\") {\n const listValue = toAttributeString(clsx(value), shouldEscape);\n if (listValue === \"\") {\n return \"\";\n }\n return markHTMLString(` ${key.slice(0, -5)}=\"${listValue}\"`);\n }\n if (key === \"style\" && !(value instanceof HTMLString)) {\n if (Array.isArray(value) && value.length === 2) {\n return markHTMLString(\n ` ${key}=\"${toAttributeString(`${toStyleString(value[0])};${value[1]}`, shouldEscape)}\"`\n );\n }\n if (typeof value === \"object\") {\n return markHTMLString(` ${key}=\"${toAttributeString(toStyleString(value), shouldEscape)}\"`);\n }\n }\n if (key === \"className\") {\n return markHTMLString(` class=\"${toAttributeString(value, shouldEscape)}\"`);\n }\n if (typeof value === \"string\" && value.includes(\"&\") && isHttpUrl(value)) {\n return markHTMLString(` ${key}=\"${toAttributeString(value, false)}\"`);\n }\n if (value === true && (key.startsWith(\"data-\") || htmlBooleanAttributes.test(key))) {\n return markHTMLString(` ${key}`);\n } else {\n return markHTMLString(` ${key}=\"${toAttributeString(value, shouldEscape)}\"`);\n }\n}\nfunction internalSpreadAttributes(values, shouldEscape = true) {\n let output = \"\";\n for (const [key, value] of Object.entries(values)) {\n output += addAttribute(value, key, shouldEscape);\n }\n return markHTMLString(output);\n}\nfunction renderElement(name, { props: _props, children = \"\" }, shouldEscape = true) {\n const { lang: _, \"data-astro-id\": astroId, \"define:vars\": defineVars, ...props } = _props;\n if (defineVars) {\n if (name === \"style\") {\n delete props[\"is:global\"];\n delete props[\"is:scoped\"];\n }\n if (name === \"script\") {\n delete props.hoist;\n children = defineScriptVars(defineVars) + \"\\n\" + children;\n }\n }\n if ((children == null || children == \"\") && voidElementNames.test(name)) {\n return `<${name}${internalSpreadAttributes(props, shouldEscape)}>`;\n }\n return `<${name}${internalSpreadAttributes(props, shouldEscape)}>${children}`;\n}\nconst noop = () => {\n};\nclass BufferedRenderer {\n chunks = [];\n renderPromise;\n destination;\n constructor(bufferRenderFunction) {\n this.renderPromise = bufferRenderFunction(this);\n Promise.resolve(this.renderPromise).catch(noop);\n }\n write(chunk) {\n if (this.destination) {\n this.destination.write(chunk);\n } else {\n this.chunks.push(chunk);\n }\n }\n async renderToFinalDestination(destination) {\n for (const chunk of this.chunks) {\n destination.write(chunk);\n }\n this.destination = destination;\n await this.renderPromise;\n }\n}\nfunction renderToBufferDestination(bufferRenderFunction) {\n const renderer = new BufferedRenderer(bufferRenderFunction);\n return renderer;\n}\nconst isNode = typeof process !== \"undefined\" && Object.prototype.toString.call(process) === \"[object process]\";\nconst isDeno = typeof Deno !== \"undefined\";\nfunction promiseWithResolvers() {\n let resolve, reject;\n const promise = new Promise((_resolve, _reject) => {\n resolve = _resolve;\n reject = _reject;\n });\n return {\n promise,\n resolve,\n reject\n };\n}\nconst VALID_PROTOCOLS = [\"http:\", \"https:\"];\nfunction isHttpUrl(url) {\n try {\n const parsedUrl = new URL(url);\n return VALID_PROTOCOLS.includes(parsedUrl.protocol);\n } catch {\n return false;\n }\n}\nexport {\n addAttribute,\n defineScriptVars,\n formatList,\n internalSpreadAttributes,\n isDeno,\n isNode,\n promiseWithResolvers,\n renderElement,\n renderToBufferDestination,\n toAttributeString,\n voidElementNames\n};\n","import { markHTMLString } from \"../escape.js\";\nimport { createRenderInstruction } from \"./instruction.js\";\nimport { renderElement } from \"./util.js\";\nconst uniqueElements = (item, index, all) => {\n const props = JSON.stringify(item.props);\n const children = item.children;\n return index === all.findIndex((i) => JSON.stringify(i.props) === props && i.children == children);\n};\nfunction renderAllHeadContent(result) {\n result._metadata.hasRenderedHead = true;\n const styles = Array.from(result.styles).filter(uniqueElements).map(\n (style) => style.props.rel === \"stylesheet\" ? renderElement(\"link\", style) : renderElement(\"style\", style)\n );\n result.styles.clear();\n const scripts = Array.from(result.scripts).filter(uniqueElements).map((script) => {\n return renderElement(\"script\", script, false);\n });\n const links = Array.from(result.links).filter(uniqueElements).map((link) => renderElement(\"link\", link, false));\n let content = styles.join(\"\\n\") + links.join(\"\\n\") + scripts.join(\"\\n\");\n if (result._metadata.extraHead.length > 0) {\n for (const part of result._metadata.extraHead) {\n content += part;\n }\n }\n return markHTMLString(content);\n}\nfunction renderHead() {\n return createRenderInstruction({ type: \"head\" });\n}\nfunction maybeRenderHead() {\n return createRenderInstruction({ type: \"maybe-head\" });\n}\nexport {\n maybeRenderHead,\n renderAllHeadContent,\n renderHead\n};\n","import { markHTMLString } from \"../../escape.js\";\nimport { isPromise } from \"../../util.js\";\nimport { renderChild } from \"../any.js\";\nimport { renderToBufferDestination } from \"../util.js\";\nconst renderTemplateResultSym = Symbol.for(\"astro.renderTemplateResult\");\nclass RenderTemplateResult {\n [renderTemplateResultSym] = true;\n htmlParts;\n expressions;\n error;\n constructor(htmlParts, expressions) {\n this.htmlParts = htmlParts;\n this.error = void 0;\n this.expressions = expressions.map((expression) => {\n if (isPromise(expression)) {\n return Promise.resolve(expression).catch((err) => {\n if (!this.error) {\n this.error = err;\n throw err;\n }\n });\n }\n return expression;\n });\n }\n async render(destination) {\n const expRenders = this.expressions.map((exp) => {\n return renderToBufferDestination((bufferDestination) => {\n if (exp || exp === 0) {\n return renderChild(bufferDestination, exp);\n }\n });\n });\n for (let i = 0; i < this.htmlParts.length; i++) {\n const html = this.htmlParts[i];\n const expRender = expRenders[i];\n destination.write(markHTMLString(html));\n if (expRender) {\n await expRender.renderToFinalDestination(destination);\n }\n }\n }\n}\nfunction isRenderTemplateResult(obj) {\n return typeof obj === \"object\" && !!obj[renderTemplateResultSym];\n}\nfunction renderTemplate(htmlParts, ...expressions) {\n return new RenderTemplateResult(htmlParts, expressions);\n}\nexport {\n RenderTemplateResult,\n isRenderTemplateResult,\n renderTemplate\n};\n","import { renderTemplate } from \"./astro/render-template.js\";\nimport { HTMLString, markHTMLString, unescapeHTML } from \"../escape.js\";\nimport { renderChild } from \"./any.js\";\nimport { chunkToString } from \"./common.js\";\nconst slotString = Symbol.for(\"astro:slot-string\");\nclass SlotString extends HTMLString {\n instructions;\n [slotString];\n constructor(content, instructions) {\n super(content);\n this.instructions = instructions;\n this[slotString] = true;\n }\n}\nfunction isSlotString(str) {\n return !!str[slotString];\n}\nfunction renderSlot(result, slotted, fallback) {\n if (!slotted && fallback) {\n return renderSlot(result, fallback);\n }\n return {\n async render(destination) {\n await renderChild(destination, typeof slotted === \"function\" ? slotted(result) : slotted);\n }\n };\n}\nasync function renderSlotToString(result, slotted, fallback) {\n let content = \"\";\n let instructions = null;\n const temporaryDestination = {\n write(chunk) {\n if (chunk instanceof SlotString) {\n content += chunk;\n if (chunk.instructions) {\n instructions ??= [];\n instructions.push(...chunk.instructions);\n }\n } else if (chunk instanceof Response) return;\n else if (typeof chunk === \"object\" && \"type\" in chunk && typeof chunk.type === \"string\") {\n if (instructions === null) {\n instructions = [];\n }\n instructions.push(chunk);\n } else {\n content += chunkToString(result, chunk);\n }\n }\n };\n const renderInstance = renderSlot(result, slotted, fallback);\n await renderInstance.render(temporaryDestination);\n return markHTMLString(new SlotString(content, instructions));\n}\nasync function renderSlots(result, slots = {}) {\n let slotInstructions = null;\n let children = {};\n if (slots) {\n await Promise.all(\n Object.entries(slots).map(\n ([key, value]) => renderSlotToString(result, value).then((output) => {\n if (output.instructions) {\n if (slotInstructions === null) {\n slotInstructions = [];\n }\n slotInstructions.push(...output.instructions);\n }\n children[key] = output;\n })\n )\n );\n }\n return { slotInstructions, children };\n}\nfunction createSlotValueFromString(content) {\n return function() {\n return renderTemplate`${unescapeHTML(content)}`;\n };\n}\nexport {\n SlotString,\n createSlotValueFromString,\n isSlotString,\n renderSlot,\n renderSlotToString,\n renderSlots\n};\n","import { markHTMLString } from \"../escape.js\";\nimport {\n determineIfNeedsHydrationScript,\n determinesIfNeedsDirectiveScript,\n getPrescripts\n} from \"../scripts.js\";\nimport { renderAllHeadContent } from \"./head.js\";\nimport { isRenderInstruction } from \"./instruction.js\";\nimport { isSlotString } from \"./slot.js\";\nconst Fragment = Symbol.for(\"astro:fragment\");\nconst Renderer = Symbol.for(\"astro:renderer\");\nconst encoder = new TextEncoder();\nconst decoder = new TextDecoder();\nfunction stringifyChunk(result, chunk) {\n if (isRenderInstruction(chunk)) {\n const instruction = chunk;\n switch (instruction.type) {\n case \"directive\": {\n const { hydration } = instruction;\n let needsHydrationScript = hydration && determineIfNeedsHydrationScript(result);\n let needsDirectiveScript = hydration && determinesIfNeedsDirectiveScript(result, hydration.directive);\n let prescriptType = needsHydrationScript ? \"both\" : needsDirectiveScript ? \"directive\" : null;\n if (prescriptType) {\n let prescripts = getPrescripts(result, prescriptType, hydration.directive);\n return markHTMLString(prescripts);\n } else {\n return \"\";\n }\n }\n case \"head\": {\n if (result._metadata.hasRenderedHead || result.partial) {\n return \"\";\n }\n return renderAllHeadContent(result);\n }\n case \"maybe-head\": {\n if (result._metadata.hasRenderedHead || result._metadata.headInTree || result.partial) {\n return \"\";\n }\n return renderAllHeadContent(result);\n }\n case \"renderer-hydration-script\": {\n const { rendererSpecificHydrationScripts } = result._metadata;\n const { rendererName } = instruction;\n if (!rendererSpecificHydrationScripts.has(rendererName)) {\n rendererSpecificHydrationScripts.add(rendererName);\n return instruction.render();\n }\n return \"\";\n }\n default: {\n throw new Error(`Unknown chunk type: ${chunk.type}`);\n }\n }\n } else if (chunk instanceof Response) {\n return \"\";\n } else if (isSlotString(chunk)) {\n let out = \"\";\n const c = chunk;\n if (c.instructions) {\n for (const instr of c.instructions) {\n out += stringifyChunk(result, instr);\n }\n }\n out += chunk.toString();\n return out;\n }\n return chunk.toString();\n}\nfunction chunkToString(result, chunk) {\n if (ArrayBuffer.isView(chunk)) {\n return decoder.decode(chunk);\n } else {\n return stringifyChunk(result, chunk);\n }\n}\nfunction chunkToByteArray(result, chunk) {\n if (ArrayBuffer.isView(chunk)) {\n return chunk;\n } else {\n const stringified = stringifyChunk(result, chunk);\n return encoder.encode(stringified.toString());\n }\n}\nfunction isRenderInstance(obj) {\n return !!obj && typeof obj === \"object\" && \"render\" in obj && typeof obj.render === \"function\";\n}\nexport {\n Fragment,\n Renderer,\n chunkToByteArray,\n chunkToString,\n decoder,\n encoder,\n isRenderInstance\n};\n","import { escapeHTML, isHTMLString, markHTMLString } from \"../escape.js\";\nimport { isPromise } from \"../util.js\";\nimport { isAstroComponentInstance, isRenderTemplateResult } from \"./astro/index.js\";\nimport { isRenderInstance } from \"./common.js\";\nimport { SlotString } from \"./slot.js\";\nimport { renderToBufferDestination } from \"./util.js\";\nasync function renderChild(destination, child) {\n if (isPromise(child)) {\n child = await child;\n }\n if (child instanceof SlotString) {\n destination.write(child);\n } else if (isHTMLString(child)) {\n destination.write(child);\n } else if (Array.isArray(child)) {\n const childRenders = child.map((c) => {\n return renderToBufferDestination((bufferDestination) => {\n return renderChild(bufferDestination, c);\n });\n });\n for (const childRender of childRenders) {\n if (!childRender) continue;\n await childRender.renderToFinalDestination(destination);\n }\n } else if (typeof child === \"function\") {\n await renderChild(destination, child());\n } else if (typeof child === \"string\") {\n destination.write(markHTMLString(escapeHTML(child)));\n } else if (!child && child !== 0) {\n } else if (isRenderInstance(child)) {\n await child.render(destination);\n } else if (isRenderTemplateResult(child)) {\n await child.render(destination);\n } else if (isAstroComponentInstance(child)) {\n await child.render(destination);\n } else if (ArrayBuffer.isView(child)) {\n destination.write(child);\n } else if (typeof child === \"object\" && (Symbol.asyncIterator in child || Symbol.iterator in child)) {\n for await (const value of child) {\n await renderChild(destination, value);\n }\n } else {\n destination.write(child);\n }\n}\nexport {\n renderChild\n};\n","import { isPromise } from \"../../util.js\";\nimport { renderChild } from \"../any.js\";\nimport { isAPropagatingComponent } from \"./factory.js\";\nimport { isHeadAndContent } from \"./head-and-content.js\";\nconst astroComponentInstanceSym = Symbol.for(\"astro.componentInstance\");\nclass AstroComponentInstance {\n [astroComponentInstanceSym] = true;\n result;\n props;\n slotValues;\n factory;\n returnValue;\n constructor(result, props, slots, factory) {\n this.result = result;\n this.props = props;\n this.factory = factory;\n this.slotValues = {};\n for (const name in slots) {\n let didRender = false;\n let value = slots[name](result);\n this.slotValues[name] = () => {\n if (!didRender) {\n didRender = true;\n return value;\n }\n return slots[name](result);\n };\n }\n }\n async init(result) {\n if (this.returnValue !== void 0) return this.returnValue;\n this.returnValue = this.factory(result, this.props, this.slotValues);\n if (isPromise(this.returnValue)) {\n this.returnValue.then((resolved) => {\n this.returnValue = resolved;\n }).catch(() => {\n });\n }\n return this.returnValue;\n }\n async render(destination) {\n const returnValue = await this.init(this.result);\n if (isHeadAndContent(returnValue)) {\n await returnValue.content.render(destination);\n } else {\n await renderChild(destination, returnValue);\n }\n }\n}\nfunction validateComponentProps(props, displayName) {\n if (props != null) {\n for (const prop of Object.keys(props)) {\n if (prop.startsWith(\"client:\")) {\n console.warn(\n `You are attempting to render <${displayName} ${prop} />, but ${displayName} is an Astro component. Astro components do not render in the client and should not have a hydration directive. Please use a framework component for client rendering.`\n );\n }\n }\n }\n}\nfunction createAstroComponentInstance(result, displayName, factory, props, slots = {}) {\n validateComponentProps(props, displayName);\n const instance = new AstroComponentInstance(result, props, slots, factory);\n if (isAPropagatingComponent(result, factory)) {\n result._metadata.propagators.add(instance);\n }\n return instance;\n}\nfunction isAstroComponentInstance(obj) {\n return typeof obj === \"object\" && !!obj[astroComponentInstanceSym];\n}\nexport {\n AstroComponentInstance,\n createAstroComponentInstance,\n isAstroComponentInstance\n};\n","import { markHTMLString } from \"../escape.js\";\nimport { renderSlotToString } from \"./slot.js\";\nimport { toAttributeString } from \"./util.js\";\nfunction componentIsHTMLElement(Component) {\n return typeof HTMLElement !== \"undefined\" && HTMLElement.isPrototypeOf(Component);\n}\nasync function renderHTMLElement(result, constructor, props, slots) {\n const name = getHTMLElementName(constructor);\n let attrHTML = \"\";\n for (const attr in props) {\n attrHTML += ` ${attr}=\"${toAttributeString(await props[attr])}\"`;\n }\n return markHTMLString(\n `<${name}${attrHTML}>${await renderSlotToString(result, slots?.default)}`\n );\n}\nfunction getHTMLElementName(constructor) {\n const definedName = customElements.getName(constructor);\n if (definedName) return definedName;\n const assignedName = constructor.name.replace(/^HTML|Element$/g, \"\").replace(/[A-Z]/g, \"-$&\").toLowerCase().replace(/^-/, \"html-\");\n return assignedName;\n}\nexport {\n componentIsHTMLElement,\n renderHTMLElement\n};\n","import { decodeBase64, decodeHex, encodeBase64, encodeHexUpperCase } from \"@oslojs/encoding\";\nconst ALGORITHM = \"AES-GCM\";\nasync function createKey() {\n const key = await crypto.subtle.generateKey(\n {\n name: ALGORITHM,\n length: 256\n },\n true,\n [\"encrypt\", \"decrypt\"]\n );\n return key;\n}\nasync function importKey(bytes) {\n const key = await crypto.subtle.importKey(\"raw\", bytes, ALGORITHM, true, [\"encrypt\", \"decrypt\"]);\n return key;\n}\nasync function encodeKey(key) {\n const exported = await crypto.subtle.exportKey(\"raw\", key);\n const encodedKey = encodeBase64(new Uint8Array(exported));\n return encodedKey;\n}\nasync function decodeKey(encoded) {\n const bytes = decodeBase64(encoded);\n return crypto.subtle.importKey(\"raw\", bytes, ALGORITHM, true, [\"encrypt\", \"decrypt\"]);\n}\nconst encoder = new TextEncoder();\nconst decoder = new TextDecoder();\nconst IV_LENGTH = 24;\nasync function encryptString(key, raw) {\n const iv = crypto.getRandomValues(new Uint8Array(IV_LENGTH / 2));\n const data = encoder.encode(raw);\n const buffer = await crypto.subtle.encrypt(\n {\n name: ALGORITHM,\n iv\n },\n key,\n data\n );\n return encodeHexUpperCase(iv) + encodeBase64(new Uint8Array(buffer));\n}\nasync function decryptString(key, encoded) {\n const iv = decodeHex(encoded.slice(0, IV_LENGTH));\n const dataArray = decodeBase64(encoded.slice(IV_LENGTH));\n const decryptedBuffer = await crypto.subtle.decrypt(\n {\n name: ALGORITHM,\n iv\n },\n key,\n dataArray\n );\n const decryptedString = decoder.decode(decryptedBuffer);\n return decryptedString;\n}\nexport {\n createKey,\n decodeKey,\n decryptString,\n encodeKey,\n encryptString,\n importKey\n};\n","import { encryptString } from \"../../../core/encryption.js\";\nimport { renderChild } from \"./any.js\";\nimport { renderSlotToString } from \"./slot.js\";\nconst internalProps = /* @__PURE__ */ new Set([\n \"server:component-path\",\n \"server:component-export\",\n \"server:component-directive\",\n \"server:defer\"\n]);\nfunction containsServerDirective(props) {\n return \"server:component-directive\" in props;\n}\nfunction safeJsonStringify(obj) {\n return JSON.stringify(obj).replace(/\\u2028/g, \"\\\\u2028\").replace(/\\u2029/g, \"\\\\u2029\").replace(//g, \"\\\\u003e\").replace(/\\//g, \"\\\\u002f\");\n}\nfunction renderServerIsland(result, _displayName, props, slots) {\n return {\n async render(destination) {\n const componentPath = props[\"server:component-path\"];\n const componentExport = props[\"server:component-export\"];\n const componentId = result.serverIslandNameMap.get(componentPath);\n if (!componentId) {\n throw new Error(`Could not find server component name`);\n }\n for (const key2 of Object.keys(props)) {\n if (internalProps.has(key2)) {\n delete props[key2];\n }\n }\n destination.write(\"\");\n const renderedSlots = {};\n for (const name in slots) {\n if (name !== \"fallback\") {\n const content = await renderSlotToString(result, slots[name]);\n renderedSlots[name] = content.toString();\n } else {\n await renderChild(destination, slots.fallback(result));\n }\n }\n const key = await result.key;\n const propsEncrypted = await encryptString(key, JSON.stringify(props));\n const hostId = crypto.randomUUID();\n const slash = result.base.endsWith(\"/\") ? \"\" : \"/\";\n const serverIslandUrl = `${result.base}${slash}_server-islands/${componentId}${result.trailingSlash === \"always\" ? \"/\" : \"\"}`;\n destination.write(``);\n }\n };\n}\nexport {\n containsServerDirective,\n renderServerIsland\n};\n","import { createRenderInstruction } from \"./instruction.js\";\nimport { clsx } from \"clsx\";\nimport { AstroError, AstroErrorData } from \"../../../core/errors/index.js\";\nimport { markHTMLString } from \"../escape.js\";\nimport { extractDirectives, generateHydrateScript } from \"../hydration.js\";\nimport { serializeProps } from \"../serialize.js\";\nimport { shorthash } from \"../shorthash.js\";\nimport { isPromise } from \"../util.js\";\nimport { isAstroComponentFactory } from \"./astro/factory.js\";\nimport { renderTemplate } from \"./astro/index.js\";\nimport { createAstroComponentInstance } from \"./astro/instance.js\";\nimport {\n Fragment,\n Renderer,\n chunkToString\n} from \"./common.js\";\nimport { componentIsHTMLElement, renderHTMLElement } from \"./dom.js\";\nimport { maybeRenderHead } from \"./head.js\";\nimport { containsServerDirective, renderServerIsland } from \"./server-islands.js\";\nimport { renderSlotToString, renderSlots } from \"./slot.js\";\nimport { formatList, internalSpreadAttributes, renderElement, voidElementNames } from \"./util.js\";\nconst needsHeadRenderingSymbol = Symbol.for(\"astro.needsHeadRendering\");\nconst rendererAliases = /* @__PURE__ */ new Map([[\"solid\", \"solid-js\"]]);\nconst clientOnlyValues = /* @__PURE__ */ new Set([\"solid-js\", \"react\", \"preact\", \"vue\", \"svelte\", \"lit\"]);\nfunction guessRenderers(componentUrl) {\n const extname = componentUrl?.split(\".\").pop();\n switch (extname) {\n case \"svelte\":\n return [\"@astrojs/svelte\"];\n case \"vue\":\n return [\"@astrojs/vue\"];\n case \"jsx\":\n case \"tsx\":\n return [\"@astrojs/react\", \"@astrojs/preact\", \"@astrojs/solid-js\", \"@astrojs/vue (jsx)\"];\n default:\n return [\n \"@astrojs/react\",\n \"@astrojs/preact\",\n \"@astrojs/solid-js\",\n \"@astrojs/vue\",\n \"@astrojs/svelte\",\n \"@astrojs/lit\"\n ];\n }\n}\nfunction isFragmentComponent(Component) {\n return Component === Fragment;\n}\nfunction isHTMLComponent(Component) {\n return Component && Component[\"astro:html\"] === true;\n}\nconst ASTRO_SLOT_EXP = /<\\/?astro-slot\\b[^>]*>/g;\nconst ASTRO_STATIC_SLOT_EXP = /<\\/?astro-static-slot\\b[^>]*>/g;\nfunction removeStaticAstroSlot(html, supportsAstroStaticSlot = true) {\n const exp = supportsAstroStaticSlot ? ASTRO_STATIC_SLOT_EXP : ASTRO_SLOT_EXP;\n return html.replace(exp, \"\");\n}\nasync function renderFrameworkComponent(result, displayName, Component, _props, slots = {}) {\n if (!Component && \"client:only\" in _props === false) {\n throw new Error(\n `Unable to render ${displayName} because it is ${Component}!\nDid you forget to import the component or is it possible there is a typo?`\n );\n }\n const { renderers, clientDirectives } = result;\n const metadata = {\n astroStaticSlot: true,\n displayName\n };\n const { hydration, isPage, props, propsWithoutTransitionAttributes } = extractDirectives(\n _props,\n clientDirectives\n );\n let html = \"\";\n let attrs = void 0;\n if (hydration) {\n metadata.hydrate = hydration.directive;\n metadata.hydrateArgs = hydration.value;\n metadata.componentExport = hydration.componentExport;\n metadata.componentUrl = hydration.componentUrl;\n }\n const probableRendererNames = guessRenderers(metadata.componentUrl);\n const validRenderers = renderers.filter((r) => r.name !== \"astro:jsx\");\n const { children, slotInstructions } = await renderSlots(result, slots);\n let renderer;\n if (metadata.hydrate !== \"only\") {\n let isTagged = false;\n try {\n isTagged = Component && Component[Renderer];\n } catch {\n }\n if (isTagged) {\n const rendererName = Component[Renderer];\n renderer = renderers.find(({ name }) => name === rendererName);\n }\n if (!renderer) {\n let error;\n for (const r of renderers) {\n try {\n if (await r.ssr.check.call({ result }, Component, props, children)) {\n renderer = r;\n break;\n }\n } catch (e) {\n error ??= e;\n }\n }\n if (!renderer && error) {\n throw error;\n }\n }\n if (!renderer && typeof HTMLElement === \"function\" && componentIsHTMLElement(Component)) {\n const output = await renderHTMLElement(\n result,\n Component,\n _props,\n slots\n );\n return {\n render(destination) {\n destination.write(output);\n }\n };\n }\n } else {\n if (metadata.hydrateArgs) {\n const rendererName = rendererAliases.has(metadata.hydrateArgs) ? rendererAliases.get(metadata.hydrateArgs) : metadata.hydrateArgs;\n if (clientOnlyValues.has(rendererName)) {\n renderer = renderers.find(\n ({ name }) => name === `@astrojs/${rendererName}` || name === rendererName\n );\n }\n }\n if (!renderer && validRenderers.length === 1) {\n renderer = validRenderers[0];\n }\n if (!renderer) {\n const extname = metadata.componentUrl?.split(\".\").pop();\n renderer = renderers.find(({ name }) => name === `@astrojs/${extname}` || name === extname);\n }\n }\n let componentServerRenderEndTime;\n if (!renderer) {\n if (metadata.hydrate === \"only\") {\n const rendererName = rendererAliases.has(metadata.hydrateArgs) ? rendererAliases.get(metadata.hydrateArgs) : metadata.hydrateArgs;\n if (clientOnlyValues.has(rendererName)) {\n const plural = validRenderers.length > 1;\n throw new AstroError({\n ...AstroErrorData.NoMatchingRenderer,\n message: AstroErrorData.NoMatchingRenderer.message(\n metadata.displayName,\n metadata?.componentUrl?.split(\".\").pop(),\n plural,\n validRenderers.length\n ),\n hint: AstroErrorData.NoMatchingRenderer.hint(\n formatList(probableRendererNames.map((r) => \"`\" + r + \"`\"))\n )\n });\n } else {\n throw new AstroError({\n ...AstroErrorData.NoClientOnlyHint,\n message: AstroErrorData.NoClientOnlyHint.message(metadata.displayName),\n hint: AstroErrorData.NoClientOnlyHint.hint(\n probableRendererNames.map((r) => r.replace(\"@astrojs/\", \"\")).join(\"|\")\n )\n });\n }\n } else if (typeof Component !== \"string\") {\n const matchingRenderers = validRenderers.filter(\n (r) => probableRendererNames.includes(r.name)\n );\n const plural = validRenderers.length > 1;\n if (matchingRenderers.length === 0) {\n throw new AstroError({\n ...AstroErrorData.NoMatchingRenderer,\n message: AstroErrorData.NoMatchingRenderer.message(\n metadata.displayName,\n metadata?.componentUrl?.split(\".\").pop(),\n plural,\n validRenderers.length\n ),\n hint: AstroErrorData.NoMatchingRenderer.hint(\n formatList(probableRendererNames.map((r) => \"`\" + r + \"`\"))\n )\n });\n } else if (matchingRenderers.length === 1) {\n renderer = matchingRenderers[0];\n ({ html, attrs } = await renderer.ssr.renderToStaticMarkup.call(\n { result },\n Component,\n propsWithoutTransitionAttributes,\n children,\n metadata\n ));\n } else {\n throw new Error(`Unable to render ${metadata.displayName}!\n\nThis component likely uses ${formatList(probableRendererNames)},\nbut Astro encountered an error during server-side rendering.\n\nPlease ensure that ${metadata.displayName}:\n1. Does not unconditionally access browser-specific globals like \\`window\\` or \\`document\\`.\n If this is unavoidable, use the \\`client:only\\` hydration directive.\n2. Does not conditionally return \\`null\\` or \\`undefined\\` when rendered on the server.\n\nIf you're still stuck, please open an issue on GitHub or join us at https://astro.build/chat.`);\n }\n }\n } else {\n if (metadata.hydrate === \"only\") {\n const rendererName = rendererAliases.has(metadata.hydrateArgs) ? rendererAliases.get(metadata.hydrateArgs) : metadata.hydrateArgs;\n if (!clientOnlyValues.has(rendererName)) {\n console.warn(\n `The client:only directive for ${metadata.displayName} is not recognized. The renderer ${renderer.name} will be used. If you intended to use a different renderer, please provide a valid client:only directive.`\n );\n }\n html = await renderSlotToString(result, slots?.fallback);\n } else {\n const componentRenderStartTime = performance.now();\n ({ html, attrs } = await renderer.ssr.renderToStaticMarkup.call(\n { result },\n Component,\n propsWithoutTransitionAttributes,\n children,\n metadata\n ));\n if (process.env.NODE_ENV === \"development\")\n componentServerRenderEndTime = performance.now() - componentRenderStartTime;\n }\n }\n if (renderer && !renderer.clientEntrypoint && renderer.name !== \"@astrojs/lit\" && metadata.hydrate) {\n throw new AstroError({\n ...AstroErrorData.NoClientEntrypoint,\n message: AstroErrorData.NoClientEntrypoint.message(\n displayName,\n metadata.hydrate,\n renderer.name\n )\n });\n }\n if (!html && typeof Component === \"string\") {\n const Tag = sanitizeElementName(Component);\n const childSlots = Object.values(children).join(\"\");\n const renderTemplateResult = renderTemplate`<${Tag}${internalSpreadAttributes(\n props\n )}${markHTMLString(\n childSlots === \"\" && voidElementNames.test(Tag) ? `/>` : `>${childSlots}`\n )}`;\n html = \"\";\n const destination = {\n write(chunk) {\n if (chunk instanceof Response) return;\n html += chunkToString(result, chunk);\n }\n };\n await renderTemplateResult.render(destination);\n }\n if (!hydration) {\n return {\n render(destination) {\n if (slotInstructions) {\n for (const instruction of slotInstructions) {\n destination.write(instruction);\n }\n }\n if (isPage || renderer?.name === \"astro:jsx\") {\n destination.write(html);\n } else if (html && html.length > 0) {\n destination.write(\n markHTMLString(removeStaticAstroSlot(html, renderer?.ssr?.supportsAstroStaticSlot))\n );\n }\n }\n };\n }\n const astroId = shorthash(\n `\n${html}\n${serializeProps(\n props,\n metadata\n )}`\n );\n const island = await generateHydrateScript(\n { renderer, result, astroId, props, attrs },\n metadata\n );\n if (componentServerRenderEndTime && process.env.NODE_ENV === \"development\")\n island.props[\"server-render-time\"] = componentServerRenderEndTime;\n let unrenderedSlots = [];\n if (html) {\n if (Object.keys(children).length > 0) {\n for (const key of Object.keys(children)) {\n let tagName = renderer?.ssr?.supportsAstroStaticSlot ? !!metadata.hydrate ? \"astro-slot\" : \"astro-static-slot\" : \"astro-slot\";\n let expectedHTML = key === \"default\" ? `<${tagName}>` : `<${tagName} name=\"${key}\">`;\n if (!html.includes(expectedHTML)) {\n unrenderedSlots.push(key);\n }\n }\n }\n } else {\n unrenderedSlots = Object.keys(children);\n }\n const template = unrenderedSlots.length > 0 ? unrenderedSlots.map(\n (key) => ``\n ).join(\"\") : \"\";\n island.children = `${html ?? \"\"}${template}`;\n if (island.children) {\n island.props[\"await-children\"] = \"\";\n island.children += ``;\n }\n return {\n render(destination) {\n if (slotInstructions) {\n for (const instruction of slotInstructions) {\n destination.write(instruction);\n }\n }\n destination.write(createRenderInstruction({ type: \"directive\", hydration }));\n if (hydration.directive !== \"only\" && renderer?.ssr.renderHydrationScript) {\n destination.write(\n createRenderInstruction({\n type: \"renderer-hydration-script\",\n rendererName: renderer.name,\n render: renderer.ssr.renderHydrationScript\n })\n );\n }\n const renderedElement = renderElement(\"astro-island\", island, false);\n destination.write(markHTMLString(renderedElement));\n }\n };\n}\nfunction sanitizeElementName(tag) {\n const unsafe = /[&<>'\"\\s]+/;\n if (!unsafe.test(tag)) return tag;\n return tag.trim().split(unsafe)[0].trim();\n}\nasync function renderFragmentComponent(result, slots = {}) {\n const children = await renderSlotToString(result, slots?.default);\n return {\n render(destination) {\n if (children == null) return;\n destination.write(children);\n }\n };\n}\nasync function renderHTMLComponent(result, Component, _props, slots = {}) {\n const { slotInstructions, children } = await renderSlots(result, slots);\n const html = Component({ slots: children });\n const hydrationHtml = slotInstructions ? slotInstructions.map((instr) => chunkToString(result, instr)).join(\"\") : \"\";\n return {\n render(destination) {\n destination.write(markHTMLString(hydrationHtml + html));\n }\n };\n}\nfunction renderAstroComponent(result, displayName, Component, props, slots = {}) {\n if (containsServerDirective(props)) {\n return renderServerIsland(result, displayName, props, slots);\n }\n const instance = createAstroComponentInstance(result, displayName, Component, props, slots);\n return {\n async render(destination) {\n await instance.render(destination);\n }\n };\n}\nasync function renderComponent(result, displayName, Component, props, slots = {}) {\n if (isPromise(Component)) {\n Component = await Component.catch(handleCancellation);\n }\n if (isFragmentComponent(Component)) {\n return await renderFragmentComponent(result, slots).catch(handleCancellation);\n }\n props = normalizeProps(props);\n if (isHTMLComponent(Component)) {\n return await renderHTMLComponent(result, Component, props, slots).catch(handleCancellation);\n }\n if (isAstroComponentFactory(Component)) {\n return renderAstroComponent(result, displayName, Component, props, slots);\n }\n return await renderFrameworkComponent(result, displayName, Component, props, slots).catch(\n handleCancellation\n );\n function handleCancellation(e) {\n if (result.cancelled)\n return {\n render() {\n }\n };\n throw e;\n }\n}\nfunction normalizeProps(props) {\n if (props[\"class:list\"] !== void 0) {\n const value = props[\"class:list\"];\n delete props[\"class:list\"];\n props[\"class\"] = clsx(props[\"class\"], value);\n if (props[\"class\"] === \"\") {\n delete props[\"class\"];\n }\n }\n return props;\n}\nasync function renderComponentToString(result, displayName, Component, props, slots = {}, isPage = false, route) {\n let str = \"\";\n let renderedFirstPageChunk = false;\n let head = \"\";\n if (isPage && !result.partial && nonAstroPageNeedsHeadInjection(Component)) {\n head += chunkToString(result, maybeRenderHead());\n }\n try {\n const destination = {\n write(chunk) {\n if (isPage && !result.partial && !renderedFirstPageChunk) {\n renderedFirstPageChunk = true;\n if (!/\" : \"\\n\";\n str += doctype + head;\n }\n }\n if (chunk instanceof Response) return;\n str += chunkToString(result, chunk);\n }\n };\n const renderInstance = await renderComponent(result, displayName, Component, props, slots);\n await renderInstance.render(destination);\n } catch (e) {\n if (AstroError.is(e) && !e.loc) {\n e.setLocation({\n file: route?.component\n });\n }\n throw e;\n }\n return str;\n}\nfunction nonAstroPageNeedsHeadInjection(pageComponent) {\n return !!pageComponent?.[needsHeadRenderingSymbol];\n}\nexport {\n renderComponent,\n renderComponentToString\n};\n","import { markHTMLString } from \"../escape.js\";\nasync function renderScript(result, id) {\n if (result._metadata.renderedScripts.has(id)) return;\n result._metadata.renderedScripts.add(id);\n const inlined = result.inlinedScripts.get(id);\n if (inlined != null) {\n if (inlined) {\n return markHTMLString(``);\n } else {\n return \"\";\n }\n }\n const resolved = await result.resolve(id);\n return markHTMLString(``);\n}\nexport {\n renderScript\n};\n","import cssesc from \"cssesc\";\nimport { fade, slide } from \"../../transitions/index.js\";\nimport { markHTMLString } from \"./escape.js\";\nconst transitionNameMap = /* @__PURE__ */ new WeakMap();\nfunction incrementTransitionNumber(result) {\n let num = 1;\n if (transitionNameMap.has(result)) {\n num = transitionNameMap.get(result) + 1;\n }\n transitionNameMap.set(result, num);\n return num;\n}\nfunction createTransitionScope(result, hash) {\n const num = incrementTransitionNumber(result);\n return `astro-${hash}-${num}`;\n}\nconst getAnimations = (name) => {\n if (name === \"fade\") return fade();\n if (name === \"slide\") return slide();\n if (typeof name === \"object\") return name;\n};\nconst addPairs = (animations, stylesheet) => {\n for (const [direction, images] of Object.entries(animations)) {\n for (const [image, rules] of Object.entries(images)) {\n stylesheet.addAnimationPair(direction, image, rules);\n }\n }\n};\nconst reEncodeValidChars = \"0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ-_\".split(\"\").reduce((v, c) => (v[c.charCodeAt(0)] = c, v), []);\nconst reEncodeInValidStart = \"-0123456789_\".split(\"\").reduce((v, c) => (v[c.charCodeAt(0)] = c, v), []);\nfunction reEncode(s) {\n let result = \"\";\n let codepoint;\n for (let i = 0; i < s.length; i += (codepoint ?? 0) > 65535 ? 2 : 1) {\n codepoint = s.codePointAt(i);\n if (codepoint !== void 0) {\n result += codepoint < 128 ? codepoint === 95 ? \"__\" : reEncodeValidChars[codepoint] ?? \"_\" + codepoint.toString(16).padStart(2, \"0\") : String.fromCodePoint(codepoint);\n }\n }\n return reEncodeInValidStart[result.codePointAt(0) ?? 0] ? \"_\" + result : result;\n}\nfunction renderTransition(result, hash, animationName, transitionName) {\n if (typeof (transitionName ?? \"\") !== \"string\") {\n throw new Error(`Invalid transition name {${transitionName}}`);\n }\n if (!animationName) animationName = \"fade\";\n const scope = createTransitionScope(result, hash);\n const name = transitionName ? cssesc(reEncode(transitionName), { isIdentifier: true }) : scope;\n const sheet = new ViewTransitionStyleSheet(scope, name);\n const animations = getAnimations(animationName);\n if (animations) {\n addPairs(animations, sheet);\n } else if (animationName === \"none\") {\n sheet.addFallback(\"old\", \"animation: none; mix-blend-mode: normal;\");\n sheet.addModern(\"old\", \"animation: none; opacity: 0; mix-blend-mode: normal;\");\n sheet.addAnimationRaw(\"new\", \"animation: none; mix-blend-mode: normal;\");\n sheet.addModern(\"group\", \"animation: none\");\n }\n result._metadata.extraHead.push(markHTMLString(``));\n return scope;\n}\nfunction createAnimationScope(transitionName, animations) {\n const hash = Math.random().toString(36).slice(2, 8);\n const scope = `astro-${hash}`;\n const sheet = new ViewTransitionStyleSheet(scope, transitionName);\n addPairs(animations, sheet);\n return { scope, styles: sheet.toString().replaceAll('\"', \"\") };\n}\nclass ViewTransitionStyleSheet {\n constructor(scope, name) {\n this.scope = scope;\n this.name = name;\n }\n modern = [];\n fallback = [];\n toString() {\n const { scope, name } = this;\n const [modern, fallback] = [this.modern, this.fallback].map((rules) => rules.join(\"\"));\n return [\n `[data-astro-transition-scope=\"${scope}\"] { view-transition-name: ${name}; }`,\n this.layer(modern),\n fallback\n ].join(\"\");\n }\n layer(cssText) {\n return cssText ? `@layer astro { ${cssText} }` : \"\";\n }\n addRule(target, cssText) {\n this[target].push(cssText);\n }\n addAnimationRaw(image, animation) {\n this.addModern(image, animation);\n this.addFallback(image, animation);\n }\n addModern(image, animation) {\n const { name } = this;\n this.addRule(\"modern\", `::view-transition-${image}(${name}) { ${animation} }`);\n }\n addFallback(image, animation) {\n const { scope } = this;\n this.addRule(\n \"fallback\",\n // Two selectors here, the second in case there is an animation on the root.\n `[data-astro-transition-fallback=\"${image}\"] [data-astro-transition-scope=\"${scope}\"],\n\t\t\t[data-astro-transition-fallback=\"${image}\"][data-astro-transition-scope=\"${scope}\"] { ${animation} }`\n );\n }\n addAnimationPair(direction, image, rules) {\n const { scope, name } = this;\n const animation = stringifyAnimation(rules);\n const prefix = direction === \"backwards\" ? `[data-astro-transition=back]` : direction === \"forwards\" ? \"\" : `[data-astro-transition=${direction}]`;\n this.addRule(\"modern\", `${prefix}::view-transition-${image}(${name}) { ${animation} }`);\n this.addRule(\n \"fallback\",\n `${prefix}[data-astro-transition-fallback=\"${image}\"] [data-astro-transition-scope=\"${scope}\"],\n\t\t\t${prefix}[data-astro-transition-fallback=\"${image}\"][data-astro-transition-scope=\"${scope}\"] { ${animation} }`\n );\n }\n}\nfunction addAnimationProperty(builder, prop, value) {\n let arr = builder[prop];\n if (Array.isArray(arr)) {\n arr.push(value.toString());\n } else {\n builder[prop] = [value.toString()];\n }\n}\nfunction animationBuilder() {\n return {\n toString() {\n let out = \"\";\n for (let k in this) {\n let value = this[k];\n if (Array.isArray(value)) {\n out += `\n\t${k}: ${value.join(\", \")};`;\n }\n }\n return out;\n }\n };\n}\nfunction stringifyAnimation(anim) {\n if (Array.isArray(anim)) {\n return stringifyAnimations(anim);\n } else {\n return stringifyAnimations([anim]);\n }\n}\nfunction stringifyAnimations(anims) {\n const builder = animationBuilder();\n for (const anim of anims) {\n if (anim.duration) {\n addAnimationProperty(builder, \"animation-duration\", toTimeValue(anim.duration));\n }\n if (anim.easing) {\n addAnimationProperty(builder, \"animation-timing-function\", anim.easing);\n }\n if (anim.direction) {\n addAnimationProperty(builder, \"animation-direction\", anim.direction);\n }\n if (anim.delay) {\n addAnimationProperty(builder, \"animation-delay\", anim.delay);\n }\n if (anim.fillMode) {\n addAnimationProperty(builder, \"animation-fill-mode\", anim.fillMode);\n }\n addAnimationProperty(builder, \"animation-name\", anim.name);\n }\n return builder.toString();\n}\nfunction toTimeValue(num) {\n return typeof num === \"number\" ? num + \"ms\" : num;\n}\nexport {\n createAnimationScope,\n createTransitionScope,\n renderTransition\n};\n","import { createComponent } from \"./astro-component.js\";\nimport { createAstro } from \"./astro-global.js\";\nimport { renderEndpoint } from \"./endpoint.js\";\nimport {\n escapeHTML,\n HTMLBytes,\n HTMLString,\n isHTMLString,\n markHTMLString,\n unescapeHTML\n} from \"./escape.js\";\nimport { renderJSX } from \"./jsx.js\";\nimport {\n addAttribute,\n createHeadAndContent,\n defineScriptVars,\n Fragment,\n maybeRenderHead,\n renderTemplate,\n renderComponent,\n Renderer,\n renderHead,\n renderHTMLElement,\n renderPage,\n renderScript,\n renderScriptElement,\n renderSlot,\n renderSlotToString,\n renderTemplate as renderTemplate2,\n renderToString,\n renderUniqueStylesheet,\n voidElementNames\n} from \"./render/index.js\";\nimport { createTransitionScope, renderTransition } from \"./transition.js\";\nimport { markHTMLString as markHTMLString2 } from \"./escape.js\";\nimport { Renderer as Renderer2, addAttribute as addAttribute2 } from \"./render/index.js\";\nfunction mergeSlots(...slotted) {\n const slots = {};\n for (const slot of slotted) {\n if (!slot) continue;\n if (typeof slot === \"object\") {\n Object.assign(slots, slot);\n } else if (typeof slot === \"function\") {\n Object.assign(slots, mergeSlots(slot()));\n }\n }\n return slots;\n}\nfunction __astro_tag_component__(Component, rendererName) {\n if (!Component) return;\n if (typeof Component !== \"function\") return;\n Object.defineProperty(Component, Renderer2, {\n value: rendererName,\n enumerable: false,\n writable: false\n });\n}\nfunction spreadAttributes(values = {}, _name, { class: scopedClassName } = {}) {\n let output = \"\";\n if (scopedClassName) {\n if (typeof values.class !== \"undefined\") {\n values.class += ` ${scopedClassName}`;\n } else if (typeof values[\"class:list\"] !== \"undefined\") {\n values[\"class:list\"] = [values[\"class:list\"], scopedClassName];\n } else {\n values.class = scopedClassName;\n }\n }\n for (const [key, value] of Object.entries(values)) {\n output += addAttribute2(value, key, true);\n }\n return markHTMLString2(output);\n}\nfunction defineStyleVars(defs) {\n let output = \"\";\n let arr = !Array.isArray(defs) ? [defs] : defs;\n for (const vars of arr) {\n for (const [key, value] of Object.entries(vars)) {\n if (value || value === 0) {\n output += `--${key}: ${value};`;\n }\n }\n }\n return markHTMLString2(output);\n}\nexport {\n Fragment,\n HTMLBytes,\n HTMLString,\n Renderer,\n __astro_tag_component__,\n addAttribute,\n createAstro,\n createComponent,\n createHeadAndContent,\n createTransitionScope,\n defineScriptVars,\n defineStyleVars,\n escapeHTML,\n isHTMLString,\n markHTMLString,\n maybeRenderHead,\n mergeSlots,\n renderTemplate as render,\n renderComponent,\n renderEndpoint,\n renderHTMLElement,\n renderHead,\n renderJSX,\n renderPage,\n renderScript,\n renderScriptElement,\n renderSlot,\n renderSlotToString,\n renderTemplate2 as renderTemplate,\n renderToString,\n renderTransition,\n renderUniqueStylesheet,\n spreadAttributes,\n unescapeHTML,\n voidElementNames\n};\n"],"names":["AstroErrorData.InvalidComponentArgs","AstroErrorData.AstroGlobUsedOutside","AstroErrorData.AstroGlobNoMatch","AstroErrorData.MissingMediaQueryDirective","AstroErrorData.NoMatchingImport","islandScriptDev","islandScript","AstroErrorData.NoMatchingRenderer","AstroErrorData.NoClientOnlyHint","AstroErrorData.NoClientEntrypoint","addAttribute2","markHTMLString2"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31]} \ No newline at end of file diff --git a/Target/chunks/astro_CXrh3zCg.mjs.map b/Target/chunks/astro_CXrh3zCg.mjs.map new file mode 100644 index 00000000..3d54c3d3 --- /dev/null +++ b/Target/chunks/astro_CXrh3zCg.mjs.map @@ -0,0 +1 @@ +{"version":3,"file":"astro_CXrh3zCg.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;"} \ No newline at end of file diff --git a/Target/chunks/astro_CwgT-hI-.mjs.map b/Target/chunks/astro_CwgT-hI-.mjs.map deleted file mode 100644 index 452686a4..00000000 --- a/Target/chunks/astro_CwgT-hI-.mjs.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"astro_CwgT-hI-.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;"} \ No newline at end of file diff --git a/Target/index.html b/Target/index.html index 3971467b..f4f4ae71 100644 --- a/Target/index.html +++ b/Target/index.html @@ -1 +1 @@ -

\ No newline at end of file +
\ No newline at end of file diff --git a/Target/manifest_C-LRu95t.mjs.map b/Target/manifest_C-LRu95t.mjs.map new file mode 100644 index 00000000..e9a23d15 --- /dev/null +++ b/Target/manifest_C-LRu95t.mjs.map @@ -0,0 +1 @@ +{"version":3,"file":"manifest_C-LRu95t.mjs","sources":["../../../../../node_modules/astro/dist/actions/runtime/virtual/shared.js","../../../../../node_modules/astro/dist/core/routing/manifest/generator.js","../../../../../node_modules/astro/dist/core/routing/manifest/serialization.js","../../../../../node_modules/astro/dist/core/app/common.js"],"sourcesContent":["import { parse as devalueParse, stringify as devalueStringify } from \"devalue\";\nimport { REDIRECT_STATUS_CODES } from \"../../../core/constants.js\";\nimport { ActionsReturnedInvalidDataError } from \"../../../core/errors/errors-data.js\";\nimport { AstroError } from \"../../../core/errors/errors.js\";\nimport { ACTION_QUERY_PARAMS as _ACTION_QUERY_PARAMS } from \"../../consts.js\";\nconst ACTION_QUERY_PARAMS = _ACTION_QUERY_PARAMS;\nconst ACTION_ERROR_CODES = [\n \"BAD_REQUEST\",\n \"UNAUTHORIZED\",\n \"FORBIDDEN\",\n \"NOT_FOUND\",\n \"TIMEOUT\",\n \"CONFLICT\",\n \"PRECONDITION_FAILED\",\n \"PAYLOAD_TOO_LARGE\",\n \"UNSUPPORTED_MEDIA_TYPE\",\n \"UNPROCESSABLE_CONTENT\",\n \"TOO_MANY_REQUESTS\",\n \"CLIENT_CLOSED_REQUEST\",\n \"INTERNAL_SERVER_ERROR\"\n];\nconst codeToStatusMap = {\n // Implemented from tRPC error code table\n // https://trpc.io/docs/server/error-handling#error-codes\n BAD_REQUEST: 400,\n UNAUTHORIZED: 401,\n FORBIDDEN: 403,\n NOT_FOUND: 404,\n TIMEOUT: 405,\n CONFLICT: 409,\n PRECONDITION_FAILED: 412,\n PAYLOAD_TOO_LARGE: 413,\n UNSUPPORTED_MEDIA_TYPE: 415,\n UNPROCESSABLE_CONTENT: 422,\n TOO_MANY_REQUESTS: 429,\n CLIENT_CLOSED_REQUEST: 499,\n INTERNAL_SERVER_ERROR: 500\n};\nconst statusToCodeMap = Object.entries(codeToStatusMap).reduce(\n // reverse the key-value pairs\n (acc, [key, value]) => ({ ...acc, [value]: key }),\n {}\n);\nclass ActionError extends Error {\n type = \"AstroActionError\";\n code = \"INTERNAL_SERVER_ERROR\";\n status = 500;\n constructor(params) {\n super(params.message);\n this.code = params.code;\n this.status = ActionError.codeToStatus(params.code);\n if (params.stack) {\n this.stack = params.stack;\n }\n }\n static codeToStatus(code) {\n return codeToStatusMap[code];\n }\n static statusToCode(status) {\n return statusToCodeMap[status] ?? \"INTERNAL_SERVER_ERROR\";\n }\n static fromJson(body) {\n if (isInputError(body)) {\n return new ActionInputError(body.issues);\n }\n if (isActionError(body)) {\n return new ActionError(body);\n }\n return new ActionError({\n code: \"INTERNAL_SERVER_ERROR\"\n });\n }\n}\nfunction isActionError(error) {\n return typeof error === \"object\" && error != null && \"type\" in error && error.type === \"AstroActionError\";\n}\nfunction isInputError(error) {\n return typeof error === \"object\" && error != null && \"type\" in error && error.type === \"AstroActionInputError\" && \"issues\" in error && Array.isArray(error.issues);\n}\nclass ActionInputError extends ActionError {\n type = \"AstroActionInputError\";\n // We don't expose all ZodError properties.\n // Not all properties will serialize from server to client,\n // and we don't want to import the full ZodError object into the client.\n issues;\n fields;\n constructor(issues) {\n super({\n message: `Failed to validate: ${JSON.stringify(issues, null, 2)}`,\n code: \"BAD_REQUEST\"\n });\n this.issues = issues;\n this.fields = {};\n for (const issue of issues) {\n if (issue.path.length > 0) {\n const key = issue.path[0].toString();\n this.fields[key] ??= [];\n this.fields[key]?.push(issue.message);\n }\n }\n }\n}\nasync function callSafely(handler) {\n try {\n const data = await handler();\n return { data, error: void 0 };\n } catch (e) {\n if (e instanceof ActionError) {\n return { data: void 0, error: e };\n }\n return {\n data: void 0,\n error: new ActionError({\n message: e instanceof Error ? e.message : \"Unknown error\",\n code: \"INTERNAL_SERVER_ERROR\"\n })\n };\n }\n}\nfunction getActionQueryString(name) {\n const searchParams = new URLSearchParams({ [_ACTION_QUERY_PARAMS.actionName]: name });\n return `?${searchParams.toString()}`;\n}\nfunction serializeActionResult(res) {\n if (res.error) {\n if (import.meta.env?.DEV) {\n actionResultErrorStack.set(res.error.stack);\n }\n return {\n type: \"error\",\n status: res.error.status,\n contentType: \"application/json\",\n body: JSON.stringify({\n ...res.error,\n message: res.error.message\n })\n };\n }\n if (res.data === void 0) {\n return {\n type: \"empty\",\n status: 204\n };\n }\n let body;\n try {\n body = devalueStringify(res.data, {\n // Add support for URL objects\n URL: (value) => value instanceof URL && value.href\n });\n } catch (e) {\n let hint = ActionsReturnedInvalidDataError.hint;\n if (res.data instanceof Response) {\n hint = REDIRECT_STATUS_CODES.includes(res.data.status) ? \"If you need to redirect when the action succeeds, trigger a redirect where the action is called. See the Actions guide for server and client redirect examples: https://docs.astro.build/en/guides/actions.\" : \"If you need to return a Response object, try using a server endpoint instead. See https://docs.astro.build/en/guides/endpoints/#server-endpoints-api-routes\";\n }\n throw new AstroError({\n ...ActionsReturnedInvalidDataError,\n message: ActionsReturnedInvalidDataError.message(String(e)),\n hint\n });\n }\n return {\n type: \"data\",\n status: 200,\n contentType: \"application/json+devalue\",\n body\n };\n}\nfunction deserializeActionResult(res) {\n if (res.type === \"error\") {\n let json;\n try {\n json = JSON.parse(res.body);\n } catch {\n return {\n data: void 0,\n error: new ActionError({\n message: res.body,\n code: \"INTERNAL_SERVER_ERROR\"\n })\n };\n }\n if (import.meta.env?.PROD) {\n return { error: ActionError.fromJson(json), data: void 0 };\n } else {\n const error = ActionError.fromJson(json);\n error.stack = actionResultErrorStack.get();\n return {\n error,\n data: void 0\n };\n }\n }\n if (res.type === \"empty\") {\n return { data: void 0, error: void 0 };\n }\n return {\n data: devalueParse(res.body, {\n URL: (href) => new URL(href)\n }),\n error: void 0\n };\n}\nconst actionResultErrorStack = /* @__PURE__ */ function actionResultErrorStackFn() {\n let errorStack;\n return {\n set(stack) {\n errorStack = stack;\n },\n get() {\n return errorStack;\n }\n };\n}();\nexport {\n ACTION_ERROR_CODES,\n ACTION_QUERY_PARAMS,\n ActionError,\n ActionInputError,\n callSafely,\n deserializeActionResult,\n getActionQueryString,\n isActionError,\n isInputError,\n serializeActionResult\n};\n","import { compile } from \"path-to-regexp\";\nfunction sanitizeParams(params) {\n return Object.fromEntries(\n Object.entries(params).map(([key, value]) => {\n if (typeof value === \"string\") {\n return [key, value.normalize().replace(/#/g, \"%23\").replace(/\\?/g, \"%3F\")];\n }\n return [key, value];\n })\n );\n}\nfunction getRouteGenerator(segments, addTrailingSlash) {\n const template = segments.map((segment) => {\n return \"/\" + segment.map((part) => {\n if (part.spread) {\n return `:${part.content.slice(3)}(.*)?`;\n } else if (part.dynamic) {\n return `:${part.content}`;\n } else {\n return part.content.normalize().replace(/\\?/g, \"%3F\").replace(/#/g, \"%23\").replace(/%5B/g, \"[\").replace(/%5D/g, \"]\").replace(/[.*+?^${}()|[\\]\\\\]/g, \"\\\\$&\");\n }\n }).join(\"\");\n }).join(\"\");\n let trailing = \"\";\n if (addTrailingSlash === \"always\" && segments.length) {\n trailing = \"/\";\n }\n const toPath = compile(template + trailing);\n return (params) => {\n const sanitizedParams = sanitizeParams(params);\n const path = toPath(sanitizedParams);\n return path || \"/\";\n };\n}\nexport {\n getRouteGenerator\n};\n","import { getRouteGenerator } from \"./generator.js\";\nfunction serializeRouteData(routeData, trailingSlash) {\n return {\n ...routeData,\n generate: void 0,\n pattern: routeData.pattern.source,\n redirectRoute: routeData.redirectRoute ? serializeRouteData(routeData.redirectRoute, trailingSlash) : void 0,\n fallbackRoutes: routeData.fallbackRoutes.map((fallbackRoute) => {\n return serializeRouteData(fallbackRoute, trailingSlash);\n }),\n _meta: { trailingSlash }\n };\n}\nfunction deserializeRouteData(rawRouteData) {\n return {\n route: rawRouteData.route,\n type: rawRouteData.type,\n pattern: new RegExp(rawRouteData.pattern),\n params: rawRouteData.params,\n component: rawRouteData.component,\n generate: getRouteGenerator(rawRouteData.segments, rawRouteData._meta.trailingSlash),\n pathname: rawRouteData.pathname || void 0,\n segments: rawRouteData.segments,\n prerender: rawRouteData.prerender,\n redirect: rawRouteData.redirect,\n redirectRoute: rawRouteData.redirectRoute ? deserializeRouteData(rawRouteData.redirectRoute) : void 0,\n fallbackRoutes: rawRouteData.fallbackRoutes.map((fallback) => {\n return deserializeRouteData(fallback);\n }),\n isIndex: rawRouteData.isIndex\n };\n}\nexport {\n deserializeRouteData,\n serializeRouteData\n};\n","import { decodeKey } from \"../encryption.js\";\nimport { deserializeRouteData } from \"../routing/manifest/serialization.js\";\nfunction deserializeManifest(serializedManifest) {\n const routes = [];\n for (const serializedRoute of serializedManifest.routes) {\n routes.push({\n ...serializedRoute,\n routeData: deserializeRouteData(serializedRoute.routeData)\n });\n const route = serializedRoute;\n route.routeData = deserializeRouteData(serializedRoute.routeData);\n }\n const assets = new Set(serializedManifest.assets);\n const componentMetadata = new Map(serializedManifest.componentMetadata);\n const inlinedScripts = new Map(serializedManifest.inlinedScripts);\n const clientDirectives = new Map(serializedManifest.clientDirectives);\n const serverIslandNameMap = new Map(serializedManifest.serverIslandNameMap);\n const key = decodeKey(serializedManifest.key);\n return {\n // in case user middleware exists, this no-op middleware will be reassigned (see plugin-ssr.ts)\n middleware(_, next) {\n return next();\n },\n ...serializedManifest,\n assets,\n componentMetadata,\n inlinedScripts,\n clientDirectives,\n routes,\n serverIslandNameMap,\n key\n };\n}\nexport {\n deserializeManifest\n};\n"],"names":[],"mappings":"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","x_google_ignoreList":[0,1,2,3]} \ No newline at end of file diff --git a/Target/manifest_C0y05owi.mjs.map b/Target/manifest_C0y05owi.mjs.map deleted file mode 100644 index 27766bf4..00000000 --- a/Target/manifest_C0y05owi.mjs.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"manifest_C0y05owi.mjs","sources":["../../../../../node_modules/astro/dist/actions/runtime/virtual/shared.js","../../../../../node_modules/astro/dist/core/routing/manifest/generator.js","../../../../../node_modules/astro/dist/core/routing/manifest/serialization.js","../../../../../node_modules/astro/dist/core/app/common.js"],"sourcesContent":["import { parse as devalueParse, stringify as devalueStringify } from \"devalue\";\nimport { ACTION_QUERY_PARAMS as _ACTION_QUERY_PARAMS } from \"../../consts.js\";\nconst ACTION_QUERY_PARAMS = _ACTION_QUERY_PARAMS;\nconst ACTION_ERROR_CODES = [\n \"BAD_REQUEST\",\n \"UNAUTHORIZED\",\n \"FORBIDDEN\",\n \"NOT_FOUND\",\n \"TIMEOUT\",\n \"CONFLICT\",\n \"PRECONDITION_FAILED\",\n \"PAYLOAD_TOO_LARGE\",\n \"UNSUPPORTED_MEDIA_TYPE\",\n \"UNPROCESSABLE_CONTENT\",\n \"TOO_MANY_REQUESTS\",\n \"CLIENT_CLOSED_REQUEST\",\n \"INTERNAL_SERVER_ERROR\"\n];\nconst codeToStatusMap = {\n // Implemented from tRPC error code table\n // https://trpc.io/docs/server/error-handling#error-codes\n BAD_REQUEST: 400,\n UNAUTHORIZED: 401,\n FORBIDDEN: 403,\n NOT_FOUND: 404,\n TIMEOUT: 405,\n CONFLICT: 409,\n PRECONDITION_FAILED: 412,\n PAYLOAD_TOO_LARGE: 413,\n UNSUPPORTED_MEDIA_TYPE: 415,\n UNPROCESSABLE_CONTENT: 422,\n TOO_MANY_REQUESTS: 429,\n CLIENT_CLOSED_REQUEST: 499,\n INTERNAL_SERVER_ERROR: 500\n};\nconst statusToCodeMap = Object.entries(codeToStatusMap).reduce(\n // reverse the key-value pairs\n (acc, [key, value]) => ({ ...acc, [value]: key }),\n {}\n);\nclass ActionError extends Error {\n type = \"AstroActionError\";\n code = \"INTERNAL_SERVER_ERROR\";\n status = 500;\n constructor(params) {\n super(params.message);\n this.code = params.code;\n this.status = ActionError.codeToStatus(params.code);\n if (params.stack) {\n this.stack = params.stack;\n }\n }\n static codeToStatus(code) {\n return codeToStatusMap[code];\n }\n static statusToCode(status) {\n return statusToCodeMap[status] ?? \"INTERNAL_SERVER_ERROR\";\n }\n static fromJson(body) {\n if (isInputError(body)) {\n return new ActionInputError(body.issues);\n }\n if (isActionError(body)) {\n return new ActionError(body);\n }\n return new ActionError({\n code: \"INTERNAL_SERVER_ERROR\"\n });\n }\n}\nfunction isActionError(error) {\n return typeof error === \"object\" && error != null && \"type\" in error && error.type === \"AstroActionError\";\n}\nfunction isInputError(error) {\n return typeof error === \"object\" && error != null && \"type\" in error && error.type === \"AstroActionInputError\" && \"issues\" in error && Array.isArray(error.issues);\n}\nclass ActionInputError extends ActionError {\n type = \"AstroActionInputError\";\n // We don't expose all ZodError properties.\n // Not all properties will serialize from server to client,\n // and we don't want to import the full ZodError object into the client.\n issues;\n fields;\n constructor(issues) {\n super({\n message: `Failed to validate: ${JSON.stringify(issues, null, 2)}`,\n code: \"BAD_REQUEST\"\n });\n this.issues = issues;\n this.fields = {};\n for (const issue of issues) {\n if (issue.path.length > 0) {\n const key = issue.path[0].toString();\n this.fields[key] ??= [];\n this.fields[key]?.push(issue.message);\n }\n }\n }\n}\nasync function callSafely(handler) {\n try {\n const data = await handler();\n return { data, error: void 0 };\n } catch (e) {\n if (e instanceof ActionError) {\n return { data: void 0, error: e };\n }\n return {\n data: void 0,\n error: new ActionError({\n message: e instanceof Error ? e.message : \"Unknown error\",\n code: \"INTERNAL_SERVER_ERROR\"\n })\n };\n }\n}\nfunction getActionQueryString(name) {\n const searchParams = new URLSearchParams({ [_ACTION_QUERY_PARAMS.actionName]: name });\n return `?${searchParams.toString()}`;\n}\nfunction getActionProps(action) {\n const params = new URLSearchParams(action.toString());\n const actionName = params.get(\"_astroAction\");\n if (!actionName) {\n throw new Error(\"Invalid actions function was passed to getActionProps()\");\n }\n return {\n type: \"hidden\",\n name: \"_astroAction\",\n value: actionName\n };\n}\nfunction serializeActionResult(res) {\n if (res.error) {\n if (import.meta.env?.DEV) {\n actionResultErrorStack.set(res.error.stack);\n }\n return {\n type: \"error\",\n status: res.error.status,\n contentType: \"application/json\",\n body: JSON.stringify({\n ...res.error,\n message: res.error.message\n })\n };\n }\n if (res.data === void 0) {\n return {\n type: \"empty\",\n status: 204\n };\n }\n return {\n type: \"data\",\n status: 200,\n contentType: \"application/json+devalue\",\n body: devalueStringify(res.data, {\n // Add support for URL objects\n URL: (value) => value instanceof URL && value.href\n })\n };\n}\nfunction deserializeActionResult(res) {\n if (res.type === \"error\") {\n if (import.meta.env?.PROD) {\n return { error: ActionError.fromJson(JSON.parse(res.body)), data: void 0 };\n } else {\n const error = ActionError.fromJson(JSON.parse(res.body));\n error.stack = actionResultErrorStack.get();\n return {\n error,\n data: void 0\n };\n }\n }\n if (res.type === \"empty\") {\n return { data: void 0, error: void 0 };\n }\n return {\n data: devalueParse(res.body, {\n URL: (href) => new URL(href)\n }),\n error: void 0\n };\n}\nconst actionResultErrorStack = /* @__PURE__ */ function actionResultErrorStackFn() {\n let errorStack;\n return {\n set(stack) {\n errorStack = stack;\n },\n get() {\n return errorStack;\n }\n };\n}();\nexport {\n ACTION_ERROR_CODES,\n ACTION_QUERY_PARAMS,\n ActionError,\n ActionInputError,\n callSafely,\n deserializeActionResult,\n getActionProps,\n getActionQueryString,\n isActionError,\n isInputError,\n serializeActionResult\n};\n","import { compile } from \"path-to-regexp\";\nfunction sanitizeParams(params) {\n return Object.fromEntries(\n Object.entries(params).map(([key, value]) => {\n if (typeof value === \"string\") {\n return [key, value.normalize().replace(/#/g, \"%23\").replace(/\\?/g, \"%3F\")];\n }\n return [key, value];\n })\n );\n}\nfunction getRouteGenerator(segments, addTrailingSlash) {\n const template = segments.map((segment) => {\n return \"/\" + segment.map((part) => {\n if (part.spread) {\n return `:${part.content.slice(3)}(.*)?`;\n } else if (part.dynamic) {\n return `:${part.content}`;\n } else {\n return part.content.normalize().replace(/\\?/g, \"%3F\").replace(/#/g, \"%23\").replace(/%5B/g, \"[\").replace(/%5D/g, \"]\").replace(/[.*+?^${}()|[\\]\\\\]/g, \"\\\\$&\");\n }\n }).join(\"\");\n }).join(\"\");\n let trailing = \"\";\n if (addTrailingSlash === \"always\" && segments.length) {\n trailing = \"/\";\n }\n const toPath = compile(template + trailing);\n return (params) => {\n const sanitizedParams = sanitizeParams(params);\n const path = toPath(sanitizedParams);\n return path || \"/\";\n };\n}\nexport {\n getRouteGenerator\n};\n","import { getRouteGenerator } from \"./generator.js\";\nfunction serializeRouteData(routeData, trailingSlash) {\n return {\n ...routeData,\n generate: void 0,\n pattern: routeData.pattern.source,\n redirectRoute: routeData.redirectRoute ? serializeRouteData(routeData.redirectRoute, trailingSlash) : void 0,\n fallbackRoutes: routeData.fallbackRoutes.map((fallbackRoute) => {\n return serializeRouteData(fallbackRoute, trailingSlash);\n }),\n _meta: { trailingSlash }\n };\n}\nfunction deserializeRouteData(rawRouteData) {\n return {\n route: rawRouteData.route,\n type: rawRouteData.type,\n pattern: new RegExp(rawRouteData.pattern),\n params: rawRouteData.params,\n component: rawRouteData.component,\n generate: getRouteGenerator(rawRouteData.segments, rawRouteData._meta.trailingSlash),\n pathname: rawRouteData.pathname || void 0,\n segments: rawRouteData.segments,\n prerender: rawRouteData.prerender,\n redirect: rawRouteData.redirect,\n redirectRoute: rawRouteData.redirectRoute ? deserializeRouteData(rawRouteData.redirectRoute) : void 0,\n fallbackRoutes: rawRouteData.fallbackRoutes.map((fallback) => {\n return deserializeRouteData(fallback);\n }),\n isIndex: rawRouteData.isIndex\n };\n}\nexport {\n deserializeRouteData,\n serializeRouteData\n};\n","import { decodeKey } from \"../encryption.js\";\nimport { deserializeRouteData } from \"../routing/manifest/serialization.js\";\nfunction deserializeManifest(serializedManifest) {\n const routes = [];\n for (const serializedRoute of serializedManifest.routes) {\n routes.push({\n ...serializedRoute,\n routeData: deserializeRouteData(serializedRoute.routeData)\n });\n const route = serializedRoute;\n route.routeData = deserializeRouteData(serializedRoute.routeData);\n }\n const assets = new Set(serializedManifest.assets);\n const componentMetadata = new Map(serializedManifest.componentMetadata);\n const inlinedScripts = new Map(serializedManifest.inlinedScripts);\n const clientDirectives = new Map(serializedManifest.clientDirectives);\n const serverIslandNameMap = new Map(serializedManifest.serverIslandNameMap);\n const key = decodeKey(serializedManifest.key);\n return {\n // in case user middleware exists, this no-op middleware will be reassigned (see plugin-ssr.ts)\n middleware(_, next) {\n return next();\n },\n ...serializedManifest,\n assets,\n componentMetadata,\n inlinedScripts,\n clientDirectives,\n routes,\n serverIslandNameMap,\n key\n };\n}\nexport {\n deserializeManifest\n};\n"],"names":[],"mappings":"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","x_google_ignoreList":[0,1,2,3]} \ No newline at end of file diff --git a/tsconfig.json b/tsconfig.json index fc5b0843..3c9c3bfe 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -6,7 +6,12 @@ "noEmit": true, "outDir": "Target", "rootDir": ".", - "types": ["astro/client", "astro/env"] + "types": ["astro/client", "astro/env"], + "plugins": [ + { + "name": "@astrojs/ts-plugin" + } + ] }, "extends": "@playform/build/tsconfig", "include": ["Source"] From 669af57e893a003c86bfb140cf9a4ef44ee2a87d Mon Sep 17 00:00:00 2001 From: Nikola Hristov Date: Sun, 1 Sep 2024 12:57:06 +0300 Subject: [PATCH 040/112] --- .github/workflows/Node.yml | 2 +- package.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/Node.yml b/.github/workflows/Node.yml index e9ddd246..92c74d6f 100644 --- a/.github/workflows/Node.yml +++ b/.github/workflows/Node.yml @@ -87,7 +87,7 @@ jobs: - run: pnpm run prepublishOnly working-directory: . - - uses: actions/upload-artifact@v4.3.6 + - uses: actions/upload-artifact@v4.4.0 with: name: .-Node-${{ matrix.node-version }}-Target path: ./Target diff --git a/package.json b/package.json index 5d5213d4..6d20edc5 100644 --- a/package.json +++ b/package.json @@ -51,7 +51,7 @@ "cssnano-preset-advanced": "7.0.5", "dotenv": "16.4.5", "firebase": "10.13.1", - "postcss": "8.4.41", + "postcss": "8.4.42", "postcss-combine-duplicated-selectors": "10.0.3", "postcss-combine-media-query": "1.0.1", "postcss-import": "16.1.0", From fa5190fdb7b89a40b92aa1ea10c164691c2b1b87 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 2 Sep 2024 01:43:52 +0000 Subject: [PATCH 041/112] Bump postcss from 8.4.41 to 8.4.43 Bumps [postcss](https://github.com/postcss/postcss) from 8.4.41 to 8.4.43. - [Release notes](https://github.com/postcss/postcss/releases) - [Changelog](https://github.com/postcss/postcss/blob/main/CHANGELOG.md) - [Commits](https://github.com/postcss/postcss/compare/8.4.41...8.4.43) --- updated-dependencies: - dependency-name: postcss dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 5d5213d4..f799ee1c 100644 --- a/package.json +++ b/package.json @@ -51,7 +51,7 @@ "cssnano-preset-advanced": "7.0.5", "dotenv": "16.4.5", "firebase": "10.13.1", - "postcss": "8.4.41", + "postcss": "8.4.43", "postcss-combine-duplicated-selectors": "10.0.3", "postcss-combine-media-query": "1.0.1", "postcss-import": "16.1.0", From 530ced548882cad989aa0cf4bca1a0328525c057 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 2 Sep 2024 01:52:21 +0000 Subject: [PATCH 042/112] Bump actions/upload-artifact from 4.3.6 to 4.4.0 Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) from 4.3.6 to 4.4.0. - [Release notes](https://github.com/actions/upload-artifact/releases) - [Commits](https://github.com/actions/upload-artifact/compare/v4.3.6...v4.4.0) --- updated-dependencies: - dependency-name: actions/upload-artifact dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- .github/workflows/Node.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/Node.yml b/.github/workflows/Node.yml index e9ddd246..92c74d6f 100644 --- a/.github/workflows/Node.yml +++ b/.github/workflows/Node.yml @@ -87,7 +87,7 @@ jobs: - run: pnpm run prepublishOnly working-directory: . - - uses: actions/upload-artifact@v4.3.6 + - uses: actions/upload-artifact@v4.4.0 with: name: .-Node-${{ matrix.node-version }}-Target path: ./Target From f0d1632884c542410363fd3c17349fcfbdf9f337 Mon Sep 17 00:00:00 2001 From: Nikola Hristov Date: Mon, 2 Sep 2024 12:09:27 +0300 Subject: [PATCH 043/112] --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 6d20edc5..f799ee1c 100644 --- a/package.json +++ b/package.json @@ -51,7 +51,7 @@ "cssnano-preset-advanced": "7.0.5", "dotenv": "16.4.5", "firebase": "10.13.1", - "postcss": "8.4.42", + "postcss": "8.4.43", "postcss-combine-duplicated-selectors": "10.0.3", "postcss-combine-media-query": "1.0.1", "postcss-import": "16.1.0", From b4f5cfb0544a53c3ccf5a7ecd63f41787b91bfcc Mon Sep 17 00:00:00 2001 From: Nikola Hristov Date: Mon, 2 Sep 2024 16:20:25 +0300 Subject: [PATCH 044/112] --- .npmrc | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.npmrc b/.npmrc index 33b7cfa4..71b27ffe 100644 --- a/.npmrc +++ b/.npmrc @@ -2,6 +2,8 @@ auto-install-peers=true hoist=true legacy-peer-deps=true link-workspace-packages=true +node-linker=hoisted +node_options=--max-old-space-size=32768 prefer-frozen-lockfile=false prefer-workspace-packages=true shamefully-hoist=true @@ -9,4 +11,3 @@ shared-workspace-lockfile=true strict-peer-dependencies=false unsafe-perm=true use-beta-cli=true -node-linker=hoisted From fa1717830b0ddbc4168d8095edc78feb91b892ea Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 3 Sep 2024 01:25:51 +0000 Subject: [PATCH 045/112] Bump postcss from 8.4.43 to 8.4.44 Bumps [postcss](https://github.com/postcss/postcss) from 8.4.43 to 8.4.44. - [Release notes](https://github.com/postcss/postcss/releases) - [Changelog](https://github.com/postcss/postcss/blob/main/CHANGELOG.md) - [Commits](https://github.com/postcss/postcss/compare/8.4.43...8.4.44) --- updated-dependencies: - dependency-name: postcss dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index f799ee1c..8c6435b7 100644 --- a/package.json +++ b/package.json @@ -51,7 +51,7 @@ "cssnano-preset-advanced": "7.0.5", "dotenv": "16.4.5", "firebase": "10.13.1", - "postcss": "8.4.43", + "postcss": "8.4.44", "postcss-combine-duplicated-selectors": "10.0.3", "postcss-combine-media-query": "1.0.1", "postcss-import": "16.1.0", From c832179251e83bda0c2fcc943604c9ecaa0c7c41 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 3 Sep 2024 01:26:07 +0000 Subject: [PATCH 046/112] Bump astro from 4.15.1 to 4.15.2 Bumps [astro](https://github.com/withastro/astro/tree/HEAD/packages/astro) from 4.15.1 to 4.15.2. - [Release notes](https://github.com/withastro/astro/releases) - [Changelog](https://github.com/withastro/astro/blob/main/packages/astro/CHANGELOG.md) - [Commits](https://github.com/withastro/astro/commits/astro@4.15.2/packages/astro) --- updated-dependencies: - dependency-name: astro dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index f799ee1c..f247a359 100644 --- a/package.json +++ b/package.json @@ -43,7 +43,7 @@ "@tailwindcss/aspect-ratio": "0.4.2", "@tailwindcss/forms": "0.5.8", "@tailwindcss/typography": "0.5.15", - "astro": "4.15.1", + "astro": "4.15.2", "astro-capo": "0.0.1", "astrojs-service-worker": "2.0.0", "autoprefixer": "10.4.20", From 265cb4008848f3522bfbf1e84bc604d4cd282b77 Mon Sep 17 00:00:00 2001 From: Nikola Hristov Date: Tue, 3 Sep 2024 13:57:14 +0300 Subject: [PATCH 047/112] --- package.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/package.json b/package.json index f799ee1c..3917e286 100644 --- a/package.json +++ b/package.json @@ -43,7 +43,7 @@ "@tailwindcss/aspect-ratio": "0.4.2", "@tailwindcss/forms": "0.5.8", "@tailwindcss/typography": "0.5.15", - "astro": "4.15.1", + "astro": "4.15.2", "astro-capo": "0.0.1", "astrojs-service-worker": "2.0.0", "autoprefixer": "10.4.20", @@ -51,7 +51,7 @@ "cssnano-preset-advanced": "7.0.5", "dotenv": "16.4.5", "firebase": "10.13.1", - "postcss": "8.4.43", + "postcss": "8.4.44", "postcss-combine-duplicated-selectors": "10.0.3", "postcss-combine-media-query": "1.0.1", "postcss-import": "16.1.0", From 0c4e9f39c867e13234d62e774a22e8c7a8e07eb4 Mon Sep 17 00:00:00 2001 From: Nikola Hristov Date: Tue, 3 Sep 2024 15:01:44 +0300 Subject: [PATCH 048/112] --- Target/chunks/astro/server_B4dKMUTo.mjs.map | 1 - Target/chunks/astro/server_DdDAVYtl.mjs.map | 1 + Target/chunks/astro_CXrh3zCg.mjs.map | 1 - Target/chunks/astro_G1YLVo_R.mjs.map | 1 + Target/{manifest_C-LRu95t.mjs.map => manifest_B5tighgG.mjs.map} | 2 +- 5 files changed, 3 insertions(+), 3 deletions(-) delete mode 100644 Target/chunks/astro/server_B4dKMUTo.mjs.map create mode 100644 Target/chunks/astro/server_DdDAVYtl.mjs.map delete mode 100644 Target/chunks/astro_CXrh3zCg.mjs.map create mode 100644 Target/chunks/astro_G1YLVo_R.mjs.map rename Target/{manifest_C-LRu95t.mjs.map => manifest_B5tighgG.mjs.map} (99%) diff --git a/Target/chunks/astro/server_B4dKMUTo.mjs.map b/Target/chunks/astro/server_B4dKMUTo.mjs.map deleted file mode 100644 index ac1e753b..00000000 --- a/Target/chunks/astro/server_B4dKMUTo.mjs.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"server_B4dKMUTo.mjs","sources":["../../../../../../../node_modules/astro/dist/core/errors/errors-data.js","../../../../../../../node_modules/astro/dist/core/errors/utils.js","../../../../../../../node_modules/astro/dist/core/errors/printer.js","../../../../../../../node_modules/astro/dist/core/errors/errors.js","../../../../../../../node_modules/astro/dist/runtime/server/astro-component.js","../../../../../../../node_modules/astro/dist/core/constants.js","../../../../../../../node_modules/astro/dist/runtime/server/astro-global.js","../../../../../../../node_modules/astro/dist/runtime/server/util.js","../../../../../../../node_modules/astro/dist/runtime/server/escape.js","../../../../../../../node_modules/astro/dist/runtime/server/render/instruction.js","../../../../../../../node_modules/astro/dist/runtime/server/serialize.js","../../../../../../../node_modules/astro/dist/runtime/server/hydration.js","../../../../../../../node_modules/astro/dist/runtime/server/shorthash.js","../../../../../../../node_modules/astro/dist/runtime/server/render/astro/factory.js","../../../../../../../node_modules/astro/dist/runtime/server/render/astro/head-and-content.js","../../../../../../../node_modules/astro/dist/runtime/server/astro-island.prebuilt-dev.js","../../../../../../../node_modules/astro/dist/runtime/server/astro-island.prebuilt.js","../../../../../../../node_modules/astro/dist/runtime/server/scripts.js","../../../../../../../node_modules/astro/dist/runtime/server/render/util.js","../../../../../../../node_modules/astro/dist/runtime/server/render/head.js","../../../../../../../node_modules/astro/dist/runtime/server/render/astro/render-template.js","../../../../../../../node_modules/astro/dist/runtime/server/render/slot.js","../../../../../../../node_modules/astro/dist/runtime/server/render/common.js","../../../../../../../node_modules/astro/dist/runtime/server/render/any.js","../../../../../../../node_modules/astro/dist/runtime/server/render/astro/instance.js","../../../../../../../node_modules/astro/dist/runtime/server/render/dom.js","../../../../../../../node_modules/astro/dist/core/encryption.js","../../../../../../../node_modules/astro/dist/runtime/server/render/server-islands.js","../../../../../../../node_modules/astro/dist/runtime/server/render/component.js","../../../../../../../node_modules/astro/dist/runtime/server/render/script.js","../../../../../../../node_modules/astro/dist/runtime/server/transition.js","../../../../../../../node_modules/astro/dist/runtime/server/index.js"],"sourcesContent":["const UnknownCompilerError = {\n name: \"UnknownCompilerError\",\n title: \"Unknown compiler error.\",\n hint: \"This is almost always a problem with the Astro compiler, not your code. Please open an issue at https://astro.build/issues/compiler.\"\n};\nconst StaticRedirectNotAvailable = {\n name: \"StaticRedirectNotAvailable\",\n title: \"`Astro.redirect` is not available in static mode.\",\n message: \"Redirects are only available when using `output: 'server'` or `output: 'hybrid'`. Update your Astro config if you need SSR features.\",\n hint: \"See https://docs.astro.build/en/guides/server-side-rendering/ for more information on how to enable SSR.\"\n};\nconst ClientAddressNotAvailable = {\n name: \"ClientAddressNotAvailable\",\n title: \"`Astro.clientAddress` is not available in current adapter.\",\n message: (adapterName) => `\\`Astro.clientAddress\\` is not available in the \\`${adapterName}\\` adapter. File an issue with the adapter to add support.`\n};\nconst PrerenderClientAddressNotAvailable = {\n name: \"PrerenderClientAddressNotAvailable\",\n title: \"`Astro.clientAddress` cannot be used inside prerendered routes.\",\n message: `\\`Astro.clientAddress\\` cannot be used inside prerendered routes`\n};\nconst StaticClientAddressNotAvailable = {\n name: \"StaticClientAddressNotAvailable\",\n title: \"`Astro.clientAddress` is not available in static mode.\",\n message: \"`Astro.clientAddress` is only available when using `output: 'server'` or `output: 'hybrid'`. Update your Astro config if you need SSR features.\",\n hint: \"See https://docs.astro.build/en/guides/server-side-rendering/ for more information on how to enable SSR.\"\n};\nconst NoMatchingStaticPathFound = {\n name: \"NoMatchingStaticPathFound\",\n title: \"No static path found for requested path.\",\n message: (pathName) => `A \\`getStaticPaths()\\` route pattern was matched, but no matching static path was found for requested path \\`${pathName}\\`.`,\n hint: (possibleRoutes) => `Possible dynamic routes being matched: ${possibleRoutes.join(\", \")}.`\n};\nconst OnlyResponseCanBeReturned = {\n name: \"OnlyResponseCanBeReturned\",\n title: \"Invalid type returned by Astro page.\",\n message: (route, returnedValue) => `Route \\`${route ? route : \"\"}\\` returned a \\`${returnedValue}\\`. Only a [Response](https://developer.mozilla.org/en-US/docs/Web/API/Response) can be returned from Astro files.`,\n hint: \"See https://docs.astro.build/en/guides/server-side-rendering/#response for more information.\"\n};\nconst MissingMediaQueryDirective = {\n name: \"MissingMediaQueryDirective\",\n title: \"Missing value for `client:media` directive.\",\n message: 'Media query not provided for `client:media` directive. A media query similar to `client:media=\"(max-width: 600px)\"` must be provided'\n};\nconst NoMatchingRenderer = {\n name: \"NoMatchingRenderer\",\n title: \"No matching renderer found.\",\n message: (componentName, componentExtension, plural, validRenderersCount) => `Unable to render \\`${componentName}\\`.\n\n${validRenderersCount > 0 ? `There ${plural ? \"are\" : \"is\"} ${validRenderersCount} renderer${plural ? \"s\" : \"\"} configured in your \\`astro.config.mjs\\` file,\nbut ${plural ? \"none were\" : \"it was not\"} able to server-side render \\`${componentName}\\`.` : `No valid renderer was found ${componentExtension ? `for the \\`.${componentExtension}\\` file extension.` : `for this file extension.`}`}`,\n hint: (probableRenderers) => `Did you mean to enable the ${probableRenderers} integration?\n\nSee https://docs.astro.build/en/guides/framework-components/ for more information on how to install and configure integrations.`\n};\nconst NoClientEntrypoint = {\n name: \"NoClientEntrypoint\",\n title: \"No client entrypoint specified in renderer.\",\n message: (componentName, clientDirective, rendererName) => `\\`${componentName}\\` component has a \\`client:${clientDirective}\\` directive, but no client entrypoint was provided by \\`${rendererName}\\`.`,\n hint: \"See https://docs.astro.build/en/reference/integrations-reference/#addrenderer-option for more information on how to configure your renderer.\"\n};\nconst NoClientOnlyHint = {\n name: \"NoClientOnlyHint\",\n title: \"Missing hint on client:only directive.\",\n message: (componentName) => `Unable to render \\`${componentName}\\`. When using the \\`client:only\\` hydration strategy, Astro needs a hint to use the correct renderer.`,\n hint: (probableRenderers) => `Did you mean to pass \\`client:only=\"${probableRenderers}\"\\`? See https://docs.astro.build/en/reference/directives-reference/#clientonly for more information on client:only`\n};\nconst InvalidGetStaticPathParam = {\n name: \"InvalidGetStaticPathParam\",\n title: \"Invalid value returned by a `getStaticPaths` path.\",\n message: (paramType) => `Invalid params given to \\`getStaticPaths\\` path. Expected an \\`object\\`, got \\`${paramType}\\``,\n hint: \"See https://docs.astro.build/en/reference/api-reference/#getstaticpaths for more information on getStaticPaths.\"\n};\nconst InvalidGetStaticPathsEntry = {\n name: \"InvalidGetStaticPathsEntry\",\n title: \"Invalid entry inside getStaticPath's return value\",\n message: (entryType) => `Invalid entry returned by getStaticPaths. Expected an object, got \\`${entryType}\\``,\n hint: \"If you're using a `.map` call, you might be looking for `.flatMap()` instead. See https://docs.astro.build/en/reference/api-reference/#getstaticpaths for more information on getStaticPaths.\"\n};\nconst InvalidGetStaticPathsReturn = {\n name: \"InvalidGetStaticPathsReturn\",\n title: \"Invalid value returned by getStaticPaths.\",\n message: (returnType) => `Invalid type returned by \\`getStaticPaths\\`. Expected an \\`array\\`, got \\`${returnType}\\``,\n hint: \"See https://docs.astro.build/en/reference/api-reference/#getstaticpaths for more information on getStaticPaths.\"\n};\nconst GetStaticPathsRemovedRSSHelper = {\n name: \"GetStaticPathsRemovedRSSHelper\",\n title: \"getStaticPaths RSS helper is not available anymore.\",\n message: \"The RSS helper has been removed from `getStaticPaths`. Try the new @astrojs/rss package instead.\",\n hint: \"See https://docs.astro.build/en/guides/rss/ for more information.\"\n};\nconst GetStaticPathsExpectedParams = {\n name: \"GetStaticPathsExpectedParams\",\n title: \"Missing params property on `getStaticPaths` route.\",\n message: \"Missing or empty required `params` property on `getStaticPaths` route.\",\n hint: \"See https://docs.astro.build/en/reference/api-reference/#getstaticpaths for more information on getStaticPaths.\"\n};\nconst GetStaticPathsInvalidRouteParam = {\n name: \"GetStaticPathsInvalidRouteParam\",\n title: \"Invalid value for `getStaticPaths` route parameter.\",\n message: (key, value, valueType) => `Invalid getStaticPaths route parameter for \\`${key}\\`. Expected undefined, a string or a number, received \\`${valueType}\\` (\\`${value}\\`)`,\n hint: \"See https://docs.astro.build/en/reference/api-reference/#getstaticpaths for more information on getStaticPaths.\"\n};\nconst GetStaticPathsRequired = {\n name: \"GetStaticPathsRequired\",\n title: \"`getStaticPaths()` function required for dynamic routes.\",\n message: \"`getStaticPaths()` function is required for dynamic routes. Make sure that you `export` a `getStaticPaths` function from your dynamic route.\",\n hint: `See https://docs.astro.build/en/guides/routing/#dynamic-routes for more information on dynamic routes.\n\nAlternatively, set \\`output: \"server\"\\` or \\`output: \"hybrid\"\\` in your Astro config file to switch to a non-static server build. This error can also occur if using \\`export const prerender = true;\\`.\nSee https://docs.astro.build/en/guides/server-side-rendering/ for more information on non-static rendering.`\n};\nconst ReservedSlotName = {\n name: \"ReservedSlotName\",\n title: \"Invalid slot name.\",\n message: (slotName) => `Unable to create a slot named \\`${slotName}\\`. \\`${slotName}\\` is a reserved slot name. Please update the name of this slot.`\n};\nconst NoAdapterInstalled = {\n name: \"NoAdapterInstalled\",\n title: \"Cannot use Server-side Rendering without an adapter.\",\n message: `Cannot use \\`output: 'server'\\` or \\`output: 'hybrid'\\` without an adapter. Please install and configure the appropriate server adapter for your final deployment.`,\n hint: \"See https://docs.astro.build/en/guides/server-side-rendering/ for more information.\"\n};\nconst NoMatchingImport = {\n name: \"NoMatchingImport\",\n title: \"No import found for component.\",\n message: (componentName) => `Could not render \\`${componentName}\\`. No matching import has been found for \\`${componentName}\\`.`,\n hint: \"Please make sure the component is properly imported.\"\n};\nconst InvalidPrerenderExport = {\n name: \"InvalidPrerenderExport\",\n title: \"Invalid prerender export.\",\n message(prefix, suffix, isHydridOutput) {\n const defaultExpectedValue = isHydridOutput ? \"false\" : \"true\";\n let msg = `A \\`prerender\\` export has been detected, but its value cannot be statically analyzed.`;\n if (prefix !== \"const\") msg += `\nExpected \\`const\\` declaration but got \\`${prefix}\\`.`;\n if (suffix !== \"true\")\n msg += `\nExpected \\`${defaultExpectedValue}\\` value but got \\`${suffix}\\`.`;\n return msg;\n },\n hint: \"Mutable values declared at runtime are not supported. Please make sure to use exactly `export const prerender = true`.\"\n};\nconst InvalidComponentArgs = {\n name: \"InvalidComponentArgs\",\n title: \"Invalid component arguments.\",\n message: (name) => `Invalid arguments passed to${name ? ` <${name}>` : \"\"} component.`,\n hint: \"Astro components cannot be rendered directly via function call, such as `Component()` or `{items.map(Component)}`.\"\n};\nconst PageNumberParamNotFound = {\n name: \"PageNumberParamNotFound\",\n title: \"Page number param not found.\",\n message: (paramName) => `[paginate()] page number param \\`${paramName}\\` not found in your filepath.`,\n hint: \"Rename your file to `[page].astro` or `[...page].astro`.\"\n};\nconst ImageMissingAlt = {\n name: \"ImageMissingAlt\",\n title: 'Image missing required \"alt\" property.',\n message: 'Image missing \"alt\" property. \"alt\" text is required to describe important images on the page.',\n hint: 'Use an empty string (\"\") for decorative images.'\n};\nconst InvalidImageService = {\n name: \"InvalidImageService\",\n title: \"Error while loading image service.\",\n message: \"There was an error loading the configured image service. Please see the stack trace for more information.\"\n};\nconst MissingImageDimension = {\n name: \"MissingImageDimension\",\n title: \"Missing image dimensions\",\n message: (missingDimension, imageURL) => `Missing ${missingDimension === \"both\" ? \"width and height attributes\" : `${missingDimension} attribute`} for ${imageURL}. When using remote images, both dimensions are required in order to avoid CLS.`,\n hint: \"If your image is inside your `src` folder, you probably meant to import it instead. See [the Imports guide for more information](https://docs.astro.build/en/guides/imports/#other-assets). You can also use `inferSize={true}` for remote images to get the original dimensions.\"\n};\nconst FailedToFetchRemoteImageDimensions = {\n name: \"FailedToFetchRemoteImageDimensions\",\n title: \"Failed to retrieve remote image dimensions\",\n message: (imageURL) => `Failed to get the dimensions for ${imageURL}.`,\n hint: \"Verify your remote image URL is accurate, and that you are not using `inferSize` with a file located in your `public/` folder.\"\n};\nconst UnsupportedImageFormat = {\n name: \"UnsupportedImageFormat\",\n title: \"Unsupported image format\",\n message: (format, imagePath, supportedFormats) => `Received unsupported format \\`${format}\\` from \\`${imagePath}\\`. Currently only ${supportedFormats.join(\n \", \"\n )} are supported by our image services.`,\n hint: \"Using an `img` tag directly instead of the `Image` component might be what you're looking for.\"\n};\nconst UnsupportedImageConversion = {\n name: \"UnsupportedImageConversion\",\n title: \"Unsupported image conversion\",\n message: \"Converting between vector (such as SVGs) and raster (such as PNGs and JPEGs) images is not currently supported.\"\n};\nconst PrerenderDynamicEndpointPathCollide = {\n name: \"PrerenderDynamicEndpointPathCollide\",\n title: \"Prerendered dynamic endpoint has path collision.\",\n message: (pathname) => `Could not render \\`${pathname}\\` with an \\`undefined\\` param as the generated path will collide during prerendering. Prevent passing \\`undefined\\` as \\`params\\` for the endpoint's \\`getStaticPaths()\\` function, or add an additional extension to the endpoint's filename.`,\n hint: (filename) => `Rename \\`${filename}\\` to \\`${filename.replace(/\\.(?:js|ts)/, (m) => `.json` + m)}\\``\n};\nconst ExpectedImage = {\n name: \"ExpectedImage\",\n title: \"Expected src to be an image.\",\n message: (src, typeofOptions, fullOptions) => `Expected \\`src\\` property for \\`getImage\\` or \\`\\` to be either an ESM imported image or a string with the path of a remote image. Received \\`${src}\\` (type: \\`${typeofOptions}\\`).\n\nFull serialized options received: \\`${fullOptions}\\`.`,\n hint: \"This error can often happen because of a wrong path. Make sure the path to your image is correct. If you're passing an async function, make sure to call and await it.\"\n};\nconst ExpectedImageOptions = {\n name: \"ExpectedImageOptions\",\n title: \"Expected image options.\",\n message: (options) => `Expected getImage() parameter to be an object. Received \\`${options}\\`.`\n};\nconst ExpectedNotESMImage = {\n name: \"ExpectedNotESMImage\",\n title: \"Expected image options, not an ESM-imported image.\",\n message: \"An ESM-imported image cannot be passed directly to `getImage()`. Instead, pass an object with the image in the `src` property.\",\n hint: \"Try changing `getImage(myImage)` to `getImage({ src: myImage })`\"\n};\nconst IncompatibleDescriptorOptions = {\n name: \"IncompatibleDescriptorOptions\",\n title: \"Cannot set both `densities` and `widths`\",\n message: \"Only one of `densities` or `widths` can be specified. In most cases, you'll probably want to use only `widths` if you require specific widths.\",\n hint: \"Those attributes are used to construct a `srcset` attribute, which cannot have both `x` and `w` descriptors.\"\n};\nconst ImageNotFound = {\n name: \"ImageNotFound\",\n title: \"Image not found.\",\n message: (imagePath) => `Could not find requested image \\`${imagePath}\\`. Does it exist?`,\n hint: \"This is often caused by a typo in the image path. Please make sure the file exists, and is spelled correctly.\"\n};\nconst NoImageMetadata = {\n name: \"NoImageMetadata\",\n title: \"Could not process image metadata.\",\n message: (imagePath) => `Could not process image metadata${imagePath ? ` for \\`${imagePath}\\`` : \"\"}.`,\n hint: \"This is often caused by a corrupted or malformed image. Re-exporting the image from your image editor may fix this issue.\"\n};\nconst MarkdownImageNotFound = {\n name: \"MarkdownImageNotFound\",\n title: \"Image not found.\",\n message: (imagePath, fullImagePath) => `Could not find requested image \\`${imagePath}\\`${fullImagePath ? ` at \\`${fullImagePath}\\`.` : \".\"}`,\n hint: \"This is often caused by a typo in the image path. Please make sure the file exists, and is spelled correctly.\"\n};\nconst CouldNotTransformImage = {\n name: \"CouldNotTransformImage\",\n title: \"Could not transform image.\",\n message: (imagePath) => `Could not transform image \\`${imagePath}\\`. See the stack trace for more information.`,\n hint: \"This is often caused by a corrupted or malformed image. Re-exporting the image from your image editor may fix this issue.\"\n};\nconst ResponseSentError = {\n name: \"ResponseSentError\",\n title: \"Unable to set response.\",\n message: \"The response has already been sent to the browser and cannot be altered.\"\n};\nconst MiddlewareNoDataOrNextCalled = {\n name: \"MiddlewareNoDataOrNextCalled\",\n title: \"The middleware didn't return a `Response`.\",\n message: \"Make sure your middleware returns a `Response` object, either directly or by returning the `Response` from calling the `next` function.\"\n};\nconst MiddlewareNotAResponse = {\n name: \"MiddlewareNotAResponse\",\n title: \"The middleware returned something that is not a `Response` object.\",\n message: \"Any data returned from middleware must be a valid `Response` object.\"\n};\nconst EndpointDidNotReturnAResponse = {\n name: \"EndpointDidNotReturnAResponse\",\n title: \"The endpoint did not return a `Response`.\",\n message: \"An endpoint must return either a `Response`, or a `Promise` that resolves with a `Response`.\"\n};\nconst LocalsNotAnObject = {\n name: \"LocalsNotAnObject\",\n title: \"Value assigned to `locals` is not accepted.\",\n message: \"`locals` can only be assigned to an object. Other values like numbers, strings, etc. are not accepted.\",\n hint: \"If you tried to remove some information from the `locals` object, try to use `delete` or set the property to `undefined`.\"\n};\nconst AstroResponseHeadersReassigned = {\n name: \"AstroResponseHeadersReassigned\",\n title: \"`Astro.response.headers` must not be reassigned.\",\n message: \"Individual headers can be added to and removed from `Astro.response.headers`, but it must not be replaced with another instance of `Headers` altogether.\",\n hint: \"Consider using `Astro.response.headers.add()`, and `Astro.response.headers.delete()`.\"\n};\nconst MiddlewareCantBeLoaded = {\n name: \"MiddlewareCantBeLoaded\",\n title: \"Can't load the middleware.\",\n message: \"An unknown error was thrown while loading your middleware.\"\n};\nconst LocalImageUsedWrongly = {\n name: \"LocalImageUsedWrongly\",\n title: \"Local images must be imported.\",\n message: (imageFilePath) => `\\`Image\\`'s and \\`getImage\\`'s \\`src\\` parameter must be an imported image or an URL, it cannot be a string filepath. Received \\`${imageFilePath}\\`.`,\n hint: \"If you want to use an image from your `src` folder, you need to either import it or if the image is coming from a content collection, use the [image() schema helper](https://docs.astro.build/en/guides/images/#images-in-content-collections). See https://docs.astro.build/en/guides/images/#src-required for more information on the `src` property.\"\n};\nconst AstroGlobUsedOutside = {\n name: \"AstroGlobUsedOutside\",\n title: \"Astro.glob() used outside of an Astro file.\",\n message: (globStr) => `\\`Astro.glob(${globStr})\\` can only be used in \\`.astro\\` files. \\`import.meta.glob(${globStr})\\` can be used instead to achieve a similar result.`,\n hint: \"See Vite's documentation on `import.meta.glob` for more information: https://vitejs.dev/guide/features.html#glob-import\"\n};\nconst AstroGlobNoMatch = {\n name: \"AstroGlobNoMatch\",\n title: \"Astro.glob() did not match any files.\",\n message: (globStr) => `\\`Astro.glob(${globStr})\\` did not return any matching files.`,\n hint: \"Check the pattern for typos.\"\n};\nconst RedirectWithNoLocation = {\n name: \"RedirectWithNoLocation\",\n title: \"A redirect must be given a location with the `Location` header.\"\n};\nconst InvalidDynamicRoute = {\n name: \"InvalidDynamicRoute\",\n title: \"Invalid dynamic route.\",\n message: (route, invalidParam, received) => `The ${invalidParam} param for route ${route} is invalid. Received **${received}**.`\n};\nconst MissingSharp = {\n name: \"MissingSharp\",\n title: \"Could not find Sharp.\",\n message: \"Could not find Sharp. Please install Sharp (`sharp`) manually into your project or migrate to another image service.\",\n hint: \"See Sharp's installation instructions for more information: https://sharp.pixelplumbing.com/install. If you are not relying on `astro:assets` to optimize, transform, or process any images, you can configure a passthrough image service instead of installing Sharp. See https://docs.astro.build/en/reference/errors/missing-sharp for more information.\\n\\nSee https://docs.astro.build/en/guides/images/#default-image-service for more information on how to migrate to another image service.\"\n};\nconst UnknownViteError = {\n name: \"UnknownViteError\",\n title: \"Unknown Vite Error.\"\n};\nconst FailedToLoadModuleSSR = {\n name: \"FailedToLoadModuleSSR\",\n title: \"Could not import file.\",\n message: (importName) => `Could not import \\`${importName}\\`.`,\n hint: \"This is often caused by a typo in the import path. Please make sure the file exists.\"\n};\nconst InvalidGlob = {\n name: \"InvalidGlob\",\n title: \"Invalid glob pattern.\",\n message: (globPattern) => `Invalid glob pattern: \\`${globPattern}\\`. Glob patterns must start with './', '../' or '/'.`,\n hint: \"See https://docs.astro.build/en/guides/imports/#glob-patterns for more information on supported glob patterns.\"\n};\nconst FailedToFindPageMapSSR = {\n name: \"FailedToFindPageMapSSR\",\n title: \"Astro couldn't find the correct page to render\",\n message: \"Astro couldn't find the correct page to render, probably because it wasn't correctly mapped for SSR usage. This is an internal error. Please file an issue.\"\n};\nconst MissingLocale = {\n name: \"MissingLocaleError\",\n title: \"The provided locale does not exist.\",\n message: (locale) => `The locale/path \\`${locale}\\` does not exist in the configured \\`i18n.locales\\`.`\n};\nconst MissingIndexForInternationalization = {\n name: \"MissingIndexForInternationalizationError\",\n title: \"Index page not found.\",\n message: (defaultLocale) => `Could not find index page. A root index page is required in order to create a redirect to the index URL of the default locale. (\\`/${defaultLocale}\\`)`,\n hint: (src) => `Create an index page (\\`index.astro, index.md, etc.\\`) in \\`${src}\\`.`\n};\nconst IncorrectStrategyForI18n = {\n name: \"IncorrectStrategyForI18n\",\n title: \"You can't use the current function with the current strategy\",\n message: (functionName) => `The function \\`${functionName}\\` can only be used when the \\`i18n.routing.strategy\\` is set to \\`\"manual\"\\`.`\n};\nconst NoPrerenderedRoutesWithDomains = {\n name: \"NoPrerenderedRoutesWithDomains\",\n title: \"Prerendered routes aren't supported when internationalization domains are enabled.\",\n message: (component) => `Static pages aren't yet supported with multiple domains. To enable this feature, you must disable prerendering for the page ${component}`\n};\nconst MissingMiddlewareForInternationalization = {\n name: \"MissingMiddlewareForInternationalization\",\n title: \"Enabled manual internationalization routing without having a middleware.\",\n message: \"Your configuration setting `i18n.routing: 'manual'` requires you to provide your own i18n `middleware` file.\"\n};\nconst RewriteEncounteredAnError = {\n name: \"RewriteEncounteredAnError\",\n title: \"Astro couldn't find the route to rewrite, or if was found but it emitted an error during the rendering phase.\",\n message: (route, stack) => `The route ${route} that you tried to render doesn't exist, or it emitted an error during the rendering phase. ${stack ? stack : \"\"}.`\n};\nconst CantRenderPage = {\n name: \"CantRenderPage\",\n title: \"Astro can't render the route.\",\n message: \"Astro cannot find any content to render for this route. There is no file or redirect associated with this route.\",\n hint: \"If you expect to find a route here, this may be an Astro bug. Please file an issue/restart the dev server\"\n};\nconst UnhandledRejection = {\n name: \"UnhandledRejection\",\n title: \"Unhandled rejection\",\n message: (stack) => `Astro detected an unhandled rejection. Here's the stack trace:\n${stack}`,\n hint: \"Make sure your promises all have an `await` or a `.catch()` handler.\"\n};\nconst i18nNotEnabled = {\n name: \"i18nNotEnabled\",\n title: \"i18n Not Enabled\",\n message: \"The `astro:i18n` module can not be used without enabling i18n in your Astro config.\",\n hint: \"See https://docs.astro.build/en/guides/internationalization for a guide on setting up i18n.\"\n};\nconst i18nNoLocaleFoundInPath = {\n name: \"i18nNoLocaleFoundInPath\",\n title: \"The path doesn't contain any locale\",\n message: \"You tried to use an i18n utility on a path that doesn't contain any locale. You can use `pathHasLocale` first to determine if the path has a locale.\"\n};\nconst RouteNotFound = {\n name: \"RouteNotFound\",\n title: \"Route not found.\",\n message: `Astro could not find a route that matches the one you requested.`\n};\nconst EnvInvalidVariables = {\n name: \"EnvInvalidVariables\",\n title: \"Invalid Environment Variables\",\n message: (errors) => `The following environment variables defined in \\`experimental.env.schema\\` are invalid:\n\n${errors.map((err) => `- ${err}`).join(\"\\n\")}\n`\n};\nconst EnvUnsupportedGetSecret = {\n name: \"EnvUnsupportedGetSecret\",\n title: \"Unsupported astro:env getSecret\",\n message: \"`astro:env/server` exported function `getSecret` is not supported by your adapter.\"\n};\nconst ServerOnlyModule = {\n name: \"ServerOnlyModule\",\n title: \"Module is only available server-side\",\n message: (name) => `The \"${name}\" module is only available server-side.`\n};\nconst RewriteWithBodyUsed = {\n name: \"RewriteWithBodyUsed\",\n title: \"Cannot use Astro.rewrite after the request body has been read\",\n message: \"Astro.rewrite() cannot be used if the request body has already been read. If you need to read the body, first clone the request.\"\n};\nconst UnknownFilesystemError = {\n name: \"UnknownFilesystemError\",\n title: \"An unknown error occurred while reading or writing files to disk.\",\n hint: \"It can be caused by many things, eg. missing permissions or a file not existing we attempt to read. Check the error cause for more details.\"\n};\nconst UnknownCSSError = {\n name: \"UnknownCSSError\",\n title: \"Unknown CSS Error.\"\n};\nconst CSSSyntaxError = {\n name: \"CSSSyntaxError\",\n title: \"CSS Syntax Error.\"\n};\nconst UnknownMarkdownError = {\n name: \"UnknownMarkdownError\",\n title: \"Unknown Markdown Error.\"\n};\nconst MarkdownFrontmatterParseError = {\n name: \"MarkdownFrontmatterParseError\",\n title: \"Failed to parse Markdown frontmatter.\"\n};\nconst InvalidFrontmatterInjectionError = {\n name: \"InvalidFrontmatterInjectionError\",\n title: \"Invalid frontmatter injection.\",\n message: 'A remark or rehype plugin attempted to inject invalid frontmatter. Ensure \"astro.frontmatter\" is set to a valid JSON object that is not `null` or `undefined`.',\n hint: \"See the frontmatter injection docs https://docs.astro.build/en/guides/markdown-content/#modifying-frontmatter-programmatically for more information.\"\n};\nconst MdxIntegrationMissingError = {\n name: \"MdxIntegrationMissingError\",\n title: \"MDX integration missing.\",\n message: (file) => `Unable to render ${file}. Ensure that the \\`@astrojs/mdx\\` integration is installed.`,\n hint: \"See the MDX integration docs for installation and usage instructions: https://docs.astro.build/en/guides/integrations-guide/mdx/\"\n};\nconst UnknownConfigError = {\n name: \"UnknownConfigError\",\n title: \"Unknown configuration error.\"\n};\nconst ConfigNotFound = {\n name: \"ConfigNotFound\",\n title: \"Specified configuration file not found.\",\n message: (configFile) => `Unable to resolve \\`--config \"${configFile}\"\\`. Does the file exist?`\n};\nconst ConfigLegacyKey = {\n name: \"ConfigLegacyKey\",\n title: \"Legacy configuration detected.\",\n message: (legacyConfigKey) => `Legacy configuration detected: \\`${legacyConfigKey}\\`.`,\n hint: \"Please update your configuration to the new format.\\nSee https://astro.build/config for more information.\"\n};\nconst UnknownCLIError = {\n name: \"UnknownCLIError\",\n title: \"Unknown CLI Error.\"\n};\nconst GenerateContentTypesError = {\n name: \"GenerateContentTypesError\",\n title: \"Failed to generate content types.\",\n message: (errorMessage) => `\\`astro sync\\` command failed to generate content collection types: ${errorMessage}`,\n hint: \"Check your `src/content/config.*` file for typos.\"\n};\nconst UnknownContentCollectionError = {\n name: \"UnknownContentCollectionError\",\n title: \"Unknown Content Collection Error.\"\n};\nconst GetEntryDeprecationError = {\n name: \"GetEntryDeprecationError\",\n title: \"Invalid use of `getDataEntryById` or `getEntryBySlug` function.\",\n message: (collection, method) => `The \\`${method}\\` function is deprecated and cannot be used to query the \"${collection}\" collection. Use \\`getEntry\\` instead.`,\n hint: \"Use the `getEntry` or `getCollection` functions to query content layer collections.\"\n};\nconst InvalidContentEntryFrontmatterError = {\n name: \"InvalidContentEntryFrontmatterError\",\n title: \"Content entry frontmatter does not match schema.\",\n message(collection, entryId, error) {\n return [\n `**${String(collection)} \\u2192 ${String(\n entryId\n )}** frontmatter does not match collection schema.`,\n ...error.errors.map((zodError) => zodError.message)\n ].join(\"\\n\");\n },\n hint: \"See https://docs.astro.build/en/guides/content-collections/ for more information on content schemas.\"\n};\nconst InvalidContentEntrySlugError = {\n name: \"InvalidContentEntrySlugError\",\n title: \"Invalid content entry slug.\",\n message(collection, entryId) {\n return `${String(collection)} \\u2192 ${String(\n entryId\n )} has an invalid slug. \\`slug\\` must be a string.`;\n },\n hint: \"See https://docs.astro.build/en/guides/content-collections/ for more on the `slug` field.\"\n};\nconst ContentSchemaContainsSlugError = {\n name: \"ContentSchemaContainsSlugError\",\n title: \"Content Schema should not contain `slug`.\",\n message: (collectionName) => `A content collection schema should not contain \\`slug\\` since it is reserved for slug generation. Remove this from your ${collectionName} collection schema.`,\n hint: \"See https://docs.astro.build/en/guides/content-collections/ for more on the `slug` field.\"\n};\nconst CollectionDoesNotExistError = {\n name: \"CollectionDoesNotExistError\",\n title: \"Collection does not exist\",\n message: (collectionName) => `The collection **${collectionName}** does not exist. Ensure a collection directory with this name exists.`,\n hint: \"See https://docs.astro.build/en/guides/content-collections/ for more on creating collections.\"\n};\nconst MixedContentDataCollectionError = {\n name: \"MixedContentDataCollectionError\",\n title: \"Content and data cannot be in same collection.\",\n message: (collectionName) => `**${collectionName}** contains a mix of content and data entries. All entries must be of the same type.`,\n hint: \"Store data entries in a new collection separate from your content collection.\"\n};\nconst ContentCollectionTypeMismatchError = {\n name: \"ContentCollectionTypeMismatchError\",\n title: \"Collection contains entries of a different type.\",\n message: (collection, expectedType, actualType) => `${collection} contains ${expectedType} entries, but is configured as a ${actualType} collection.`\n};\nconst DataCollectionEntryParseError = {\n name: \"DataCollectionEntryParseError\",\n title: \"Data collection entry failed to parse.\",\n message(entryId, errorMessage) {\n return `**${entryId}** failed to parse: ${errorMessage}`;\n },\n hint: \"Ensure your data entry is an object with valid JSON (for `.json` entries) or YAML (for `.yaml` entries).\"\n};\nconst DuplicateContentEntrySlugError = {\n name: \"DuplicateContentEntrySlugError\",\n title: \"Duplicate content entry slug.\",\n message(collection, slug, preExisting, alsoFound) {\n return `**${collection}** contains multiple entries with the same slug: \\`${slug}\\`. Slugs must be unique.\n\nEntries: \n- ${preExisting}\n- ${alsoFound}`;\n }\n};\nconst UnsupportedConfigTransformError = {\n name: \"UnsupportedConfigTransformError\",\n title: \"Unsupported transform in content config.\",\n message: (parseError) => `\\`transform()\\` functions in your content config must return valid JSON, or data types compatible with the devalue library (including Dates, Maps, and Sets).\nFull error: ${parseError}`,\n hint: \"See the devalue library for all supported types: https://github.com/rich-harris/devalue\"\n};\nconst ActionsWithoutServerOutputError = {\n name: \"ActionsWithoutServerOutputError\",\n title: \"Actions must be used with server output.\",\n message: \"Actions enabled without setting a server build output. A server is required to create callable backend functions. To deploy routes to a server, add a server adapter to your astro config.\",\n hint: \"Learn about on-demand rendering: https://docs.astro.build/en/basics/rendering-modes/#on-demand-rendered\"\n};\nconst ActionsReturnedInvalidDataError = {\n name: \"ActionsReturnedInvalidDataError\",\n title: \"Action handler returned invalid data.\",\n message: (error) => `Action handler returned invalid data. Handlers should return serializable data types like objects, arrays, strings, and numbers. Parse error: ${error}`,\n hint: \"See the devalue library for all supported types: https://github.com/rich-harris/devalue\"\n};\nconst ActionNotFoundError = {\n name: \"ActionNotFoundError\",\n title: \"Action not found.\",\n message: (actionName) => `The server received a request for an action named \\`${actionName}\\` but could not find a match. If you renamed an action, check that you've updated your \\`actions/index\\` file and your calling code to match.`,\n hint: \"You can run `astro check` to detect type errors caused by mismatched action names.\"\n};\nconst ActionCalledFromServerError = {\n name: \"ActionCalledFromServerError\",\n title: \"Action unexpected called from the server.\",\n message: \"Action called from a server page or endpoint without using `Astro.callAction()`. This wrapper must be used to call actions from server code.\",\n hint: \"See the `Astro.callAction()` reference for usage examples: https://docs.astro.build/en/reference/api-reference/#astrocallaction\"\n};\nconst UnknownError = { name: \"UnknownError\", title: \"Unknown Error.\" };\nexport {\n ActionCalledFromServerError,\n ActionNotFoundError,\n ActionsReturnedInvalidDataError,\n ActionsWithoutServerOutputError,\n AstroGlobNoMatch,\n AstroGlobUsedOutside,\n AstroResponseHeadersReassigned,\n CSSSyntaxError,\n CantRenderPage,\n ClientAddressNotAvailable,\n CollectionDoesNotExistError,\n ConfigLegacyKey,\n ConfigNotFound,\n ContentCollectionTypeMismatchError,\n ContentSchemaContainsSlugError,\n CouldNotTransformImage,\n DataCollectionEntryParseError,\n DuplicateContentEntrySlugError,\n EndpointDidNotReturnAResponse,\n EnvInvalidVariables,\n EnvUnsupportedGetSecret,\n ExpectedImage,\n ExpectedImageOptions,\n ExpectedNotESMImage,\n FailedToFetchRemoteImageDimensions,\n FailedToFindPageMapSSR,\n FailedToLoadModuleSSR,\n GenerateContentTypesError,\n GetEntryDeprecationError,\n GetStaticPathsExpectedParams,\n GetStaticPathsInvalidRouteParam,\n GetStaticPathsRemovedRSSHelper,\n GetStaticPathsRequired,\n ImageMissingAlt,\n ImageNotFound,\n IncompatibleDescriptorOptions,\n IncorrectStrategyForI18n,\n InvalidComponentArgs,\n InvalidContentEntryFrontmatterError,\n InvalidContentEntrySlugError,\n InvalidDynamicRoute,\n InvalidFrontmatterInjectionError,\n InvalidGetStaticPathParam,\n InvalidGetStaticPathsEntry,\n InvalidGetStaticPathsReturn,\n InvalidGlob,\n InvalidImageService,\n InvalidPrerenderExport,\n LocalImageUsedWrongly,\n LocalsNotAnObject,\n MarkdownFrontmatterParseError,\n MarkdownImageNotFound,\n MdxIntegrationMissingError,\n MiddlewareCantBeLoaded,\n MiddlewareNoDataOrNextCalled,\n MiddlewareNotAResponse,\n MissingImageDimension,\n MissingIndexForInternationalization,\n MissingLocale,\n MissingMediaQueryDirective,\n MissingMiddlewareForInternationalization,\n MissingSharp,\n MixedContentDataCollectionError,\n NoAdapterInstalled,\n NoClientEntrypoint,\n NoClientOnlyHint,\n NoImageMetadata,\n NoMatchingImport,\n NoMatchingRenderer,\n NoMatchingStaticPathFound,\n NoPrerenderedRoutesWithDomains,\n OnlyResponseCanBeReturned,\n PageNumberParamNotFound,\n PrerenderClientAddressNotAvailable,\n PrerenderDynamicEndpointPathCollide,\n RedirectWithNoLocation,\n ReservedSlotName,\n ResponseSentError,\n RewriteEncounteredAnError,\n RewriteWithBodyUsed,\n RouteNotFound,\n ServerOnlyModule,\n StaticClientAddressNotAvailable,\n StaticRedirectNotAvailable,\n UnhandledRejection,\n UnknownCLIError,\n UnknownCSSError,\n UnknownCompilerError,\n UnknownConfigError,\n UnknownContentCollectionError,\n UnknownError,\n UnknownFilesystemError,\n UnknownMarkdownError,\n UnknownViteError,\n UnsupportedConfigTransformError,\n UnsupportedImageConversion,\n UnsupportedImageFormat,\n i18nNoLocaleFoundInPath,\n i18nNotEnabled\n};\n","function positionAt(offset, text) {\n const lineOffsets = getLineOffsets(text);\n offset = Math.max(0, Math.min(text.length, offset));\n let low = 0;\n let high = lineOffsets.length;\n if (high === 0) {\n return {\n line: 0,\n column: offset\n };\n }\n while (low <= high) {\n const mid = Math.floor((low + high) / 2);\n const lineOffset = lineOffsets[mid];\n if (lineOffset === offset) {\n return {\n line: mid,\n column: 0\n };\n } else if (offset > lineOffset) {\n low = mid + 1;\n } else {\n high = mid - 1;\n }\n }\n const line = low - 1;\n return { line, column: offset - lineOffsets[line] };\n}\nfunction getLineOffsets(text) {\n const lineOffsets = [];\n let isLineStart = true;\n for (let i = 0; i < text.length; i++) {\n if (isLineStart) {\n lineOffsets.push(i);\n isLineStart = false;\n }\n const ch = text.charAt(i);\n isLineStart = ch === \"\\r\" || ch === \"\\n\";\n if (ch === \"\\r\" && i + 1 < text.length && text.charAt(i + 1) === \"\\n\") {\n i++;\n }\n }\n if (isLineStart && text.length > 0) {\n lineOffsets.push(text.length);\n }\n return lineOffsets;\n}\nfunction isYAMLException(err) {\n return err instanceof Error && err.name === \"YAMLException\";\n}\nfunction formatYAMLException(e) {\n return {\n name: e.name,\n id: e.mark.name,\n loc: { file: e.mark.name, line: e.mark.line + 1, column: e.mark.column },\n message: e.reason,\n stack: e.stack ?? \"\"\n };\n}\nfunction createSafeError(err) {\n if (err instanceof Error || err?.name && err.message) {\n return err;\n } else {\n const error = new Error(JSON.stringify(err));\n error.hint = `To get as much information as possible from your errors, make sure to throw Error objects instead of \\`${typeof err}\\`. See https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Error for more information.`;\n return error;\n }\n}\nfunction normalizeLF(code) {\n return code.replace(/\\r\\n|\\r(?!\\n)|\\n/g, \"\\n\");\n}\nexport {\n createSafeError,\n formatYAMLException,\n isYAMLException,\n normalizeLF,\n positionAt\n};\n","import { normalizeLF } from \"./utils.js\";\nfunction codeFrame(src, loc) {\n if (!loc || loc.line === void 0 || loc.column === void 0) {\n return \"\";\n }\n const lines = normalizeLF(src).split(\"\\n\").map((ln) => ln.replace(/\\t/g, \" \"));\n const visibleLines = [];\n for (let n = -2; n <= 2; n++) {\n if (lines[loc.line + n]) visibleLines.push(loc.line + n);\n }\n let gutterWidth = 0;\n for (const lineNo of visibleLines) {\n let w = `> ${lineNo}`;\n if (w.length > gutterWidth) gutterWidth = w.length;\n }\n let output = \"\";\n for (const lineNo of visibleLines) {\n const isFocusedLine = lineNo === loc.line - 1;\n output += isFocusedLine ? \"> \" : \" \";\n output += `${lineNo + 1} | ${lines[lineNo]}\n`;\n if (isFocusedLine)\n output += `${Array.from({ length: gutterWidth }).join(\" \")} | ${Array.from({\n length: loc.column\n }).join(\" \")}^\n`;\n }\n return output;\n}\nexport {\n codeFrame\n};\n","import { codeFrame } from \"./printer.js\";\nfunction isAstroError(e) {\n return e instanceof AstroError;\n}\nclass AstroError extends Error {\n loc;\n title;\n hint;\n frame;\n type = \"AstroError\";\n constructor(props, options) {\n const { name, title, message, stack, location, hint, frame } = props;\n super(message, options);\n this.title = title;\n this.name = name;\n if (message) this.message = message;\n this.stack = stack ? stack : this.stack;\n this.loc = location;\n this.hint = hint;\n this.frame = frame;\n }\n setLocation(location) {\n this.loc = location;\n }\n setName(name) {\n this.name = name;\n }\n setMessage(message) {\n this.message = message;\n }\n setHint(hint) {\n this.hint = hint;\n }\n setFrame(source, location) {\n this.frame = codeFrame(source, location);\n }\n static is(err) {\n return err.type === \"AstroError\";\n }\n}\nclass CompilerError extends AstroError {\n type = \"CompilerError\";\n constructor(props, options) {\n super(props, options);\n }\n static is(err) {\n return err.type === \"CompilerError\";\n }\n}\nclass CSSError extends AstroError {\n type = \"CSSError\";\n static is(err) {\n return err.type === \"CSSError\";\n }\n}\nclass MarkdownError extends AstroError {\n type = \"MarkdownError\";\n static is(err) {\n return err.type === \"MarkdownError\";\n }\n}\nclass InternalError extends AstroError {\n type = \"InternalError\";\n static is(err) {\n return err.type === \"InternalError\";\n }\n}\nclass AggregateError extends AstroError {\n type = \"AggregateError\";\n errors;\n // Despite being a collection of errors, AggregateError still needs to have a main error attached to it\n // This is because Vite expects every thrown errors handled during HMR to be, well, Error and have a message\n constructor(props, options) {\n super(props, options);\n this.errors = props.errors;\n }\n static is(err) {\n return err.type === \"AggregateError\";\n }\n}\nconst astroConfigZodErrors = /* @__PURE__ */ new WeakSet();\nfunction isAstroConfigZodError(error) {\n return astroConfigZodErrors.has(error);\n}\nfunction trackAstroConfigZodError(error) {\n astroConfigZodErrors.add(error);\n}\nclass AstroUserError extends Error {\n type = \"AstroUserError\";\n /**\n * A message that explains to the user how they can fix the error.\n */\n hint;\n name = \"AstroUserError\";\n constructor(message, hint) {\n super();\n this.message = message;\n this.hint = hint;\n }\n static is(err) {\n return err.type === \"AstroUserError\";\n }\n}\nexport {\n AggregateError,\n AstroError,\n AstroUserError,\n CSSError,\n CompilerError,\n InternalError,\n MarkdownError,\n isAstroConfigZodError,\n isAstroError,\n trackAstroConfigZodError\n};\n","import { AstroError, AstroErrorData } from \"../../core/errors/index.js\";\nfunction validateArgs(args) {\n if (args.length !== 3) return false;\n if (!args[0] || typeof args[0] !== \"object\") return false;\n return true;\n}\nfunction baseCreateComponent(cb, moduleId, propagation) {\n const name = moduleId?.split(\"/\").pop()?.replace(\".astro\", \"\") ?? \"\";\n const fn = (...args) => {\n if (!validateArgs(args)) {\n throw new AstroError({\n ...AstroErrorData.InvalidComponentArgs,\n message: AstroErrorData.InvalidComponentArgs.message(name)\n });\n }\n return cb(...args);\n };\n Object.defineProperty(fn, \"name\", { value: name, writable: false });\n fn.isAstroComponentFactory = true;\n fn.moduleId = moduleId;\n fn.propagation = propagation;\n return fn;\n}\nfunction createComponentWithOptions(opts) {\n const cb = baseCreateComponent(opts.factory, opts.moduleId, opts.propagation);\n return cb;\n}\nfunction createComponent(arg1, moduleId, propagation) {\n if (typeof arg1 === \"function\") {\n return baseCreateComponent(arg1, moduleId, propagation);\n } else {\n return createComponentWithOptions(arg1);\n }\n}\nexport {\n createComponent\n};\n","const ASTRO_VERSION = \"4.15.1\";\nconst REROUTE_DIRECTIVE_HEADER = \"X-Astro-Reroute\";\nconst REWRITE_DIRECTIVE_HEADER_KEY = \"X-Astro-Rewrite\";\nconst REWRITE_DIRECTIVE_HEADER_VALUE = \"yes\";\nconst ROUTE_TYPE_HEADER = \"X-Astro-Route-Type\";\nconst DEFAULT_404_COMPONENT = \"astro-default-404.astro\";\nconst DEFAULT_500_COMPONENT = \"astro-default-500.astro\";\nconst REDIRECT_STATUS_CODES = [301, 302, 303, 307, 308, 300, 304];\nconst REROUTABLE_STATUS_CODES = [404, 500];\nconst clientAddressSymbol = Symbol.for(\"astro.clientAddress\");\nconst clientLocalsSymbol = Symbol.for(\"astro.locals\");\nconst responseSentSymbol = Symbol.for(\"astro.responseSent\");\nconst SUPPORTED_MARKDOWN_FILE_EXTENSIONS = [\n \".markdown\",\n \".mdown\",\n \".mkdn\",\n \".mkd\",\n \".mdwn\",\n \".md\"\n];\nconst MIDDLEWARE_PATH_SEGMENT_NAME = \"middleware\";\nexport {\n ASTRO_VERSION,\n DEFAULT_404_COMPONENT,\n DEFAULT_500_COMPONENT,\n MIDDLEWARE_PATH_SEGMENT_NAME,\n REDIRECT_STATUS_CODES,\n REROUTABLE_STATUS_CODES,\n REROUTE_DIRECTIVE_HEADER,\n REWRITE_DIRECTIVE_HEADER_KEY,\n REWRITE_DIRECTIVE_HEADER_VALUE,\n ROUTE_TYPE_HEADER,\n SUPPORTED_MARKDOWN_FILE_EXTENSIONS,\n clientAddressSymbol,\n clientLocalsSymbol,\n responseSentSymbol\n};\n","import { ASTRO_VERSION } from \"../../core/constants.js\";\nimport { AstroError, AstroErrorData } from \"../../core/errors/index.js\";\nfunction createAstroGlobFn() {\n const globHandler = (importMetaGlobResult) => {\n if (typeof importMetaGlobResult === \"string\") {\n throw new AstroError({\n ...AstroErrorData.AstroGlobUsedOutside,\n message: AstroErrorData.AstroGlobUsedOutside.message(JSON.stringify(importMetaGlobResult))\n });\n }\n let allEntries = [...Object.values(importMetaGlobResult)];\n if (allEntries.length === 0) {\n throw new AstroError({\n ...AstroErrorData.AstroGlobNoMatch,\n message: AstroErrorData.AstroGlobNoMatch.message(JSON.stringify(importMetaGlobResult))\n });\n }\n return Promise.all(allEntries.map((fn) => fn()));\n };\n return globHandler;\n}\nfunction createAstro(site) {\n return {\n // TODO: this is no longer necessary for `Astro.site`\n // but it somehow allows working around caching issues in content collections for some tests\n site: site ? new URL(site) : void 0,\n generator: `Astro v${ASTRO_VERSION}`,\n glob: createAstroGlobFn()\n };\n}\nexport {\n createAstro\n};\n","function isPromise(value) {\n return !!value && typeof value === \"object\" && \"then\" in value && typeof value.then === \"function\";\n}\nasync function* streamAsyncIterator(stream) {\n const reader = stream.getReader();\n try {\n while (true) {\n const { done, value } = await reader.read();\n if (done) return;\n yield value;\n }\n } finally {\n reader.releaseLock();\n }\n}\nexport {\n isPromise,\n streamAsyncIterator\n};\n","import { escape } from \"html-escaper\";\nimport { streamAsyncIterator } from \"./util.js\";\nconst escapeHTML = escape;\nclass HTMLBytes extends Uint8Array {\n}\nObject.defineProperty(HTMLBytes.prototype, Symbol.toStringTag, {\n get() {\n return \"HTMLBytes\";\n }\n});\nclass HTMLString extends String {\n get [Symbol.toStringTag]() {\n return \"HTMLString\";\n }\n}\nconst markHTMLString = (value) => {\n if (value instanceof HTMLString) {\n return value;\n }\n if (typeof value === \"string\") {\n return new HTMLString(value);\n }\n return value;\n};\nfunction isHTMLString(value) {\n return Object.prototype.toString.call(value) === \"[object HTMLString]\";\n}\nfunction markHTMLBytes(bytes) {\n return new HTMLBytes(bytes);\n}\nfunction isHTMLBytes(value) {\n return Object.prototype.toString.call(value) === \"[object HTMLBytes]\";\n}\nfunction hasGetReader(obj) {\n return typeof obj.getReader === \"function\";\n}\nasync function* unescapeChunksAsync(iterable) {\n if (hasGetReader(iterable)) {\n for await (const chunk of streamAsyncIterator(iterable)) {\n yield unescapeHTML(chunk);\n }\n } else {\n for await (const chunk of iterable) {\n yield unescapeHTML(chunk);\n }\n }\n}\nfunction* unescapeChunks(iterable) {\n for (const chunk of iterable) {\n yield unescapeHTML(chunk);\n }\n}\nfunction unescapeHTML(str) {\n if (!!str && typeof str === \"object\") {\n if (str instanceof Uint8Array) {\n return markHTMLBytes(str);\n } else if (str instanceof Response && str.body) {\n const body = str.body;\n return unescapeChunksAsync(body);\n } else if (typeof str.then === \"function\") {\n return Promise.resolve(str).then((value) => {\n return unescapeHTML(value);\n });\n } else if (str[Symbol.for(\"astro:slot-string\")]) {\n return str;\n } else if (Symbol.iterator in str) {\n return unescapeChunks(str);\n } else if (Symbol.asyncIterator in str || hasGetReader(str)) {\n return unescapeChunksAsync(str);\n }\n }\n return markHTMLString(str);\n}\nexport {\n HTMLBytes,\n HTMLString,\n escapeHTML,\n isHTMLBytes,\n isHTMLString,\n markHTMLString,\n unescapeHTML\n};\n","const RenderInstructionSymbol = Symbol.for(\"astro:render\");\nfunction createRenderInstruction(instruction) {\n return Object.defineProperty(instruction, RenderInstructionSymbol, {\n value: true\n });\n}\nfunction isRenderInstruction(chunk) {\n return chunk && typeof chunk === \"object\" && chunk[RenderInstructionSymbol];\n}\nexport {\n createRenderInstruction,\n isRenderInstruction\n};\n","const PROP_TYPE = {\n Value: 0,\n JSON: 1,\n // Actually means Array\n RegExp: 2,\n Date: 3,\n Map: 4,\n Set: 5,\n BigInt: 6,\n URL: 7,\n Uint8Array: 8,\n Uint16Array: 9,\n Uint32Array: 10\n};\nfunction serializeArray(value, metadata = {}, parents = /* @__PURE__ */ new WeakSet()) {\n if (parents.has(value)) {\n throw new Error(`Cyclic reference detected while serializing props for <${metadata.displayName} client:${metadata.hydrate}>!\n\nCyclic references cannot be safely serialized for client-side usage. Please remove the cyclic reference.`);\n }\n parents.add(value);\n const serialized = value.map((v) => {\n return convertToSerializedForm(v, metadata, parents);\n });\n parents.delete(value);\n return serialized;\n}\nfunction serializeObject(value, metadata = {}, parents = /* @__PURE__ */ new WeakSet()) {\n if (parents.has(value)) {\n throw new Error(`Cyclic reference detected while serializing props for <${metadata.displayName} client:${metadata.hydrate}>!\n\nCyclic references cannot be safely serialized for client-side usage. Please remove the cyclic reference.`);\n }\n parents.add(value);\n const serialized = Object.fromEntries(\n Object.entries(value).map(([k, v]) => {\n return [k, convertToSerializedForm(v, metadata, parents)];\n })\n );\n parents.delete(value);\n return serialized;\n}\nfunction convertToSerializedForm(value, metadata = {}, parents = /* @__PURE__ */ new WeakSet()) {\n const tag = Object.prototype.toString.call(value);\n switch (tag) {\n case \"[object Date]\": {\n return [PROP_TYPE.Date, value.toISOString()];\n }\n case \"[object RegExp]\": {\n return [PROP_TYPE.RegExp, value.source];\n }\n case \"[object Map]\": {\n return [PROP_TYPE.Map, serializeArray(Array.from(value), metadata, parents)];\n }\n case \"[object Set]\": {\n return [PROP_TYPE.Set, serializeArray(Array.from(value), metadata, parents)];\n }\n case \"[object BigInt]\": {\n return [PROP_TYPE.BigInt, value.toString()];\n }\n case \"[object URL]\": {\n return [PROP_TYPE.URL, value.toString()];\n }\n case \"[object Array]\": {\n return [PROP_TYPE.JSON, serializeArray(value, metadata, parents)];\n }\n case \"[object Uint8Array]\": {\n return [PROP_TYPE.Uint8Array, Array.from(value)];\n }\n case \"[object Uint16Array]\": {\n return [PROP_TYPE.Uint16Array, Array.from(value)];\n }\n case \"[object Uint32Array]\": {\n return [PROP_TYPE.Uint32Array, Array.from(value)];\n }\n default: {\n if (value !== null && typeof value === \"object\") {\n return [PROP_TYPE.Value, serializeObject(value, metadata, parents)];\n } else if (value === void 0) {\n return [PROP_TYPE.Value];\n } else {\n return [PROP_TYPE.Value, value];\n }\n }\n }\n}\nfunction serializeProps(props, metadata) {\n const serialized = JSON.stringify(serializeObject(props, metadata));\n return serialized;\n}\nexport {\n serializeProps\n};\n","import { AstroError, AstroErrorData } from \"../../core/errors/index.js\";\nimport { escapeHTML } from \"./escape.js\";\nimport { serializeProps } from \"./serialize.js\";\nconst transitionDirectivesToCopyOnIsland = Object.freeze([\n \"data-astro-transition-scope\",\n \"data-astro-transition-persist\",\n \"data-astro-transition-persist-props\"\n]);\nfunction extractDirectives(inputProps, clientDirectives) {\n let extracted = {\n isPage: false,\n hydration: null,\n props: {},\n propsWithoutTransitionAttributes: {}\n };\n for (const [key, value] of Object.entries(inputProps)) {\n if (key.startsWith(\"server:\")) {\n if (key === \"server:root\") {\n extracted.isPage = true;\n }\n }\n if (key.startsWith(\"client:\")) {\n if (!extracted.hydration) {\n extracted.hydration = {\n directive: \"\",\n value: \"\",\n componentUrl: \"\",\n componentExport: { value: \"\" }\n };\n }\n switch (key) {\n case \"client:component-path\": {\n extracted.hydration.componentUrl = value;\n break;\n }\n case \"client:component-export\": {\n extracted.hydration.componentExport.value = value;\n break;\n }\n case \"client:component-hydration\": {\n break;\n }\n case \"client:display-name\": {\n break;\n }\n default: {\n extracted.hydration.directive = key.split(\":\")[1];\n extracted.hydration.value = value;\n if (!clientDirectives.has(extracted.hydration.directive)) {\n const hydrationMethods = Array.from(clientDirectives.keys()).map((d) => `client:${d}`).join(\", \");\n throw new Error(\n `Error: invalid hydration directive \"${key}\". Supported hydration methods: ${hydrationMethods}`\n );\n }\n if (extracted.hydration.directive === \"media\" && typeof extracted.hydration.value !== \"string\") {\n throw new AstroError(AstroErrorData.MissingMediaQueryDirective);\n }\n break;\n }\n }\n } else {\n extracted.props[key] = value;\n if (!transitionDirectivesToCopyOnIsland.includes(key)) {\n extracted.propsWithoutTransitionAttributes[key] = value;\n }\n }\n }\n for (const sym of Object.getOwnPropertySymbols(inputProps)) {\n extracted.props[sym] = inputProps[sym];\n extracted.propsWithoutTransitionAttributes[sym] = inputProps[sym];\n }\n return extracted;\n}\nasync function generateHydrateScript(scriptOptions, metadata) {\n const { renderer, result, astroId, props, attrs } = scriptOptions;\n const { hydrate, componentUrl, componentExport } = metadata;\n if (!componentExport.value) {\n throw new AstroError({\n ...AstroErrorData.NoMatchingImport,\n message: AstroErrorData.NoMatchingImport.message(metadata.displayName)\n });\n }\n const island = {\n children: \"\",\n props: {\n // This is for HMR, probably can avoid it in prod\n uid: astroId\n }\n };\n if (attrs) {\n for (const [key, value] of Object.entries(attrs)) {\n island.props[key] = escapeHTML(value);\n }\n }\n island.props[\"component-url\"] = await result.resolve(decodeURI(componentUrl));\n if (renderer.clientEntrypoint) {\n island.props[\"component-export\"] = componentExport.value;\n island.props[\"renderer-url\"] = await result.resolve(decodeURI(renderer.clientEntrypoint));\n island.props[\"props\"] = escapeHTML(serializeProps(props, metadata));\n }\n island.props[\"ssr\"] = \"\";\n island.props[\"client\"] = hydrate;\n let beforeHydrationUrl = await result.resolve(\"astro:scripts/before-hydration.js\");\n if (beforeHydrationUrl.length) {\n island.props[\"before-hydration-url\"] = beforeHydrationUrl;\n }\n island.props[\"opts\"] = escapeHTML(\n JSON.stringify({\n name: metadata.displayName,\n value: metadata.hydrateArgs || \"\"\n })\n );\n transitionDirectivesToCopyOnIsland.forEach((name) => {\n if (typeof props[name] !== \"undefined\") {\n island.props[name] = props[name];\n }\n });\n return island;\n}\nexport {\n extractDirectives,\n generateHydrateScript\n};\n","/**\n * shortdash - https://github.com/bibig/node-shorthash\n *\n * @license\n *\n * (The MIT License)\n *\n * Copyright (c) 2013 Bibig \n *\n * Permission is hereby granted, free of charge, to any person\n * obtaining a copy of this software and associated documentation\n * files (the \"Software\"), to deal in the Software without\n * restriction, including without limitation the rights to use,\n * copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the\n * Software is furnished to do so, subject to the following\n * conditions:\n *\n * The above copyright notice and this permission notice shall be\n * included in all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\n * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES\n * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\n * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT\n * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,\n * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING\n * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR\n * OTHER DEALINGS IN THE SOFTWARE.\n */\nconst dictionary = \"0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXY\";\nconst binary = dictionary.length;\nfunction bitwise(str) {\n let hash = 0;\n if (str.length === 0) return hash;\n for (let i = 0; i < str.length; i++) {\n const ch = str.charCodeAt(i);\n hash = (hash << 5) - hash + ch;\n hash = hash & hash;\n }\n return hash;\n}\nfunction shorthash(text) {\n let num;\n let result = \"\";\n let integer = bitwise(text);\n const sign = integer < 0 ? \"Z\" : \"\";\n integer = Math.abs(integer);\n while (integer >= binary) {\n num = integer % binary;\n integer = Math.floor(integer / binary);\n result = dictionary[num] + result;\n }\n if (integer > 0) {\n result = dictionary[integer] + result;\n }\n return sign + result;\n}\nexport {\n shorthash\n};\n","function isAstroComponentFactory(obj) {\n return obj == null ? false : obj.isAstroComponentFactory === true;\n}\nfunction isAPropagatingComponent(result, factory) {\n let hint = factory.propagation || \"none\";\n if (factory.moduleId && result.componentMetadata.has(factory.moduleId) && hint === \"none\") {\n hint = result.componentMetadata.get(factory.moduleId).propagation;\n }\n return hint === \"in-tree\" || hint === \"self\";\n}\nexport {\n isAPropagatingComponent,\n isAstroComponentFactory\n};\n","const headAndContentSym = Symbol.for(\"astro.headAndContent\");\nfunction isHeadAndContent(obj) {\n return typeof obj === \"object\" && !!obj[headAndContentSym];\n}\nfunction createHeadAndContent(head, content) {\n return {\n [headAndContentSym]: true,\n head,\n content\n };\n}\nexport {\n createHeadAndContent,\n isHeadAndContent\n};\n","var astro_island_prebuilt_dev_default = `(()=>{var A=Object.defineProperty;var g=(i,o,a)=>o in i?A(i,o,{enumerable:!0,configurable:!0,writable:!0,value:a}):i[o]=a;var l=(i,o,a)=>g(i,typeof o!=\"symbol\"?o+\"\":o,a);{let i={0:t=>y(t),1:t=>a(t),2:t=>new RegExp(t),3:t=>new Date(t),4:t=>new Map(a(t)),5:t=>new Set(a(t)),6:t=>BigInt(t),7:t=>new URL(t),8:t=>new Uint8Array(t),9:t=>new Uint16Array(t),10:t=>new Uint32Array(t)},o=t=>{let[h,e]=t;return h in i?i[h](e):void 0},a=t=>t.map(o),y=t=>typeof t!=\"object\"||t===null?t:Object.fromEntries(Object.entries(t).map(([h,e])=>[h,o(e)]));class f extends HTMLElement{constructor(){super(...arguments);l(this,\"Component\");l(this,\"hydrator\");l(this,\"hydrate\",async()=>{var b;if(!this.hydrator||!this.isConnected)return;let e=(b=this.parentElement)==null?void 0:b.closest(\"astro-island[ssr]\");if(e){e.addEventListener(\"astro:hydrate\",this.hydrate,{once:!0});return}let c=this.querySelectorAll(\"astro-slot\"),n={},p=this.querySelectorAll(\"template[data-astro-template]\");for(let r of p){let s=r.closest(this.tagName);s!=null&&s.isSameNode(this)&&(n[r.getAttribute(\"data-astro-template\")||\"default\"]=r.innerHTML,r.remove())}for(let r of c){let s=r.closest(this.tagName);s!=null&&s.isSameNode(this)&&(n[r.getAttribute(\"name\")||\"default\"]=r.innerHTML)}let u;try{u=this.hasAttribute(\"props\")?y(JSON.parse(this.getAttribute(\"props\"))):{}}catch(r){let s=this.getAttribute(\"component-url\")||\"\",v=this.getAttribute(\"component-export\");throw v&&(s+=\\` (export \\${v})\\`),console.error(\\`[hydrate] Error parsing props for component \\${s}\\`,this.getAttribute(\"props\"),r),r}let d,m=this.hydrator(this);d=performance.now(),await m(this.Component,u,n,{client:this.getAttribute(\"client\")}),d&&this.setAttribute(\"client-render-time\",(performance.now()-d).toString()),this.removeAttribute(\"ssr\"),this.dispatchEvent(new CustomEvent(\"astro:hydrate\"))});l(this,\"unmount\",()=>{this.isConnected||this.dispatchEvent(new CustomEvent(\"astro:unmount\"))})}disconnectedCallback(){document.removeEventListener(\"astro:after-swap\",this.unmount),document.addEventListener(\"astro:after-swap\",this.unmount,{once:!0})}connectedCallback(){if(!this.hasAttribute(\"await-children\")||document.readyState===\"interactive\"||document.readyState===\"complete\")this.childrenConnectedCallback();else{let e=()=>{document.removeEventListener(\"DOMContentLoaded\",e),c.disconnect(),this.childrenConnectedCallback()},c=new MutationObserver(()=>{var n;((n=this.lastChild)==null?void 0:n.nodeType)===Node.COMMENT_NODE&&this.lastChild.nodeValue===\"astro:end\"&&(this.lastChild.remove(),e())});c.observe(this,{childList:!0}),document.addEventListener(\"DOMContentLoaded\",e)}}async childrenConnectedCallback(){let e=this.getAttribute(\"before-hydration-url\");e&&await import(e),this.start()}async start(){let e=JSON.parse(this.getAttribute(\"opts\")),c=this.getAttribute(\"client\");if(Astro[c]===void 0){window.addEventListener(\\`astro:\\${c}\\`,()=>this.start(),{once:!0});return}try{await Astro[c](async()=>{let n=this.getAttribute(\"renderer-url\"),[p,{default:u}]=await Promise.all([import(this.getAttribute(\"component-url\")),n?import(n):()=>()=>{}]),d=this.getAttribute(\"component-export\")||\"default\";if(!d.includes(\".\"))this.Component=p[d];else{this.Component=p;for(let m of d.split(\".\"))this.Component=this.Component[m]}return this.hydrator=u,this.hydrate},e,this)}catch(n){console.error(\\`[astro-island] Error hydrating \\${this.getAttribute(\"component-url\")}\\`,n)}}attributeChangedCallback(){this.hydrate()}}l(f,\"observedAttributes\",[\"props\"]),customElements.get(\"astro-island\")||customElements.define(\"astro-island\",f)}})();`;\nexport {\n astro_island_prebuilt_dev_default as default\n};\n","var astro_island_prebuilt_default = `(()=>{var A=Object.defineProperty;var g=(i,o,a)=>o in i?A(i,o,{enumerable:!0,configurable:!0,writable:!0,value:a}):i[o]=a;var d=(i,o,a)=>g(i,typeof o!=\"symbol\"?o+\"\":o,a);{let i={0:t=>m(t),1:t=>a(t),2:t=>new RegExp(t),3:t=>new Date(t),4:t=>new Map(a(t)),5:t=>new Set(a(t)),6:t=>BigInt(t),7:t=>new URL(t),8:t=>new Uint8Array(t),9:t=>new Uint16Array(t),10:t=>new Uint32Array(t)},o=t=>{let[l,e]=t;return l in i?i[l](e):void 0},a=t=>t.map(o),m=t=>typeof t!=\"object\"||t===null?t:Object.fromEntries(Object.entries(t).map(([l,e])=>[l,o(e)]));class y extends HTMLElement{constructor(){super(...arguments);d(this,\"Component\");d(this,\"hydrator\");d(this,\"hydrate\",async()=>{var b;if(!this.hydrator||!this.isConnected)return;let e=(b=this.parentElement)==null?void 0:b.closest(\"astro-island[ssr]\");if(e){e.addEventListener(\"astro:hydrate\",this.hydrate,{once:!0});return}let c=this.querySelectorAll(\"astro-slot\"),n={},h=this.querySelectorAll(\"template[data-astro-template]\");for(let r of h){let s=r.closest(this.tagName);s!=null&&s.isSameNode(this)&&(n[r.getAttribute(\"data-astro-template\")||\"default\"]=r.innerHTML,r.remove())}for(let r of c){let s=r.closest(this.tagName);s!=null&&s.isSameNode(this)&&(n[r.getAttribute(\"name\")||\"default\"]=r.innerHTML)}let p;try{p=this.hasAttribute(\"props\")?m(JSON.parse(this.getAttribute(\"props\"))):{}}catch(r){let s=this.getAttribute(\"component-url\")||\"\",v=this.getAttribute(\"component-export\");throw v&&(s+=\\` (export \\${v})\\`),console.error(\\`[hydrate] Error parsing props for component \\${s}\\`,this.getAttribute(\"props\"),r),r}let u;await this.hydrator(this)(this.Component,p,n,{client:this.getAttribute(\"client\")}),this.removeAttribute(\"ssr\"),this.dispatchEvent(new CustomEvent(\"astro:hydrate\"))});d(this,\"unmount\",()=>{this.isConnected||this.dispatchEvent(new CustomEvent(\"astro:unmount\"))})}disconnectedCallback(){document.removeEventListener(\"astro:after-swap\",this.unmount),document.addEventListener(\"astro:after-swap\",this.unmount,{once:!0})}connectedCallback(){if(!this.hasAttribute(\"await-children\")||document.readyState===\"interactive\"||document.readyState===\"complete\")this.childrenConnectedCallback();else{let e=()=>{document.removeEventListener(\"DOMContentLoaded\",e),c.disconnect(),this.childrenConnectedCallback()},c=new MutationObserver(()=>{var n;((n=this.lastChild)==null?void 0:n.nodeType)===Node.COMMENT_NODE&&this.lastChild.nodeValue===\"astro:end\"&&(this.lastChild.remove(),e())});c.observe(this,{childList:!0}),document.addEventListener(\"DOMContentLoaded\",e)}}async childrenConnectedCallback(){let e=this.getAttribute(\"before-hydration-url\");e&&await import(e),this.start()}async start(){let e=JSON.parse(this.getAttribute(\"opts\")),c=this.getAttribute(\"client\");if(Astro[c]===void 0){window.addEventListener(\\`astro:\\${c}\\`,()=>this.start(),{once:!0});return}try{await Astro[c](async()=>{let n=this.getAttribute(\"renderer-url\"),[h,{default:p}]=await Promise.all([import(this.getAttribute(\"component-url\")),n?import(n):()=>()=>{}]),u=this.getAttribute(\"component-export\")||\"default\";if(!u.includes(\".\"))this.Component=h[u];else{this.Component=h;for(let f of u.split(\".\"))this.Component=this.Component[f]}return this.hydrator=p,this.hydrate},e,this)}catch(n){console.error(\\`[astro-island] Error hydrating \\${this.getAttribute(\"component-url\")}\\`,n)}}attributeChangedCallback(){this.hydrate()}}d(y,\"observedAttributes\",[\"props\"]),customElements.get(\"astro-island\")||customElements.define(\"astro-island\",y)}})();`;\nexport {\n astro_island_prebuilt_default as default\n};\n","import islandScriptDev from \"./astro-island.prebuilt-dev.js\";\nimport islandScript from \"./astro-island.prebuilt.js\";\nconst ISLAND_STYLES = ``;\nfunction determineIfNeedsHydrationScript(result) {\n if (result._metadata.hasHydrationScript) {\n return false;\n }\n return result._metadata.hasHydrationScript = true;\n}\nfunction determinesIfNeedsDirectiveScript(result, directive) {\n if (result._metadata.hasDirectives.has(directive)) {\n return false;\n }\n result._metadata.hasDirectives.add(directive);\n return true;\n}\nfunction getDirectiveScriptText(result, directive) {\n const clientDirectives = result.clientDirectives;\n const clientDirective = clientDirectives.get(directive);\n if (!clientDirective) {\n throw new Error(`Unknown directive: ${directive}`);\n }\n return clientDirective;\n}\nfunction getPrescripts(result, type, directive) {\n switch (type) {\n case \"both\":\n return `${ISLAND_STYLES}`;\n case \"directive\":\n return ``;\n case null:\n break;\n }\n return \"\";\n}\nexport {\n determineIfNeedsHydrationScript,\n determinesIfNeedsDirectiveScript,\n getPrescripts\n};\n","import { clsx } from \"clsx\";\nimport { HTMLString, markHTMLString } from \"../escape.js\";\nconst voidElementNames = /^(area|base|br|col|command|embed|hr|img|input|keygen|link|meta|param|source|track|wbr)$/i;\nconst htmlBooleanAttributes = /^(?:allowfullscreen|async|autofocus|autoplay|controls|default|defer|disabled|disablepictureinpicture|disableremoteplayback|formnovalidate|hidden|loop|nomodule|novalidate|open|playsinline|readonly|required|reversed|scoped|seamless|itemscope)$/i;\nconst htmlEnumAttributes = /^(?:contenteditable|draggable|spellcheck|value)$/i;\nconst svgEnumAttributes = /^(?:autoReverse|externalResourcesRequired|focusable|preserveAlpha)$/i;\nconst AMPERSAND_REGEX = /&/g;\nconst DOUBLE_QUOTE_REGEX = /\"/g;\nconst STATIC_DIRECTIVES = /* @__PURE__ */ new Set([\"set:html\", \"set:text\"]);\nconst toIdent = (k) => k.trim().replace(/(?!^)\\b\\w|\\s+|\\W+/g, (match, index) => {\n if (/\\W/.test(match)) return \"\";\n return index === 0 ? match : match.toUpperCase();\n});\nconst toAttributeString = (value, shouldEscape = true) => shouldEscape ? String(value).replace(AMPERSAND_REGEX, \"&\").replace(DOUBLE_QUOTE_REGEX, \""\") : value;\nconst kebab = (k) => k.toLowerCase() === k ? k : k.replace(/[A-Z]/g, (match) => `-${match.toLowerCase()}`);\nconst toStyleString = (obj) => Object.entries(obj).filter(([_, v]) => typeof v === \"string\" && v.trim() || typeof v === \"number\").map(([k, v]) => {\n if (k[0] !== \"-\" && k[1] !== \"-\") return `${kebab(k)}:${v}`;\n return `${k}:${v}`;\n}).join(\";\");\nfunction defineScriptVars(vars) {\n let output = \"\";\n for (const [key, value] of Object.entries(vars)) {\n output += `const ${toIdent(key)} = ${JSON.stringify(value)?.replace(\n /<\\/script>/g,\n \"\\\\x3C/script>\"\n )};\n`;\n }\n return markHTMLString(output);\n}\nfunction formatList(values) {\n if (values.length === 1) {\n return values[0];\n }\n return `${values.slice(0, -1).join(\", \")} or ${values[values.length - 1]}`;\n}\nfunction addAttribute(value, key, shouldEscape = true) {\n if (value == null) {\n return \"\";\n }\n if (value === false) {\n if (htmlEnumAttributes.test(key) || svgEnumAttributes.test(key)) {\n return markHTMLString(` ${key}=\"false\"`);\n }\n return \"\";\n }\n if (STATIC_DIRECTIVES.has(key)) {\n console.warn(`[astro] The \"${key}\" directive cannot be applied dynamically at runtime. It will not be rendered as an attribute.\n\nMake sure to use the static attribute syntax (\\`${key}={value}\\`) instead of the dynamic spread syntax (\\`{...{ \"${key}\": value }}\\`).`);\n return \"\";\n }\n if (key === \"class:list\") {\n const listValue = toAttributeString(clsx(value), shouldEscape);\n if (listValue === \"\") {\n return \"\";\n }\n return markHTMLString(` ${key.slice(0, -5)}=\"${listValue}\"`);\n }\n if (key === \"style\" && !(value instanceof HTMLString)) {\n if (Array.isArray(value) && value.length === 2) {\n return markHTMLString(\n ` ${key}=\"${toAttributeString(`${toStyleString(value[0])};${value[1]}`, shouldEscape)}\"`\n );\n }\n if (typeof value === \"object\") {\n return markHTMLString(` ${key}=\"${toAttributeString(toStyleString(value), shouldEscape)}\"`);\n }\n }\n if (key === \"className\") {\n return markHTMLString(` class=\"${toAttributeString(value, shouldEscape)}\"`);\n }\n if (typeof value === \"string\" && value.includes(\"&\") && isHttpUrl(value)) {\n return markHTMLString(` ${key}=\"${toAttributeString(value, false)}\"`);\n }\n if (value === true && (key.startsWith(\"data-\") || htmlBooleanAttributes.test(key))) {\n return markHTMLString(` ${key}`);\n } else {\n return markHTMLString(` ${key}=\"${toAttributeString(value, shouldEscape)}\"`);\n }\n}\nfunction internalSpreadAttributes(values, shouldEscape = true) {\n let output = \"\";\n for (const [key, value] of Object.entries(values)) {\n output += addAttribute(value, key, shouldEscape);\n }\n return markHTMLString(output);\n}\nfunction renderElement(name, { props: _props, children = \"\" }, shouldEscape = true) {\n const { lang: _, \"data-astro-id\": astroId, \"define:vars\": defineVars, ...props } = _props;\n if (defineVars) {\n if (name === \"style\") {\n delete props[\"is:global\"];\n delete props[\"is:scoped\"];\n }\n if (name === \"script\") {\n delete props.hoist;\n children = defineScriptVars(defineVars) + \"\\n\" + children;\n }\n }\n if ((children == null || children == \"\") && voidElementNames.test(name)) {\n return `<${name}${internalSpreadAttributes(props, shouldEscape)}>`;\n }\n return `<${name}${internalSpreadAttributes(props, shouldEscape)}>${children}`;\n}\nconst noop = () => {\n};\nclass BufferedRenderer {\n chunks = [];\n renderPromise;\n destination;\n constructor(bufferRenderFunction) {\n this.renderPromise = bufferRenderFunction(this);\n Promise.resolve(this.renderPromise).catch(noop);\n }\n write(chunk) {\n if (this.destination) {\n this.destination.write(chunk);\n } else {\n this.chunks.push(chunk);\n }\n }\n async renderToFinalDestination(destination) {\n for (const chunk of this.chunks) {\n destination.write(chunk);\n }\n this.destination = destination;\n await this.renderPromise;\n }\n}\nfunction renderToBufferDestination(bufferRenderFunction) {\n const renderer = new BufferedRenderer(bufferRenderFunction);\n return renderer;\n}\nconst isNode = typeof process !== \"undefined\" && Object.prototype.toString.call(process) === \"[object process]\";\nconst isDeno = typeof Deno !== \"undefined\";\nfunction promiseWithResolvers() {\n let resolve, reject;\n const promise = new Promise((_resolve, _reject) => {\n resolve = _resolve;\n reject = _reject;\n });\n return {\n promise,\n resolve,\n reject\n };\n}\nconst VALID_PROTOCOLS = [\"http:\", \"https:\"];\nfunction isHttpUrl(url) {\n try {\n const parsedUrl = new URL(url);\n return VALID_PROTOCOLS.includes(parsedUrl.protocol);\n } catch {\n return false;\n }\n}\nexport {\n addAttribute,\n defineScriptVars,\n formatList,\n internalSpreadAttributes,\n isDeno,\n isNode,\n promiseWithResolvers,\n renderElement,\n renderToBufferDestination,\n toAttributeString,\n voidElementNames\n};\n","import { markHTMLString } from \"../escape.js\";\nimport { createRenderInstruction } from \"./instruction.js\";\nimport { renderElement } from \"./util.js\";\nconst uniqueElements = (item, index, all) => {\n const props = JSON.stringify(item.props);\n const children = item.children;\n return index === all.findIndex((i) => JSON.stringify(i.props) === props && i.children == children);\n};\nfunction renderAllHeadContent(result) {\n result._metadata.hasRenderedHead = true;\n const styles = Array.from(result.styles).filter(uniqueElements).map(\n (style) => style.props.rel === \"stylesheet\" ? renderElement(\"link\", style) : renderElement(\"style\", style)\n );\n result.styles.clear();\n const scripts = Array.from(result.scripts).filter(uniqueElements).map((script) => {\n return renderElement(\"script\", script, false);\n });\n const links = Array.from(result.links).filter(uniqueElements).map((link) => renderElement(\"link\", link, false));\n let content = styles.join(\"\\n\") + links.join(\"\\n\") + scripts.join(\"\\n\");\n if (result._metadata.extraHead.length > 0) {\n for (const part of result._metadata.extraHead) {\n content += part;\n }\n }\n return markHTMLString(content);\n}\nfunction renderHead() {\n return createRenderInstruction({ type: \"head\" });\n}\nfunction maybeRenderHead() {\n return createRenderInstruction({ type: \"maybe-head\" });\n}\nexport {\n maybeRenderHead,\n renderAllHeadContent,\n renderHead\n};\n","import { markHTMLString } from \"../../escape.js\";\nimport { isPromise } from \"../../util.js\";\nimport { renderChild } from \"../any.js\";\nimport { renderToBufferDestination } from \"../util.js\";\nconst renderTemplateResultSym = Symbol.for(\"astro.renderTemplateResult\");\nclass RenderTemplateResult {\n [renderTemplateResultSym] = true;\n htmlParts;\n expressions;\n error;\n constructor(htmlParts, expressions) {\n this.htmlParts = htmlParts;\n this.error = void 0;\n this.expressions = expressions.map((expression) => {\n if (isPromise(expression)) {\n return Promise.resolve(expression).catch((err) => {\n if (!this.error) {\n this.error = err;\n throw err;\n }\n });\n }\n return expression;\n });\n }\n async render(destination) {\n const expRenders = this.expressions.map((exp) => {\n return renderToBufferDestination((bufferDestination) => {\n if (exp || exp === 0) {\n return renderChild(bufferDestination, exp);\n }\n });\n });\n for (let i = 0; i < this.htmlParts.length; i++) {\n const html = this.htmlParts[i];\n const expRender = expRenders[i];\n destination.write(markHTMLString(html));\n if (expRender) {\n await expRender.renderToFinalDestination(destination);\n }\n }\n }\n}\nfunction isRenderTemplateResult(obj) {\n return typeof obj === \"object\" && !!obj[renderTemplateResultSym];\n}\nfunction renderTemplate(htmlParts, ...expressions) {\n return new RenderTemplateResult(htmlParts, expressions);\n}\nexport {\n RenderTemplateResult,\n isRenderTemplateResult,\n renderTemplate\n};\n","import { renderTemplate } from \"./astro/render-template.js\";\nimport { HTMLString, markHTMLString, unescapeHTML } from \"../escape.js\";\nimport { renderChild } from \"./any.js\";\nimport { chunkToString } from \"./common.js\";\nconst slotString = Symbol.for(\"astro:slot-string\");\nclass SlotString extends HTMLString {\n instructions;\n [slotString];\n constructor(content, instructions) {\n super(content);\n this.instructions = instructions;\n this[slotString] = true;\n }\n}\nfunction isSlotString(str) {\n return !!str[slotString];\n}\nfunction renderSlot(result, slotted, fallback) {\n if (!slotted && fallback) {\n return renderSlot(result, fallback);\n }\n return {\n async render(destination) {\n await renderChild(destination, typeof slotted === \"function\" ? slotted(result) : slotted);\n }\n };\n}\nasync function renderSlotToString(result, slotted, fallback) {\n let content = \"\";\n let instructions = null;\n const temporaryDestination = {\n write(chunk) {\n if (chunk instanceof SlotString) {\n content += chunk;\n if (chunk.instructions) {\n instructions ??= [];\n instructions.push(...chunk.instructions);\n }\n } else if (chunk instanceof Response) return;\n else if (typeof chunk === \"object\" && \"type\" in chunk && typeof chunk.type === \"string\") {\n if (instructions === null) {\n instructions = [];\n }\n instructions.push(chunk);\n } else {\n content += chunkToString(result, chunk);\n }\n }\n };\n const renderInstance = renderSlot(result, slotted, fallback);\n await renderInstance.render(temporaryDestination);\n return markHTMLString(new SlotString(content, instructions));\n}\nasync function renderSlots(result, slots = {}) {\n let slotInstructions = null;\n let children = {};\n if (slots) {\n await Promise.all(\n Object.entries(slots).map(\n ([key, value]) => renderSlotToString(result, value).then((output) => {\n if (output.instructions) {\n if (slotInstructions === null) {\n slotInstructions = [];\n }\n slotInstructions.push(...output.instructions);\n }\n children[key] = output;\n })\n )\n );\n }\n return { slotInstructions, children };\n}\nfunction createSlotValueFromString(content) {\n return function() {\n return renderTemplate`${unescapeHTML(content)}`;\n };\n}\nexport {\n SlotString,\n createSlotValueFromString,\n isSlotString,\n renderSlot,\n renderSlotToString,\n renderSlots\n};\n","import { markHTMLString } from \"../escape.js\";\nimport {\n determineIfNeedsHydrationScript,\n determinesIfNeedsDirectiveScript,\n getPrescripts\n} from \"../scripts.js\";\nimport { renderAllHeadContent } from \"./head.js\";\nimport { isRenderInstruction } from \"./instruction.js\";\nimport { isSlotString } from \"./slot.js\";\nconst Fragment = Symbol.for(\"astro:fragment\");\nconst Renderer = Symbol.for(\"astro:renderer\");\nconst encoder = new TextEncoder();\nconst decoder = new TextDecoder();\nfunction stringifyChunk(result, chunk) {\n if (isRenderInstruction(chunk)) {\n const instruction = chunk;\n switch (instruction.type) {\n case \"directive\": {\n const { hydration } = instruction;\n let needsHydrationScript = hydration && determineIfNeedsHydrationScript(result);\n let needsDirectiveScript = hydration && determinesIfNeedsDirectiveScript(result, hydration.directive);\n let prescriptType = needsHydrationScript ? \"both\" : needsDirectiveScript ? \"directive\" : null;\n if (prescriptType) {\n let prescripts = getPrescripts(result, prescriptType, hydration.directive);\n return markHTMLString(prescripts);\n } else {\n return \"\";\n }\n }\n case \"head\": {\n if (result._metadata.hasRenderedHead || result.partial) {\n return \"\";\n }\n return renderAllHeadContent(result);\n }\n case \"maybe-head\": {\n if (result._metadata.hasRenderedHead || result._metadata.headInTree || result.partial) {\n return \"\";\n }\n return renderAllHeadContent(result);\n }\n case \"renderer-hydration-script\": {\n const { rendererSpecificHydrationScripts } = result._metadata;\n const { rendererName } = instruction;\n if (!rendererSpecificHydrationScripts.has(rendererName)) {\n rendererSpecificHydrationScripts.add(rendererName);\n return instruction.render();\n }\n return \"\";\n }\n default: {\n throw new Error(`Unknown chunk type: ${chunk.type}`);\n }\n }\n } else if (chunk instanceof Response) {\n return \"\";\n } else if (isSlotString(chunk)) {\n let out = \"\";\n const c = chunk;\n if (c.instructions) {\n for (const instr of c.instructions) {\n out += stringifyChunk(result, instr);\n }\n }\n out += chunk.toString();\n return out;\n }\n return chunk.toString();\n}\nfunction chunkToString(result, chunk) {\n if (ArrayBuffer.isView(chunk)) {\n return decoder.decode(chunk);\n } else {\n return stringifyChunk(result, chunk);\n }\n}\nfunction chunkToByteArray(result, chunk) {\n if (ArrayBuffer.isView(chunk)) {\n return chunk;\n } else {\n const stringified = stringifyChunk(result, chunk);\n return encoder.encode(stringified.toString());\n }\n}\nfunction isRenderInstance(obj) {\n return !!obj && typeof obj === \"object\" && \"render\" in obj && typeof obj.render === \"function\";\n}\nexport {\n Fragment,\n Renderer,\n chunkToByteArray,\n chunkToString,\n decoder,\n encoder,\n isRenderInstance\n};\n","import { escapeHTML, isHTMLString, markHTMLString } from \"../escape.js\";\nimport { isPromise } from \"../util.js\";\nimport { isAstroComponentInstance, isRenderTemplateResult } from \"./astro/index.js\";\nimport { isRenderInstance } from \"./common.js\";\nimport { SlotString } from \"./slot.js\";\nimport { renderToBufferDestination } from \"./util.js\";\nasync function renderChild(destination, child) {\n if (isPromise(child)) {\n child = await child;\n }\n if (child instanceof SlotString) {\n destination.write(child);\n } else if (isHTMLString(child)) {\n destination.write(child);\n } else if (Array.isArray(child)) {\n const childRenders = child.map((c) => {\n return renderToBufferDestination((bufferDestination) => {\n return renderChild(bufferDestination, c);\n });\n });\n for (const childRender of childRenders) {\n if (!childRender) continue;\n await childRender.renderToFinalDestination(destination);\n }\n } else if (typeof child === \"function\") {\n await renderChild(destination, child());\n } else if (typeof child === \"string\") {\n destination.write(markHTMLString(escapeHTML(child)));\n } else if (!child && child !== 0) {\n } else if (isRenderInstance(child)) {\n await child.render(destination);\n } else if (isRenderTemplateResult(child)) {\n await child.render(destination);\n } else if (isAstroComponentInstance(child)) {\n await child.render(destination);\n } else if (ArrayBuffer.isView(child)) {\n destination.write(child);\n } else if (typeof child === \"object\" && (Symbol.asyncIterator in child || Symbol.iterator in child)) {\n for await (const value of child) {\n await renderChild(destination, value);\n }\n } else {\n destination.write(child);\n }\n}\nexport {\n renderChild\n};\n","import { isPromise } from \"../../util.js\";\nimport { renderChild } from \"../any.js\";\nimport { isAPropagatingComponent } from \"./factory.js\";\nimport { isHeadAndContent } from \"./head-and-content.js\";\nconst astroComponentInstanceSym = Symbol.for(\"astro.componentInstance\");\nclass AstroComponentInstance {\n [astroComponentInstanceSym] = true;\n result;\n props;\n slotValues;\n factory;\n returnValue;\n constructor(result, props, slots, factory) {\n this.result = result;\n this.props = props;\n this.factory = factory;\n this.slotValues = {};\n for (const name in slots) {\n let didRender = false;\n let value = slots[name](result);\n this.slotValues[name] = () => {\n if (!didRender) {\n didRender = true;\n return value;\n }\n return slots[name](result);\n };\n }\n }\n async init(result) {\n if (this.returnValue !== void 0) return this.returnValue;\n this.returnValue = this.factory(result, this.props, this.slotValues);\n if (isPromise(this.returnValue)) {\n this.returnValue.then((resolved) => {\n this.returnValue = resolved;\n }).catch(() => {\n });\n }\n return this.returnValue;\n }\n async render(destination) {\n const returnValue = await this.init(this.result);\n if (isHeadAndContent(returnValue)) {\n await returnValue.content.render(destination);\n } else {\n await renderChild(destination, returnValue);\n }\n }\n}\nfunction validateComponentProps(props, displayName) {\n if (props != null) {\n for (const prop of Object.keys(props)) {\n if (prop.startsWith(\"client:\")) {\n console.warn(\n `You are attempting to render <${displayName} ${prop} />, but ${displayName} is an Astro component. Astro components do not render in the client and should not have a hydration directive. Please use a framework component for client rendering.`\n );\n }\n }\n }\n}\nfunction createAstroComponentInstance(result, displayName, factory, props, slots = {}) {\n validateComponentProps(props, displayName);\n const instance = new AstroComponentInstance(result, props, slots, factory);\n if (isAPropagatingComponent(result, factory)) {\n result._metadata.propagators.add(instance);\n }\n return instance;\n}\nfunction isAstroComponentInstance(obj) {\n return typeof obj === \"object\" && !!obj[astroComponentInstanceSym];\n}\nexport {\n AstroComponentInstance,\n createAstroComponentInstance,\n isAstroComponentInstance\n};\n","import { markHTMLString } from \"../escape.js\";\nimport { renderSlotToString } from \"./slot.js\";\nimport { toAttributeString } from \"./util.js\";\nfunction componentIsHTMLElement(Component) {\n return typeof HTMLElement !== \"undefined\" && HTMLElement.isPrototypeOf(Component);\n}\nasync function renderHTMLElement(result, constructor, props, slots) {\n const name = getHTMLElementName(constructor);\n let attrHTML = \"\";\n for (const attr in props) {\n attrHTML += ` ${attr}=\"${toAttributeString(await props[attr])}\"`;\n }\n return markHTMLString(\n `<${name}${attrHTML}>${await renderSlotToString(result, slots?.default)}`\n );\n}\nfunction getHTMLElementName(constructor) {\n const definedName = customElements.getName(constructor);\n if (definedName) return definedName;\n const assignedName = constructor.name.replace(/^HTML|Element$/g, \"\").replace(/[A-Z]/g, \"-$&\").toLowerCase().replace(/^-/, \"html-\");\n return assignedName;\n}\nexport {\n componentIsHTMLElement,\n renderHTMLElement\n};\n","import { decodeBase64, decodeHex, encodeBase64, encodeHexUpperCase } from \"@oslojs/encoding\";\nconst ALGORITHM = \"AES-GCM\";\nasync function createKey() {\n const key = await crypto.subtle.generateKey(\n {\n name: ALGORITHM,\n length: 256\n },\n true,\n [\"encrypt\", \"decrypt\"]\n );\n return key;\n}\nasync function importKey(bytes) {\n const key = await crypto.subtle.importKey(\"raw\", bytes, ALGORITHM, true, [\"encrypt\", \"decrypt\"]);\n return key;\n}\nasync function encodeKey(key) {\n const exported = await crypto.subtle.exportKey(\"raw\", key);\n const encodedKey = encodeBase64(new Uint8Array(exported));\n return encodedKey;\n}\nasync function decodeKey(encoded) {\n const bytes = decodeBase64(encoded);\n return crypto.subtle.importKey(\"raw\", bytes, ALGORITHM, true, [\"encrypt\", \"decrypt\"]);\n}\nconst encoder = new TextEncoder();\nconst decoder = new TextDecoder();\nconst IV_LENGTH = 24;\nasync function encryptString(key, raw) {\n const iv = crypto.getRandomValues(new Uint8Array(IV_LENGTH / 2));\n const data = encoder.encode(raw);\n const buffer = await crypto.subtle.encrypt(\n {\n name: ALGORITHM,\n iv\n },\n key,\n data\n );\n return encodeHexUpperCase(iv) + encodeBase64(new Uint8Array(buffer));\n}\nasync function decryptString(key, encoded) {\n const iv = decodeHex(encoded.slice(0, IV_LENGTH));\n const dataArray = decodeBase64(encoded.slice(IV_LENGTH));\n const decryptedBuffer = await crypto.subtle.decrypt(\n {\n name: ALGORITHM,\n iv\n },\n key,\n dataArray\n );\n const decryptedString = decoder.decode(decryptedBuffer);\n return decryptedString;\n}\nexport {\n createKey,\n decodeKey,\n decryptString,\n encodeKey,\n encryptString,\n importKey\n};\n","import { encryptString } from \"../../../core/encryption.js\";\nimport { renderChild } from \"./any.js\";\nimport { renderSlotToString } from \"./slot.js\";\nconst internalProps = /* @__PURE__ */ new Set([\n \"server:component-path\",\n \"server:component-export\",\n \"server:component-directive\",\n \"server:defer\"\n]);\nfunction containsServerDirective(props) {\n return \"server:component-directive\" in props;\n}\nfunction safeJsonStringify(obj) {\n return JSON.stringify(obj).replace(/\\u2028/g, \"\\\\u2028\").replace(/\\u2029/g, \"\\\\u2029\").replace(//g, \"\\\\u003e\").replace(/\\//g, \"\\\\u002f\");\n}\nfunction renderServerIsland(result, _displayName, props, slots) {\n return {\n async render(destination) {\n const componentPath = props[\"server:component-path\"];\n const componentExport = props[\"server:component-export\"];\n const componentId = result.serverIslandNameMap.get(componentPath);\n if (!componentId) {\n throw new Error(`Could not find server component name`);\n }\n for (const key2 of Object.keys(props)) {\n if (internalProps.has(key2)) {\n delete props[key2];\n }\n }\n destination.write(\"\");\n const renderedSlots = {};\n for (const name in slots) {\n if (name !== \"fallback\") {\n const content = await renderSlotToString(result, slots[name]);\n renderedSlots[name] = content.toString();\n } else {\n await renderChild(destination, slots.fallback(result));\n }\n }\n const key = await result.key;\n const propsEncrypted = await encryptString(key, JSON.stringify(props));\n const hostId = crypto.randomUUID();\n const slash = result.base.endsWith(\"/\") ? \"\" : \"/\";\n const serverIslandUrl = `${result.base}${slash}_server-islands/${componentId}${result.trailingSlash === \"always\" ? \"/\" : \"\"}`;\n destination.write(``);\n }\n };\n}\nexport {\n containsServerDirective,\n renderServerIsland\n};\n","import { createRenderInstruction } from \"./instruction.js\";\nimport { clsx } from \"clsx\";\nimport { AstroError, AstroErrorData } from \"../../../core/errors/index.js\";\nimport { markHTMLString } from \"../escape.js\";\nimport { extractDirectives, generateHydrateScript } from \"../hydration.js\";\nimport { serializeProps } from \"../serialize.js\";\nimport { shorthash } from \"../shorthash.js\";\nimport { isPromise } from \"../util.js\";\nimport { isAstroComponentFactory } from \"./astro/factory.js\";\nimport { renderTemplate } from \"./astro/index.js\";\nimport { createAstroComponentInstance } from \"./astro/instance.js\";\nimport {\n Fragment,\n Renderer,\n chunkToString\n} from \"./common.js\";\nimport { componentIsHTMLElement, renderHTMLElement } from \"./dom.js\";\nimport { maybeRenderHead } from \"./head.js\";\nimport { containsServerDirective, renderServerIsland } from \"./server-islands.js\";\nimport { renderSlotToString, renderSlots } from \"./slot.js\";\nimport { formatList, internalSpreadAttributes, renderElement, voidElementNames } from \"./util.js\";\nconst needsHeadRenderingSymbol = Symbol.for(\"astro.needsHeadRendering\");\nconst rendererAliases = /* @__PURE__ */ new Map([[\"solid\", \"solid-js\"]]);\nconst clientOnlyValues = /* @__PURE__ */ new Set([\"solid-js\", \"react\", \"preact\", \"vue\", \"svelte\", \"lit\"]);\nfunction guessRenderers(componentUrl) {\n const extname = componentUrl?.split(\".\").pop();\n switch (extname) {\n case \"svelte\":\n return [\"@astrojs/svelte\"];\n case \"vue\":\n return [\"@astrojs/vue\"];\n case \"jsx\":\n case \"tsx\":\n return [\"@astrojs/react\", \"@astrojs/preact\", \"@astrojs/solid-js\", \"@astrojs/vue (jsx)\"];\n default:\n return [\n \"@astrojs/react\",\n \"@astrojs/preact\",\n \"@astrojs/solid-js\",\n \"@astrojs/vue\",\n \"@astrojs/svelte\",\n \"@astrojs/lit\"\n ];\n }\n}\nfunction isFragmentComponent(Component) {\n return Component === Fragment;\n}\nfunction isHTMLComponent(Component) {\n return Component && Component[\"astro:html\"] === true;\n}\nconst ASTRO_SLOT_EXP = /<\\/?astro-slot\\b[^>]*>/g;\nconst ASTRO_STATIC_SLOT_EXP = /<\\/?astro-static-slot\\b[^>]*>/g;\nfunction removeStaticAstroSlot(html, supportsAstroStaticSlot = true) {\n const exp = supportsAstroStaticSlot ? ASTRO_STATIC_SLOT_EXP : ASTRO_SLOT_EXP;\n return html.replace(exp, \"\");\n}\nasync function renderFrameworkComponent(result, displayName, Component, _props, slots = {}) {\n if (!Component && \"client:only\" in _props === false) {\n throw new Error(\n `Unable to render ${displayName} because it is ${Component}!\nDid you forget to import the component or is it possible there is a typo?`\n );\n }\n const { renderers, clientDirectives } = result;\n const metadata = {\n astroStaticSlot: true,\n displayName\n };\n const { hydration, isPage, props, propsWithoutTransitionAttributes } = extractDirectives(\n _props,\n clientDirectives\n );\n let html = \"\";\n let attrs = void 0;\n if (hydration) {\n metadata.hydrate = hydration.directive;\n metadata.hydrateArgs = hydration.value;\n metadata.componentExport = hydration.componentExport;\n metadata.componentUrl = hydration.componentUrl;\n }\n const probableRendererNames = guessRenderers(metadata.componentUrl);\n const validRenderers = renderers.filter((r) => r.name !== \"astro:jsx\");\n const { children, slotInstructions } = await renderSlots(result, slots);\n let renderer;\n if (metadata.hydrate !== \"only\") {\n let isTagged = false;\n try {\n isTagged = Component && Component[Renderer];\n } catch {\n }\n if (isTagged) {\n const rendererName = Component[Renderer];\n renderer = renderers.find(({ name }) => name === rendererName);\n }\n if (!renderer) {\n let error;\n for (const r of renderers) {\n try {\n if (await r.ssr.check.call({ result }, Component, props, children)) {\n renderer = r;\n break;\n }\n } catch (e) {\n error ??= e;\n }\n }\n if (!renderer && error) {\n throw error;\n }\n }\n if (!renderer && typeof HTMLElement === \"function\" && componentIsHTMLElement(Component)) {\n const output = await renderHTMLElement(\n result,\n Component,\n _props,\n slots\n );\n return {\n render(destination) {\n destination.write(output);\n }\n };\n }\n } else {\n if (metadata.hydrateArgs) {\n const rendererName = rendererAliases.has(metadata.hydrateArgs) ? rendererAliases.get(metadata.hydrateArgs) : metadata.hydrateArgs;\n if (clientOnlyValues.has(rendererName)) {\n renderer = renderers.find(\n ({ name }) => name === `@astrojs/${rendererName}` || name === rendererName\n );\n }\n }\n if (!renderer && validRenderers.length === 1) {\n renderer = validRenderers[0];\n }\n if (!renderer) {\n const extname = metadata.componentUrl?.split(\".\").pop();\n renderer = renderers.find(({ name }) => name === `@astrojs/${extname}` || name === extname);\n }\n }\n let componentServerRenderEndTime;\n if (!renderer) {\n if (metadata.hydrate === \"only\") {\n const rendererName = rendererAliases.has(metadata.hydrateArgs) ? rendererAliases.get(metadata.hydrateArgs) : metadata.hydrateArgs;\n if (clientOnlyValues.has(rendererName)) {\n const plural = validRenderers.length > 1;\n throw new AstroError({\n ...AstroErrorData.NoMatchingRenderer,\n message: AstroErrorData.NoMatchingRenderer.message(\n metadata.displayName,\n metadata?.componentUrl?.split(\".\").pop(),\n plural,\n validRenderers.length\n ),\n hint: AstroErrorData.NoMatchingRenderer.hint(\n formatList(probableRendererNames.map((r) => \"`\" + r + \"`\"))\n )\n });\n } else {\n throw new AstroError({\n ...AstroErrorData.NoClientOnlyHint,\n message: AstroErrorData.NoClientOnlyHint.message(metadata.displayName),\n hint: AstroErrorData.NoClientOnlyHint.hint(\n probableRendererNames.map((r) => r.replace(\"@astrojs/\", \"\")).join(\"|\")\n )\n });\n }\n } else if (typeof Component !== \"string\") {\n const matchingRenderers = validRenderers.filter(\n (r) => probableRendererNames.includes(r.name)\n );\n const plural = validRenderers.length > 1;\n if (matchingRenderers.length === 0) {\n throw new AstroError({\n ...AstroErrorData.NoMatchingRenderer,\n message: AstroErrorData.NoMatchingRenderer.message(\n metadata.displayName,\n metadata?.componentUrl?.split(\".\").pop(),\n plural,\n validRenderers.length\n ),\n hint: AstroErrorData.NoMatchingRenderer.hint(\n formatList(probableRendererNames.map((r) => \"`\" + r + \"`\"))\n )\n });\n } else if (matchingRenderers.length === 1) {\n renderer = matchingRenderers[0];\n ({ html, attrs } = await renderer.ssr.renderToStaticMarkup.call(\n { result },\n Component,\n propsWithoutTransitionAttributes,\n children,\n metadata\n ));\n } else {\n throw new Error(`Unable to render ${metadata.displayName}!\n\nThis component likely uses ${formatList(probableRendererNames)},\nbut Astro encountered an error during server-side rendering.\n\nPlease ensure that ${metadata.displayName}:\n1. Does not unconditionally access browser-specific globals like \\`window\\` or \\`document\\`.\n If this is unavoidable, use the \\`client:only\\` hydration directive.\n2. Does not conditionally return \\`null\\` or \\`undefined\\` when rendered on the server.\n\nIf you're still stuck, please open an issue on GitHub or join us at https://astro.build/chat.`);\n }\n }\n } else {\n if (metadata.hydrate === \"only\") {\n const rendererName = rendererAliases.has(metadata.hydrateArgs) ? rendererAliases.get(metadata.hydrateArgs) : metadata.hydrateArgs;\n if (!clientOnlyValues.has(rendererName)) {\n console.warn(\n `The client:only directive for ${metadata.displayName} is not recognized. The renderer ${renderer.name} will be used. If you intended to use a different renderer, please provide a valid client:only directive.`\n );\n }\n html = await renderSlotToString(result, slots?.fallback);\n } else {\n const componentRenderStartTime = performance.now();\n ({ html, attrs } = await renderer.ssr.renderToStaticMarkup.call(\n { result },\n Component,\n propsWithoutTransitionAttributes,\n children,\n metadata\n ));\n if (process.env.NODE_ENV === \"development\")\n componentServerRenderEndTime = performance.now() - componentRenderStartTime;\n }\n }\n if (renderer && !renderer.clientEntrypoint && renderer.name !== \"@astrojs/lit\" && metadata.hydrate) {\n throw new AstroError({\n ...AstroErrorData.NoClientEntrypoint,\n message: AstroErrorData.NoClientEntrypoint.message(\n displayName,\n metadata.hydrate,\n renderer.name\n )\n });\n }\n if (!html && typeof Component === \"string\") {\n const Tag = sanitizeElementName(Component);\n const childSlots = Object.values(children).join(\"\");\n const renderTemplateResult = renderTemplate`<${Tag}${internalSpreadAttributes(\n props\n )}${markHTMLString(\n childSlots === \"\" && voidElementNames.test(Tag) ? `/>` : `>${childSlots}`\n )}`;\n html = \"\";\n const destination = {\n write(chunk) {\n if (chunk instanceof Response) return;\n html += chunkToString(result, chunk);\n }\n };\n await renderTemplateResult.render(destination);\n }\n if (!hydration) {\n return {\n render(destination) {\n if (slotInstructions) {\n for (const instruction of slotInstructions) {\n destination.write(instruction);\n }\n }\n if (isPage || renderer?.name === \"astro:jsx\") {\n destination.write(html);\n } else if (html && html.length > 0) {\n destination.write(\n markHTMLString(removeStaticAstroSlot(html, renderer?.ssr?.supportsAstroStaticSlot))\n );\n }\n }\n };\n }\n const astroId = shorthash(\n `\n${html}\n${serializeProps(\n props,\n metadata\n )}`\n );\n const island = await generateHydrateScript(\n { renderer, result, astroId, props, attrs },\n metadata\n );\n if (componentServerRenderEndTime && process.env.NODE_ENV === \"development\")\n island.props[\"server-render-time\"] = componentServerRenderEndTime;\n let unrenderedSlots = [];\n if (html) {\n if (Object.keys(children).length > 0) {\n for (const key of Object.keys(children)) {\n let tagName = renderer?.ssr?.supportsAstroStaticSlot ? !!metadata.hydrate ? \"astro-slot\" : \"astro-static-slot\" : \"astro-slot\";\n let expectedHTML = key === \"default\" ? `<${tagName}>` : `<${tagName} name=\"${key}\">`;\n if (!html.includes(expectedHTML)) {\n unrenderedSlots.push(key);\n }\n }\n }\n } else {\n unrenderedSlots = Object.keys(children);\n }\n const template = unrenderedSlots.length > 0 ? unrenderedSlots.map(\n (key) => ``\n ).join(\"\") : \"\";\n island.children = `${html ?? \"\"}${template}`;\n if (island.children) {\n island.props[\"await-children\"] = \"\";\n island.children += ``;\n }\n return {\n render(destination) {\n if (slotInstructions) {\n for (const instruction of slotInstructions) {\n destination.write(instruction);\n }\n }\n destination.write(createRenderInstruction({ type: \"directive\", hydration }));\n if (hydration.directive !== \"only\" && renderer?.ssr.renderHydrationScript) {\n destination.write(\n createRenderInstruction({\n type: \"renderer-hydration-script\",\n rendererName: renderer.name,\n render: renderer.ssr.renderHydrationScript\n })\n );\n }\n const renderedElement = renderElement(\"astro-island\", island, false);\n destination.write(markHTMLString(renderedElement));\n }\n };\n}\nfunction sanitizeElementName(tag) {\n const unsafe = /[&<>'\"\\s]+/;\n if (!unsafe.test(tag)) return tag;\n return tag.trim().split(unsafe)[0].trim();\n}\nasync function renderFragmentComponent(result, slots = {}) {\n const children = await renderSlotToString(result, slots?.default);\n return {\n render(destination) {\n if (children == null) return;\n destination.write(children);\n }\n };\n}\nasync function renderHTMLComponent(result, Component, _props, slots = {}) {\n const { slotInstructions, children } = await renderSlots(result, slots);\n const html = Component({ slots: children });\n const hydrationHtml = slotInstructions ? slotInstructions.map((instr) => chunkToString(result, instr)).join(\"\") : \"\";\n return {\n render(destination) {\n destination.write(markHTMLString(hydrationHtml + html));\n }\n };\n}\nfunction renderAstroComponent(result, displayName, Component, props, slots = {}) {\n if (containsServerDirective(props)) {\n return renderServerIsland(result, displayName, props, slots);\n }\n const instance = createAstroComponentInstance(result, displayName, Component, props, slots);\n return {\n async render(destination) {\n await instance.render(destination);\n }\n };\n}\nasync function renderComponent(result, displayName, Component, props, slots = {}) {\n if (isPromise(Component)) {\n Component = await Component.catch(handleCancellation);\n }\n if (isFragmentComponent(Component)) {\n return await renderFragmentComponent(result, slots).catch(handleCancellation);\n }\n props = normalizeProps(props);\n if (isHTMLComponent(Component)) {\n return await renderHTMLComponent(result, Component, props, slots).catch(handleCancellation);\n }\n if (isAstroComponentFactory(Component)) {\n return renderAstroComponent(result, displayName, Component, props, slots);\n }\n return await renderFrameworkComponent(result, displayName, Component, props, slots).catch(\n handleCancellation\n );\n function handleCancellation(e) {\n if (result.cancelled)\n return {\n render() {\n }\n };\n throw e;\n }\n}\nfunction normalizeProps(props) {\n if (props[\"class:list\"] !== void 0) {\n const value = props[\"class:list\"];\n delete props[\"class:list\"];\n props[\"class\"] = clsx(props[\"class\"], value);\n if (props[\"class\"] === \"\") {\n delete props[\"class\"];\n }\n }\n return props;\n}\nasync function renderComponentToString(result, displayName, Component, props, slots = {}, isPage = false, route) {\n let str = \"\";\n let renderedFirstPageChunk = false;\n let head = \"\";\n if (isPage && !result.partial && nonAstroPageNeedsHeadInjection(Component)) {\n head += chunkToString(result, maybeRenderHead());\n }\n try {\n const destination = {\n write(chunk) {\n if (isPage && !result.partial && !renderedFirstPageChunk) {\n renderedFirstPageChunk = true;\n if (!/\" : \"\\n\";\n str += doctype + head;\n }\n }\n if (chunk instanceof Response) return;\n str += chunkToString(result, chunk);\n }\n };\n const renderInstance = await renderComponent(result, displayName, Component, props, slots);\n await renderInstance.render(destination);\n } catch (e) {\n if (AstroError.is(e) && !e.loc) {\n e.setLocation({\n file: route?.component\n });\n }\n throw e;\n }\n return str;\n}\nfunction nonAstroPageNeedsHeadInjection(pageComponent) {\n return !!pageComponent?.[needsHeadRenderingSymbol];\n}\nexport {\n renderComponent,\n renderComponentToString\n};\n","import { markHTMLString } from \"../escape.js\";\nasync function renderScript(result, id) {\n if (result._metadata.renderedScripts.has(id)) return;\n result._metadata.renderedScripts.add(id);\n const inlined = result.inlinedScripts.get(id);\n if (inlined != null) {\n if (inlined) {\n return markHTMLString(``);\n } else {\n return \"\";\n }\n }\n const resolved = await result.resolve(id);\n return markHTMLString(``);\n}\nexport {\n renderScript\n};\n","import cssesc from \"cssesc\";\nimport { fade, slide } from \"../../transitions/index.js\";\nimport { markHTMLString } from \"./escape.js\";\nconst transitionNameMap = /* @__PURE__ */ new WeakMap();\nfunction incrementTransitionNumber(result) {\n let num = 1;\n if (transitionNameMap.has(result)) {\n num = transitionNameMap.get(result) + 1;\n }\n transitionNameMap.set(result, num);\n return num;\n}\nfunction createTransitionScope(result, hash) {\n const num = incrementTransitionNumber(result);\n return `astro-${hash}-${num}`;\n}\nconst getAnimations = (name) => {\n if (name === \"fade\") return fade();\n if (name === \"slide\") return slide();\n if (typeof name === \"object\") return name;\n};\nconst addPairs = (animations, stylesheet) => {\n for (const [direction, images] of Object.entries(animations)) {\n for (const [image, rules] of Object.entries(images)) {\n stylesheet.addAnimationPair(direction, image, rules);\n }\n }\n};\nconst reEncodeValidChars = \"0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ-_\".split(\"\").reduce((v, c) => (v[c.charCodeAt(0)] = c, v), []);\nconst reEncodeInValidStart = \"-0123456789_\".split(\"\").reduce((v, c) => (v[c.charCodeAt(0)] = c, v), []);\nfunction reEncode(s) {\n let result = \"\";\n let codepoint;\n for (let i = 0; i < s.length; i += (codepoint ?? 0) > 65535 ? 2 : 1) {\n codepoint = s.codePointAt(i);\n if (codepoint !== void 0) {\n result += codepoint < 128 ? codepoint === 95 ? \"__\" : reEncodeValidChars[codepoint] ?? \"_\" + codepoint.toString(16).padStart(2, \"0\") : String.fromCodePoint(codepoint);\n }\n }\n return reEncodeInValidStart[result.codePointAt(0) ?? 0] ? \"_\" + result : result;\n}\nfunction renderTransition(result, hash, animationName, transitionName) {\n if (typeof (transitionName ?? \"\") !== \"string\") {\n throw new Error(`Invalid transition name {${transitionName}}`);\n }\n if (!animationName) animationName = \"fade\";\n const scope = createTransitionScope(result, hash);\n const name = transitionName ? cssesc(reEncode(transitionName), { isIdentifier: true }) : scope;\n const sheet = new ViewTransitionStyleSheet(scope, name);\n const animations = getAnimations(animationName);\n if (animations) {\n addPairs(animations, sheet);\n } else if (animationName === \"none\") {\n sheet.addFallback(\"old\", \"animation: none; mix-blend-mode: normal;\");\n sheet.addModern(\"old\", \"animation: none; opacity: 0; mix-blend-mode: normal;\");\n sheet.addAnimationRaw(\"new\", \"animation: none; mix-blend-mode: normal;\");\n sheet.addModern(\"group\", \"animation: none\");\n }\n result._metadata.extraHead.push(markHTMLString(``));\n return scope;\n}\nfunction createAnimationScope(transitionName, animations) {\n const hash = Math.random().toString(36).slice(2, 8);\n const scope = `astro-${hash}`;\n const sheet = new ViewTransitionStyleSheet(scope, transitionName);\n addPairs(animations, sheet);\n return { scope, styles: sheet.toString().replaceAll('\"', \"\") };\n}\nclass ViewTransitionStyleSheet {\n constructor(scope, name) {\n this.scope = scope;\n this.name = name;\n }\n modern = [];\n fallback = [];\n toString() {\n const { scope, name } = this;\n const [modern, fallback] = [this.modern, this.fallback].map((rules) => rules.join(\"\"));\n return [\n `[data-astro-transition-scope=\"${scope}\"] { view-transition-name: ${name}; }`,\n this.layer(modern),\n fallback\n ].join(\"\");\n }\n layer(cssText) {\n return cssText ? `@layer astro { ${cssText} }` : \"\";\n }\n addRule(target, cssText) {\n this[target].push(cssText);\n }\n addAnimationRaw(image, animation) {\n this.addModern(image, animation);\n this.addFallback(image, animation);\n }\n addModern(image, animation) {\n const { name } = this;\n this.addRule(\"modern\", `::view-transition-${image}(${name}) { ${animation} }`);\n }\n addFallback(image, animation) {\n const { scope } = this;\n this.addRule(\n \"fallback\",\n // Two selectors here, the second in case there is an animation on the root.\n `[data-astro-transition-fallback=\"${image}\"] [data-astro-transition-scope=\"${scope}\"],\n\t\t\t[data-astro-transition-fallback=\"${image}\"][data-astro-transition-scope=\"${scope}\"] { ${animation} }`\n );\n }\n addAnimationPair(direction, image, rules) {\n const { scope, name } = this;\n const animation = stringifyAnimation(rules);\n const prefix = direction === \"backwards\" ? `[data-astro-transition=back]` : direction === \"forwards\" ? \"\" : `[data-astro-transition=${direction}]`;\n this.addRule(\"modern\", `${prefix}::view-transition-${image}(${name}) { ${animation} }`);\n this.addRule(\n \"fallback\",\n `${prefix}[data-astro-transition-fallback=\"${image}\"] [data-astro-transition-scope=\"${scope}\"],\n\t\t\t${prefix}[data-astro-transition-fallback=\"${image}\"][data-astro-transition-scope=\"${scope}\"] { ${animation} }`\n );\n }\n}\nfunction addAnimationProperty(builder, prop, value) {\n let arr = builder[prop];\n if (Array.isArray(arr)) {\n arr.push(value.toString());\n } else {\n builder[prop] = [value.toString()];\n }\n}\nfunction animationBuilder() {\n return {\n toString() {\n let out = \"\";\n for (let k in this) {\n let value = this[k];\n if (Array.isArray(value)) {\n out += `\n\t${k}: ${value.join(\", \")};`;\n }\n }\n return out;\n }\n };\n}\nfunction stringifyAnimation(anim) {\n if (Array.isArray(anim)) {\n return stringifyAnimations(anim);\n } else {\n return stringifyAnimations([anim]);\n }\n}\nfunction stringifyAnimations(anims) {\n const builder = animationBuilder();\n for (const anim of anims) {\n if (anim.duration) {\n addAnimationProperty(builder, \"animation-duration\", toTimeValue(anim.duration));\n }\n if (anim.easing) {\n addAnimationProperty(builder, \"animation-timing-function\", anim.easing);\n }\n if (anim.direction) {\n addAnimationProperty(builder, \"animation-direction\", anim.direction);\n }\n if (anim.delay) {\n addAnimationProperty(builder, \"animation-delay\", anim.delay);\n }\n if (anim.fillMode) {\n addAnimationProperty(builder, \"animation-fill-mode\", anim.fillMode);\n }\n addAnimationProperty(builder, \"animation-name\", anim.name);\n }\n return builder.toString();\n}\nfunction toTimeValue(num) {\n return typeof num === \"number\" ? num + \"ms\" : num;\n}\nexport {\n createAnimationScope,\n createTransitionScope,\n renderTransition\n};\n","import { createComponent } from \"./astro-component.js\";\nimport { createAstro } from \"./astro-global.js\";\nimport { renderEndpoint } from \"./endpoint.js\";\nimport {\n escapeHTML,\n HTMLBytes,\n HTMLString,\n isHTMLString,\n markHTMLString,\n unescapeHTML\n} from \"./escape.js\";\nimport { renderJSX } from \"./jsx.js\";\nimport {\n addAttribute,\n createHeadAndContent,\n defineScriptVars,\n Fragment,\n maybeRenderHead,\n renderTemplate,\n renderComponent,\n Renderer,\n renderHead,\n renderHTMLElement,\n renderPage,\n renderScript,\n renderScriptElement,\n renderSlot,\n renderSlotToString,\n renderTemplate as renderTemplate2,\n renderToString,\n renderUniqueStylesheet,\n voidElementNames\n} from \"./render/index.js\";\nimport { createTransitionScope, renderTransition } from \"./transition.js\";\nimport { markHTMLString as markHTMLString2 } from \"./escape.js\";\nimport { Renderer as Renderer2, addAttribute as addAttribute2 } from \"./render/index.js\";\nfunction mergeSlots(...slotted) {\n const slots = {};\n for (const slot of slotted) {\n if (!slot) continue;\n if (typeof slot === \"object\") {\n Object.assign(slots, slot);\n } else if (typeof slot === \"function\") {\n Object.assign(slots, mergeSlots(slot()));\n }\n }\n return slots;\n}\nfunction __astro_tag_component__(Component, rendererName) {\n if (!Component) return;\n if (typeof Component !== \"function\") return;\n Object.defineProperty(Component, Renderer2, {\n value: rendererName,\n enumerable: false,\n writable: false\n });\n}\nfunction spreadAttributes(values = {}, _name, { class: scopedClassName } = {}) {\n let output = \"\";\n if (scopedClassName) {\n if (typeof values.class !== \"undefined\") {\n values.class += ` ${scopedClassName}`;\n } else if (typeof values[\"class:list\"] !== \"undefined\") {\n values[\"class:list\"] = [values[\"class:list\"], scopedClassName];\n } else {\n values.class = scopedClassName;\n }\n }\n for (const [key, value] of Object.entries(values)) {\n output += addAttribute2(value, key, true);\n }\n return markHTMLString2(output);\n}\nfunction defineStyleVars(defs) {\n let output = \"\";\n let arr = !Array.isArray(defs) ? [defs] : defs;\n for (const vars of arr) {\n for (const [key, value] of Object.entries(vars)) {\n if (value || value === 0) {\n output += `--${key}: ${value};`;\n }\n }\n }\n return markHTMLString2(output);\n}\nexport {\n Fragment,\n HTMLBytes,\n HTMLString,\n Renderer,\n __astro_tag_component__,\n addAttribute,\n createAstro,\n createComponent,\n createHeadAndContent,\n createTransitionScope,\n defineScriptVars,\n defineStyleVars,\n escapeHTML,\n isHTMLString,\n markHTMLString,\n maybeRenderHead,\n mergeSlots,\n renderTemplate as render,\n renderComponent,\n renderEndpoint,\n renderHTMLElement,\n renderHead,\n renderJSX,\n renderPage,\n renderScript,\n renderScriptElement,\n renderSlot,\n renderSlotToString,\n renderTemplate2 as renderTemplate,\n renderToString,\n renderTransition,\n renderUniqueStylesheet,\n spreadAttributes,\n unescapeHTML,\n voidElementNames\n};\n"],"names":["AstroErrorData.InvalidComponentArgs","AstroErrorData.AstroGlobUsedOutside","AstroErrorData.AstroGlobNoMatch","AstroErrorData.MissingMediaQueryDirective","AstroErrorData.NoMatchingImport","islandScriptDev","islandScript","AstroErrorData.NoMatchingRenderer","AstroErrorData.NoClientOnlyHint","AstroErrorData.NoClientEntrypoint","addAttribute2","markHTMLString2"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31]} \ No newline at end of file diff --git a/Target/chunks/astro/server_DdDAVYtl.mjs.map b/Target/chunks/astro/server_DdDAVYtl.mjs.map new file mode 100644 index 00000000..83e4db05 --- /dev/null +++ b/Target/chunks/astro/server_DdDAVYtl.mjs.map @@ -0,0 +1 @@ +{"version":3,"file":"server_DdDAVYtl.mjs","sources":["../../../../../../../node_modules/astro/dist/core/errors/errors-data.js","../../../../../../../node_modules/astro/dist/core/errors/utils.js","../../../../../../../node_modules/astro/dist/core/errors/printer.js","../../../../../../../node_modules/astro/dist/core/errors/errors.js","../../../../../../../node_modules/astro/dist/runtime/server/astro-component.js","../../../../../../../node_modules/astro/dist/core/constants.js","../../../../../../../node_modules/astro/dist/runtime/server/astro-global.js","../../../../../../../node_modules/astro/dist/runtime/server/util.js","../../../../../../../node_modules/astro/dist/runtime/server/escape.js","../../../../../../../node_modules/astro/dist/runtime/server/render/instruction.js","../../../../../../../node_modules/astro/dist/runtime/server/serialize.js","../../../../../../../node_modules/astro/dist/runtime/server/hydration.js","../../../../../../../node_modules/astro/dist/runtime/server/shorthash.js","../../../../../../../node_modules/astro/dist/runtime/server/render/astro/factory.js","../../../../../../../node_modules/astro/dist/runtime/server/render/astro/head-and-content.js","../../../../../../../node_modules/astro/dist/runtime/server/astro-island.prebuilt-dev.js","../../../../../../../node_modules/astro/dist/runtime/server/astro-island.prebuilt.js","../../../../../../../node_modules/astro/dist/runtime/server/scripts.js","../../../../../../../node_modules/astro/dist/runtime/server/render/util.js","../../../../../../../node_modules/astro/dist/runtime/server/render/head.js","../../../../../../../node_modules/astro/dist/runtime/server/render/astro/render-template.js","../../../../../../../node_modules/astro/dist/runtime/server/render/slot.js","../../../../../../../node_modules/astro/dist/runtime/server/render/common.js","../../../../../../../node_modules/astro/dist/runtime/server/render/any.js","../../../../../../../node_modules/astro/dist/runtime/server/render/astro/instance.js","../../../../../../../node_modules/astro/dist/runtime/server/render/dom.js","../../../../../../../node_modules/astro/dist/core/encryption.js","../../../../../../../node_modules/astro/dist/runtime/server/render/server-islands.js","../../../../../../../node_modules/astro/dist/runtime/server/render/component.js","../../../../../../../node_modules/astro/dist/runtime/server/render/script.js","../../../../../../../node_modules/astro/dist/runtime/server/transition.js","../../../../../../../node_modules/astro/dist/runtime/server/index.js"],"sourcesContent":["const UnknownCompilerError = {\n name: \"UnknownCompilerError\",\n title: \"Unknown compiler error.\",\n hint: \"This is almost always a problem with the Astro compiler, not your code. Please open an issue at https://astro.build/issues/compiler.\"\n};\nconst ClientAddressNotAvailable = {\n name: \"ClientAddressNotAvailable\",\n title: \"`Astro.clientAddress` is not available in current adapter.\",\n message: (adapterName) => `\\`Astro.clientAddress\\` is not available in the \\`${adapterName}\\` adapter. File an issue with the adapter to add support.`\n};\nconst PrerenderClientAddressNotAvailable = {\n name: \"PrerenderClientAddressNotAvailable\",\n title: \"`Astro.clientAddress` cannot be used inside prerendered routes.\",\n message: `\\`Astro.clientAddress\\` cannot be used inside prerendered routes`\n};\nconst StaticClientAddressNotAvailable = {\n name: \"StaticClientAddressNotAvailable\",\n title: \"`Astro.clientAddress` is not available in static mode.\",\n message: \"`Astro.clientAddress` is only available when using `output: 'server'` or `output: 'hybrid'`. Update your Astro config if you need SSR features.\",\n hint: \"See https://docs.astro.build/en/guides/server-side-rendering/ for more information on how to enable SSR.\"\n};\nconst NoMatchingStaticPathFound = {\n name: \"NoMatchingStaticPathFound\",\n title: \"No static path found for requested path.\",\n message: (pathName) => `A \\`getStaticPaths()\\` route pattern was matched, but no matching static path was found for requested path \\`${pathName}\\`.`,\n hint: (possibleRoutes) => `Possible dynamic routes being matched: ${possibleRoutes.join(\", \")}.`\n};\nconst OnlyResponseCanBeReturned = {\n name: \"OnlyResponseCanBeReturned\",\n title: \"Invalid type returned by Astro page.\",\n message: (route, returnedValue) => `Route \\`${route ? route : \"\"}\\` returned a \\`${returnedValue}\\`. Only a [Response](https://developer.mozilla.org/en-US/docs/Web/API/Response) can be returned from Astro files.`,\n hint: \"See https://docs.astro.build/en/guides/server-side-rendering/#response for more information.\"\n};\nconst MissingMediaQueryDirective = {\n name: \"MissingMediaQueryDirective\",\n title: \"Missing value for `client:media` directive.\",\n message: 'Media query not provided for `client:media` directive. A media query similar to `client:media=\"(max-width: 600px)\"` must be provided'\n};\nconst NoMatchingRenderer = {\n name: \"NoMatchingRenderer\",\n title: \"No matching renderer found.\",\n message: (componentName, componentExtension, plural, validRenderersCount) => `Unable to render \\`${componentName}\\`.\n\n${validRenderersCount > 0 ? `There ${plural ? \"are\" : \"is\"} ${validRenderersCount} renderer${plural ? \"s\" : \"\"} configured in your \\`astro.config.mjs\\` file,\nbut ${plural ? \"none were\" : \"it was not\"} able to server-side render \\`${componentName}\\`.` : `No valid renderer was found ${componentExtension ? `for the \\`.${componentExtension}\\` file extension.` : `for this file extension.`}`}`,\n hint: (probableRenderers) => `Did you mean to enable the ${probableRenderers} integration?\n\nSee https://docs.astro.build/en/guides/framework-components/ for more information on how to install and configure integrations.`\n};\nconst NoClientEntrypoint = {\n name: \"NoClientEntrypoint\",\n title: \"No client entrypoint specified in renderer.\",\n message: (componentName, clientDirective, rendererName) => `\\`${componentName}\\` component has a \\`client:${clientDirective}\\` directive, but no client entrypoint was provided by \\`${rendererName}\\`.`,\n hint: \"See https://docs.astro.build/en/reference/integrations-reference/#addrenderer-option for more information on how to configure your renderer.\"\n};\nconst NoClientOnlyHint = {\n name: \"NoClientOnlyHint\",\n title: \"Missing hint on client:only directive.\",\n message: (componentName) => `Unable to render \\`${componentName}\\`. When using the \\`client:only\\` hydration strategy, Astro needs a hint to use the correct renderer.`,\n hint: (probableRenderers) => `Did you mean to pass \\`client:only=\"${probableRenderers}\"\\`? See https://docs.astro.build/en/reference/directives-reference/#clientonly for more information on client:only`\n};\nconst InvalidGetStaticPathParam = {\n name: \"InvalidGetStaticPathParam\",\n title: \"Invalid value returned by a `getStaticPaths` path.\",\n message: (paramType) => `Invalid params given to \\`getStaticPaths\\` path. Expected an \\`object\\`, got \\`${paramType}\\``,\n hint: \"See https://docs.astro.build/en/reference/api-reference/#getstaticpaths for more information on getStaticPaths.\"\n};\nconst InvalidGetStaticPathsEntry = {\n name: \"InvalidGetStaticPathsEntry\",\n title: \"Invalid entry inside getStaticPath's return value\",\n message: (entryType) => `Invalid entry returned by getStaticPaths. Expected an object, got \\`${entryType}\\``,\n hint: \"If you're using a `.map` call, you might be looking for `.flatMap()` instead. See https://docs.astro.build/en/reference/api-reference/#getstaticpaths for more information on getStaticPaths.\"\n};\nconst InvalidGetStaticPathsReturn = {\n name: \"InvalidGetStaticPathsReturn\",\n title: \"Invalid value returned by getStaticPaths.\",\n message: (returnType) => `Invalid type returned by \\`getStaticPaths\\`. Expected an \\`array\\`, got \\`${returnType}\\``,\n hint: \"See https://docs.astro.build/en/reference/api-reference/#getstaticpaths for more information on getStaticPaths.\"\n};\nconst GetStaticPathsExpectedParams = {\n name: \"GetStaticPathsExpectedParams\",\n title: \"Missing params property on `getStaticPaths` route.\",\n message: \"Missing or empty required `params` property on `getStaticPaths` route.\",\n hint: \"See https://docs.astro.build/en/reference/api-reference/#getstaticpaths for more information on getStaticPaths.\"\n};\nconst GetStaticPathsInvalidRouteParam = {\n name: \"GetStaticPathsInvalidRouteParam\",\n title: \"Invalid value for `getStaticPaths` route parameter.\",\n message: (key, value, valueType) => `Invalid getStaticPaths route parameter for \\`${key}\\`. Expected undefined, a string or a number, received \\`${valueType}\\` (\\`${value}\\`)`,\n hint: \"See https://docs.astro.build/en/reference/api-reference/#getstaticpaths for more information on getStaticPaths.\"\n};\nconst GetStaticPathsRequired = {\n name: \"GetStaticPathsRequired\",\n title: \"`getStaticPaths()` function required for dynamic routes.\",\n message: \"`getStaticPaths()` function is required for dynamic routes. Make sure that you `export` a `getStaticPaths` function from your dynamic route.\",\n hint: `See https://docs.astro.build/en/guides/routing/#dynamic-routes for more information on dynamic routes.\n\nAlternatively, set \\`output: \"server\"\\` or \\`output: \"hybrid\"\\` in your Astro config file to switch to a non-static server build. This error can also occur if using \\`export const prerender = true;\\`.\nSee https://docs.astro.build/en/guides/server-side-rendering/ for more information on non-static rendering.`\n};\nconst ReservedSlotName = {\n name: \"ReservedSlotName\",\n title: \"Invalid slot name.\",\n message: (slotName) => `Unable to create a slot named \\`${slotName}\\`. \\`${slotName}\\` is a reserved slot name. Please update the name of this slot.`\n};\nconst NoAdapterInstalled = {\n name: \"NoAdapterInstalled\",\n title: \"Cannot use Server-side Rendering without an adapter.\",\n message: `Cannot use \\`output: 'server'\\` or \\`output: 'hybrid'\\` without an adapter. Please install and configure the appropriate server adapter for your final deployment.`,\n hint: \"See https://docs.astro.build/en/guides/server-side-rendering/ for more information.\"\n};\nconst NoMatchingImport = {\n name: \"NoMatchingImport\",\n title: \"No import found for component.\",\n message: (componentName) => `Could not render \\`${componentName}\\`. No matching import has been found for \\`${componentName}\\`.`,\n hint: \"Please make sure the component is properly imported.\"\n};\nconst InvalidPrerenderExport = {\n name: \"InvalidPrerenderExport\",\n title: \"Invalid prerender export.\",\n message(prefix, suffix, isHydridOutput) {\n const defaultExpectedValue = isHydridOutput ? \"false\" : \"true\";\n let msg = `A \\`prerender\\` export has been detected, but its value cannot be statically analyzed.`;\n if (prefix !== \"const\") msg += `\nExpected \\`const\\` declaration but got \\`${prefix}\\`.`;\n if (suffix !== \"true\")\n msg += `\nExpected \\`${defaultExpectedValue}\\` value but got \\`${suffix}\\`.`;\n return msg;\n },\n hint: \"Mutable values declared at runtime are not supported. Please make sure to use exactly `export const prerender = true`.\"\n};\nconst InvalidComponentArgs = {\n name: \"InvalidComponentArgs\",\n title: \"Invalid component arguments.\",\n message: (name) => `Invalid arguments passed to${name ? ` <${name}>` : \"\"} component.`,\n hint: \"Astro components cannot be rendered directly via function call, such as `Component()` or `{items.map(Component)}`.\"\n};\nconst PageNumberParamNotFound = {\n name: \"PageNumberParamNotFound\",\n title: \"Page number param not found.\",\n message: (paramName) => `[paginate()] page number param \\`${paramName}\\` not found in your filepath.`,\n hint: \"Rename your file to `[page].astro` or `[...page].astro`.\"\n};\nconst ImageMissingAlt = {\n name: \"ImageMissingAlt\",\n title: 'Image missing required \"alt\" property.',\n message: 'Image missing \"alt\" property. \"alt\" text is required to describe important images on the page.',\n hint: 'Use an empty string (\"\") for decorative images.'\n};\nconst InvalidImageService = {\n name: \"InvalidImageService\",\n title: \"Error while loading image service.\",\n message: \"There was an error loading the configured image service. Please see the stack trace for more information.\"\n};\nconst MissingImageDimension = {\n name: \"MissingImageDimension\",\n title: \"Missing image dimensions\",\n message: (missingDimension, imageURL) => `Missing ${missingDimension === \"both\" ? \"width and height attributes\" : `${missingDimension} attribute`} for ${imageURL}. When using remote images, both dimensions are required in order to avoid CLS.`,\n hint: \"If your image is inside your `src` folder, you probably meant to import it instead. See [the Imports guide for more information](https://docs.astro.build/en/guides/imports/#other-assets). You can also use `inferSize={true}` for remote images to get the original dimensions.\"\n};\nconst FailedToFetchRemoteImageDimensions = {\n name: \"FailedToFetchRemoteImageDimensions\",\n title: \"Failed to retrieve remote image dimensions\",\n message: (imageURL) => `Failed to get the dimensions for ${imageURL}.`,\n hint: \"Verify your remote image URL is accurate, and that you are not using `inferSize` with a file located in your `public/` folder.\"\n};\nconst UnsupportedImageFormat = {\n name: \"UnsupportedImageFormat\",\n title: \"Unsupported image format\",\n message: (format, imagePath, supportedFormats) => `Received unsupported format \\`${format}\\` from \\`${imagePath}\\`. Currently only ${supportedFormats.join(\n \", \"\n )} are supported by our image services.`,\n hint: \"Using an `img` tag directly instead of the `Image` component might be what you're looking for.\"\n};\nconst UnsupportedImageConversion = {\n name: \"UnsupportedImageConversion\",\n title: \"Unsupported image conversion\",\n message: \"Converting between vector (such as SVGs) and raster (such as PNGs and JPEGs) images is not currently supported.\"\n};\nconst PrerenderDynamicEndpointPathCollide = {\n name: \"PrerenderDynamicEndpointPathCollide\",\n title: \"Prerendered dynamic endpoint has path collision.\",\n message: (pathname) => `Could not render \\`${pathname}\\` with an \\`undefined\\` param as the generated path will collide during prerendering. Prevent passing \\`undefined\\` as \\`params\\` for the endpoint's \\`getStaticPaths()\\` function, or add an additional extension to the endpoint's filename.`,\n hint: (filename) => `Rename \\`${filename}\\` to \\`${filename.replace(/\\.(?:js|ts)/, (m) => `.json` + m)}\\``\n};\nconst ExpectedImage = {\n name: \"ExpectedImage\",\n title: \"Expected src to be an image.\",\n message: (src, typeofOptions, fullOptions) => `Expected \\`src\\` property for \\`getImage\\` or \\`\\` to be either an ESM imported image or a string with the path of a remote image. Received \\`${src}\\` (type: \\`${typeofOptions}\\`).\n\nFull serialized options received: \\`${fullOptions}\\`.`,\n hint: \"This error can often happen because of a wrong path. Make sure the path to your image is correct. If you're passing an async function, make sure to call and await it.\"\n};\nconst ExpectedImageOptions = {\n name: \"ExpectedImageOptions\",\n title: \"Expected image options.\",\n message: (options) => `Expected getImage() parameter to be an object. Received \\`${options}\\`.`\n};\nconst ExpectedNotESMImage = {\n name: \"ExpectedNotESMImage\",\n title: \"Expected image options, not an ESM-imported image.\",\n message: \"An ESM-imported image cannot be passed directly to `getImage()`. Instead, pass an object with the image in the `src` property.\",\n hint: \"Try changing `getImage(myImage)` to `getImage({ src: myImage })`\"\n};\nconst IncompatibleDescriptorOptions = {\n name: \"IncompatibleDescriptorOptions\",\n title: \"Cannot set both `densities` and `widths`\",\n message: \"Only one of `densities` or `widths` can be specified. In most cases, you'll probably want to use only `widths` if you require specific widths.\",\n hint: \"Those attributes are used to construct a `srcset` attribute, which cannot have both `x` and `w` descriptors.\"\n};\nconst ImageNotFound = {\n name: \"ImageNotFound\",\n title: \"Image not found.\",\n message: (imagePath) => `Could not find requested image \\`${imagePath}\\`. Does it exist?`,\n hint: \"This is often caused by a typo in the image path. Please make sure the file exists, and is spelled correctly.\"\n};\nconst NoImageMetadata = {\n name: \"NoImageMetadata\",\n title: \"Could not process image metadata.\",\n message: (imagePath) => `Could not process image metadata${imagePath ? ` for \\`${imagePath}\\`` : \"\"}.`,\n hint: \"This is often caused by a corrupted or malformed image. Re-exporting the image from your image editor may fix this issue.\"\n};\nconst CouldNotTransformImage = {\n name: \"CouldNotTransformImage\",\n title: \"Could not transform image.\",\n message: (imagePath) => `Could not transform image \\`${imagePath}\\`. See the stack trace for more information.`,\n hint: \"This is often caused by a corrupted or malformed image. Re-exporting the image from your image editor may fix this issue.\"\n};\nconst ResponseSentError = {\n name: \"ResponseSentError\",\n title: \"Unable to set response.\",\n message: \"The response has already been sent to the browser and cannot be altered.\"\n};\nconst MiddlewareNoDataOrNextCalled = {\n name: \"MiddlewareNoDataOrNextCalled\",\n title: \"The middleware didn't return a `Response`.\",\n message: \"Make sure your middleware returns a `Response` object, either directly or by returning the `Response` from calling the `next` function.\"\n};\nconst MiddlewareNotAResponse = {\n name: \"MiddlewareNotAResponse\",\n title: \"The middleware returned something that is not a `Response` object.\",\n message: \"Any data returned from middleware must be a valid `Response` object.\"\n};\nconst EndpointDidNotReturnAResponse = {\n name: \"EndpointDidNotReturnAResponse\",\n title: \"The endpoint did not return a `Response`.\",\n message: \"An endpoint must return either a `Response`, or a `Promise` that resolves with a `Response`.\"\n};\nconst LocalsNotAnObject = {\n name: \"LocalsNotAnObject\",\n title: \"Value assigned to `locals` is not accepted.\",\n message: \"`locals` can only be assigned to an object. Other values like numbers, strings, etc. are not accepted.\",\n hint: \"If you tried to remove some information from the `locals` object, try to use `delete` or set the property to `undefined`.\"\n};\nconst AstroResponseHeadersReassigned = {\n name: \"AstroResponseHeadersReassigned\",\n title: \"`Astro.response.headers` must not be reassigned.\",\n message: \"Individual headers can be added to and removed from `Astro.response.headers`, but it must not be replaced with another instance of `Headers` altogether.\",\n hint: \"Consider using `Astro.response.headers.add()`, and `Astro.response.headers.delete()`.\"\n};\nconst MiddlewareCantBeLoaded = {\n name: \"MiddlewareCantBeLoaded\",\n title: \"Can't load the middleware.\",\n message: \"An unknown error was thrown while loading your middleware.\"\n};\nconst LocalImageUsedWrongly = {\n name: \"LocalImageUsedWrongly\",\n title: \"Local images must be imported.\",\n message: (imageFilePath) => `\\`Image\\`'s and \\`getImage\\`'s \\`src\\` parameter must be an imported image or an URL, it cannot be a string filepath. Received \\`${imageFilePath}\\`.`,\n hint: \"If you want to use an image from your `src` folder, you need to either import it or if the image is coming from a content collection, use the [image() schema helper](https://docs.astro.build/en/guides/images/#images-in-content-collections). See https://docs.astro.build/en/guides/images/#src-required for more information on the `src` property.\"\n};\nconst AstroGlobUsedOutside = {\n name: \"AstroGlobUsedOutside\",\n title: \"Astro.glob() used outside of an Astro file.\",\n message: (globStr) => `\\`Astro.glob(${globStr})\\` can only be used in \\`.astro\\` files. \\`import.meta.glob(${globStr})\\` can be used instead to achieve a similar result.`,\n hint: \"See Vite's documentation on `import.meta.glob` for more information: https://vitejs.dev/guide/features.html#glob-import\"\n};\nconst AstroGlobNoMatch = {\n name: \"AstroGlobNoMatch\",\n title: \"Astro.glob() did not match any files.\",\n message: (globStr) => `\\`Astro.glob(${globStr})\\` did not return any matching files.`,\n hint: \"Check the pattern for typos.\"\n};\nconst RedirectWithNoLocation = {\n name: \"RedirectWithNoLocation\",\n title: \"A redirect must be given a location with the `Location` header.\"\n};\nconst InvalidDynamicRoute = {\n name: \"InvalidDynamicRoute\",\n title: \"Invalid dynamic route.\",\n message: (route, invalidParam, received) => `The ${invalidParam} param for route ${route} is invalid. Received **${received}**.`\n};\nconst MissingSharp = {\n name: \"MissingSharp\",\n title: \"Could not find Sharp.\",\n message: \"Could not find Sharp. Please install Sharp (`sharp`) manually into your project or migrate to another image service.\",\n hint: \"See Sharp's installation instructions for more information: https://sharp.pixelplumbing.com/install. If you are not relying on `astro:assets` to optimize, transform, or process any images, you can configure a passthrough image service instead of installing Sharp. See https://docs.astro.build/en/reference/errors/missing-sharp for more information.\\n\\nSee https://docs.astro.build/en/guides/images/#default-image-service for more information on how to migrate to another image service.\"\n};\nconst UnknownViteError = {\n name: \"UnknownViteError\",\n title: \"Unknown Vite Error.\"\n};\nconst FailedToLoadModuleSSR = {\n name: \"FailedToLoadModuleSSR\",\n title: \"Could not import file.\",\n message: (importName) => `Could not import \\`${importName}\\`.`,\n hint: \"This is often caused by a typo in the import path. Please make sure the file exists.\"\n};\nconst InvalidGlob = {\n name: \"InvalidGlob\",\n title: \"Invalid glob pattern.\",\n message: (globPattern) => `Invalid glob pattern: \\`${globPattern}\\`. Glob patterns must start with './', '../' or '/'.`,\n hint: \"See https://docs.astro.build/en/guides/imports/#glob-patterns for more information on supported glob patterns.\"\n};\nconst FailedToFindPageMapSSR = {\n name: \"FailedToFindPageMapSSR\",\n title: \"Astro couldn't find the correct page to render\",\n message: \"Astro couldn't find the correct page to render, probably because it wasn't correctly mapped for SSR usage. This is an internal error. Please file an issue.\"\n};\nconst MissingLocale = {\n name: \"MissingLocaleError\",\n title: \"The provided locale does not exist.\",\n message: (locale) => `The locale/path \\`${locale}\\` does not exist in the configured \\`i18n.locales\\`.`\n};\nconst MissingIndexForInternationalization = {\n name: \"MissingIndexForInternationalizationError\",\n title: \"Index page not found.\",\n message: (defaultLocale) => `Could not find index page. A root index page is required in order to create a redirect to the index URL of the default locale. (\\`/${defaultLocale}\\`)`,\n hint: (src) => `Create an index page (\\`index.astro, index.md, etc.\\`) in \\`${src}\\`.`\n};\nconst IncorrectStrategyForI18n = {\n name: \"IncorrectStrategyForI18n\",\n title: \"You can't use the current function with the current strategy\",\n message: (functionName) => `The function \\`${functionName}\\` can only be used when the \\`i18n.routing.strategy\\` is set to \\`\"manual\"\\`.`\n};\nconst NoPrerenderedRoutesWithDomains = {\n name: \"NoPrerenderedRoutesWithDomains\",\n title: \"Prerendered routes aren't supported when internationalization domains are enabled.\",\n message: (component) => `Static pages aren't yet supported with multiple domains. To enable this feature, you must disable prerendering for the page ${component}`\n};\nconst MissingMiddlewareForInternationalization = {\n name: \"MissingMiddlewareForInternationalization\",\n title: \"Enabled manual internationalization routing without having a middleware.\",\n message: \"Your configuration setting `i18n.routing: 'manual'` requires you to provide your own i18n `middleware` file.\"\n};\nconst CantRenderPage = {\n name: \"CantRenderPage\",\n title: \"Astro can't render the route.\",\n message: \"Astro cannot find any content to render for this route. There is no file or redirect associated with this route.\",\n hint: \"If you expect to find a route here, this may be an Astro bug. Please file an issue/restart the dev server\"\n};\nconst UnhandledRejection = {\n name: \"UnhandledRejection\",\n title: \"Unhandled rejection\",\n message: (stack) => `Astro detected an unhandled rejection. Here's the stack trace:\n${stack}`,\n hint: \"Make sure your promises all have an `await` or a `.catch()` handler.\"\n};\nconst i18nNotEnabled = {\n name: \"i18nNotEnabled\",\n title: \"i18n Not Enabled\",\n message: \"The `astro:i18n` module can not be used without enabling i18n in your Astro config.\",\n hint: \"See https://docs.astro.build/en/guides/internationalization for a guide on setting up i18n.\"\n};\nconst i18nNoLocaleFoundInPath = {\n name: \"i18nNoLocaleFoundInPath\",\n title: \"The path doesn't contain any locale\",\n message: \"You tried to use an i18n utility on a path that doesn't contain any locale. You can use `pathHasLocale` first to determine if the path has a locale.\"\n};\nconst RouteNotFound = {\n name: \"RouteNotFound\",\n title: \"Route not found.\",\n message: `Astro could not find a route that matches the one you requested.`\n};\nconst EnvInvalidVariables = {\n name: \"EnvInvalidVariables\",\n title: \"Invalid Environment Variables\",\n message: (errors) => `The following environment variables defined in \\`experimental.env.schema\\` are invalid:\n\n${errors.map((err) => `- ${err}`).join(\"\\n\")}\n`\n};\nconst EnvUnsupportedGetSecret = {\n name: \"EnvUnsupportedGetSecret\",\n title: \"Unsupported astro:env getSecret\",\n message: \"`astro:env/server` exported function `getSecret` is not supported by your adapter.\"\n};\nconst ServerOnlyModule = {\n name: \"ServerOnlyModule\",\n title: \"Module is only available server-side\",\n message: (name) => `The \"${name}\" module is only available server-side.`\n};\nconst RewriteWithBodyUsed = {\n name: \"RewriteWithBodyUsed\",\n title: \"Cannot use Astro.rewrite after the request body has been read\",\n message: \"Astro.rewrite() cannot be used if the request body has already been read. If you need to read the body, first clone the request.\"\n};\nconst UnknownFilesystemError = {\n name: \"UnknownFilesystemError\",\n title: \"An unknown error occurred while reading or writing files to disk.\",\n hint: \"It can be caused by many things, eg. missing permissions or a file not existing we attempt to read. Check the error cause for more details.\"\n};\nconst UnknownCSSError = {\n name: \"UnknownCSSError\",\n title: \"Unknown CSS Error.\"\n};\nconst CSSSyntaxError = {\n name: \"CSSSyntaxError\",\n title: \"CSS Syntax Error.\"\n};\nconst UnknownMarkdownError = {\n name: \"UnknownMarkdownError\",\n title: \"Unknown Markdown Error.\"\n};\nconst MarkdownFrontmatterParseError = {\n name: \"MarkdownFrontmatterParseError\",\n title: \"Failed to parse Markdown frontmatter.\"\n};\nconst InvalidFrontmatterInjectionError = {\n name: \"InvalidFrontmatterInjectionError\",\n title: \"Invalid frontmatter injection.\",\n message: 'A remark or rehype plugin attempted to inject invalid frontmatter. Ensure \"astro.frontmatter\" is set to a valid JSON object that is not `null` or `undefined`.',\n hint: \"See the frontmatter injection docs https://docs.astro.build/en/guides/markdown-content/#modifying-frontmatter-programmatically for more information.\"\n};\nconst MdxIntegrationMissingError = {\n name: \"MdxIntegrationMissingError\",\n title: \"MDX integration missing.\",\n message: (file) => `Unable to render ${file}. Ensure that the \\`@astrojs/mdx\\` integration is installed.`,\n hint: \"See the MDX integration docs for installation and usage instructions: https://docs.astro.build/en/guides/integrations-guide/mdx/\"\n};\nconst UnknownConfigError = {\n name: \"UnknownConfigError\",\n title: \"Unknown configuration error.\"\n};\nconst ConfigNotFound = {\n name: \"ConfigNotFound\",\n title: \"Specified configuration file not found.\",\n message: (configFile) => `Unable to resolve \\`--config \"${configFile}\"\\`. Does the file exist?`\n};\nconst ConfigLegacyKey = {\n name: \"ConfigLegacyKey\",\n title: \"Legacy configuration detected.\",\n message: (legacyConfigKey) => `Legacy configuration detected: \\`${legacyConfigKey}\\`.`,\n hint: \"Please update your configuration to the new format.\\nSee https://astro.build/config for more information.\"\n};\nconst UnknownCLIError = {\n name: \"UnknownCLIError\",\n title: \"Unknown CLI Error.\"\n};\nconst GenerateContentTypesError = {\n name: \"GenerateContentTypesError\",\n title: \"Failed to generate content types.\",\n message: (errorMessage) => `\\`astro sync\\` command failed to generate content collection types: ${errorMessage}`,\n hint: \"Check your `src/content/config.*` file for typos.\"\n};\nconst UnknownContentCollectionError = {\n name: \"UnknownContentCollectionError\",\n title: \"Unknown Content Collection Error.\"\n};\nconst GetEntryDeprecationError = {\n name: \"GetEntryDeprecationError\",\n title: \"Invalid use of `getDataEntryById` or `getEntryBySlug` function.\",\n message: (collection, method) => `The \\`${method}\\` function is deprecated and cannot be used to query the \"${collection}\" collection. Use \\`getEntry\\` instead.`,\n hint: \"Use the `getEntry` or `getCollection` functions to query content layer collections.\"\n};\nconst InvalidContentEntryFrontmatterError = {\n name: \"InvalidContentEntryFrontmatterError\",\n title: \"Content entry frontmatter does not match schema.\",\n message(collection, entryId, error) {\n return [\n `**${String(collection)} \\u2192 ${String(\n entryId\n )}** frontmatter does not match collection schema.`,\n ...error.errors.map((zodError) => zodError.message)\n ].join(\"\\n\");\n },\n hint: \"See https://docs.astro.build/en/guides/content-collections/ for more information on content schemas.\"\n};\nconst InvalidContentEntrySlugError = {\n name: \"InvalidContentEntrySlugError\",\n title: \"Invalid content entry slug.\",\n message(collection, entryId) {\n return `${String(collection)} \\u2192 ${String(\n entryId\n )} has an invalid slug. \\`slug\\` must be a string.`;\n },\n hint: \"See https://docs.astro.build/en/guides/content-collections/ for more on the `slug` field.\"\n};\nconst ContentSchemaContainsSlugError = {\n name: \"ContentSchemaContainsSlugError\",\n title: \"Content Schema should not contain `slug`.\",\n message: (collectionName) => `A content collection schema should not contain \\`slug\\` since it is reserved for slug generation. Remove this from your ${collectionName} collection schema.`,\n hint: \"See https://docs.astro.build/en/guides/content-collections/ for more on the `slug` field.\"\n};\nconst MixedContentDataCollectionError = {\n name: \"MixedContentDataCollectionError\",\n title: \"Content and data cannot be in same collection.\",\n message: (collectionName) => `**${collectionName}** contains a mix of content and data entries. All entries must be of the same type.`,\n hint: \"Store data entries in a new collection separate from your content collection.\"\n};\nconst ContentCollectionTypeMismatchError = {\n name: \"ContentCollectionTypeMismatchError\",\n title: \"Collection contains entries of a different type.\",\n message: (collection, expectedType, actualType) => `${collection} contains ${expectedType} entries, but is configured as a ${actualType} collection.`\n};\nconst DataCollectionEntryParseError = {\n name: \"DataCollectionEntryParseError\",\n title: \"Data collection entry failed to parse.\",\n message(entryId, errorMessage) {\n return `**${entryId}** failed to parse: ${errorMessage}`;\n },\n hint: \"Ensure your data entry is an object with valid JSON (for `.json` entries) or YAML (for `.yaml` entries).\"\n};\nconst DuplicateContentEntrySlugError = {\n name: \"DuplicateContentEntrySlugError\",\n title: \"Duplicate content entry slug.\",\n message(collection, slug, preExisting, alsoFound) {\n return `**${collection}** contains multiple entries with the same slug: \\`${slug}\\`. Slugs must be unique.\n\nEntries: \n- ${preExisting}\n- ${alsoFound}`;\n }\n};\nconst UnsupportedConfigTransformError = {\n name: \"UnsupportedConfigTransformError\",\n title: \"Unsupported transform in content config.\",\n message: (parseError) => `\\`transform()\\` functions in your content config must return valid JSON, or data types compatible with the devalue library (including Dates, Maps, and Sets).\nFull error: ${parseError}`,\n hint: \"See the devalue library for all supported types: https://github.com/rich-harris/devalue\"\n};\nconst ActionsWithoutServerOutputError = {\n name: \"ActionsWithoutServerOutputError\",\n title: \"Actions must be used with server output.\",\n message: \"Actions enabled without setting a server build output. A server is required to create callable backend functions. To deploy routes to a server, add a server adapter to your astro config.\",\n hint: \"Learn about on-demand rendering: https://docs.astro.build/en/basics/rendering-modes/#on-demand-rendered\"\n};\nconst ActionsReturnedInvalidDataError = {\n name: \"ActionsReturnedInvalidDataError\",\n title: \"Action handler returned invalid data.\",\n message: (error) => `Action handler returned invalid data. Handlers should return serializable data types like objects, arrays, strings, and numbers. Parse error: ${error}`,\n hint: \"See the devalue library for all supported types: https://github.com/rich-harris/devalue\"\n};\nconst ActionNotFoundError = {\n name: \"ActionNotFoundError\",\n title: \"Action not found.\",\n message: (actionName) => `The server received a request for an action named \\`${actionName}\\` but could not find a match. If you renamed an action, check that you've updated your \\`actions/index\\` file and your calling code to match.`,\n hint: \"You can run `astro check` to detect type errors caused by mismatched action names.\"\n};\nconst ActionCalledFromServerError = {\n name: \"ActionCalledFromServerError\",\n title: \"Action unexpected called from the server.\",\n message: \"Action called from a server page or endpoint without using `Astro.callAction()`. This wrapper must be used to call actions from server code.\",\n hint: \"See the `Astro.callAction()` reference for usage examples: https://docs.astro.build/en/reference/api-reference/#astrocallaction\"\n};\nconst UnknownError = { name: \"UnknownError\", title: \"Unknown Error.\" };\nexport {\n ActionCalledFromServerError,\n ActionNotFoundError,\n ActionsReturnedInvalidDataError,\n ActionsWithoutServerOutputError,\n AstroGlobNoMatch,\n AstroGlobUsedOutside,\n AstroResponseHeadersReassigned,\n CSSSyntaxError,\n CantRenderPage,\n ClientAddressNotAvailable,\n ConfigLegacyKey,\n ConfigNotFound,\n ContentCollectionTypeMismatchError,\n ContentSchemaContainsSlugError,\n CouldNotTransformImage,\n DataCollectionEntryParseError,\n DuplicateContentEntrySlugError,\n EndpointDidNotReturnAResponse,\n EnvInvalidVariables,\n EnvUnsupportedGetSecret,\n ExpectedImage,\n ExpectedImageOptions,\n ExpectedNotESMImage,\n FailedToFetchRemoteImageDimensions,\n FailedToFindPageMapSSR,\n FailedToLoadModuleSSR,\n GenerateContentTypesError,\n GetEntryDeprecationError,\n GetStaticPathsExpectedParams,\n GetStaticPathsInvalidRouteParam,\n GetStaticPathsRequired,\n ImageMissingAlt,\n ImageNotFound,\n IncompatibleDescriptorOptions,\n IncorrectStrategyForI18n,\n InvalidComponentArgs,\n InvalidContentEntryFrontmatterError,\n InvalidContentEntrySlugError,\n InvalidDynamicRoute,\n InvalidFrontmatterInjectionError,\n InvalidGetStaticPathParam,\n InvalidGetStaticPathsEntry,\n InvalidGetStaticPathsReturn,\n InvalidGlob,\n InvalidImageService,\n InvalidPrerenderExport,\n LocalImageUsedWrongly,\n LocalsNotAnObject,\n MarkdownFrontmatterParseError,\n MdxIntegrationMissingError,\n MiddlewareCantBeLoaded,\n MiddlewareNoDataOrNextCalled,\n MiddlewareNotAResponse,\n MissingImageDimension,\n MissingIndexForInternationalization,\n MissingLocale,\n MissingMediaQueryDirective,\n MissingMiddlewareForInternationalization,\n MissingSharp,\n MixedContentDataCollectionError,\n NoAdapterInstalled,\n NoClientEntrypoint,\n NoClientOnlyHint,\n NoImageMetadata,\n NoMatchingImport,\n NoMatchingRenderer,\n NoMatchingStaticPathFound,\n NoPrerenderedRoutesWithDomains,\n OnlyResponseCanBeReturned,\n PageNumberParamNotFound,\n PrerenderClientAddressNotAvailable,\n PrerenderDynamicEndpointPathCollide,\n RedirectWithNoLocation,\n ReservedSlotName,\n ResponseSentError,\n RewriteWithBodyUsed,\n RouteNotFound,\n ServerOnlyModule,\n StaticClientAddressNotAvailable,\n UnhandledRejection,\n UnknownCLIError,\n UnknownCSSError,\n UnknownCompilerError,\n UnknownConfigError,\n UnknownContentCollectionError,\n UnknownError,\n UnknownFilesystemError,\n UnknownMarkdownError,\n UnknownViteError,\n UnsupportedConfigTransformError,\n UnsupportedImageConversion,\n UnsupportedImageFormat,\n i18nNoLocaleFoundInPath,\n i18nNotEnabled\n};\n","function positionAt(offset, text) {\n const lineOffsets = getLineOffsets(text);\n offset = Math.max(0, Math.min(text.length, offset));\n let low = 0;\n let high = lineOffsets.length;\n if (high === 0) {\n return {\n line: 0,\n column: offset\n };\n }\n while (low <= high) {\n const mid = Math.floor((low + high) / 2);\n const lineOffset = lineOffsets[mid];\n if (lineOffset === offset) {\n return {\n line: mid,\n column: 0\n };\n } else if (offset > lineOffset) {\n low = mid + 1;\n } else {\n high = mid - 1;\n }\n }\n const line = low - 1;\n return { line, column: offset - lineOffsets[line] };\n}\nfunction getLineOffsets(text) {\n const lineOffsets = [];\n let isLineStart = true;\n for (let i = 0; i < text.length; i++) {\n if (isLineStart) {\n lineOffsets.push(i);\n isLineStart = false;\n }\n const ch = text.charAt(i);\n isLineStart = ch === \"\\r\" || ch === \"\\n\";\n if (ch === \"\\r\" && i + 1 < text.length && text.charAt(i + 1) === \"\\n\") {\n i++;\n }\n }\n if (isLineStart && text.length > 0) {\n lineOffsets.push(text.length);\n }\n return lineOffsets;\n}\nfunction isYAMLException(err) {\n return err instanceof Error && err.name === \"YAMLException\";\n}\nfunction formatYAMLException(e) {\n return {\n name: e.name,\n id: e.mark.name,\n loc: { file: e.mark.name, line: e.mark.line + 1, column: e.mark.column },\n message: e.reason,\n stack: e.stack ?? \"\"\n };\n}\nfunction createSafeError(err) {\n if (err instanceof Error || err?.name && err.message) {\n return err;\n } else {\n const error = new Error(JSON.stringify(err));\n error.hint = `To get as much information as possible from your errors, make sure to throw Error objects instead of \\`${typeof err}\\`. See https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Error for more information.`;\n return error;\n }\n}\nfunction normalizeLF(code) {\n return code.replace(/\\r\\n|\\r(?!\\n)|\\n/g, \"\\n\");\n}\nexport {\n createSafeError,\n formatYAMLException,\n isYAMLException,\n normalizeLF,\n positionAt\n};\n","import { normalizeLF } from \"./utils.js\";\nfunction codeFrame(src, loc) {\n if (!loc || loc.line === void 0 || loc.column === void 0) {\n return \"\";\n }\n const lines = normalizeLF(src).split(\"\\n\").map((ln) => ln.replace(/\\t/g, \" \"));\n const visibleLines = [];\n for (let n = -2; n <= 2; n++) {\n if (lines[loc.line + n]) visibleLines.push(loc.line + n);\n }\n let gutterWidth = 0;\n for (const lineNo of visibleLines) {\n let w = `> ${lineNo}`;\n if (w.length > gutterWidth) gutterWidth = w.length;\n }\n let output = \"\";\n for (const lineNo of visibleLines) {\n const isFocusedLine = lineNo === loc.line - 1;\n output += isFocusedLine ? \"> \" : \" \";\n output += `${lineNo + 1} | ${lines[lineNo]}\n`;\n if (isFocusedLine)\n output += `${Array.from({ length: gutterWidth }).join(\" \")} | ${Array.from({\n length: loc.column\n }).join(\" \")}^\n`;\n }\n return output;\n}\nexport {\n codeFrame\n};\n","import { codeFrame } from \"./printer.js\";\nfunction isAstroError(e) {\n return e instanceof AstroError;\n}\nclass AstroError extends Error {\n loc;\n title;\n hint;\n frame;\n type = \"AstroError\";\n constructor(props, options) {\n const { name, title, message, stack, location, hint, frame } = props;\n super(message, options);\n this.title = title;\n this.name = name;\n if (message) this.message = message;\n this.stack = stack ? stack : this.stack;\n this.loc = location;\n this.hint = hint;\n this.frame = frame;\n }\n setLocation(location) {\n this.loc = location;\n }\n setName(name) {\n this.name = name;\n }\n setMessage(message) {\n this.message = message;\n }\n setHint(hint) {\n this.hint = hint;\n }\n setFrame(source, location) {\n this.frame = codeFrame(source, location);\n }\n static is(err) {\n return err.type === \"AstroError\";\n }\n}\nclass CompilerError extends AstroError {\n type = \"CompilerError\";\n constructor(props, options) {\n super(props, options);\n }\n static is(err) {\n return err.type === \"CompilerError\";\n }\n}\nclass CSSError extends AstroError {\n type = \"CSSError\";\n static is(err) {\n return err.type === \"CSSError\";\n }\n}\nclass MarkdownError extends AstroError {\n type = \"MarkdownError\";\n static is(err) {\n return err.type === \"MarkdownError\";\n }\n}\nclass InternalError extends AstroError {\n type = \"InternalError\";\n static is(err) {\n return err.type === \"InternalError\";\n }\n}\nclass AggregateError extends AstroError {\n type = \"AggregateError\";\n errors;\n // Despite being a collection of errors, AggregateError still needs to have a main error attached to it\n // This is because Vite expects every thrown errors handled during HMR to be, well, Error and have a message\n constructor(props, options) {\n super(props, options);\n this.errors = props.errors;\n }\n static is(err) {\n return err.type === \"AggregateError\";\n }\n}\nconst astroConfigZodErrors = /* @__PURE__ */ new WeakSet();\nfunction isAstroConfigZodError(error) {\n return astroConfigZodErrors.has(error);\n}\nfunction trackAstroConfigZodError(error) {\n astroConfigZodErrors.add(error);\n}\nclass AstroUserError extends Error {\n type = \"AstroUserError\";\n /**\n * A message that explains to the user how they can fix the error.\n */\n hint;\n name = \"AstroUserError\";\n constructor(message, hint) {\n super();\n this.message = message;\n this.hint = hint;\n }\n static is(err) {\n return err.type === \"AstroUserError\";\n }\n}\nexport {\n AggregateError,\n AstroError,\n AstroUserError,\n CSSError,\n CompilerError,\n InternalError,\n MarkdownError,\n isAstroConfigZodError,\n isAstroError,\n trackAstroConfigZodError\n};\n","import { AstroError, AstroErrorData } from \"../../core/errors/index.js\";\nfunction validateArgs(args) {\n if (args.length !== 3) return false;\n if (!args[0] || typeof args[0] !== \"object\") return false;\n return true;\n}\nfunction baseCreateComponent(cb, moduleId, propagation) {\n const name = moduleId?.split(\"/\").pop()?.replace(\".astro\", \"\") ?? \"\";\n const fn = (...args) => {\n if (!validateArgs(args)) {\n throw new AstroError({\n ...AstroErrorData.InvalidComponentArgs,\n message: AstroErrorData.InvalidComponentArgs.message(name)\n });\n }\n return cb(...args);\n };\n Object.defineProperty(fn, \"name\", { value: name, writable: false });\n fn.isAstroComponentFactory = true;\n fn.moduleId = moduleId;\n fn.propagation = propagation;\n return fn;\n}\nfunction createComponentWithOptions(opts) {\n const cb = baseCreateComponent(opts.factory, opts.moduleId, opts.propagation);\n return cb;\n}\nfunction createComponent(arg1, moduleId, propagation) {\n if (typeof arg1 === \"function\") {\n return baseCreateComponent(arg1, moduleId, propagation);\n } else {\n return createComponentWithOptions(arg1);\n }\n}\nexport {\n createComponent\n};\n","const ASTRO_VERSION = \"4.15.2\";\nconst REROUTE_DIRECTIVE_HEADER = \"X-Astro-Reroute\";\nconst REWRITE_DIRECTIVE_HEADER_KEY = \"X-Astro-Rewrite\";\nconst REWRITE_DIRECTIVE_HEADER_VALUE = \"yes\";\nconst ROUTE_TYPE_HEADER = \"X-Astro-Route-Type\";\nconst DEFAULT_404_COMPONENT = \"astro-default-404.astro\";\nconst DEFAULT_500_COMPONENT = \"astro-default-500.astro\";\nconst REDIRECT_STATUS_CODES = [301, 302, 303, 307, 308, 300, 304];\nconst REROUTABLE_STATUS_CODES = [404, 500];\nconst clientAddressSymbol = Symbol.for(\"astro.clientAddress\");\nconst clientLocalsSymbol = Symbol.for(\"astro.locals\");\nconst responseSentSymbol = Symbol.for(\"astro.responseSent\");\nconst SUPPORTED_MARKDOWN_FILE_EXTENSIONS = [\n \".markdown\",\n \".mdown\",\n \".mkdn\",\n \".mkd\",\n \".mdwn\",\n \".md\"\n];\nconst MIDDLEWARE_PATH_SEGMENT_NAME = \"middleware\";\nexport {\n ASTRO_VERSION,\n DEFAULT_404_COMPONENT,\n DEFAULT_500_COMPONENT,\n MIDDLEWARE_PATH_SEGMENT_NAME,\n REDIRECT_STATUS_CODES,\n REROUTABLE_STATUS_CODES,\n REROUTE_DIRECTIVE_HEADER,\n REWRITE_DIRECTIVE_HEADER_KEY,\n REWRITE_DIRECTIVE_HEADER_VALUE,\n ROUTE_TYPE_HEADER,\n SUPPORTED_MARKDOWN_FILE_EXTENSIONS,\n clientAddressSymbol,\n clientLocalsSymbol,\n responseSentSymbol\n};\n","import { ASTRO_VERSION } from \"../../core/constants.js\";\nimport { AstroError, AstroErrorData } from \"../../core/errors/index.js\";\nfunction createAstroGlobFn() {\n const globHandler = (importMetaGlobResult) => {\n if (typeof importMetaGlobResult === \"string\") {\n throw new AstroError({\n ...AstroErrorData.AstroGlobUsedOutside,\n message: AstroErrorData.AstroGlobUsedOutside.message(JSON.stringify(importMetaGlobResult))\n });\n }\n let allEntries = [...Object.values(importMetaGlobResult)];\n if (allEntries.length === 0) {\n throw new AstroError({\n ...AstroErrorData.AstroGlobNoMatch,\n message: AstroErrorData.AstroGlobNoMatch.message(JSON.stringify(importMetaGlobResult))\n });\n }\n return Promise.all(allEntries.map((fn) => fn()));\n };\n return globHandler;\n}\nfunction createAstro(site) {\n return {\n // TODO: this is no longer necessary for `Astro.site`\n // but it somehow allows working around caching issues in content collections for some tests\n site: site ? new URL(site) : void 0,\n generator: `Astro v${ASTRO_VERSION}`,\n glob: createAstroGlobFn()\n };\n}\nexport {\n createAstro\n};\n","function isPromise(value) {\n return !!value && typeof value === \"object\" && \"then\" in value && typeof value.then === \"function\";\n}\nasync function* streamAsyncIterator(stream) {\n const reader = stream.getReader();\n try {\n while (true) {\n const { done, value } = await reader.read();\n if (done) return;\n yield value;\n }\n } finally {\n reader.releaseLock();\n }\n}\nexport {\n isPromise,\n streamAsyncIterator\n};\n","import { escape } from \"html-escaper\";\nimport { streamAsyncIterator } from \"./util.js\";\nconst escapeHTML = escape;\nclass HTMLBytes extends Uint8Array {\n}\nObject.defineProperty(HTMLBytes.prototype, Symbol.toStringTag, {\n get() {\n return \"HTMLBytes\";\n }\n});\nclass HTMLString extends String {\n get [Symbol.toStringTag]() {\n return \"HTMLString\";\n }\n}\nconst markHTMLString = (value) => {\n if (value instanceof HTMLString) {\n return value;\n }\n if (typeof value === \"string\") {\n return new HTMLString(value);\n }\n return value;\n};\nfunction isHTMLString(value) {\n return Object.prototype.toString.call(value) === \"[object HTMLString]\";\n}\nfunction markHTMLBytes(bytes) {\n return new HTMLBytes(bytes);\n}\nfunction isHTMLBytes(value) {\n return Object.prototype.toString.call(value) === \"[object HTMLBytes]\";\n}\nfunction hasGetReader(obj) {\n return typeof obj.getReader === \"function\";\n}\nasync function* unescapeChunksAsync(iterable) {\n if (hasGetReader(iterable)) {\n for await (const chunk of streamAsyncIterator(iterable)) {\n yield unescapeHTML(chunk);\n }\n } else {\n for await (const chunk of iterable) {\n yield unescapeHTML(chunk);\n }\n }\n}\nfunction* unescapeChunks(iterable) {\n for (const chunk of iterable) {\n yield unescapeHTML(chunk);\n }\n}\nfunction unescapeHTML(str) {\n if (!!str && typeof str === \"object\") {\n if (str instanceof Uint8Array) {\n return markHTMLBytes(str);\n } else if (str instanceof Response && str.body) {\n const body = str.body;\n return unescapeChunksAsync(body);\n } else if (typeof str.then === \"function\") {\n return Promise.resolve(str).then((value) => {\n return unescapeHTML(value);\n });\n } else if (str[Symbol.for(\"astro:slot-string\")]) {\n return str;\n } else if (Symbol.iterator in str) {\n return unescapeChunks(str);\n } else if (Symbol.asyncIterator in str || hasGetReader(str)) {\n return unescapeChunksAsync(str);\n }\n }\n return markHTMLString(str);\n}\nexport {\n HTMLBytes,\n HTMLString,\n escapeHTML,\n isHTMLBytes,\n isHTMLString,\n markHTMLString,\n unescapeHTML\n};\n","const RenderInstructionSymbol = Symbol.for(\"astro:render\");\nfunction createRenderInstruction(instruction) {\n return Object.defineProperty(instruction, RenderInstructionSymbol, {\n value: true\n });\n}\nfunction isRenderInstruction(chunk) {\n return chunk && typeof chunk === \"object\" && chunk[RenderInstructionSymbol];\n}\nexport {\n createRenderInstruction,\n isRenderInstruction\n};\n","const PROP_TYPE = {\n Value: 0,\n JSON: 1,\n // Actually means Array\n RegExp: 2,\n Date: 3,\n Map: 4,\n Set: 5,\n BigInt: 6,\n URL: 7,\n Uint8Array: 8,\n Uint16Array: 9,\n Uint32Array: 10\n};\nfunction serializeArray(value, metadata = {}, parents = /* @__PURE__ */ new WeakSet()) {\n if (parents.has(value)) {\n throw new Error(`Cyclic reference detected while serializing props for <${metadata.displayName} client:${metadata.hydrate}>!\n\nCyclic references cannot be safely serialized for client-side usage. Please remove the cyclic reference.`);\n }\n parents.add(value);\n const serialized = value.map((v) => {\n return convertToSerializedForm(v, metadata, parents);\n });\n parents.delete(value);\n return serialized;\n}\nfunction serializeObject(value, metadata = {}, parents = /* @__PURE__ */ new WeakSet()) {\n if (parents.has(value)) {\n throw new Error(`Cyclic reference detected while serializing props for <${metadata.displayName} client:${metadata.hydrate}>!\n\nCyclic references cannot be safely serialized for client-side usage. Please remove the cyclic reference.`);\n }\n parents.add(value);\n const serialized = Object.fromEntries(\n Object.entries(value).map(([k, v]) => {\n return [k, convertToSerializedForm(v, metadata, parents)];\n })\n );\n parents.delete(value);\n return serialized;\n}\nfunction convertToSerializedForm(value, metadata = {}, parents = /* @__PURE__ */ new WeakSet()) {\n const tag = Object.prototype.toString.call(value);\n switch (tag) {\n case \"[object Date]\": {\n return [PROP_TYPE.Date, value.toISOString()];\n }\n case \"[object RegExp]\": {\n return [PROP_TYPE.RegExp, value.source];\n }\n case \"[object Map]\": {\n return [PROP_TYPE.Map, serializeArray(Array.from(value), metadata, parents)];\n }\n case \"[object Set]\": {\n return [PROP_TYPE.Set, serializeArray(Array.from(value), metadata, parents)];\n }\n case \"[object BigInt]\": {\n return [PROP_TYPE.BigInt, value.toString()];\n }\n case \"[object URL]\": {\n return [PROP_TYPE.URL, value.toString()];\n }\n case \"[object Array]\": {\n return [PROP_TYPE.JSON, serializeArray(value, metadata, parents)];\n }\n case \"[object Uint8Array]\": {\n return [PROP_TYPE.Uint8Array, Array.from(value)];\n }\n case \"[object Uint16Array]\": {\n return [PROP_TYPE.Uint16Array, Array.from(value)];\n }\n case \"[object Uint32Array]\": {\n return [PROP_TYPE.Uint32Array, Array.from(value)];\n }\n default: {\n if (value !== null && typeof value === \"object\") {\n return [PROP_TYPE.Value, serializeObject(value, metadata, parents)];\n } else if (value === void 0) {\n return [PROP_TYPE.Value];\n } else {\n return [PROP_TYPE.Value, value];\n }\n }\n }\n}\nfunction serializeProps(props, metadata) {\n const serialized = JSON.stringify(serializeObject(props, metadata));\n return serialized;\n}\nexport {\n serializeProps\n};\n","import { AstroError, AstroErrorData } from \"../../core/errors/index.js\";\nimport { escapeHTML } from \"./escape.js\";\nimport { serializeProps } from \"./serialize.js\";\nconst transitionDirectivesToCopyOnIsland = Object.freeze([\n \"data-astro-transition-scope\",\n \"data-astro-transition-persist\",\n \"data-astro-transition-persist-props\"\n]);\nfunction extractDirectives(inputProps, clientDirectives) {\n let extracted = {\n isPage: false,\n hydration: null,\n props: {},\n propsWithoutTransitionAttributes: {}\n };\n for (const [key, value] of Object.entries(inputProps)) {\n if (key.startsWith(\"server:\")) {\n if (key === \"server:root\") {\n extracted.isPage = true;\n }\n }\n if (key.startsWith(\"client:\")) {\n if (!extracted.hydration) {\n extracted.hydration = {\n directive: \"\",\n value: \"\",\n componentUrl: \"\",\n componentExport: { value: \"\" }\n };\n }\n switch (key) {\n case \"client:component-path\": {\n extracted.hydration.componentUrl = value;\n break;\n }\n case \"client:component-export\": {\n extracted.hydration.componentExport.value = value;\n break;\n }\n case \"client:component-hydration\": {\n break;\n }\n case \"client:display-name\": {\n break;\n }\n default: {\n extracted.hydration.directive = key.split(\":\")[1];\n extracted.hydration.value = value;\n if (!clientDirectives.has(extracted.hydration.directive)) {\n const hydrationMethods = Array.from(clientDirectives.keys()).map((d) => `client:${d}`).join(\", \");\n throw new Error(\n `Error: invalid hydration directive \"${key}\". Supported hydration methods: ${hydrationMethods}`\n );\n }\n if (extracted.hydration.directive === \"media\" && typeof extracted.hydration.value !== \"string\") {\n throw new AstroError(AstroErrorData.MissingMediaQueryDirective);\n }\n break;\n }\n }\n } else {\n extracted.props[key] = value;\n if (!transitionDirectivesToCopyOnIsland.includes(key)) {\n extracted.propsWithoutTransitionAttributes[key] = value;\n }\n }\n }\n for (const sym of Object.getOwnPropertySymbols(inputProps)) {\n extracted.props[sym] = inputProps[sym];\n extracted.propsWithoutTransitionAttributes[sym] = inputProps[sym];\n }\n return extracted;\n}\nasync function generateHydrateScript(scriptOptions, metadata) {\n const { renderer, result, astroId, props, attrs } = scriptOptions;\n const { hydrate, componentUrl, componentExport } = metadata;\n if (!componentExport.value) {\n throw new AstroError({\n ...AstroErrorData.NoMatchingImport,\n message: AstroErrorData.NoMatchingImport.message(metadata.displayName)\n });\n }\n const island = {\n children: \"\",\n props: {\n // This is for HMR, probably can avoid it in prod\n uid: astroId\n }\n };\n if (attrs) {\n for (const [key, value] of Object.entries(attrs)) {\n island.props[key] = escapeHTML(value);\n }\n }\n island.props[\"component-url\"] = await result.resolve(decodeURI(componentUrl));\n if (renderer.clientEntrypoint) {\n island.props[\"component-export\"] = componentExport.value;\n island.props[\"renderer-url\"] = await result.resolve(decodeURI(renderer.clientEntrypoint));\n island.props[\"props\"] = escapeHTML(serializeProps(props, metadata));\n }\n island.props[\"ssr\"] = \"\";\n island.props[\"client\"] = hydrate;\n let beforeHydrationUrl = await result.resolve(\"astro:scripts/before-hydration.js\");\n if (beforeHydrationUrl.length) {\n island.props[\"before-hydration-url\"] = beforeHydrationUrl;\n }\n island.props[\"opts\"] = escapeHTML(\n JSON.stringify({\n name: metadata.displayName,\n value: metadata.hydrateArgs || \"\"\n })\n );\n transitionDirectivesToCopyOnIsland.forEach((name) => {\n if (typeof props[name] !== \"undefined\") {\n island.props[name] = props[name];\n }\n });\n return island;\n}\nexport {\n extractDirectives,\n generateHydrateScript\n};\n","/**\n * shortdash - https://github.com/bibig/node-shorthash\n *\n * @license\n *\n * (The MIT License)\n *\n * Copyright (c) 2013 Bibig \n *\n * Permission is hereby granted, free of charge, to any person\n * obtaining a copy of this software and associated documentation\n * files (the \"Software\"), to deal in the Software without\n * restriction, including without limitation the rights to use,\n * copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the\n * Software is furnished to do so, subject to the following\n * conditions:\n *\n * The above copyright notice and this permission notice shall be\n * included in all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\n * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES\n * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\n * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT\n * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,\n * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING\n * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR\n * OTHER DEALINGS IN THE SOFTWARE.\n */\nconst dictionary = \"0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXY\";\nconst binary = dictionary.length;\nfunction bitwise(str) {\n let hash = 0;\n if (str.length === 0) return hash;\n for (let i = 0; i < str.length; i++) {\n const ch = str.charCodeAt(i);\n hash = (hash << 5) - hash + ch;\n hash = hash & hash;\n }\n return hash;\n}\nfunction shorthash(text) {\n let num;\n let result = \"\";\n let integer = bitwise(text);\n const sign = integer < 0 ? \"Z\" : \"\";\n integer = Math.abs(integer);\n while (integer >= binary) {\n num = integer % binary;\n integer = Math.floor(integer / binary);\n result = dictionary[num] + result;\n }\n if (integer > 0) {\n result = dictionary[integer] + result;\n }\n return sign + result;\n}\nexport {\n shorthash\n};\n","function isAstroComponentFactory(obj) {\n return obj == null ? false : obj.isAstroComponentFactory === true;\n}\nfunction isAPropagatingComponent(result, factory) {\n let hint = factory.propagation || \"none\";\n if (factory.moduleId && result.componentMetadata.has(factory.moduleId) && hint === \"none\") {\n hint = result.componentMetadata.get(factory.moduleId).propagation;\n }\n return hint === \"in-tree\" || hint === \"self\";\n}\nexport {\n isAPropagatingComponent,\n isAstroComponentFactory\n};\n","const headAndContentSym = Symbol.for(\"astro.headAndContent\");\nfunction isHeadAndContent(obj) {\n return typeof obj === \"object\" && !!obj[headAndContentSym];\n}\nfunction createHeadAndContent(head, content) {\n return {\n [headAndContentSym]: true,\n head,\n content\n };\n}\nexport {\n createHeadAndContent,\n isHeadAndContent\n};\n","var astro_island_prebuilt_dev_default = `(()=>{var A=Object.defineProperty;var g=(i,o,a)=>o in i?A(i,o,{enumerable:!0,configurable:!0,writable:!0,value:a}):i[o]=a;var l=(i,o,a)=>g(i,typeof o!=\"symbol\"?o+\"\":o,a);{let i={0:t=>y(t),1:t=>a(t),2:t=>new RegExp(t),3:t=>new Date(t),4:t=>new Map(a(t)),5:t=>new Set(a(t)),6:t=>BigInt(t),7:t=>new URL(t),8:t=>new Uint8Array(t),9:t=>new Uint16Array(t),10:t=>new Uint32Array(t)},o=t=>{let[h,e]=t;return h in i?i[h](e):void 0},a=t=>t.map(o),y=t=>typeof t!=\"object\"||t===null?t:Object.fromEntries(Object.entries(t).map(([h,e])=>[h,o(e)]));class f extends HTMLElement{constructor(){super(...arguments);l(this,\"Component\");l(this,\"hydrator\");l(this,\"hydrate\",async()=>{var b;if(!this.hydrator||!this.isConnected)return;let e=(b=this.parentElement)==null?void 0:b.closest(\"astro-island[ssr]\");if(e){e.addEventListener(\"astro:hydrate\",this.hydrate,{once:!0});return}let c=this.querySelectorAll(\"astro-slot\"),n={},p=this.querySelectorAll(\"template[data-astro-template]\");for(let r of p){let s=r.closest(this.tagName);s!=null&&s.isSameNode(this)&&(n[r.getAttribute(\"data-astro-template\")||\"default\"]=r.innerHTML,r.remove())}for(let r of c){let s=r.closest(this.tagName);s!=null&&s.isSameNode(this)&&(n[r.getAttribute(\"name\")||\"default\"]=r.innerHTML)}let u;try{u=this.hasAttribute(\"props\")?y(JSON.parse(this.getAttribute(\"props\"))):{}}catch(r){let s=this.getAttribute(\"component-url\")||\"\",v=this.getAttribute(\"component-export\");throw v&&(s+=\\` (export \\${v})\\`),console.error(\\`[hydrate] Error parsing props for component \\${s}\\`,this.getAttribute(\"props\"),r),r}let d,m=this.hydrator(this);d=performance.now(),await m(this.Component,u,n,{client:this.getAttribute(\"client\")}),d&&this.setAttribute(\"client-render-time\",(performance.now()-d).toString()),this.removeAttribute(\"ssr\"),this.dispatchEvent(new CustomEvent(\"astro:hydrate\"))});l(this,\"unmount\",()=>{this.isConnected||this.dispatchEvent(new CustomEvent(\"astro:unmount\"))})}disconnectedCallback(){document.removeEventListener(\"astro:after-swap\",this.unmount),document.addEventListener(\"astro:after-swap\",this.unmount,{once:!0})}connectedCallback(){if(!this.hasAttribute(\"await-children\")||document.readyState===\"interactive\"||document.readyState===\"complete\")this.childrenConnectedCallback();else{let e=()=>{document.removeEventListener(\"DOMContentLoaded\",e),c.disconnect(),this.childrenConnectedCallback()},c=new MutationObserver(()=>{var n;((n=this.lastChild)==null?void 0:n.nodeType)===Node.COMMENT_NODE&&this.lastChild.nodeValue===\"astro:end\"&&(this.lastChild.remove(),e())});c.observe(this,{childList:!0}),document.addEventListener(\"DOMContentLoaded\",e)}}async childrenConnectedCallback(){let e=this.getAttribute(\"before-hydration-url\");e&&await import(e),this.start()}async start(){let e=JSON.parse(this.getAttribute(\"opts\")),c=this.getAttribute(\"client\");if(Astro[c]===void 0){window.addEventListener(\\`astro:\\${c}\\`,()=>this.start(),{once:!0});return}try{await Astro[c](async()=>{let n=this.getAttribute(\"renderer-url\"),[p,{default:u}]=await Promise.all([import(this.getAttribute(\"component-url\")),n?import(n):()=>()=>{}]),d=this.getAttribute(\"component-export\")||\"default\";if(!d.includes(\".\"))this.Component=p[d];else{this.Component=p;for(let m of d.split(\".\"))this.Component=this.Component[m]}return this.hydrator=u,this.hydrate},e,this)}catch(n){console.error(\\`[astro-island] Error hydrating \\${this.getAttribute(\"component-url\")}\\`,n)}}attributeChangedCallback(){this.hydrate()}}l(f,\"observedAttributes\",[\"props\"]),customElements.get(\"astro-island\")||customElements.define(\"astro-island\",f)}})();`;\nexport {\n astro_island_prebuilt_dev_default as default\n};\n","var astro_island_prebuilt_default = `(()=>{var A=Object.defineProperty;var g=(i,o,a)=>o in i?A(i,o,{enumerable:!0,configurable:!0,writable:!0,value:a}):i[o]=a;var d=(i,o,a)=>g(i,typeof o!=\"symbol\"?o+\"\":o,a);{let i={0:t=>m(t),1:t=>a(t),2:t=>new RegExp(t),3:t=>new Date(t),4:t=>new Map(a(t)),5:t=>new Set(a(t)),6:t=>BigInt(t),7:t=>new URL(t),8:t=>new Uint8Array(t),9:t=>new Uint16Array(t),10:t=>new Uint32Array(t)},o=t=>{let[l,e]=t;return l in i?i[l](e):void 0},a=t=>t.map(o),m=t=>typeof t!=\"object\"||t===null?t:Object.fromEntries(Object.entries(t).map(([l,e])=>[l,o(e)]));class y extends HTMLElement{constructor(){super(...arguments);d(this,\"Component\");d(this,\"hydrator\");d(this,\"hydrate\",async()=>{var b;if(!this.hydrator||!this.isConnected)return;let e=(b=this.parentElement)==null?void 0:b.closest(\"astro-island[ssr]\");if(e){e.addEventListener(\"astro:hydrate\",this.hydrate,{once:!0});return}let c=this.querySelectorAll(\"astro-slot\"),n={},h=this.querySelectorAll(\"template[data-astro-template]\");for(let r of h){let s=r.closest(this.tagName);s!=null&&s.isSameNode(this)&&(n[r.getAttribute(\"data-astro-template\")||\"default\"]=r.innerHTML,r.remove())}for(let r of c){let s=r.closest(this.tagName);s!=null&&s.isSameNode(this)&&(n[r.getAttribute(\"name\")||\"default\"]=r.innerHTML)}let p;try{p=this.hasAttribute(\"props\")?m(JSON.parse(this.getAttribute(\"props\"))):{}}catch(r){let s=this.getAttribute(\"component-url\")||\"\",v=this.getAttribute(\"component-export\");throw v&&(s+=\\` (export \\${v})\\`),console.error(\\`[hydrate] Error parsing props for component \\${s}\\`,this.getAttribute(\"props\"),r),r}let u;await this.hydrator(this)(this.Component,p,n,{client:this.getAttribute(\"client\")}),this.removeAttribute(\"ssr\"),this.dispatchEvent(new CustomEvent(\"astro:hydrate\"))});d(this,\"unmount\",()=>{this.isConnected||this.dispatchEvent(new CustomEvent(\"astro:unmount\"))})}disconnectedCallback(){document.removeEventListener(\"astro:after-swap\",this.unmount),document.addEventListener(\"astro:after-swap\",this.unmount,{once:!0})}connectedCallback(){if(!this.hasAttribute(\"await-children\")||document.readyState===\"interactive\"||document.readyState===\"complete\")this.childrenConnectedCallback();else{let e=()=>{document.removeEventListener(\"DOMContentLoaded\",e),c.disconnect(),this.childrenConnectedCallback()},c=new MutationObserver(()=>{var n;((n=this.lastChild)==null?void 0:n.nodeType)===Node.COMMENT_NODE&&this.lastChild.nodeValue===\"astro:end\"&&(this.lastChild.remove(),e())});c.observe(this,{childList:!0}),document.addEventListener(\"DOMContentLoaded\",e)}}async childrenConnectedCallback(){let e=this.getAttribute(\"before-hydration-url\");e&&await import(e),this.start()}async start(){let e=JSON.parse(this.getAttribute(\"opts\")),c=this.getAttribute(\"client\");if(Astro[c]===void 0){window.addEventListener(\\`astro:\\${c}\\`,()=>this.start(),{once:!0});return}try{await Astro[c](async()=>{let n=this.getAttribute(\"renderer-url\"),[h,{default:p}]=await Promise.all([import(this.getAttribute(\"component-url\")),n?import(n):()=>()=>{}]),u=this.getAttribute(\"component-export\")||\"default\";if(!u.includes(\".\"))this.Component=h[u];else{this.Component=h;for(let f of u.split(\".\"))this.Component=this.Component[f]}return this.hydrator=p,this.hydrate},e,this)}catch(n){console.error(\\`[astro-island] Error hydrating \\${this.getAttribute(\"component-url\")}\\`,n)}}attributeChangedCallback(){this.hydrate()}}d(y,\"observedAttributes\",[\"props\"]),customElements.get(\"astro-island\")||customElements.define(\"astro-island\",y)}})();`;\nexport {\n astro_island_prebuilt_default as default\n};\n","import islandScriptDev from \"./astro-island.prebuilt-dev.js\";\nimport islandScript from \"./astro-island.prebuilt.js\";\nconst ISLAND_STYLES = ``;\nfunction determineIfNeedsHydrationScript(result) {\n if (result._metadata.hasHydrationScript) {\n return false;\n }\n return result._metadata.hasHydrationScript = true;\n}\nfunction determinesIfNeedsDirectiveScript(result, directive) {\n if (result._metadata.hasDirectives.has(directive)) {\n return false;\n }\n result._metadata.hasDirectives.add(directive);\n return true;\n}\nfunction getDirectiveScriptText(result, directive) {\n const clientDirectives = result.clientDirectives;\n const clientDirective = clientDirectives.get(directive);\n if (!clientDirective) {\n throw new Error(`Unknown directive: ${directive}`);\n }\n return clientDirective;\n}\nfunction getPrescripts(result, type, directive) {\n switch (type) {\n case \"both\":\n return `${ISLAND_STYLES}`;\n case \"directive\":\n return ``;\n case null:\n break;\n }\n return \"\";\n}\nexport {\n determineIfNeedsHydrationScript,\n determinesIfNeedsDirectiveScript,\n getPrescripts\n};\n","import { clsx } from \"clsx\";\nimport { HTMLString, markHTMLString } from \"../escape.js\";\nconst voidElementNames = /^(area|base|br|col|command|embed|hr|img|input|keygen|link|meta|param|source|track|wbr)$/i;\nconst htmlBooleanAttributes = /^(?:allowfullscreen|async|autofocus|autoplay|controls|default|defer|disabled|disablepictureinpicture|disableremoteplayback|formnovalidate|hidden|loop|nomodule|novalidate|open|playsinline|readonly|required|reversed|scoped|seamless|itemscope)$/i;\nconst htmlEnumAttributes = /^(?:contenteditable|draggable|spellcheck|value)$/i;\nconst svgEnumAttributes = /^(?:autoReverse|externalResourcesRequired|focusable|preserveAlpha)$/i;\nconst AMPERSAND_REGEX = /&/g;\nconst DOUBLE_QUOTE_REGEX = /\"/g;\nconst STATIC_DIRECTIVES = /* @__PURE__ */ new Set([\"set:html\", \"set:text\"]);\nconst toIdent = (k) => k.trim().replace(/(?!^)\\b\\w|\\s+|\\W+/g, (match, index) => {\n if (/\\W/.test(match)) return \"\";\n return index === 0 ? match : match.toUpperCase();\n});\nconst toAttributeString = (value, shouldEscape = true) => shouldEscape ? String(value).replace(AMPERSAND_REGEX, \"&\").replace(DOUBLE_QUOTE_REGEX, \""\") : value;\nconst kebab = (k) => k.toLowerCase() === k ? k : k.replace(/[A-Z]/g, (match) => `-${match.toLowerCase()}`);\nconst toStyleString = (obj) => Object.entries(obj).filter(([_, v]) => typeof v === \"string\" && v.trim() || typeof v === \"number\").map(([k, v]) => {\n if (k[0] !== \"-\" && k[1] !== \"-\") return `${kebab(k)}:${v}`;\n return `${k}:${v}`;\n}).join(\";\");\nfunction defineScriptVars(vars) {\n let output = \"\";\n for (const [key, value] of Object.entries(vars)) {\n output += `const ${toIdent(key)} = ${JSON.stringify(value)?.replace(\n /<\\/script>/g,\n \"\\\\x3C/script>\"\n )};\n`;\n }\n return markHTMLString(output);\n}\nfunction formatList(values) {\n if (values.length === 1) {\n return values[0];\n }\n return `${values.slice(0, -1).join(\", \")} or ${values[values.length - 1]}`;\n}\nfunction addAttribute(value, key, shouldEscape = true) {\n if (value == null) {\n return \"\";\n }\n if (value === false) {\n if (htmlEnumAttributes.test(key) || svgEnumAttributes.test(key)) {\n return markHTMLString(` ${key}=\"false\"`);\n }\n return \"\";\n }\n if (STATIC_DIRECTIVES.has(key)) {\n console.warn(`[astro] The \"${key}\" directive cannot be applied dynamically at runtime. It will not be rendered as an attribute.\n\nMake sure to use the static attribute syntax (\\`${key}={value}\\`) instead of the dynamic spread syntax (\\`{...{ \"${key}\": value }}\\`).`);\n return \"\";\n }\n if (key === \"class:list\") {\n const listValue = toAttributeString(clsx(value), shouldEscape);\n if (listValue === \"\") {\n return \"\";\n }\n return markHTMLString(` ${key.slice(0, -5)}=\"${listValue}\"`);\n }\n if (key === \"style\" && !(value instanceof HTMLString)) {\n if (Array.isArray(value) && value.length === 2) {\n return markHTMLString(\n ` ${key}=\"${toAttributeString(`${toStyleString(value[0])};${value[1]}`, shouldEscape)}\"`\n );\n }\n if (typeof value === \"object\") {\n return markHTMLString(` ${key}=\"${toAttributeString(toStyleString(value), shouldEscape)}\"`);\n }\n }\n if (key === \"className\") {\n return markHTMLString(` class=\"${toAttributeString(value, shouldEscape)}\"`);\n }\n if (typeof value === \"string\" && value.includes(\"&\") && isHttpUrl(value)) {\n return markHTMLString(` ${key}=\"${toAttributeString(value, false)}\"`);\n }\n if (value === true && (key.startsWith(\"data-\") || htmlBooleanAttributes.test(key))) {\n return markHTMLString(` ${key}`);\n } else {\n return markHTMLString(` ${key}=\"${toAttributeString(value, shouldEscape)}\"`);\n }\n}\nfunction internalSpreadAttributes(values, shouldEscape = true) {\n let output = \"\";\n for (const [key, value] of Object.entries(values)) {\n output += addAttribute(value, key, shouldEscape);\n }\n return markHTMLString(output);\n}\nfunction renderElement(name, { props: _props, children = \"\" }, shouldEscape = true) {\n const { lang: _, \"data-astro-id\": astroId, \"define:vars\": defineVars, ...props } = _props;\n if (defineVars) {\n if (name === \"style\") {\n delete props[\"is:global\"];\n delete props[\"is:scoped\"];\n }\n if (name === \"script\") {\n delete props.hoist;\n children = defineScriptVars(defineVars) + \"\\n\" + children;\n }\n }\n if ((children == null || children == \"\") && voidElementNames.test(name)) {\n return `<${name}${internalSpreadAttributes(props, shouldEscape)}>`;\n }\n return `<${name}${internalSpreadAttributes(props, shouldEscape)}>${children}`;\n}\nconst noop = () => {\n};\nclass BufferedRenderer {\n chunks = [];\n renderPromise;\n destination;\n constructor(bufferRenderFunction) {\n this.renderPromise = bufferRenderFunction(this);\n Promise.resolve(this.renderPromise).catch(noop);\n }\n write(chunk) {\n if (this.destination) {\n this.destination.write(chunk);\n } else {\n this.chunks.push(chunk);\n }\n }\n async renderToFinalDestination(destination) {\n for (const chunk of this.chunks) {\n destination.write(chunk);\n }\n this.destination = destination;\n await this.renderPromise;\n }\n}\nfunction renderToBufferDestination(bufferRenderFunction) {\n const renderer = new BufferedRenderer(bufferRenderFunction);\n return renderer;\n}\nconst isNode = typeof process !== \"undefined\" && Object.prototype.toString.call(process) === \"[object process]\";\nconst isDeno = typeof Deno !== \"undefined\";\nfunction promiseWithResolvers() {\n let resolve, reject;\n const promise = new Promise((_resolve, _reject) => {\n resolve = _resolve;\n reject = _reject;\n });\n return {\n promise,\n resolve,\n reject\n };\n}\nconst VALID_PROTOCOLS = [\"http:\", \"https:\"];\nfunction isHttpUrl(url) {\n try {\n const parsedUrl = new URL(url);\n return VALID_PROTOCOLS.includes(parsedUrl.protocol);\n } catch {\n return false;\n }\n}\nexport {\n addAttribute,\n defineScriptVars,\n formatList,\n internalSpreadAttributes,\n isDeno,\n isNode,\n promiseWithResolvers,\n renderElement,\n renderToBufferDestination,\n toAttributeString,\n voidElementNames\n};\n","import { markHTMLString } from \"../escape.js\";\nimport { createRenderInstruction } from \"./instruction.js\";\nimport { renderElement } from \"./util.js\";\nconst uniqueElements = (item, index, all) => {\n const props = JSON.stringify(item.props);\n const children = item.children;\n return index === all.findIndex((i) => JSON.stringify(i.props) === props && i.children == children);\n};\nfunction renderAllHeadContent(result) {\n result._metadata.hasRenderedHead = true;\n const styles = Array.from(result.styles).filter(uniqueElements).map(\n (style) => style.props.rel === \"stylesheet\" ? renderElement(\"link\", style) : renderElement(\"style\", style)\n );\n result.styles.clear();\n const scripts = Array.from(result.scripts).filter(uniqueElements).map((script) => {\n return renderElement(\"script\", script, false);\n });\n const links = Array.from(result.links).filter(uniqueElements).map((link) => renderElement(\"link\", link, false));\n let content = styles.join(\"\\n\") + links.join(\"\\n\") + scripts.join(\"\\n\");\n if (result._metadata.extraHead.length > 0) {\n for (const part of result._metadata.extraHead) {\n content += part;\n }\n }\n return markHTMLString(content);\n}\nfunction renderHead() {\n return createRenderInstruction({ type: \"head\" });\n}\nfunction maybeRenderHead() {\n return createRenderInstruction({ type: \"maybe-head\" });\n}\nexport {\n maybeRenderHead,\n renderAllHeadContent,\n renderHead\n};\n","import { markHTMLString } from \"../../escape.js\";\nimport { isPromise } from \"../../util.js\";\nimport { renderChild } from \"../any.js\";\nimport { renderToBufferDestination } from \"../util.js\";\nconst renderTemplateResultSym = Symbol.for(\"astro.renderTemplateResult\");\nclass RenderTemplateResult {\n [renderTemplateResultSym] = true;\n htmlParts;\n expressions;\n error;\n constructor(htmlParts, expressions) {\n this.htmlParts = htmlParts;\n this.error = void 0;\n this.expressions = expressions.map((expression) => {\n if (isPromise(expression)) {\n return Promise.resolve(expression).catch((err) => {\n if (!this.error) {\n this.error = err;\n throw err;\n }\n });\n }\n return expression;\n });\n }\n async render(destination) {\n const expRenders = this.expressions.map((exp) => {\n return renderToBufferDestination((bufferDestination) => {\n if (exp || exp === 0) {\n return renderChild(bufferDestination, exp);\n }\n });\n });\n for (let i = 0; i < this.htmlParts.length; i++) {\n const html = this.htmlParts[i];\n const expRender = expRenders[i];\n destination.write(markHTMLString(html));\n if (expRender) {\n await expRender.renderToFinalDestination(destination);\n }\n }\n }\n}\nfunction isRenderTemplateResult(obj) {\n return typeof obj === \"object\" && !!obj[renderTemplateResultSym];\n}\nfunction renderTemplate(htmlParts, ...expressions) {\n return new RenderTemplateResult(htmlParts, expressions);\n}\nexport {\n RenderTemplateResult,\n isRenderTemplateResult,\n renderTemplate\n};\n","import { renderTemplate } from \"./astro/render-template.js\";\nimport { HTMLString, markHTMLString, unescapeHTML } from \"../escape.js\";\nimport { renderChild } from \"./any.js\";\nimport { chunkToString } from \"./common.js\";\nconst slotString = Symbol.for(\"astro:slot-string\");\nclass SlotString extends HTMLString {\n instructions;\n [slotString];\n constructor(content, instructions) {\n super(content);\n this.instructions = instructions;\n this[slotString] = true;\n }\n}\nfunction isSlotString(str) {\n return !!str[slotString];\n}\nfunction renderSlot(result, slotted, fallback) {\n if (!slotted && fallback) {\n return renderSlot(result, fallback);\n }\n return {\n async render(destination) {\n await renderChild(destination, typeof slotted === \"function\" ? slotted(result) : slotted);\n }\n };\n}\nasync function renderSlotToString(result, slotted, fallback) {\n let content = \"\";\n let instructions = null;\n const temporaryDestination = {\n write(chunk) {\n if (chunk instanceof SlotString) {\n content += chunk;\n if (chunk.instructions) {\n instructions ??= [];\n instructions.push(...chunk.instructions);\n }\n } else if (chunk instanceof Response) return;\n else if (typeof chunk === \"object\" && \"type\" in chunk && typeof chunk.type === \"string\") {\n if (instructions === null) {\n instructions = [];\n }\n instructions.push(chunk);\n } else {\n content += chunkToString(result, chunk);\n }\n }\n };\n const renderInstance = renderSlot(result, slotted, fallback);\n await renderInstance.render(temporaryDestination);\n return markHTMLString(new SlotString(content, instructions));\n}\nasync function renderSlots(result, slots = {}) {\n let slotInstructions = null;\n let children = {};\n if (slots) {\n await Promise.all(\n Object.entries(slots).map(\n ([key, value]) => renderSlotToString(result, value).then((output) => {\n if (output.instructions) {\n if (slotInstructions === null) {\n slotInstructions = [];\n }\n slotInstructions.push(...output.instructions);\n }\n children[key] = output;\n })\n )\n );\n }\n return { slotInstructions, children };\n}\nfunction createSlotValueFromString(content) {\n return function() {\n return renderTemplate`${unescapeHTML(content)}`;\n };\n}\nexport {\n SlotString,\n createSlotValueFromString,\n isSlotString,\n renderSlot,\n renderSlotToString,\n renderSlots\n};\n","import { markHTMLString } from \"../escape.js\";\nimport {\n determineIfNeedsHydrationScript,\n determinesIfNeedsDirectiveScript,\n getPrescripts\n} from \"../scripts.js\";\nimport { renderAllHeadContent } from \"./head.js\";\nimport { isRenderInstruction } from \"./instruction.js\";\nimport { isSlotString } from \"./slot.js\";\nconst Fragment = Symbol.for(\"astro:fragment\");\nconst Renderer = Symbol.for(\"astro:renderer\");\nconst encoder = new TextEncoder();\nconst decoder = new TextDecoder();\nfunction stringifyChunk(result, chunk) {\n if (isRenderInstruction(chunk)) {\n const instruction = chunk;\n switch (instruction.type) {\n case \"directive\": {\n const { hydration } = instruction;\n let needsHydrationScript = hydration && determineIfNeedsHydrationScript(result);\n let needsDirectiveScript = hydration && determinesIfNeedsDirectiveScript(result, hydration.directive);\n let prescriptType = needsHydrationScript ? \"both\" : needsDirectiveScript ? \"directive\" : null;\n if (prescriptType) {\n let prescripts = getPrescripts(result, prescriptType, hydration.directive);\n return markHTMLString(prescripts);\n } else {\n return \"\";\n }\n }\n case \"head\": {\n if (result._metadata.hasRenderedHead || result.partial) {\n return \"\";\n }\n return renderAllHeadContent(result);\n }\n case \"maybe-head\": {\n if (result._metadata.hasRenderedHead || result._metadata.headInTree || result.partial) {\n return \"\";\n }\n return renderAllHeadContent(result);\n }\n case \"renderer-hydration-script\": {\n const { rendererSpecificHydrationScripts } = result._metadata;\n const { rendererName } = instruction;\n if (!rendererSpecificHydrationScripts.has(rendererName)) {\n rendererSpecificHydrationScripts.add(rendererName);\n return instruction.render();\n }\n return \"\";\n }\n default: {\n throw new Error(`Unknown chunk type: ${chunk.type}`);\n }\n }\n } else if (chunk instanceof Response) {\n return \"\";\n } else if (isSlotString(chunk)) {\n let out = \"\";\n const c = chunk;\n if (c.instructions) {\n for (const instr of c.instructions) {\n out += stringifyChunk(result, instr);\n }\n }\n out += chunk.toString();\n return out;\n }\n return chunk.toString();\n}\nfunction chunkToString(result, chunk) {\n if (ArrayBuffer.isView(chunk)) {\n return decoder.decode(chunk);\n } else {\n return stringifyChunk(result, chunk);\n }\n}\nfunction chunkToByteArray(result, chunk) {\n if (ArrayBuffer.isView(chunk)) {\n return chunk;\n } else {\n const stringified = stringifyChunk(result, chunk);\n return encoder.encode(stringified.toString());\n }\n}\nfunction isRenderInstance(obj) {\n return !!obj && typeof obj === \"object\" && \"render\" in obj && typeof obj.render === \"function\";\n}\nexport {\n Fragment,\n Renderer,\n chunkToByteArray,\n chunkToString,\n decoder,\n encoder,\n isRenderInstance\n};\n","import { escapeHTML, isHTMLString, markHTMLString } from \"../escape.js\";\nimport { isPromise } from \"../util.js\";\nimport { isAstroComponentInstance, isRenderTemplateResult } from \"./astro/index.js\";\nimport { isRenderInstance } from \"./common.js\";\nimport { SlotString } from \"./slot.js\";\nimport { renderToBufferDestination } from \"./util.js\";\nasync function renderChild(destination, child) {\n if (isPromise(child)) {\n child = await child;\n }\n if (child instanceof SlotString) {\n destination.write(child);\n } else if (isHTMLString(child)) {\n destination.write(child);\n } else if (Array.isArray(child)) {\n const childRenders = child.map((c) => {\n return renderToBufferDestination((bufferDestination) => {\n return renderChild(bufferDestination, c);\n });\n });\n for (const childRender of childRenders) {\n if (!childRender) continue;\n await childRender.renderToFinalDestination(destination);\n }\n } else if (typeof child === \"function\") {\n await renderChild(destination, child());\n } else if (typeof child === \"string\") {\n destination.write(markHTMLString(escapeHTML(child)));\n } else if (!child && child !== 0) {\n } else if (isRenderInstance(child)) {\n await child.render(destination);\n } else if (isRenderTemplateResult(child)) {\n await child.render(destination);\n } else if (isAstroComponentInstance(child)) {\n await child.render(destination);\n } else if (ArrayBuffer.isView(child)) {\n destination.write(child);\n } else if (typeof child === \"object\" && (Symbol.asyncIterator in child || Symbol.iterator in child)) {\n for await (const value of child) {\n await renderChild(destination, value);\n }\n } else {\n destination.write(child);\n }\n}\nexport {\n renderChild\n};\n","import { isPromise } from \"../../util.js\";\nimport { renderChild } from \"../any.js\";\nimport { isAPropagatingComponent } from \"./factory.js\";\nimport { isHeadAndContent } from \"./head-and-content.js\";\nconst astroComponentInstanceSym = Symbol.for(\"astro.componentInstance\");\nclass AstroComponentInstance {\n [astroComponentInstanceSym] = true;\n result;\n props;\n slotValues;\n factory;\n returnValue;\n constructor(result, props, slots, factory) {\n this.result = result;\n this.props = props;\n this.factory = factory;\n this.slotValues = {};\n for (const name in slots) {\n let didRender = false;\n let value = slots[name](result);\n this.slotValues[name] = () => {\n if (!didRender) {\n didRender = true;\n return value;\n }\n return slots[name](result);\n };\n }\n }\n async init(result) {\n if (this.returnValue !== void 0) return this.returnValue;\n this.returnValue = this.factory(result, this.props, this.slotValues);\n if (isPromise(this.returnValue)) {\n this.returnValue.then((resolved) => {\n this.returnValue = resolved;\n }).catch(() => {\n });\n }\n return this.returnValue;\n }\n async render(destination) {\n const returnValue = await this.init(this.result);\n if (isHeadAndContent(returnValue)) {\n await returnValue.content.render(destination);\n } else {\n await renderChild(destination, returnValue);\n }\n }\n}\nfunction validateComponentProps(props, displayName) {\n if (props != null) {\n for (const prop of Object.keys(props)) {\n if (prop.startsWith(\"client:\")) {\n console.warn(\n `You are attempting to render <${displayName} ${prop} />, but ${displayName} is an Astro component. Astro components do not render in the client and should not have a hydration directive. Please use a framework component for client rendering.`\n );\n }\n }\n }\n}\nfunction createAstroComponentInstance(result, displayName, factory, props, slots = {}) {\n validateComponentProps(props, displayName);\n const instance = new AstroComponentInstance(result, props, slots, factory);\n if (isAPropagatingComponent(result, factory)) {\n result._metadata.propagators.add(instance);\n }\n return instance;\n}\nfunction isAstroComponentInstance(obj) {\n return typeof obj === \"object\" && !!obj[astroComponentInstanceSym];\n}\nexport {\n AstroComponentInstance,\n createAstroComponentInstance,\n isAstroComponentInstance\n};\n","import { markHTMLString } from \"../escape.js\";\nimport { renderSlotToString } from \"./slot.js\";\nimport { toAttributeString } from \"./util.js\";\nfunction componentIsHTMLElement(Component) {\n return typeof HTMLElement !== \"undefined\" && HTMLElement.isPrototypeOf(Component);\n}\nasync function renderHTMLElement(result, constructor, props, slots) {\n const name = getHTMLElementName(constructor);\n let attrHTML = \"\";\n for (const attr in props) {\n attrHTML += ` ${attr}=\"${toAttributeString(await props[attr])}\"`;\n }\n return markHTMLString(\n `<${name}${attrHTML}>${await renderSlotToString(result, slots?.default)}`\n );\n}\nfunction getHTMLElementName(constructor) {\n const definedName = customElements.getName(constructor);\n if (definedName) return definedName;\n const assignedName = constructor.name.replace(/^HTML|Element$/g, \"\").replace(/[A-Z]/g, \"-$&\").toLowerCase().replace(/^-/, \"html-\");\n return assignedName;\n}\nexport {\n componentIsHTMLElement,\n renderHTMLElement\n};\n","import { decodeBase64, decodeHex, encodeBase64, encodeHexUpperCase } from \"@oslojs/encoding\";\nconst ALGORITHM = \"AES-GCM\";\nasync function createKey() {\n const key = await crypto.subtle.generateKey(\n {\n name: ALGORITHM,\n length: 256\n },\n true,\n [\"encrypt\", \"decrypt\"]\n );\n return key;\n}\nasync function importKey(bytes) {\n const key = await crypto.subtle.importKey(\"raw\", bytes, ALGORITHM, true, [\"encrypt\", \"decrypt\"]);\n return key;\n}\nasync function encodeKey(key) {\n const exported = await crypto.subtle.exportKey(\"raw\", key);\n const encodedKey = encodeBase64(new Uint8Array(exported));\n return encodedKey;\n}\nasync function decodeKey(encoded) {\n const bytes = decodeBase64(encoded);\n return crypto.subtle.importKey(\"raw\", bytes, ALGORITHM, true, [\"encrypt\", \"decrypt\"]);\n}\nconst encoder = new TextEncoder();\nconst decoder = new TextDecoder();\nconst IV_LENGTH = 24;\nasync function encryptString(key, raw) {\n const iv = crypto.getRandomValues(new Uint8Array(IV_LENGTH / 2));\n const data = encoder.encode(raw);\n const buffer = await crypto.subtle.encrypt(\n {\n name: ALGORITHM,\n iv\n },\n key,\n data\n );\n return encodeHexUpperCase(iv) + encodeBase64(new Uint8Array(buffer));\n}\nasync function decryptString(key, encoded) {\n const iv = decodeHex(encoded.slice(0, IV_LENGTH));\n const dataArray = decodeBase64(encoded.slice(IV_LENGTH));\n const decryptedBuffer = await crypto.subtle.decrypt(\n {\n name: ALGORITHM,\n iv\n },\n key,\n dataArray\n );\n const decryptedString = decoder.decode(decryptedBuffer);\n return decryptedString;\n}\nexport {\n createKey,\n decodeKey,\n decryptString,\n encodeKey,\n encryptString,\n importKey\n};\n","import { encryptString } from \"../../../core/encryption.js\";\nimport { renderChild } from \"./any.js\";\nimport { renderSlotToString } from \"./slot.js\";\nconst internalProps = /* @__PURE__ */ new Set([\n \"server:component-path\",\n \"server:component-export\",\n \"server:component-directive\",\n \"server:defer\"\n]);\nfunction containsServerDirective(props) {\n return \"server:component-directive\" in props;\n}\nfunction safeJsonStringify(obj) {\n return JSON.stringify(obj).replace(/\\u2028/g, \"\\\\u2028\").replace(/\\u2029/g, \"\\\\u2029\").replace(//g, \"\\\\u003e\").replace(/\\//g, \"\\\\u002f\");\n}\nfunction renderServerIsland(result, _displayName, props, slots) {\n return {\n async render(destination) {\n const componentPath = props[\"server:component-path\"];\n const componentExport = props[\"server:component-export\"];\n const componentId = result.serverIslandNameMap.get(componentPath);\n if (!componentId) {\n throw new Error(`Could not find server component name`);\n }\n for (const key2 of Object.keys(props)) {\n if (internalProps.has(key2)) {\n delete props[key2];\n }\n }\n destination.write(\"\");\n const renderedSlots = {};\n for (const name in slots) {\n if (name !== \"fallback\") {\n const content = await renderSlotToString(result, slots[name]);\n renderedSlots[name] = content.toString();\n } else {\n await renderChild(destination, slots.fallback(result));\n }\n }\n const key = await result.key;\n const propsEncrypted = await encryptString(key, JSON.stringify(props));\n const hostId = crypto.randomUUID();\n const slash = result.base.endsWith(\"/\") ? \"\" : \"/\";\n const serverIslandUrl = `${result.base}${slash}_server-islands/${componentId}${result.trailingSlash === \"always\" ? \"/\" : \"\"}`;\n destination.write(``);\n }\n };\n}\nexport {\n containsServerDirective,\n renderServerIsland\n};\n","import { createRenderInstruction } from \"./instruction.js\";\nimport { clsx } from \"clsx\";\nimport { AstroError, AstroErrorData } from \"../../../core/errors/index.js\";\nimport { markHTMLString } from \"../escape.js\";\nimport { extractDirectives, generateHydrateScript } from \"../hydration.js\";\nimport { serializeProps } from \"../serialize.js\";\nimport { shorthash } from \"../shorthash.js\";\nimport { isPromise } from \"../util.js\";\nimport { isAstroComponentFactory } from \"./astro/factory.js\";\nimport { renderTemplate } from \"./astro/index.js\";\nimport { createAstroComponentInstance } from \"./astro/instance.js\";\nimport {\n Fragment,\n Renderer,\n chunkToString\n} from \"./common.js\";\nimport { componentIsHTMLElement, renderHTMLElement } from \"./dom.js\";\nimport { maybeRenderHead } from \"./head.js\";\nimport { containsServerDirective, renderServerIsland } from \"./server-islands.js\";\nimport { renderSlotToString, renderSlots } from \"./slot.js\";\nimport { formatList, internalSpreadAttributes, renderElement, voidElementNames } from \"./util.js\";\nconst needsHeadRenderingSymbol = Symbol.for(\"astro.needsHeadRendering\");\nconst rendererAliases = /* @__PURE__ */ new Map([[\"solid\", \"solid-js\"]]);\nconst clientOnlyValues = /* @__PURE__ */ new Set([\"solid-js\", \"react\", \"preact\", \"vue\", \"svelte\", \"lit\"]);\nfunction guessRenderers(componentUrl) {\n const extname = componentUrl?.split(\".\").pop();\n switch (extname) {\n case \"svelte\":\n return [\"@astrojs/svelte\"];\n case \"vue\":\n return [\"@astrojs/vue\"];\n case \"jsx\":\n case \"tsx\":\n return [\"@astrojs/react\", \"@astrojs/preact\", \"@astrojs/solid-js\", \"@astrojs/vue (jsx)\"];\n default:\n return [\n \"@astrojs/react\",\n \"@astrojs/preact\",\n \"@astrojs/solid-js\",\n \"@astrojs/vue\",\n \"@astrojs/svelte\",\n \"@astrojs/lit\"\n ];\n }\n}\nfunction isFragmentComponent(Component) {\n return Component === Fragment;\n}\nfunction isHTMLComponent(Component) {\n return Component && Component[\"astro:html\"] === true;\n}\nconst ASTRO_SLOT_EXP = /<\\/?astro-slot\\b[^>]*>/g;\nconst ASTRO_STATIC_SLOT_EXP = /<\\/?astro-static-slot\\b[^>]*>/g;\nfunction removeStaticAstroSlot(html, supportsAstroStaticSlot = true) {\n const exp = supportsAstroStaticSlot ? ASTRO_STATIC_SLOT_EXP : ASTRO_SLOT_EXP;\n return html.replace(exp, \"\");\n}\nasync function renderFrameworkComponent(result, displayName, Component, _props, slots = {}) {\n if (!Component && \"client:only\" in _props === false) {\n throw new Error(\n `Unable to render ${displayName} because it is ${Component}!\nDid you forget to import the component or is it possible there is a typo?`\n );\n }\n const { renderers, clientDirectives } = result;\n const metadata = {\n astroStaticSlot: true,\n displayName\n };\n const { hydration, isPage, props, propsWithoutTransitionAttributes } = extractDirectives(\n _props,\n clientDirectives\n );\n let html = \"\";\n let attrs = void 0;\n if (hydration) {\n metadata.hydrate = hydration.directive;\n metadata.hydrateArgs = hydration.value;\n metadata.componentExport = hydration.componentExport;\n metadata.componentUrl = hydration.componentUrl;\n }\n const probableRendererNames = guessRenderers(metadata.componentUrl);\n const validRenderers = renderers.filter((r) => r.name !== \"astro:jsx\");\n const { children, slotInstructions } = await renderSlots(result, slots);\n let renderer;\n if (metadata.hydrate !== \"only\") {\n let isTagged = false;\n try {\n isTagged = Component && Component[Renderer];\n } catch {\n }\n if (isTagged) {\n const rendererName = Component[Renderer];\n renderer = renderers.find(({ name }) => name === rendererName);\n }\n if (!renderer) {\n let error;\n for (const r of renderers) {\n try {\n if (await r.ssr.check.call({ result }, Component, props, children)) {\n renderer = r;\n break;\n }\n } catch (e) {\n error ??= e;\n }\n }\n if (!renderer && error) {\n throw error;\n }\n }\n if (!renderer && typeof HTMLElement === \"function\" && componentIsHTMLElement(Component)) {\n const output = await renderHTMLElement(\n result,\n Component,\n _props,\n slots\n );\n return {\n render(destination) {\n destination.write(output);\n }\n };\n }\n } else {\n if (metadata.hydrateArgs) {\n const rendererName = rendererAliases.has(metadata.hydrateArgs) ? rendererAliases.get(metadata.hydrateArgs) : metadata.hydrateArgs;\n if (clientOnlyValues.has(rendererName)) {\n renderer = renderers.find(\n ({ name }) => name === `@astrojs/${rendererName}` || name === rendererName\n );\n }\n }\n if (!renderer && validRenderers.length === 1) {\n renderer = validRenderers[0];\n }\n if (!renderer) {\n const extname = metadata.componentUrl?.split(\".\").pop();\n renderer = renderers.find(({ name }) => name === `@astrojs/${extname}` || name === extname);\n }\n }\n let componentServerRenderEndTime;\n if (!renderer) {\n if (metadata.hydrate === \"only\") {\n const rendererName = rendererAliases.has(metadata.hydrateArgs) ? rendererAliases.get(metadata.hydrateArgs) : metadata.hydrateArgs;\n if (clientOnlyValues.has(rendererName)) {\n const plural = validRenderers.length > 1;\n throw new AstroError({\n ...AstroErrorData.NoMatchingRenderer,\n message: AstroErrorData.NoMatchingRenderer.message(\n metadata.displayName,\n metadata?.componentUrl?.split(\".\").pop(),\n plural,\n validRenderers.length\n ),\n hint: AstroErrorData.NoMatchingRenderer.hint(\n formatList(probableRendererNames.map((r) => \"`\" + r + \"`\"))\n )\n });\n } else {\n throw new AstroError({\n ...AstroErrorData.NoClientOnlyHint,\n message: AstroErrorData.NoClientOnlyHint.message(metadata.displayName),\n hint: AstroErrorData.NoClientOnlyHint.hint(\n probableRendererNames.map((r) => r.replace(\"@astrojs/\", \"\")).join(\"|\")\n )\n });\n }\n } else if (typeof Component !== \"string\") {\n const matchingRenderers = validRenderers.filter(\n (r) => probableRendererNames.includes(r.name)\n );\n const plural = validRenderers.length > 1;\n if (matchingRenderers.length === 0) {\n throw new AstroError({\n ...AstroErrorData.NoMatchingRenderer,\n message: AstroErrorData.NoMatchingRenderer.message(\n metadata.displayName,\n metadata?.componentUrl?.split(\".\").pop(),\n plural,\n validRenderers.length\n ),\n hint: AstroErrorData.NoMatchingRenderer.hint(\n formatList(probableRendererNames.map((r) => \"`\" + r + \"`\"))\n )\n });\n } else if (matchingRenderers.length === 1) {\n renderer = matchingRenderers[0];\n ({ html, attrs } = await renderer.ssr.renderToStaticMarkup.call(\n { result },\n Component,\n propsWithoutTransitionAttributes,\n children,\n metadata\n ));\n } else {\n throw new Error(`Unable to render ${metadata.displayName}!\n\nThis component likely uses ${formatList(probableRendererNames)},\nbut Astro encountered an error during server-side rendering.\n\nPlease ensure that ${metadata.displayName}:\n1. Does not unconditionally access browser-specific globals like \\`window\\` or \\`document\\`.\n If this is unavoidable, use the \\`client:only\\` hydration directive.\n2. Does not conditionally return \\`null\\` or \\`undefined\\` when rendered on the server.\n\nIf you're still stuck, please open an issue on GitHub or join us at https://astro.build/chat.`);\n }\n }\n } else {\n if (metadata.hydrate === \"only\") {\n const rendererName = rendererAliases.has(metadata.hydrateArgs) ? rendererAliases.get(metadata.hydrateArgs) : metadata.hydrateArgs;\n if (!clientOnlyValues.has(rendererName)) {\n console.warn(\n `The client:only directive for ${metadata.displayName} is not recognized. The renderer ${renderer.name} will be used. If you intended to use a different renderer, please provide a valid client:only directive.`\n );\n }\n html = await renderSlotToString(result, slots?.fallback);\n } else {\n const componentRenderStartTime = performance.now();\n ({ html, attrs } = await renderer.ssr.renderToStaticMarkup.call(\n { result },\n Component,\n propsWithoutTransitionAttributes,\n children,\n metadata\n ));\n if (process.env.NODE_ENV === \"development\")\n componentServerRenderEndTime = performance.now() - componentRenderStartTime;\n }\n }\n if (renderer && !renderer.clientEntrypoint && renderer.name !== \"@astrojs/lit\" && metadata.hydrate) {\n throw new AstroError({\n ...AstroErrorData.NoClientEntrypoint,\n message: AstroErrorData.NoClientEntrypoint.message(\n displayName,\n metadata.hydrate,\n renderer.name\n )\n });\n }\n if (!html && typeof Component === \"string\") {\n const Tag = sanitizeElementName(Component);\n const childSlots = Object.values(children).join(\"\");\n const renderTemplateResult = renderTemplate`<${Tag}${internalSpreadAttributes(\n props\n )}${markHTMLString(\n childSlots === \"\" && voidElementNames.test(Tag) ? `/>` : `>${childSlots}`\n )}`;\n html = \"\";\n const destination = {\n write(chunk) {\n if (chunk instanceof Response) return;\n html += chunkToString(result, chunk);\n }\n };\n await renderTemplateResult.render(destination);\n }\n if (!hydration) {\n return {\n render(destination) {\n if (slotInstructions) {\n for (const instruction of slotInstructions) {\n destination.write(instruction);\n }\n }\n if (isPage || renderer?.name === \"astro:jsx\") {\n destination.write(html);\n } else if (html && html.length > 0) {\n destination.write(\n markHTMLString(removeStaticAstroSlot(html, renderer?.ssr?.supportsAstroStaticSlot))\n );\n }\n }\n };\n }\n const astroId = shorthash(\n `\n${html}\n${serializeProps(\n props,\n metadata\n )}`\n );\n const island = await generateHydrateScript(\n { renderer, result, astroId, props, attrs },\n metadata\n );\n if (componentServerRenderEndTime && process.env.NODE_ENV === \"development\")\n island.props[\"server-render-time\"] = componentServerRenderEndTime;\n let unrenderedSlots = [];\n if (html) {\n if (Object.keys(children).length > 0) {\n for (const key of Object.keys(children)) {\n let tagName = renderer?.ssr?.supportsAstroStaticSlot ? !!metadata.hydrate ? \"astro-slot\" : \"astro-static-slot\" : \"astro-slot\";\n let expectedHTML = key === \"default\" ? `<${tagName}>` : `<${tagName} name=\"${key}\">`;\n if (!html.includes(expectedHTML)) {\n unrenderedSlots.push(key);\n }\n }\n }\n } else {\n unrenderedSlots = Object.keys(children);\n }\n const template = unrenderedSlots.length > 0 ? unrenderedSlots.map(\n (key) => ``\n ).join(\"\") : \"\";\n island.children = `${html ?? \"\"}${template}`;\n if (island.children) {\n island.props[\"await-children\"] = \"\";\n island.children += ``;\n }\n return {\n render(destination) {\n if (slotInstructions) {\n for (const instruction of slotInstructions) {\n destination.write(instruction);\n }\n }\n destination.write(createRenderInstruction({ type: \"directive\", hydration }));\n if (hydration.directive !== \"only\" && renderer?.ssr.renderHydrationScript) {\n destination.write(\n createRenderInstruction({\n type: \"renderer-hydration-script\",\n rendererName: renderer.name,\n render: renderer.ssr.renderHydrationScript\n })\n );\n }\n const renderedElement = renderElement(\"astro-island\", island, false);\n destination.write(markHTMLString(renderedElement));\n }\n };\n}\nfunction sanitizeElementName(tag) {\n const unsafe = /[&<>'\"\\s]+/;\n if (!unsafe.test(tag)) return tag;\n return tag.trim().split(unsafe)[0].trim();\n}\nasync function renderFragmentComponent(result, slots = {}) {\n const children = await renderSlotToString(result, slots?.default);\n return {\n render(destination) {\n if (children == null) return;\n destination.write(children);\n }\n };\n}\nasync function renderHTMLComponent(result, Component, _props, slots = {}) {\n const { slotInstructions, children } = await renderSlots(result, slots);\n const html = Component({ slots: children });\n const hydrationHtml = slotInstructions ? slotInstructions.map((instr) => chunkToString(result, instr)).join(\"\") : \"\";\n return {\n render(destination) {\n destination.write(markHTMLString(hydrationHtml + html));\n }\n };\n}\nfunction renderAstroComponent(result, displayName, Component, props, slots = {}) {\n if (containsServerDirective(props)) {\n return renderServerIsland(result, displayName, props, slots);\n }\n const instance = createAstroComponentInstance(result, displayName, Component, props, slots);\n return {\n async render(destination) {\n await instance.render(destination);\n }\n };\n}\nasync function renderComponent(result, displayName, Component, props, slots = {}) {\n if (isPromise(Component)) {\n Component = await Component.catch(handleCancellation);\n }\n if (isFragmentComponent(Component)) {\n return await renderFragmentComponent(result, slots).catch(handleCancellation);\n }\n props = normalizeProps(props);\n if (isHTMLComponent(Component)) {\n return await renderHTMLComponent(result, Component, props, slots).catch(handleCancellation);\n }\n if (isAstroComponentFactory(Component)) {\n return renderAstroComponent(result, displayName, Component, props, slots);\n }\n return await renderFrameworkComponent(result, displayName, Component, props, slots).catch(\n handleCancellation\n );\n function handleCancellation(e) {\n if (result.cancelled)\n return {\n render() {\n }\n };\n throw e;\n }\n}\nfunction normalizeProps(props) {\n if (props[\"class:list\"] !== void 0) {\n const value = props[\"class:list\"];\n delete props[\"class:list\"];\n props[\"class\"] = clsx(props[\"class\"], value);\n if (props[\"class\"] === \"\") {\n delete props[\"class\"];\n }\n }\n return props;\n}\nasync function renderComponentToString(result, displayName, Component, props, slots = {}, isPage = false, route) {\n let str = \"\";\n let renderedFirstPageChunk = false;\n let head = \"\";\n if (isPage && !result.partial && nonAstroPageNeedsHeadInjection(Component)) {\n head += chunkToString(result, maybeRenderHead());\n }\n try {\n const destination = {\n write(chunk) {\n if (isPage && !result.partial && !renderedFirstPageChunk) {\n renderedFirstPageChunk = true;\n if (!/\" : \"\\n\";\n str += doctype + head;\n }\n }\n if (chunk instanceof Response) return;\n str += chunkToString(result, chunk);\n }\n };\n const renderInstance = await renderComponent(result, displayName, Component, props, slots);\n await renderInstance.render(destination);\n } catch (e) {\n if (AstroError.is(e) && !e.loc) {\n e.setLocation({\n file: route?.component\n });\n }\n throw e;\n }\n return str;\n}\nfunction nonAstroPageNeedsHeadInjection(pageComponent) {\n return !!pageComponent?.[needsHeadRenderingSymbol];\n}\nexport {\n renderComponent,\n renderComponentToString\n};\n","import { markHTMLString } from \"../escape.js\";\nasync function renderScript(result, id) {\n if (result._metadata.renderedScripts.has(id)) return;\n result._metadata.renderedScripts.add(id);\n const inlined = result.inlinedScripts.get(id);\n if (inlined != null) {\n if (inlined) {\n return markHTMLString(``);\n } else {\n return \"\";\n }\n }\n const resolved = await result.resolve(id);\n return markHTMLString(``);\n}\nexport {\n renderScript\n};\n","import cssesc from \"cssesc\";\nimport { fade, slide } from \"../../transitions/index.js\";\nimport { markHTMLString } from \"./escape.js\";\nconst transitionNameMap = /* @__PURE__ */ new WeakMap();\nfunction incrementTransitionNumber(result) {\n let num = 1;\n if (transitionNameMap.has(result)) {\n num = transitionNameMap.get(result) + 1;\n }\n transitionNameMap.set(result, num);\n return num;\n}\nfunction createTransitionScope(result, hash) {\n const num = incrementTransitionNumber(result);\n return `astro-${hash}-${num}`;\n}\nconst getAnimations = (name) => {\n if (name === \"fade\") return fade();\n if (name === \"slide\") return slide();\n if (typeof name === \"object\") return name;\n};\nconst addPairs = (animations, stylesheet) => {\n for (const [direction, images] of Object.entries(animations)) {\n for (const [image, rules] of Object.entries(images)) {\n stylesheet.addAnimationPair(direction, image, rules);\n }\n }\n};\nconst reEncodeValidChars = \"0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ-_\".split(\"\").reduce((v, c) => (v[c.charCodeAt(0)] = c, v), []);\nconst reEncodeInValidStart = \"-0123456789_\".split(\"\").reduce((v, c) => (v[c.charCodeAt(0)] = c, v), []);\nfunction reEncode(s) {\n let result = \"\";\n let codepoint;\n for (let i = 0; i < s.length; i += (codepoint ?? 0) > 65535 ? 2 : 1) {\n codepoint = s.codePointAt(i);\n if (codepoint !== void 0) {\n result += codepoint < 128 ? codepoint === 95 ? \"__\" : reEncodeValidChars[codepoint] ?? \"_\" + codepoint.toString(16).padStart(2, \"0\") : String.fromCodePoint(codepoint);\n }\n }\n return reEncodeInValidStart[result.codePointAt(0) ?? 0] ? \"_\" + result : result;\n}\nfunction renderTransition(result, hash, animationName, transitionName) {\n if (typeof (transitionName ?? \"\") !== \"string\") {\n throw new Error(`Invalid transition name {${transitionName}}`);\n }\n if (!animationName) animationName = \"fade\";\n const scope = createTransitionScope(result, hash);\n const name = transitionName ? cssesc(reEncode(transitionName), { isIdentifier: true }) : scope;\n const sheet = new ViewTransitionStyleSheet(scope, name);\n const animations = getAnimations(animationName);\n if (animations) {\n addPairs(animations, sheet);\n } else if (animationName === \"none\") {\n sheet.addFallback(\"old\", \"animation: none; mix-blend-mode: normal;\");\n sheet.addModern(\"old\", \"animation: none; opacity: 0; mix-blend-mode: normal;\");\n sheet.addAnimationRaw(\"new\", \"animation: none; mix-blend-mode: normal;\");\n sheet.addModern(\"group\", \"animation: none\");\n }\n result._metadata.extraHead.push(markHTMLString(``));\n return scope;\n}\nfunction createAnimationScope(transitionName, animations) {\n const hash = Math.random().toString(36).slice(2, 8);\n const scope = `astro-${hash}`;\n const sheet = new ViewTransitionStyleSheet(scope, transitionName);\n addPairs(animations, sheet);\n return { scope, styles: sheet.toString().replaceAll('\"', \"\") };\n}\nclass ViewTransitionStyleSheet {\n constructor(scope, name) {\n this.scope = scope;\n this.name = name;\n }\n modern = [];\n fallback = [];\n toString() {\n const { scope, name } = this;\n const [modern, fallback] = [this.modern, this.fallback].map((rules) => rules.join(\"\"));\n return [\n `[data-astro-transition-scope=\"${scope}\"] { view-transition-name: ${name}; }`,\n this.layer(modern),\n fallback\n ].join(\"\");\n }\n layer(cssText) {\n return cssText ? `@layer astro { ${cssText} }` : \"\";\n }\n addRule(target, cssText) {\n this[target].push(cssText);\n }\n addAnimationRaw(image, animation) {\n this.addModern(image, animation);\n this.addFallback(image, animation);\n }\n addModern(image, animation) {\n const { name } = this;\n this.addRule(\"modern\", `::view-transition-${image}(${name}) { ${animation} }`);\n }\n addFallback(image, animation) {\n const { scope } = this;\n this.addRule(\n \"fallback\",\n // Two selectors here, the second in case there is an animation on the root.\n `[data-astro-transition-fallback=\"${image}\"] [data-astro-transition-scope=\"${scope}\"],\n\t\t\t[data-astro-transition-fallback=\"${image}\"][data-astro-transition-scope=\"${scope}\"] { ${animation} }`\n );\n }\n addAnimationPair(direction, image, rules) {\n const { scope, name } = this;\n const animation = stringifyAnimation(rules);\n const prefix = direction === \"backwards\" ? `[data-astro-transition=back]` : direction === \"forwards\" ? \"\" : `[data-astro-transition=${direction}]`;\n this.addRule(\"modern\", `${prefix}::view-transition-${image}(${name}) { ${animation} }`);\n this.addRule(\n \"fallback\",\n `${prefix}[data-astro-transition-fallback=\"${image}\"] [data-astro-transition-scope=\"${scope}\"],\n\t\t\t${prefix}[data-astro-transition-fallback=\"${image}\"][data-astro-transition-scope=\"${scope}\"] { ${animation} }`\n );\n }\n}\nfunction addAnimationProperty(builder, prop, value) {\n let arr = builder[prop];\n if (Array.isArray(arr)) {\n arr.push(value.toString());\n } else {\n builder[prop] = [value.toString()];\n }\n}\nfunction animationBuilder() {\n return {\n toString() {\n let out = \"\";\n for (let k in this) {\n let value = this[k];\n if (Array.isArray(value)) {\n out += `\n\t${k}: ${value.join(\", \")};`;\n }\n }\n return out;\n }\n };\n}\nfunction stringifyAnimation(anim) {\n if (Array.isArray(anim)) {\n return stringifyAnimations(anim);\n } else {\n return stringifyAnimations([anim]);\n }\n}\nfunction stringifyAnimations(anims) {\n const builder = animationBuilder();\n for (const anim of anims) {\n if (anim.duration) {\n addAnimationProperty(builder, \"animation-duration\", toTimeValue(anim.duration));\n }\n if (anim.easing) {\n addAnimationProperty(builder, \"animation-timing-function\", anim.easing);\n }\n if (anim.direction) {\n addAnimationProperty(builder, \"animation-direction\", anim.direction);\n }\n if (anim.delay) {\n addAnimationProperty(builder, \"animation-delay\", anim.delay);\n }\n if (anim.fillMode) {\n addAnimationProperty(builder, \"animation-fill-mode\", anim.fillMode);\n }\n addAnimationProperty(builder, \"animation-name\", anim.name);\n }\n return builder.toString();\n}\nfunction toTimeValue(num) {\n return typeof num === \"number\" ? num + \"ms\" : num;\n}\nexport {\n createAnimationScope,\n createTransitionScope,\n renderTransition\n};\n","import { createComponent } from \"./astro-component.js\";\nimport { createAstro } from \"./astro-global.js\";\nimport { renderEndpoint } from \"./endpoint.js\";\nimport {\n escapeHTML,\n HTMLBytes,\n HTMLString,\n isHTMLString,\n markHTMLString,\n unescapeHTML\n} from \"./escape.js\";\nimport { renderJSX } from \"./jsx.js\";\nimport {\n addAttribute,\n createHeadAndContent,\n defineScriptVars,\n Fragment,\n maybeRenderHead,\n renderTemplate,\n renderComponent,\n Renderer,\n renderHead,\n renderHTMLElement,\n renderPage,\n renderScript,\n renderScriptElement,\n renderSlot,\n renderSlotToString,\n renderTemplate as renderTemplate2,\n renderToString,\n renderUniqueStylesheet,\n voidElementNames\n} from \"./render/index.js\";\nimport { createTransitionScope, renderTransition } from \"./transition.js\";\nimport { markHTMLString as markHTMLString2 } from \"./escape.js\";\nimport { Renderer as Renderer2, addAttribute as addAttribute2 } from \"./render/index.js\";\nfunction mergeSlots(...slotted) {\n const slots = {};\n for (const slot of slotted) {\n if (!slot) continue;\n if (typeof slot === \"object\") {\n Object.assign(slots, slot);\n } else if (typeof slot === \"function\") {\n Object.assign(slots, mergeSlots(slot()));\n }\n }\n return slots;\n}\nfunction __astro_tag_component__(Component, rendererName) {\n if (!Component) return;\n if (typeof Component !== \"function\") return;\n Object.defineProperty(Component, Renderer2, {\n value: rendererName,\n enumerable: false,\n writable: false\n });\n}\nfunction spreadAttributes(values = {}, _name, { class: scopedClassName } = {}) {\n let output = \"\";\n if (scopedClassName) {\n if (typeof values.class !== \"undefined\") {\n values.class += ` ${scopedClassName}`;\n } else if (typeof values[\"class:list\"] !== \"undefined\") {\n values[\"class:list\"] = [values[\"class:list\"], scopedClassName];\n } else {\n values.class = scopedClassName;\n }\n }\n for (const [key, value] of Object.entries(values)) {\n output += addAttribute2(value, key, true);\n }\n return markHTMLString2(output);\n}\nfunction defineStyleVars(defs) {\n let output = \"\";\n let arr = !Array.isArray(defs) ? [defs] : defs;\n for (const vars of arr) {\n for (const [key, value] of Object.entries(vars)) {\n if (value || value === 0) {\n output += `--${key}: ${value};`;\n }\n }\n }\n return markHTMLString2(output);\n}\nexport {\n Fragment,\n HTMLBytes,\n HTMLString,\n Renderer,\n __astro_tag_component__,\n addAttribute,\n createAstro,\n createComponent,\n createHeadAndContent,\n createTransitionScope,\n defineScriptVars,\n defineStyleVars,\n escapeHTML,\n isHTMLString,\n markHTMLString,\n maybeRenderHead,\n mergeSlots,\n renderTemplate as render,\n renderComponent,\n renderEndpoint,\n renderHTMLElement,\n renderHead,\n renderJSX,\n renderPage,\n renderScript,\n renderScriptElement,\n renderSlot,\n renderSlotToString,\n renderTemplate2 as renderTemplate,\n renderToString,\n renderTransition,\n renderUniqueStylesheet,\n spreadAttributes,\n unescapeHTML,\n voidElementNames\n};\n"],"names":["AstroErrorData.InvalidComponentArgs","AstroErrorData.AstroGlobUsedOutside","AstroErrorData.AstroGlobNoMatch","AstroErrorData.MissingMediaQueryDirective","AstroErrorData.NoMatchingImport","islandScriptDev","islandScript","AstroErrorData.NoMatchingRenderer","AstroErrorData.NoClientOnlyHint","AstroErrorData.NoClientEntrypoint","addAttribute2","markHTMLString2"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31]} \ No newline at end of file diff --git a/Target/chunks/astro_CXrh3zCg.mjs.map b/Target/chunks/astro_CXrh3zCg.mjs.map deleted file mode 100644 index 3d54c3d3..00000000 --- a/Target/chunks/astro_CXrh3zCg.mjs.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"astro_CXrh3zCg.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;"} \ No newline at end of file diff --git a/Target/chunks/astro_G1YLVo_R.mjs.map b/Target/chunks/astro_G1YLVo_R.mjs.map new file mode 100644 index 00000000..84a9e575 --- /dev/null +++ b/Target/chunks/astro_G1YLVo_R.mjs.map @@ -0,0 +1 @@ +{"version":3,"file":"astro_G1YLVo_R.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;"} \ No newline at end of file diff --git a/Target/manifest_C-LRu95t.mjs.map b/Target/manifest_B5tighgG.mjs.map similarity index 99% rename from Target/manifest_C-LRu95t.mjs.map rename to Target/manifest_B5tighgG.mjs.map index e9a23d15..864bd6d7 100644 --- a/Target/manifest_C-LRu95t.mjs.map +++ b/Target/manifest_B5tighgG.mjs.map @@ -1 +1 @@ -{"version":3,"file":"manifest_C-LRu95t.mjs","sources":["../../../../../node_modules/astro/dist/actions/runtime/virtual/shared.js","../../../../../node_modules/astro/dist/core/routing/manifest/generator.js","../../../../../node_modules/astro/dist/core/routing/manifest/serialization.js","../../../../../node_modules/astro/dist/core/app/common.js"],"sourcesContent":["import { parse as devalueParse, stringify as devalueStringify } from \"devalue\";\nimport { REDIRECT_STATUS_CODES } from \"../../../core/constants.js\";\nimport { ActionsReturnedInvalidDataError } from \"../../../core/errors/errors-data.js\";\nimport { AstroError } from \"../../../core/errors/errors.js\";\nimport { ACTION_QUERY_PARAMS as _ACTION_QUERY_PARAMS } from \"../../consts.js\";\nconst ACTION_QUERY_PARAMS = _ACTION_QUERY_PARAMS;\nconst ACTION_ERROR_CODES = [\n \"BAD_REQUEST\",\n \"UNAUTHORIZED\",\n \"FORBIDDEN\",\n \"NOT_FOUND\",\n \"TIMEOUT\",\n \"CONFLICT\",\n \"PRECONDITION_FAILED\",\n \"PAYLOAD_TOO_LARGE\",\n \"UNSUPPORTED_MEDIA_TYPE\",\n \"UNPROCESSABLE_CONTENT\",\n \"TOO_MANY_REQUESTS\",\n \"CLIENT_CLOSED_REQUEST\",\n \"INTERNAL_SERVER_ERROR\"\n];\nconst codeToStatusMap = {\n // Implemented from tRPC error code table\n // https://trpc.io/docs/server/error-handling#error-codes\n BAD_REQUEST: 400,\n UNAUTHORIZED: 401,\n FORBIDDEN: 403,\n NOT_FOUND: 404,\n TIMEOUT: 405,\n CONFLICT: 409,\n PRECONDITION_FAILED: 412,\n PAYLOAD_TOO_LARGE: 413,\n UNSUPPORTED_MEDIA_TYPE: 415,\n UNPROCESSABLE_CONTENT: 422,\n TOO_MANY_REQUESTS: 429,\n CLIENT_CLOSED_REQUEST: 499,\n INTERNAL_SERVER_ERROR: 500\n};\nconst statusToCodeMap = Object.entries(codeToStatusMap).reduce(\n // reverse the key-value pairs\n (acc, [key, value]) => ({ ...acc, [value]: key }),\n {}\n);\nclass ActionError extends Error {\n type = \"AstroActionError\";\n code = \"INTERNAL_SERVER_ERROR\";\n status = 500;\n constructor(params) {\n super(params.message);\n this.code = params.code;\n this.status = ActionError.codeToStatus(params.code);\n if (params.stack) {\n this.stack = params.stack;\n }\n }\n static codeToStatus(code) {\n return codeToStatusMap[code];\n }\n static statusToCode(status) {\n return statusToCodeMap[status] ?? \"INTERNAL_SERVER_ERROR\";\n }\n static fromJson(body) {\n if (isInputError(body)) {\n return new ActionInputError(body.issues);\n }\n if (isActionError(body)) {\n return new ActionError(body);\n }\n return new ActionError({\n code: \"INTERNAL_SERVER_ERROR\"\n });\n }\n}\nfunction isActionError(error) {\n return typeof error === \"object\" && error != null && \"type\" in error && error.type === \"AstroActionError\";\n}\nfunction isInputError(error) {\n return typeof error === \"object\" && error != null && \"type\" in error && error.type === \"AstroActionInputError\" && \"issues\" in error && Array.isArray(error.issues);\n}\nclass ActionInputError extends ActionError {\n type = \"AstroActionInputError\";\n // We don't expose all ZodError properties.\n // Not all properties will serialize from server to client,\n // and we don't want to import the full ZodError object into the client.\n issues;\n fields;\n constructor(issues) {\n super({\n message: `Failed to validate: ${JSON.stringify(issues, null, 2)}`,\n code: \"BAD_REQUEST\"\n });\n this.issues = issues;\n this.fields = {};\n for (const issue of issues) {\n if (issue.path.length > 0) {\n const key = issue.path[0].toString();\n this.fields[key] ??= [];\n this.fields[key]?.push(issue.message);\n }\n }\n }\n}\nasync function callSafely(handler) {\n try {\n const data = await handler();\n return { data, error: void 0 };\n } catch (e) {\n if (e instanceof ActionError) {\n return { data: void 0, error: e };\n }\n return {\n data: void 0,\n error: new ActionError({\n message: e instanceof Error ? e.message : \"Unknown error\",\n code: \"INTERNAL_SERVER_ERROR\"\n })\n };\n }\n}\nfunction getActionQueryString(name) {\n const searchParams = new URLSearchParams({ [_ACTION_QUERY_PARAMS.actionName]: name });\n return `?${searchParams.toString()}`;\n}\nfunction serializeActionResult(res) {\n if (res.error) {\n if (import.meta.env?.DEV) {\n actionResultErrorStack.set(res.error.stack);\n }\n return {\n type: \"error\",\n status: res.error.status,\n contentType: \"application/json\",\n body: JSON.stringify({\n ...res.error,\n message: res.error.message\n })\n };\n }\n if (res.data === void 0) {\n return {\n type: \"empty\",\n status: 204\n };\n }\n let body;\n try {\n body = devalueStringify(res.data, {\n // Add support for URL objects\n URL: (value) => value instanceof URL && value.href\n });\n } catch (e) {\n let hint = ActionsReturnedInvalidDataError.hint;\n if (res.data instanceof Response) {\n hint = REDIRECT_STATUS_CODES.includes(res.data.status) ? \"If you need to redirect when the action succeeds, trigger a redirect where the action is called. See the Actions guide for server and client redirect examples: https://docs.astro.build/en/guides/actions.\" : \"If you need to return a Response object, try using a server endpoint instead. See https://docs.astro.build/en/guides/endpoints/#server-endpoints-api-routes\";\n }\n throw new AstroError({\n ...ActionsReturnedInvalidDataError,\n message: ActionsReturnedInvalidDataError.message(String(e)),\n hint\n });\n }\n return {\n type: \"data\",\n status: 200,\n contentType: \"application/json+devalue\",\n body\n };\n}\nfunction deserializeActionResult(res) {\n if (res.type === \"error\") {\n let json;\n try {\n json = JSON.parse(res.body);\n } catch {\n return {\n data: void 0,\n error: new ActionError({\n message: res.body,\n code: \"INTERNAL_SERVER_ERROR\"\n })\n };\n }\n if (import.meta.env?.PROD) {\n return { error: ActionError.fromJson(json), data: void 0 };\n } else {\n const error = ActionError.fromJson(json);\n error.stack = actionResultErrorStack.get();\n return {\n error,\n data: void 0\n };\n }\n }\n if (res.type === \"empty\") {\n return { data: void 0, error: void 0 };\n }\n return {\n data: devalueParse(res.body, {\n URL: (href) => new URL(href)\n }),\n error: void 0\n };\n}\nconst actionResultErrorStack = /* @__PURE__ */ function actionResultErrorStackFn() {\n let errorStack;\n return {\n set(stack) {\n errorStack = stack;\n },\n get() {\n return errorStack;\n }\n };\n}();\nexport {\n ACTION_ERROR_CODES,\n ACTION_QUERY_PARAMS,\n ActionError,\n ActionInputError,\n callSafely,\n deserializeActionResult,\n getActionQueryString,\n isActionError,\n isInputError,\n serializeActionResult\n};\n","import { compile } from \"path-to-regexp\";\nfunction sanitizeParams(params) {\n return Object.fromEntries(\n Object.entries(params).map(([key, value]) => {\n if (typeof value === \"string\") {\n return [key, value.normalize().replace(/#/g, \"%23\").replace(/\\?/g, \"%3F\")];\n }\n return [key, value];\n })\n );\n}\nfunction getRouteGenerator(segments, addTrailingSlash) {\n const template = segments.map((segment) => {\n return \"/\" + segment.map((part) => {\n if (part.spread) {\n return `:${part.content.slice(3)}(.*)?`;\n } else if (part.dynamic) {\n return `:${part.content}`;\n } else {\n return part.content.normalize().replace(/\\?/g, \"%3F\").replace(/#/g, \"%23\").replace(/%5B/g, \"[\").replace(/%5D/g, \"]\").replace(/[.*+?^${}()|[\\]\\\\]/g, \"\\\\$&\");\n }\n }).join(\"\");\n }).join(\"\");\n let trailing = \"\";\n if (addTrailingSlash === \"always\" && segments.length) {\n trailing = \"/\";\n }\n const toPath = compile(template + trailing);\n return (params) => {\n const sanitizedParams = sanitizeParams(params);\n const path = toPath(sanitizedParams);\n return path || \"/\";\n };\n}\nexport {\n getRouteGenerator\n};\n","import { getRouteGenerator } from \"./generator.js\";\nfunction serializeRouteData(routeData, trailingSlash) {\n return {\n ...routeData,\n generate: void 0,\n pattern: routeData.pattern.source,\n redirectRoute: routeData.redirectRoute ? serializeRouteData(routeData.redirectRoute, trailingSlash) : void 0,\n fallbackRoutes: routeData.fallbackRoutes.map((fallbackRoute) => {\n return serializeRouteData(fallbackRoute, trailingSlash);\n }),\n _meta: { trailingSlash }\n };\n}\nfunction deserializeRouteData(rawRouteData) {\n return {\n route: rawRouteData.route,\n type: rawRouteData.type,\n pattern: new RegExp(rawRouteData.pattern),\n params: rawRouteData.params,\n component: rawRouteData.component,\n generate: getRouteGenerator(rawRouteData.segments, rawRouteData._meta.trailingSlash),\n pathname: rawRouteData.pathname || void 0,\n segments: rawRouteData.segments,\n prerender: rawRouteData.prerender,\n redirect: rawRouteData.redirect,\n redirectRoute: rawRouteData.redirectRoute ? deserializeRouteData(rawRouteData.redirectRoute) : void 0,\n fallbackRoutes: rawRouteData.fallbackRoutes.map((fallback) => {\n return deserializeRouteData(fallback);\n }),\n isIndex: rawRouteData.isIndex\n };\n}\nexport {\n deserializeRouteData,\n serializeRouteData\n};\n","import { decodeKey } from \"../encryption.js\";\nimport { deserializeRouteData } from \"../routing/manifest/serialization.js\";\nfunction deserializeManifest(serializedManifest) {\n const routes = [];\n for (const serializedRoute of serializedManifest.routes) {\n routes.push({\n ...serializedRoute,\n routeData: deserializeRouteData(serializedRoute.routeData)\n });\n const route = serializedRoute;\n route.routeData = deserializeRouteData(serializedRoute.routeData);\n }\n const assets = new Set(serializedManifest.assets);\n const componentMetadata = new Map(serializedManifest.componentMetadata);\n const inlinedScripts = new Map(serializedManifest.inlinedScripts);\n const clientDirectives = new Map(serializedManifest.clientDirectives);\n const serverIslandNameMap = new Map(serializedManifest.serverIslandNameMap);\n const key = decodeKey(serializedManifest.key);\n return {\n // in case user middleware exists, this no-op middleware will be reassigned (see plugin-ssr.ts)\n middleware(_, next) {\n return next();\n },\n ...serializedManifest,\n assets,\n componentMetadata,\n inlinedScripts,\n clientDirectives,\n routes,\n serverIslandNameMap,\n key\n };\n}\nexport {\n deserializeManifest\n};\n"],"names":[],"mappings":"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","x_google_ignoreList":[0,1,2,3]} \ No newline at end of file +{"version":3,"file":"manifest_B5tighgG.mjs","sources":["../../../../../node_modules/astro/dist/actions/runtime/virtual/shared.js","../../../../../node_modules/astro/dist/core/routing/manifest/generator.js","../../../../../node_modules/astro/dist/core/routing/manifest/serialization.js","../../../../../node_modules/astro/dist/core/app/common.js"],"sourcesContent":["import { parse as devalueParse, stringify as devalueStringify } from \"devalue\";\nimport { REDIRECT_STATUS_CODES } from \"../../../core/constants.js\";\nimport { ActionsReturnedInvalidDataError } from \"../../../core/errors/errors-data.js\";\nimport { AstroError } from \"../../../core/errors/errors.js\";\nimport { ACTION_QUERY_PARAMS as _ACTION_QUERY_PARAMS } from \"../../consts.js\";\nconst ACTION_QUERY_PARAMS = _ACTION_QUERY_PARAMS;\nconst ACTION_ERROR_CODES = [\n \"BAD_REQUEST\",\n \"UNAUTHORIZED\",\n \"FORBIDDEN\",\n \"NOT_FOUND\",\n \"TIMEOUT\",\n \"CONFLICT\",\n \"PRECONDITION_FAILED\",\n \"PAYLOAD_TOO_LARGE\",\n \"UNSUPPORTED_MEDIA_TYPE\",\n \"UNPROCESSABLE_CONTENT\",\n \"TOO_MANY_REQUESTS\",\n \"CLIENT_CLOSED_REQUEST\",\n \"INTERNAL_SERVER_ERROR\"\n];\nconst codeToStatusMap = {\n // Implemented from tRPC error code table\n // https://trpc.io/docs/server/error-handling#error-codes\n BAD_REQUEST: 400,\n UNAUTHORIZED: 401,\n FORBIDDEN: 403,\n NOT_FOUND: 404,\n TIMEOUT: 405,\n CONFLICT: 409,\n PRECONDITION_FAILED: 412,\n PAYLOAD_TOO_LARGE: 413,\n UNSUPPORTED_MEDIA_TYPE: 415,\n UNPROCESSABLE_CONTENT: 422,\n TOO_MANY_REQUESTS: 429,\n CLIENT_CLOSED_REQUEST: 499,\n INTERNAL_SERVER_ERROR: 500\n};\nconst statusToCodeMap = Object.entries(codeToStatusMap).reduce(\n // reverse the key-value pairs\n (acc, [key, value]) => ({ ...acc, [value]: key }),\n {}\n);\nclass ActionError extends Error {\n type = \"AstroActionError\";\n code = \"INTERNAL_SERVER_ERROR\";\n status = 500;\n constructor(params) {\n super(params.message);\n this.code = params.code;\n this.status = ActionError.codeToStatus(params.code);\n if (params.stack) {\n this.stack = params.stack;\n }\n }\n static codeToStatus(code) {\n return codeToStatusMap[code];\n }\n static statusToCode(status) {\n return statusToCodeMap[status] ?? \"INTERNAL_SERVER_ERROR\";\n }\n static fromJson(body) {\n if (isInputError(body)) {\n return new ActionInputError(body.issues);\n }\n if (isActionError(body)) {\n return new ActionError(body);\n }\n return new ActionError({\n code: \"INTERNAL_SERVER_ERROR\"\n });\n }\n}\nfunction isActionError(error) {\n return typeof error === \"object\" && error != null && \"type\" in error && error.type === \"AstroActionError\";\n}\nfunction isInputError(error) {\n return typeof error === \"object\" && error != null && \"type\" in error && error.type === \"AstroActionInputError\" && \"issues\" in error && Array.isArray(error.issues);\n}\nclass ActionInputError extends ActionError {\n type = \"AstroActionInputError\";\n // We don't expose all ZodError properties.\n // Not all properties will serialize from server to client,\n // and we don't want to import the full ZodError object into the client.\n issues;\n fields;\n constructor(issues) {\n super({\n message: `Failed to validate: ${JSON.stringify(issues, null, 2)}`,\n code: \"BAD_REQUEST\"\n });\n this.issues = issues;\n this.fields = {};\n for (const issue of issues) {\n if (issue.path.length > 0) {\n const key = issue.path[0].toString();\n this.fields[key] ??= [];\n this.fields[key]?.push(issue.message);\n }\n }\n }\n}\nasync function callSafely(handler) {\n try {\n const data = await handler();\n return { data, error: void 0 };\n } catch (e) {\n if (e instanceof ActionError) {\n return { data: void 0, error: e };\n }\n return {\n data: void 0,\n error: new ActionError({\n message: e instanceof Error ? e.message : \"Unknown error\",\n code: \"INTERNAL_SERVER_ERROR\"\n })\n };\n }\n}\nfunction getActionQueryString(name) {\n const searchParams = new URLSearchParams({ [_ACTION_QUERY_PARAMS.actionName]: name });\n return `?${searchParams.toString()}`;\n}\nfunction serializeActionResult(res) {\n if (res.error) {\n if (import.meta.env?.DEV) {\n actionResultErrorStack.set(res.error.stack);\n }\n return {\n type: \"error\",\n status: res.error.status,\n contentType: \"application/json\",\n body: JSON.stringify({\n ...res.error,\n message: res.error.message\n })\n };\n }\n if (res.data === void 0) {\n return {\n type: \"empty\",\n status: 204\n };\n }\n let body;\n try {\n body = devalueStringify(res.data, {\n // Add support for URL objects\n URL: (value) => value instanceof URL && value.href\n });\n } catch (e) {\n let hint = ActionsReturnedInvalidDataError.hint;\n if (res.data instanceof Response) {\n hint = REDIRECT_STATUS_CODES.includes(res.data.status) ? \"If you need to redirect when the action succeeds, trigger a redirect where the action is called. See the Actions guide for server and client redirect examples: https://docs.astro.build/en/guides/actions.\" : \"If you need to return a Response object, try using a server endpoint instead. See https://docs.astro.build/en/guides/endpoints/#server-endpoints-api-routes\";\n }\n throw new AstroError({\n ...ActionsReturnedInvalidDataError,\n message: ActionsReturnedInvalidDataError.message(String(e)),\n hint\n });\n }\n return {\n type: \"data\",\n status: 200,\n contentType: \"application/json+devalue\",\n body\n };\n}\nfunction deserializeActionResult(res) {\n if (res.type === \"error\") {\n let json;\n try {\n json = JSON.parse(res.body);\n } catch {\n return {\n data: void 0,\n error: new ActionError({\n message: res.body,\n code: \"INTERNAL_SERVER_ERROR\"\n })\n };\n }\n if (import.meta.env?.PROD) {\n return { error: ActionError.fromJson(json), data: void 0 };\n } else {\n const error = ActionError.fromJson(json);\n error.stack = actionResultErrorStack.get();\n return {\n error,\n data: void 0\n };\n }\n }\n if (res.type === \"empty\") {\n return { data: void 0, error: void 0 };\n }\n return {\n data: devalueParse(res.body, {\n URL: (href) => new URL(href)\n }),\n error: void 0\n };\n}\nconst actionResultErrorStack = /* @__PURE__ */ function actionResultErrorStackFn() {\n let errorStack;\n return {\n set(stack) {\n errorStack = stack;\n },\n get() {\n return errorStack;\n }\n };\n}();\nexport {\n ACTION_ERROR_CODES,\n ACTION_QUERY_PARAMS,\n ActionError,\n ActionInputError,\n callSafely,\n deserializeActionResult,\n getActionQueryString,\n isActionError,\n isInputError,\n serializeActionResult\n};\n","import { compile } from \"path-to-regexp\";\nfunction sanitizeParams(params) {\n return Object.fromEntries(\n Object.entries(params).map(([key, value]) => {\n if (typeof value === \"string\") {\n return [key, value.normalize().replace(/#/g, \"%23\").replace(/\\?/g, \"%3F\")];\n }\n return [key, value];\n })\n );\n}\nfunction getRouteGenerator(segments, addTrailingSlash) {\n const template = segments.map((segment) => {\n return \"/\" + segment.map((part) => {\n if (part.spread) {\n return `:${part.content.slice(3)}(.*)?`;\n } else if (part.dynamic) {\n return `:${part.content}`;\n } else {\n return part.content.normalize().replace(/\\?/g, \"%3F\").replace(/#/g, \"%23\").replace(/%5B/g, \"[\").replace(/%5D/g, \"]\").replace(/[.*+?^${}()|[\\]\\\\]/g, \"\\\\$&\");\n }\n }).join(\"\");\n }).join(\"\");\n let trailing = \"\";\n if (addTrailingSlash === \"always\" && segments.length) {\n trailing = \"/\";\n }\n const toPath = compile(template + trailing);\n return (params) => {\n const sanitizedParams = sanitizeParams(params);\n const path = toPath(sanitizedParams);\n return path || \"/\";\n };\n}\nexport {\n getRouteGenerator\n};\n","import { getRouteGenerator } from \"./generator.js\";\nfunction serializeRouteData(routeData, trailingSlash) {\n return {\n ...routeData,\n generate: void 0,\n pattern: routeData.pattern.source,\n redirectRoute: routeData.redirectRoute ? serializeRouteData(routeData.redirectRoute, trailingSlash) : void 0,\n fallbackRoutes: routeData.fallbackRoutes.map((fallbackRoute) => {\n return serializeRouteData(fallbackRoute, trailingSlash);\n }),\n _meta: { trailingSlash }\n };\n}\nfunction deserializeRouteData(rawRouteData) {\n return {\n route: rawRouteData.route,\n type: rawRouteData.type,\n pattern: new RegExp(rawRouteData.pattern),\n params: rawRouteData.params,\n component: rawRouteData.component,\n generate: getRouteGenerator(rawRouteData.segments, rawRouteData._meta.trailingSlash),\n pathname: rawRouteData.pathname || void 0,\n segments: rawRouteData.segments,\n prerender: rawRouteData.prerender,\n redirect: rawRouteData.redirect,\n redirectRoute: rawRouteData.redirectRoute ? deserializeRouteData(rawRouteData.redirectRoute) : void 0,\n fallbackRoutes: rawRouteData.fallbackRoutes.map((fallback) => {\n return deserializeRouteData(fallback);\n }),\n isIndex: rawRouteData.isIndex\n };\n}\nexport {\n deserializeRouteData,\n serializeRouteData\n};\n","import { decodeKey } from \"../encryption.js\";\nimport { deserializeRouteData } from \"../routing/manifest/serialization.js\";\nfunction deserializeManifest(serializedManifest) {\n const routes = [];\n for (const serializedRoute of serializedManifest.routes) {\n routes.push({\n ...serializedRoute,\n routeData: deserializeRouteData(serializedRoute.routeData)\n });\n const route = serializedRoute;\n route.routeData = deserializeRouteData(serializedRoute.routeData);\n }\n const assets = new Set(serializedManifest.assets);\n const componentMetadata = new Map(serializedManifest.componentMetadata);\n const inlinedScripts = new Map(serializedManifest.inlinedScripts);\n const clientDirectives = new Map(serializedManifest.clientDirectives);\n const serverIslandNameMap = new Map(serializedManifest.serverIslandNameMap);\n const key = decodeKey(serializedManifest.key);\n return {\n // in case user middleware exists, this no-op middleware will be reassigned (see plugin-ssr.ts)\n middleware(_, next) {\n return next();\n },\n ...serializedManifest,\n assets,\n componentMetadata,\n inlinedScripts,\n clientDirectives,\n routes,\n serverIslandNameMap,\n key\n };\n}\nexport {\n deserializeManifest\n};\n"],"names":[],"mappings":"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","x_google_ignoreList":[0,1,2,3]} \ No newline at end of file From 932aaf3a829bcbc468a16913276516db165d198d Mon Sep 17 00:00:00 2001 From: Nikola Hristov Date: Wed, 4 Sep 2024 23:35:42 +0300 Subject: [PATCH 049/112] --- README.md | 10 +++++----- package.json | 6 +++--- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/README.md b/README.md index 25d2dac5..4d73c5f7 100644 --- a/README.md +++ b/README.md @@ -6,15 +6,15 @@ A simple skeleton with TailwindCSS, PostCSS. - - - TailwindCSS Logo + + + TailwindCSS Logo - - PostCSS Logo + + PostCSS Logo diff --git a/package.json b/package.json index 3917e286..08c268f7 100644 --- a/package.json +++ b/package.json @@ -47,11 +47,11 @@ "astro-capo": "0.0.1", "astrojs-service-worker": "2.0.0", "autoprefixer": "10.4.20", - "cssnano": "7.0.5", - "cssnano-preset-advanced": "7.0.5", + "cssnano": "7.0.6", + "cssnano-preset-advanced": "7.0.6", "dotenv": "16.4.5", "firebase": "10.13.1", - "postcss": "8.4.44", + "postcss": "8.4.45", "postcss-combine-duplicated-selectors": "10.0.3", "postcss-combine-media-query": "1.0.1", "postcss-import": "16.1.0", From 213a37d4c17cde2b3d8b7066ead829ce13aff3d8 Mon Sep 17 00:00:00 2001 From: Nikola Hristov Date: Thu, 5 Sep 2024 21:31:00 +0300 Subject: [PATCH 050/112] --- package.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/package.json b/package.json index 08c268f7..e739158e 100644 --- a/package.json +++ b/package.json @@ -41,9 +41,9 @@ "@swup/scroll-plugin": "3.3.2", "@swup/slide-theme": "2.0.1", "@tailwindcss/aspect-ratio": "0.4.2", - "@tailwindcss/forms": "0.5.8", + "@tailwindcss/forms": "0.5.9", "@tailwindcss/typography": "0.5.15", - "astro": "4.15.2", + "astro": "4.15.3", "astro-capo": "0.0.1", "astrojs-service-worker": "2.0.0", "autoprefixer": "10.4.20", From 57b15a8652460a126bf85ff177cc9d1c9407e8e8 Mon Sep 17 00:00:00 2001 From: Nikola Hristov Date: Sun, 8 Sep 2024 06:42:20 +0300 Subject: [PATCH 051/112] --- ... => Base.astro_astro_type_script_index_0_lang.BQfvb7d1.js} | 4 ++-- ...Base.astro_astro_type_script_index_0_lang.BQfvb7d1.js.map} | 2 +- ... => Base.astro_astro_type_script_index_1_lang.Bka6-HKO.js} | 4 ++-- ...Base.astro_astro_type_script_index_1_lang.Bka6-HKO.js.map} | 2 +- Target/_astro/preload-helper.BiBI96sQ.js.map | 1 - ...{preload-helper.BiBI96sQ.js => preload-helper.D0LYr1aX.js} | 2 +- Target/_astro/preload-helper.D0LYr1aX.js.map | 1 + .../{server_DdDAVYtl.mjs.map => server_D4bGvIFa.mjs.map} | 2 +- Target/chunks/astro_BEf8Em_q.mjs.map | 1 + Target/chunks/astro_G1YLVo_R.mjs.map | 1 - Target/index.html | 2 +- .../{manifest_B5tighgG.mjs.map => manifest_o2g83e8X.mjs.map} | 2 +- 12 files changed, 12 insertions(+), 12 deletions(-) rename Target/_astro/{Base.astro_astro_type_script_index_0_lang.CvgM2Ypu.js => Base.astro_astro_type_script_index_0_lang.BQfvb7d1.js} (68%) rename Target/_astro/{Base.astro_astro_type_script_index_0_lang.CvgM2Ypu.js.map => Base.astro_astro_type_script_index_0_lang.BQfvb7d1.js.map} (96%) rename Target/_astro/{Base.astro_astro_type_script_index_1_lang.CP2le5wW.js => Base.astro_astro_type_script_index_1_lang.Bka6-HKO.js} (92%) rename Target/_astro/{Base.astro_astro_type_script_index_1_lang.CP2le5wW.js.map => Base.astro_astro_type_script_index_1_lang.Bka6-HKO.js.map} (97%) delete mode 100644 Target/_astro/preload-helper.BiBI96sQ.js.map rename Target/_astro/{preload-helper.BiBI96sQ.js => preload-helper.D0LYr1aX.js} (86%) create mode 100644 Target/_astro/preload-helper.D0LYr1aX.js.map rename Target/chunks/astro/{server_DdDAVYtl.mjs.map => server_D4bGvIFa.mjs.map} (99%) create mode 100644 Target/chunks/astro_BEf8Em_q.mjs.map delete mode 100644 Target/chunks/astro_G1YLVo_R.mjs.map rename Target/{manifest_B5tighgG.mjs.map => manifest_o2g83e8X.mjs.map} (99%) diff --git a/Target/_astro/Base.astro_astro_type_script_index_0_lang.CvgM2Ypu.js b/Target/_astro/Base.astro_astro_type_script_index_0_lang.BQfvb7d1.js similarity index 68% rename from Target/_astro/Base.astro_astro_type_script_index_0_lang.CvgM2Ypu.js rename to Target/_astro/Base.astro_astro_type_script_index_0_lang.BQfvb7d1.js index 08001f76..11de48c2 100644 --- a/Target/_astro/Base.astro_astro_type_script_index_0_lang.CvgM2Ypu.js +++ b/Target/_astro/Base.astro_astro_type_script_index_0_lang.BQfvb7d1.js @@ -1,4 +1,4 @@ -import { _ as e } from "./preload-helper.BiBI96sQ.js"; +import { _ as e } from "./preload-helper.D0LYr1aX.js"; ( await e(async () => { const { initializeApp: a } = await import("./index.esm.C4IwMFMF.js"); @@ -14,4 +14,4 @@ import { _ as e } from "./preload-helper.BiBI96sQ.js"; projectId: "", storageBucket: "", }); -//# sourceMappingURL=Base.astro_astro_type_script_index_0_lang.CvgM2Ypu.js.map +//# sourceMappingURL=Base.astro_astro_type_script_index_0_lang.BQfvb7d1.js.map diff --git a/Target/_astro/Base.astro_astro_type_script_index_0_lang.CvgM2Ypu.js.map b/Target/_astro/Base.astro_astro_type_script_index_0_lang.BQfvb7d1.js.map similarity index 96% rename from Target/_astro/Base.astro_astro_type_script_index_0_lang.CvgM2Ypu.js.map rename to Target/_astro/Base.astro_astro_type_script_index_0_lang.BQfvb7d1.js.map index 3043f858..7d429f8f 100644 --- a/Target/_astro/Base.astro_astro_type_script_index_0_lang.CvgM2Ypu.js.map +++ b/Target/_astro/Base.astro_astro_type_script_index_0_lang.BQfvb7d1.js.map @@ -1 +1 @@ -{"version":3,"mappings":"kDAAgB,MAAMA,EAAA,8BAAAC,CAAA,eAAO,yBAAc,uBAAAA,CAAA,QAAG,cAAc,CAC3D,OAAQ,GACR,MAAO,GACP,WAAY,GACZ,YAAa,GACb,cAAe,GACf,kBAAmB,GACnB,UAAW,GACX,cAAe,EAChB,CAAC","names":["__vitePreload","initializeApp"],"ignoreList":[],"sources":["../../Source/Script/Firebase.ts"],"sourcesContent":["export default (await import(\"firebase/app\")).initializeApp({\n\tapiKey: \"\", // TODO Replace with your API key\n\tappId: \"\", // TODO Replace with your app ID\n\tauthDomain: \"\", // TODO Replace with your auth domain\n\tdatabaseURL: \"\", // TODO Replace with your database URL\n\tmeasurementId: \"\", // TODO Replace with your measurement ID\n\tmessagingSenderId: \"\", // TODO Replace with your messaging sender ID\n\tprojectId: \"\", // TODO Replace with your project ID\n\tstorageBucket: \"\", // TODO Replace with your storage bucket\n});\n"],"file":"_astro/Base.astro_astro_type_script_index_0_lang.CvgM2Ypu.js"} \ No newline at end of file +{"version":3,"mappings":"kDAAgB,MAAMA,EAAA,8BAAAC,CAAA,eAAO,yBAAc,uBAAAA,CAAA,QAAG,cAAc,CAC3D,OAAQ,GACR,MAAO,GACP,WAAY,GACZ,YAAa,GACb,cAAe,GACf,kBAAmB,GACnB,UAAW,GACX,cAAe,EAChB,CAAC","names":["__vitePreload","initializeApp"],"ignoreList":[],"sources":["../../Source/Script/Firebase.ts"],"sourcesContent":["export default (await import(\"firebase/app\")).initializeApp({\n\tapiKey: \"\", // TODO Replace with your API key\n\tappId: \"\", // TODO Replace with your app ID\n\tauthDomain: \"\", // TODO Replace with your auth domain\n\tdatabaseURL: \"\", // TODO Replace with your database URL\n\tmeasurementId: \"\", // TODO Replace with your measurement ID\n\tmessagingSenderId: \"\", // TODO Replace with your messaging sender ID\n\tprojectId: \"\", // TODO Replace with your project ID\n\tstorageBucket: \"\", // TODO Replace with your storage bucket\n});\n"],"file":"_astro/Base.astro_astro_type_script_index_0_lang.BQfvb7d1.js"} \ No newline at end of file diff --git a/Target/_astro/Base.astro_astro_type_script_index_1_lang.CP2le5wW.js b/Target/_astro/Base.astro_astro_type_script_index_1_lang.Bka6-HKO.js similarity index 92% rename from Target/_astro/Base.astro_astro_type_script_index_1_lang.CP2le5wW.js rename to Target/_astro/Base.astro_astro_type_script_index_1_lang.Bka6-HKO.js index 89ac0a5d..0b2c0352 100644 --- a/Target/_astro/Base.astro_astro_type_script_index_1_lang.CP2le5wW.js +++ b/Target/_astro/Base.astro_astro_type_script_index_1_lang.Bka6-HKO.js @@ -12,7 +12,7 @@ const __vite__mapDeps = ( "_astro/index.modern.aa8fLSdp.js", ]), ) => i.map((i) => d[i]); -import { _ } from "./preload-helper.BiBI96sQ.js"; +import { _ } from "./preload-helper.D0LYr1aX.js"; new ( await _(async () => { const { default: t } = await import("./Swup.modern.UA9jlYbO.js"); @@ -78,4 +78,4 @@ new ( ).default(), ], }); -//# sourceMappingURL=Base.astro_astro_type_script_index_1_lang.CP2le5wW.js.map +//# sourceMappingURL=Base.astro_astro_type_script_index_1_lang.Bka6-HKO.js.map diff --git a/Target/_astro/Base.astro_astro_type_script_index_1_lang.CP2le5wW.js.map b/Target/_astro/Base.astro_astro_type_script_index_1_lang.Bka6-HKO.js.map similarity index 97% rename from Target/_astro/Base.astro_astro_type_script_index_1_lang.CP2le5wW.js.map rename to Target/_astro/Base.astro_astro_type_script_index_1_lang.Bka6-HKO.js.map index 8e7ce936..04bf7615 100644 --- a/Target/_astro/Base.astro_astro_type_script_index_1_lang.CP2le5wW.js.map +++ b/Target/_astro/Base.astro_astro_type_script_index_1_lang.Bka6-HKO.js.map @@ -1 +1 @@ -{"version":3,"mappings":";4CAAe,IAAK,MAAMA,EAAA,wBAAAC,CAAA,eAAO,2BAAM,iBAAAA,CAAA,QAAG,QAAQ,CACjD,WAAY,CAAC,UAAW,QAAS,SAAS,EAC1C,QAAS,CACR,IACC,MAAMD,EAAA,wBAAAC,CAAA,eAEL,8BACD,eAAAA,EAAA,2BACC,QACF,IAAK,MAAAD,EAAA,wBAAAC,CAAA,OAAM,QAAO,4BAAmB,iBAAAA,CAAA,4BAAG,QACxC,IAAK,MAAAD,EAAA,wBAAAC,CAAA,OAAM,QAAO,4BAAsB,iBAAAA,CAAA,8BAAG,QAC3C,IAAK,MAAAD,EAAA,wBAAAC,CAAA,OAAM,QAAO,4BAAqB,iBAAAA,CAAA,8BAAG,QAC1C,IAAK,MAAAD,EAAA,wBAAAC,CAAA,OAAM,QAAO,4BAAyB,iBAAAA,CAAA,4BAAG,OAC/C,CACD,CAAC","names":["__vitePreload","__vite_default__"],"ignoreList":[],"sources":["../../Source/Script/SWUP.ts"],"sourcesContent":["export default new (await import(\"swup\")).default({\n\tcontainers: [\"#footer\", \"#main\", \"#header\"],\n\tplugins: [\n\t\tnew (\n\t\t\tawait import(\n\t\t\t\t// @ts-expect-error\n\t\t\t\t\"@swup/overlay-theme\"\n\t\t\t)\n\t\t).default(),\n\t\tnew (await import(\"@swup/head-plugin\")).default(),\n\t\tnew (await import(\"@swup/preload-plugin\")).default(),\n\t\tnew (await import(\"@swup/scroll-plugin\")).default(),\n\t\tnew (await import(\"@swup/body-class-plugin\")).default(),\n\t],\n});\n"],"file":"_astro/Base.astro_astro_type_script_index_1_lang.CP2le5wW.js"} \ No newline at end of file +{"version":3,"mappings":";4CAAe,IAAK,MAAMA,EAAA,wBAAAC,CAAA,eAAO,2BAAM,iBAAAA,CAAA,QAAG,QAAQ,CACjD,WAAY,CAAC,UAAW,QAAS,SAAS,EAC1C,QAAS,CACR,IACC,MAAMD,EAAA,wBAAAC,CAAA,eAEL,8BACD,eAAAA,EAAA,2BACC,QACF,IAAK,MAAAD,EAAA,wBAAAC,CAAA,OAAM,QAAO,4BAAmB,iBAAAA,CAAA,4BAAG,QACxC,IAAK,MAAAD,EAAA,wBAAAC,CAAA,OAAM,QAAO,4BAAsB,iBAAAA,CAAA,8BAAG,QAC3C,IAAK,MAAAD,EAAA,wBAAAC,CAAA,OAAM,QAAO,4BAAqB,iBAAAA,CAAA,8BAAG,QAC1C,IAAK,MAAAD,EAAA,wBAAAC,CAAA,OAAM,QAAO,4BAAyB,iBAAAA,CAAA,4BAAG,OAC/C,CACD,CAAC","names":["__vitePreload","__vite_default__"],"ignoreList":[],"sources":["../../Source/Script/SWUP.ts"],"sourcesContent":["export default new (await import(\"swup\")).default({\n\tcontainers: [\"#footer\", \"#main\", \"#header\"],\n\tplugins: [\n\t\tnew (\n\t\t\tawait import(\n\t\t\t\t// @ts-expect-error\n\t\t\t\t\"@swup/overlay-theme\"\n\t\t\t)\n\t\t).default(),\n\t\tnew (await import(\"@swup/head-plugin\")).default(),\n\t\tnew (await import(\"@swup/preload-plugin\")).default(),\n\t\tnew (await import(\"@swup/scroll-plugin\")).default(),\n\t\tnew (await import(\"@swup/body-class-plugin\")).default(),\n\t],\n});\n"],"file":"_astro/Base.astro_astro_type_script_index_1_lang.Bka6-HKO.js"} \ No newline at end of file diff --git a/Target/_astro/preload-helper.BiBI96sQ.js.map b/Target/_astro/preload-helper.BiBI96sQ.js.map deleted file mode 100644 index ad93359b..00000000 --- a/Target/_astro/preload-helper.BiBI96sQ.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"preload-helper.BiBI96sQ.js","sources":[],"sourcesContent":[],"names":[],"mappings":""} \ No newline at end of file diff --git a/Target/_astro/preload-helper.BiBI96sQ.js b/Target/_astro/preload-helper.D0LYr1aX.js similarity index 86% rename from Target/_astro/preload-helper.BiBI96sQ.js rename to Target/_astro/preload-helper.D0LYr1aX.js index 53752118..6631bde1 100644 --- a/Target/_astro/preload-helper.BiBI96sQ.js +++ b/Target/_astro/preload-helper.D0LYr1aX.js @@ -1 +1 @@ -const f="modulepreload",h=function(e){return"/"+e},l={},v=function(e,t,n){let r=Promise.resolve();if(t&&t.length>0){document.getElementsByTagName("link");const e=document.querySelector("meta[property=csp-nonce]"),n=e?.nonce||e?.getAttribute("nonce");r=Promise.all(t.map((e=>{if((e=h(e))in l)return;l[e]=!0;const t=e.endsWith(".css"),r=t?'[rel="stylesheet"]':"";if(document.querySelector(`link[href="${e}"]${r}`))return;const o=document.createElement("link");return o.rel=t?"stylesheet":f,t||(o.as="script",o.crossOrigin=""),o.href=e,n&&o.setAttribute("nonce",n),document.head.appendChild(o),t?new Promise(((t,n)=>{o.addEventListener("load",t),o.addEventListener("error",(()=>n(new Error(`Unable to preload CSS for ${e}`))))})):void 0})))}return r.then((()=>e())).catch((e=>{const t=new Event("vite:preloadError",{cancelable:!0});if(t.payload=e,window.dispatchEvent(t),!t.defaultPrevented)throw e}))};export{v as _}; \ No newline at end of file +const f="modulepreload",h=function(e){return"/"+e},l={},v=function(e,t,n){let r=Promise.resolve();if(t&&t.length>0){document.getElementsByTagName("link");const e=document.querySelector("meta[property=csp-nonce]"),n=e?.nonce||e?.getAttribute("nonce");r=Promise.all(t.map((e=>{if((e=h(e))in l)return;l[e]=!0;const t=e.endsWith(".css"),r=t?'[rel="stylesheet"]':"";if(document.querySelector(`link[href="${e}"]${r}`))return;const o=document.createElement("link");return o.rel=t?"stylesheet":f,t||(o.as="script"),o.crossOrigin="",o.href=e,n&&o.setAttribute("nonce",n),document.head.appendChild(o),t?new Promise(((t,n)=>{o.addEventListener("load",t),o.addEventListener("error",(()=>n(new Error(`Unable to preload CSS for ${e}`))))})):void 0})))}return r.then((()=>e())).catch((e=>{const t=new Event("vite:preloadError",{cancelable:!0});if(t.payload=e,window.dispatchEvent(t),!t.defaultPrevented)throw e}))};export{v as _}; \ No newline at end of file diff --git a/Target/_astro/preload-helper.D0LYr1aX.js.map b/Target/_astro/preload-helper.D0LYr1aX.js.map new file mode 100644 index 00000000..ddeb6541 --- /dev/null +++ b/Target/_astro/preload-helper.D0LYr1aX.js.map @@ -0,0 +1 @@ +{"version":3,"file":"preload-helper.D0LYr1aX.js","sources":[],"sourcesContent":[],"names":[],"mappings":""} \ No newline at end of file diff --git a/Target/chunks/astro/server_DdDAVYtl.mjs.map b/Target/chunks/astro/server_D4bGvIFa.mjs.map similarity index 99% rename from Target/chunks/astro/server_DdDAVYtl.mjs.map rename to Target/chunks/astro/server_D4bGvIFa.mjs.map index 83e4db05..9238a7b4 100644 --- a/Target/chunks/astro/server_DdDAVYtl.mjs.map +++ b/Target/chunks/astro/server_D4bGvIFa.mjs.map @@ -1 +1 @@ -{"version":3,"file":"server_DdDAVYtl.mjs","sources":["../../../../../../../node_modules/astro/dist/core/errors/errors-data.js","../../../../../../../node_modules/astro/dist/core/errors/utils.js","../../../../../../../node_modules/astro/dist/core/errors/printer.js","../../../../../../../node_modules/astro/dist/core/errors/errors.js","../../../../../../../node_modules/astro/dist/runtime/server/astro-component.js","../../../../../../../node_modules/astro/dist/core/constants.js","../../../../../../../node_modules/astro/dist/runtime/server/astro-global.js","../../../../../../../node_modules/astro/dist/runtime/server/util.js","../../../../../../../node_modules/astro/dist/runtime/server/escape.js","../../../../../../../node_modules/astro/dist/runtime/server/render/instruction.js","../../../../../../../node_modules/astro/dist/runtime/server/serialize.js","../../../../../../../node_modules/astro/dist/runtime/server/hydration.js","../../../../../../../node_modules/astro/dist/runtime/server/shorthash.js","../../../../../../../node_modules/astro/dist/runtime/server/render/astro/factory.js","../../../../../../../node_modules/astro/dist/runtime/server/render/astro/head-and-content.js","../../../../../../../node_modules/astro/dist/runtime/server/astro-island.prebuilt-dev.js","../../../../../../../node_modules/astro/dist/runtime/server/astro-island.prebuilt.js","../../../../../../../node_modules/astro/dist/runtime/server/scripts.js","../../../../../../../node_modules/astro/dist/runtime/server/render/util.js","../../../../../../../node_modules/astro/dist/runtime/server/render/head.js","../../../../../../../node_modules/astro/dist/runtime/server/render/astro/render-template.js","../../../../../../../node_modules/astro/dist/runtime/server/render/slot.js","../../../../../../../node_modules/astro/dist/runtime/server/render/common.js","../../../../../../../node_modules/astro/dist/runtime/server/render/any.js","../../../../../../../node_modules/astro/dist/runtime/server/render/astro/instance.js","../../../../../../../node_modules/astro/dist/runtime/server/render/dom.js","../../../../../../../node_modules/astro/dist/core/encryption.js","../../../../../../../node_modules/astro/dist/runtime/server/render/server-islands.js","../../../../../../../node_modules/astro/dist/runtime/server/render/component.js","../../../../../../../node_modules/astro/dist/runtime/server/render/script.js","../../../../../../../node_modules/astro/dist/runtime/server/transition.js","../../../../../../../node_modules/astro/dist/runtime/server/index.js"],"sourcesContent":["const UnknownCompilerError = {\n name: \"UnknownCompilerError\",\n title: \"Unknown compiler error.\",\n hint: \"This is almost always a problem with the Astro compiler, not your code. Please open an issue at https://astro.build/issues/compiler.\"\n};\nconst ClientAddressNotAvailable = {\n name: \"ClientAddressNotAvailable\",\n title: \"`Astro.clientAddress` is not available in current adapter.\",\n message: (adapterName) => `\\`Astro.clientAddress\\` is not available in the \\`${adapterName}\\` adapter. File an issue with the adapter to add support.`\n};\nconst PrerenderClientAddressNotAvailable = {\n name: \"PrerenderClientAddressNotAvailable\",\n title: \"`Astro.clientAddress` cannot be used inside prerendered routes.\",\n message: `\\`Astro.clientAddress\\` cannot be used inside prerendered routes`\n};\nconst StaticClientAddressNotAvailable = {\n name: \"StaticClientAddressNotAvailable\",\n title: \"`Astro.clientAddress` is not available in static mode.\",\n message: \"`Astro.clientAddress` is only available when using `output: 'server'` or `output: 'hybrid'`. Update your Astro config if you need SSR features.\",\n hint: \"See https://docs.astro.build/en/guides/server-side-rendering/ for more information on how to enable SSR.\"\n};\nconst NoMatchingStaticPathFound = {\n name: \"NoMatchingStaticPathFound\",\n title: \"No static path found for requested path.\",\n message: (pathName) => `A \\`getStaticPaths()\\` route pattern was matched, but no matching static path was found for requested path \\`${pathName}\\`.`,\n hint: (possibleRoutes) => `Possible dynamic routes being matched: ${possibleRoutes.join(\", \")}.`\n};\nconst OnlyResponseCanBeReturned = {\n name: \"OnlyResponseCanBeReturned\",\n title: \"Invalid type returned by Astro page.\",\n message: (route, returnedValue) => `Route \\`${route ? route : \"\"}\\` returned a \\`${returnedValue}\\`. Only a [Response](https://developer.mozilla.org/en-US/docs/Web/API/Response) can be returned from Astro files.`,\n hint: \"See https://docs.astro.build/en/guides/server-side-rendering/#response for more information.\"\n};\nconst MissingMediaQueryDirective = {\n name: \"MissingMediaQueryDirective\",\n title: \"Missing value for `client:media` directive.\",\n message: 'Media query not provided for `client:media` directive. A media query similar to `client:media=\"(max-width: 600px)\"` must be provided'\n};\nconst NoMatchingRenderer = {\n name: \"NoMatchingRenderer\",\n title: \"No matching renderer found.\",\n message: (componentName, componentExtension, plural, validRenderersCount) => `Unable to render \\`${componentName}\\`.\n\n${validRenderersCount > 0 ? `There ${plural ? \"are\" : \"is\"} ${validRenderersCount} renderer${plural ? \"s\" : \"\"} configured in your \\`astro.config.mjs\\` file,\nbut ${plural ? \"none were\" : \"it was not\"} able to server-side render \\`${componentName}\\`.` : `No valid renderer was found ${componentExtension ? `for the \\`.${componentExtension}\\` file extension.` : `for this file extension.`}`}`,\n hint: (probableRenderers) => `Did you mean to enable the ${probableRenderers} integration?\n\nSee https://docs.astro.build/en/guides/framework-components/ for more information on how to install and configure integrations.`\n};\nconst NoClientEntrypoint = {\n name: \"NoClientEntrypoint\",\n title: \"No client entrypoint specified in renderer.\",\n message: (componentName, clientDirective, rendererName) => `\\`${componentName}\\` component has a \\`client:${clientDirective}\\` directive, but no client entrypoint was provided by \\`${rendererName}\\`.`,\n hint: \"See https://docs.astro.build/en/reference/integrations-reference/#addrenderer-option for more information on how to configure your renderer.\"\n};\nconst NoClientOnlyHint = {\n name: \"NoClientOnlyHint\",\n title: \"Missing hint on client:only directive.\",\n message: (componentName) => `Unable to render \\`${componentName}\\`. When using the \\`client:only\\` hydration strategy, Astro needs a hint to use the correct renderer.`,\n hint: (probableRenderers) => `Did you mean to pass \\`client:only=\"${probableRenderers}\"\\`? See https://docs.astro.build/en/reference/directives-reference/#clientonly for more information on client:only`\n};\nconst InvalidGetStaticPathParam = {\n name: \"InvalidGetStaticPathParam\",\n title: \"Invalid value returned by a `getStaticPaths` path.\",\n message: (paramType) => `Invalid params given to \\`getStaticPaths\\` path. Expected an \\`object\\`, got \\`${paramType}\\``,\n hint: \"See https://docs.astro.build/en/reference/api-reference/#getstaticpaths for more information on getStaticPaths.\"\n};\nconst InvalidGetStaticPathsEntry = {\n name: \"InvalidGetStaticPathsEntry\",\n title: \"Invalid entry inside getStaticPath's return value\",\n message: (entryType) => `Invalid entry returned by getStaticPaths. Expected an object, got \\`${entryType}\\``,\n hint: \"If you're using a `.map` call, you might be looking for `.flatMap()` instead. See https://docs.astro.build/en/reference/api-reference/#getstaticpaths for more information on getStaticPaths.\"\n};\nconst InvalidGetStaticPathsReturn = {\n name: \"InvalidGetStaticPathsReturn\",\n title: \"Invalid value returned by getStaticPaths.\",\n message: (returnType) => `Invalid type returned by \\`getStaticPaths\\`. Expected an \\`array\\`, got \\`${returnType}\\``,\n hint: \"See https://docs.astro.build/en/reference/api-reference/#getstaticpaths for more information on getStaticPaths.\"\n};\nconst GetStaticPathsExpectedParams = {\n name: \"GetStaticPathsExpectedParams\",\n title: \"Missing params property on `getStaticPaths` route.\",\n message: \"Missing or empty required `params` property on `getStaticPaths` route.\",\n hint: \"See https://docs.astro.build/en/reference/api-reference/#getstaticpaths for more information on getStaticPaths.\"\n};\nconst GetStaticPathsInvalidRouteParam = {\n name: \"GetStaticPathsInvalidRouteParam\",\n title: \"Invalid value for `getStaticPaths` route parameter.\",\n message: (key, value, valueType) => `Invalid getStaticPaths route parameter for \\`${key}\\`. Expected undefined, a string or a number, received \\`${valueType}\\` (\\`${value}\\`)`,\n hint: \"See https://docs.astro.build/en/reference/api-reference/#getstaticpaths for more information on getStaticPaths.\"\n};\nconst GetStaticPathsRequired = {\n name: \"GetStaticPathsRequired\",\n title: \"`getStaticPaths()` function required for dynamic routes.\",\n message: \"`getStaticPaths()` function is required for dynamic routes. Make sure that you `export` a `getStaticPaths` function from your dynamic route.\",\n hint: `See https://docs.astro.build/en/guides/routing/#dynamic-routes for more information on dynamic routes.\n\nAlternatively, set \\`output: \"server\"\\` or \\`output: \"hybrid\"\\` in your Astro config file to switch to a non-static server build. This error can also occur if using \\`export const prerender = true;\\`.\nSee https://docs.astro.build/en/guides/server-side-rendering/ for more information on non-static rendering.`\n};\nconst ReservedSlotName = {\n name: \"ReservedSlotName\",\n title: \"Invalid slot name.\",\n message: (slotName) => `Unable to create a slot named \\`${slotName}\\`. \\`${slotName}\\` is a reserved slot name. Please update the name of this slot.`\n};\nconst NoAdapterInstalled = {\n name: \"NoAdapterInstalled\",\n title: \"Cannot use Server-side Rendering without an adapter.\",\n message: `Cannot use \\`output: 'server'\\` or \\`output: 'hybrid'\\` without an adapter. Please install and configure the appropriate server adapter for your final deployment.`,\n hint: \"See https://docs.astro.build/en/guides/server-side-rendering/ for more information.\"\n};\nconst NoMatchingImport = {\n name: \"NoMatchingImport\",\n title: \"No import found for component.\",\n message: (componentName) => `Could not render \\`${componentName}\\`. No matching import has been found for \\`${componentName}\\`.`,\n hint: \"Please make sure the component is properly imported.\"\n};\nconst InvalidPrerenderExport = {\n name: \"InvalidPrerenderExport\",\n title: \"Invalid prerender export.\",\n message(prefix, suffix, isHydridOutput) {\n const defaultExpectedValue = isHydridOutput ? \"false\" : \"true\";\n let msg = `A \\`prerender\\` export has been detected, but its value cannot be statically analyzed.`;\n if (prefix !== \"const\") msg += `\nExpected \\`const\\` declaration but got \\`${prefix}\\`.`;\n if (suffix !== \"true\")\n msg += `\nExpected \\`${defaultExpectedValue}\\` value but got \\`${suffix}\\`.`;\n return msg;\n },\n hint: \"Mutable values declared at runtime are not supported. Please make sure to use exactly `export const prerender = true`.\"\n};\nconst InvalidComponentArgs = {\n name: \"InvalidComponentArgs\",\n title: \"Invalid component arguments.\",\n message: (name) => `Invalid arguments passed to${name ? ` <${name}>` : \"\"} component.`,\n hint: \"Astro components cannot be rendered directly via function call, such as `Component()` or `{items.map(Component)}`.\"\n};\nconst PageNumberParamNotFound = {\n name: \"PageNumberParamNotFound\",\n title: \"Page number param not found.\",\n message: (paramName) => `[paginate()] page number param \\`${paramName}\\` not found in your filepath.`,\n hint: \"Rename your file to `[page].astro` or `[...page].astro`.\"\n};\nconst ImageMissingAlt = {\n name: \"ImageMissingAlt\",\n title: 'Image missing required \"alt\" property.',\n message: 'Image missing \"alt\" property. \"alt\" text is required to describe important images on the page.',\n hint: 'Use an empty string (\"\") for decorative images.'\n};\nconst InvalidImageService = {\n name: \"InvalidImageService\",\n title: \"Error while loading image service.\",\n message: \"There was an error loading the configured image service. Please see the stack trace for more information.\"\n};\nconst MissingImageDimension = {\n name: \"MissingImageDimension\",\n title: \"Missing image dimensions\",\n message: (missingDimension, imageURL) => `Missing ${missingDimension === \"both\" ? \"width and height attributes\" : `${missingDimension} attribute`} for ${imageURL}. When using remote images, both dimensions are required in order to avoid CLS.`,\n hint: \"If your image is inside your `src` folder, you probably meant to import it instead. See [the Imports guide for more information](https://docs.astro.build/en/guides/imports/#other-assets). You can also use `inferSize={true}` for remote images to get the original dimensions.\"\n};\nconst FailedToFetchRemoteImageDimensions = {\n name: \"FailedToFetchRemoteImageDimensions\",\n title: \"Failed to retrieve remote image dimensions\",\n message: (imageURL) => `Failed to get the dimensions for ${imageURL}.`,\n hint: \"Verify your remote image URL is accurate, and that you are not using `inferSize` with a file located in your `public/` folder.\"\n};\nconst UnsupportedImageFormat = {\n name: \"UnsupportedImageFormat\",\n title: \"Unsupported image format\",\n message: (format, imagePath, supportedFormats) => `Received unsupported format \\`${format}\\` from \\`${imagePath}\\`. Currently only ${supportedFormats.join(\n \", \"\n )} are supported by our image services.`,\n hint: \"Using an `img` tag directly instead of the `Image` component might be what you're looking for.\"\n};\nconst UnsupportedImageConversion = {\n name: \"UnsupportedImageConversion\",\n title: \"Unsupported image conversion\",\n message: \"Converting between vector (such as SVGs) and raster (such as PNGs and JPEGs) images is not currently supported.\"\n};\nconst PrerenderDynamicEndpointPathCollide = {\n name: \"PrerenderDynamicEndpointPathCollide\",\n title: \"Prerendered dynamic endpoint has path collision.\",\n message: (pathname) => `Could not render \\`${pathname}\\` with an \\`undefined\\` param as the generated path will collide during prerendering. Prevent passing \\`undefined\\` as \\`params\\` for the endpoint's \\`getStaticPaths()\\` function, or add an additional extension to the endpoint's filename.`,\n hint: (filename) => `Rename \\`${filename}\\` to \\`${filename.replace(/\\.(?:js|ts)/, (m) => `.json` + m)}\\``\n};\nconst ExpectedImage = {\n name: \"ExpectedImage\",\n title: \"Expected src to be an image.\",\n message: (src, typeofOptions, fullOptions) => `Expected \\`src\\` property for \\`getImage\\` or \\`\\` to be either an ESM imported image or a string with the path of a remote image. Received \\`${src}\\` (type: \\`${typeofOptions}\\`).\n\nFull serialized options received: \\`${fullOptions}\\`.`,\n hint: \"This error can often happen because of a wrong path. Make sure the path to your image is correct. If you're passing an async function, make sure to call and await it.\"\n};\nconst ExpectedImageOptions = {\n name: \"ExpectedImageOptions\",\n title: \"Expected image options.\",\n message: (options) => `Expected getImage() parameter to be an object. Received \\`${options}\\`.`\n};\nconst ExpectedNotESMImage = {\n name: \"ExpectedNotESMImage\",\n title: \"Expected image options, not an ESM-imported image.\",\n message: \"An ESM-imported image cannot be passed directly to `getImage()`. Instead, pass an object with the image in the `src` property.\",\n hint: \"Try changing `getImage(myImage)` to `getImage({ src: myImage })`\"\n};\nconst IncompatibleDescriptorOptions = {\n name: \"IncompatibleDescriptorOptions\",\n title: \"Cannot set both `densities` and `widths`\",\n message: \"Only one of `densities` or `widths` can be specified. In most cases, you'll probably want to use only `widths` if you require specific widths.\",\n hint: \"Those attributes are used to construct a `srcset` attribute, which cannot have both `x` and `w` descriptors.\"\n};\nconst ImageNotFound = {\n name: \"ImageNotFound\",\n title: \"Image not found.\",\n message: (imagePath) => `Could not find requested image \\`${imagePath}\\`. Does it exist?`,\n hint: \"This is often caused by a typo in the image path. Please make sure the file exists, and is spelled correctly.\"\n};\nconst NoImageMetadata = {\n name: \"NoImageMetadata\",\n title: \"Could not process image metadata.\",\n message: (imagePath) => `Could not process image metadata${imagePath ? ` for \\`${imagePath}\\`` : \"\"}.`,\n hint: \"This is often caused by a corrupted or malformed image. Re-exporting the image from your image editor may fix this issue.\"\n};\nconst CouldNotTransformImage = {\n name: \"CouldNotTransformImage\",\n title: \"Could not transform image.\",\n message: (imagePath) => `Could not transform image \\`${imagePath}\\`. See the stack trace for more information.`,\n hint: \"This is often caused by a corrupted or malformed image. Re-exporting the image from your image editor may fix this issue.\"\n};\nconst ResponseSentError = {\n name: \"ResponseSentError\",\n title: \"Unable to set response.\",\n message: \"The response has already been sent to the browser and cannot be altered.\"\n};\nconst MiddlewareNoDataOrNextCalled = {\n name: \"MiddlewareNoDataOrNextCalled\",\n title: \"The middleware didn't return a `Response`.\",\n message: \"Make sure your middleware returns a `Response` object, either directly or by returning the `Response` from calling the `next` function.\"\n};\nconst MiddlewareNotAResponse = {\n name: \"MiddlewareNotAResponse\",\n title: \"The middleware returned something that is not a `Response` object.\",\n message: \"Any data returned from middleware must be a valid `Response` object.\"\n};\nconst EndpointDidNotReturnAResponse = {\n name: \"EndpointDidNotReturnAResponse\",\n title: \"The endpoint did not return a `Response`.\",\n message: \"An endpoint must return either a `Response`, or a `Promise` that resolves with a `Response`.\"\n};\nconst LocalsNotAnObject = {\n name: \"LocalsNotAnObject\",\n title: \"Value assigned to `locals` is not accepted.\",\n message: \"`locals` can only be assigned to an object. Other values like numbers, strings, etc. are not accepted.\",\n hint: \"If you tried to remove some information from the `locals` object, try to use `delete` or set the property to `undefined`.\"\n};\nconst AstroResponseHeadersReassigned = {\n name: \"AstroResponseHeadersReassigned\",\n title: \"`Astro.response.headers` must not be reassigned.\",\n message: \"Individual headers can be added to and removed from `Astro.response.headers`, but it must not be replaced with another instance of `Headers` altogether.\",\n hint: \"Consider using `Astro.response.headers.add()`, and `Astro.response.headers.delete()`.\"\n};\nconst MiddlewareCantBeLoaded = {\n name: \"MiddlewareCantBeLoaded\",\n title: \"Can't load the middleware.\",\n message: \"An unknown error was thrown while loading your middleware.\"\n};\nconst LocalImageUsedWrongly = {\n name: \"LocalImageUsedWrongly\",\n title: \"Local images must be imported.\",\n message: (imageFilePath) => `\\`Image\\`'s and \\`getImage\\`'s \\`src\\` parameter must be an imported image or an URL, it cannot be a string filepath. Received \\`${imageFilePath}\\`.`,\n hint: \"If you want to use an image from your `src` folder, you need to either import it or if the image is coming from a content collection, use the [image() schema helper](https://docs.astro.build/en/guides/images/#images-in-content-collections). See https://docs.astro.build/en/guides/images/#src-required for more information on the `src` property.\"\n};\nconst AstroGlobUsedOutside = {\n name: \"AstroGlobUsedOutside\",\n title: \"Astro.glob() used outside of an Astro file.\",\n message: (globStr) => `\\`Astro.glob(${globStr})\\` can only be used in \\`.astro\\` files. \\`import.meta.glob(${globStr})\\` can be used instead to achieve a similar result.`,\n hint: \"See Vite's documentation on `import.meta.glob` for more information: https://vitejs.dev/guide/features.html#glob-import\"\n};\nconst AstroGlobNoMatch = {\n name: \"AstroGlobNoMatch\",\n title: \"Astro.glob() did not match any files.\",\n message: (globStr) => `\\`Astro.glob(${globStr})\\` did not return any matching files.`,\n hint: \"Check the pattern for typos.\"\n};\nconst RedirectWithNoLocation = {\n name: \"RedirectWithNoLocation\",\n title: \"A redirect must be given a location with the `Location` header.\"\n};\nconst InvalidDynamicRoute = {\n name: \"InvalidDynamicRoute\",\n title: \"Invalid dynamic route.\",\n message: (route, invalidParam, received) => `The ${invalidParam} param for route ${route} is invalid. Received **${received}**.`\n};\nconst MissingSharp = {\n name: \"MissingSharp\",\n title: \"Could not find Sharp.\",\n message: \"Could not find Sharp. Please install Sharp (`sharp`) manually into your project or migrate to another image service.\",\n hint: \"See Sharp's installation instructions for more information: https://sharp.pixelplumbing.com/install. If you are not relying on `astro:assets` to optimize, transform, or process any images, you can configure a passthrough image service instead of installing Sharp. See https://docs.astro.build/en/reference/errors/missing-sharp for more information.\\n\\nSee https://docs.astro.build/en/guides/images/#default-image-service for more information on how to migrate to another image service.\"\n};\nconst UnknownViteError = {\n name: \"UnknownViteError\",\n title: \"Unknown Vite Error.\"\n};\nconst FailedToLoadModuleSSR = {\n name: \"FailedToLoadModuleSSR\",\n title: \"Could not import file.\",\n message: (importName) => `Could not import \\`${importName}\\`.`,\n hint: \"This is often caused by a typo in the import path. Please make sure the file exists.\"\n};\nconst InvalidGlob = {\n name: \"InvalidGlob\",\n title: \"Invalid glob pattern.\",\n message: (globPattern) => `Invalid glob pattern: \\`${globPattern}\\`. Glob patterns must start with './', '../' or '/'.`,\n hint: \"See https://docs.astro.build/en/guides/imports/#glob-patterns for more information on supported glob patterns.\"\n};\nconst FailedToFindPageMapSSR = {\n name: \"FailedToFindPageMapSSR\",\n title: \"Astro couldn't find the correct page to render\",\n message: \"Astro couldn't find the correct page to render, probably because it wasn't correctly mapped for SSR usage. This is an internal error. Please file an issue.\"\n};\nconst MissingLocale = {\n name: \"MissingLocaleError\",\n title: \"The provided locale does not exist.\",\n message: (locale) => `The locale/path \\`${locale}\\` does not exist in the configured \\`i18n.locales\\`.`\n};\nconst MissingIndexForInternationalization = {\n name: \"MissingIndexForInternationalizationError\",\n title: \"Index page not found.\",\n message: (defaultLocale) => `Could not find index page. A root index page is required in order to create a redirect to the index URL of the default locale. (\\`/${defaultLocale}\\`)`,\n hint: (src) => `Create an index page (\\`index.astro, index.md, etc.\\`) in \\`${src}\\`.`\n};\nconst IncorrectStrategyForI18n = {\n name: \"IncorrectStrategyForI18n\",\n title: \"You can't use the current function with the current strategy\",\n message: (functionName) => `The function \\`${functionName}\\` can only be used when the \\`i18n.routing.strategy\\` is set to \\`\"manual\"\\`.`\n};\nconst NoPrerenderedRoutesWithDomains = {\n name: \"NoPrerenderedRoutesWithDomains\",\n title: \"Prerendered routes aren't supported when internationalization domains are enabled.\",\n message: (component) => `Static pages aren't yet supported with multiple domains. To enable this feature, you must disable prerendering for the page ${component}`\n};\nconst MissingMiddlewareForInternationalization = {\n name: \"MissingMiddlewareForInternationalization\",\n title: \"Enabled manual internationalization routing without having a middleware.\",\n message: \"Your configuration setting `i18n.routing: 'manual'` requires you to provide your own i18n `middleware` file.\"\n};\nconst CantRenderPage = {\n name: \"CantRenderPage\",\n title: \"Astro can't render the route.\",\n message: \"Astro cannot find any content to render for this route. There is no file or redirect associated with this route.\",\n hint: \"If you expect to find a route here, this may be an Astro bug. Please file an issue/restart the dev server\"\n};\nconst UnhandledRejection = {\n name: \"UnhandledRejection\",\n title: \"Unhandled rejection\",\n message: (stack) => `Astro detected an unhandled rejection. Here's the stack trace:\n${stack}`,\n hint: \"Make sure your promises all have an `await` or a `.catch()` handler.\"\n};\nconst i18nNotEnabled = {\n name: \"i18nNotEnabled\",\n title: \"i18n Not Enabled\",\n message: \"The `astro:i18n` module can not be used without enabling i18n in your Astro config.\",\n hint: \"See https://docs.astro.build/en/guides/internationalization for a guide on setting up i18n.\"\n};\nconst i18nNoLocaleFoundInPath = {\n name: \"i18nNoLocaleFoundInPath\",\n title: \"The path doesn't contain any locale\",\n message: \"You tried to use an i18n utility on a path that doesn't contain any locale. You can use `pathHasLocale` first to determine if the path has a locale.\"\n};\nconst RouteNotFound = {\n name: \"RouteNotFound\",\n title: \"Route not found.\",\n message: `Astro could not find a route that matches the one you requested.`\n};\nconst EnvInvalidVariables = {\n name: \"EnvInvalidVariables\",\n title: \"Invalid Environment Variables\",\n message: (errors) => `The following environment variables defined in \\`experimental.env.schema\\` are invalid:\n\n${errors.map((err) => `- ${err}`).join(\"\\n\")}\n`\n};\nconst EnvUnsupportedGetSecret = {\n name: \"EnvUnsupportedGetSecret\",\n title: \"Unsupported astro:env getSecret\",\n message: \"`astro:env/server` exported function `getSecret` is not supported by your adapter.\"\n};\nconst ServerOnlyModule = {\n name: \"ServerOnlyModule\",\n title: \"Module is only available server-side\",\n message: (name) => `The \"${name}\" module is only available server-side.`\n};\nconst RewriteWithBodyUsed = {\n name: \"RewriteWithBodyUsed\",\n title: \"Cannot use Astro.rewrite after the request body has been read\",\n message: \"Astro.rewrite() cannot be used if the request body has already been read. If you need to read the body, first clone the request.\"\n};\nconst UnknownFilesystemError = {\n name: \"UnknownFilesystemError\",\n title: \"An unknown error occurred while reading or writing files to disk.\",\n hint: \"It can be caused by many things, eg. missing permissions or a file not existing we attempt to read. Check the error cause for more details.\"\n};\nconst UnknownCSSError = {\n name: \"UnknownCSSError\",\n title: \"Unknown CSS Error.\"\n};\nconst CSSSyntaxError = {\n name: \"CSSSyntaxError\",\n title: \"CSS Syntax Error.\"\n};\nconst UnknownMarkdownError = {\n name: \"UnknownMarkdownError\",\n title: \"Unknown Markdown Error.\"\n};\nconst MarkdownFrontmatterParseError = {\n name: \"MarkdownFrontmatterParseError\",\n title: \"Failed to parse Markdown frontmatter.\"\n};\nconst InvalidFrontmatterInjectionError = {\n name: \"InvalidFrontmatterInjectionError\",\n title: \"Invalid frontmatter injection.\",\n message: 'A remark or rehype plugin attempted to inject invalid frontmatter. Ensure \"astro.frontmatter\" is set to a valid JSON object that is not `null` or `undefined`.',\n hint: \"See the frontmatter injection docs https://docs.astro.build/en/guides/markdown-content/#modifying-frontmatter-programmatically for more information.\"\n};\nconst MdxIntegrationMissingError = {\n name: \"MdxIntegrationMissingError\",\n title: \"MDX integration missing.\",\n message: (file) => `Unable to render ${file}. Ensure that the \\`@astrojs/mdx\\` integration is installed.`,\n hint: \"See the MDX integration docs for installation and usage instructions: https://docs.astro.build/en/guides/integrations-guide/mdx/\"\n};\nconst UnknownConfigError = {\n name: \"UnknownConfigError\",\n title: \"Unknown configuration error.\"\n};\nconst ConfigNotFound = {\n name: \"ConfigNotFound\",\n title: \"Specified configuration file not found.\",\n message: (configFile) => `Unable to resolve \\`--config \"${configFile}\"\\`. Does the file exist?`\n};\nconst ConfigLegacyKey = {\n name: \"ConfigLegacyKey\",\n title: \"Legacy configuration detected.\",\n message: (legacyConfigKey) => `Legacy configuration detected: \\`${legacyConfigKey}\\`.`,\n hint: \"Please update your configuration to the new format.\\nSee https://astro.build/config for more information.\"\n};\nconst UnknownCLIError = {\n name: \"UnknownCLIError\",\n title: \"Unknown CLI Error.\"\n};\nconst GenerateContentTypesError = {\n name: \"GenerateContentTypesError\",\n title: \"Failed to generate content types.\",\n message: (errorMessage) => `\\`astro sync\\` command failed to generate content collection types: ${errorMessage}`,\n hint: \"Check your `src/content/config.*` file for typos.\"\n};\nconst UnknownContentCollectionError = {\n name: \"UnknownContentCollectionError\",\n title: \"Unknown Content Collection Error.\"\n};\nconst GetEntryDeprecationError = {\n name: \"GetEntryDeprecationError\",\n title: \"Invalid use of `getDataEntryById` or `getEntryBySlug` function.\",\n message: (collection, method) => `The \\`${method}\\` function is deprecated and cannot be used to query the \"${collection}\" collection. Use \\`getEntry\\` instead.`,\n hint: \"Use the `getEntry` or `getCollection` functions to query content layer collections.\"\n};\nconst InvalidContentEntryFrontmatterError = {\n name: \"InvalidContentEntryFrontmatterError\",\n title: \"Content entry frontmatter does not match schema.\",\n message(collection, entryId, error) {\n return [\n `**${String(collection)} \\u2192 ${String(\n entryId\n )}** frontmatter does not match collection schema.`,\n ...error.errors.map((zodError) => zodError.message)\n ].join(\"\\n\");\n },\n hint: \"See https://docs.astro.build/en/guides/content-collections/ for more information on content schemas.\"\n};\nconst InvalidContentEntrySlugError = {\n name: \"InvalidContentEntrySlugError\",\n title: \"Invalid content entry slug.\",\n message(collection, entryId) {\n return `${String(collection)} \\u2192 ${String(\n entryId\n )} has an invalid slug. \\`slug\\` must be a string.`;\n },\n hint: \"See https://docs.astro.build/en/guides/content-collections/ for more on the `slug` field.\"\n};\nconst ContentSchemaContainsSlugError = {\n name: \"ContentSchemaContainsSlugError\",\n title: \"Content Schema should not contain `slug`.\",\n message: (collectionName) => `A content collection schema should not contain \\`slug\\` since it is reserved for slug generation. Remove this from your ${collectionName} collection schema.`,\n hint: \"See https://docs.astro.build/en/guides/content-collections/ for more on the `slug` field.\"\n};\nconst MixedContentDataCollectionError = {\n name: \"MixedContentDataCollectionError\",\n title: \"Content and data cannot be in same collection.\",\n message: (collectionName) => `**${collectionName}** contains a mix of content and data entries. All entries must be of the same type.`,\n hint: \"Store data entries in a new collection separate from your content collection.\"\n};\nconst ContentCollectionTypeMismatchError = {\n name: \"ContentCollectionTypeMismatchError\",\n title: \"Collection contains entries of a different type.\",\n message: (collection, expectedType, actualType) => `${collection} contains ${expectedType} entries, but is configured as a ${actualType} collection.`\n};\nconst DataCollectionEntryParseError = {\n name: \"DataCollectionEntryParseError\",\n title: \"Data collection entry failed to parse.\",\n message(entryId, errorMessage) {\n return `**${entryId}** failed to parse: ${errorMessage}`;\n },\n hint: \"Ensure your data entry is an object with valid JSON (for `.json` entries) or YAML (for `.yaml` entries).\"\n};\nconst DuplicateContentEntrySlugError = {\n name: \"DuplicateContentEntrySlugError\",\n title: \"Duplicate content entry slug.\",\n message(collection, slug, preExisting, alsoFound) {\n return `**${collection}** contains multiple entries with the same slug: \\`${slug}\\`. Slugs must be unique.\n\nEntries: \n- ${preExisting}\n- ${alsoFound}`;\n }\n};\nconst UnsupportedConfigTransformError = {\n name: \"UnsupportedConfigTransformError\",\n title: \"Unsupported transform in content config.\",\n message: (parseError) => `\\`transform()\\` functions in your content config must return valid JSON, or data types compatible with the devalue library (including Dates, Maps, and Sets).\nFull error: ${parseError}`,\n hint: \"See the devalue library for all supported types: https://github.com/rich-harris/devalue\"\n};\nconst ActionsWithoutServerOutputError = {\n name: \"ActionsWithoutServerOutputError\",\n title: \"Actions must be used with server output.\",\n message: \"Actions enabled without setting a server build output. A server is required to create callable backend functions. To deploy routes to a server, add a server adapter to your astro config.\",\n hint: \"Learn about on-demand rendering: https://docs.astro.build/en/basics/rendering-modes/#on-demand-rendered\"\n};\nconst ActionsReturnedInvalidDataError = {\n name: \"ActionsReturnedInvalidDataError\",\n title: \"Action handler returned invalid data.\",\n message: (error) => `Action handler returned invalid data. Handlers should return serializable data types like objects, arrays, strings, and numbers. Parse error: ${error}`,\n hint: \"See the devalue library for all supported types: https://github.com/rich-harris/devalue\"\n};\nconst ActionNotFoundError = {\n name: \"ActionNotFoundError\",\n title: \"Action not found.\",\n message: (actionName) => `The server received a request for an action named \\`${actionName}\\` but could not find a match. If you renamed an action, check that you've updated your \\`actions/index\\` file and your calling code to match.`,\n hint: \"You can run `astro check` to detect type errors caused by mismatched action names.\"\n};\nconst ActionCalledFromServerError = {\n name: \"ActionCalledFromServerError\",\n title: \"Action unexpected called from the server.\",\n message: \"Action called from a server page or endpoint without using `Astro.callAction()`. This wrapper must be used to call actions from server code.\",\n hint: \"See the `Astro.callAction()` reference for usage examples: https://docs.astro.build/en/reference/api-reference/#astrocallaction\"\n};\nconst UnknownError = { name: \"UnknownError\", title: \"Unknown Error.\" };\nexport {\n ActionCalledFromServerError,\n ActionNotFoundError,\n ActionsReturnedInvalidDataError,\n ActionsWithoutServerOutputError,\n AstroGlobNoMatch,\n AstroGlobUsedOutside,\n AstroResponseHeadersReassigned,\n CSSSyntaxError,\n CantRenderPage,\n ClientAddressNotAvailable,\n ConfigLegacyKey,\n ConfigNotFound,\n ContentCollectionTypeMismatchError,\n ContentSchemaContainsSlugError,\n CouldNotTransformImage,\n DataCollectionEntryParseError,\n DuplicateContentEntrySlugError,\n EndpointDidNotReturnAResponse,\n EnvInvalidVariables,\n EnvUnsupportedGetSecret,\n ExpectedImage,\n ExpectedImageOptions,\n ExpectedNotESMImage,\n FailedToFetchRemoteImageDimensions,\n FailedToFindPageMapSSR,\n FailedToLoadModuleSSR,\n GenerateContentTypesError,\n GetEntryDeprecationError,\n GetStaticPathsExpectedParams,\n GetStaticPathsInvalidRouteParam,\n GetStaticPathsRequired,\n ImageMissingAlt,\n ImageNotFound,\n IncompatibleDescriptorOptions,\n IncorrectStrategyForI18n,\n InvalidComponentArgs,\n InvalidContentEntryFrontmatterError,\n InvalidContentEntrySlugError,\n InvalidDynamicRoute,\n InvalidFrontmatterInjectionError,\n InvalidGetStaticPathParam,\n InvalidGetStaticPathsEntry,\n InvalidGetStaticPathsReturn,\n InvalidGlob,\n InvalidImageService,\n InvalidPrerenderExport,\n LocalImageUsedWrongly,\n LocalsNotAnObject,\n MarkdownFrontmatterParseError,\n MdxIntegrationMissingError,\n MiddlewareCantBeLoaded,\n MiddlewareNoDataOrNextCalled,\n MiddlewareNotAResponse,\n MissingImageDimension,\n MissingIndexForInternationalization,\n MissingLocale,\n MissingMediaQueryDirective,\n MissingMiddlewareForInternationalization,\n MissingSharp,\n MixedContentDataCollectionError,\n NoAdapterInstalled,\n NoClientEntrypoint,\n NoClientOnlyHint,\n NoImageMetadata,\n NoMatchingImport,\n NoMatchingRenderer,\n NoMatchingStaticPathFound,\n NoPrerenderedRoutesWithDomains,\n OnlyResponseCanBeReturned,\n PageNumberParamNotFound,\n PrerenderClientAddressNotAvailable,\n PrerenderDynamicEndpointPathCollide,\n RedirectWithNoLocation,\n ReservedSlotName,\n ResponseSentError,\n RewriteWithBodyUsed,\n RouteNotFound,\n ServerOnlyModule,\n StaticClientAddressNotAvailable,\n UnhandledRejection,\n UnknownCLIError,\n UnknownCSSError,\n UnknownCompilerError,\n UnknownConfigError,\n UnknownContentCollectionError,\n UnknownError,\n UnknownFilesystemError,\n UnknownMarkdownError,\n UnknownViteError,\n UnsupportedConfigTransformError,\n UnsupportedImageConversion,\n UnsupportedImageFormat,\n i18nNoLocaleFoundInPath,\n i18nNotEnabled\n};\n","function positionAt(offset, text) {\n const lineOffsets = getLineOffsets(text);\n offset = Math.max(0, Math.min(text.length, offset));\n let low = 0;\n let high = lineOffsets.length;\n if (high === 0) {\n return {\n line: 0,\n column: offset\n };\n }\n while (low <= high) {\n const mid = Math.floor((low + high) / 2);\n const lineOffset = lineOffsets[mid];\n if (lineOffset === offset) {\n return {\n line: mid,\n column: 0\n };\n } else if (offset > lineOffset) {\n low = mid + 1;\n } else {\n high = mid - 1;\n }\n }\n const line = low - 1;\n return { line, column: offset - lineOffsets[line] };\n}\nfunction getLineOffsets(text) {\n const lineOffsets = [];\n let isLineStart = true;\n for (let i = 0; i < text.length; i++) {\n if (isLineStart) {\n lineOffsets.push(i);\n isLineStart = false;\n }\n const ch = text.charAt(i);\n isLineStart = ch === \"\\r\" || ch === \"\\n\";\n if (ch === \"\\r\" && i + 1 < text.length && text.charAt(i + 1) === \"\\n\") {\n i++;\n }\n }\n if (isLineStart && text.length > 0) {\n lineOffsets.push(text.length);\n }\n return lineOffsets;\n}\nfunction isYAMLException(err) {\n return err instanceof Error && err.name === \"YAMLException\";\n}\nfunction formatYAMLException(e) {\n return {\n name: e.name,\n id: e.mark.name,\n loc: { file: e.mark.name, line: e.mark.line + 1, column: e.mark.column },\n message: e.reason,\n stack: e.stack ?? \"\"\n };\n}\nfunction createSafeError(err) {\n if (err instanceof Error || err?.name && err.message) {\n return err;\n } else {\n const error = new Error(JSON.stringify(err));\n error.hint = `To get as much information as possible from your errors, make sure to throw Error objects instead of \\`${typeof err}\\`. See https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Error for more information.`;\n return error;\n }\n}\nfunction normalizeLF(code) {\n return code.replace(/\\r\\n|\\r(?!\\n)|\\n/g, \"\\n\");\n}\nexport {\n createSafeError,\n formatYAMLException,\n isYAMLException,\n normalizeLF,\n positionAt\n};\n","import { normalizeLF } from \"./utils.js\";\nfunction codeFrame(src, loc) {\n if (!loc || loc.line === void 0 || loc.column === void 0) {\n return \"\";\n }\n const lines = normalizeLF(src).split(\"\\n\").map((ln) => ln.replace(/\\t/g, \" \"));\n const visibleLines = [];\n for (let n = -2; n <= 2; n++) {\n if (lines[loc.line + n]) visibleLines.push(loc.line + n);\n }\n let gutterWidth = 0;\n for (const lineNo of visibleLines) {\n let w = `> ${lineNo}`;\n if (w.length > gutterWidth) gutterWidth = w.length;\n }\n let output = \"\";\n for (const lineNo of visibleLines) {\n const isFocusedLine = lineNo === loc.line - 1;\n output += isFocusedLine ? \"> \" : \" \";\n output += `${lineNo + 1} | ${lines[lineNo]}\n`;\n if (isFocusedLine)\n output += `${Array.from({ length: gutterWidth }).join(\" \")} | ${Array.from({\n length: loc.column\n }).join(\" \")}^\n`;\n }\n return output;\n}\nexport {\n codeFrame\n};\n","import { codeFrame } from \"./printer.js\";\nfunction isAstroError(e) {\n return e instanceof AstroError;\n}\nclass AstroError extends Error {\n loc;\n title;\n hint;\n frame;\n type = \"AstroError\";\n constructor(props, options) {\n const { name, title, message, stack, location, hint, frame } = props;\n super(message, options);\n this.title = title;\n this.name = name;\n if (message) this.message = message;\n this.stack = stack ? stack : this.stack;\n this.loc = location;\n this.hint = hint;\n this.frame = frame;\n }\n setLocation(location) {\n this.loc = location;\n }\n setName(name) {\n this.name = name;\n }\n setMessage(message) {\n this.message = message;\n }\n setHint(hint) {\n this.hint = hint;\n }\n setFrame(source, location) {\n this.frame = codeFrame(source, location);\n }\n static is(err) {\n return err.type === \"AstroError\";\n }\n}\nclass CompilerError extends AstroError {\n type = \"CompilerError\";\n constructor(props, options) {\n super(props, options);\n }\n static is(err) {\n return err.type === \"CompilerError\";\n }\n}\nclass CSSError extends AstroError {\n type = \"CSSError\";\n static is(err) {\n return err.type === \"CSSError\";\n }\n}\nclass MarkdownError extends AstroError {\n type = \"MarkdownError\";\n static is(err) {\n return err.type === \"MarkdownError\";\n }\n}\nclass InternalError extends AstroError {\n type = \"InternalError\";\n static is(err) {\n return err.type === \"InternalError\";\n }\n}\nclass AggregateError extends AstroError {\n type = \"AggregateError\";\n errors;\n // Despite being a collection of errors, AggregateError still needs to have a main error attached to it\n // This is because Vite expects every thrown errors handled during HMR to be, well, Error and have a message\n constructor(props, options) {\n super(props, options);\n this.errors = props.errors;\n }\n static is(err) {\n return err.type === \"AggregateError\";\n }\n}\nconst astroConfigZodErrors = /* @__PURE__ */ new WeakSet();\nfunction isAstroConfigZodError(error) {\n return astroConfigZodErrors.has(error);\n}\nfunction trackAstroConfigZodError(error) {\n astroConfigZodErrors.add(error);\n}\nclass AstroUserError extends Error {\n type = \"AstroUserError\";\n /**\n * A message that explains to the user how they can fix the error.\n */\n hint;\n name = \"AstroUserError\";\n constructor(message, hint) {\n super();\n this.message = message;\n this.hint = hint;\n }\n static is(err) {\n return err.type === \"AstroUserError\";\n }\n}\nexport {\n AggregateError,\n AstroError,\n AstroUserError,\n CSSError,\n CompilerError,\n InternalError,\n MarkdownError,\n isAstroConfigZodError,\n isAstroError,\n trackAstroConfigZodError\n};\n","import { AstroError, AstroErrorData } from \"../../core/errors/index.js\";\nfunction validateArgs(args) {\n if (args.length !== 3) return false;\n if (!args[0] || typeof args[0] !== \"object\") return false;\n return true;\n}\nfunction baseCreateComponent(cb, moduleId, propagation) {\n const name = moduleId?.split(\"/\").pop()?.replace(\".astro\", \"\") ?? \"\";\n const fn = (...args) => {\n if (!validateArgs(args)) {\n throw new AstroError({\n ...AstroErrorData.InvalidComponentArgs,\n message: AstroErrorData.InvalidComponentArgs.message(name)\n });\n }\n return cb(...args);\n };\n Object.defineProperty(fn, \"name\", { value: name, writable: false });\n fn.isAstroComponentFactory = true;\n fn.moduleId = moduleId;\n fn.propagation = propagation;\n return fn;\n}\nfunction createComponentWithOptions(opts) {\n const cb = baseCreateComponent(opts.factory, opts.moduleId, opts.propagation);\n return cb;\n}\nfunction createComponent(arg1, moduleId, propagation) {\n if (typeof arg1 === \"function\") {\n return baseCreateComponent(arg1, moduleId, propagation);\n } else {\n return createComponentWithOptions(arg1);\n }\n}\nexport {\n createComponent\n};\n","const ASTRO_VERSION = \"4.15.2\";\nconst REROUTE_DIRECTIVE_HEADER = \"X-Astro-Reroute\";\nconst REWRITE_DIRECTIVE_HEADER_KEY = \"X-Astro-Rewrite\";\nconst REWRITE_DIRECTIVE_HEADER_VALUE = \"yes\";\nconst ROUTE_TYPE_HEADER = \"X-Astro-Route-Type\";\nconst DEFAULT_404_COMPONENT = \"astro-default-404.astro\";\nconst DEFAULT_500_COMPONENT = \"astro-default-500.astro\";\nconst REDIRECT_STATUS_CODES = [301, 302, 303, 307, 308, 300, 304];\nconst REROUTABLE_STATUS_CODES = [404, 500];\nconst clientAddressSymbol = Symbol.for(\"astro.clientAddress\");\nconst clientLocalsSymbol = Symbol.for(\"astro.locals\");\nconst responseSentSymbol = Symbol.for(\"astro.responseSent\");\nconst SUPPORTED_MARKDOWN_FILE_EXTENSIONS = [\n \".markdown\",\n \".mdown\",\n \".mkdn\",\n \".mkd\",\n \".mdwn\",\n \".md\"\n];\nconst MIDDLEWARE_PATH_SEGMENT_NAME = \"middleware\";\nexport {\n ASTRO_VERSION,\n DEFAULT_404_COMPONENT,\n DEFAULT_500_COMPONENT,\n MIDDLEWARE_PATH_SEGMENT_NAME,\n REDIRECT_STATUS_CODES,\n REROUTABLE_STATUS_CODES,\n REROUTE_DIRECTIVE_HEADER,\n REWRITE_DIRECTIVE_HEADER_KEY,\n REWRITE_DIRECTIVE_HEADER_VALUE,\n ROUTE_TYPE_HEADER,\n SUPPORTED_MARKDOWN_FILE_EXTENSIONS,\n clientAddressSymbol,\n clientLocalsSymbol,\n responseSentSymbol\n};\n","import { ASTRO_VERSION } from \"../../core/constants.js\";\nimport { AstroError, AstroErrorData } from \"../../core/errors/index.js\";\nfunction createAstroGlobFn() {\n const globHandler = (importMetaGlobResult) => {\n if (typeof importMetaGlobResult === \"string\") {\n throw new AstroError({\n ...AstroErrorData.AstroGlobUsedOutside,\n message: AstroErrorData.AstroGlobUsedOutside.message(JSON.stringify(importMetaGlobResult))\n });\n }\n let allEntries = [...Object.values(importMetaGlobResult)];\n if (allEntries.length === 0) {\n throw new AstroError({\n ...AstroErrorData.AstroGlobNoMatch,\n message: AstroErrorData.AstroGlobNoMatch.message(JSON.stringify(importMetaGlobResult))\n });\n }\n return Promise.all(allEntries.map((fn) => fn()));\n };\n return globHandler;\n}\nfunction createAstro(site) {\n return {\n // TODO: this is no longer necessary for `Astro.site`\n // but it somehow allows working around caching issues in content collections for some tests\n site: site ? new URL(site) : void 0,\n generator: `Astro v${ASTRO_VERSION}`,\n glob: createAstroGlobFn()\n };\n}\nexport {\n createAstro\n};\n","function isPromise(value) {\n return !!value && typeof value === \"object\" && \"then\" in value && typeof value.then === \"function\";\n}\nasync function* streamAsyncIterator(stream) {\n const reader = stream.getReader();\n try {\n while (true) {\n const { done, value } = await reader.read();\n if (done) return;\n yield value;\n }\n } finally {\n reader.releaseLock();\n }\n}\nexport {\n isPromise,\n streamAsyncIterator\n};\n","import { escape } from \"html-escaper\";\nimport { streamAsyncIterator } from \"./util.js\";\nconst escapeHTML = escape;\nclass HTMLBytes extends Uint8Array {\n}\nObject.defineProperty(HTMLBytes.prototype, Symbol.toStringTag, {\n get() {\n return \"HTMLBytes\";\n }\n});\nclass HTMLString extends String {\n get [Symbol.toStringTag]() {\n return \"HTMLString\";\n }\n}\nconst markHTMLString = (value) => {\n if (value instanceof HTMLString) {\n return value;\n }\n if (typeof value === \"string\") {\n return new HTMLString(value);\n }\n return value;\n};\nfunction isHTMLString(value) {\n return Object.prototype.toString.call(value) === \"[object HTMLString]\";\n}\nfunction markHTMLBytes(bytes) {\n return new HTMLBytes(bytes);\n}\nfunction isHTMLBytes(value) {\n return Object.prototype.toString.call(value) === \"[object HTMLBytes]\";\n}\nfunction hasGetReader(obj) {\n return typeof obj.getReader === \"function\";\n}\nasync function* unescapeChunksAsync(iterable) {\n if (hasGetReader(iterable)) {\n for await (const chunk of streamAsyncIterator(iterable)) {\n yield unescapeHTML(chunk);\n }\n } else {\n for await (const chunk of iterable) {\n yield unescapeHTML(chunk);\n }\n }\n}\nfunction* unescapeChunks(iterable) {\n for (const chunk of iterable) {\n yield unescapeHTML(chunk);\n }\n}\nfunction unescapeHTML(str) {\n if (!!str && typeof str === \"object\") {\n if (str instanceof Uint8Array) {\n return markHTMLBytes(str);\n } else if (str instanceof Response && str.body) {\n const body = str.body;\n return unescapeChunksAsync(body);\n } else if (typeof str.then === \"function\") {\n return Promise.resolve(str).then((value) => {\n return unescapeHTML(value);\n });\n } else if (str[Symbol.for(\"astro:slot-string\")]) {\n return str;\n } else if (Symbol.iterator in str) {\n return unescapeChunks(str);\n } else if (Symbol.asyncIterator in str || hasGetReader(str)) {\n return unescapeChunksAsync(str);\n }\n }\n return markHTMLString(str);\n}\nexport {\n HTMLBytes,\n HTMLString,\n escapeHTML,\n isHTMLBytes,\n isHTMLString,\n markHTMLString,\n unescapeHTML\n};\n","const RenderInstructionSymbol = Symbol.for(\"astro:render\");\nfunction createRenderInstruction(instruction) {\n return Object.defineProperty(instruction, RenderInstructionSymbol, {\n value: true\n });\n}\nfunction isRenderInstruction(chunk) {\n return chunk && typeof chunk === \"object\" && chunk[RenderInstructionSymbol];\n}\nexport {\n createRenderInstruction,\n isRenderInstruction\n};\n","const PROP_TYPE = {\n Value: 0,\n JSON: 1,\n // Actually means Array\n RegExp: 2,\n Date: 3,\n Map: 4,\n Set: 5,\n BigInt: 6,\n URL: 7,\n Uint8Array: 8,\n Uint16Array: 9,\n Uint32Array: 10\n};\nfunction serializeArray(value, metadata = {}, parents = /* @__PURE__ */ new WeakSet()) {\n if (parents.has(value)) {\n throw new Error(`Cyclic reference detected while serializing props for <${metadata.displayName} client:${metadata.hydrate}>!\n\nCyclic references cannot be safely serialized for client-side usage. Please remove the cyclic reference.`);\n }\n parents.add(value);\n const serialized = value.map((v) => {\n return convertToSerializedForm(v, metadata, parents);\n });\n parents.delete(value);\n return serialized;\n}\nfunction serializeObject(value, metadata = {}, parents = /* @__PURE__ */ new WeakSet()) {\n if (parents.has(value)) {\n throw new Error(`Cyclic reference detected while serializing props for <${metadata.displayName} client:${metadata.hydrate}>!\n\nCyclic references cannot be safely serialized for client-side usage. Please remove the cyclic reference.`);\n }\n parents.add(value);\n const serialized = Object.fromEntries(\n Object.entries(value).map(([k, v]) => {\n return [k, convertToSerializedForm(v, metadata, parents)];\n })\n );\n parents.delete(value);\n return serialized;\n}\nfunction convertToSerializedForm(value, metadata = {}, parents = /* @__PURE__ */ new WeakSet()) {\n const tag = Object.prototype.toString.call(value);\n switch (tag) {\n case \"[object Date]\": {\n return [PROP_TYPE.Date, value.toISOString()];\n }\n case \"[object RegExp]\": {\n return [PROP_TYPE.RegExp, value.source];\n }\n case \"[object Map]\": {\n return [PROP_TYPE.Map, serializeArray(Array.from(value), metadata, parents)];\n }\n case \"[object Set]\": {\n return [PROP_TYPE.Set, serializeArray(Array.from(value), metadata, parents)];\n }\n case \"[object BigInt]\": {\n return [PROP_TYPE.BigInt, value.toString()];\n }\n case \"[object URL]\": {\n return [PROP_TYPE.URL, value.toString()];\n }\n case \"[object Array]\": {\n return [PROP_TYPE.JSON, serializeArray(value, metadata, parents)];\n }\n case \"[object Uint8Array]\": {\n return [PROP_TYPE.Uint8Array, Array.from(value)];\n }\n case \"[object Uint16Array]\": {\n return [PROP_TYPE.Uint16Array, Array.from(value)];\n }\n case \"[object Uint32Array]\": {\n return [PROP_TYPE.Uint32Array, Array.from(value)];\n }\n default: {\n if (value !== null && typeof value === \"object\") {\n return [PROP_TYPE.Value, serializeObject(value, metadata, parents)];\n } else if (value === void 0) {\n return [PROP_TYPE.Value];\n } else {\n return [PROP_TYPE.Value, value];\n }\n }\n }\n}\nfunction serializeProps(props, metadata) {\n const serialized = JSON.stringify(serializeObject(props, metadata));\n return serialized;\n}\nexport {\n serializeProps\n};\n","import { AstroError, AstroErrorData } from \"../../core/errors/index.js\";\nimport { escapeHTML } from \"./escape.js\";\nimport { serializeProps } from \"./serialize.js\";\nconst transitionDirectivesToCopyOnIsland = Object.freeze([\n \"data-astro-transition-scope\",\n \"data-astro-transition-persist\",\n \"data-astro-transition-persist-props\"\n]);\nfunction extractDirectives(inputProps, clientDirectives) {\n let extracted = {\n isPage: false,\n hydration: null,\n props: {},\n propsWithoutTransitionAttributes: {}\n };\n for (const [key, value] of Object.entries(inputProps)) {\n if (key.startsWith(\"server:\")) {\n if (key === \"server:root\") {\n extracted.isPage = true;\n }\n }\n if (key.startsWith(\"client:\")) {\n if (!extracted.hydration) {\n extracted.hydration = {\n directive: \"\",\n value: \"\",\n componentUrl: \"\",\n componentExport: { value: \"\" }\n };\n }\n switch (key) {\n case \"client:component-path\": {\n extracted.hydration.componentUrl = value;\n break;\n }\n case \"client:component-export\": {\n extracted.hydration.componentExport.value = value;\n break;\n }\n case \"client:component-hydration\": {\n break;\n }\n case \"client:display-name\": {\n break;\n }\n default: {\n extracted.hydration.directive = key.split(\":\")[1];\n extracted.hydration.value = value;\n if (!clientDirectives.has(extracted.hydration.directive)) {\n const hydrationMethods = Array.from(clientDirectives.keys()).map((d) => `client:${d}`).join(\", \");\n throw new Error(\n `Error: invalid hydration directive \"${key}\". Supported hydration methods: ${hydrationMethods}`\n );\n }\n if (extracted.hydration.directive === \"media\" && typeof extracted.hydration.value !== \"string\") {\n throw new AstroError(AstroErrorData.MissingMediaQueryDirective);\n }\n break;\n }\n }\n } else {\n extracted.props[key] = value;\n if (!transitionDirectivesToCopyOnIsland.includes(key)) {\n extracted.propsWithoutTransitionAttributes[key] = value;\n }\n }\n }\n for (const sym of Object.getOwnPropertySymbols(inputProps)) {\n extracted.props[sym] = inputProps[sym];\n extracted.propsWithoutTransitionAttributes[sym] = inputProps[sym];\n }\n return extracted;\n}\nasync function generateHydrateScript(scriptOptions, metadata) {\n const { renderer, result, astroId, props, attrs } = scriptOptions;\n const { hydrate, componentUrl, componentExport } = metadata;\n if (!componentExport.value) {\n throw new AstroError({\n ...AstroErrorData.NoMatchingImport,\n message: AstroErrorData.NoMatchingImport.message(metadata.displayName)\n });\n }\n const island = {\n children: \"\",\n props: {\n // This is for HMR, probably can avoid it in prod\n uid: astroId\n }\n };\n if (attrs) {\n for (const [key, value] of Object.entries(attrs)) {\n island.props[key] = escapeHTML(value);\n }\n }\n island.props[\"component-url\"] = await result.resolve(decodeURI(componentUrl));\n if (renderer.clientEntrypoint) {\n island.props[\"component-export\"] = componentExport.value;\n island.props[\"renderer-url\"] = await result.resolve(decodeURI(renderer.clientEntrypoint));\n island.props[\"props\"] = escapeHTML(serializeProps(props, metadata));\n }\n island.props[\"ssr\"] = \"\";\n island.props[\"client\"] = hydrate;\n let beforeHydrationUrl = await result.resolve(\"astro:scripts/before-hydration.js\");\n if (beforeHydrationUrl.length) {\n island.props[\"before-hydration-url\"] = beforeHydrationUrl;\n }\n island.props[\"opts\"] = escapeHTML(\n JSON.stringify({\n name: metadata.displayName,\n value: metadata.hydrateArgs || \"\"\n })\n );\n transitionDirectivesToCopyOnIsland.forEach((name) => {\n if (typeof props[name] !== \"undefined\") {\n island.props[name] = props[name];\n }\n });\n return island;\n}\nexport {\n extractDirectives,\n generateHydrateScript\n};\n","/**\n * shortdash - https://github.com/bibig/node-shorthash\n *\n * @license\n *\n * (The MIT License)\n *\n * Copyright (c) 2013 Bibig \n *\n * Permission is hereby granted, free of charge, to any person\n * obtaining a copy of this software and associated documentation\n * files (the \"Software\"), to deal in the Software without\n * restriction, including without limitation the rights to use,\n * copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the\n * Software is furnished to do so, subject to the following\n * conditions:\n *\n * The above copyright notice and this permission notice shall be\n * included in all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\n * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES\n * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\n * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT\n * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,\n * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING\n * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR\n * OTHER DEALINGS IN THE SOFTWARE.\n */\nconst dictionary = \"0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXY\";\nconst binary = dictionary.length;\nfunction bitwise(str) {\n let hash = 0;\n if (str.length === 0) return hash;\n for (let i = 0; i < str.length; i++) {\n const ch = str.charCodeAt(i);\n hash = (hash << 5) - hash + ch;\n hash = hash & hash;\n }\n return hash;\n}\nfunction shorthash(text) {\n let num;\n let result = \"\";\n let integer = bitwise(text);\n const sign = integer < 0 ? \"Z\" : \"\";\n integer = Math.abs(integer);\n while (integer >= binary) {\n num = integer % binary;\n integer = Math.floor(integer / binary);\n result = dictionary[num] + result;\n }\n if (integer > 0) {\n result = dictionary[integer] + result;\n }\n return sign + result;\n}\nexport {\n shorthash\n};\n","function isAstroComponentFactory(obj) {\n return obj == null ? false : obj.isAstroComponentFactory === true;\n}\nfunction isAPropagatingComponent(result, factory) {\n let hint = factory.propagation || \"none\";\n if (factory.moduleId && result.componentMetadata.has(factory.moduleId) && hint === \"none\") {\n hint = result.componentMetadata.get(factory.moduleId).propagation;\n }\n return hint === \"in-tree\" || hint === \"self\";\n}\nexport {\n isAPropagatingComponent,\n isAstroComponentFactory\n};\n","const headAndContentSym = Symbol.for(\"astro.headAndContent\");\nfunction isHeadAndContent(obj) {\n return typeof obj === \"object\" && !!obj[headAndContentSym];\n}\nfunction createHeadAndContent(head, content) {\n return {\n [headAndContentSym]: true,\n head,\n content\n };\n}\nexport {\n createHeadAndContent,\n isHeadAndContent\n};\n","var astro_island_prebuilt_dev_default = `(()=>{var A=Object.defineProperty;var g=(i,o,a)=>o in i?A(i,o,{enumerable:!0,configurable:!0,writable:!0,value:a}):i[o]=a;var l=(i,o,a)=>g(i,typeof o!=\"symbol\"?o+\"\":o,a);{let i={0:t=>y(t),1:t=>a(t),2:t=>new RegExp(t),3:t=>new Date(t),4:t=>new Map(a(t)),5:t=>new Set(a(t)),6:t=>BigInt(t),7:t=>new URL(t),8:t=>new Uint8Array(t),9:t=>new Uint16Array(t),10:t=>new Uint32Array(t)},o=t=>{let[h,e]=t;return h in i?i[h](e):void 0},a=t=>t.map(o),y=t=>typeof t!=\"object\"||t===null?t:Object.fromEntries(Object.entries(t).map(([h,e])=>[h,o(e)]));class f extends HTMLElement{constructor(){super(...arguments);l(this,\"Component\");l(this,\"hydrator\");l(this,\"hydrate\",async()=>{var b;if(!this.hydrator||!this.isConnected)return;let e=(b=this.parentElement)==null?void 0:b.closest(\"astro-island[ssr]\");if(e){e.addEventListener(\"astro:hydrate\",this.hydrate,{once:!0});return}let c=this.querySelectorAll(\"astro-slot\"),n={},p=this.querySelectorAll(\"template[data-astro-template]\");for(let r of p){let s=r.closest(this.tagName);s!=null&&s.isSameNode(this)&&(n[r.getAttribute(\"data-astro-template\")||\"default\"]=r.innerHTML,r.remove())}for(let r of c){let s=r.closest(this.tagName);s!=null&&s.isSameNode(this)&&(n[r.getAttribute(\"name\")||\"default\"]=r.innerHTML)}let u;try{u=this.hasAttribute(\"props\")?y(JSON.parse(this.getAttribute(\"props\"))):{}}catch(r){let s=this.getAttribute(\"component-url\")||\"\",v=this.getAttribute(\"component-export\");throw v&&(s+=\\` (export \\${v})\\`),console.error(\\`[hydrate] Error parsing props for component \\${s}\\`,this.getAttribute(\"props\"),r),r}let d,m=this.hydrator(this);d=performance.now(),await m(this.Component,u,n,{client:this.getAttribute(\"client\")}),d&&this.setAttribute(\"client-render-time\",(performance.now()-d).toString()),this.removeAttribute(\"ssr\"),this.dispatchEvent(new CustomEvent(\"astro:hydrate\"))});l(this,\"unmount\",()=>{this.isConnected||this.dispatchEvent(new CustomEvent(\"astro:unmount\"))})}disconnectedCallback(){document.removeEventListener(\"astro:after-swap\",this.unmount),document.addEventListener(\"astro:after-swap\",this.unmount,{once:!0})}connectedCallback(){if(!this.hasAttribute(\"await-children\")||document.readyState===\"interactive\"||document.readyState===\"complete\")this.childrenConnectedCallback();else{let e=()=>{document.removeEventListener(\"DOMContentLoaded\",e),c.disconnect(),this.childrenConnectedCallback()},c=new MutationObserver(()=>{var n;((n=this.lastChild)==null?void 0:n.nodeType)===Node.COMMENT_NODE&&this.lastChild.nodeValue===\"astro:end\"&&(this.lastChild.remove(),e())});c.observe(this,{childList:!0}),document.addEventListener(\"DOMContentLoaded\",e)}}async childrenConnectedCallback(){let e=this.getAttribute(\"before-hydration-url\");e&&await import(e),this.start()}async start(){let e=JSON.parse(this.getAttribute(\"opts\")),c=this.getAttribute(\"client\");if(Astro[c]===void 0){window.addEventListener(\\`astro:\\${c}\\`,()=>this.start(),{once:!0});return}try{await Astro[c](async()=>{let n=this.getAttribute(\"renderer-url\"),[p,{default:u}]=await Promise.all([import(this.getAttribute(\"component-url\")),n?import(n):()=>()=>{}]),d=this.getAttribute(\"component-export\")||\"default\";if(!d.includes(\".\"))this.Component=p[d];else{this.Component=p;for(let m of d.split(\".\"))this.Component=this.Component[m]}return this.hydrator=u,this.hydrate},e,this)}catch(n){console.error(\\`[astro-island] Error hydrating \\${this.getAttribute(\"component-url\")}\\`,n)}}attributeChangedCallback(){this.hydrate()}}l(f,\"observedAttributes\",[\"props\"]),customElements.get(\"astro-island\")||customElements.define(\"astro-island\",f)}})();`;\nexport {\n astro_island_prebuilt_dev_default as default\n};\n","var astro_island_prebuilt_default = `(()=>{var A=Object.defineProperty;var g=(i,o,a)=>o in i?A(i,o,{enumerable:!0,configurable:!0,writable:!0,value:a}):i[o]=a;var d=(i,o,a)=>g(i,typeof o!=\"symbol\"?o+\"\":o,a);{let i={0:t=>m(t),1:t=>a(t),2:t=>new RegExp(t),3:t=>new Date(t),4:t=>new Map(a(t)),5:t=>new Set(a(t)),6:t=>BigInt(t),7:t=>new URL(t),8:t=>new Uint8Array(t),9:t=>new Uint16Array(t),10:t=>new Uint32Array(t)},o=t=>{let[l,e]=t;return l in i?i[l](e):void 0},a=t=>t.map(o),m=t=>typeof t!=\"object\"||t===null?t:Object.fromEntries(Object.entries(t).map(([l,e])=>[l,o(e)]));class y extends HTMLElement{constructor(){super(...arguments);d(this,\"Component\");d(this,\"hydrator\");d(this,\"hydrate\",async()=>{var b;if(!this.hydrator||!this.isConnected)return;let e=(b=this.parentElement)==null?void 0:b.closest(\"astro-island[ssr]\");if(e){e.addEventListener(\"astro:hydrate\",this.hydrate,{once:!0});return}let c=this.querySelectorAll(\"astro-slot\"),n={},h=this.querySelectorAll(\"template[data-astro-template]\");for(let r of h){let s=r.closest(this.tagName);s!=null&&s.isSameNode(this)&&(n[r.getAttribute(\"data-astro-template\")||\"default\"]=r.innerHTML,r.remove())}for(let r of c){let s=r.closest(this.tagName);s!=null&&s.isSameNode(this)&&(n[r.getAttribute(\"name\")||\"default\"]=r.innerHTML)}let p;try{p=this.hasAttribute(\"props\")?m(JSON.parse(this.getAttribute(\"props\"))):{}}catch(r){let s=this.getAttribute(\"component-url\")||\"\",v=this.getAttribute(\"component-export\");throw v&&(s+=\\` (export \\${v})\\`),console.error(\\`[hydrate] Error parsing props for component \\${s}\\`,this.getAttribute(\"props\"),r),r}let u;await this.hydrator(this)(this.Component,p,n,{client:this.getAttribute(\"client\")}),this.removeAttribute(\"ssr\"),this.dispatchEvent(new CustomEvent(\"astro:hydrate\"))});d(this,\"unmount\",()=>{this.isConnected||this.dispatchEvent(new CustomEvent(\"astro:unmount\"))})}disconnectedCallback(){document.removeEventListener(\"astro:after-swap\",this.unmount),document.addEventListener(\"astro:after-swap\",this.unmount,{once:!0})}connectedCallback(){if(!this.hasAttribute(\"await-children\")||document.readyState===\"interactive\"||document.readyState===\"complete\")this.childrenConnectedCallback();else{let e=()=>{document.removeEventListener(\"DOMContentLoaded\",e),c.disconnect(),this.childrenConnectedCallback()},c=new MutationObserver(()=>{var n;((n=this.lastChild)==null?void 0:n.nodeType)===Node.COMMENT_NODE&&this.lastChild.nodeValue===\"astro:end\"&&(this.lastChild.remove(),e())});c.observe(this,{childList:!0}),document.addEventListener(\"DOMContentLoaded\",e)}}async childrenConnectedCallback(){let e=this.getAttribute(\"before-hydration-url\");e&&await import(e),this.start()}async start(){let e=JSON.parse(this.getAttribute(\"opts\")),c=this.getAttribute(\"client\");if(Astro[c]===void 0){window.addEventListener(\\`astro:\\${c}\\`,()=>this.start(),{once:!0});return}try{await Astro[c](async()=>{let n=this.getAttribute(\"renderer-url\"),[h,{default:p}]=await Promise.all([import(this.getAttribute(\"component-url\")),n?import(n):()=>()=>{}]),u=this.getAttribute(\"component-export\")||\"default\";if(!u.includes(\".\"))this.Component=h[u];else{this.Component=h;for(let f of u.split(\".\"))this.Component=this.Component[f]}return this.hydrator=p,this.hydrate},e,this)}catch(n){console.error(\\`[astro-island] Error hydrating \\${this.getAttribute(\"component-url\")}\\`,n)}}attributeChangedCallback(){this.hydrate()}}d(y,\"observedAttributes\",[\"props\"]),customElements.get(\"astro-island\")||customElements.define(\"astro-island\",y)}})();`;\nexport {\n astro_island_prebuilt_default as default\n};\n","import islandScriptDev from \"./astro-island.prebuilt-dev.js\";\nimport islandScript from \"./astro-island.prebuilt.js\";\nconst ISLAND_STYLES = ``;\nfunction determineIfNeedsHydrationScript(result) {\n if (result._metadata.hasHydrationScript) {\n return false;\n }\n return result._metadata.hasHydrationScript = true;\n}\nfunction determinesIfNeedsDirectiveScript(result, directive) {\n if (result._metadata.hasDirectives.has(directive)) {\n return false;\n }\n result._metadata.hasDirectives.add(directive);\n return true;\n}\nfunction getDirectiveScriptText(result, directive) {\n const clientDirectives = result.clientDirectives;\n const clientDirective = clientDirectives.get(directive);\n if (!clientDirective) {\n throw new Error(`Unknown directive: ${directive}`);\n }\n return clientDirective;\n}\nfunction getPrescripts(result, type, directive) {\n switch (type) {\n case \"both\":\n return `${ISLAND_STYLES}`;\n case \"directive\":\n return ``;\n case null:\n break;\n }\n return \"\";\n}\nexport {\n determineIfNeedsHydrationScript,\n determinesIfNeedsDirectiveScript,\n getPrescripts\n};\n","import { clsx } from \"clsx\";\nimport { HTMLString, markHTMLString } from \"../escape.js\";\nconst voidElementNames = /^(area|base|br|col|command|embed|hr|img|input|keygen|link|meta|param|source|track|wbr)$/i;\nconst htmlBooleanAttributes = /^(?:allowfullscreen|async|autofocus|autoplay|controls|default|defer|disabled|disablepictureinpicture|disableremoteplayback|formnovalidate|hidden|loop|nomodule|novalidate|open|playsinline|readonly|required|reversed|scoped|seamless|itemscope)$/i;\nconst htmlEnumAttributes = /^(?:contenteditable|draggable|spellcheck|value)$/i;\nconst svgEnumAttributes = /^(?:autoReverse|externalResourcesRequired|focusable|preserveAlpha)$/i;\nconst AMPERSAND_REGEX = /&/g;\nconst DOUBLE_QUOTE_REGEX = /\"/g;\nconst STATIC_DIRECTIVES = /* @__PURE__ */ new Set([\"set:html\", \"set:text\"]);\nconst toIdent = (k) => k.trim().replace(/(?!^)\\b\\w|\\s+|\\W+/g, (match, index) => {\n if (/\\W/.test(match)) return \"\";\n return index === 0 ? match : match.toUpperCase();\n});\nconst toAttributeString = (value, shouldEscape = true) => shouldEscape ? String(value).replace(AMPERSAND_REGEX, \"&\").replace(DOUBLE_QUOTE_REGEX, \""\") : value;\nconst kebab = (k) => k.toLowerCase() === k ? k : k.replace(/[A-Z]/g, (match) => `-${match.toLowerCase()}`);\nconst toStyleString = (obj) => Object.entries(obj).filter(([_, v]) => typeof v === \"string\" && v.trim() || typeof v === \"number\").map(([k, v]) => {\n if (k[0] !== \"-\" && k[1] !== \"-\") return `${kebab(k)}:${v}`;\n return `${k}:${v}`;\n}).join(\";\");\nfunction defineScriptVars(vars) {\n let output = \"\";\n for (const [key, value] of Object.entries(vars)) {\n output += `const ${toIdent(key)} = ${JSON.stringify(value)?.replace(\n /<\\/script>/g,\n \"\\\\x3C/script>\"\n )};\n`;\n }\n return markHTMLString(output);\n}\nfunction formatList(values) {\n if (values.length === 1) {\n return values[0];\n }\n return `${values.slice(0, -1).join(\", \")} or ${values[values.length - 1]}`;\n}\nfunction addAttribute(value, key, shouldEscape = true) {\n if (value == null) {\n return \"\";\n }\n if (value === false) {\n if (htmlEnumAttributes.test(key) || svgEnumAttributes.test(key)) {\n return markHTMLString(` ${key}=\"false\"`);\n }\n return \"\";\n }\n if (STATIC_DIRECTIVES.has(key)) {\n console.warn(`[astro] The \"${key}\" directive cannot be applied dynamically at runtime. It will not be rendered as an attribute.\n\nMake sure to use the static attribute syntax (\\`${key}={value}\\`) instead of the dynamic spread syntax (\\`{...{ \"${key}\": value }}\\`).`);\n return \"\";\n }\n if (key === \"class:list\") {\n const listValue = toAttributeString(clsx(value), shouldEscape);\n if (listValue === \"\") {\n return \"\";\n }\n return markHTMLString(` ${key.slice(0, -5)}=\"${listValue}\"`);\n }\n if (key === \"style\" && !(value instanceof HTMLString)) {\n if (Array.isArray(value) && value.length === 2) {\n return markHTMLString(\n ` ${key}=\"${toAttributeString(`${toStyleString(value[0])};${value[1]}`, shouldEscape)}\"`\n );\n }\n if (typeof value === \"object\") {\n return markHTMLString(` ${key}=\"${toAttributeString(toStyleString(value), shouldEscape)}\"`);\n }\n }\n if (key === \"className\") {\n return markHTMLString(` class=\"${toAttributeString(value, shouldEscape)}\"`);\n }\n if (typeof value === \"string\" && value.includes(\"&\") && isHttpUrl(value)) {\n return markHTMLString(` ${key}=\"${toAttributeString(value, false)}\"`);\n }\n if (value === true && (key.startsWith(\"data-\") || htmlBooleanAttributes.test(key))) {\n return markHTMLString(` ${key}`);\n } else {\n return markHTMLString(` ${key}=\"${toAttributeString(value, shouldEscape)}\"`);\n }\n}\nfunction internalSpreadAttributes(values, shouldEscape = true) {\n let output = \"\";\n for (const [key, value] of Object.entries(values)) {\n output += addAttribute(value, key, shouldEscape);\n }\n return markHTMLString(output);\n}\nfunction renderElement(name, { props: _props, children = \"\" }, shouldEscape = true) {\n const { lang: _, \"data-astro-id\": astroId, \"define:vars\": defineVars, ...props } = _props;\n if (defineVars) {\n if (name === \"style\") {\n delete props[\"is:global\"];\n delete props[\"is:scoped\"];\n }\n if (name === \"script\") {\n delete props.hoist;\n children = defineScriptVars(defineVars) + \"\\n\" + children;\n }\n }\n if ((children == null || children == \"\") && voidElementNames.test(name)) {\n return `<${name}${internalSpreadAttributes(props, shouldEscape)}>`;\n }\n return `<${name}${internalSpreadAttributes(props, shouldEscape)}>${children}`;\n}\nconst noop = () => {\n};\nclass BufferedRenderer {\n chunks = [];\n renderPromise;\n destination;\n constructor(bufferRenderFunction) {\n this.renderPromise = bufferRenderFunction(this);\n Promise.resolve(this.renderPromise).catch(noop);\n }\n write(chunk) {\n if (this.destination) {\n this.destination.write(chunk);\n } else {\n this.chunks.push(chunk);\n }\n }\n async renderToFinalDestination(destination) {\n for (const chunk of this.chunks) {\n destination.write(chunk);\n }\n this.destination = destination;\n await this.renderPromise;\n }\n}\nfunction renderToBufferDestination(bufferRenderFunction) {\n const renderer = new BufferedRenderer(bufferRenderFunction);\n return renderer;\n}\nconst isNode = typeof process !== \"undefined\" && Object.prototype.toString.call(process) === \"[object process]\";\nconst isDeno = typeof Deno !== \"undefined\";\nfunction promiseWithResolvers() {\n let resolve, reject;\n const promise = new Promise((_resolve, _reject) => {\n resolve = _resolve;\n reject = _reject;\n });\n return {\n promise,\n resolve,\n reject\n };\n}\nconst VALID_PROTOCOLS = [\"http:\", \"https:\"];\nfunction isHttpUrl(url) {\n try {\n const parsedUrl = new URL(url);\n return VALID_PROTOCOLS.includes(parsedUrl.protocol);\n } catch {\n return false;\n }\n}\nexport {\n addAttribute,\n defineScriptVars,\n formatList,\n internalSpreadAttributes,\n isDeno,\n isNode,\n promiseWithResolvers,\n renderElement,\n renderToBufferDestination,\n toAttributeString,\n voidElementNames\n};\n","import { markHTMLString } from \"../escape.js\";\nimport { createRenderInstruction } from \"./instruction.js\";\nimport { renderElement } from \"./util.js\";\nconst uniqueElements = (item, index, all) => {\n const props = JSON.stringify(item.props);\n const children = item.children;\n return index === all.findIndex((i) => JSON.stringify(i.props) === props && i.children == children);\n};\nfunction renderAllHeadContent(result) {\n result._metadata.hasRenderedHead = true;\n const styles = Array.from(result.styles).filter(uniqueElements).map(\n (style) => style.props.rel === \"stylesheet\" ? renderElement(\"link\", style) : renderElement(\"style\", style)\n );\n result.styles.clear();\n const scripts = Array.from(result.scripts).filter(uniqueElements).map((script) => {\n return renderElement(\"script\", script, false);\n });\n const links = Array.from(result.links).filter(uniqueElements).map((link) => renderElement(\"link\", link, false));\n let content = styles.join(\"\\n\") + links.join(\"\\n\") + scripts.join(\"\\n\");\n if (result._metadata.extraHead.length > 0) {\n for (const part of result._metadata.extraHead) {\n content += part;\n }\n }\n return markHTMLString(content);\n}\nfunction renderHead() {\n return createRenderInstruction({ type: \"head\" });\n}\nfunction maybeRenderHead() {\n return createRenderInstruction({ type: \"maybe-head\" });\n}\nexport {\n maybeRenderHead,\n renderAllHeadContent,\n renderHead\n};\n","import { markHTMLString } from \"../../escape.js\";\nimport { isPromise } from \"../../util.js\";\nimport { renderChild } from \"../any.js\";\nimport { renderToBufferDestination } from \"../util.js\";\nconst renderTemplateResultSym = Symbol.for(\"astro.renderTemplateResult\");\nclass RenderTemplateResult {\n [renderTemplateResultSym] = true;\n htmlParts;\n expressions;\n error;\n constructor(htmlParts, expressions) {\n this.htmlParts = htmlParts;\n this.error = void 0;\n this.expressions = expressions.map((expression) => {\n if (isPromise(expression)) {\n return Promise.resolve(expression).catch((err) => {\n if (!this.error) {\n this.error = err;\n throw err;\n }\n });\n }\n return expression;\n });\n }\n async render(destination) {\n const expRenders = this.expressions.map((exp) => {\n return renderToBufferDestination((bufferDestination) => {\n if (exp || exp === 0) {\n return renderChild(bufferDestination, exp);\n }\n });\n });\n for (let i = 0; i < this.htmlParts.length; i++) {\n const html = this.htmlParts[i];\n const expRender = expRenders[i];\n destination.write(markHTMLString(html));\n if (expRender) {\n await expRender.renderToFinalDestination(destination);\n }\n }\n }\n}\nfunction isRenderTemplateResult(obj) {\n return typeof obj === \"object\" && !!obj[renderTemplateResultSym];\n}\nfunction renderTemplate(htmlParts, ...expressions) {\n return new RenderTemplateResult(htmlParts, expressions);\n}\nexport {\n RenderTemplateResult,\n isRenderTemplateResult,\n renderTemplate\n};\n","import { renderTemplate } from \"./astro/render-template.js\";\nimport { HTMLString, markHTMLString, unescapeHTML } from \"../escape.js\";\nimport { renderChild } from \"./any.js\";\nimport { chunkToString } from \"./common.js\";\nconst slotString = Symbol.for(\"astro:slot-string\");\nclass SlotString extends HTMLString {\n instructions;\n [slotString];\n constructor(content, instructions) {\n super(content);\n this.instructions = instructions;\n this[slotString] = true;\n }\n}\nfunction isSlotString(str) {\n return !!str[slotString];\n}\nfunction renderSlot(result, slotted, fallback) {\n if (!slotted && fallback) {\n return renderSlot(result, fallback);\n }\n return {\n async render(destination) {\n await renderChild(destination, typeof slotted === \"function\" ? slotted(result) : slotted);\n }\n };\n}\nasync function renderSlotToString(result, slotted, fallback) {\n let content = \"\";\n let instructions = null;\n const temporaryDestination = {\n write(chunk) {\n if (chunk instanceof SlotString) {\n content += chunk;\n if (chunk.instructions) {\n instructions ??= [];\n instructions.push(...chunk.instructions);\n }\n } else if (chunk instanceof Response) return;\n else if (typeof chunk === \"object\" && \"type\" in chunk && typeof chunk.type === \"string\") {\n if (instructions === null) {\n instructions = [];\n }\n instructions.push(chunk);\n } else {\n content += chunkToString(result, chunk);\n }\n }\n };\n const renderInstance = renderSlot(result, slotted, fallback);\n await renderInstance.render(temporaryDestination);\n return markHTMLString(new SlotString(content, instructions));\n}\nasync function renderSlots(result, slots = {}) {\n let slotInstructions = null;\n let children = {};\n if (slots) {\n await Promise.all(\n Object.entries(slots).map(\n ([key, value]) => renderSlotToString(result, value).then((output) => {\n if (output.instructions) {\n if (slotInstructions === null) {\n slotInstructions = [];\n }\n slotInstructions.push(...output.instructions);\n }\n children[key] = output;\n })\n )\n );\n }\n return { slotInstructions, children };\n}\nfunction createSlotValueFromString(content) {\n return function() {\n return renderTemplate`${unescapeHTML(content)}`;\n };\n}\nexport {\n SlotString,\n createSlotValueFromString,\n isSlotString,\n renderSlot,\n renderSlotToString,\n renderSlots\n};\n","import { markHTMLString } from \"../escape.js\";\nimport {\n determineIfNeedsHydrationScript,\n determinesIfNeedsDirectiveScript,\n getPrescripts\n} from \"../scripts.js\";\nimport { renderAllHeadContent } from \"./head.js\";\nimport { isRenderInstruction } from \"./instruction.js\";\nimport { isSlotString } from \"./slot.js\";\nconst Fragment = Symbol.for(\"astro:fragment\");\nconst Renderer = Symbol.for(\"astro:renderer\");\nconst encoder = new TextEncoder();\nconst decoder = new TextDecoder();\nfunction stringifyChunk(result, chunk) {\n if (isRenderInstruction(chunk)) {\n const instruction = chunk;\n switch (instruction.type) {\n case \"directive\": {\n const { hydration } = instruction;\n let needsHydrationScript = hydration && determineIfNeedsHydrationScript(result);\n let needsDirectiveScript = hydration && determinesIfNeedsDirectiveScript(result, hydration.directive);\n let prescriptType = needsHydrationScript ? \"both\" : needsDirectiveScript ? \"directive\" : null;\n if (prescriptType) {\n let prescripts = getPrescripts(result, prescriptType, hydration.directive);\n return markHTMLString(prescripts);\n } else {\n return \"\";\n }\n }\n case \"head\": {\n if (result._metadata.hasRenderedHead || result.partial) {\n return \"\";\n }\n return renderAllHeadContent(result);\n }\n case \"maybe-head\": {\n if (result._metadata.hasRenderedHead || result._metadata.headInTree || result.partial) {\n return \"\";\n }\n return renderAllHeadContent(result);\n }\n case \"renderer-hydration-script\": {\n const { rendererSpecificHydrationScripts } = result._metadata;\n const { rendererName } = instruction;\n if (!rendererSpecificHydrationScripts.has(rendererName)) {\n rendererSpecificHydrationScripts.add(rendererName);\n return instruction.render();\n }\n return \"\";\n }\n default: {\n throw new Error(`Unknown chunk type: ${chunk.type}`);\n }\n }\n } else if (chunk instanceof Response) {\n return \"\";\n } else if (isSlotString(chunk)) {\n let out = \"\";\n const c = chunk;\n if (c.instructions) {\n for (const instr of c.instructions) {\n out += stringifyChunk(result, instr);\n }\n }\n out += chunk.toString();\n return out;\n }\n return chunk.toString();\n}\nfunction chunkToString(result, chunk) {\n if (ArrayBuffer.isView(chunk)) {\n return decoder.decode(chunk);\n } else {\n return stringifyChunk(result, chunk);\n }\n}\nfunction chunkToByteArray(result, chunk) {\n if (ArrayBuffer.isView(chunk)) {\n return chunk;\n } else {\n const stringified = stringifyChunk(result, chunk);\n return encoder.encode(stringified.toString());\n }\n}\nfunction isRenderInstance(obj) {\n return !!obj && typeof obj === \"object\" && \"render\" in obj && typeof obj.render === \"function\";\n}\nexport {\n Fragment,\n Renderer,\n chunkToByteArray,\n chunkToString,\n decoder,\n encoder,\n isRenderInstance\n};\n","import { escapeHTML, isHTMLString, markHTMLString } from \"../escape.js\";\nimport { isPromise } from \"../util.js\";\nimport { isAstroComponentInstance, isRenderTemplateResult } from \"./astro/index.js\";\nimport { isRenderInstance } from \"./common.js\";\nimport { SlotString } from \"./slot.js\";\nimport { renderToBufferDestination } from \"./util.js\";\nasync function renderChild(destination, child) {\n if (isPromise(child)) {\n child = await child;\n }\n if (child instanceof SlotString) {\n destination.write(child);\n } else if (isHTMLString(child)) {\n destination.write(child);\n } else if (Array.isArray(child)) {\n const childRenders = child.map((c) => {\n return renderToBufferDestination((bufferDestination) => {\n return renderChild(bufferDestination, c);\n });\n });\n for (const childRender of childRenders) {\n if (!childRender) continue;\n await childRender.renderToFinalDestination(destination);\n }\n } else if (typeof child === \"function\") {\n await renderChild(destination, child());\n } else if (typeof child === \"string\") {\n destination.write(markHTMLString(escapeHTML(child)));\n } else if (!child && child !== 0) {\n } else if (isRenderInstance(child)) {\n await child.render(destination);\n } else if (isRenderTemplateResult(child)) {\n await child.render(destination);\n } else if (isAstroComponentInstance(child)) {\n await child.render(destination);\n } else if (ArrayBuffer.isView(child)) {\n destination.write(child);\n } else if (typeof child === \"object\" && (Symbol.asyncIterator in child || Symbol.iterator in child)) {\n for await (const value of child) {\n await renderChild(destination, value);\n }\n } else {\n destination.write(child);\n }\n}\nexport {\n renderChild\n};\n","import { isPromise } from \"../../util.js\";\nimport { renderChild } from \"../any.js\";\nimport { isAPropagatingComponent } from \"./factory.js\";\nimport { isHeadAndContent } from \"./head-and-content.js\";\nconst astroComponentInstanceSym = Symbol.for(\"astro.componentInstance\");\nclass AstroComponentInstance {\n [astroComponentInstanceSym] = true;\n result;\n props;\n slotValues;\n factory;\n returnValue;\n constructor(result, props, slots, factory) {\n this.result = result;\n this.props = props;\n this.factory = factory;\n this.slotValues = {};\n for (const name in slots) {\n let didRender = false;\n let value = slots[name](result);\n this.slotValues[name] = () => {\n if (!didRender) {\n didRender = true;\n return value;\n }\n return slots[name](result);\n };\n }\n }\n async init(result) {\n if (this.returnValue !== void 0) return this.returnValue;\n this.returnValue = this.factory(result, this.props, this.slotValues);\n if (isPromise(this.returnValue)) {\n this.returnValue.then((resolved) => {\n this.returnValue = resolved;\n }).catch(() => {\n });\n }\n return this.returnValue;\n }\n async render(destination) {\n const returnValue = await this.init(this.result);\n if (isHeadAndContent(returnValue)) {\n await returnValue.content.render(destination);\n } else {\n await renderChild(destination, returnValue);\n }\n }\n}\nfunction validateComponentProps(props, displayName) {\n if (props != null) {\n for (const prop of Object.keys(props)) {\n if (prop.startsWith(\"client:\")) {\n console.warn(\n `You are attempting to render <${displayName} ${prop} />, but ${displayName} is an Astro component. Astro components do not render in the client and should not have a hydration directive. Please use a framework component for client rendering.`\n );\n }\n }\n }\n}\nfunction createAstroComponentInstance(result, displayName, factory, props, slots = {}) {\n validateComponentProps(props, displayName);\n const instance = new AstroComponentInstance(result, props, slots, factory);\n if (isAPropagatingComponent(result, factory)) {\n result._metadata.propagators.add(instance);\n }\n return instance;\n}\nfunction isAstroComponentInstance(obj) {\n return typeof obj === \"object\" && !!obj[astroComponentInstanceSym];\n}\nexport {\n AstroComponentInstance,\n createAstroComponentInstance,\n isAstroComponentInstance\n};\n","import { markHTMLString } from \"../escape.js\";\nimport { renderSlotToString } from \"./slot.js\";\nimport { toAttributeString } from \"./util.js\";\nfunction componentIsHTMLElement(Component) {\n return typeof HTMLElement !== \"undefined\" && HTMLElement.isPrototypeOf(Component);\n}\nasync function renderHTMLElement(result, constructor, props, slots) {\n const name = getHTMLElementName(constructor);\n let attrHTML = \"\";\n for (const attr in props) {\n attrHTML += ` ${attr}=\"${toAttributeString(await props[attr])}\"`;\n }\n return markHTMLString(\n `<${name}${attrHTML}>${await renderSlotToString(result, slots?.default)}`\n );\n}\nfunction getHTMLElementName(constructor) {\n const definedName = customElements.getName(constructor);\n if (definedName) return definedName;\n const assignedName = constructor.name.replace(/^HTML|Element$/g, \"\").replace(/[A-Z]/g, \"-$&\").toLowerCase().replace(/^-/, \"html-\");\n return assignedName;\n}\nexport {\n componentIsHTMLElement,\n renderHTMLElement\n};\n","import { decodeBase64, decodeHex, encodeBase64, encodeHexUpperCase } from \"@oslojs/encoding\";\nconst ALGORITHM = \"AES-GCM\";\nasync function createKey() {\n const key = await crypto.subtle.generateKey(\n {\n name: ALGORITHM,\n length: 256\n },\n true,\n [\"encrypt\", \"decrypt\"]\n );\n return key;\n}\nasync function importKey(bytes) {\n const key = await crypto.subtle.importKey(\"raw\", bytes, ALGORITHM, true, [\"encrypt\", \"decrypt\"]);\n return key;\n}\nasync function encodeKey(key) {\n const exported = await crypto.subtle.exportKey(\"raw\", key);\n const encodedKey = encodeBase64(new Uint8Array(exported));\n return encodedKey;\n}\nasync function decodeKey(encoded) {\n const bytes = decodeBase64(encoded);\n return crypto.subtle.importKey(\"raw\", bytes, ALGORITHM, true, [\"encrypt\", \"decrypt\"]);\n}\nconst encoder = new TextEncoder();\nconst decoder = new TextDecoder();\nconst IV_LENGTH = 24;\nasync function encryptString(key, raw) {\n const iv = crypto.getRandomValues(new Uint8Array(IV_LENGTH / 2));\n const data = encoder.encode(raw);\n const buffer = await crypto.subtle.encrypt(\n {\n name: ALGORITHM,\n iv\n },\n key,\n data\n );\n return encodeHexUpperCase(iv) + encodeBase64(new Uint8Array(buffer));\n}\nasync function decryptString(key, encoded) {\n const iv = decodeHex(encoded.slice(0, IV_LENGTH));\n const dataArray = decodeBase64(encoded.slice(IV_LENGTH));\n const decryptedBuffer = await crypto.subtle.decrypt(\n {\n name: ALGORITHM,\n iv\n },\n key,\n dataArray\n );\n const decryptedString = decoder.decode(decryptedBuffer);\n return decryptedString;\n}\nexport {\n createKey,\n decodeKey,\n decryptString,\n encodeKey,\n encryptString,\n importKey\n};\n","import { encryptString } from \"../../../core/encryption.js\";\nimport { renderChild } from \"./any.js\";\nimport { renderSlotToString } from \"./slot.js\";\nconst internalProps = /* @__PURE__ */ new Set([\n \"server:component-path\",\n \"server:component-export\",\n \"server:component-directive\",\n \"server:defer\"\n]);\nfunction containsServerDirective(props) {\n return \"server:component-directive\" in props;\n}\nfunction safeJsonStringify(obj) {\n return JSON.stringify(obj).replace(/\\u2028/g, \"\\\\u2028\").replace(/\\u2029/g, \"\\\\u2029\").replace(//g, \"\\\\u003e\").replace(/\\//g, \"\\\\u002f\");\n}\nfunction renderServerIsland(result, _displayName, props, slots) {\n return {\n async render(destination) {\n const componentPath = props[\"server:component-path\"];\n const componentExport = props[\"server:component-export\"];\n const componentId = result.serverIslandNameMap.get(componentPath);\n if (!componentId) {\n throw new Error(`Could not find server component name`);\n }\n for (const key2 of Object.keys(props)) {\n if (internalProps.has(key2)) {\n delete props[key2];\n }\n }\n destination.write(\"\");\n const renderedSlots = {};\n for (const name in slots) {\n if (name !== \"fallback\") {\n const content = await renderSlotToString(result, slots[name]);\n renderedSlots[name] = content.toString();\n } else {\n await renderChild(destination, slots.fallback(result));\n }\n }\n const key = await result.key;\n const propsEncrypted = await encryptString(key, JSON.stringify(props));\n const hostId = crypto.randomUUID();\n const slash = result.base.endsWith(\"/\") ? \"\" : \"/\";\n const serverIslandUrl = `${result.base}${slash}_server-islands/${componentId}${result.trailingSlash === \"always\" ? \"/\" : \"\"}`;\n destination.write(``);\n }\n };\n}\nexport {\n containsServerDirective,\n renderServerIsland\n};\n","import { createRenderInstruction } from \"./instruction.js\";\nimport { clsx } from \"clsx\";\nimport { AstroError, AstroErrorData } from \"../../../core/errors/index.js\";\nimport { markHTMLString } from \"../escape.js\";\nimport { extractDirectives, generateHydrateScript } from \"../hydration.js\";\nimport { serializeProps } from \"../serialize.js\";\nimport { shorthash } from \"../shorthash.js\";\nimport { isPromise } from \"../util.js\";\nimport { isAstroComponentFactory } from \"./astro/factory.js\";\nimport { renderTemplate } from \"./astro/index.js\";\nimport { createAstroComponentInstance } from \"./astro/instance.js\";\nimport {\n Fragment,\n Renderer,\n chunkToString\n} from \"./common.js\";\nimport { componentIsHTMLElement, renderHTMLElement } from \"./dom.js\";\nimport { maybeRenderHead } from \"./head.js\";\nimport { containsServerDirective, renderServerIsland } from \"./server-islands.js\";\nimport { renderSlotToString, renderSlots } from \"./slot.js\";\nimport { formatList, internalSpreadAttributes, renderElement, voidElementNames } from \"./util.js\";\nconst needsHeadRenderingSymbol = Symbol.for(\"astro.needsHeadRendering\");\nconst rendererAliases = /* @__PURE__ */ new Map([[\"solid\", \"solid-js\"]]);\nconst clientOnlyValues = /* @__PURE__ */ new Set([\"solid-js\", \"react\", \"preact\", \"vue\", \"svelte\", \"lit\"]);\nfunction guessRenderers(componentUrl) {\n const extname = componentUrl?.split(\".\").pop();\n switch (extname) {\n case \"svelte\":\n return [\"@astrojs/svelte\"];\n case \"vue\":\n return [\"@astrojs/vue\"];\n case \"jsx\":\n case \"tsx\":\n return [\"@astrojs/react\", \"@astrojs/preact\", \"@astrojs/solid-js\", \"@astrojs/vue (jsx)\"];\n default:\n return [\n \"@astrojs/react\",\n \"@astrojs/preact\",\n \"@astrojs/solid-js\",\n \"@astrojs/vue\",\n \"@astrojs/svelte\",\n \"@astrojs/lit\"\n ];\n }\n}\nfunction isFragmentComponent(Component) {\n return Component === Fragment;\n}\nfunction isHTMLComponent(Component) {\n return Component && Component[\"astro:html\"] === true;\n}\nconst ASTRO_SLOT_EXP = /<\\/?astro-slot\\b[^>]*>/g;\nconst ASTRO_STATIC_SLOT_EXP = /<\\/?astro-static-slot\\b[^>]*>/g;\nfunction removeStaticAstroSlot(html, supportsAstroStaticSlot = true) {\n const exp = supportsAstroStaticSlot ? ASTRO_STATIC_SLOT_EXP : ASTRO_SLOT_EXP;\n return html.replace(exp, \"\");\n}\nasync function renderFrameworkComponent(result, displayName, Component, _props, slots = {}) {\n if (!Component && \"client:only\" in _props === false) {\n throw new Error(\n `Unable to render ${displayName} because it is ${Component}!\nDid you forget to import the component or is it possible there is a typo?`\n );\n }\n const { renderers, clientDirectives } = result;\n const metadata = {\n astroStaticSlot: true,\n displayName\n };\n const { hydration, isPage, props, propsWithoutTransitionAttributes } = extractDirectives(\n _props,\n clientDirectives\n );\n let html = \"\";\n let attrs = void 0;\n if (hydration) {\n metadata.hydrate = hydration.directive;\n metadata.hydrateArgs = hydration.value;\n metadata.componentExport = hydration.componentExport;\n metadata.componentUrl = hydration.componentUrl;\n }\n const probableRendererNames = guessRenderers(metadata.componentUrl);\n const validRenderers = renderers.filter((r) => r.name !== \"astro:jsx\");\n const { children, slotInstructions } = await renderSlots(result, slots);\n let renderer;\n if (metadata.hydrate !== \"only\") {\n let isTagged = false;\n try {\n isTagged = Component && Component[Renderer];\n } catch {\n }\n if (isTagged) {\n const rendererName = Component[Renderer];\n renderer = renderers.find(({ name }) => name === rendererName);\n }\n if (!renderer) {\n let error;\n for (const r of renderers) {\n try {\n if (await r.ssr.check.call({ result }, Component, props, children)) {\n renderer = r;\n break;\n }\n } catch (e) {\n error ??= e;\n }\n }\n if (!renderer && error) {\n throw error;\n }\n }\n if (!renderer && typeof HTMLElement === \"function\" && componentIsHTMLElement(Component)) {\n const output = await renderHTMLElement(\n result,\n Component,\n _props,\n slots\n );\n return {\n render(destination) {\n destination.write(output);\n }\n };\n }\n } else {\n if (metadata.hydrateArgs) {\n const rendererName = rendererAliases.has(metadata.hydrateArgs) ? rendererAliases.get(metadata.hydrateArgs) : metadata.hydrateArgs;\n if (clientOnlyValues.has(rendererName)) {\n renderer = renderers.find(\n ({ name }) => name === `@astrojs/${rendererName}` || name === rendererName\n );\n }\n }\n if (!renderer && validRenderers.length === 1) {\n renderer = validRenderers[0];\n }\n if (!renderer) {\n const extname = metadata.componentUrl?.split(\".\").pop();\n renderer = renderers.find(({ name }) => name === `@astrojs/${extname}` || name === extname);\n }\n }\n let componentServerRenderEndTime;\n if (!renderer) {\n if (metadata.hydrate === \"only\") {\n const rendererName = rendererAliases.has(metadata.hydrateArgs) ? rendererAliases.get(metadata.hydrateArgs) : metadata.hydrateArgs;\n if (clientOnlyValues.has(rendererName)) {\n const plural = validRenderers.length > 1;\n throw new AstroError({\n ...AstroErrorData.NoMatchingRenderer,\n message: AstroErrorData.NoMatchingRenderer.message(\n metadata.displayName,\n metadata?.componentUrl?.split(\".\").pop(),\n plural,\n validRenderers.length\n ),\n hint: AstroErrorData.NoMatchingRenderer.hint(\n formatList(probableRendererNames.map((r) => \"`\" + r + \"`\"))\n )\n });\n } else {\n throw new AstroError({\n ...AstroErrorData.NoClientOnlyHint,\n message: AstroErrorData.NoClientOnlyHint.message(metadata.displayName),\n hint: AstroErrorData.NoClientOnlyHint.hint(\n probableRendererNames.map((r) => r.replace(\"@astrojs/\", \"\")).join(\"|\")\n )\n });\n }\n } else if (typeof Component !== \"string\") {\n const matchingRenderers = validRenderers.filter(\n (r) => probableRendererNames.includes(r.name)\n );\n const plural = validRenderers.length > 1;\n if (matchingRenderers.length === 0) {\n throw new AstroError({\n ...AstroErrorData.NoMatchingRenderer,\n message: AstroErrorData.NoMatchingRenderer.message(\n metadata.displayName,\n metadata?.componentUrl?.split(\".\").pop(),\n plural,\n validRenderers.length\n ),\n hint: AstroErrorData.NoMatchingRenderer.hint(\n formatList(probableRendererNames.map((r) => \"`\" + r + \"`\"))\n )\n });\n } else if (matchingRenderers.length === 1) {\n renderer = matchingRenderers[0];\n ({ html, attrs } = await renderer.ssr.renderToStaticMarkup.call(\n { result },\n Component,\n propsWithoutTransitionAttributes,\n children,\n metadata\n ));\n } else {\n throw new Error(`Unable to render ${metadata.displayName}!\n\nThis component likely uses ${formatList(probableRendererNames)},\nbut Astro encountered an error during server-side rendering.\n\nPlease ensure that ${metadata.displayName}:\n1. Does not unconditionally access browser-specific globals like \\`window\\` or \\`document\\`.\n If this is unavoidable, use the \\`client:only\\` hydration directive.\n2. Does not conditionally return \\`null\\` or \\`undefined\\` when rendered on the server.\n\nIf you're still stuck, please open an issue on GitHub or join us at https://astro.build/chat.`);\n }\n }\n } else {\n if (metadata.hydrate === \"only\") {\n const rendererName = rendererAliases.has(metadata.hydrateArgs) ? rendererAliases.get(metadata.hydrateArgs) : metadata.hydrateArgs;\n if (!clientOnlyValues.has(rendererName)) {\n console.warn(\n `The client:only directive for ${metadata.displayName} is not recognized. The renderer ${renderer.name} will be used. If you intended to use a different renderer, please provide a valid client:only directive.`\n );\n }\n html = await renderSlotToString(result, slots?.fallback);\n } else {\n const componentRenderStartTime = performance.now();\n ({ html, attrs } = await renderer.ssr.renderToStaticMarkup.call(\n { result },\n Component,\n propsWithoutTransitionAttributes,\n children,\n metadata\n ));\n if (process.env.NODE_ENV === \"development\")\n componentServerRenderEndTime = performance.now() - componentRenderStartTime;\n }\n }\n if (renderer && !renderer.clientEntrypoint && renderer.name !== \"@astrojs/lit\" && metadata.hydrate) {\n throw new AstroError({\n ...AstroErrorData.NoClientEntrypoint,\n message: AstroErrorData.NoClientEntrypoint.message(\n displayName,\n metadata.hydrate,\n renderer.name\n )\n });\n }\n if (!html && typeof Component === \"string\") {\n const Tag = sanitizeElementName(Component);\n const childSlots = Object.values(children).join(\"\");\n const renderTemplateResult = renderTemplate`<${Tag}${internalSpreadAttributes(\n props\n )}${markHTMLString(\n childSlots === \"\" && voidElementNames.test(Tag) ? `/>` : `>${childSlots}`\n )}`;\n html = \"\";\n const destination = {\n write(chunk) {\n if (chunk instanceof Response) return;\n html += chunkToString(result, chunk);\n }\n };\n await renderTemplateResult.render(destination);\n }\n if (!hydration) {\n return {\n render(destination) {\n if (slotInstructions) {\n for (const instruction of slotInstructions) {\n destination.write(instruction);\n }\n }\n if (isPage || renderer?.name === \"astro:jsx\") {\n destination.write(html);\n } else if (html && html.length > 0) {\n destination.write(\n markHTMLString(removeStaticAstroSlot(html, renderer?.ssr?.supportsAstroStaticSlot))\n );\n }\n }\n };\n }\n const astroId = shorthash(\n `\n${html}\n${serializeProps(\n props,\n metadata\n )}`\n );\n const island = await generateHydrateScript(\n { renderer, result, astroId, props, attrs },\n metadata\n );\n if (componentServerRenderEndTime && process.env.NODE_ENV === \"development\")\n island.props[\"server-render-time\"] = componentServerRenderEndTime;\n let unrenderedSlots = [];\n if (html) {\n if (Object.keys(children).length > 0) {\n for (const key of Object.keys(children)) {\n let tagName = renderer?.ssr?.supportsAstroStaticSlot ? !!metadata.hydrate ? \"astro-slot\" : \"astro-static-slot\" : \"astro-slot\";\n let expectedHTML = key === \"default\" ? `<${tagName}>` : `<${tagName} name=\"${key}\">`;\n if (!html.includes(expectedHTML)) {\n unrenderedSlots.push(key);\n }\n }\n }\n } else {\n unrenderedSlots = Object.keys(children);\n }\n const template = unrenderedSlots.length > 0 ? unrenderedSlots.map(\n (key) => ``\n ).join(\"\") : \"\";\n island.children = `${html ?? \"\"}${template}`;\n if (island.children) {\n island.props[\"await-children\"] = \"\";\n island.children += ``;\n }\n return {\n render(destination) {\n if (slotInstructions) {\n for (const instruction of slotInstructions) {\n destination.write(instruction);\n }\n }\n destination.write(createRenderInstruction({ type: \"directive\", hydration }));\n if (hydration.directive !== \"only\" && renderer?.ssr.renderHydrationScript) {\n destination.write(\n createRenderInstruction({\n type: \"renderer-hydration-script\",\n rendererName: renderer.name,\n render: renderer.ssr.renderHydrationScript\n })\n );\n }\n const renderedElement = renderElement(\"astro-island\", island, false);\n destination.write(markHTMLString(renderedElement));\n }\n };\n}\nfunction sanitizeElementName(tag) {\n const unsafe = /[&<>'\"\\s]+/;\n if (!unsafe.test(tag)) return tag;\n return tag.trim().split(unsafe)[0].trim();\n}\nasync function renderFragmentComponent(result, slots = {}) {\n const children = await renderSlotToString(result, slots?.default);\n return {\n render(destination) {\n if (children == null) return;\n destination.write(children);\n }\n };\n}\nasync function renderHTMLComponent(result, Component, _props, slots = {}) {\n const { slotInstructions, children } = await renderSlots(result, slots);\n const html = Component({ slots: children });\n const hydrationHtml = slotInstructions ? slotInstructions.map((instr) => chunkToString(result, instr)).join(\"\") : \"\";\n return {\n render(destination) {\n destination.write(markHTMLString(hydrationHtml + html));\n }\n };\n}\nfunction renderAstroComponent(result, displayName, Component, props, slots = {}) {\n if (containsServerDirective(props)) {\n return renderServerIsland(result, displayName, props, slots);\n }\n const instance = createAstroComponentInstance(result, displayName, Component, props, slots);\n return {\n async render(destination) {\n await instance.render(destination);\n }\n };\n}\nasync function renderComponent(result, displayName, Component, props, slots = {}) {\n if (isPromise(Component)) {\n Component = await Component.catch(handleCancellation);\n }\n if (isFragmentComponent(Component)) {\n return await renderFragmentComponent(result, slots).catch(handleCancellation);\n }\n props = normalizeProps(props);\n if (isHTMLComponent(Component)) {\n return await renderHTMLComponent(result, Component, props, slots).catch(handleCancellation);\n }\n if (isAstroComponentFactory(Component)) {\n return renderAstroComponent(result, displayName, Component, props, slots);\n }\n return await renderFrameworkComponent(result, displayName, Component, props, slots).catch(\n handleCancellation\n );\n function handleCancellation(e) {\n if (result.cancelled)\n return {\n render() {\n }\n };\n throw e;\n }\n}\nfunction normalizeProps(props) {\n if (props[\"class:list\"] !== void 0) {\n const value = props[\"class:list\"];\n delete props[\"class:list\"];\n props[\"class\"] = clsx(props[\"class\"], value);\n if (props[\"class\"] === \"\") {\n delete props[\"class\"];\n }\n }\n return props;\n}\nasync function renderComponentToString(result, displayName, Component, props, slots = {}, isPage = false, route) {\n let str = \"\";\n let renderedFirstPageChunk = false;\n let head = \"\";\n if (isPage && !result.partial && nonAstroPageNeedsHeadInjection(Component)) {\n head += chunkToString(result, maybeRenderHead());\n }\n try {\n const destination = {\n write(chunk) {\n if (isPage && !result.partial && !renderedFirstPageChunk) {\n renderedFirstPageChunk = true;\n if (!/\" : \"\\n\";\n str += doctype + head;\n }\n }\n if (chunk instanceof Response) return;\n str += chunkToString(result, chunk);\n }\n };\n const renderInstance = await renderComponent(result, displayName, Component, props, slots);\n await renderInstance.render(destination);\n } catch (e) {\n if (AstroError.is(e) && !e.loc) {\n e.setLocation({\n file: route?.component\n });\n }\n throw e;\n }\n return str;\n}\nfunction nonAstroPageNeedsHeadInjection(pageComponent) {\n return !!pageComponent?.[needsHeadRenderingSymbol];\n}\nexport {\n renderComponent,\n renderComponentToString\n};\n","import { markHTMLString } from \"../escape.js\";\nasync function renderScript(result, id) {\n if (result._metadata.renderedScripts.has(id)) return;\n result._metadata.renderedScripts.add(id);\n const inlined = result.inlinedScripts.get(id);\n if (inlined != null) {\n if (inlined) {\n return markHTMLString(``);\n } else {\n return \"\";\n }\n }\n const resolved = await result.resolve(id);\n return markHTMLString(``);\n}\nexport {\n renderScript\n};\n","import cssesc from \"cssesc\";\nimport { fade, slide } from \"../../transitions/index.js\";\nimport { markHTMLString } from \"./escape.js\";\nconst transitionNameMap = /* @__PURE__ */ new WeakMap();\nfunction incrementTransitionNumber(result) {\n let num = 1;\n if (transitionNameMap.has(result)) {\n num = transitionNameMap.get(result) + 1;\n }\n transitionNameMap.set(result, num);\n return num;\n}\nfunction createTransitionScope(result, hash) {\n const num = incrementTransitionNumber(result);\n return `astro-${hash}-${num}`;\n}\nconst getAnimations = (name) => {\n if (name === \"fade\") return fade();\n if (name === \"slide\") return slide();\n if (typeof name === \"object\") return name;\n};\nconst addPairs = (animations, stylesheet) => {\n for (const [direction, images] of Object.entries(animations)) {\n for (const [image, rules] of Object.entries(images)) {\n stylesheet.addAnimationPair(direction, image, rules);\n }\n }\n};\nconst reEncodeValidChars = \"0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ-_\".split(\"\").reduce((v, c) => (v[c.charCodeAt(0)] = c, v), []);\nconst reEncodeInValidStart = \"-0123456789_\".split(\"\").reduce((v, c) => (v[c.charCodeAt(0)] = c, v), []);\nfunction reEncode(s) {\n let result = \"\";\n let codepoint;\n for (let i = 0; i < s.length; i += (codepoint ?? 0) > 65535 ? 2 : 1) {\n codepoint = s.codePointAt(i);\n if (codepoint !== void 0) {\n result += codepoint < 128 ? codepoint === 95 ? \"__\" : reEncodeValidChars[codepoint] ?? \"_\" + codepoint.toString(16).padStart(2, \"0\") : String.fromCodePoint(codepoint);\n }\n }\n return reEncodeInValidStart[result.codePointAt(0) ?? 0] ? \"_\" + result : result;\n}\nfunction renderTransition(result, hash, animationName, transitionName) {\n if (typeof (transitionName ?? \"\") !== \"string\") {\n throw new Error(`Invalid transition name {${transitionName}}`);\n }\n if (!animationName) animationName = \"fade\";\n const scope = createTransitionScope(result, hash);\n const name = transitionName ? cssesc(reEncode(transitionName), { isIdentifier: true }) : scope;\n const sheet = new ViewTransitionStyleSheet(scope, name);\n const animations = getAnimations(animationName);\n if (animations) {\n addPairs(animations, sheet);\n } else if (animationName === \"none\") {\n sheet.addFallback(\"old\", \"animation: none; mix-blend-mode: normal;\");\n sheet.addModern(\"old\", \"animation: none; opacity: 0; mix-blend-mode: normal;\");\n sheet.addAnimationRaw(\"new\", \"animation: none; mix-blend-mode: normal;\");\n sheet.addModern(\"group\", \"animation: none\");\n }\n result._metadata.extraHead.push(markHTMLString(``));\n return scope;\n}\nfunction createAnimationScope(transitionName, animations) {\n const hash = Math.random().toString(36).slice(2, 8);\n const scope = `astro-${hash}`;\n const sheet = new ViewTransitionStyleSheet(scope, transitionName);\n addPairs(animations, sheet);\n return { scope, styles: sheet.toString().replaceAll('\"', \"\") };\n}\nclass ViewTransitionStyleSheet {\n constructor(scope, name) {\n this.scope = scope;\n this.name = name;\n }\n modern = [];\n fallback = [];\n toString() {\n const { scope, name } = this;\n const [modern, fallback] = [this.modern, this.fallback].map((rules) => rules.join(\"\"));\n return [\n `[data-astro-transition-scope=\"${scope}\"] { view-transition-name: ${name}; }`,\n this.layer(modern),\n fallback\n ].join(\"\");\n }\n layer(cssText) {\n return cssText ? `@layer astro { ${cssText} }` : \"\";\n }\n addRule(target, cssText) {\n this[target].push(cssText);\n }\n addAnimationRaw(image, animation) {\n this.addModern(image, animation);\n this.addFallback(image, animation);\n }\n addModern(image, animation) {\n const { name } = this;\n this.addRule(\"modern\", `::view-transition-${image}(${name}) { ${animation} }`);\n }\n addFallback(image, animation) {\n const { scope } = this;\n this.addRule(\n \"fallback\",\n // Two selectors here, the second in case there is an animation on the root.\n `[data-astro-transition-fallback=\"${image}\"] [data-astro-transition-scope=\"${scope}\"],\n\t\t\t[data-astro-transition-fallback=\"${image}\"][data-astro-transition-scope=\"${scope}\"] { ${animation} }`\n );\n }\n addAnimationPair(direction, image, rules) {\n const { scope, name } = this;\n const animation = stringifyAnimation(rules);\n const prefix = direction === \"backwards\" ? `[data-astro-transition=back]` : direction === \"forwards\" ? \"\" : `[data-astro-transition=${direction}]`;\n this.addRule(\"modern\", `${prefix}::view-transition-${image}(${name}) { ${animation} }`);\n this.addRule(\n \"fallback\",\n `${prefix}[data-astro-transition-fallback=\"${image}\"] [data-astro-transition-scope=\"${scope}\"],\n\t\t\t${prefix}[data-astro-transition-fallback=\"${image}\"][data-astro-transition-scope=\"${scope}\"] { ${animation} }`\n );\n }\n}\nfunction addAnimationProperty(builder, prop, value) {\n let arr = builder[prop];\n if (Array.isArray(arr)) {\n arr.push(value.toString());\n } else {\n builder[prop] = [value.toString()];\n }\n}\nfunction animationBuilder() {\n return {\n toString() {\n let out = \"\";\n for (let k in this) {\n let value = this[k];\n if (Array.isArray(value)) {\n out += `\n\t${k}: ${value.join(\", \")};`;\n }\n }\n return out;\n }\n };\n}\nfunction stringifyAnimation(anim) {\n if (Array.isArray(anim)) {\n return stringifyAnimations(anim);\n } else {\n return stringifyAnimations([anim]);\n }\n}\nfunction stringifyAnimations(anims) {\n const builder = animationBuilder();\n for (const anim of anims) {\n if (anim.duration) {\n addAnimationProperty(builder, \"animation-duration\", toTimeValue(anim.duration));\n }\n if (anim.easing) {\n addAnimationProperty(builder, \"animation-timing-function\", anim.easing);\n }\n if (anim.direction) {\n addAnimationProperty(builder, \"animation-direction\", anim.direction);\n }\n if (anim.delay) {\n addAnimationProperty(builder, \"animation-delay\", anim.delay);\n }\n if (anim.fillMode) {\n addAnimationProperty(builder, \"animation-fill-mode\", anim.fillMode);\n }\n addAnimationProperty(builder, \"animation-name\", anim.name);\n }\n return builder.toString();\n}\nfunction toTimeValue(num) {\n return typeof num === \"number\" ? num + \"ms\" : num;\n}\nexport {\n createAnimationScope,\n createTransitionScope,\n renderTransition\n};\n","import { createComponent } from \"./astro-component.js\";\nimport { createAstro } from \"./astro-global.js\";\nimport { renderEndpoint } from \"./endpoint.js\";\nimport {\n escapeHTML,\n HTMLBytes,\n HTMLString,\n isHTMLString,\n markHTMLString,\n unescapeHTML\n} from \"./escape.js\";\nimport { renderJSX } from \"./jsx.js\";\nimport {\n addAttribute,\n createHeadAndContent,\n defineScriptVars,\n Fragment,\n maybeRenderHead,\n renderTemplate,\n renderComponent,\n Renderer,\n renderHead,\n renderHTMLElement,\n renderPage,\n renderScript,\n renderScriptElement,\n renderSlot,\n renderSlotToString,\n renderTemplate as renderTemplate2,\n renderToString,\n renderUniqueStylesheet,\n voidElementNames\n} from \"./render/index.js\";\nimport { createTransitionScope, renderTransition } from \"./transition.js\";\nimport { markHTMLString as markHTMLString2 } from \"./escape.js\";\nimport { Renderer as Renderer2, addAttribute as addAttribute2 } from \"./render/index.js\";\nfunction mergeSlots(...slotted) {\n const slots = {};\n for (const slot of slotted) {\n if (!slot) continue;\n if (typeof slot === \"object\") {\n Object.assign(slots, slot);\n } else if (typeof slot === \"function\") {\n Object.assign(slots, mergeSlots(slot()));\n }\n }\n return slots;\n}\nfunction __astro_tag_component__(Component, rendererName) {\n if (!Component) return;\n if (typeof Component !== \"function\") return;\n Object.defineProperty(Component, Renderer2, {\n value: rendererName,\n enumerable: false,\n writable: false\n });\n}\nfunction spreadAttributes(values = {}, _name, { class: scopedClassName } = {}) {\n let output = \"\";\n if (scopedClassName) {\n if (typeof values.class !== \"undefined\") {\n values.class += ` ${scopedClassName}`;\n } else if (typeof values[\"class:list\"] !== \"undefined\") {\n values[\"class:list\"] = [values[\"class:list\"], scopedClassName];\n } else {\n values.class = scopedClassName;\n }\n }\n for (const [key, value] of Object.entries(values)) {\n output += addAttribute2(value, key, true);\n }\n return markHTMLString2(output);\n}\nfunction defineStyleVars(defs) {\n let output = \"\";\n let arr = !Array.isArray(defs) ? [defs] : defs;\n for (const vars of arr) {\n for (const [key, value] of Object.entries(vars)) {\n if (value || value === 0) {\n output += `--${key}: ${value};`;\n }\n }\n }\n return markHTMLString2(output);\n}\nexport {\n Fragment,\n HTMLBytes,\n HTMLString,\n Renderer,\n __astro_tag_component__,\n addAttribute,\n createAstro,\n createComponent,\n createHeadAndContent,\n createTransitionScope,\n defineScriptVars,\n defineStyleVars,\n escapeHTML,\n isHTMLString,\n markHTMLString,\n maybeRenderHead,\n mergeSlots,\n renderTemplate as render,\n renderComponent,\n renderEndpoint,\n renderHTMLElement,\n renderHead,\n renderJSX,\n renderPage,\n renderScript,\n renderScriptElement,\n renderSlot,\n renderSlotToString,\n renderTemplate2 as renderTemplate,\n renderToString,\n renderTransition,\n renderUniqueStylesheet,\n spreadAttributes,\n unescapeHTML,\n voidElementNames\n};\n"],"names":["AstroErrorData.InvalidComponentArgs","AstroErrorData.AstroGlobUsedOutside","AstroErrorData.AstroGlobNoMatch","AstroErrorData.MissingMediaQueryDirective","AstroErrorData.NoMatchingImport","islandScriptDev","islandScript","AstroErrorData.NoMatchingRenderer","AstroErrorData.NoClientOnlyHint","AstroErrorData.NoClientEntrypoint","addAttribute2","markHTMLString2"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31]} \ No newline at end of file +{"version":3,"file":"server_D4bGvIFa.mjs","sources":["../../../../../../../node_modules/astro/dist/core/errors/errors-data.js","../../../../../../../node_modules/astro/dist/core/errors/utils.js","../../../../../../../node_modules/astro/dist/core/errors/printer.js","../../../../../../../node_modules/astro/dist/core/errors/errors.js","../../../../../../../node_modules/astro/dist/runtime/server/astro-component.js","../../../../../../../node_modules/astro/dist/core/constants.js","../../../../../../../node_modules/astro/dist/runtime/server/astro-global.js","../../../../../../../node_modules/astro/dist/runtime/server/util.js","../../../../../../../node_modules/astro/dist/runtime/server/escape.js","../../../../../../../node_modules/astro/dist/runtime/server/render/instruction.js","../../../../../../../node_modules/astro/dist/runtime/server/serialize.js","../../../../../../../node_modules/astro/dist/runtime/server/hydration.js","../../../../../../../node_modules/astro/dist/runtime/server/shorthash.js","../../../../../../../node_modules/astro/dist/runtime/server/render/astro/factory.js","../../../../../../../node_modules/astro/dist/runtime/server/render/astro/head-and-content.js","../../../../../../../node_modules/astro/dist/runtime/server/astro-island.prebuilt-dev.js","../../../../../../../node_modules/astro/dist/runtime/server/astro-island.prebuilt.js","../../../../../../../node_modules/astro/dist/runtime/server/scripts.js","../../../../../../../node_modules/astro/dist/runtime/server/render/util.js","../../../../../../../node_modules/astro/dist/runtime/server/render/head.js","../../../../../../../node_modules/astro/dist/runtime/server/render/astro/render-template.js","../../../../../../../node_modules/astro/dist/runtime/server/render/slot.js","../../../../../../../node_modules/astro/dist/runtime/server/render/common.js","../../../../../../../node_modules/astro/dist/runtime/server/render/any.js","../../../../../../../node_modules/astro/dist/runtime/server/render/astro/instance.js","../../../../../../../node_modules/astro/dist/runtime/server/render/dom.js","../../../../../../../node_modules/astro/dist/core/encryption.js","../../../../../../../node_modules/astro/dist/runtime/server/render/server-islands.js","../../../../../../../node_modules/astro/dist/runtime/server/render/component.js","../../../../../../../node_modules/astro/dist/runtime/server/render/script.js","../../../../../../../node_modules/astro/dist/runtime/server/transition.js","../../../../../../../node_modules/astro/dist/runtime/server/index.js"],"sourcesContent":["const UnknownCompilerError = {\n name: \"UnknownCompilerError\",\n title: \"Unknown compiler error.\",\n hint: \"This is almost always a problem with the Astro compiler, not your code. Please open an issue at https://astro.build/issues/compiler.\"\n};\nconst ClientAddressNotAvailable = {\n name: \"ClientAddressNotAvailable\",\n title: \"`Astro.clientAddress` is not available in current adapter.\",\n message: (adapterName) => `\\`Astro.clientAddress\\` is not available in the \\`${adapterName}\\` adapter. File an issue with the adapter to add support.`\n};\nconst PrerenderClientAddressNotAvailable = {\n name: \"PrerenderClientAddressNotAvailable\",\n title: \"`Astro.clientAddress` cannot be used inside prerendered routes.\",\n message: `\\`Astro.clientAddress\\` cannot be used inside prerendered routes`\n};\nconst StaticClientAddressNotAvailable = {\n name: \"StaticClientAddressNotAvailable\",\n title: \"`Astro.clientAddress` is not available in static mode.\",\n message: \"`Astro.clientAddress` is only available when using `output: 'server'` or `output: 'hybrid'`. Update your Astro config if you need SSR features.\",\n hint: \"See https://docs.astro.build/en/guides/server-side-rendering/ for more information on how to enable SSR.\"\n};\nconst NoMatchingStaticPathFound = {\n name: \"NoMatchingStaticPathFound\",\n title: \"No static path found for requested path.\",\n message: (pathName) => `A \\`getStaticPaths()\\` route pattern was matched, but no matching static path was found for requested path \\`${pathName}\\`.`,\n hint: (possibleRoutes) => `Possible dynamic routes being matched: ${possibleRoutes.join(\", \")}.`\n};\nconst OnlyResponseCanBeReturned = {\n name: \"OnlyResponseCanBeReturned\",\n title: \"Invalid type returned by Astro page.\",\n message: (route, returnedValue) => `Route \\`${route ? route : \"\"}\\` returned a \\`${returnedValue}\\`. Only a [Response](https://developer.mozilla.org/en-US/docs/Web/API/Response) can be returned from Astro files.`,\n hint: \"See https://docs.astro.build/en/guides/server-side-rendering/#response for more information.\"\n};\nconst MissingMediaQueryDirective = {\n name: \"MissingMediaQueryDirective\",\n title: \"Missing value for `client:media` directive.\",\n message: 'Media query not provided for `client:media` directive. A media query similar to `client:media=\"(max-width: 600px)\"` must be provided'\n};\nconst NoMatchingRenderer = {\n name: \"NoMatchingRenderer\",\n title: \"No matching renderer found.\",\n message: (componentName, componentExtension, plural, validRenderersCount) => `Unable to render \\`${componentName}\\`.\n\n${validRenderersCount > 0 ? `There ${plural ? \"are\" : \"is\"} ${validRenderersCount} renderer${plural ? \"s\" : \"\"} configured in your \\`astro.config.mjs\\` file,\nbut ${plural ? \"none were\" : \"it was not\"} able to server-side render \\`${componentName}\\`.` : `No valid renderer was found ${componentExtension ? `for the \\`.${componentExtension}\\` file extension.` : `for this file extension.`}`}`,\n hint: (probableRenderers) => `Did you mean to enable the ${probableRenderers} integration?\n\nSee https://docs.astro.build/en/guides/framework-components/ for more information on how to install and configure integrations.`\n};\nconst NoClientEntrypoint = {\n name: \"NoClientEntrypoint\",\n title: \"No client entrypoint specified in renderer.\",\n message: (componentName, clientDirective, rendererName) => `\\`${componentName}\\` component has a \\`client:${clientDirective}\\` directive, but no client entrypoint was provided by \\`${rendererName}\\`.`,\n hint: \"See https://docs.astro.build/en/reference/integrations-reference/#addrenderer-option for more information on how to configure your renderer.\"\n};\nconst NoClientOnlyHint = {\n name: \"NoClientOnlyHint\",\n title: \"Missing hint on client:only directive.\",\n message: (componentName) => `Unable to render \\`${componentName}\\`. When using the \\`client:only\\` hydration strategy, Astro needs a hint to use the correct renderer.`,\n hint: (probableRenderers) => `Did you mean to pass \\`client:only=\"${probableRenderers}\"\\`? See https://docs.astro.build/en/reference/directives-reference/#clientonly for more information on client:only`\n};\nconst InvalidGetStaticPathParam = {\n name: \"InvalidGetStaticPathParam\",\n title: \"Invalid value returned by a `getStaticPaths` path.\",\n message: (paramType) => `Invalid params given to \\`getStaticPaths\\` path. Expected an \\`object\\`, got \\`${paramType}\\``,\n hint: \"See https://docs.astro.build/en/reference/api-reference/#getstaticpaths for more information on getStaticPaths.\"\n};\nconst InvalidGetStaticPathsEntry = {\n name: \"InvalidGetStaticPathsEntry\",\n title: \"Invalid entry inside getStaticPath's return value\",\n message: (entryType) => `Invalid entry returned by getStaticPaths. Expected an object, got \\`${entryType}\\``,\n hint: \"If you're using a `.map` call, you might be looking for `.flatMap()` instead. See https://docs.astro.build/en/reference/api-reference/#getstaticpaths for more information on getStaticPaths.\"\n};\nconst InvalidGetStaticPathsReturn = {\n name: \"InvalidGetStaticPathsReturn\",\n title: \"Invalid value returned by getStaticPaths.\",\n message: (returnType) => `Invalid type returned by \\`getStaticPaths\\`. Expected an \\`array\\`, got \\`${returnType}\\``,\n hint: \"See https://docs.astro.build/en/reference/api-reference/#getstaticpaths for more information on getStaticPaths.\"\n};\nconst GetStaticPathsExpectedParams = {\n name: \"GetStaticPathsExpectedParams\",\n title: \"Missing params property on `getStaticPaths` route.\",\n message: \"Missing or empty required `params` property on `getStaticPaths` route.\",\n hint: \"See https://docs.astro.build/en/reference/api-reference/#getstaticpaths for more information on getStaticPaths.\"\n};\nconst GetStaticPathsInvalidRouteParam = {\n name: \"GetStaticPathsInvalidRouteParam\",\n title: \"Invalid value for `getStaticPaths` route parameter.\",\n message: (key, value, valueType) => `Invalid getStaticPaths route parameter for \\`${key}\\`. Expected undefined, a string or a number, received \\`${valueType}\\` (\\`${value}\\`)`,\n hint: \"See https://docs.astro.build/en/reference/api-reference/#getstaticpaths for more information on getStaticPaths.\"\n};\nconst GetStaticPathsRequired = {\n name: \"GetStaticPathsRequired\",\n title: \"`getStaticPaths()` function required for dynamic routes.\",\n message: \"`getStaticPaths()` function is required for dynamic routes. Make sure that you `export` a `getStaticPaths` function from your dynamic route.\",\n hint: `See https://docs.astro.build/en/guides/routing/#dynamic-routes for more information on dynamic routes.\n\nAlternatively, set \\`output: \"server\"\\` or \\`output: \"hybrid\"\\` in your Astro config file to switch to a non-static server build. This error can also occur if using \\`export const prerender = true;\\`.\nSee https://docs.astro.build/en/guides/server-side-rendering/ for more information on non-static rendering.`\n};\nconst ReservedSlotName = {\n name: \"ReservedSlotName\",\n title: \"Invalid slot name.\",\n message: (slotName) => `Unable to create a slot named \\`${slotName}\\`. \\`${slotName}\\` is a reserved slot name. Please update the name of this slot.`\n};\nconst NoAdapterInstalled = {\n name: \"NoAdapterInstalled\",\n title: \"Cannot use Server-side Rendering without an adapter.\",\n message: `Cannot use \\`output: 'server'\\` or \\`output: 'hybrid'\\` without an adapter. Please install and configure the appropriate server adapter for your final deployment.`,\n hint: \"See https://docs.astro.build/en/guides/server-side-rendering/ for more information.\"\n};\nconst NoMatchingImport = {\n name: \"NoMatchingImport\",\n title: \"No import found for component.\",\n message: (componentName) => `Could not render \\`${componentName}\\`. No matching import has been found for \\`${componentName}\\`.`,\n hint: \"Please make sure the component is properly imported.\"\n};\nconst InvalidPrerenderExport = {\n name: \"InvalidPrerenderExport\",\n title: \"Invalid prerender export.\",\n message(prefix, suffix, isHydridOutput) {\n const defaultExpectedValue = isHydridOutput ? \"false\" : \"true\";\n let msg = `A \\`prerender\\` export has been detected, but its value cannot be statically analyzed.`;\n if (prefix !== \"const\") msg += `\nExpected \\`const\\` declaration but got \\`${prefix}\\`.`;\n if (suffix !== \"true\")\n msg += `\nExpected \\`${defaultExpectedValue}\\` value but got \\`${suffix}\\`.`;\n return msg;\n },\n hint: \"Mutable values declared at runtime are not supported. Please make sure to use exactly `export const prerender = true`.\"\n};\nconst InvalidComponentArgs = {\n name: \"InvalidComponentArgs\",\n title: \"Invalid component arguments.\",\n message: (name) => `Invalid arguments passed to${name ? ` <${name}>` : \"\"} component.`,\n hint: \"Astro components cannot be rendered directly via function call, such as `Component()` or `{items.map(Component)}`.\"\n};\nconst PageNumberParamNotFound = {\n name: \"PageNumberParamNotFound\",\n title: \"Page number param not found.\",\n message: (paramName) => `[paginate()] page number param \\`${paramName}\\` not found in your filepath.`,\n hint: \"Rename your file to `[page].astro` or `[...page].astro`.\"\n};\nconst ImageMissingAlt = {\n name: \"ImageMissingAlt\",\n title: 'Image missing required \"alt\" property.',\n message: 'Image missing \"alt\" property. \"alt\" text is required to describe important images on the page.',\n hint: 'Use an empty string (\"\") for decorative images.'\n};\nconst InvalidImageService = {\n name: \"InvalidImageService\",\n title: \"Error while loading image service.\",\n message: \"There was an error loading the configured image service. Please see the stack trace for more information.\"\n};\nconst MissingImageDimension = {\n name: \"MissingImageDimension\",\n title: \"Missing image dimensions\",\n message: (missingDimension, imageURL) => `Missing ${missingDimension === \"both\" ? \"width and height attributes\" : `${missingDimension} attribute`} for ${imageURL}. When using remote images, both dimensions are required in order to avoid CLS.`,\n hint: \"If your image is inside your `src` folder, you probably meant to import it instead. See [the Imports guide for more information](https://docs.astro.build/en/guides/imports/#other-assets). You can also use `inferSize={true}` for remote images to get the original dimensions.\"\n};\nconst FailedToFetchRemoteImageDimensions = {\n name: \"FailedToFetchRemoteImageDimensions\",\n title: \"Failed to retrieve remote image dimensions\",\n message: (imageURL) => `Failed to get the dimensions for ${imageURL}.`,\n hint: \"Verify your remote image URL is accurate, and that you are not using `inferSize` with a file located in your `public/` folder.\"\n};\nconst UnsupportedImageFormat = {\n name: \"UnsupportedImageFormat\",\n title: \"Unsupported image format\",\n message: (format, imagePath, supportedFormats) => `Received unsupported format \\`${format}\\` from \\`${imagePath}\\`. Currently only ${supportedFormats.join(\n \", \"\n )} are supported by our image services.`,\n hint: \"Using an `img` tag directly instead of the `Image` component might be what you're looking for.\"\n};\nconst UnsupportedImageConversion = {\n name: \"UnsupportedImageConversion\",\n title: \"Unsupported image conversion\",\n message: \"Converting between vector (such as SVGs) and raster (such as PNGs and JPEGs) images is not currently supported.\"\n};\nconst PrerenderDynamicEndpointPathCollide = {\n name: \"PrerenderDynamicEndpointPathCollide\",\n title: \"Prerendered dynamic endpoint has path collision.\",\n message: (pathname) => `Could not render \\`${pathname}\\` with an \\`undefined\\` param as the generated path will collide during prerendering. Prevent passing \\`undefined\\` as \\`params\\` for the endpoint's \\`getStaticPaths()\\` function, or add an additional extension to the endpoint's filename.`,\n hint: (filename) => `Rename \\`${filename}\\` to \\`${filename.replace(/\\.(?:js|ts)/, (m) => `.json` + m)}\\``\n};\nconst ExpectedImage = {\n name: \"ExpectedImage\",\n title: \"Expected src to be an image.\",\n message: (src, typeofOptions, fullOptions) => `Expected \\`src\\` property for \\`getImage\\` or \\`\\` to be either an ESM imported image or a string with the path of a remote image. Received \\`${src}\\` (type: \\`${typeofOptions}\\`).\n\nFull serialized options received: \\`${fullOptions}\\`.`,\n hint: \"This error can often happen because of a wrong path. Make sure the path to your image is correct. If you're passing an async function, make sure to call and await it.\"\n};\nconst ExpectedImageOptions = {\n name: \"ExpectedImageOptions\",\n title: \"Expected image options.\",\n message: (options) => `Expected getImage() parameter to be an object. Received \\`${options}\\`.`\n};\nconst ExpectedNotESMImage = {\n name: \"ExpectedNotESMImage\",\n title: \"Expected image options, not an ESM-imported image.\",\n message: \"An ESM-imported image cannot be passed directly to `getImage()`. Instead, pass an object with the image in the `src` property.\",\n hint: \"Try changing `getImage(myImage)` to `getImage({ src: myImage })`\"\n};\nconst IncompatibleDescriptorOptions = {\n name: \"IncompatibleDescriptorOptions\",\n title: \"Cannot set both `densities` and `widths`\",\n message: \"Only one of `densities` or `widths` can be specified. In most cases, you'll probably want to use only `widths` if you require specific widths.\",\n hint: \"Those attributes are used to construct a `srcset` attribute, which cannot have both `x` and `w` descriptors.\"\n};\nconst ImageNotFound = {\n name: \"ImageNotFound\",\n title: \"Image not found.\",\n message: (imagePath) => `Could not find requested image \\`${imagePath}\\`. Does it exist?`,\n hint: \"This is often caused by a typo in the image path. Please make sure the file exists, and is spelled correctly.\"\n};\nconst NoImageMetadata = {\n name: \"NoImageMetadata\",\n title: \"Could not process image metadata.\",\n message: (imagePath) => `Could not process image metadata${imagePath ? ` for \\`${imagePath}\\`` : \"\"}.`,\n hint: \"This is often caused by a corrupted or malformed image. Re-exporting the image from your image editor may fix this issue.\"\n};\nconst CouldNotTransformImage = {\n name: \"CouldNotTransformImage\",\n title: \"Could not transform image.\",\n message: (imagePath) => `Could not transform image \\`${imagePath}\\`. See the stack trace for more information.`,\n hint: \"This is often caused by a corrupted or malformed image. Re-exporting the image from your image editor may fix this issue.\"\n};\nconst ResponseSentError = {\n name: \"ResponseSentError\",\n title: \"Unable to set response.\",\n message: \"The response has already been sent to the browser and cannot be altered.\"\n};\nconst MiddlewareNoDataOrNextCalled = {\n name: \"MiddlewareNoDataOrNextCalled\",\n title: \"The middleware didn't return a `Response`.\",\n message: \"Make sure your middleware returns a `Response` object, either directly or by returning the `Response` from calling the `next` function.\"\n};\nconst MiddlewareNotAResponse = {\n name: \"MiddlewareNotAResponse\",\n title: \"The middleware returned something that is not a `Response` object.\",\n message: \"Any data returned from middleware must be a valid `Response` object.\"\n};\nconst EndpointDidNotReturnAResponse = {\n name: \"EndpointDidNotReturnAResponse\",\n title: \"The endpoint did not return a `Response`.\",\n message: \"An endpoint must return either a `Response`, or a `Promise` that resolves with a `Response`.\"\n};\nconst LocalsNotAnObject = {\n name: \"LocalsNotAnObject\",\n title: \"Value assigned to `locals` is not accepted.\",\n message: \"`locals` can only be assigned to an object. Other values like numbers, strings, etc. are not accepted.\",\n hint: \"If you tried to remove some information from the `locals` object, try to use `delete` or set the property to `undefined`.\"\n};\nconst AstroResponseHeadersReassigned = {\n name: \"AstroResponseHeadersReassigned\",\n title: \"`Astro.response.headers` must not be reassigned.\",\n message: \"Individual headers can be added to and removed from `Astro.response.headers`, but it must not be replaced with another instance of `Headers` altogether.\",\n hint: \"Consider using `Astro.response.headers.add()`, and `Astro.response.headers.delete()`.\"\n};\nconst MiddlewareCantBeLoaded = {\n name: \"MiddlewareCantBeLoaded\",\n title: \"Can't load the middleware.\",\n message: \"An unknown error was thrown while loading your middleware.\"\n};\nconst LocalImageUsedWrongly = {\n name: \"LocalImageUsedWrongly\",\n title: \"Local images must be imported.\",\n message: (imageFilePath) => `\\`Image\\`'s and \\`getImage\\`'s \\`src\\` parameter must be an imported image or an URL, it cannot be a string filepath. Received \\`${imageFilePath}\\`.`,\n hint: \"If you want to use an image from your `src` folder, you need to either import it or if the image is coming from a content collection, use the [image() schema helper](https://docs.astro.build/en/guides/images/#images-in-content-collections). See https://docs.astro.build/en/guides/images/#src-required for more information on the `src` property.\"\n};\nconst AstroGlobUsedOutside = {\n name: \"AstroGlobUsedOutside\",\n title: \"Astro.glob() used outside of an Astro file.\",\n message: (globStr) => `\\`Astro.glob(${globStr})\\` can only be used in \\`.astro\\` files. \\`import.meta.glob(${globStr})\\` can be used instead to achieve a similar result.`,\n hint: \"See Vite's documentation on `import.meta.glob` for more information: https://vitejs.dev/guide/features.html#glob-import\"\n};\nconst AstroGlobNoMatch = {\n name: \"AstroGlobNoMatch\",\n title: \"Astro.glob() did not match any files.\",\n message: (globStr) => `\\`Astro.glob(${globStr})\\` did not return any matching files.`,\n hint: \"Check the pattern for typos.\"\n};\nconst RedirectWithNoLocation = {\n name: \"RedirectWithNoLocation\",\n title: \"A redirect must be given a location with the `Location` header.\"\n};\nconst InvalidDynamicRoute = {\n name: \"InvalidDynamicRoute\",\n title: \"Invalid dynamic route.\",\n message: (route, invalidParam, received) => `The ${invalidParam} param for route ${route} is invalid. Received **${received}**.`\n};\nconst MissingSharp = {\n name: \"MissingSharp\",\n title: \"Could not find Sharp.\",\n message: \"Could not find Sharp. Please install Sharp (`sharp`) manually into your project or migrate to another image service.\",\n hint: \"See Sharp's installation instructions for more information: https://sharp.pixelplumbing.com/install. If you are not relying on `astro:assets` to optimize, transform, or process any images, you can configure a passthrough image service instead of installing Sharp. See https://docs.astro.build/en/reference/errors/missing-sharp for more information.\\n\\nSee https://docs.astro.build/en/guides/images/#default-image-service for more information on how to migrate to another image service.\"\n};\nconst UnknownViteError = {\n name: \"UnknownViteError\",\n title: \"Unknown Vite Error.\"\n};\nconst FailedToLoadModuleSSR = {\n name: \"FailedToLoadModuleSSR\",\n title: \"Could not import file.\",\n message: (importName) => `Could not import \\`${importName}\\`.`,\n hint: \"This is often caused by a typo in the import path. Please make sure the file exists.\"\n};\nconst InvalidGlob = {\n name: \"InvalidGlob\",\n title: \"Invalid glob pattern.\",\n message: (globPattern) => `Invalid glob pattern: \\`${globPattern}\\`. Glob patterns must start with './', '../' or '/'.`,\n hint: \"See https://docs.astro.build/en/guides/imports/#glob-patterns for more information on supported glob patterns.\"\n};\nconst FailedToFindPageMapSSR = {\n name: \"FailedToFindPageMapSSR\",\n title: \"Astro couldn't find the correct page to render\",\n message: \"Astro couldn't find the correct page to render, probably because it wasn't correctly mapped for SSR usage. This is an internal error. Please file an issue.\"\n};\nconst MissingLocale = {\n name: \"MissingLocaleError\",\n title: \"The provided locale does not exist.\",\n message: (locale) => `The locale/path \\`${locale}\\` does not exist in the configured \\`i18n.locales\\`.`\n};\nconst MissingIndexForInternationalization = {\n name: \"MissingIndexForInternationalizationError\",\n title: \"Index page not found.\",\n message: (defaultLocale) => `Could not find index page. A root index page is required in order to create a redirect to the index URL of the default locale. (\\`/${defaultLocale}\\`)`,\n hint: (src) => `Create an index page (\\`index.astro, index.md, etc.\\`) in \\`${src}\\`.`\n};\nconst IncorrectStrategyForI18n = {\n name: \"IncorrectStrategyForI18n\",\n title: \"You can't use the current function with the current strategy\",\n message: (functionName) => `The function \\`${functionName}\\` can only be used when the \\`i18n.routing.strategy\\` is set to \\`\"manual\"\\`.`\n};\nconst NoPrerenderedRoutesWithDomains = {\n name: \"NoPrerenderedRoutesWithDomains\",\n title: \"Prerendered routes aren't supported when internationalization domains are enabled.\",\n message: (component) => `Static pages aren't yet supported with multiple domains. To enable this feature, you must disable prerendering for the page ${component}`\n};\nconst MissingMiddlewareForInternationalization = {\n name: \"MissingMiddlewareForInternationalization\",\n title: \"Enabled manual internationalization routing without having a middleware.\",\n message: \"Your configuration setting `i18n.routing: 'manual'` requires you to provide your own i18n `middleware` file.\"\n};\nconst CantRenderPage = {\n name: \"CantRenderPage\",\n title: \"Astro can't render the route.\",\n message: \"Astro cannot find any content to render for this route. There is no file or redirect associated with this route.\",\n hint: \"If you expect to find a route here, this may be an Astro bug. Please file an issue/restart the dev server\"\n};\nconst UnhandledRejection = {\n name: \"UnhandledRejection\",\n title: \"Unhandled rejection\",\n message: (stack) => `Astro detected an unhandled rejection. Here's the stack trace:\n${stack}`,\n hint: \"Make sure your promises all have an `await` or a `.catch()` handler.\"\n};\nconst i18nNotEnabled = {\n name: \"i18nNotEnabled\",\n title: \"i18n Not Enabled\",\n message: \"The `astro:i18n` module can not be used without enabling i18n in your Astro config.\",\n hint: \"See https://docs.astro.build/en/guides/internationalization for a guide on setting up i18n.\"\n};\nconst i18nNoLocaleFoundInPath = {\n name: \"i18nNoLocaleFoundInPath\",\n title: \"The path doesn't contain any locale\",\n message: \"You tried to use an i18n utility on a path that doesn't contain any locale. You can use `pathHasLocale` first to determine if the path has a locale.\"\n};\nconst RouteNotFound = {\n name: \"RouteNotFound\",\n title: \"Route not found.\",\n message: `Astro could not find a route that matches the one you requested.`\n};\nconst EnvInvalidVariables = {\n name: \"EnvInvalidVariables\",\n title: \"Invalid Environment Variables\",\n message: (errors) => `The following environment variables defined in \\`experimental.env.schema\\` are invalid:\n\n${errors.map((err) => `- ${err}`).join(\"\\n\")}\n`\n};\nconst EnvUnsupportedGetSecret = {\n name: \"EnvUnsupportedGetSecret\",\n title: \"Unsupported astro:env getSecret\",\n message: \"`astro:env/server` exported function `getSecret` is not supported by your adapter.\"\n};\nconst ServerOnlyModule = {\n name: \"ServerOnlyModule\",\n title: \"Module is only available server-side\",\n message: (name) => `The \"${name}\" module is only available server-side.`\n};\nconst RewriteWithBodyUsed = {\n name: \"RewriteWithBodyUsed\",\n title: \"Cannot use Astro.rewrite after the request body has been read\",\n message: \"Astro.rewrite() cannot be used if the request body has already been read. If you need to read the body, first clone the request.\"\n};\nconst UnknownFilesystemError = {\n name: \"UnknownFilesystemError\",\n title: \"An unknown error occurred while reading or writing files to disk.\",\n hint: \"It can be caused by many things, eg. missing permissions or a file not existing we attempt to read. Check the error cause for more details.\"\n};\nconst UnknownCSSError = {\n name: \"UnknownCSSError\",\n title: \"Unknown CSS Error.\"\n};\nconst CSSSyntaxError = {\n name: \"CSSSyntaxError\",\n title: \"CSS Syntax Error.\"\n};\nconst UnknownMarkdownError = {\n name: \"UnknownMarkdownError\",\n title: \"Unknown Markdown Error.\"\n};\nconst MarkdownFrontmatterParseError = {\n name: \"MarkdownFrontmatterParseError\",\n title: \"Failed to parse Markdown frontmatter.\"\n};\nconst InvalidFrontmatterInjectionError = {\n name: \"InvalidFrontmatterInjectionError\",\n title: \"Invalid frontmatter injection.\",\n message: 'A remark or rehype plugin attempted to inject invalid frontmatter. Ensure \"astro.frontmatter\" is set to a valid JSON object that is not `null` or `undefined`.',\n hint: \"See the frontmatter injection docs https://docs.astro.build/en/guides/markdown-content/#modifying-frontmatter-programmatically for more information.\"\n};\nconst MdxIntegrationMissingError = {\n name: \"MdxIntegrationMissingError\",\n title: \"MDX integration missing.\",\n message: (file) => `Unable to render ${file}. Ensure that the \\`@astrojs/mdx\\` integration is installed.`,\n hint: \"See the MDX integration docs for installation and usage instructions: https://docs.astro.build/en/guides/integrations-guide/mdx/\"\n};\nconst UnknownConfigError = {\n name: \"UnknownConfigError\",\n title: \"Unknown configuration error.\"\n};\nconst ConfigNotFound = {\n name: \"ConfigNotFound\",\n title: \"Specified configuration file not found.\",\n message: (configFile) => `Unable to resolve \\`--config \"${configFile}\"\\`. Does the file exist?`\n};\nconst ConfigLegacyKey = {\n name: \"ConfigLegacyKey\",\n title: \"Legacy configuration detected.\",\n message: (legacyConfigKey) => `Legacy configuration detected: \\`${legacyConfigKey}\\`.`,\n hint: \"Please update your configuration to the new format.\\nSee https://astro.build/config for more information.\"\n};\nconst UnknownCLIError = {\n name: \"UnknownCLIError\",\n title: \"Unknown CLI Error.\"\n};\nconst GenerateContentTypesError = {\n name: \"GenerateContentTypesError\",\n title: \"Failed to generate content types.\",\n message: (errorMessage) => `\\`astro sync\\` command failed to generate content collection types: ${errorMessage}`,\n hint: \"Check your `src/content/config.*` file for typos.\"\n};\nconst UnknownContentCollectionError = {\n name: \"UnknownContentCollectionError\",\n title: \"Unknown Content Collection Error.\"\n};\nconst GetEntryDeprecationError = {\n name: \"GetEntryDeprecationError\",\n title: \"Invalid use of `getDataEntryById` or `getEntryBySlug` function.\",\n message: (collection, method) => `The \\`${method}\\` function is deprecated and cannot be used to query the \"${collection}\" collection. Use \\`getEntry\\` instead.`,\n hint: \"Use the `getEntry` or `getCollection` functions to query content layer collections.\"\n};\nconst InvalidContentEntryFrontmatterError = {\n name: \"InvalidContentEntryFrontmatterError\",\n title: \"Content entry frontmatter does not match schema.\",\n message(collection, entryId, error) {\n return [\n `**${String(collection)} \\u2192 ${String(\n entryId\n )}** frontmatter does not match collection schema.`,\n ...error.errors.map((zodError) => zodError.message)\n ].join(\"\\n\");\n },\n hint: \"See https://docs.astro.build/en/guides/content-collections/ for more information on content schemas.\"\n};\nconst InvalidContentEntrySlugError = {\n name: \"InvalidContentEntrySlugError\",\n title: \"Invalid content entry slug.\",\n message(collection, entryId) {\n return `${String(collection)} \\u2192 ${String(\n entryId\n )} has an invalid slug. \\`slug\\` must be a string.`;\n },\n hint: \"See https://docs.astro.build/en/guides/content-collections/ for more on the `slug` field.\"\n};\nconst ContentSchemaContainsSlugError = {\n name: \"ContentSchemaContainsSlugError\",\n title: \"Content Schema should not contain `slug`.\",\n message: (collectionName) => `A content collection schema should not contain \\`slug\\` since it is reserved for slug generation. Remove this from your ${collectionName} collection schema.`,\n hint: \"See https://docs.astro.build/en/guides/content-collections/ for more on the `slug` field.\"\n};\nconst MixedContentDataCollectionError = {\n name: \"MixedContentDataCollectionError\",\n title: \"Content and data cannot be in same collection.\",\n message: (collectionName) => `**${collectionName}** contains a mix of content and data entries. All entries must be of the same type.`,\n hint: \"Store data entries in a new collection separate from your content collection.\"\n};\nconst ContentCollectionTypeMismatchError = {\n name: \"ContentCollectionTypeMismatchError\",\n title: \"Collection contains entries of a different type.\",\n message: (collection, expectedType, actualType) => `${collection} contains ${expectedType} entries, but is configured as a ${actualType} collection.`\n};\nconst DataCollectionEntryParseError = {\n name: \"DataCollectionEntryParseError\",\n title: \"Data collection entry failed to parse.\",\n message(entryId, errorMessage) {\n return `**${entryId}** failed to parse: ${errorMessage}`;\n },\n hint: \"Ensure your data entry is an object with valid JSON (for `.json` entries) or YAML (for `.yaml` entries).\"\n};\nconst DuplicateContentEntrySlugError = {\n name: \"DuplicateContentEntrySlugError\",\n title: \"Duplicate content entry slug.\",\n message(collection, slug, preExisting, alsoFound) {\n return `**${collection}** contains multiple entries with the same slug: \\`${slug}\\`. Slugs must be unique.\n\nEntries: \n- ${preExisting}\n- ${alsoFound}`;\n }\n};\nconst UnsupportedConfigTransformError = {\n name: \"UnsupportedConfigTransformError\",\n title: \"Unsupported transform in content config.\",\n message: (parseError) => `\\`transform()\\` functions in your content config must return valid JSON, or data types compatible with the devalue library (including Dates, Maps, and Sets).\nFull error: ${parseError}`,\n hint: \"See the devalue library for all supported types: https://github.com/rich-harris/devalue\"\n};\nconst ActionsWithoutServerOutputError = {\n name: \"ActionsWithoutServerOutputError\",\n title: \"Actions must be used with server output.\",\n message: \"Actions enabled without setting a server build output. A server is required to create callable backend functions. To deploy routes to a server, add a server adapter to your astro config.\",\n hint: \"Learn about on-demand rendering: https://docs.astro.build/en/basics/rendering-modes/#on-demand-rendered\"\n};\nconst ActionsReturnedInvalidDataError = {\n name: \"ActionsReturnedInvalidDataError\",\n title: \"Action handler returned invalid data.\",\n message: (error) => `Action handler returned invalid data. Handlers should return serializable data types like objects, arrays, strings, and numbers. Parse error: ${error}`,\n hint: \"See the devalue library for all supported types: https://github.com/rich-harris/devalue\"\n};\nconst ActionNotFoundError = {\n name: \"ActionNotFoundError\",\n title: \"Action not found.\",\n message: (actionName) => `The server received a request for an action named \\`${actionName}\\` but could not find a match. If you renamed an action, check that you've updated your \\`actions/index\\` file and your calling code to match.`,\n hint: \"You can run `astro check` to detect type errors caused by mismatched action names.\"\n};\nconst ActionCalledFromServerError = {\n name: \"ActionCalledFromServerError\",\n title: \"Action unexpected called from the server.\",\n message: \"Action called from a server page or endpoint without using `Astro.callAction()`. This wrapper must be used to call actions from server code.\",\n hint: \"See the `Astro.callAction()` reference for usage examples: https://docs.astro.build/en/reference/api-reference/#astrocallaction\"\n};\nconst UnknownError = { name: \"UnknownError\", title: \"Unknown Error.\" };\nexport {\n ActionCalledFromServerError,\n ActionNotFoundError,\n ActionsReturnedInvalidDataError,\n ActionsWithoutServerOutputError,\n AstroGlobNoMatch,\n AstroGlobUsedOutside,\n AstroResponseHeadersReassigned,\n CSSSyntaxError,\n CantRenderPage,\n ClientAddressNotAvailable,\n ConfigLegacyKey,\n ConfigNotFound,\n ContentCollectionTypeMismatchError,\n ContentSchemaContainsSlugError,\n CouldNotTransformImage,\n DataCollectionEntryParseError,\n DuplicateContentEntrySlugError,\n EndpointDidNotReturnAResponse,\n EnvInvalidVariables,\n EnvUnsupportedGetSecret,\n ExpectedImage,\n ExpectedImageOptions,\n ExpectedNotESMImage,\n FailedToFetchRemoteImageDimensions,\n FailedToFindPageMapSSR,\n FailedToLoadModuleSSR,\n GenerateContentTypesError,\n GetEntryDeprecationError,\n GetStaticPathsExpectedParams,\n GetStaticPathsInvalidRouteParam,\n GetStaticPathsRequired,\n ImageMissingAlt,\n ImageNotFound,\n IncompatibleDescriptorOptions,\n IncorrectStrategyForI18n,\n InvalidComponentArgs,\n InvalidContentEntryFrontmatterError,\n InvalidContentEntrySlugError,\n InvalidDynamicRoute,\n InvalidFrontmatterInjectionError,\n InvalidGetStaticPathParam,\n InvalidGetStaticPathsEntry,\n InvalidGetStaticPathsReturn,\n InvalidGlob,\n InvalidImageService,\n InvalidPrerenderExport,\n LocalImageUsedWrongly,\n LocalsNotAnObject,\n MarkdownFrontmatterParseError,\n MdxIntegrationMissingError,\n MiddlewareCantBeLoaded,\n MiddlewareNoDataOrNextCalled,\n MiddlewareNotAResponse,\n MissingImageDimension,\n MissingIndexForInternationalization,\n MissingLocale,\n MissingMediaQueryDirective,\n MissingMiddlewareForInternationalization,\n MissingSharp,\n MixedContentDataCollectionError,\n NoAdapterInstalled,\n NoClientEntrypoint,\n NoClientOnlyHint,\n NoImageMetadata,\n NoMatchingImport,\n NoMatchingRenderer,\n NoMatchingStaticPathFound,\n NoPrerenderedRoutesWithDomains,\n OnlyResponseCanBeReturned,\n PageNumberParamNotFound,\n PrerenderClientAddressNotAvailable,\n PrerenderDynamicEndpointPathCollide,\n RedirectWithNoLocation,\n ReservedSlotName,\n ResponseSentError,\n RewriteWithBodyUsed,\n RouteNotFound,\n ServerOnlyModule,\n StaticClientAddressNotAvailable,\n UnhandledRejection,\n UnknownCLIError,\n UnknownCSSError,\n UnknownCompilerError,\n UnknownConfigError,\n UnknownContentCollectionError,\n UnknownError,\n UnknownFilesystemError,\n UnknownMarkdownError,\n UnknownViteError,\n UnsupportedConfigTransformError,\n UnsupportedImageConversion,\n UnsupportedImageFormat,\n i18nNoLocaleFoundInPath,\n i18nNotEnabled\n};\n","function positionAt(offset, text) {\n const lineOffsets = getLineOffsets(text);\n offset = Math.max(0, Math.min(text.length, offset));\n let low = 0;\n let high = lineOffsets.length;\n if (high === 0) {\n return {\n line: 0,\n column: offset\n };\n }\n while (low <= high) {\n const mid = Math.floor((low + high) / 2);\n const lineOffset = lineOffsets[mid];\n if (lineOffset === offset) {\n return {\n line: mid,\n column: 0\n };\n } else if (offset > lineOffset) {\n low = mid + 1;\n } else {\n high = mid - 1;\n }\n }\n const line = low - 1;\n return { line, column: offset - lineOffsets[line] };\n}\nfunction getLineOffsets(text) {\n const lineOffsets = [];\n let isLineStart = true;\n for (let i = 0; i < text.length; i++) {\n if (isLineStart) {\n lineOffsets.push(i);\n isLineStart = false;\n }\n const ch = text.charAt(i);\n isLineStart = ch === \"\\r\" || ch === \"\\n\";\n if (ch === \"\\r\" && i + 1 < text.length && text.charAt(i + 1) === \"\\n\") {\n i++;\n }\n }\n if (isLineStart && text.length > 0) {\n lineOffsets.push(text.length);\n }\n return lineOffsets;\n}\nfunction isYAMLException(err) {\n return err instanceof Error && err.name === \"YAMLException\";\n}\nfunction formatYAMLException(e) {\n return {\n name: e.name,\n id: e.mark.name,\n loc: { file: e.mark.name, line: e.mark.line + 1, column: e.mark.column },\n message: e.reason,\n stack: e.stack ?? \"\"\n };\n}\nfunction createSafeError(err) {\n if (err instanceof Error || err?.name && err.message) {\n return err;\n } else {\n const error = new Error(JSON.stringify(err));\n error.hint = `To get as much information as possible from your errors, make sure to throw Error objects instead of \\`${typeof err}\\`. See https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Error for more information.`;\n return error;\n }\n}\nfunction normalizeLF(code) {\n return code.replace(/\\r\\n|\\r(?!\\n)|\\n/g, \"\\n\");\n}\nexport {\n createSafeError,\n formatYAMLException,\n isYAMLException,\n normalizeLF,\n positionAt\n};\n","import { normalizeLF } from \"./utils.js\";\nfunction codeFrame(src, loc) {\n if (!loc || loc.line === void 0 || loc.column === void 0) {\n return \"\";\n }\n const lines = normalizeLF(src).split(\"\\n\").map((ln) => ln.replace(/\\t/g, \" \"));\n const visibleLines = [];\n for (let n = -2; n <= 2; n++) {\n if (lines[loc.line + n]) visibleLines.push(loc.line + n);\n }\n let gutterWidth = 0;\n for (const lineNo of visibleLines) {\n let w = `> ${lineNo}`;\n if (w.length > gutterWidth) gutterWidth = w.length;\n }\n let output = \"\";\n for (const lineNo of visibleLines) {\n const isFocusedLine = lineNo === loc.line - 1;\n output += isFocusedLine ? \"> \" : \" \";\n output += `${lineNo + 1} | ${lines[lineNo]}\n`;\n if (isFocusedLine)\n output += `${Array.from({ length: gutterWidth }).join(\" \")} | ${Array.from({\n length: loc.column\n }).join(\" \")}^\n`;\n }\n return output;\n}\nexport {\n codeFrame\n};\n","import { codeFrame } from \"./printer.js\";\nfunction isAstroError(e) {\n return e instanceof AstroError;\n}\nclass AstroError extends Error {\n loc;\n title;\n hint;\n frame;\n type = \"AstroError\";\n constructor(props, options) {\n const { name, title, message, stack, location, hint, frame } = props;\n super(message, options);\n this.title = title;\n this.name = name;\n if (message) this.message = message;\n this.stack = stack ? stack : this.stack;\n this.loc = location;\n this.hint = hint;\n this.frame = frame;\n }\n setLocation(location) {\n this.loc = location;\n }\n setName(name) {\n this.name = name;\n }\n setMessage(message) {\n this.message = message;\n }\n setHint(hint) {\n this.hint = hint;\n }\n setFrame(source, location) {\n this.frame = codeFrame(source, location);\n }\n static is(err) {\n return err.type === \"AstroError\";\n }\n}\nclass CompilerError extends AstroError {\n type = \"CompilerError\";\n constructor(props, options) {\n super(props, options);\n }\n static is(err) {\n return err.type === \"CompilerError\";\n }\n}\nclass CSSError extends AstroError {\n type = \"CSSError\";\n static is(err) {\n return err.type === \"CSSError\";\n }\n}\nclass MarkdownError extends AstroError {\n type = \"MarkdownError\";\n static is(err) {\n return err.type === \"MarkdownError\";\n }\n}\nclass InternalError extends AstroError {\n type = \"InternalError\";\n static is(err) {\n return err.type === \"InternalError\";\n }\n}\nclass AggregateError extends AstroError {\n type = \"AggregateError\";\n errors;\n // Despite being a collection of errors, AggregateError still needs to have a main error attached to it\n // This is because Vite expects every thrown errors handled during HMR to be, well, Error and have a message\n constructor(props, options) {\n super(props, options);\n this.errors = props.errors;\n }\n static is(err) {\n return err.type === \"AggregateError\";\n }\n}\nconst astroConfigZodErrors = /* @__PURE__ */ new WeakSet();\nfunction isAstroConfigZodError(error) {\n return astroConfigZodErrors.has(error);\n}\nfunction trackAstroConfigZodError(error) {\n astroConfigZodErrors.add(error);\n}\nclass AstroUserError extends Error {\n type = \"AstroUserError\";\n /**\n * A message that explains to the user how they can fix the error.\n */\n hint;\n name = \"AstroUserError\";\n constructor(message, hint) {\n super();\n this.message = message;\n this.hint = hint;\n }\n static is(err) {\n return err.type === \"AstroUserError\";\n }\n}\nexport {\n AggregateError,\n AstroError,\n AstroUserError,\n CSSError,\n CompilerError,\n InternalError,\n MarkdownError,\n isAstroConfigZodError,\n isAstroError,\n trackAstroConfigZodError\n};\n","import { AstroError, AstroErrorData } from \"../../core/errors/index.js\";\nfunction validateArgs(args) {\n if (args.length !== 3) return false;\n if (!args[0] || typeof args[0] !== \"object\") return false;\n return true;\n}\nfunction baseCreateComponent(cb, moduleId, propagation) {\n const name = moduleId?.split(\"/\").pop()?.replace(\".astro\", \"\") ?? \"\";\n const fn = (...args) => {\n if (!validateArgs(args)) {\n throw new AstroError({\n ...AstroErrorData.InvalidComponentArgs,\n message: AstroErrorData.InvalidComponentArgs.message(name)\n });\n }\n return cb(...args);\n };\n Object.defineProperty(fn, \"name\", { value: name, writable: false });\n fn.isAstroComponentFactory = true;\n fn.moduleId = moduleId;\n fn.propagation = propagation;\n return fn;\n}\nfunction createComponentWithOptions(opts) {\n const cb = baseCreateComponent(opts.factory, opts.moduleId, opts.propagation);\n return cb;\n}\nfunction createComponent(arg1, moduleId, propagation) {\n if (typeof arg1 === \"function\") {\n return baseCreateComponent(arg1, moduleId, propagation);\n } else {\n return createComponentWithOptions(arg1);\n }\n}\nexport {\n createComponent\n};\n","const ASTRO_VERSION = \"4.15.3\";\nconst REROUTE_DIRECTIVE_HEADER = \"X-Astro-Reroute\";\nconst REWRITE_DIRECTIVE_HEADER_KEY = \"X-Astro-Rewrite\";\nconst REWRITE_DIRECTIVE_HEADER_VALUE = \"yes\";\nconst ROUTE_TYPE_HEADER = \"X-Astro-Route-Type\";\nconst DEFAULT_404_COMPONENT = \"astro-default-404.astro\";\nconst DEFAULT_500_COMPONENT = \"astro-default-500.astro\";\nconst REDIRECT_STATUS_CODES = [301, 302, 303, 307, 308, 300, 304];\nconst REROUTABLE_STATUS_CODES = [404, 500];\nconst clientAddressSymbol = Symbol.for(\"astro.clientAddress\");\nconst clientLocalsSymbol = Symbol.for(\"astro.locals\");\nconst responseSentSymbol = Symbol.for(\"astro.responseSent\");\nconst SUPPORTED_MARKDOWN_FILE_EXTENSIONS = [\n \".markdown\",\n \".mdown\",\n \".mkdn\",\n \".mkd\",\n \".mdwn\",\n \".md\"\n];\nconst MIDDLEWARE_PATH_SEGMENT_NAME = \"middleware\";\nexport {\n ASTRO_VERSION,\n DEFAULT_404_COMPONENT,\n DEFAULT_500_COMPONENT,\n MIDDLEWARE_PATH_SEGMENT_NAME,\n REDIRECT_STATUS_CODES,\n REROUTABLE_STATUS_CODES,\n REROUTE_DIRECTIVE_HEADER,\n REWRITE_DIRECTIVE_HEADER_KEY,\n REWRITE_DIRECTIVE_HEADER_VALUE,\n ROUTE_TYPE_HEADER,\n SUPPORTED_MARKDOWN_FILE_EXTENSIONS,\n clientAddressSymbol,\n clientLocalsSymbol,\n responseSentSymbol\n};\n","import { ASTRO_VERSION } from \"../../core/constants.js\";\nimport { AstroError, AstroErrorData } from \"../../core/errors/index.js\";\nfunction createAstroGlobFn() {\n const globHandler = (importMetaGlobResult) => {\n if (typeof importMetaGlobResult === \"string\") {\n throw new AstroError({\n ...AstroErrorData.AstroGlobUsedOutside,\n message: AstroErrorData.AstroGlobUsedOutside.message(JSON.stringify(importMetaGlobResult))\n });\n }\n let allEntries = [...Object.values(importMetaGlobResult)];\n if (allEntries.length === 0) {\n throw new AstroError({\n ...AstroErrorData.AstroGlobNoMatch,\n message: AstroErrorData.AstroGlobNoMatch.message(JSON.stringify(importMetaGlobResult))\n });\n }\n return Promise.all(allEntries.map((fn) => fn()));\n };\n return globHandler;\n}\nfunction createAstro(site) {\n return {\n // TODO: this is no longer necessary for `Astro.site`\n // but it somehow allows working around caching issues in content collections for some tests\n site: site ? new URL(site) : void 0,\n generator: `Astro v${ASTRO_VERSION}`,\n glob: createAstroGlobFn()\n };\n}\nexport {\n createAstro\n};\n","function isPromise(value) {\n return !!value && typeof value === \"object\" && \"then\" in value && typeof value.then === \"function\";\n}\nasync function* streamAsyncIterator(stream) {\n const reader = stream.getReader();\n try {\n while (true) {\n const { done, value } = await reader.read();\n if (done) return;\n yield value;\n }\n } finally {\n reader.releaseLock();\n }\n}\nexport {\n isPromise,\n streamAsyncIterator\n};\n","import { escape } from \"html-escaper\";\nimport { streamAsyncIterator } from \"./util.js\";\nconst escapeHTML = escape;\nclass HTMLBytes extends Uint8Array {\n}\nObject.defineProperty(HTMLBytes.prototype, Symbol.toStringTag, {\n get() {\n return \"HTMLBytes\";\n }\n});\nclass HTMLString extends String {\n get [Symbol.toStringTag]() {\n return \"HTMLString\";\n }\n}\nconst markHTMLString = (value) => {\n if (value instanceof HTMLString) {\n return value;\n }\n if (typeof value === \"string\") {\n return new HTMLString(value);\n }\n return value;\n};\nfunction isHTMLString(value) {\n return Object.prototype.toString.call(value) === \"[object HTMLString]\";\n}\nfunction markHTMLBytes(bytes) {\n return new HTMLBytes(bytes);\n}\nfunction isHTMLBytes(value) {\n return Object.prototype.toString.call(value) === \"[object HTMLBytes]\";\n}\nfunction hasGetReader(obj) {\n return typeof obj.getReader === \"function\";\n}\nasync function* unescapeChunksAsync(iterable) {\n if (hasGetReader(iterable)) {\n for await (const chunk of streamAsyncIterator(iterable)) {\n yield unescapeHTML(chunk);\n }\n } else {\n for await (const chunk of iterable) {\n yield unescapeHTML(chunk);\n }\n }\n}\nfunction* unescapeChunks(iterable) {\n for (const chunk of iterable) {\n yield unescapeHTML(chunk);\n }\n}\nfunction unescapeHTML(str) {\n if (!!str && typeof str === \"object\") {\n if (str instanceof Uint8Array) {\n return markHTMLBytes(str);\n } else if (str instanceof Response && str.body) {\n const body = str.body;\n return unescapeChunksAsync(body);\n } else if (typeof str.then === \"function\") {\n return Promise.resolve(str).then((value) => {\n return unescapeHTML(value);\n });\n } else if (str[Symbol.for(\"astro:slot-string\")]) {\n return str;\n } else if (Symbol.iterator in str) {\n return unescapeChunks(str);\n } else if (Symbol.asyncIterator in str || hasGetReader(str)) {\n return unescapeChunksAsync(str);\n }\n }\n return markHTMLString(str);\n}\nexport {\n HTMLBytes,\n HTMLString,\n escapeHTML,\n isHTMLBytes,\n isHTMLString,\n markHTMLString,\n unescapeHTML\n};\n","const RenderInstructionSymbol = Symbol.for(\"astro:render\");\nfunction createRenderInstruction(instruction) {\n return Object.defineProperty(instruction, RenderInstructionSymbol, {\n value: true\n });\n}\nfunction isRenderInstruction(chunk) {\n return chunk && typeof chunk === \"object\" && chunk[RenderInstructionSymbol];\n}\nexport {\n createRenderInstruction,\n isRenderInstruction\n};\n","const PROP_TYPE = {\n Value: 0,\n JSON: 1,\n // Actually means Array\n RegExp: 2,\n Date: 3,\n Map: 4,\n Set: 5,\n BigInt: 6,\n URL: 7,\n Uint8Array: 8,\n Uint16Array: 9,\n Uint32Array: 10\n};\nfunction serializeArray(value, metadata = {}, parents = /* @__PURE__ */ new WeakSet()) {\n if (parents.has(value)) {\n throw new Error(`Cyclic reference detected while serializing props for <${metadata.displayName} client:${metadata.hydrate}>!\n\nCyclic references cannot be safely serialized for client-side usage. Please remove the cyclic reference.`);\n }\n parents.add(value);\n const serialized = value.map((v) => {\n return convertToSerializedForm(v, metadata, parents);\n });\n parents.delete(value);\n return serialized;\n}\nfunction serializeObject(value, metadata = {}, parents = /* @__PURE__ */ new WeakSet()) {\n if (parents.has(value)) {\n throw new Error(`Cyclic reference detected while serializing props for <${metadata.displayName} client:${metadata.hydrate}>!\n\nCyclic references cannot be safely serialized for client-side usage. Please remove the cyclic reference.`);\n }\n parents.add(value);\n const serialized = Object.fromEntries(\n Object.entries(value).map(([k, v]) => {\n return [k, convertToSerializedForm(v, metadata, parents)];\n })\n );\n parents.delete(value);\n return serialized;\n}\nfunction convertToSerializedForm(value, metadata = {}, parents = /* @__PURE__ */ new WeakSet()) {\n const tag = Object.prototype.toString.call(value);\n switch (tag) {\n case \"[object Date]\": {\n return [PROP_TYPE.Date, value.toISOString()];\n }\n case \"[object RegExp]\": {\n return [PROP_TYPE.RegExp, value.source];\n }\n case \"[object Map]\": {\n return [PROP_TYPE.Map, serializeArray(Array.from(value), metadata, parents)];\n }\n case \"[object Set]\": {\n return [PROP_TYPE.Set, serializeArray(Array.from(value), metadata, parents)];\n }\n case \"[object BigInt]\": {\n return [PROP_TYPE.BigInt, value.toString()];\n }\n case \"[object URL]\": {\n return [PROP_TYPE.URL, value.toString()];\n }\n case \"[object Array]\": {\n return [PROP_TYPE.JSON, serializeArray(value, metadata, parents)];\n }\n case \"[object Uint8Array]\": {\n return [PROP_TYPE.Uint8Array, Array.from(value)];\n }\n case \"[object Uint16Array]\": {\n return [PROP_TYPE.Uint16Array, Array.from(value)];\n }\n case \"[object Uint32Array]\": {\n return [PROP_TYPE.Uint32Array, Array.from(value)];\n }\n default: {\n if (value !== null && typeof value === \"object\") {\n return [PROP_TYPE.Value, serializeObject(value, metadata, parents)];\n } else if (value === void 0) {\n return [PROP_TYPE.Value];\n } else {\n return [PROP_TYPE.Value, value];\n }\n }\n }\n}\nfunction serializeProps(props, metadata) {\n const serialized = JSON.stringify(serializeObject(props, metadata));\n return serialized;\n}\nexport {\n serializeProps\n};\n","import { AstroError, AstroErrorData } from \"../../core/errors/index.js\";\nimport { escapeHTML } from \"./escape.js\";\nimport { serializeProps } from \"./serialize.js\";\nconst transitionDirectivesToCopyOnIsland = Object.freeze([\n \"data-astro-transition-scope\",\n \"data-astro-transition-persist\",\n \"data-astro-transition-persist-props\"\n]);\nfunction extractDirectives(inputProps, clientDirectives) {\n let extracted = {\n isPage: false,\n hydration: null,\n props: {},\n propsWithoutTransitionAttributes: {}\n };\n for (const [key, value] of Object.entries(inputProps)) {\n if (key.startsWith(\"server:\")) {\n if (key === \"server:root\") {\n extracted.isPage = true;\n }\n }\n if (key.startsWith(\"client:\")) {\n if (!extracted.hydration) {\n extracted.hydration = {\n directive: \"\",\n value: \"\",\n componentUrl: \"\",\n componentExport: { value: \"\" }\n };\n }\n switch (key) {\n case \"client:component-path\": {\n extracted.hydration.componentUrl = value;\n break;\n }\n case \"client:component-export\": {\n extracted.hydration.componentExport.value = value;\n break;\n }\n case \"client:component-hydration\": {\n break;\n }\n case \"client:display-name\": {\n break;\n }\n default: {\n extracted.hydration.directive = key.split(\":\")[1];\n extracted.hydration.value = value;\n if (!clientDirectives.has(extracted.hydration.directive)) {\n const hydrationMethods = Array.from(clientDirectives.keys()).map((d) => `client:${d}`).join(\", \");\n throw new Error(\n `Error: invalid hydration directive \"${key}\". Supported hydration methods: ${hydrationMethods}`\n );\n }\n if (extracted.hydration.directive === \"media\" && typeof extracted.hydration.value !== \"string\") {\n throw new AstroError(AstroErrorData.MissingMediaQueryDirective);\n }\n break;\n }\n }\n } else {\n extracted.props[key] = value;\n if (!transitionDirectivesToCopyOnIsland.includes(key)) {\n extracted.propsWithoutTransitionAttributes[key] = value;\n }\n }\n }\n for (const sym of Object.getOwnPropertySymbols(inputProps)) {\n extracted.props[sym] = inputProps[sym];\n extracted.propsWithoutTransitionAttributes[sym] = inputProps[sym];\n }\n return extracted;\n}\nasync function generateHydrateScript(scriptOptions, metadata) {\n const { renderer, result, astroId, props, attrs } = scriptOptions;\n const { hydrate, componentUrl, componentExport } = metadata;\n if (!componentExport.value) {\n throw new AstroError({\n ...AstroErrorData.NoMatchingImport,\n message: AstroErrorData.NoMatchingImport.message(metadata.displayName)\n });\n }\n const island = {\n children: \"\",\n props: {\n // This is for HMR, probably can avoid it in prod\n uid: astroId\n }\n };\n if (attrs) {\n for (const [key, value] of Object.entries(attrs)) {\n island.props[key] = escapeHTML(value);\n }\n }\n island.props[\"component-url\"] = await result.resolve(decodeURI(componentUrl));\n if (renderer.clientEntrypoint) {\n island.props[\"component-export\"] = componentExport.value;\n island.props[\"renderer-url\"] = await result.resolve(decodeURI(renderer.clientEntrypoint));\n island.props[\"props\"] = escapeHTML(serializeProps(props, metadata));\n }\n island.props[\"ssr\"] = \"\";\n island.props[\"client\"] = hydrate;\n let beforeHydrationUrl = await result.resolve(\"astro:scripts/before-hydration.js\");\n if (beforeHydrationUrl.length) {\n island.props[\"before-hydration-url\"] = beforeHydrationUrl;\n }\n island.props[\"opts\"] = escapeHTML(\n JSON.stringify({\n name: metadata.displayName,\n value: metadata.hydrateArgs || \"\"\n })\n );\n transitionDirectivesToCopyOnIsland.forEach((name) => {\n if (typeof props[name] !== \"undefined\") {\n island.props[name] = props[name];\n }\n });\n return island;\n}\nexport {\n extractDirectives,\n generateHydrateScript\n};\n","/**\n * shortdash - https://github.com/bibig/node-shorthash\n *\n * @license\n *\n * (The MIT License)\n *\n * Copyright (c) 2013 Bibig \n *\n * Permission is hereby granted, free of charge, to any person\n * obtaining a copy of this software and associated documentation\n * files (the \"Software\"), to deal in the Software without\n * restriction, including without limitation the rights to use,\n * copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the\n * Software is furnished to do so, subject to the following\n * conditions:\n *\n * The above copyright notice and this permission notice shall be\n * included in all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\n * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES\n * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\n * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT\n * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,\n * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING\n * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR\n * OTHER DEALINGS IN THE SOFTWARE.\n */\nconst dictionary = \"0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXY\";\nconst binary = dictionary.length;\nfunction bitwise(str) {\n let hash = 0;\n if (str.length === 0) return hash;\n for (let i = 0; i < str.length; i++) {\n const ch = str.charCodeAt(i);\n hash = (hash << 5) - hash + ch;\n hash = hash & hash;\n }\n return hash;\n}\nfunction shorthash(text) {\n let num;\n let result = \"\";\n let integer = bitwise(text);\n const sign = integer < 0 ? \"Z\" : \"\";\n integer = Math.abs(integer);\n while (integer >= binary) {\n num = integer % binary;\n integer = Math.floor(integer / binary);\n result = dictionary[num] + result;\n }\n if (integer > 0) {\n result = dictionary[integer] + result;\n }\n return sign + result;\n}\nexport {\n shorthash\n};\n","function isAstroComponentFactory(obj) {\n return obj == null ? false : obj.isAstroComponentFactory === true;\n}\nfunction isAPropagatingComponent(result, factory) {\n let hint = factory.propagation || \"none\";\n if (factory.moduleId && result.componentMetadata.has(factory.moduleId) && hint === \"none\") {\n hint = result.componentMetadata.get(factory.moduleId).propagation;\n }\n return hint === \"in-tree\" || hint === \"self\";\n}\nexport {\n isAPropagatingComponent,\n isAstroComponentFactory\n};\n","const headAndContentSym = Symbol.for(\"astro.headAndContent\");\nfunction isHeadAndContent(obj) {\n return typeof obj === \"object\" && !!obj[headAndContentSym];\n}\nfunction createHeadAndContent(head, content) {\n return {\n [headAndContentSym]: true,\n head,\n content\n };\n}\nexport {\n createHeadAndContent,\n isHeadAndContent\n};\n","var astro_island_prebuilt_dev_default = `(()=>{var A=Object.defineProperty;var g=(i,o,a)=>o in i?A(i,o,{enumerable:!0,configurable:!0,writable:!0,value:a}):i[o]=a;var l=(i,o,a)=>g(i,typeof o!=\"symbol\"?o+\"\":o,a);{let i={0:t=>y(t),1:t=>a(t),2:t=>new RegExp(t),3:t=>new Date(t),4:t=>new Map(a(t)),5:t=>new Set(a(t)),6:t=>BigInt(t),7:t=>new URL(t),8:t=>new Uint8Array(t),9:t=>new Uint16Array(t),10:t=>new Uint32Array(t)},o=t=>{let[h,e]=t;return h in i?i[h](e):void 0},a=t=>t.map(o),y=t=>typeof t!=\"object\"||t===null?t:Object.fromEntries(Object.entries(t).map(([h,e])=>[h,o(e)]));class f extends HTMLElement{constructor(){super(...arguments);l(this,\"Component\");l(this,\"hydrator\");l(this,\"hydrate\",async()=>{var b;if(!this.hydrator||!this.isConnected)return;let e=(b=this.parentElement)==null?void 0:b.closest(\"astro-island[ssr]\");if(e){e.addEventListener(\"astro:hydrate\",this.hydrate,{once:!0});return}let c=this.querySelectorAll(\"astro-slot\"),n={},p=this.querySelectorAll(\"template[data-astro-template]\");for(let r of p){let s=r.closest(this.tagName);s!=null&&s.isSameNode(this)&&(n[r.getAttribute(\"data-astro-template\")||\"default\"]=r.innerHTML,r.remove())}for(let r of c){let s=r.closest(this.tagName);s!=null&&s.isSameNode(this)&&(n[r.getAttribute(\"name\")||\"default\"]=r.innerHTML)}let u;try{u=this.hasAttribute(\"props\")?y(JSON.parse(this.getAttribute(\"props\"))):{}}catch(r){let s=this.getAttribute(\"component-url\")||\"\",v=this.getAttribute(\"component-export\");throw v&&(s+=\\` (export \\${v})\\`),console.error(\\`[hydrate] Error parsing props for component \\${s}\\`,this.getAttribute(\"props\"),r),r}let d,m=this.hydrator(this);d=performance.now(),await m(this.Component,u,n,{client:this.getAttribute(\"client\")}),d&&this.setAttribute(\"client-render-time\",(performance.now()-d).toString()),this.removeAttribute(\"ssr\"),this.dispatchEvent(new CustomEvent(\"astro:hydrate\"))});l(this,\"unmount\",()=>{this.isConnected||this.dispatchEvent(new CustomEvent(\"astro:unmount\"))})}disconnectedCallback(){document.removeEventListener(\"astro:after-swap\",this.unmount),document.addEventListener(\"astro:after-swap\",this.unmount,{once:!0})}connectedCallback(){if(!this.hasAttribute(\"await-children\")||document.readyState===\"interactive\"||document.readyState===\"complete\")this.childrenConnectedCallback();else{let e=()=>{document.removeEventListener(\"DOMContentLoaded\",e),c.disconnect(),this.childrenConnectedCallback()},c=new MutationObserver(()=>{var n;((n=this.lastChild)==null?void 0:n.nodeType)===Node.COMMENT_NODE&&this.lastChild.nodeValue===\"astro:end\"&&(this.lastChild.remove(),e())});c.observe(this,{childList:!0}),document.addEventListener(\"DOMContentLoaded\",e)}}async childrenConnectedCallback(){let e=this.getAttribute(\"before-hydration-url\");e&&await import(e),this.start()}async start(){let e=JSON.parse(this.getAttribute(\"opts\")),c=this.getAttribute(\"client\");if(Astro[c]===void 0){window.addEventListener(\\`astro:\\${c}\\`,()=>this.start(),{once:!0});return}try{await Astro[c](async()=>{let n=this.getAttribute(\"renderer-url\"),[p,{default:u}]=await Promise.all([import(this.getAttribute(\"component-url\")),n?import(n):()=>()=>{}]),d=this.getAttribute(\"component-export\")||\"default\";if(!d.includes(\".\"))this.Component=p[d];else{this.Component=p;for(let m of d.split(\".\"))this.Component=this.Component[m]}return this.hydrator=u,this.hydrate},e,this)}catch(n){console.error(\\`[astro-island] Error hydrating \\${this.getAttribute(\"component-url\")}\\`,n)}}attributeChangedCallback(){this.hydrate()}}l(f,\"observedAttributes\",[\"props\"]),customElements.get(\"astro-island\")||customElements.define(\"astro-island\",f)}})();`;\nexport {\n astro_island_prebuilt_dev_default as default\n};\n","var astro_island_prebuilt_default = `(()=>{var A=Object.defineProperty;var g=(i,o,a)=>o in i?A(i,o,{enumerable:!0,configurable:!0,writable:!0,value:a}):i[o]=a;var d=(i,o,a)=>g(i,typeof o!=\"symbol\"?o+\"\":o,a);{let i={0:t=>m(t),1:t=>a(t),2:t=>new RegExp(t),3:t=>new Date(t),4:t=>new Map(a(t)),5:t=>new Set(a(t)),6:t=>BigInt(t),7:t=>new URL(t),8:t=>new Uint8Array(t),9:t=>new Uint16Array(t),10:t=>new Uint32Array(t)},o=t=>{let[l,e]=t;return l in i?i[l](e):void 0},a=t=>t.map(o),m=t=>typeof t!=\"object\"||t===null?t:Object.fromEntries(Object.entries(t).map(([l,e])=>[l,o(e)]));class y extends HTMLElement{constructor(){super(...arguments);d(this,\"Component\");d(this,\"hydrator\");d(this,\"hydrate\",async()=>{var b;if(!this.hydrator||!this.isConnected)return;let e=(b=this.parentElement)==null?void 0:b.closest(\"astro-island[ssr]\");if(e){e.addEventListener(\"astro:hydrate\",this.hydrate,{once:!0});return}let c=this.querySelectorAll(\"astro-slot\"),n={},h=this.querySelectorAll(\"template[data-astro-template]\");for(let r of h){let s=r.closest(this.tagName);s!=null&&s.isSameNode(this)&&(n[r.getAttribute(\"data-astro-template\")||\"default\"]=r.innerHTML,r.remove())}for(let r of c){let s=r.closest(this.tagName);s!=null&&s.isSameNode(this)&&(n[r.getAttribute(\"name\")||\"default\"]=r.innerHTML)}let p;try{p=this.hasAttribute(\"props\")?m(JSON.parse(this.getAttribute(\"props\"))):{}}catch(r){let s=this.getAttribute(\"component-url\")||\"\",v=this.getAttribute(\"component-export\");throw v&&(s+=\\` (export \\${v})\\`),console.error(\\`[hydrate] Error parsing props for component \\${s}\\`,this.getAttribute(\"props\"),r),r}let u;await this.hydrator(this)(this.Component,p,n,{client:this.getAttribute(\"client\")}),this.removeAttribute(\"ssr\"),this.dispatchEvent(new CustomEvent(\"astro:hydrate\"))});d(this,\"unmount\",()=>{this.isConnected||this.dispatchEvent(new CustomEvent(\"astro:unmount\"))})}disconnectedCallback(){document.removeEventListener(\"astro:after-swap\",this.unmount),document.addEventListener(\"astro:after-swap\",this.unmount,{once:!0})}connectedCallback(){if(!this.hasAttribute(\"await-children\")||document.readyState===\"interactive\"||document.readyState===\"complete\")this.childrenConnectedCallback();else{let e=()=>{document.removeEventListener(\"DOMContentLoaded\",e),c.disconnect(),this.childrenConnectedCallback()},c=new MutationObserver(()=>{var n;((n=this.lastChild)==null?void 0:n.nodeType)===Node.COMMENT_NODE&&this.lastChild.nodeValue===\"astro:end\"&&(this.lastChild.remove(),e())});c.observe(this,{childList:!0}),document.addEventListener(\"DOMContentLoaded\",e)}}async childrenConnectedCallback(){let e=this.getAttribute(\"before-hydration-url\");e&&await import(e),this.start()}async start(){let e=JSON.parse(this.getAttribute(\"opts\")),c=this.getAttribute(\"client\");if(Astro[c]===void 0){window.addEventListener(\\`astro:\\${c}\\`,()=>this.start(),{once:!0});return}try{await Astro[c](async()=>{let n=this.getAttribute(\"renderer-url\"),[h,{default:p}]=await Promise.all([import(this.getAttribute(\"component-url\")),n?import(n):()=>()=>{}]),u=this.getAttribute(\"component-export\")||\"default\";if(!u.includes(\".\"))this.Component=h[u];else{this.Component=h;for(let f of u.split(\".\"))this.Component=this.Component[f]}return this.hydrator=p,this.hydrate},e,this)}catch(n){console.error(\\`[astro-island] Error hydrating \\${this.getAttribute(\"component-url\")}\\`,n)}}attributeChangedCallback(){this.hydrate()}}d(y,\"observedAttributes\",[\"props\"]),customElements.get(\"astro-island\")||customElements.define(\"astro-island\",y)}})();`;\nexport {\n astro_island_prebuilt_default as default\n};\n","import islandScriptDev from \"./astro-island.prebuilt-dev.js\";\nimport islandScript from \"./astro-island.prebuilt.js\";\nconst ISLAND_STYLES = ``;\nfunction determineIfNeedsHydrationScript(result) {\n if (result._metadata.hasHydrationScript) {\n return false;\n }\n return result._metadata.hasHydrationScript = true;\n}\nfunction determinesIfNeedsDirectiveScript(result, directive) {\n if (result._metadata.hasDirectives.has(directive)) {\n return false;\n }\n result._metadata.hasDirectives.add(directive);\n return true;\n}\nfunction getDirectiveScriptText(result, directive) {\n const clientDirectives = result.clientDirectives;\n const clientDirective = clientDirectives.get(directive);\n if (!clientDirective) {\n throw new Error(`Unknown directive: ${directive}`);\n }\n return clientDirective;\n}\nfunction getPrescripts(result, type, directive) {\n switch (type) {\n case \"both\":\n return `${ISLAND_STYLES}`;\n case \"directive\":\n return ``;\n case null:\n break;\n }\n return \"\";\n}\nexport {\n determineIfNeedsHydrationScript,\n determinesIfNeedsDirectiveScript,\n getPrescripts\n};\n","import { clsx } from \"clsx\";\nimport { HTMLString, markHTMLString } from \"../escape.js\";\nconst voidElementNames = /^(area|base|br|col|command|embed|hr|img|input|keygen|link|meta|param|source|track|wbr)$/i;\nconst htmlBooleanAttributes = /^(?:allowfullscreen|async|autofocus|autoplay|controls|default|defer|disabled|disablepictureinpicture|disableremoteplayback|formnovalidate|hidden|loop|nomodule|novalidate|open|playsinline|readonly|required|reversed|scoped|seamless|itemscope)$/i;\nconst htmlEnumAttributes = /^(?:contenteditable|draggable|spellcheck|value)$/i;\nconst svgEnumAttributes = /^(?:autoReverse|externalResourcesRequired|focusable|preserveAlpha)$/i;\nconst AMPERSAND_REGEX = /&/g;\nconst DOUBLE_QUOTE_REGEX = /\"/g;\nconst STATIC_DIRECTIVES = /* @__PURE__ */ new Set([\"set:html\", \"set:text\"]);\nconst toIdent = (k) => k.trim().replace(/(?!^)\\b\\w|\\s+|\\W+/g, (match, index) => {\n if (/\\W/.test(match)) return \"\";\n return index === 0 ? match : match.toUpperCase();\n});\nconst toAttributeString = (value, shouldEscape = true) => shouldEscape ? String(value).replace(AMPERSAND_REGEX, \"&\").replace(DOUBLE_QUOTE_REGEX, \""\") : value;\nconst kebab = (k) => k.toLowerCase() === k ? k : k.replace(/[A-Z]/g, (match) => `-${match.toLowerCase()}`);\nconst toStyleString = (obj) => Object.entries(obj).filter(([_, v]) => typeof v === \"string\" && v.trim() || typeof v === \"number\").map(([k, v]) => {\n if (k[0] !== \"-\" && k[1] !== \"-\") return `${kebab(k)}:${v}`;\n return `${k}:${v}`;\n}).join(\";\");\nfunction defineScriptVars(vars) {\n let output = \"\";\n for (const [key, value] of Object.entries(vars)) {\n output += `const ${toIdent(key)} = ${JSON.stringify(value)?.replace(\n /<\\/script>/g,\n \"\\\\x3C/script>\"\n )};\n`;\n }\n return markHTMLString(output);\n}\nfunction formatList(values) {\n if (values.length === 1) {\n return values[0];\n }\n return `${values.slice(0, -1).join(\", \")} or ${values[values.length - 1]}`;\n}\nfunction addAttribute(value, key, shouldEscape = true) {\n if (value == null) {\n return \"\";\n }\n if (value === false) {\n if (htmlEnumAttributes.test(key) || svgEnumAttributes.test(key)) {\n return markHTMLString(` ${key}=\"false\"`);\n }\n return \"\";\n }\n if (STATIC_DIRECTIVES.has(key)) {\n console.warn(`[astro] The \"${key}\" directive cannot be applied dynamically at runtime. It will not be rendered as an attribute.\n\nMake sure to use the static attribute syntax (\\`${key}={value}\\`) instead of the dynamic spread syntax (\\`{...{ \"${key}\": value }}\\`).`);\n return \"\";\n }\n if (key === \"class:list\") {\n const listValue = toAttributeString(clsx(value), shouldEscape);\n if (listValue === \"\") {\n return \"\";\n }\n return markHTMLString(` ${key.slice(0, -5)}=\"${listValue}\"`);\n }\n if (key === \"style\" && !(value instanceof HTMLString)) {\n if (Array.isArray(value) && value.length === 2) {\n return markHTMLString(\n ` ${key}=\"${toAttributeString(`${toStyleString(value[0])};${value[1]}`, shouldEscape)}\"`\n );\n }\n if (typeof value === \"object\") {\n return markHTMLString(` ${key}=\"${toAttributeString(toStyleString(value), shouldEscape)}\"`);\n }\n }\n if (key === \"className\") {\n return markHTMLString(` class=\"${toAttributeString(value, shouldEscape)}\"`);\n }\n if (typeof value === \"string\" && value.includes(\"&\") && isHttpUrl(value)) {\n return markHTMLString(` ${key}=\"${toAttributeString(value, false)}\"`);\n }\n if (value === true && (key.startsWith(\"data-\") || htmlBooleanAttributes.test(key))) {\n return markHTMLString(` ${key}`);\n } else {\n return markHTMLString(` ${key}=\"${toAttributeString(value, shouldEscape)}\"`);\n }\n}\nfunction internalSpreadAttributes(values, shouldEscape = true) {\n let output = \"\";\n for (const [key, value] of Object.entries(values)) {\n output += addAttribute(value, key, shouldEscape);\n }\n return markHTMLString(output);\n}\nfunction renderElement(name, { props: _props, children = \"\" }, shouldEscape = true) {\n const { lang: _, \"data-astro-id\": astroId, \"define:vars\": defineVars, ...props } = _props;\n if (defineVars) {\n if (name === \"style\") {\n delete props[\"is:global\"];\n delete props[\"is:scoped\"];\n }\n if (name === \"script\") {\n delete props.hoist;\n children = defineScriptVars(defineVars) + \"\\n\" + children;\n }\n }\n if ((children == null || children == \"\") && voidElementNames.test(name)) {\n return `<${name}${internalSpreadAttributes(props, shouldEscape)}>`;\n }\n return `<${name}${internalSpreadAttributes(props, shouldEscape)}>${children}`;\n}\nconst noop = () => {\n};\nclass BufferedRenderer {\n chunks = [];\n renderPromise;\n destination;\n constructor(bufferRenderFunction) {\n this.renderPromise = bufferRenderFunction(this);\n Promise.resolve(this.renderPromise).catch(noop);\n }\n write(chunk) {\n if (this.destination) {\n this.destination.write(chunk);\n } else {\n this.chunks.push(chunk);\n }\n }\n async renderToFinalDestination(destination) {\n for (const chunk of this.chunks) {\n destination.write(chunk);\n }\n this.destination = destination;\n await this.renderPromise;\n }\n}\nfunction renderToBufferDestination(bufferRenderFunction) {\n const renderer = new BufferedRenderer(bufferRenderFunction);\n return renderer;\n}\nconst isNode = typeof process !== \"undefined\" && Object.prototype.toString.call(process) === \"[object process]\";\nconst isDeno = typeof Deno !== \"undefined\";\nfunction promiseWithResolvers() {\n let resolve, reject;\n const promise = new Promise((_resolve, _reject) => {\n resolve = _resolve;\n reject = _reject;\n });\n return {\n promise,\n resolve,\n reject\n };\n}\nconst VALID_PROTOCOLS = [\"http:\", \"https:\"];\nfunction isHttpUrl(url) {\n try {\n const parsedUrl = new URL(url);\n return VALID_PROTOCOLS.includes(parsedUrl.protocol);\n } catch {\n return false;\n }\n}\nexport {\n addAttribute,\n defineScriptVars,\n formatList,\n internalSpreadAttributes,\n isDeno,\n isNode,\n promiseWithResolvers,\n renderElement,\n renderToBufferDestination,\n toAttributeString,\n voidElementNames\n};\n","import { markHTMLString } from \"../escape.js\";\nimport { createRenderInstruction } from \"./instruction.js\";\nimport { renderElement } from \"./util.js\";\nconst uniqueElements = (item, index, all) => {\n const props = JSON.stringify(item.props);\n const children = item.children;\n return index === all.findIndex((i) => JSON.stringify(i.props) === props && i.children == children);\n};\nfunction renderAllHeadContent(result) {\n result._metadata.hasRenderedHead = true;\n const styles = Array.from(result.styles).filter(uniqueElements).map(\n (style) => style.props.rel === \"stylesheet\" ? renderElement(\"link\", style) : renderElement(\"style\", style)\n );\n result.styles.clear();\n const scripts = Array.from(result.scripts).filter(uniqueElements).map((script) => {\n return renderElement(\"script\", script, false);\n });\n const links = Array.from(result.links).filter(uniqueElements).map((link) => renderElement(\"link\", link, false));\n let content = styles.join(\"\\n\") + links.join(\"\\n\") + scripts.join(\"\\n\");\n if (result._metadata.extraHead.length > 0) {\n for (const part of result._metadata.extraHead) {\n content += part;\n }\n }\n return markHTMLString(content);\n}\nfunction renderHead() {\n return createRenderInstruction({ type: \"head\" });\n}\nfunction maybeRenderHead() {\n return createRenderInstruction({ type: \"maybe-head\" });\n}\nexport {\n maybeRenderHead,\n renderAllHeadContent,\n renderHead\n};\n","import { markHTMLString } from \"../../escape.js\";\nimport { isPromise } from \"../../util.js\";\nimport { renderChild } from \"../any.js\";\nimport { renderToBufferDestination } from \"../util.js\";\nconst renderTemplateResultSym = Symbol.for(\"astro.renderTemplateResult\");\nclass RenderTemplateResult {\n [renderTemplateResultSym] = true;\n htmlParts;\n expressions;\n error;\n constructor(htmlParts, expressions) {\n this.htmlParts = htmlParts;\n this.error = void 0;\n this.expressions = expressions.map((expression) => {\n if (isPromise(expression)) {\n return Promise.resolve(expression).catch((err) => {\n if (!this.error) {\n this.error = err;\n throw err;\n }\n });\n }\n return expression;\n });\n }\n async render(destination) {\n const expRenders = this.expressions.map((exp) => {\n return renderToBufferDestination((bufferDestination) => {\n if (exp || exp === 0) {\n return renderChild(bufferDestination, exp);\n }\n });\n });\n for (let i = 0; i < this.htmlParts.length; i++) {\n const html = this.htmlParts[i];\n const expRender = expRenders[i];\n destination.write(markHTMLString(html));\n if (expRender) {\n await expRender.renderToFinalDestination(destination);\n }\n }\n }\n}\nfunction isRenderTemplateResult(obj) {\n return typeof obj === \"object\" && !!obj[renderTemplateResultSym];\n}\nfunction renderTemplate(htmlParts, ...expressions) {\n return new RenderTemplateResult(htmlParts, expressions);\n}\nexport {\n RenderTemplateResult,\n isRenderTemplateResult,\n renderTemplate\n};\n","import { renderTemplate } from \"./astro/render-template.js\";\nimport { HTMLString, markHTMLString, unescapeHTML } from \"../escape.js\";\nimport { renderChild } from \"./any.js\";\nimport { chunkToString } from \"./common.js\";\nconst slotString = Symbol.for(\"astro:slot-string\");\nclass SlotString extends HTMLString {\n instructions;\n [slotString];\n constructor(content, instructions) {\n super(content);\n this.instructions = instructions;\n this[slotString] = true;\n }\n}\nfunction isSlotString(str) {\n return !!str[slotString];\n}\nfunction renderSlot(result, slotted, fallback) {\n if (!slotted && fallback) {\n return renderSlot(result, fallback);\n }\n return {\n async render(destination) {\n await renderChild(destination, typeof slotted === \"function\" ? slotted(result) : slotted);\n }\n };\n}\nasync function renderSlotToString(result, slotted, fallback) {\n let content = \"\";\n let instructions = null;\n const temporaryDestination = {\n write(chunk) {\n if (chunk instanceof SlotString) {\n content += chunk;\n if (chunk.instructions) {\n instructions ??= [];\n instructions.push(...chunk.instructions);\n }\n } else if (chunk instanceof Response) return;\n else if (typeof chunk === \"object\" && \"type\" in chunk && typeof chunk.type === \"string\") {\n if (instructions === null) {\n instructions = [];\n }\n instructions.push(chunk);\n } else {\n content += chunkToString(result, chunk);\n }\n }\n };\n const renderInstance = renderSlot(result, slotted, fallback);\n await renderInstance.render(temporaryDestination);\n return markHTMLString(new SlotString(content, instructions));\n}\nasync function renderSlots(result, slots = {}) {\n let slotInstructions = null;\n let children = {};\n if (slots) {\n await Promise.all(\n Object.entries(slots).map(\n ([key, value]) => renderSlotToString(result, value).then((output) => {\n if (output.instructions) {\n if (slotInstructions === null) {\n slotInstructions = [];\n }\n slotInstructions.push(...output.instructions);\n }\n children[key] = output;\n })\n )\n );\n }\n return { slotInstructions, children };\n}\nfunction createSlotValueFromString(content) {\n return function() {\n return renderTemplate`${unescapeHTML(content)}`;\n };\n}\nexport {\n SlotString,\n createSlotValueFromString,\n isSlotString,\n renderSlot,\n renderSlotToString,\n renderSlots\n};\n","import { markHTMLString } from \"../escape.js\";\nimport {\n determineIfNeedsHydrationScript,\n determinesIfNeedsDirectiveScript,\n getPrescripts\n} from \"../scripts.js\";\nimport { renderAllHeadContent } from \"./head.js\";\nimport { isRenderInstruction } from \"./instruction.js\";\nimport { isSlotString } from \"./slot.js\";\nconst Fragment = Symbol.for(\"astro:fragment\");\nconst Renderer = Symbol.for(\"astro:renderer\");\nconst encoder = new TextEncoder();\nconst decoder = new TextDecoder();\nfunction stringifyChunk(result, chunk) {\n if (isRenderInstruction(chunk)) {\n const instruction = chunk;\n switch (instruction.type) {\n case \"directive\": {\n const { hydration } = instruction;\n let needsHydrationScript = hydration && determineIfNeedsHydrationScript(result);\n let needsDirectiveScript = hydration && determinesIfNeedsDirectiveScript(result, hydration.directive);\n let prescriptType = needsHydrationScript ? \"both\" : needsDirectiveScript ? \"directive\" : null;\n if (prescriptType) {\n let prescripts = getPrescripts(result, prescriptType, hydration.directive);\n return markHTMLString(prescripts);\n } else {\n return \"\";\n }\n }\n case \"head\": {\n if (result._metadata.hasRenderedHead || result.partial) {\n return \"\";\n }\n return renderAllHeadContent(result);\n }\n case \"maybe-head\": {\n if (result._metadata.hasRenderedHead || result._metadata.headInTree || result.partial) {\n return \"\";\n }\n return renderAllHeadContent(result);\n }\n case \"renderer-hydration-script\": {\n const { rendererSpecificHydrationScripts } = result._metadata;\n const { rendererName } = instruction;\n if (!rendererSpecificHydrationScripts.has(rendererName)) {\n rendererSpecificHydrationScripts.add(rendererName);\n return instruction.render();\n }\n return \"\";\n }\n default: {\n throw new Error(`Unknown chunk type: ${chunk.type}`);\n }\n }\n } else if (chunk instanceof Response) {\n return \"\";\n } else if (isSlotString(chunk)) {\n let out = \"\";\n const c = chunk;\n if (c.instructions) {\n for (const instr of c.instructions) {\n out += stringifyChunk(result, instr);\n }\n }\n out += chunk.toString();\n return out;\n }\n return chunk.toString();\n}\nfunction chunkToString(result, chunk) {\n if (ArrayBuffer.isView(chunk)) {\n return decoder.decode(chunk);\n } else {\n return stringifyChunk(result, chunk);\n }\n}\nfunction chunkToByteArray(result, chunk) {\n if (ArrayBuffer.isView(chunk)) {\n return chunk;\n } else {\n const stringified = stringifyChunk(result, chunk);\n return encoder.encode(stringified.toString());\n }\n}\nfunction isRenderInstance(obj) {\n return !!obj && typeof obj === \"object\" && \"render\" in obj && typeof obj.render === \"function\";\n}\nexport {\n Fragment,\n Renderer,\n chunkToByteArray,\n chunkToString,\n decoder,\n encoder,\n isRenderInstance\n};\n","import { escapeHTML, isHTMLString, markHTMLString } from \"../escape.js\";\nimport { isPromise } from \"../util.js\";\nimport { isAstroComponentInstance, isRenderTemplateResult } from \"./astro/index.js\";\nimport { isRenderInstance } from \"./common.js\";\nimport { SlotString } from \"./slot.js\";\nimport { renderToBufferDestination } from \"./util.js\";\nasync function renderChild(destination, child) {\n if (isPromise(child)) {\n child = await child;\n }\n if (child instanceof SlotString) {\n destination.write(child);\n } else if (isHTMLString(child)) {\n destination.write(child);\n } else if (Array.isArray(child)) {\n const childRenders = child.map((c) => {\n return renderToBufferDestination((bufferDestination) => {\n return renderChild(bufferDestination, c);\n });\n });\n for (const childRender of childRenders) {\n if (!childRender) continue;\n await childRender.renderToFinalDestination(destination);\n }\n } else if (typeof child === \"function\") {\n await renderChild(destination, child());\n } else if (typeof child === \"string\") {\n destination.write(markHTMLString(escapeHTML(child)));\n } else if (!child && child !== 0) {\n } else if (isRenderInstance(child)) {\n await child.render(destination);\n } else if (isRenderTemplateResult(child)) {\n await child.render(destination);\n } else if (isAstroComponentInstance(child)) {\n await child.render(destination);\n } else if (ArrayBuffer.isView(child)) {\n destination.write(child);\n } else if (typeof child === \"object\" && (Symbol.asyncIterator in child || Symbol.iterator in child)) {\n for await (const value of child) {\n await renderChild(destination, value);\n }\n } else {\n destination.write(child);\n }\n}\nexport {\n renderChild\n};\n","import { isPromise } from \"../../util.js\";\nimport { renderChild } from \"../any.js\";\nimport { isAPropagatingComponent } from \"./factory.js\";\nimport { isHeadAndContent } from \"./head-and-content.js\";\nconst astroComponentInstanceSym = Symbol.for(\"astro.componentInstance\");\nclass AstroComponentInstance {\n [astroComponentInstanceSym] = true;\n result;\n props;\n slotValues;\n factory;\n returnValue;\n constructor(result, props, slots, factory) {\n this.result = result;\n this.props = props;\n this.factory = factory;\n this.slotValues = {};\n for (const name in slots) {\n let didRender = false;\n let value = slots[name](result);\n this.slotValues[name] = () => {\n if (!didRender) {\n didRender = true;\n return value;\n }\n return slots[name](result);\n };\n }\n }\n async init(result) {\n if (this.returnValue !== void 0) return this.returnValue;\n this.returnValue = this.factory(result, this.props, this.slotValues);\n if (isPromise(this.returnValue)) {\n this.returnValue.then((resolved) => {\n this.returnValue = resolved;\n }).catch(() => {\n });\n }\n return this.returnValue;\n }\n async render(destination) {\n const returnValue = await this.init(this.result);\n if (isHeadAndContent(returnValue)) {\n await returnValue.content.render(destination);\n } else {\n await renderChild(destination, returnValue);\n }\n }\n}\nfunction validateComponentProps(props, displayName) {\n if (props != null) {\n for (const prop of Object.keys(props)) {\n if (prop.startsWith(\"client:\")) {\n console.warn(\n `You are attempting to render <${displayName} ${prop} />, but ${displayName} is an Astro component. Astro components do not render in the client and should not have a hydration directive. Please use a framework component for client rendering.`\n );\n }\n }\n }\n}\nfunction createAstroComponentInstance(result, displayName, factory, props, slots = {}) {\n validateComponentProps(props, displayName);\n const instance = new AstroComponentInstance(result, props, slots, factory);\n if (isAPropagatingComponent(result, factory)) {\n result._metadata.propagators.add(instance);\n }\n return instance;\n}\nfunction isAstroComponentInstance(obj) {\n return typeof obj === \"object\" && !!obj[astroComponentInstanceSym];\n}\nexport {\n AstroComponentInstance,\n createAstroComponentInstance,\n isAstroComponentInstance\n};\n","import { markHTMLString } from \"../escape.js\";\nimport { renderSlotToString } from \"./slot.js\";\nimport { toAttributeString } from \"./util.js\";\nfunction componentIsHTMLElement(Component) {\n return typeof HTMLElement !== \"undefined\" && HTMLElement.isPrototypeOf(Component);\n}\nasync function renderHTMLElement(result, constructor, props, slots) {\n const name = getHTMLElementName(constructor);\n let attrHTML = \"\";\n for (const attr in props) {\n attrHTML += ` ${attr}=\"${toAttributeString(await props[attr])}\"`;\n }\n return markHTMLString(\n `<${name}${attrHTML}>${await renderSlotToString(result, slots?.default)}`\n );\n}\nfunction getHTMLElementName(constructor) {\n const definedName = customElements.getName(constructor);\n if (definedName) return definedName;\n const assignedName = constructor.name.replace(/^HTML|Element$/g, \"\").replace(/[A-Z]/g, \"-$&\").toLowerCase().replace(/^-/, \"html-\");\n return assignedName;\n}\nexport {\n componentIsHTMLElement,\n renderHTMLElement\n};\n","import { decodeBase64, decodeHex, encodeBase64, encodeHexUpperCase } from \"@oslojs/encoding\";\nconst ALGORITHM = \"AES-GCM\";\nasync function createKey() {\n const key = await crypto.subtle.generateKey(\n {\n name: ALGORITHM,\n length: 256\n },\n true,\n [\"encrypt\", \"decrypt\"]\n );\n return key;\n}\nasync function importKey(bytes) {\n const key = await crypto.subtle.importKey(\"raw\", bytes, ALGORITHM, true, [\"encrypt\", \"decrypt\"]);\n return key;\n}\nasync function encodeKey(key) {\n const exported = await crypto.subtle.exportKey(\"raw\", key);\n const encodedKey = encodeBase64(new Uint8Array(exported));\n return encodedKey;\n}\nasync function decodeKey(encoded) {\n const bytes = decodeBase64(encoded);\n return crypto.subtle.importKey(\"raw\", bytes, ALGORITHM, true, [\"encrypt\", \"decrypt\"]);\n}\nconst encoder = new TextEncoder();\nconst decoder = new TextDecoder();\nconst IV_LENGTH = 24;\nasync function encryptString(key, raw) {\n const iv = crypto.getRandomValues(new Uint8Array(IV_LENGTH / 2));\n const data = encoder.encode(raw);\n const buffer = await crypto.subtle.encrypt(\n {\n name: ALGORITHM,\n iv\n },\n key,\n data\n );\n return encodeHexUpperCase(iv) + encodeBase64(new Uint8Array(buffer));\n}\nasync function decryptString(key, encoded) {\n const iv = decodeHex(encoded.slice(0, IV_LENGTH));\n const dataArray = decodeBase64(encoded.slice(IV_LENGTH));\n const decryptedBuffer = await crypto.subtle.decrypt(\n {\n name: ALGORITHM,\n iv\n },\n key,\n dataArray\n );\n const decryptedString = decoder.decode(decryptedBuffer);\n return decryptedString;\n}\nexport {\n createKey,\n decodeKey,\n decryptString,\n encodeKey,\n encryptString,\n importKey\n};\n","import { encryptString } from \"../../../core/encryption.js\";\nimport { renderChild } from \"./any.js\";\nimport { renderSlotToString } from \"./slot.js\";\nconst internalProps = /* @__PURE__ */ new Set([\n \"server:component-path\",\n \"server:component-export\",\n \"server:component-directive\",\n \"server:defer\"\n]);\nfunction containsServerDirective(props) {\n return \"server:component-directive\" in props;\n}\nfunction safeJsonStringify(obj) {\n return JSON.stringify(obj).replace(/\\u2028/g, \"\\\\u2028\").replace(/\\u2029/g, \"\\\\u2029\").replace(//g, \"\\\\u003e\").replace(/\\//g, \"\\\\u002f\");\n}\nfunction renderServerIsland(result, _displayName, props, slots) {\n return {\n async render(destination) {\n const componentPath = props[\"server:component-path\"];\n const componentExport = props[\"server:component-export\"];\n const componentId = result.serverIslandNameMap.get(componentPath);\n if (!componentId) {\n throw new Error(`Could not find server component name`);\n }\n for (const key2 of Object.keys(props)) {\n if (internalProps.has(key2)) {\n delete props[key2];\n }\n }\n destination.write(\"\");\n const renderedSlots = {};\n for (const name in slots) {\n if (name !== \"fallback\") {\n const content = await renderSlotToString(result, slots[name]);\n renderedSlots[name] = content.toString();\n } else {\n await renderChild(destination, slots.fallback(result));\n }\n }\n const key = await result.key;\n const propsEncrypted = await encryptString(key, JSON.stringify(props));\n const hostId = crypto.randomUUID();\n const slash = result.base.endsWith(\"/\") ? \"\" : \"/\";\n const serverIslandUrl = `${result.base}${slash}_server-islands/${componentId}${result.trailingSlash === \"always\" ? \"/\" : \"\"}`;\n destination.write(``);\n }\n };\n}\nexport {\n containsServerDirective,\n renderServerIsland\n};\n","import { createRenderInstruction } from \"./instruction.js\";\nimport { clsx } from \"clsx\";\nimport { AstroError, AstroErrorData } from \"../../../core/errors/index.js\";\nimport { markHTMLString } from \"../escape.js\";\nimport { extractDirectives, generateHydrateScript } from \"../hydration.js\";\nimport { serializeProps } from \"../serialize.js\";\nimport { shorthash } from \"../shorthash.js\";\nimport { isPromise } from \"../util.js\";\nimport { isAstroComponentFactory } from \"./astro/factory.js\";\nimport { renderTemplate } from \"./astro/index.js\";\nimport { createAstroComponentInstance } from \"./astro/instance.js\";\nimport {\n Fragment,\n Renderer,\n chunkToString\n} from \"./common.js\";\nimport { componentIsHTMLElement, renderHTMLElement } from \"./dom.js\";\nimport { maybeRenderHead } from \"./head.js\";\nimport { containsServerDirective, renderServerIsland } from \"./server-islands.js\";\nimport { renderSlotToString, renderSlots } from \"./slot.js\";\nimport { formatList, internalSpreadAttributes, renderElement, voidElementNames } from \"./util.js\";\nconst needsHeadRenderingSymbol = Symbol.for(\"astro.needsHeadRendering\");\nconst rendererAliases = /* @__PURE__ */ new Map([[\"solid\", \"solid-js\"]]);\nconst clientOnlyValues = /* @__PURE__ */ new Set([\"solid-js\", \"react\", \"preact\", \"vue\", \"svelte\", \"lit\"]);\nfunction guessRenderers(componentUrl) {\n const extname = componentUrl?.split(\".\").pop();\n switch (extname) {\n case \"svelte\":\n return [\"@astrojs/svelte\"];\n case \"vue\":\n return [\"@astrojs/vue\"];\n case \"jsx\":\n case \"tsx\":\n return [\"@astrojs/react\", \"@astrojs/preact\", \"@astrojs/solid-js\", \"@astrojs/vue (jsx)\"];\n default:\n return [\n \"@astrojs/react\",\n \"@astrojs/preact\",\n \"@astrojs/solid-js\",\n \"@astrojs/vue\",\n \"@astrojs/svelte\",\n \"@astrojs/lit\"\n ];\n }\n}\nfunction isFragmentComponent(Component) {\n return Component === Fragment;\n}\nfunction isHTMLComponent(Component) {\n return Component && Component[\"astro:html\"] === true;\n}\nconst ASTRO_SLOT_EXP = /<\\/?astro-slot\\b[^>]*>/g;\nconst ASTRO_STATIC_SLOT_EXP = /<\\/?astro-static-slot\\b[^>]*>/g;\nfunction removeStaticAstroSlot(html, supportsAstroStaticSlot = true) {\n const exp = supportsAstroStaticSlot ? ASTRO_STATIC_SLOT_EXP : ASTRO_SLOT_EXP;\n return html.replace(exp, \"\");\n}\nasync function renderFrameworkComponent(result, displayName, Component, _props, slots = {}) {\n if (!Component && \"client:only\" in _props === false) {\n throw new Error(\n `Unable to render ${displayName} because it is ${Component}!\nDid you forget to import the component or is it possible there is a typo?`\n );\n }\n const { renderers, clientDirectives } = result;\n const metadata = {\n astroStaticSlot: true,\n displayName\n };\n const { hydration, isPage, props, propsWithoutTransitionAttributes } = extractDirectives(\n _props,\n clientDirectives\n );\n let html = \"\";\n let attrs = void 0;\n if (hydration) {\n metadata.hydrate = hydration.directive;\n metadata.hydrateArgs = hydration.value;\n metadata.componentExport = hydration.componentExport;\n metadata.componentUrl = hydration.componentUrl;\n }\n const probableRendererNames = guessRenderers(metadata.componentUrl);\n const validRenderers = renderers.filter((r) => r.name !== \"astro:jsx\");\n const { children, slotInstructions } = await renderSlots(result, slots);\n let renderer;\n if (metadata.hydrate !== \"only\") {\n let isTagged = false;\n try {\n isTagged = Component && Component[Renderer];\n } catch {\n }\n if (isTagged) {\n const rendererName = Component[Renderer];\n renderer = renderers.find(({ name }) => name === rendererName);\n }\n if (!renderer) {\n let error;\n for (const r of renderers) {\n try {\n if (await r.ssr.check.call({ result }, Component, props, children)) {\n renderer = r;\n break;\n }\n } catch (e) {\n error ??= e;\n }\n }\n if (!renderer && error) {\n throw error;\n }\n }\n if (!renderer && typeof HTMLElement === \"function\" && componentIsHTMLElement(Component)) {\n const output = await renderHTMLElement(\n result,\n Component,\n _props,\n slots\n );\n return {\n render(destination) {\n destination.write(output);\n }\n };\n }\n } else {\n if (metadata.hydrateArgs) {\n const rendererName = rendererAliases.has(metadata.hydrateArgs) ? rendererAliases.get(metadata.hydrateArgs) : metadata.hydrateArgs;\n if (clientOnlyValues.has(rendererName)) {\n renderer = renderers.find(\n ({ name }) => name === `@astrojs/${rendererName}` || name === rendererName\n );\n }\n }\n if (!renderer && validRenderers.length === 1) {\n renderer = validRenderers[0];\n }\n if (!renderer) {\n const extname = metadata.componentUrl?.split(\".\").pop();\n renderer = renderers.find(({ name }) => name === `@astrojs/${extname}` || name === extname);\n }\n }\n let componentServerRenderEndTime;\n if (!renderer) {\n if (metadata.hydrate === \"only\") {\n const rendererName = rendererAliases.has(metadata.hydrateArgs) ? rendererAliases.get(metadata.hydrateArgs) : metadata.hydrateArgs;\n if (clientOnlyValues.has(rendererName)) {\n const plural = validRenderers.length > 1;\n throw new AstroError({\n ...AstroErrorData.NoMatchingRenderer,\n message: AstroErrorData.NoMatchingRenderer.message(\n metadata.displayName,\n metadata?.componentUrl?.split(\".\").pop(),\n plural,\n validRenderers.length\n ),\n hint: AstroErrorData.NoMatchingRenderer.hint(\n formatList(probableRendererNames.map((r) => \"`\" + r + \"`\"))\n )\n });\n } else {\n throw new AstroError({\n ...AstroErrorData.NoClientOnlyHint,\n message: AstroErrorData.NoClientOnlyHint.message(metadata.displayName),\n hint: AstroErrorData.NoClientOnlyHint.hint(\n probableRendererNames.map((r) => r.replace(\"@astrojs/\", \"\")).join(\"|\")\n )\n });\n }\n } else if (typeof Component !== \"string\") {\n const matchingRenderers = validRenderers.filter(\n (r) => probableRendererNames.includes(r.name)\n );\n const plural = validRenderers.length > 1;\n if (matchingRenderers.length === 0) {\n throw new AstroError({\n ...AstroErrorData.NoMatchingRenderer,\n message: AstroErrorData.NoMatchingRenderer.message(\n metadata.displayName,\n metadata?.componentUrl?.split(\".\").pop(),\n plural,\n validRenderers.length\n ),\n hint: AstroErrorData.NoMatchingRenderer.hint(\n formatList(probableRendererNames.map((r) => \"`\" + r + \"`\"))\n )\n });\n } else if (matchingRenderers.length === 1) {\n renderer = matchingRenderers[0];\n ({ html, attrs } = await renderer.ssr.renderToStaticMarkup.call(\n { result },\n Component,\n propsWithoutTransitionAttributes,\n children,\n metadata\n ));\n } else {\n throw new Error(`Unable to render ${metadata.displayName}!\n\nThis component likely uses ${formatList(probableRendererNames)},\nbut Astro encountered an error during server-side rendering.\n\nPlease ensure that ${metadata.displayName}:\n1. Does not unconditionally access browser-specific globals like \\`window\\` or \\`document\\`.\n If this is unavoidable, use the \\`client:only\\` hydration directive.\n2. Does not conditionally return \\`null\\` or \\`undefined\\` when rendered on the server.\n\nIf you're still stuck, please open an issue on GitHub or join us at https://astro.build/chat.`);\n }\n }\n } else {\n if (metadata.hydrate === \"only\") {\n const rendererName = rendererAliases.has(metadata.hydrateArgs) ? rendererAliases.get(metadata.hydrateArgs) : metadata.hydrateArgs;\n if (!clientOnlyValues.has(rendererName)) {\n console.warn(\n `The client:only directive for ${metadata.displayName} is not recognized. The renderer ${renderer.name} will be used. If you intended to use a different renderer, please provide a valid client:only directive.`\n );\n }\n html = await renderSlotToString(result, slots?.fallback);\n } else {\n const componentRenderStartTime = performance.now();\n ({ html, attrs } = await renderer.ssr.renderToStaticMarkup.call(\n { result },\n Component,\n propsWithoutTransitionAttributes,\n children,\n metadata\n ));\n if (process.env.NODE_ENV === \"development\")\n componentServerRenderEndTime = performance.now() - componentRenderStartTime;\n }\n }\n if (renderer && !renderer.clientEntrypoint && renderer.name !== \"@astrojs/lit\" && metadata.hydrate) {\n throw new AstroError({\n ...AstroErrorData.NoClientEntrypoint,\n message: AstroErrorData.NoClientEntrypoint.message(\n displayName,\n metadata.hydrate,\n renderer.name\n )\n });\n }\n if (!html && typeof Component === \"string\") {\n const Tag = sanitizeElementName(Component);\n const childSlots = Object.values(children).join(\"\");\n const renderTemplateResult = renderTemplate`<${Tag}${internalSpreadAttributes(\n props\n )}${markHTMLString(\n childSlots === \"\" && voidElementNames.test(Tag) ? `/>` : `>${childSlots}`\n )}`;\n html = \"\";\n const destination = {\n write(chunk) {\n if (chunk instanceof Response) return;\n html += chunkToString(result, chunk);\n }\n };\n await renderTemplateResult.render(destination);\n }\n if (!hydration) {\n return {\n render(destination) {\n if (slotInstructions) {\n for (const instruction of slotInstructions) {\n destination.write(instruction);\n }\n }\n if (isPage || renderer?.name === \"astro:jsx\") {\n destination.write(html);\n } else if (html && html.length > 0) {\n destination.write(\n markHTMLString(removeStaticAstroSlot(html, renderer?.ssr?.supportsAstroStaticSlot))\n );\n }\n }\n };\n }\n const astroId = shorthash(\n `\n${html}\n${serializeProps(\n props,\n metadata\n )}`\n );\n const island = await generateHydrateScript(\n { renderer, result, astroId, props, attrs },\n metadata\n );\n if (componentServerRenderEndTime && process.env.NODE_ENV === \"development\")\n island.props[\"server-render-time\"] = componentServerRenderEndTime;\n let unrenderedSlots = [];\n if (html) {\n if (Object.keys(children).length > 0) {\n for (const key of Object.keys(children)) {\n let tagName = renderer?.ssr?.supportsAstroStaticSlot ? !!metadata.hydrate ? \"astro-slot\" : \"astro-static-slot\" : \"astro-slot\";\n let expectedHTML = key === \"default\" ? `<${tagName}>` : `<${tagName} name=\"${key}\">`;\n if (!html.includes(expectedHTML)) {\n unrenderedSlots.push(key);\n }\n }\n }\n } else {\n unrenderedSlots = Object.keys(children);\n }\n const template = unrenderedSlots.length > 0 ? unrenderedSlots.map(\n (key) => ``\n ).join(\"\") : \"\";\n island.children = `${html ?? \"\"}${template}`;\n if (island.children) {\n island.props[\"await-children\"] = \"\";\n island.children += ``;\n }\n return {\n render(destination) {\n if (slotInstructions) {\n for (const instruction of slotInstructions) {\n destination.write(instruction);\n }\n }\n destination.write(createRenderInstruction({ type: \"directive\", hydration }));\n if (hydration.directive !== \"only\" && renderer?.ssr.renderHydrationScript) {\n destination.write(\n createRenderInstruction({\n type: \"renderer-hydration-script\",\n rendererName: renderer.name,\n render: renderer.ssr.renderHydrationScript\n })\n );\n }\n const renderedElement = renderElement(\"astro-island\", island, false);\n destination.write(markHTMLString(renderedElement));\n }\n };\n}\nfunction sanitizeElementName(tag) {\n const unsafe = /[&<>'\"\\s]+/;\n if (!unsafe.test(tag)) return tag;\n return tag.trim().split(unsafe)[0].trim();\n}\nasync function renderFragmentComponent(result, slots = {}) {\n const children = await renderSlotToString(result, slots?.default);\n return {\n render(destination) {\n if (children == null) return;\n destination.write(children);\n }\n };\n}\nasync function renderHTMLComponent(result, Component, _props, slots = {}) {\n const { slotInstructions, children } = await renderSlots(result, slots);\n const html = Component({ slots: children });\n const hydrationHtml = slotInstructions ? slotInstructions.map((instr) => chunkToString(result, instr)).join(\"\") : \"\";\n return {\n render(destination) {\n destination.write(markHTMLString(hydrationHtml + html));\n }\n };\n}\nfunction renderAstroComponent(result, displayName, Component, props, slots = {}) {\n if (containsServerDirective(props)) {\n return renderServerIsland(result, displayName, props, slots);\n }\n const instance = createAstroComponentInstance(result, displayName, Component, props, slots);\n return {\n async render(destination) {\n await instance.render(destination);\n }\n };\n}\nasync function renderComponent(result, displayName, Component, props, slots = {}) {\n if (isPromise(Component)) {\n Component = await Component.catch(handleCancellation);\n }\n if (isFragmentComponent(Component)) {\n return await renderFragmentComponent(result, slots).catch(handleCancellation);\n }\n props = normalizeProps(props);\n if (isHTMLComponent(Component)) {\n return await renderHTMLComponent(result, Component, props, slots).catch(handleCancellation);\n }\n if (isAstroComponentFactory(Component)) {\n return renderAstroComponent(result, displayName, Component, props, slots);\n }\n return await renderFrameworkComponent(result, displayName, Component, props, slots).catch(\n handleCancellation\n );\n function handleCancellation(e) {\n if (result.cancelled)\n return {\n render() {\n }\n };\n throw e;\n }\n}\nfunction normalizeProps(props) {\n if (props[\"class:list\"] !== void 0) {\n const value = props[\"class:list\"];\n delete props[\"class:list\"];\n props[\"class\"] = clsx(props[\"class\"], value);\n if (props[\"class\"] === \"\") {\n delete props[\"class\"];\n }\n }\n return props;\n}\nasync function renderComponentToString(result, displayName, Component, props, slots = {}, isPage = false, route) {\n let str = \"\";\n let renderedFirstPageChunk = false;\n let head = \"\";\n if (isPage && !result.partial && nonAstroPageNeedsHeadInjection(Component)) {\n head += chunkToString(result, maybeRenderHead());\n }\n try {\n const destination = {\n write(chunk) {\n if (isPage && !result.partial && !renderedFirstPageChunk) {\n renderedFirstPageChunk = true;\n if (!/\" : \"\\n\";\n str += doctype + head;\n }\n }\n if (chunk instanceof Response) return;\n str += chunkToString(result, chunk);\n }\n };\n const renderInstance = await renderComponent(result, displayName, Component, props, slots);\n await renderInstance.render(destination);\n } catch (e) {\n if (AstroError.is(e) && !e.loc) {\n e.setLocation({\n file: route?.component\n });\n }\n throw e;\n }\n return str;\n}\nfunction nonAstroPageNeedsHeadInjection(pageComponent) {\n return !!pageComponent?.[needsHeadRenderingSymbol];\n}\nexport {\n renderComponent,\n renderComponentToString\n};\n","import { markHTMLString } from \"../escape.js\";\nasync function renderScript(result, id) {\n if (result._metadata.renderedScripts.has(id)) return;\n result._metadata.renderedScripts.add(id);\n const inlined = result.inlinedScripts.get(id);\n if (inlined != null) {\n if (inlined) {\n return markHTMLString(``);\n } else {\n return \"\";\n }\n }\n const resolved = await result.resolve(id);\n return markHTMLString(``);\n}\nexport {\n renderScript\n};\n","import cssesc from \"cssesc\";\nimport { fade, slide } from \"../../transitions/index.js\";\nimport { markHTMLString } from \"./escape.js\";\nconst transitionNameMap = /* @__PURE__ */ new WeakMap();\nfunction incrementTransitionNumber(result) {\n let num = 1;\n if (transitionNameMap.has(result)) {\n num = transitionNameMap.get(result) + 1;\n }\n transitionNameMap.set(result, num);\n return num;\n}\nfunction createTransitionScope(result, hash) {\n const num = incrementTransitionNumber(result);\n return `astro-${hash}-${num}`;\n}\nconst getAnimations = (name) => {\n if (name === \"fade\") return fade();\n if (name === \"slide\") return slide();\n if (typeof name === \"object\") return name;\n};\nconst addPairs = (animations, stylesheet) => {\n for (const [direction, images] of Object.entries(animations)) {\n for (const [image, rules] of Object.entries(images)) {\n stylesheet.addAnimationPair(direction, image, rules);\n }\n }\n};\nconst reEncodeValidChars = \"0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ-_\".split(\"\").reduce((v, c) => (v[c.charCodeAt(0)] = c, v), []);\nconst reEncodeInValidStart = \"-0123456789_\".split(\"\").reduce((v, c) => (v[c.charCodeAt(0)] = c, v), []);\nfunction reEncode(s) {\n let result = \"\";\n let codepoint;\n for (let i = 0; i < s.length; i += (codepoint ?? 0) > 65535 ? 2 : 1) {\n codepoint = s.codePointAt(i);\n if (codepoint !== void 0) {\n result += codepoint < 128 ? codepoint === 95 ? \"__\" : reEncodeValidChars[codepoint] ?? \"_\" + codepoint.toString(16).padStart(2, \"0\") : String.fromCodePoint(codepoint);\n }\n }\n return reEncodeInValidStart[result.codePointAt(0) ?? 0] ? \"_\" + result : result;\n}\nfunction renderTransition(result, hash, animationName, transitionName) {\n if (typeof (transitionName ?? \"\") !== \"string\") {\n throw new Error(`Invalid transition name {${transitionName}}`);\n }\n if (!animationName) animationName = \"fade\";\n const scope = createTransitionScope(result, hash);\n const name = transitionName ? cssesc(reEncode(transitionName), { isIdentifier: true }) : scope;\n const sheet = new ViewTransitionStyleSheet(scope, name);\n const animations = getAnimations(animationName);\n if (animations) {\n addPairs(animations, sheet);\n } else if (animationName === \"none\") {\n sheet.addFallback(\"old\", \"animation: none; mix-blend-mode: normal;\");\n sheet.addModern(\"old\", \"animation: none; opacity: 0; mix-blend-mode: normal;\");\n sheet.addAnimationRaw(\"new\", \"animation: none; mix-blend-mode: normal;\");\n sheet.addModern(\"group\", \"animation: none\");\n }\n result._metadata.extraHead.push(markHTMLString(``));\n return scope;\n}\nfunction createAnimationScope(transitionName, animations) {\n const hash = Math.random().toString(36).slice(2, 8);\n const scope = `astro-${hash}`;\n const sheet = new ViewTransitionStyleSheet(scope, transitionName);\n addPairs(animations, sheet);\n return { scope, styles: sheet.toString().replaceAll('\"', \"\") };\n}\nclass ViewTransitionStyleSheet {\n constructor(scope, name) {\n this.scope = scope;\n this.name = name;\n }\n modern = [];\n fallback = [];\n toString() {\n const { scope, name } = this;\n const [modern, fallback] = [this.modern, this.fallback].map((rules) => rules.join(\"\"));\n return [\n `[data-astro-transition-scope=\"${scope}\"] { view-transition-name: ${name}; }`,\n this.layer(modern),\n fallback\n ].join(\"\");\n }\n layer(cssText) {\n return cssText ? `@layer astro { ${cssText} }` : \"\";\n }\n addRule(target, cssText) {\n this[target].push(cssText);\n }\n addAnimationRaw(image, animation) {\n this.addModern(image, animation);\n this.addFallback(image, animation);\n }\n addModern(image, animation) {\n const { name } = this;\n this.addRule(\"modern\", `::view-transition-${image}(${name}) { ${animation} }`);\n }\n addFallback(image, animation) {\n const { scope } = this;\n this.addRule(\n \"fallback\",\n // Two selectors here, the second in case there is an animation on the root.\n `[data-astro-transition-fallback=\"${image}\"] [data-astro-transition-scope=\"${scope}\"],\n\t\t\t[data-astro-transition-fallback=\"${image}\"][data-astro-transition-scope=\"${scope}\"] { ${animation} }`\n );\n }\n addAnimationPair(direction, image, rules) {\n const { scope, name } = this;\n const animation = stringifyAnimation(rules);\n const prefix = direction === \"backwards\" ? `[data-astro-transition=back]` : direction === \"forwards\" ? \"\" : `[data-astro-transition=${direction}]`;\n this.addRule(\"modern\", `${prefix}::view-transition-${image}(${name}) { ${animation} }`);\n this.addRule(\n \"fallback\",\n `${prefix}[data-astro-transition-fallback=\"${image}\"] [data-astro-transition-scope=\"${scope}\"],\n\t\t\t${prefix}[data-astro-transition-fallback=\"${image}\"][data-astro-transition-scope=\"${scope}\"] { ${animation} }`\n );\n }\n}\nfunction addAnimationProperty(builder, prop, value) {\n let arr = builder[prop];\n if (Array.isArray(arr)) {\n arr.push(value.toString());\n } else {\n builder[prop] = [value.toString()];\n }\n}\nfunction animationBuilder() {\n return {\n toString() {\n let out = \"\";\n for (let k in this) {\n let value = this[k];\n if (Array.isArray(value)) {\n out += `\n\t${k}: ${value.join(\", \")};`;\n }\n }\n return out;\n }\n };\n}\nfunction stringifyAnimation(anim) {\n if (Array.isArray(anim)) {\n return stringifyAnimations(anim);\n } else {\n return stringifyAnimations([anim]);\n }\n}\nfunction stringifyAnimations(anims) {\n const builder = animationBuilder();\n for (const anim of anims) {\n if (anim.duration) {\n addAnimationProperty(builder, \"animation-duration\", toTimeValue(anim.duration));\n }\n if (anim.easing) {\n addAnimationProperty(builder, \"animation-timing-function\", anim.easing);\n }\n if (anim.direction) {\n addAnimationProperty(builder, \"animation-direction\", anim.direction);\n }\n if (anim.delay) {\n addAnimationProperty(builder, \"animation-delay\", anim.delay);\n }\n if (anim.fillMode) {\n addAnimationProperty(builder, \"animation-fill-mode\", anim.fillMode);\n }\n addAnimationProperty(builder, \"animation-name\", anim.name);\n }\n return builder.toString();\n}\nfunction toTimeValue(num) {\n return typeof num === \"number\" ? num + \"ms\" : num;\n}\nexport {\n createAnimationScope,\n createTransitionScope,\n renderTransition\n};\n","import { createComponent } from \"./astro-component.js\";\nimport { createAstro } from \"./astro-global.js\";\nimport { renderEndpoint } from \"./endpoint.js\";\nimport {\n escapeHTML,\n HTMLBytes,\n HTMLString,\n isHTMLString,\n markHTMLString,\n unescapeHTML\n} from \"./escape.js\";\nimport { renderJSX } from \"./jsx.js\";\nimport {\n addAttribute,\n createHeadAndContent,\n defineScriptVars,\n Fragment,\n maybeRenderHead,\n renderTemplate,\n renderComponent,\n Renderer,\n renderHead,\n renderHTMLElement,\n renderPage,\n renderScript,\n renderScriptElement,\n renderSlot,\n renderSlotToString,\n renderTemplate as renderTemplate2,\n renderToString,\n renderUniqueStylesheet,\n voidElementNames\n} from \"./render/index.js\";\nimport { createTransitionScope, renderTransition } from \"./transition.js\";\nimport { markHTMLString as markHTMLString2 } from \"./escape.js\";\nimport { Renderer as Renderer2, addAttribute as addAttribute2 } from \"./render/index.js\";\nfunction mergeSlots(...slotted) {\n const slots = {};\n for (const slot of slotted) {\n if (!slot) continue;\n if (typeof slot === \"object\") {\n Object.assign(slots, slot);\n } else if (typeof slot === \"function\") {\n Object.assign(slots, mergeSlots(slot()));\n }\n }\n return slots;\n}\nfunction __astro_tag_component__(Component, rendererName) {\n if (!Component) return;\n if (typeof Component !== \"function\") return;\n Object.defineProperty(Component, Renderer2, {\n value: rendererName,\n enumerable: false,\n writable: false\n });\n}\nfunction spreadAttributes(values = {}, _name, { class: scopedClassName } = {}) {\n let output = \"\";\n if (scopedClassName) {\n if (typeof values.class !== \"undefined\") {\n values.class += ` ${scopedClassName}`;\n } else if (typeof values[\"class:list\"] !== \"undefined\") {\n values[\"class:list\"] = [values[\"class:list\"], scopedClassName];\n } else {\n values.class = scopedClassName;\n }\n }\n for (const [key, value] of Object.entries(values)) {\n output += addAttribute2(value, key, true);\n }\n return markHTMLString2(output);\n}\nfunction defineStyleVars(defs) {\n let output = \"\";\n let arr = !Array.isArray(defs) ? [defs] : defs;\n for (const vars of arr) {\n for (const [key, value] of Object.entries(vars)) {\n if (value || value === 0) {\n output += `--${key}: ${value};`;\n }\n }\n }\n return markHTMLString2(output);\n}\nexport {\n Fragment,\n HTMLBytes,\n HTMLString,\n Renderer,\n __astro_tag_component__,\n addAttribute,\n createAstro,\n createComponent,\n createHeadAndContent,\n createTransitionScope,\n defineScriptVars,\n defineStyleVars,\n escapeHTML,\n isHTMLString,\n markHTMLString,\n maybeRenderHead,\n mergeSlots,\n renderTemplate as render,\n renderComponent,\n renderEndpoint,\n renderHTMLElement,\n renderHead,\n renderJSX,\n renderPage,\n renderScript,\n renderScriptElement,\n renderSlot,\n renderSlotToString,\n renderTemplate2 as renderTemplate,\n renderToString,\n renderTransition,\n renderUniqueStylesheet,\n spreadAttributes,\n unescapeHTML,\n voidElementNames\n};\n"],"names":["AstroErrorData.InvalidComponentArgs","AstroErrorData.AstroGlobUsedOutside","AstroErrorData.AstroGlobNoMatch","AstroErrorData.MissingMediaQueryDirective","AstroErrorData.NoMatchingImport","islandScriptDev","islandScript","AstroErrorData.NoMatchingRenderer","AstroErrorData.NoClientOnlyHint","AstroErrorData.NoClientEntrypoint","addAttribute2","markHTMLString2"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31]} \ No newline at end of file diff --git a/Target/chunks/astro_BEf8Em_q.mjs.map b/Target/chunks/astro_BEf8Em_q.mjs.map new file mode 100644 index 00000000..b9e1c08d --- /dev/null +++ b/Target/chunks/astro_BEf8Em_q.mjs.map @@ -0,0 +1 @@ +{"version":3,"file":"astro_BEf8Em_q.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;"} \ No newline at end of file diff --git a/Target/chunks/astro_G1YLVo_R.mjs.map b/Target/chunks/astro_G1YLVo_R.mjs.map deleted file mode 100644 index 84a9e575..00000000 --- a/Target/chunks/astro_G1YLVo_R.mjs.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"astro_G1YLVo_R.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;"} \ No newline at end of file diff --git a/Target/index.html b/Target/index.html index f4f4ae71..d3c2200f 100644 --- a/Target/index.html +++ b/Target/index.html @@ -1 +1 @@ -
\ No newline at end of file +
\ No newline at end of file diff --git a/Target/manifest_B5tighgG.mjs.map b/Target/manifest_o2g83e8X.mjs.map similarity index 99% rename from Target/manifest_B5tighgG.mjs.map rename to Target/manifest_o2g83e8X.mjs.map index 864bd6d7..098cd260 100644 --- a/Target/manifest_B5tighgG.mjs.map +++ b/Target/manifest_o2g83e8X.mjs.map @@ -1 +1 @@ -{"version":3,"file":"manifest_B5tighgG.mjs","sources":["../../../../../node_modules/astro/dist/actions/runtime/virtual/shared.js","../../../../../node_modules/astro/dist/core/routing/manifest/generator.js","../../../../../node_modules/astro/dist/core/routing/manifest/serialization.js","../../../../../node_modules/astro/dist/core/app/common.js"],"sourcesContent":["import { parse as devalueParse, stringify as devalueStringify } from \"devalue\";\nimport { REDIRECT_STATUS_CODES } from \"../../../core/constants.js\";\nimport { ActionsReturnedInvalidDataError } from \"../../../core/errors/errors-data.js\";\nimport { AstroError } from \"../../../core/errors/errors.js\";\nimport { ACTION_QUERY_PARAMS as _ACTION_QUERY_PARAMS } from \"../../consts.js\";\nconst ACTION_QUERY_PARAMS = _ACTION_QUERY_PARAMS;\nconst ACTION_ERROR_CODES = [\n \"BAD_REQUEST\",\n \"UNAUTHORIZED\",\n \"FORBIDDEN\",\n \"NOT_FOUND\",\n \"TIMEOUT\",\n \"CONFLICT\",\n \"PRECONDITION_FAILED\",\n \"PAYLOAD_TOO_LARGE\",\n \"UNSUPPORTED_MEDIA_TYPE\",\n \"UNPROCESSABLE_CONTENT\",\n \"TOO_MANY_REQUESTS\",\n \"CLIENT_CLOSED_REQUEST\",\n \"INTERNAL_SERVER_ERROR\"\n];\nconst codeToStatusMap = {\n // Implemented from tRPC error code table\n // https://trpc.io/docs/server/error-handling#error-codes\n BAD_REQUEST: 400,\n UNAUTHORIZED: 401,\n FORBIDDEN: 403,\n NOT_FOUND: 404,\n TIMEOUT: 405,\n CONFLICT: 409,\n PRECONDITION_FAILED: 412,\n PAYLOAD_TOO_LARGE: 413,\n UNSUPPORTED_MEDIA_TYPE: 415,\n UNPROCESSABLE_CONTENT: 422,\n TOO_MANY_REQUESTS: 429,\n CLIENT_CLOSED_REQUEST: 499,\n INTERNAL_SERVER_ERROR: 500\n};\nconst statusToCodeMap = Object.entries(codeToStatusMap).reduce(\n // reverse the key-value pairs\n (acc, [key, value]) => ({ ...acc, [value]: key }),\n {}\n);\nclass ActionError extends Error {\n type = \"AstroActionError\";\n code = \"INTERNAL_SERVER_ERROR\";\n status = 500;\n constructor(params) {\n super(params.message);\n this.code = params.code;\n this.status = ActionError.codeToStatus(params.code);\n if (params.stack) {\n this.stack = params.stack;\n }\n }\n static codeToStatus(code) {\n return codeToStatusMap[code];\n }\n static statusToCode(status) {\n return statusToCodeMap[status] ?? \"INTERNAL_SERVER_ERROR\";\n }\n static fromJson(body) {\n if (isInputError(body)) {\n return new ActionInputError(body.issues);\n }\n if (isActionError(body)) {\n return new ActionError(body);\n }\n return new ActionError({\n code: \"INTERNAL_SERVER_ERROR\"\n });\n }\n}\nfunction isActionError(error) {\n return typeof error === \"object\" && error != null && \"type\" in error && error.type === \"AstroActionError\";\n}\nfunction isInputError(error) {\n return typeof error === \"object\" && error != null && \"type\" in error && error.type === \"AstroActionInputError\" && \"issues\" in error && Array.isArray(error.issues);\n}\nclass ActionInputError extends ActionError {\n type = \"AstroActionInputError\";\n // We don't expose all ZodError properties.\n // Not all properties will serialize from server to client,\n // and we don't want to import the full ZodError object into the client.\n issues;\n fields;\n constructor(issues) {\n super({\n message: `Failed to validate: ${JSON.stringify(issues, null, 2)}`,\n code: \"BAD_REQUEST\"\n });\n this.issues = issues;\n this.fields = {};\n for (const issue of issues) {\n if (issue.path.length > 0) {\n const key = issue.path[0].toString();\n this.fields[key] ??= [];\n this.fields[key]?.push(issue.message);\n }\n }\n }\n}\nasync function callSafely(handler) {\n try {\n const data = await handler();\n return { data, error: void 0 };\n } catch (e) {\n if (e instanceof ActionError) {\n return { data: void 0, error: e };\n }\n return {\n data: void 0,\n error: new ActionError({\n message: e instanceof Error ? e.message : \"Unknown error\",\n code: \"INTERNAL_SERVER_ERROR\"\n })\n };\n }\n}\nfunction getActionQueryString(name) {\n const searchParams = new URLSearchParams({ [_ACTION_QUERY_PARAMS.actionName]: name });\n return `?${searchParams.toString()}`;\n}\nfunction serializeActionResult(res) {\n if (res.error) {\n if (import.meta.env?.DEV) {\n actionResultErrorStack.set(res.error.stack);\n }\n return {\n type: \"error\",\n status: res.error.status,\n contentType: \"application/json\",\n body: JSON.stringify({\n ...res.error,\n message: res.error.message\n })\n };\n }\n if (res.data === void 0) {\n return {\n type: \"empty\",\n status: 204\n };\n }\n let body;\n try {\n body = devalueStringify(res.data, {\n // Add support for URL objects\n URL: (value) => value instanceof URL && value.href\n });\n } catch (e) {\n let hint = ActionsReturnedInvalidDataError.hint;\n if (res.data instanceof Response) {\n hint = REDIRECT_STATUS_CODES.includes(res.data.status) ? \"If you need to redirect when the action succeeds, trigger a redirect where the action is called. See the Actions guide for server and client redirect examples: https://docs.astro.build/en/guides/actions.\" : \"If you need to return a Response object, try using a server endpoint instead. See https://docs.astro.build/en/guides/endpoints/#server-endpoints-api-routes\";\n }\n throw new AstroError({\n ...ActionsReturnedInvalidDataError,\n message: ActionsReturnedInvalidDataError.message(String(e)),\n hint\n });\n }\n return {\n type: \"data\",\n status: 200,\n contentType: \"application/json+devalue\",\n body\n };\n}\nfunction deserializeActionResult(res) {\n if (res.type === \"error\") {\n let json;\n try {\n json = JSON.parse(res.body);\n } catch {\n return {\n data: void 0,\n error: new ActionError({\n message: res.body,\n code: \"INTERNAL_SERVER_ERROR\"\n })\n };\n }\n if (import.meta.env?.PROD) {\n return { error: ActionError.fromJson(json), data: void 0 };\n } else {\n const error = ActionError.fromJson(json);\n error.stack = actionResultErrorStack.get();\n return {\n error,\n data: void 0\n };\n }\n }\n if (res.type === \"empty\") {\n return { data: void 0, error: void 0 };\n }\n return {\n data: devalueParse(res.body, {\n URL: (href) => new URL(href)\n }),\n error: void 0\n };\n}\nconst actionResultErrorStack = /* @__PURE__ */ function actionResultErrorStackFn() {\n let errorStack;\n return {\n set(stack) {\n errorStack = stack;\n },\n get() {\n return errorStack;\n }\n };\n}();\nexport {\n ACTION_ERROR_CODES,\n ACTION_QUERY_PARAMS,\n ActionError,\n ActionInputError,\n callSafely,\n deserializeActionResult,\n getActionQueryString,\n isActionError,\n isInputError,\n serializeActionResult\n};\n","import { compile } from \"path-to-regexp\";\nfunction sanitizeParams(params) {\n return Object.fromEntries(\n Object.entries(params).map(([key, value]) => {\n if (typeof value === \"string\") {\n return [key, value.normalize().replace(/#/g, \"%23\").replace(/\\?/g, \"%3F\")];\n }\n return [key, value];\n })\n );\n}\nfunction getRouteGenerator(segments, addTrailingSlash) {\n const template = segments.map((segment) => {\n return \"/\" + segment.map((part) => {\n if (part.spread) {\n return `:${part.content.slice(3)}(.*)?`;\n } else if (part.dynamic) {\n return `:${part.content}`;\n } else {\n return part.content.normalize().replace(/\\?/g, \"%3F\").replace(/#/g, \"%23\").replace(/%5B/g, \"[\").replace(/%5D/g, \"]\").replace(/[.*+?^${}()|[\\]\\\\]/g, \"\\\\$&\");\n }\n }).join(\"\");\n }).join(\"\");\n let trailing = \"\";\n if (addTrailingSlash === \"always\" && segments.length) {\n trailing = \"/\";\n }\n const toPath = compile(template + trailing);\n return (params) => {\n const sanitizedParams = sanitizeParams(params);\n const path = toPath(sanitizedParams);\n return path || \"/\";\n };\n}\nexport {\n getRouteGenerator\n};\n","import { getRouteGenerator } from \"./generator.js\";\nfunction serializeRouteData(routeData, trailingSlash) {\n return {\n ...routeData,\n generate: void 0,\n pattern: routeData.pattern.source,\n redirectRoute: routeData.redirectRoute ? serializeRouteData(routeData.redirectRoute, trailingSlash) : void 0,\n fallbackRoutes: routeData.fallbackRoutes.map((fallbackRoute) => {\n return serializeRouteData(fallbackRoute, trailingSlash);\n }),\n _meta: { trailingSlash }\n };\n}\nfunction deserializeRouteData(rawRouteData) {\n return {\n route: rawRouteData.route,\n type: rawRouteData.type,\n pattern: new RegExp(rawRouteData.pattern),\n params: rawRouteData.params,\n component: rawRouteData.component,\n generate: getRouteGenerator(rawRouteData.segments, rawRouteData._meta.trailingSlash),\n pathname: rawRouteData.pathname || void 0,\n segments: rawRouteData.segments,\n prerender: rawRouteData.prerender,\n redirect: rawRouteData.redirect,\n redirectRoute: rawRouteData.redirectRoute ? deserializeRouteData(rawRouteData.redirectRoute) : void 0,\n fallbackRoutes: rawRouteData.fallbackRoutes.map((fallback) => {\n return deserializeRouteData(fallback);\n }),\n isIndex: rawRouteData.isIndex\n };\n}\nexport {\n deserializeRouteData,\n serializeRouteData\n};\n","import { decodeKey } from \"../encryption.js\";\nimport { deserializeRouteData } from \"../routing/manifest/serialization.js\";\nfunction deserializeManifest(serializedManifest) {\n const routes = [];\n for (const serializedRoute of serializedManifest.routes) {\n routes.push({\n ...serializedRoute,\n routeData: deserializeRouteData(serializedRoute.routeData)\n });\n const route = serializedRoute;\n route.routeData = deserializeRouteData(serializedRoute.routeData);\n }\n const assets = new Set(serializedManifest.assets);\n const componentMetadata = new Map(serializedManifest.componentMetadata);\n const inlinedScripts = new Map(serializedManifest.inlinedScripts);\n const clientDirectives = new Map(serializedManifest.clientDirectives);\n const serverIslandNameMap = new Map(serializedManifest.serverIslandNameMap);\n const key = decodeKey(serializedManifest.key);\n return {\n // in case user middleware exists, this no-op middleware will be reassigned (see plugin-ssr.ts)\n middleware(_, next) {\n return next();\n },\n ...serializedManifest,\n assets,\n componentMetadata,\n inlinedScripts,\n clientDirectives,\n routes,\n serverIslandNameMap,\n key\n };\n}\nexport {\n deserializeManifest\n};\n"],"names":[],"mappings":"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","x_google_ignoreList":[0,1,2,3]} \ No newline at end of file +{"version":3,"file":"manifest_o2g83e8X.mjs","sources":["../../../../../node_modules/astro/dist/actions/runtime/virtual/shared.js","../../../../../node_modules/astro/dist/core/routing/manifest/generator.js","../../../../../node_modules/astro/dist/core/routing/manifest/serialization.js","../../../../../node_modules/astro/dist/core/app/common.js"],"sourcesContent":["import { parse as devalueParse, stringify as devalueStringify } from \"devalue\";\nimport { REDIRECT_STATUS_CODES } from \"../../../core/constants.js\";\nimport { ActionsReturnedInvalidDataError } from \"../../../core/errors/errors-data.js\";\nimport { AstroError } from \"../../../core/errors/errors.js\";\nimport { ACTION_QUERY_PARAMS as _ACTION_QUERY_PARAMS } from \"../../consts.js\";\nconst ACTION_QUERY_PARAMS = _ACTION_QUERY_PARAMS;\nconst ACTION_ERROR_CODES = [\n \"BAD_REQUEST\",\n \"UNAUTHORIZED\",\n \"FORBIDDEN\",\n \"NOT_FOUND\",\n \"TIMEOUT\",\n \"CONFLICT\",\n \"PRECONDITION_FAILED\",\n \"PAYLOAD_TOO_LARGE\",\n \"UNSUPPORTED_MEDIA_TYPE\",\n \"UNPROCESSABLE_CONTENT\",\n \"TOO_MANY_REQUESTS\",\n \"CLIENT_CLOSED_REQUEST\",\n \"INTERNAL_SERVER_ERROR\"\n];\nconst codeToStatusMap = {\n // Implemented from tRPC error code table\n // https://trpc.io/docs/server/error-handling#error-codes\n BAD_REQUEST: 400,\n UNAUTHORIZED: 401,\n FORBIDDEN: 403,\n NOT_FOUND: 404,\n TIMEOUT: 405,\n CONFLICT: 409,\n PRECONDITION_FAILED: 412,\n PAYLOAD_TOO_LARGE: 413,\n UNSUPPORTED_MEDIA_TYPE: 415,\n UNPROCESSABLE_CONTENT: 422,\n TOO_MANY_REQUESTS: 429,\n CLIENT_CLOSED_REQUEST: 499,\n INTERNAL_SERVER_ERROR: 500\n};\nconst statusToCodeMap = Object.entries(codeToStatusMap).reduce(\n // reverse the key-value pairs\n (acc, [key, value]) => ({ ...acc, [value]: key }),\n {}\n);\nclass ActionError extends Error {\n type = \"AstroActionError\";\n code = \"INTERNAL_SERVER_ERROR\";\n status = 500;\n constructor(params) {\n super(params.message);\n this.code = params.code;\n this.status = ActionError.codeToStatus(params.code);\n if (params.stack) {\n this.stack = params.stack;\n }\n }\n static codeToStatus(code) {\n return codeToStatusMap[code];\n }\n static statusToCode(status) {\n return statusToCodeMap[status] ?? \"INTERNAL_SERVER_ERROR\";\n }\n static fromJson(body) {\n if (isInputError(body)) {\n return new ActionInputError(body.issues);\n }\n if (isActionError(body)) {\n return new ActionError(body);\n }\n return new ActionError({\n code: \"INTERNAL_SERVER_ERROR\"\n });\n }\n}\nfunction isActionError(error) {\n return typeof error === \"object\" && error != null && \"type\" in error && error.type === \"AstroActionError\";\n}\nfunction isInputError(error) {\n return typeof error === \"object\" && error != null && \"type\" in error && error.type === \"AstroActionInputError\" && \"issues\" in error && Array.isArray(error.issues);\n}\nclass ActionInputError extends ActionError {\n type = \"AstroActionInputError\";\n // We don't expose all ZodError properties.\n // Not all properties will serialize from server to client,\n // and we don't want to import the full ZodError object into the client.\n issues;\n fields;\n constructor(issues) {\n super({\n message: `Failed to validate: ${JSON.stringify(issues, null, 2)}`,\n code: \"BAD_REQUEST\"\n });\n this.issues = issues;\n this.fields = {};\n for (const issue of issues) {\n if (issue.path.length > 0) {\n const key = issue.path[0].toString();\n this.fields[key] ??= [];\n this.fields[key]?.push(issue.message);\n }\n }\n }\n}\nasync function callSafely(handler) {\n try {\n const data = await handler();\n return { data, error: void 0 };\n } catch (e) {\n if (e instanceof ActionError) {\n return { data: void 0, error: e };\n }\n return {\n data: void 0,\n error: new ActionError({\n message: e instanceof Error ? e.message : \"Unknown error\",\n code: \"INTERNAL_SERVER_ERROR\"\n })\n };\n }\n}\nfunction getActionQueryString(name) {\n const searchParams = new URLSearchParams({ [_ACTION_QUERY_PARAMS.actionName]: name });\n return `?${searchParams.toString()}`;\n}\nfunction serializeActionResult(res) {\n if (res.error) {\n if (import.meta.env?.DEV) {\n actionResultErrorStack.set(res.error.stack);\n }\n return {\n type: \"error\",\n status: res.error.status,\n contentType: \"application/json\",\n body: JSON.stringify({\n ...res.error,\n message: res.error.message\n })\n };\n }\n if (res.data === void 0) {\n return {\n type: \"empty\",\n status: 204\n };\n }\n let body;\n try {\n body = devalueStringify(res.data, {\n // Add support for URL objects\n URL: (value) => value instanceof URL && value.href\n });\n } catch (e) {\n let hint = ActionsReturnedInvalidDataError.hint;\n if (res.data instanceof Response) {\n hint = REDIRECT_STATUS_CODES.includes(res.data.status) ? \"If you need to redirect when the action succeeds, trigger a redirect where the action is called. See the Actions guide for server and client redirect examples: https://docs.astro.build/en/guides/actions.\" : \"If you need to return a Response object, try using a server endpoint instead. See https://docs.astro.build/en/guides/endpoints/#server-endpoints-api-routes\";\n }\n throw new AstroError({\n ...ActionsReturnedInvalidDataError,\n message: ActionsReturnedInvalidDataError.message(String(e)),\n hint\n });\n }\n return {\n type: \"data\",\n status: 200,\n contentType: \"application/json+devalue\",\n body\n };\n}\nfunction deserializeActionResult(res) {\n if (res.type === \"error\") {\n let json;\n try {\n json = JSON.parse(res.body);\n } catch {\n return {\n data: void 0,\n error: new ActionError({\n message: res.body,\n code: \"INTERNAL_SERVER_ERROR\"\n })\n };\n }\n if (import.meta.env?.PROD) {\n return { error: ActionError.fromJson(json), data: void 0 };\n } else {\n const error = ActionError.fromJson(json);\n error.stack = actionResultErrorStack.get();\n return {\n error,\n data: void 0\n };\n }\n }\n if (res.type === \"empty\") {\n return { data: void 0, error: void 0 };\n }\n return {\n data: devalueParse(res.body, {\n URL: (href) => new URL(href)\n }),\n error: void 0\n };\n}\nconst actionResultErrorStack = /* @__PURE__ */ function actionResultErrorStackFn() {\n let errorStack;\n return {\n set(stack) {\n errorStack = stack;\n },\n get() {\n return errorStack;\n }\n };\n}();\nexport {\n ACTION_ERROR_CODES,\n ACTION_QUERY_PARAMS,\n ActionError,\n ActionInputError,\n callSafely,\n deserializeActionResult,\n getActionQueryString,\n isActionError,\n isInputError,\n serializeActionResult\n};\n","import { compile } from \"path-to-regexp\";\nfunction sanitizeParams(params) {\n return Object.fromEntries(\n Object.entries(params).map(([key, value]) => {\n if (typeof value === \"string\") {\n return [key, value.normalize().replace(/#/g, \"%23\").replace(/\\?/g, \"%3F\")];\n }\n return [key, value];\n })\n );\n}\nfunction getRouteGenerator(segments, addTrailingSlash) {\n const template = segments.map((segment) => {\n return \"/\" + segment.map((part) => {\n if (part.spread) {\n return `:${part.content.slice(3)}(.*)?`;\n } else if (part.dynamic) {\n return `:${part.content}`;\n } else {\n return part.content.normalize().replace(/\\?/g, \"%3F\").replace(/#/g, \"%23\").replace(/%5B/g, \"[\").replace(/%5D/g, \"]\").replace(/[.*+?^${}()|[\\]\\\\]/g, \"\\\\$&\");\n }\n }).join(\"\");\n }).join(\"\");\n let trailing = \"\";\n if (addTrailingSlash === \"always\" && segments.length) {\n trailing = \"/\";\n }\n const toPath = compile(template + trailing);\n return (params) => {\n const sanitizedParams = sanitizeParams(params);\n const path = toPath(sanitizedParams);\n return path || \"/\";\n };\n}\nexport {\n getRouteGenerator\n};\n","import { getRouteGenerator } from \"./generator.js\";\nfunction serializeRouteData(routeData, trailingSlash) {\n return {\n ...routeData,\n generate: void 0,\n pattern: routeData.pattern.source,\n redirectRoute: routeData.redirectRoute ? serializeRouteData(routeData.redirectRoute, trailingSlash) : void 0,\n fallbackRoutes: routeData.fallbackRoutes.map((fallbackRoute) => {\n return serializeRouteData(fallbackRoute, trailingSlash);\n }),\n _meta: { trailingSlash }\n };\n}\nfunction deserializeRouteData(rawRouteData) {\n return {\n route: rawRouteData.route,\n type: rawRouteData.type,\n pattern: new RegExp(rawRouteData.pattern),\n params: rawRouteData.params,\n component: rawRouteData.component,\n generate: getRouteGenerator(rawRouteData.segments, rawRouteData._meta.trailingSlash),\n pathname: rawRouteData.pathname || void 0,\n segments: rawRouteData.segments,\n prerender: rawRouteData.prerender,\n redirect: rawRouteData.redirect,\n redirectRoute: rawRouteData.redirectRoute ? deserializeRouteData(rawRouteData.redirectRoute) : void 0,\n fallbackRoutes: rawRouteData.fallbackRoutes.map((fallback) => {\n return deserializeRouteData(fallback);\n }),\n isIndex: rawRouteData.isIndex\n };\n}\nexport {\n deserializeRouteData,\n serializeRouteData\n};\n","import { decodeKey } from \"../encryption.js\";\nimport { deserializeRouteData } from \"../routing/manifest/serialization.js\";\nfunction deserializeManifest(serializedManifest) {\n const routes = [];\n for (const serializedRoute of serializedManifest.routes) {\n routes.push({\n ...serializedRoute,\n routeData: deserializeRouteData(serializedRoute.routeData)\n });\n const route = serializedRoute;\n route.routeData = deserializeRouteData(serializedRoute.routeData);\n }\n const assets = new Set(serializedManifest.assets);\n const componentMetadata = new Map(serializedManifest.componentMetadata);\n const inlinedScripts = new Map(serializedManifest.inlinedScripts);\n const clientDirectives = new Map(serializedManifest.clientDirectives);\n const serverIslandNameMap = new Map(serializedManifest.serverIslandNameMap);\n const key = decodeKey(serializedManifest.key);\n return {\n // in case user middleware exists, this no-op middleware will be reassigned (see plugin-ssr.ts)\n middleware(_, next) {\n return next();\n },\n ...serializedManifest,\n assets,\n componentMetadata,\n inlinedScripts,\n clientDirectives,\n routes,\n serverIslandNameMap,\n key\n };\n}\nexport {\n deserializeManifest\n};\n"],"names":[],"mappings":"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","x_google_ignoreList":[0,1,2,3]} \ No newline at end of file From 51fed5e380f91a5f67931ee1281a530c8ac60b6b Mon Sep 17 00:00:00 2001 From: Nikola Hristov Date: Mon, 9 Sep 2024 02:28:08 +0300 Subject: [PATCH 052/112] --- Source/Layout/Base.astro | 2 +- .../Base.astro_astro_type_script_index_2_lang.D4DYKVOQ.js.map | 2 +- Target/{manifest_o2g83e8X.mjs.map => manifest_DidrxvqG.mjs.map} | 2 +- Target/pages/index.astro.mjs.map | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) rename Target/{manifest_o2g83e8X.mjs.map => manifest_DidrxvqG.mjs.map} (99%) diff --git a/Source/Layout/Base.astro b/Source/Layout/Base.astro index 6a39e841..fca49ef6 100644 --- a/Source/Layout/Base.astro +++ b/Source/Layout/Base.astro @@ -25,7 +25,7 @@ import { ViewTransitions } from "astro:transitions"; {Title} - + diff --git a/Target/_astro/Base.astro_astro_type_script_index_2_lang.D4DYKVOQ.js.map b/Target/_astro/Base.astro_astro_type_script_index_2_lang.D4DYKVOQ.js.map index 4b07b86c..c01c252d 100644 --- a/Target/_astro/Base.astro_astro_type_script_index_2_lang.D4DYKVOQ.js.map +++ b/Target/_astro/Base.astro_astro_type_script_index_2_lang.D4DYKVOQ.js.map @@ -1 +1 @@ -{"version":3,"file":"Base.astro_astro_type_script_index_2_lang.D4DYKVOQ.js","sources":["../../Source/Layout/Base.astro?astro&type=script&index=2&lang.ts"],"sourcesContent":["\t\t\tdocument.documentElement.classList.remove(\"no-js\");\n\t\t\tdocument.documentElement.classList.add(\"js\");\n\t\t\n\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyAidmVyc2lvbiI6IDMsICJzb3VyY2VzIjogWyJEOi9EZXZlbG9wZXIvQXBwbGljYXRpb24vUGxheUZvcm0vTlBNL1N0YXJ0ZXIvU291cmNlL0xheW91dC9CYXNlLmFzdHJvIl0sICJzb3VyY2VzQ29udGVudCI6IFsiLS0tXG5pbXBvcnQgXCJAU3R5bGVzaGVldC9CYXNlLmNzc1wiO1xuXG4vLyBUT0RPIFBsYWNlIHlvdXIgdGl0bGUgYW5kIGRlc2NyaXB0aW9uIGhlcmVcbmNvbnN0IHsgVGl0bGUgPSBcIlwiLCBEZXNjcmlwdGlvbiA9IFwiXCIgfSA9IEFzdHJvLnByb3BzO1xuXG5pbnRlcmZhY2UgUHJvcHMge1xuXHRUaXRsZT86IHN0cmluZztcblx0RGVzY3JpcHRpb24/OiBzdHJpbmc7XG59XG5cbmltcG9ydCB7IEhlYWQgfSBmcm9tIFwiYXN0cm8tY2Fwb1wiO1xuaW1wb3J0IHsgVmlld1RyYW5zaXRpb25zIH0gZnJvbSBcImFzdHJvOnRyYW5zaXRpb25zXCI7XG4tLS1cblxuXHUwMDNjIWRvY3R5cGUgaHRtbFx1MDAzZVxuXHUwMDNjaHRtbCBsYW5nPVwiZW5cIiBjbGFzcz1cIm5vLWpzXCIgZGlyPVwibHRyXCJcdTAwM2Vcblx0XHUwMDNjSGVhZFx1MDAzZVxuXHRcdFx1MDAzY3NjcmlwdFx1MDAzZVxuXHRcdFx0ZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNsYXNzTGlzdC5yZW1vdmUoXCJuby1qc1wiKTtcblx0XHRcdGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5jbGFzc0xpc3QuYWRkKFwianNcIik7XG5cdFx0XHUwMDNjL3NjcmlwdFx1MDAzZVxuXG5cdFx0XHUwMDNjIS0tIE1ldGEgLS1cdTAwM2Vcblx0XHRcdTAwM2N0aXRsZVx1MDAzZXtUaXRsZX1cdTAwM2MvdGl0bGVcdTAwM2Vcblx0XHRcdTAwM2NtZXRhIGNoYXJzZXQ9XCJ1dGYtOFwiIC9cdTAwM2Vcblx0XHRcdTAwM2NtZXRhIG5hbWU9XCJkZXNjcmlwdGlvblwiIGNvbnRlbnQ9e0Rlc2NyaXB0aW9ufSAvXHUwMDNlXG5cdFx0XHUwMDNjbWV0YSBuYW1lPVwidmlld3BvcnRcIiBjb250ZW50PVwid2lkdGg9ZGV2aWNlLXdpZHRoLGluaXRpYWwtc2NhbGU9MS4wXCIgL1x1MDAzZVxuXHRcdFx1MDAzYyEtLSBUT0RPIERlZmluZSB5b3VyIGNvbG9yIHRoZW1lIGluIGhleCBoZXJlIC0tXHUwMDNlXG5cdFx0XHUwMDNjbWV0YSBuYW1lPVwidGhlbWUtY29sb3JcIiBjb250ZW50PVwiXCIgL1x1MDAzZVxuXHRcdFx1MDAzY21ldGEgbmFtZT1cImZvcm1hdC1kZXRlY3Rpb25cIiBjb250ZW50PVwidGVsZXBob25lPW5vXCIgL1x1MDAzZVxuXHRcdFx1MDAzY21ldGEgbmFtZT1cInR3aXR0ZXI6ZG50XCIgY29udGVudD1cIm9uXCIgL1x1MDAzZVxuXG5cdFx0XHUwMDNjIS0tIExpbmtzIC0tXHUwMDNlXG5cdFx0XHUwMDNjbGlua1xuXHRcdFx0cmVsPVwicHJlY29ubmVjdFwiXG5cdFx0XHRocmVmPVwiaHR0cHM6Ly9mb250cy5nb29nbGVhcGlzLmNvbVwiXG5cdFx0XHRjcm9zc29yaWdpblxuXHRcdC9cdTAwM2Vcblx0XHRcdTAwM2NsaW5rIHJlbD1cInByZWNvbm5lY3RcIiBocmVmPVwiaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbVwiIGNyb3Nzb3JpZ2luIC9cdTAwM2Vcblx0XHRcdTAwM2NsaW5rXG5cdFx0XHRyZWw9XCJtYW5pZmVzdFwiXG5cdFx0XHRocmVmPVwiL3NpdGUud2VibWFuaWZlc3RcIlxuXHRcdFx0Y3Jvc3NvcmlnaW49XCJ1c2UtY3JlZGVudGlhbHNcIlxuXHRcdC9cdTAwM2VcblxuXHRcdFx1MDAzY3N0eWxlIGlzOmdsb2JhbFx1MDAzZVxuXHRcdFx0QGltcG9ydCBcIkBTdHlsZXNoZWV0L0dsb2JhbC5jc3NcIjtcblx0XHRcdTAwM2Mvc3R5bGVcdTAwM2VcblxuXHRcdFx1MDAzY3Nsb3QgbmFtZT1cInN0eWxlc1wiIC9cdTAwM2VcblxuXHRcdFx1MDAzY3NjcmlwdFx1MDAzZVxuXHRcdFx0aW1wb3J0IFwiQFNjcmlwdC9TV1VQXCI7XG5cdFx0XHUwMDNjL3NjcmlwdFx1MDAzZVxuXG5cdFx0XHUwMDNjc2xvdCBuYW1lPVwic2NyaXB0c1wiIC9cdTAwM2VcblxuXHRcdFx1MDAzYyEtLSBGYXZpY29uIC0tXHUwMDNlXG5cdFx0XHUwMDNjVmlld1RyYW5zaXRpb25zIC9cdTAwM2Vcblx0XHUwMDNjL0hlYWRcdTAwM2Vcblx0XHUwMDNjYm9keVx1MDAzZVxuXHRcdFx1MDAzY2RpdiBjbGFzcz1cImdyb3dcIlx1MDAzZVxuXHRcdFx0XHUwMDNjc2xvdCAvXHUwMDNlXG5cdFx0XHUwMDNjL2Rpdlx1MDAzZVxuXHRcdFx1MDAzY3NjcmlwdFx1MDAzZVxuXHRcdFx0aW1wb3J0IFwiQFNjcmlwdC9GaXJlYmFzZVwiO1xuXHRcdFx1MDAzYy9zY3JpcHRcdTAwM2Vcblx0XHUwMDNjL2JvZHlcdTAwM2Vcblx1MDAzYy9odG1sXHUwMDNlIl0sICJtYXBwaW5ncyI6ICJBQW1CQSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNyRCxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUMvQztBQUFBOyIsICJuYW1lcyI6IFtdIH0="],"names":[],"mappings":"AAmBG,SAAS,gBAAgB,UAAU,OAAO,OAAO,EACjD,SAAS,gBAAgB,UAAU,IAAI,IAAI"} \ No newline at end of file +{"version":3,"file":"Base.astro_astro_type_script_index_2_lang.D4DYKVOQ.js","sources":["../../Source/Layout/Base.astro?astro&type=script&index=2&lang.ts"],"sourcesContent":["\t\t\tdocument.documentElement.classList.remove(\"no-js\");\n\t\t\tdocument.documentElement.classList.add(\"js\");\n\t\t\n\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyAidmVyc2lvbiI6IDMsICJzb3VyY2VzIjogWyJEOi9EZXZlbG9wZXIvQXBwbGljYXRpb24vUGxheUZvcm0vTlBNL1N0YXJ0ZXIvU291cmNlL0xheW91dC9CYXNlLmFzdHJvIl0sICJzb3VyY2VzQ29udGVudCI6IFsiLS0tXG5pbXBvcnQgXCJAU3R5bGVzaGVldC9CYXNlLmNzc1wiO1xuXG4vLyBUT0RPIFBsYWNlIHlvdXIgdGl0bGUgYW5kIGRlc2NyaXB0aW9uIGhlcmVcbmNvbnN0IHsgVGl0bGUgPSBcIlwiLCBEZXNjcmlwdGlvbiA9IFwiXCIgfSA9IEFzdHJvLnByb3BzO1xuXG5pbnRlcmZhY2UgUHJvcHMge1xuXHRUaXRsZT86IHN0cmluZztcblx0RGVzY3JpcHRpb24/OiBzdHJpbmc7XG59XG5cbmltcG9ydCB7IEhlYWQgfSBmcm9tIFwiYXN0cm8tY2Fwb1wiO1xuaW1wb3J0IHsgVmlld1RyYW5zaXRpb25zIH0gZnJvbSBcImFzdHJvOnRyYW5zaXRpb25zXCI7XG4tLS1cblxuXHUwMDNjIWRvY3R5cGUgaHRtbFx1MDAzZVxuXHUwMDNjaHRtbCBsYW5nPVwiZW5cIiBjbGFzcz1cIm5vLWpzXCIgZGlyPVwibHRyXCJcdTAwM2Vcblx0XHUwMDNjSGVhZFx1MDAzZVxuXHRcdFx1MDAzY3NjcmlwdFx1MDAzZVxuXHRcdFx0ZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNsYXNzTGlzdC5yZW1vdmUoXCJuby1qc1wiKTtcblx0XHRcdGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5jbGFzc0xpc3QuYWRkKFwianNcIik7XG5cdFx0XHUwMDNjL3NjcmlwdFx1MDAzZVxuXG5cdFx0XHUwMDNjIS0tIE1ldGEgLS1cdTAwM2Vcblx0XHRcdTAwM2N0aXRsZVx1MDAzZXtUaXRsZX1cdTAwM2MvdGl0bGVcdTAwM2Vcblx0XHRcdTAwM2NtZXRhIGNoYXJzZXQ9XCJ1dGYtOFwiIC9cdTAwM2Vcblx0XHRcdTAwM2NtZXRhIG5hbWU9XCJkZXNjcmlwdGlvblwiIGNvbnRlbnQ9e0Rlc2NyaXB0aW9ufSAvXHUwMDNlXG5cdFx0XHUwMDNjbWV0YSBuYW1lPVwidmlld3BvcnRcIiBjb250ZW50PVwid2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEuMFwiIC9cdTAwM2Vcblx0XHRcdTAwM2MhLS0gVE9ETyBEZWZpbmUgeW91ciBjb2xvciB0aGVtZSBpbiBoZXggaGVyZSAtLVx1MDAzZVxuXHRcdFx1MDAzY21ldGEgbmFtZT1cInRoZW1lLWNvbG9yXCIgY29udGVudD1cIlwiIC9cdTAwM2Vcblx0XHRcdTAwM2NtZXRhIG5hbWU9XCJmb3JtYXQtZGV0ZWN0aW9uXCIgY29udGVudD1cInRlbGVwaG9uZT1ub1wiIC9cdTAwM2Vcblx0XHRcdTAwM2NtZXRhIG5hbWU9XCJ0d2l0dGVyOmRudFwiIGNvbnRlbnQ9XCJvblwiIC9cdTAwM2VcblxuXHRcdFx1MDAzYyEtLSBMaW5rcyAtLVx1MDAzZVxuXHRcdFx1MDAzY2xpbmtcblx0XHRcdHJlbD1cInByZWNvbm5lY3RcIlxuXHRcdFx0aHJlZj1cImh0dHBzOi8vZm9udHMuZ29vZ2xlYXBpcy5jb21cIlxuXHRcdFx0Y3Jvc3NvcmlnaW5cblx0XHQvXHUwMDNlXG5cdFx0XHUwMDNjbGluayByZWw9XCJwcmVjb25uZWN0XCIgaHJlZj1cImh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb21cIiBjcm9zc29yaWdpbiAvXHUwMDNlXG5cdFx0XHUwMDNjbGlua1xuXHRcdFx0cmVsPVwibWFuaWZlc3RcIlxuXHRcdFx0aHJlZj1cIi9zaXRlLndlYm1hbmlmZXN0XCJcblx0XHRcdGNyb3Nzb3JpZ2luPVwidXNlLWNyZWRlbnRpYWxzXCJcblx0XHQvXHUwMDNlXG5cblx0XHRcdTAwM2NzdHlsZSBpczpnbG9iYWxcdTAwM2Vcblx0XHRcdEBpbXBvcnQgXCJAU3R5bGVzaGVldC9HbG9iYWwuY3NzXCI7XG5cdFx0XHUwMDNjL3N0eWxlXHUwMDNlXG5cblx0XHRcdTAwM2NzbG90IG5hbWU9XCJzdHlsZXNcIiAvXHUwMDNlXG5cblx0XHRcdTAwM2NzY3JpcHRcdTAwM2Vcblx0XHRcdGltcG9ydCBcIkBTY3JpcHQvU1dVUFwiO1xuXHRcdFx1MDAzYy9zY3JpcHRcdTAwM2VcblxuXHRcdFx1MDAzY3Nsb3QgbmFtZT1cInNjcmlwdHNcIiAvXHUwMDNlXG5cblx0XHRcdTAwM2MhLS0gRmF2aWNvbiAtLVx1MDAzZVxuXHRcdFx1MDAzY1ZpZXdUcmFuc2l0aW9ucyAvXHUwMDNlXG5cdFx1MDAzYy9IZWFkXHUwMDNlXG5cdFx1MDAzY2JvZHlcdTAwM2Vcblx0XHRcdTAwM2NkaXYgY2xhc3M9XCJncm93XCJcdTAwM2Vcblx0XHRcdFx1MDAzY3Nsb3QgL1x1MDAzZVxuXHRcdFx1MDAzYy9kaXZcdTAwM2Vcblx0XHRcdTAwM2NzY3JpcHRcdTAwM2Vcblx0XHRcdGltcG9ydCBcIkBTY3JpcHQvRmlyZWJhc2VcIjtcblx0XHRcdTAwM2Mvc2NyaXB0XHUwMDNlXG5cdFx1MDAzYy9ib2R5XHUwMDNlXG5cdTAwM2MvaHRtbFx1MDAzZSJdLCAibWFwcGluZ3MiOiAiQUFtQkEsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDckQsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDL0M7QUFBQTsiLCAibmFtZXMiOiBbXSB9"],"names":[],"mappings":"AAmBG,SAAS,gBAAgB,UAAU,OAAO,OAAO,EACjD,SAAS,gBAAgB,UAAU,IAAI,IAAI"} \ No newline at end of file diff --git a/Target/manifest_o2g83e8X.mjs.map b/Target/manifest_DidrxvqG.mjs.map similarity index 99% rename from Target/manifest_o2g83e8X.mjs.map rename to Target/manifest_DidrxvqG.mjs.map index 098cd260..5efe0607 100644 --- a/Target/manifest_o2g83e8X.mjs.map +++ b/Target/manifest_DidrxvqG.mjs.map @@ -1 +1 @@ -{"version":3,"file":"manifest_o2g83e8X.mjs","sources":["../../../../../node_modules/astro/dist/actions/runtime/virtual/shared.js","../../../../../node_modules/astro/dist/core/routing/manifest/generator.js","../../../../../node_modules/astro/dist/core/routing/manifest/serialization.js","../../../../../node_modules/astro/dist/core/app/common.js"],"sourcesContent":["import { parse as devalueParse, stringify as devalueStringify } from \"devalue\";\nimport { REDIRECT_STATUS_CODES } from \"../../../core/constants.js\";\nimport { ActionsReturnedInvalidDataError } from \"../../../core/errors/errors-data.js\";\nimport { AstroError } from \"../../../core/errors/errors.js\";\nimport { ACTION_QUERY_PARAMS as _ACTION_QUERY_PARAMS } from \"../../consts.js\";\nconst ACTION_QUERY_PARAMS = _ACTION_QUERY_PARAMS;\nconst ACTION_ERROR_CODES = [\n \"BAD_REQUEST\",\n \"UNAUTHORIZED\",\n \"FORBIDDEN\",\n \"NOT_FOUND\",\n \"TIMEOUT\",\n \"CONFLICT\",\n \"PRECONDITION_FAILED\",\n \"PAYLOAD_TOO_LARGE\",\n \"UNSUPPORTED_MEDIA_TYPE\",\n \"UNPROCESSABLE_CONTENT\",\n \"TOO_MANY_REQUESTS\",\n \"CLIENT_CLOSED_REQUEST\",\n \"INTERNAL_SERVER_ERROR\"\n];\nconst codeToStatusMap = {\n // Implemented from tRPC error code table\n // https://trpc.io/docs/server/error-handling#error-codes\n BAD_REQUEST: 400,\n UNAUTHORIZED: 401,\n FORBIDDEN: 403,\n NOT_FOUND: 404,\n TIMEOUT: 405,\n CONFLICT: 409,\n PRECONDITION_FAILED: 412,\n PAYLOAD_TOO_LARGE: 413,\n UNSUPPORTED_MEDIA_TYPE: 415,\n UNPROCESSABLE_CONTENT: 422,\n TOO_MANY_REQUESTS: 429,\n CLIENT_CLOSED_REQUEST: 499,\n INTERNAL_SERVER_ERROR: 500\n};\nconst statusToCodeMap = Object.entries(codeToStatusMap).reduce(\n // reverse the key-value pairs\n (acc, [key, value]) => ({ ...acc, [value]: key }),\n {}\n);\nclass ActionError extends Error {\n type = \"AstroActionError\";\n code = \"INTERNAL_SERVER_ERROR\";\n status = 500;\n constructor(params) {\n super(params.message);\n this.code = params.code;\n this.status = ActionError.codeToStatus(params.code);\n if (params.stack) {\n this.stack = params.stack;\n }\n }\n static codeToStatus(code) {\n return codeToStatusMap[code];\n }\n static statusToCode(status) {\n return statusToCodeMap[status] ?? \"INTERNAL_SERVER_ERROR\";\n }\n static fromJson(body) {\n if (isInputError(body)) {\n return new ActionInputError(body.issues);\n }\n if (isActionError(body)) {\n return new ActionError(body);\n }\n return new ActionError({\n code: \"INTERNAL_SERVER_ERROR\"\n });\n }\n}\nfunction isActionError(error) {\n return typeof error === \"object\" && error != null && \"type\" in error && error.type === \"AstroActionError\";\n}\nfunction isInputError(error) {\n return typeof error === \"object\" && error != null && \"type\" in error && error.type === \"AstroActionInputError\" && \"issues\" in error && Array.isArray(error.issues);\n}\nclass ActionInputError extends ActionError {\n type = \"AstroActionInputError\";\n // We don't expose all ZodError properties.\n // Not all properties will serialize from server to client,\n // and we don't want to import the full ZodError object into the client.\n issues;\n fields;\n constructor(issues) {\n super({\n message: `Failed to validate: ${JSON.stringify(issues, null, 2)}`,\n code: \"BAD_REQUEST\"\n });\n this.issues = issues;\n this.fields = {};\n for (const issue of issues) {\n if (issue.path.length > 0) {\n const key = issue.path[0].toString();\n this.fields[key] ??= [];\n this.fields[key]?.push(issue.message);\n }\n }\n }\n}\nasync function callSafely(handler) {\n try {\n const data = await handler();\n return { data, error: void 0 };\n } catch (e) {\n if (e instanceof ActionError) {\n return { data: void 0, error: e };\n }\n return {\n data: void 0,\n error: new ActionError({\n message: e instanceof Error ? e.message : \"Unknown error\",\n code: \"INTERNAL_SERVER_ERROR\"\n })\n };\n }\n}\nfunction getActionQueryString(name) {\n const searchParams = new URLSearchParams({ [_ACTION_QUERY_PARAMS.actionName]: name });\n return `?${searchParams.toString()}`;\n}\nfunction serializeActionResult(res) {\n if (res.error) {\n if (import.meta.env?.DEV) {\n actionResultErrorStack.set(res.error.stack);\n }\n return {\n type: \"error\",\n status: res.error.status,\n contentType: \"application/json\",\n body: JSON.stringify({\n ...res.error,\n message: res.error.message\n })\n };\n }\n if (res.data === void 0) {\n return {\n type: \"empty\",\n status: 204\n };\n }\n let body;\n try {\n body = devalueStringify(res.data, {\n // Add support for URL objects\n URL: (value) => value instanceof URL && value.href\n });\n } catch (e) {\n let hint = ActionsReturnedInvalidDataError.hint;\n if (res.data instanceof Response) {\n hint = REDIRECT_STATUS_CODES.includes(res.data.status) ? \"If you need to redirect when the action succeeds, trigger a redirect where the action is called. See the Actions guide for server and client redirect examples: https://docs.astro.build/en/guides/actions.\" : \"If you need to return a Response object, try using a server endpoint instead. See https://docs.astro.build/en/guides/endpoints/#server-endpoints-api-routes\";\n }\n throw new AstroError({\n ...ActionsReturnedInvalidDataError,\n message: ActionsReturnedInvalidDataError.message(String(e)),\n hint\n });\n }\n return {\n type: \"data\",\n status: 200,\n contentType: \"application/json+devalue\",\n body\n };\n}\nfunction deserializeActionResult(res) {\n if (res.type === \"error\") {\n let json;\n try {\n json = JSON.parse(res.body);\n } catch {\n return {\n data: void 0,\n error: new ActionError({\n message: res.body,\n code: \"INTERNAL_SERVER_ERROR\"\n })\n };\n }\n if (import.meta.env?.PROD) {\n return { error: ActionError.fromJson(json), data: void 0 };\n } else {\n const error = ActionError.fromJson(json);\n error.stack = actionResultErrorStack.get();\n return {\n error,\n data: void 0\n };\n }\n }\n if (res.type === \"empty\") {\n return { data: void 0, error: void 0 };\n }\n return {\n data: devalueParse(res.body, {\n URL: (href) => new URL(href)\n }),\n error: void 0\n };\n}\nconst actionResultErrorStack = /* @__PURE__ */ function actionResultErrorStackFn() {\n let errorStack;\n return {\n set(stack) {\n errorStack = stack;\n },\n get() {\n return errorStack;\n }\n };\n}();\nexport {\n ACTION_ERROR_CODES,\n ACTION_QUERY_PARAMS,\n ActionError,\n ActionInputError,\n callSafely,\n deserializeActionResult,\n getActionQueryString,\n isActionError,\n isInputError,\n serializeActionResult\n};\n","import { compile } from \"path-to-regexp\";\nfunction sanitizeParams(params) {\n return Object.fromEntries(\n Object.entries(params).map(([key, value]) => {\n if (typeof value === \"string\") {\n return [key, value.normalize().replace(/#/g, \"%23\").replace(/\\?/g, \"%3F\")];\n }\n return [key, value];\n })\n );\n}\nfunction getRouteGenerator(segments, addTrailingSlash) {\n const template = segments.map((segment) => {\n return \"/\" + segment.map((part) => {\n if (part.spread) {\n return `:${part.content.slice(3)}(.*)?`;\n } else if (part.dynamic) {\n return `:${part.content}`;\n } else {\n return part.content.normalize().replace(/\\?/g, \"%3F\").replace(/#/g, \"%23\").replace(/%5B/g, \"[\").replace(/%5D/g, \"]\").replace(/[.*+?^${}()|[\\]\\\\]/g, \"\\\\$&\");\n }\n }).join(\"\");\n }).join(\"\");\n let trailing = \"\";\n if (addTrailingSlash === \"always\" && segments.length) {\n trailing = \"/\";\n }\n const toPath = compile(template + trailing);\n return (params) => {\n const sanitizedParams = sanitizeParams(params);\n const path = toPath(sanitizedParams);\n return path || \"/\";\n };\n}\nexport {\n getRouteGenerator\n};\n","import { getRouteGenerator } from \"./generator.js\";\nfunction serializeRouteData(routeData, trailingSlash) {\n return {\n ...routeData,\n generate: void 0,\n pattern: routeData.pattern.source,\n redirectRoute: routeData.redirectRoute ? serializeRouteData(routeData.redirectRoute, trailingSlash) : void 0,\n fallbackRoutes: routeData.fallbackRoutes.map((fallbackRoute) => {\n return serializeRouteData(fallbackRoute, trailingSlash);\n }),\n _meta: { trailingSlash }\n };\n}\nfunction deserializeRouteData(rawRouteData) {\n return {\n route: rawRouteData.route,\n type: rawRouteData.type,\n pattern: new RegExp(rawRouteData.pattern),\n params: rawRouteData.params,\n component: rawRouteData.component,\n generate: getRouteGenerator(rawRouteData.segments, rawRouteData._meta.trailingSlash),\n pathname: rawRouteData.pathname || void 0,\n segments: rawRouteData.segments,\n prerender: rawRouteData.prerender,\n redirect: rawRouteData.redirect,\n redirectRoute: rawRouteData.redirectRoute ? deserializeRouteData(rawRouteData.redirectRoute) : void 0,\n fallbackRoutes: rawRouteData.fallbackRoutes.map((fallback) => {\n return deserializeRouteData(fallback);\n }),\n isIndex: rawRouteData.isIndex\n };\n}\nexport {\n deserializeRouteData,\n serializeRouteData\n};\n","import { decodeKey } from \"../encryption.js\";\nimport { deserializeRouteData } from \"../routing/manifest/serialization.js\";\nfunction deserializeManifest(serializedManifest) {\n const routes = [];\n for (const serializedRoute of serializedManifest.routes) {\n routes.push({\n ...serializedRoute,\n routeData: deserializeRouteData(serializedRoute.routeData)\n });\n const route = serializedRoute;\n route.routeData = deserializeRouteData(serializedRoute.routeData);\n }\n const assets = new Set(serializedManifest.assets);\n const componentMetadata = new Map(serializedManifest.componentMetadata);\n const inlinedScripts = new Map(serializedManifest.inlinedScripts);\n const clientDirectives = new Map(serializedManifest.clientDirectives);\n const serverIslandNameMap = new Map(serializedManifest.serverIslandNameMap);\n const key = decodeKey(serializedManifest.key);\n return {\n // in case user middleware exists, this no-op middleware will be reassigned (see plugin-ssr.ts)\n middleware(_, next) {\n return next();\n },\n ...serializedManifest,\n assets,\n componentMetadata,\n inlinedScripts,\n clientDirectives,\n routes,\n serverIslandNameMap,\n key\n };\n}\nexport {\n deserializeManifest\n};\n"],"names":[],"mappings":"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","x_google_ignoreList":[0,1,2,3]} \ No newline at end of file +{"version":3,"file":"manifest_DidrxvqG.mjs","sources":["../../../../../node_modules/astro/dist/actions/runtime/virtual/shared.js","../../../../../node_modules/astro/dist/core/routing/manifest/generator.js","../../../../../node_modules/astro/dist/core/routing/manifest/serialization.js","../../../../../node_modules/astro/dist/core/app/common.js"],"sourcesContent":["import { parse as devalueParse, stringify as devalueStringify } from \"devalue\";\nimport { REDIRECT_STATUS_CODES } from \"../../../core/constants.js\";\nimport { ActionsReturnedInvalidDataError } from \"../../../core/errors/errors-data.js\";\nimport { AstroError } from \"../../../core/errors/errors.js\";\nimport { ACTION_QUERY_PARAMS as _ACTION_QUERY_PARAMS } from \"../../consts.js\";\nconst ACTION_QUERY_PARAMS = _ACTION_QUERY_PARAMS;\nconst ACTION_ERROR_CODES = [\n \"BAD_REQUEST\",\n \"UNAUTHORIZED\",\n \"FORBIDDEN\",\n \"NOT_FOUND\",\n \"TIMEOUT\",\n \"CONFLICT\",\n \"PRECONDITION_FAILED\",\n \"PAYLOAD_TOO_LARGE\",\n \"UNSUPPORTED_MEDIA_TYPE\",\n \"UNPROCESSABLE_CONTENT\",\n \"TOO_MANY_REQUESTS\",\n \"CLIENT_CLOSED_REQUEST\",\n \"INTERNAL_SERVER_ERROR\"\n];\nconst codeToStatusMap = {\n // Implemented from tRPC error code table\n // https://trpc.io/docs/server/error-handling#error-codes\n BAD_REQUEST: 400,\n UNAUTHORIZED: 401,\n FORBIDDEN: 403,\n NOT_FOUND: 404,\n TIMEOUT: 405,\n CONFLICT: 409,\n PRECONDITION_FAILED: 412,\n PAYLOAD_TOO_LARGE: 413,\n UNSUPPORTED_MEDIA_TYPE: 415,\n UNPROCESSABLE_CONTENT: 422,\n TOO_MANY_REQUESTS: 429,\n CLIENT_CLOSED_REQUEST: 499,\n INTERNAL_SERVER_ERROR: 500\n};\nconst statusToCodeMap = Object.entries(codeToStatusMap).reduce(\n // reverse the key-value pairs\n (acc, [key, value]) => ({ ...acc, [value]: key }),\n {}\n);\nclass ActionError extends Error {\n type = \"AstroActionError\";\n code = \"INTERNAL_SERVER_ERROR\";\n status = 500;\n constructor(params) {\n super(params.message);\n this.code = params.code;\n this.status = ActionError.codeToStatus(params.code);\n if (params.stack) {\n this.stack = params.stack;\n }\n }\n static codeToStatus(code) {\n return codeToStatusMap[code];\n }\n static statusToCode(status) {\n return statusToCodeMap[status] ?? \"INTERNAL_SERVER_ERROR\";\n }\n static fromJson(body) {\n if (isInputError(body)) {\n return new ActionInputError(body.issues);\n }\n if (isActionError(body)) {\n return new ActionError(body);\n }\n return new ActionError({\n code: \"INTERNAL_SERVER_ERROR\"\n });\n }\n}\nfunction isActionError(error) {\n return typeof error === \"object\" && error != null && \"type\" in error && error.type === \"AstroActionError\";\n}\nfunction isInputError(error) {\n return typeof error === \"object\" && error != null && \"type\" in error && error.type === \"AstroActionInputError\" && \"issues\" in error && Array.isArray(error.issues);\n}\nclass ActionInputError extends ActionError {\n type = \"AstroActionInputError\";\n // We don't expose all ZodError properties.\n // Not all properties will serialize from server to client,\n // and we don't want to import the full ZodError object into the client.\n issues;\n fields;\n constructor(issues) {\n super({\n message: `Failed to validate: ${JSON.stringify(issues, null, 2)}`,\n code: \"BAD_REQUEST\"\n });\n this.issues = issues;\n this.fields = {};\n for (const issue of issues) {\n if (issue.path.length > 0) {\n const key = issue.path[0].toString();\n this.fields[key] ??= [];\n this.fields[key]?.push(issue.message);\n }\n }\n }\n}\nasync function callSafely(handler) {\n try {\n const data = await handler();\n return { data, error: void 0 };\n } catch (e) {\n if (e instanceof ActionError) {\n return { data: void 0, error: e };\n }\n return {\n data: void 0,\n error: new ActionError({\n message: e instanceof Error ? e.message : \"Unknown error\",\n code: \"INTERNAL_SERVER_ERROR\"\n })\n };\n }\n}\nfunction getActionQueryString(name) {\n const searchParams = new URLSearchParams({ [_ACTION_QUERY_PARAMS.actionName]: name });\n return `?${searchParams.toString()}`;\n}\nfunction serializeActionResult(res) {\n if (res.error) {\n if (import.meta.env?.DEV) {\n actionResultErrorStack.set(res.error.stack);\n }\n return {\n type: \"error\",\n status: res.error.status,\n contentType: \"application/json\",\n body: JSON.stringify({\n ...res.error,\n message: res.error.message\n })\n };\n }\n if (res.data === void 0) {\n return {\n type: \"empty\",\n status: 204\n };\n }\n let body;\n try {\n body = devalueStringify(res.data, {\n // Add support for URL objects\n URL: (value) => value instanceof URL && value.href\n });\n } catch (e) {\n let hint = ActionsReturnedInvalidDataError.hint;\n if (res.data instanceof Response) {\n hint = REDIRECT_STATUS_CODES.includes(res.data.status) ? \"If you need to redirect when the action succeeds, trigger a redirect where the action is called. See the Actions guide for server and client redirect examples: https://docs.astro.build/en/guides/actions.\" : \"If you need to return a Response object, try using a server endpoint instead. See https://docs.astro.build/en/guides/endpoints/#server-endpoints-api-routes\";\n }\n throw new AstroError({\n ...ActionsReturnedInvalidDataError,\n message: ActionsReturnedInvalidDataError.message(String(e)),\n hint\n });\n }\n return {\n type: \"data\",\n status: 200,\n contentType: \"application/json+devalue\",\n body\n };\n}\nfunction deserializeActionResult(res) {\n if (res.type === \"error\") {\n let json;\n try {\n json = JSON.parse(res.body);\n } catch {\n return {\n data: void 0,\n error: new ActionError({\n message: res.body,\n code: \"INTERNAL_SERVER_ERROR\"\n })\n };\n }\n if (import.meta.env?.PROD) {\n return { error: ActionError.fromJson(json), data: void 0 };\n } else {\n const error = ActionError.fromJson(json);\n error.stack = actionResultErrorStack.get();\n return {\n error,\n data: void 0\n };\n }\n }\n if (res.type === \"empty\") {\n return { data: void 0, error: void 0 };\n }\n return {\n data: devalueParse(res.body, {\n URL: (href) => new URL(href)\n }),\n error: void 0\n };\n}\nconst actionResultErrorStack = /* @__PURE__ */ function actionResultErrorStackFn() {\n let errorStack;\n return {\n set(stack) {\n errorStack = stack;\n },\n get() {\n return errorStack;\n }\n };\n}();\nexport {\n ACTION_ERROR_CODES,\n ACTION_QUERY_PARAMS,\n ActionError,\n ActionInputError,\n callSafely,\n deserializeActionResult,\n getActionQueryString,\n isActionError,\n isInputError,\n serializeActionResult\n};\n","import { compile } from \"path-to-regexp\";\nfunction sanitizeParams(params) {\n return Object.fromEntries(\n Object.entries(params).map(([key, value]) => {\n if (typeof value === \"string\") {\n return [key, value.normalize().replace(/#/g, \"%23\").replace(/\\?/g, \"%3F\")];\n }\n return [key, value];\n })\n );\n}\nfunction getRouteGenerator(segments, addTrailingSlash) {\n const template = segments.map((segment) => {\n return \"/\" + segment.map((part) => {\n if (part.spread) {\n return `:${part.content.slice(3)}(.*)?`;\n } else if (part.dynamic) {\n return `:${part.content}`;\n } else {\n return part.content.normalize().replace(/\\?/g, \"%3F\").replace(/#/g, \"%23\").replace(/%5B/g, \"[\").replace(/%5D/g, \"]\").replace(/[.*+?^${}()|[\\]\\\\]/g, \"\\\\$&\");\n }\n }).join(\"\");\n }).join(\"\");\n let trailing = \"\";\n if (addTrailingSlash === \"always\" && segments.length) {\n trailing = \"/\";\n }\n const toPath = compile(template + trailing);\n return (params) => {\n const sanitizedParams = sanitizeParams(params);\n const path = toPath(sanitizedParams);\n return path || \"/\";\n };\n}\nexport {\n getRouteGenerator\n};\n","import { getRouteGenerator } from \"./generator.js\";\nfunction serializeRouteData(routeData, trailingSlash) {\n return {\n ...routeData,\n generate: void 0,\n pattern: routeData.pattern.source,\n redirectRoute: routeData.redirectRoute ? serializeRouteData(routeData.redirectRoute, trailingSlash) : void 0,\n fallbackRoutes: routeData.fallbackRoutes.map((fallbackRoute) => {\n return serializeRouteData(fallbackRoute, trailingSlash);\n }),\n _meta: { trailingSlash }\n };\n}\nfunction deserializeRouteData(rawRouteData) {\n return {\n route: rawRouteData.route,\n type: rawRouteData.type,\n pattern: new RegExp(rawRouteData.pattern),\n params: rawRouteData.params,\n component: rawRouteData.component,\n generate: getRouteGenerator(rawRouteData.segments, rawRouteData._meta.trailingSlash),\n pathname: rawRouteData.pathname || void 0,\n segments: rawRouteData.segments,\n prerender: rawRouteData.prerender,\n redirect: rawRouteData.redirect,\n redirectRoute: rawRouteData.redirectRoute ? deserializeRouteData(rawRouteData.redirectRoute) : void 0,\n fallbackRoutes: rawRouteData.fallbackRoutes.map((fallback) => {\n return deserializeRouteData(fallback);\n }),\n isIndex: rawRouteData.isIndex\n };\n}\nexport {\n deserializeRouteData,\n serializeRouteData\n};\n","import { decodeKey } from \"../encryption.js\";\nimport { deserializeRouteData } from \"../routing/manifest/serialization.js\";\nfunction deserializeManifest(serializedManifest) {\n const routes = [];\n for (const serializedRoute of serializedManifest.routes) {\n routes.push({\n ...serializedRoute,\n routeData: deserializeRouteData(serializedRoute.routeData)\n });\n const route = serializedRoute;\n route.routeData = deserializeRouteData(serializedRoute.routeData);\n }\n const assets = new Set(serializedManifest.assets);\n const componentMetadata = new Map(serializedManifest.componentMetadata);\n const inlinedScripts = new Map(serializedManifest.inlinedScripts);\n const clientDirectives = new Map(serializedManifest.clientDirectives);\n const serverIslandNameMap = new Map(serializedManifest.serverIslandNameMap);\n const key = decodeKey(serializedManifest.key);\n return {\n // in case user middleware exists, this no-op middleware will be reassigned (see plugin-ssr.ts)\n middleware(_, next) {\n return next();\n },\n ...serializedManifest,\n assets,\n componentMetadata,\n inlinedScripts,\n clientDirectives,\n routes,\n serverIslandNameMap,\n key\n };\n}\nexport {\n deserializeManifest\n};\n"],"names":[],"mappings":"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","x_google_ignoreList":[0,1,2,3]} \ No newline at end of file diff --git a/Target/pages/index.astro.mjs.map b/Target/pages/index.astro.mjs.map index 344d6cbb..facb1baa 100644 --- a/Target/pages/index.astro.mjs.map +++ b/Target/pages/index.astro.mjs.map @@ -1 +1 @@ -{"version":3,"file":"index.astro.mjs","sources":["../../../../../../node_modules/astro-capo/src/capo/rules.ts","../../../../../../node_modules/astro-capo/src/capo/index.ts","../../../../../../node_modules/astro-capo/src/Head.ts","../../../../../../node_modules/astro/components/ViewTransitions.astro","../../Source/Layout/Base.astro","../../Source/pages/index.astro"],"sourcesContent":["import type { ElementNode } from \"ultrahtml\";\nimport { renderSync } from 'ultrahtml';\n\ntype Attributes = Record;\n\nfunction has(value: unknown): value is string {\n return typeof value === 'string';\n}\nfunction is(a: unknown, b: T): a is T {\n return a === b;\n}\nfunction any(a: string | undefined, b: string[]): a is string {\n return has(a) && b.includes(a.toLowerCase());\n}\n\nexport const ElementWeights: Record = {\n META: 10,\n TITLE: 9,\n PRECONNECT: 8,\n ASYNC_SCRIPT: 7,\n IMPORT_STYLES: 6,\n SYNC_SCRIPT: 5,\n SYNC_STYLES: 4,\n PRELOAD: 3,\n DEFER_SCRIPT: 2,\n PREFETCH_PRERENDER: 1,\n OTHER: 0\n};\n\nexport const ElementDetectors = {\n META: isMeta,\n TITLE: isTitle,\n PRECONNECT: isPreconnect,\n DEFER_SCRIPT: isDeferScript,\n ASYNC_SCRIPT: isAsyncScript,\n IMPORT_STYLES: isImportStyles,\n SYNC_SCRIPT: isSyncScript,\n SYNC_STYLES: isSyncStyles,\n PRELOAD: isPreload,\n PREFETCH_PRERENDER: isPrefetchPrerender\n}\n\nexport const META_HTTP_EQUIV_KEYWORDS = [\n 'accept-ch',\n 'content-security-policy',\n 'content-type',\n 'default-style',\n 'delegate-ch',\n 'origin-trial',\n 'x-dns-prefetch-control'\n];\n\n// meta:is([charset], ${httpEquivSelector}, [name=viewport]), base\nexport function isMeta(name: string, a: Attributes) {\n if (name === 'base') return true;\n if (name !== 'meta') return false;\n return has(a.charset) || is(a.name, 'viewport') || any(a['http-equiv'], META_HTTP_EQUIV_KEYWORDS)\n}\n\n// title\nexport function isTitle(name: string) {\n return name === 'title';\n}\n\n// link[rel=preconnect]\nexport function isPreconnect(name: string, { rel }: Attributes) {\n return name === 'link' && is(rel, 'preconnect');\n}\n\n// script[src][async]\nexport function isAsyncScript(name: string, { src, async }: Attributes) {\n return name === 'script' && has(src) && has(async);\n}\n\n// style that contains @import\nexport function isImportStyles(name: string, a: Attributes, children: string) {\n const importRe = /@import/;\n\n if (name === 'style') {\n return importRe.test(children);\n }\n\n // Can't support external stylesheets on the server\n return false;\n}\n\n// script:not([src][defer],[src][type=module],[src][async],[type*=json])\nexport function isSyncScript(name: string, { src, defer, async, type = '' }: Attributes) {\n if (name !== 'script') return false;\n return !(has(src) && (has(defer) || has(async) || is(type, 'module')) || type.includes('json'))\n}\n\n// link[rel=stylesheet],style\nexport function isSyncStyles(name: string, { rel }: Attributes) {\n if (name === 'style') return true;\n return name === 'link' && is(rel, 'stylesheet')\n}\n\n// link:is([rel=preload], [rel=modulepreload])\nexport function isPreload(name: string, { rel }: Attributes) {\n return name === 'link' && any(rel, ['preload', 'modulepreload']);\n}\n\n// script[src][defer], script:not([src][async])[src][type=module]\nexport function isDeferScript(name: string, { src, defer, async, type }: Attributes) {\n if (name !== 'script') return false;\n return (has(src) && has(defer)) || (has(src) && is(type, 'module') && !has(async));\n}\n\n// link:is([rel=prefetch], [rel=dns-prefetch], [rel=prerender])\nexport function isPrefetchPrerender(name: string, { rel }: Attributes) {\n return name === 'link' && any(rel, ['prefetch', 'dns-prefetch', 'prerender'])\n}\n\n// meta[http-equiv=\"origin-trial\"i]\nexport function isOriginTrial(name: string, { 'http-equiv': http }: Attributes) {\n return name === 'meta' && is(http, 'origin-trial');\n}\n\n// meta[http-equiv=\"Content-Security-Policy\" i]\nexport function isMetaCSP(name: string, { 'http-equiv': http }: Attributes) {\n return name === 'meta' && is(http, 'Content-Security-Policy');\n}\n\nexport function getWeight(element: ElementNode) {\n for (const [id, detector] of Object.entries(ElementDetectors)) {\n const children = (element.name === 'style' && element.children.length > 0) ? renderSync(element) : '';\n if (detector(element.name, element.attributes, children)) {\n return ElementWeights[id];\n }\n }\n return ElementWeights.OTHER;\n}\n","import type { ElementNode } from 'ultrahtml';\nimport { parse, walkSync, renderSync, ELEMENT_NODE } from 'ultrahtml';\nimport { getWeight } from './rules.ts';\n\nexport default function capo(html: string) {\n const ast = parse(html);\n try {\n walkSync(ast, (node, parent, index) => {\n if (node.type === ELEMENT_NODE && node.name === 'head') {\n if (parent) {\n parent.children.splice(index, 1, getSortedHead(node));\n throw 'done' // short-circuit\n }\n }\n })\n } catch (e) {\n if (e !== 'done') throw e;\n }\n return renderSync(ast);\n}\n\nfunction getSortedHead(head: ElementNode): ElementNode {\n const weightedChildren = head.children.map((node) => {\n if (node.type === ELEMENT_NODE) {\n const weight = getWeight(node);\n return [weight, node];\n }\n }).filter(Boolean) as [number, ElementNode][]\n const children = weightedChildren.sort((a, b) => b[0] - a[0]).map(([_, element]) => element)\n return { ...head, children };\n}\n","import type { SSRResult } from \"astro\";\n// @ts-expect-error using astro internals\nimport { renderAllHeadContent } from \"astro/runtime/server/render/head.js\";\n// @ts-expect-error using astro internals\nimport { createComponent, unescapeHTML, renderSlotToString, spreadAttributes } from \"astro/runtime/server/index.js\";\nimport capo from \"./capo/index.ts\";\n\nexport const Head = createComponent({\n factory: async (result: SSRResult, props: Record, slots: Record) => {\n let head = '';\n head += ``\n head += await renderSlotToString(result, slots.default);\n head += renderAllHeadContent(result);\n head += '';\n return unescapeHTML(capo(head));\n }\n})\n","---\ntype Fallback = 'none' | 'animate' | 'swap';\n\nexport interface Props {\n\tfallback?: Fallback;\n\t/** @deprecated handleForms is enabled by default in Astro 4.0\n\t *\n\t * Set `data-astro-reload` on your form to opt-out of the default behavior.\n\t */\n\thandleForms?: boolean;\n}\n\nconst { fallback = 'animate' } = Astro.props;\n---\n\n\n\n\n\n","---\nimport \"@Stylesheet/Base.css\";\n\n// TODO Place your title and description here\nconst { Title = \"\", Description = \"\" } = Astro.props;\n\ninterface Props {\n\tTitle?: string;\n\tDescription?: string;\n}\n\nimport { Head } from \"astro-capo\";\nimport { ViewTransitions } from \"astro:transitions\";\n---\n\n\n\n\t\n\t\t\n\n\t\t\n\t\t{Title}\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\n\t\t\n\t\t\n\t\t\n\t\t\n\n\t\t\n\n\t\t\n\n\t\t\n\n\t\t\n\n\t\t\n\t\t\n\t\n\t\n\t\t
\n\t\t\t\n\t\t
\n\t\t\n\t\n\n","---\nimport Base from \"@Layout/Base.astro\";\n---\n\n\n"],"names":["$$createComponent","Astro","$$Astro","$$render","$$addAttribute","$$renderScript","$$createAstro","$$renderComponent","$$result","$$renderSlot","ViewTransitions","$$maybeRenderHead","Base"],"mappings":"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","x_google_ignoreList":[0,1,2,3]} \ No newline at end of file +{"version":3,"file":"index.astro.mjs","sources":["../../../../../../node_modules/astro-capo/src/capo/rules.ts","../../../../../../node_modules/astro-capo/src/capo/index.ts","../../../../../../node_modules/astro-capo/src/Head.ts","../../../../../../node_modules/astro/components/ViewTransitions.astro","../../Source/Layout/Base.astro","../../Source/pages/index.astro"],"sourcesContent":["import type { ElementNode } from \"ultrahtml\";\nimport { renderSync } from 'ultrahtml';\n\ntype Attributes = Record;\n\nfunction has(value: unknown): value is string {\n return typeof value === 'string';\n}\nfunction is(a: unknown, b: T): a is T {\n return a === b;\n}\nfunction any(a: string | undefined, b: string[]): a is string {\n return has(a) && b.includes(a.toLowerCase());\n}\n\nexport const ElementWeights: Record = {\n META: 10,\n TITLE: 9,\n PRECONNECT: 8,\n ASYNC_SCRIPT: 7,\n IMPORT_STYLES: 6,\n SYNC_SCRIPT: 5,\n SYNC_STYLES: 4,\n PRELOAD: 3,\n DEFER_SCRIPT: 2,\n PREFETCH_PRERENDER: 1,\n OTHER: 0\n};\n\nexport const ElementDetectors = {\n META: isMeta,\n TITLE: isTitle,\n PRECONNECT: isPreconnect,\n DEFER_SCRIPT: isDeferScript,\n ASYNC_SCRIPT: isAsyncScript,\n IMPORT_STYLES: isImportStyles,\n SYNC_SCRIPT: isSyncScript,\n SYNC_STYLES: isSyncStyles,\n PRELOAD: isPreload,\n PREFETCH_PRERENDER: isPrefetchPrerender\n}\n\nexport const META_HTTP_EQUIV_KEYWORDS = [\n 'accept-ch',\n 'content-security-policy',\n 'content-type',\n 'default-style',\n 'delegate-ch',\n 'origin-trial',\n 'x-dns-prefetch-control'\n];\n\n// meta:is([charset], ${httpEquivSelector}, [name=viewport]), base\nexport function isMeta(name: string, a: Attributes) {\n if (name === 'base') return true;\n if (name !== 'meta') return false;\n return has(a.charset) || is(a.name, 'viewport') || any(a['http-equiv'], META_HTTP_EQUIV_KEYWORDS)\n}\n\n// title\nexport function isTitle(name: string) {\n return name === 'title';\n}\n\n// link[rel=preconnect]\nexport function isPreconnect(name: string, { rel }: Attributes) {\n return name === 'link' && is(rel, 'preconnect');\n}\n\n// script[src][async]\nexport function isAsyncScript(name: string, { src, async }: Attributes) {\n return name === 'script' && has(src) && has(async);\n}\n\n// style that contains @import\nexport function isImportStyles(name: string, a: Attributes, children: string) {\n const importRe = /@import/;\n\n if (name === 'style') {\n return importRe.test(children);\n }\n\n // Can't support external stylesheets on the server\n return false;\n}\n\n// script:not([src][defer],[src][type=module],[src][async],[type*=json])\nexport function isSyncScript(name: string, { src, defer, async, type = '' }: Attributes) {\n if (name !== 'script') return false;\n return !(has(src) && (has(defer) || has(async) || is(type, 'module')) || type.includes('json'))\n}\n\n// link[rel=stylesheet],style\nexport function isSyncStyles(name: string, { rel }: Attributes) {\n if (name === 'style') return true;\n return name === 'link' && is(rel, 'stylesheet')\n}\n\n// link:is([rel=preload], [rel=modulepreload])\nexport function isPreload(name: string, { rel }: Attributes) {\n return name === 'link' && any(rel, ['preload', 'modulepreload']);\n}\n\n// script[src][defer], script:not([src][async])[src][type=module]\nexport function isDeferScript(name: string, { src, defer, async, type }: Attributes) {\n if (name !== 'script') return false;\n return (has(src) && has(defer)) || (has(src) && is(type, 'module') && !has(async));\n}\n\n// link:is([rel=prefetch], [rel=dns-prefetch], [rel=prerender])\nexport function isPrefetchPrerender(name: string, { rel }: Attributes) {\n return name === 'link' && any(rel, ['prefetch', 'dns-prefetch', 'prerender'])\n}\n\n// meta[http-equiv=\"origin-trial\"i]\nexport function isOriginTrial(name: string, { 'http-equiv': http }: Attributes) {\n return name === 'meta' && is(http, 'origin-trial');\n}\n\n// meta[http-equiv=\"Content-Security-Policy\" i]\nexport function isMetaCSP(name: string, { 'http-equiv': http }: Attributes) {\n return name === 'meta' && is(http, 'Content-Security-Policy');\n}\n\nexport function getWeight(element: ElementNode) {\n for (const [id, detector] of Object.entries(ElementDetectors)) {\n const children = (element.name === 'style' && element.children.length > 0) ? renderSync(element) : '';\n if (detector(element.name, element.attributes, children)) {\n return ElementWeights[id];\n }\n }\n return ElementWeights.OTHER;\n}\n","import type { ElementNode } from 'ultrahtml';\nimport { parse, walkSync, renderSync, ELEMENT_NODE } from 'ultrahtml';\nimport { getWeight } from './rules.ts';\n\nexport default function capo(html: string) {\n const ast = parse(html);\n try {\n walkSync(ast, (node, parent, index) => {\n if (node.type === ELEMENT_NODE && node.name === 'head') {\n if (parent) {\n parent.children.splice(index, 1, getSortedHead(node));\n throw 'done' // short-circuit\n }\n }\n })\n } catch (e) {\n if (e !== 'done') throw e;\n }\n return renderSync(ast);\n}\n\nfunction getSortedHead(head: ElementNode): ElementNode {\n const weightedChildren = head.children.map((node) => {\n if (node.type === ELEMENT_NODE) {\n const weight = getWeight(node);\n return [weight, node];\n }\n }).filter(Boolean) as [number, ElementNode][]\n const children = weightedChildren.sort((a, b) => b[0] - a[0]).map(([_, element]) => element)\n return { ...head, children };\n}\n","import type { SSRResult } from \"astro\";\n// @ts-expect-error using astro internals\nimport { renderAllHeadContent } from \"astro/runtime/server/render/head.js\";\n// @ts-expect-error using astro internals\nimport { createComponent, unescapeHTML, renderSlotToString, spreadAttributes } from \"astro/runtime/server/index.js\";\nimport capo from \"./capo/index.ts\";\n\nexport const Head = createComponent({\n factory: async (result: SSRResult, props: Record, slots: Record) => {\n let head = '';\n head += ``\n head += await renderSlotToString(result, slots.default);\n head += renderAllHeadContent(result);\n head += '';\n return unescapeHTML(capo(head));\n }\n})\n","---\ntype Fallback = 'none' | 'animate' | 'swap';\n\nexport interface Props {\n\tfallback?: Fallback;\n\t/** @deprecated handleForms is enabled by default in Astro 4.0\n\t *\n\t * Set `data-astro-reload` on your form to opt-out of the default behavior.\n\t */\n\thandleForms?: boolean;\n}\n\nconst { fallback = 'animate' } = Astro.props;\n---\n\n\n\n\n\n","---\nimport \"@Stylesheet/Base.css\";\n\n// TODO Place your title and description here\nconst { Title = \"\", Description = \"\" } = Astro.props;\n\ninterface Props {\n\tTitle?: string;\n\tDescription?: string;\n}\n\nimport { Head } from \"astro-capo\";\nimport { ViewTransitions } from \"astro:transitions\";\n---\n\n\n\n\t\n\t\t\n\n\t\t\n\t\t{Title}\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\n\t\t\n\t\t\n\t\t\n\t\t\n\n\t\t\n\n\t\t\n\n\t\t\n\n\t\t\n\n\t\t\n\t\t\n\t\n\t\n\t\t
\n\t\t\t\n\t\t
\n\t\t\n\t\n\n","---\nimport Base from \"@Layout/Base.astro\";\n---\n\n\n"],"names":["$$createComponent","Astro","$$Astro","$$render","$$addAttribute","$$renderScript","$$createAstro","$$renderComponent","$$result","$$renderSlot","ViewTransitions","$$maybeRenderHead","Base"],"mappings":";;;;;;;AAKA,SAAS,IAAI,KAAiC,EAAA;AAC1C,EAAA,OAAO,OAAO,KAAU,KAAA,QAAA,CAAA;AAC5B,CAAA;AACA,SAAS,EAAA,CAAM,GAAY,CAAc,EAAA;AACrC,EAAA,OAAO,CAAM,KAAA,CAAA,CAAA;AACjB,CAAA;AACA,SAAS,GAAA,CAAI,GAAuB,CAA0B,EAAA;AAC1D,EAAA,OAAO,IAAI,CAAC,CAAA,IAAK,EAAE,QAAS,CAAA,CAAA,CAAE,aAAa,CAAA,CAAA;AAC/C,CAAA;AAEO,MAAM,cAAyC,GAAA;AAAA,EACpD,IAAM,EAAA,EAAA;AAAA,EACN,KAAO,EAAA,CAAA;AAAA,EACP,UAAY,EAAA,CAAA;AAAA,EACZ,YAAc,EAAA,CAAA;AAAA,EACd,aAAe,EAAA,CAAA;AAAA,EACf,WAAa,EAAA,CAAA;AAAA,EACb,WAAa,EAAA,CAAA;AAAA,EACb,OAAS,EAAA,CAAA;AAAA,EACT,YAAc,EAAA,CAAA;AAAA,EACd,kBAAoB,EAAA,CAAA;AAAA,EACpB,KAAO,EAAA,CAAA;AACT,CAAA,CAAA;AAEO,MAAM,gBAAmB,GAAA;AAAA,EAC9B,IAAM,EAAA,MAAA;AAAA,EACN,KAAO,EAAA,OAAA;AAAA,EACP,UAAY,EAAA,YAAA;AAAA,EACZ,YAAc,EAAA,aAAA;AAAA,EACd,YAAc,EAAA,aAAA;AAAA,EACd,aAAe,EAAA,cAAA;AAAA,EACf,WAAa,EAAA,YAAA;AAAA,EACb,WAAa,EAAA,YAAA;AAAA,EACb,OAAS,EAAA,SAAA;AAAA,EACT,kBAAoB,EAAA,mBAAA;AACtB,CAAA,CAAA;AAEO,MAAM,wBAA2B,GAAA;AAAA,EACtC,WAAA;AAAA,EACA,yBAAA;AAAA,EACA,cAAA;AAAA,EACA,eAAA;AAAA,EACA,aAAA;AAAA,EACA,cAAA;AAAA,EACA,wBAAA;AACF,CAAA,CAAA;AAGgB,SAAA,MAAA,CAAO,MAAc,CAAe,EAAA;AAClD,EAAI,IAAA,IAAA,KAAS,QAAe,OAAA,IAAA,CAAA;AAC5B,EAAI,IAAA,IAAA,KAAS,QAAe,OAAA,KAAA,CAAA;AAC5B,EAAA,OAAO,GAAI,CAAA,CAAA,CAAE,OAAO,CAAA,IAAK,EAAG,CAAA,CAAA,CAAE,IAAM,EAAA,UAAU,CAAK,IAAA,GAAA,CAAI,CAAE,CAAA,YAAY,GAAG,wBAAwB,CAAA,CAAA;AAClG,CAAA;AAGO,SAAS,QAAQ,IAAc,EAAA;AACpC,EAAA,OAAO,IAAS,KAAA,OAAA,CAAA;AAClB,CAAA;AAGO,SAAS,YAAa,CAAA,IAAA,EAAc,EAAE,GAAA,EAAmB,EAAA;AAC9D,EAAA,OAAO,IAAS,KAAA,MAAA,IAAU,EAAG,CAAA,GAAA,EAAK,YAAY,CAAA,CAAA;AAChD,CAAA;AAGO,SAAS,aAAc,CAAA,IAAA,EAAc,EAAE,GAAA,EAAK,OAAqB,EAAA;AACtE,EAAA,OAAO,SAAS,QAAY,IAAA,GAAA,CAAI,GAAG,CAAA,IAAK,IAAI,KAAK,CAAA,CAAA;AACnD,CAAA;AAGgB,SAAA,cAAA,CAAe,IAAc,EAAA,CAAA,EAAe,QAAkB,EAAA;AAC5E,EAAA,MAAM,QAAW,GAAA,SAAA,CAAA;AAEjB,EAAA,IAAI,SAAS,OAAS,EAAA;AACpB,IAAO,OAAA,QAAA,CAAS,KAAK,QAAQ,CAAA,CAAA;AAAA,GAC/B;AAGA,EAAO,OAAA,KAAA,CAAA;AACT,CAAA;AAGgB,SAAA,YAAA,CAAa,MAAc,EAAE,GAAA,EAAK,OAAO,KAAO,EAAA,IAAA,GAAO,IAAkB,EAAA;AACvF,EAAI,IAAA,IAAA,KAAS,UAAiB,OAAA,KAAA,CAAA;AAC9B,EAAA,OAAO,EAAE,GAAI,CAAA,GAAG,CAAM,KAAA,GAAA,CAAI,KAAK,CAAK,IAAA,GAAA,CAAI,KAAK,CAAA,IAAK,GAAG,IAAM,EAAA,QAAQ,CAAM,CAAA,IAAA,IAAA,CAAK,SAAS,MAAM,CAAA,CAAA,CAAA;AAC/F,CAAA;AAGO,SAAS,YAAa,CAAA,IAAA,EAAc,EAAE,GAAA,EAAmB,EAAA;AAC9D,EAAI,IAAA,IAAA,KAAS,SAAgB,OAAA,IAAA,CAAA;AAC7B,EAAA,OAAO,IAAS,KAAA,MAAA,IAAU,EAAG,CAAA,GAAA,EAAK,YAAY,CAAA,CAAA;AAChD,CAAA;AAGO,SAAS,SAAU,CAAA,IAAA,EAAc,EAAE,GAAA,EAAmB,EAAA;AACzD,EAAA,OAAO,SAAS,MAAU,IAAA,GAAA,CAAI,KAAK,CAAC,SAAA,EAAW,eAAe,CAAC,CAAA,CAAA;AACnE,CAAA;AAGO,SAAS,cAAc,IAAc,EAAA,EAAE,KAAK,KAAO,EAAA,KAAA,EAAO,MAAoB,EAAA;AACnF,EAAI,IAAA,IAAA,KAAS,UAAiB,OAAA,KAAA,CAAA;AAC9B,EAAA,OAAQ,GAAI,CAAA,GAAG,CAAK,IAAA,GAAA,CAAI,KAAK,CAAO,IAAA,GAAA,CAAI,GAAG,CAAA,IAAK,GAAG,IAAM,EAAA,QAAQ,CAAK,IAAA,CAAC,IAAI,KAAK,CAAA,CAAA;AAClF,CAAA;AAGO,SAAS,mBAAoB,CAAA,IAAA,EAAc,EAAE,GAAA,EAAmB,EAAA;AACrE,EAAO,OAAA,IAAA,KAAS,UAAU,GAAI,CAAA,GAAA,EAAK,CAAC,UAAY,EAAA,cAAA,EAAgB,WAAW,CAAC,CAAA,CAAA;AAC9E,CAAA;AAYO,SAAS,UAAU,OAAsB,EAAA;AAC9C,EAAA,KAAA,MAAW,CAAC,EAAI,EAAA,QAAQ,KAAK,MAAO,CAAA,OAAA,CAAQ,gBAAgB,CAAG,EAAA;AAC7D,IAAM,MAAA,QAAA,GAAY,OAAQ,CAAA,IAAA,KAAS,OAAW,IAAA,OAAA,CAAQ,SAAS,MAAS,GAAA,CAAA,GAAK,UAAW,CAAA,OAAO,CAAI,GAAA,EAAA,CAAA;AACnG,IAAA,IAAI,SAAS,OAAQ,CAAA,IAAA,EAAM,OAAQ,CAAA,UAAA,EAAY,QAAQ,CAAG,EAAA;AACxD,MAAA,OAAO,eAAe,EAAE,CAAA,CAAA;AAAA,KAC1B;AAAA,GACF;AACA,EAAA,OAAO,cAAe,CAAA,KAAA,CAAA;AACxB;;AChIA,SAAwB,KAAK,IAAc,EAAA;AACvC,EAAM,MAAA,GAAA,GAAM,MAAM,IAAI,CAAA,CAAA;AACtB,EAAI,IAAA;AACA,IAAA,QAAA,CAAS,GAAK,EAAA,CAAC,IAAM,EAAA,MAAA,EAAQ,KAAU,KAAA;AACnC,MAAA,IAAI,IAAK,CAAA,IAAA,KAAS,YAAgB,IAAA,IAAA,CAAK,SAAS,MAAQ,EAAA;AACpD,QAAA,IAAI,MAAQ,EAAA;AACR,UAAA,MAAA,CAAO,SAAS,MAAO,CAAA,KAAA,EAAO,CAAG,EAAA,aAAA,CAAc,IAAI,CAAC,CAAA,CAAA;AACpD,UAAM,MAAA,MAAA,CAAA;AAAA,SACV;AAAA,OACJ;AAAA,KACH,CAAA,CAAA;AAAA,WACI,CAAG,EAAA;AACR,IAAI,IAAA,CAAA,KAAM,QAAc,MAAA,CAAA,CAAA;AAAA,GAC5B;AACA,EAAA,OAAO,WAAW,GAAG,CAAA,CAAA;AACzB,CAAA;AAEA,SAAS,cAAc,IAAgC,EAAA;AACnD,EAAA,MAAM,gBAAmB,GAAA,IAAA,CAAK,QAAS,CAAA,GAAA,CAAI,CAAC,IAAS,KAAA;AACjD,IAAI,IAAA,IAAA,CAAK,SAAS,YAAc,EAAA;AAC5B,MAAM,MAAA,MAAA,GAAS,UAAU,IAAI,CAAA,CAAA;AAC7B,MAAO,OAAA,CAAC,QAAQ,IAAI,CAAA,CAAA;AAAA,KACxB;AAAA,GACH,CAAE,CAAA,MAAA,CAAO,OAAO,CAAA,CAAA;AACjB,EAAA,MAAM,WAAW,gBAAiB,CAAA,IAAA,CAAK,CAAC,CAAG,EAAA,CAAA,KAAM,EAAE,CAAC,CAAA,GAAI,EAAE,CAAC,CAAC,EAAE,GAAI,CAAA,CAAC,CAAC,CAAG,EAAA,OAAO,MAAM,OAAO,CAAA,CAAA;AAC3F,EAAO,OAAA,EAAE,GAAG,IAAA,EAAM,QAAS,EAAA,CAAA;AAC/B;;ACvBO,MAAM,OAAO,eAAgB,CAAA;AAAA,EAChC,OAAS,EAAA,OAAO,MAAmB,EAAA,KAAA,EAA4B,KAA+B,KAAA;AAC1F,IAAA,IAAI,IAAO,GAAA,EAAA,CAAA;AACX,IAAQ,IAAA,IAAA,CAAA,KAAA,EAAQ,gBAAiB,CAAA,KAAK,CAAC,CAAA,WAAA,CAAA,CAAA;AACvC,IAAA,IAAA,IAAQ,MAAM,kBAAA,CAAmB,MAAQ,EAAA,KAAA,CAAM,OAAO,CAAA,CAAA;AACtD,IAAA,IAAA,IAAQ,qBAAqB,MAAM,CAAA,CAAA;AACnC,IAAQ,IAAA,IAAA,SAAA,CAAA;AACR,IAAO,OAAA,YAAA,CAAa,IAAK,CAAA,IAAI,CAAC,CAAA,CAAA;AAAA,GAClC;AACJ,CAAC,CAAA;;;AChBD,MAAA,iBAAA,GAAAA,eAAA,CAAA,CAAA,QAAA,EAAA,SAAA,OAAA,KAAA;AAAA,EAAA,MAAAC,MAAA,GAAA,QAAA,CAAA,WAAA,CAAAC,SAAA,EAAA,SAAA,OAAA,CAAA,CAAA;AAAA,EAAAD,OAAA,IAAA,GAAA,iBAAA,CAAA;AAYA,EAAA,MAAM,EAAE,QAAA,GAAW,SAAU,EAAA,GAAIA,MAAM,CAAA,KAAA,CAAA;AAZvC,EAAA,OAAAE,cAAA,CAAA,uGAAA,EAAAC,aA8BsD,QA9BtD,EAAA,SAAA,CAAA,CA+BC,CAAA,EAAAC,YAAA,CAAA,QAAA,EAAA,oGAAA,CAAA,CAAA,CAAA,CAAA;AA/BD,CAAA,EAAA,oEAAA,KAAA,CAAA,CAAA;;ACAA,MAAA,UAAAC,WAAA,EAAA,CAAA;AAAA,MAAA,MAAA,GAAAN,eAAA,CAAA,CAAA,QAAA,EAAA,SAAA,OAAA,KAAA;AAAA,EAAA,MAAAC,MAAA,GAAA,QAAA,CAAA,WAAA,CAAA,OAAA,EAAA,SAAA,OAAA,CAAA,CAAA;AAAA,EAAAA,OAAA,IAAA,GAAA,MAAA,CAAA;AAIA,EAAA,MAAM,EAAE,KAAQ,GAAA,EAAA,EAAI,WAAc,GAAA,EAAA,KAAOA,MAAM,CAAA,KAAA,CAAA;AAJ/C,EAAA,OAAAE,cAAA,CAAA,yCAAA,EAAAI,eAAA,CAAA,QAAA,EAAA,MAAA,EAAA,MAAA,EAAA,EAAA,EAAA,SAAA,EAAA,CAAAC,SAAAA,KAAAL,cAkBG,CAAA,EAAAE,YAAA,CAAAG,WAAA,0GAAA,CAAA,CAMO,OAAA,EAAA,KAAK,CAxBf,sDAAA,EAAAJ,YAAA,CA0BoC,WA1BpC,EAAA,SAAA,CAAA,CAAA,6ZAAA,EAAAK,UAAA,CAAAD,SAAA,EAAA,OAAA,CAkDc,QAAA,CAAX,CAAA,CAAA,EAEAH,aAAAG,SAAA,EAAA,0GAAA,CAAA,CAAA,EApDHC,UAAAD,CAAAA,SAAAA,EAAA,OAwDc,CAAA,SAAA,CAAX,CAAA,CAAA,EAxDHD,eAAAC,CAAAA,SAAAA,EAAA,iBAAA,EAAAE,iBAAA,EAAA,EA2DG,CAAA,CA3DH,CAAA,EA4DG,CAAA,CAAA,EA5DHC,eAAA,CAAA,CAAA,CAAA,0BAAA,EAAAF,WAAA,QAAA,EAAA,OAAA,CAAA,SAAA,CA+DI,CAAA,CAAA,QAAA,EAEDJ,YAAA,CAAA,QAAA,EAAA,0GAAA,CAAA,CAAA,gBAAA,CAAA,CAAA;AAjEH,CAAA,EAAA,0EAAA,KAAA,CAAA,CAAA;;ACAA,MAAA,OAAA,GAAAL,eAAA,CAAA,CAAA,QAAA,EAAA,SAAA,OAAA,KAAA;AAAA,EAAA,OAAAG,iBAAAI,eAAA,CAAA,QAAA,EAAA,QAAAK,MAAA,EAAA,EAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,EAAA,0EAAA,KAAA,CAAA,CAAA,CAAA;;;;;;;;;;;;;;;;","x_google_ignoreList":[0,1,2,3]} \ No newline at end of file From 71a6c0accfce9c147fd3b407750b038c85e33752 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 9 Sep 2024 01:35:07 +0000 Subject: [PATCH 053/112] Bump astro from 4.15.3 to 4.15.4 Bumps [astro](https://github.com/withastro/astro/tree/HEAD/packages/astro) from 4.15.3 to 4.15.4. - [Release notes](https://github.com/withastro/astro/releases) - [Changelog](https://github.com/withastro/astro/blob/main/packages/astro/CHANGELOG.md) - [Commits](https://github.com/withastro/astro/commits/astro@4.15.4/packages/astro) --- updated-dependencies: - dependency-name: astro dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index e739158e..abdd4ba4 100644 --- a/package.json +++ b/package.json @@ -43,7 +43,7 @@ "@tailwindcss/aspect-ratio": "0.4.2", "@tailwindcss/forms": "0.5.9", "@tailwindcss/typography": "0.5.15", - "astro": "4.15.3", + "astro": "4.15.4", "astro-capo": "0.0.1", "astrojs-service-worker": "2.0.0", "autoprefixer": "10.4.20", From 44ae3737f7bcefab2a940513d31f1fd5afacee4d Mon Sep 17 00:00:00 2001 From: Nikola Hristov Date: Tue, 10 Sep 2024 01:31:09 +0300 Subject: [PATCH 054/112] --- package.json | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/package.json b/package.json index e739158e..dd1e3567 100644 --- a/package.json +++ b/package.json @@ -29,13 +29,13 @@ }, "dependencies": { "@astrojs/sitemap": "3.1.6", - "@playform/build": "0.1.4", + "@playform/build": "0.1.6", "@playform/compress": "0.1.1", "@playform/format": "0.0.7", "@playform/inline": "0.1.0", "@swup/body-class-plugin": "3.2.0", "@swup/fade-theme": "2.0.1", - "@swup/head-plugin": "2.2.0", + "@swup/head-plugin": "2.2.1", "@swup/overlay-theme": "2.0.1", "@swup/preload-plugin": "3.2.10", "@swup/scroll-plugin": "3.3.2", @@ -43,7 +43,7 @@ "@tailwindcss/aspect-ratio": "0.4.2", "@tailwindcss/forms": "0.5.9", "@tailwindcss/typography": "0.5.15", - "astro": "4.15.3", + "astro": "4.15.4", "astro-capo": "0.0.1", "astrojs-service-worker": "2.0.0", "autoprefixer": "10.4.20", @@ -59,7 +59,7 @@ "postcss-url": "10.1.3", "swup": "4.7.0", "tailwindcss": "3.4.10", - "typescript": "5.5.4", + "typescript": "5.6.2", "zod": "3.23.8" }, "publishConfig": { From 6cd8f39d27e3d69dd5d730d0a6076d082f8dd813 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 10 Sep 2024 01:19:32 +0000 Subject: [PATCH 055/112] Bump typescript from 5.5.4 to 5.6.2 Bumps [typescript](https://github.com/microsoft/TypeScript) from 5.5.4 to 5.6.2. - [Release notes](https://github.com/microsoft/TypeScript/releases) - [Changelog](https://github.com/microsoft/TypeScript/blob/main/azure-pipelines.release.yml) - [Commits](https://github.com/microsoft/TypeScript/compare/v5.5.4...v5.6.2) --- updated-dependencies: - dependency-name: typescript dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index abdd4ba4..a9e1c052 100644 --- a/package.json +++ b/package.json @@ -59,7 +59,7 @@ "postcss-url": "10.1.3", "swup": "4.7.0", "tailwindcss": "3.4.10", - "typescript": "5.5.4", + "typescript": "5.6.2", "zod": "3.23.8" }, "publishConfig": { From dbae61b1e5884cc8988dc4662894d97e4e88dd24 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 10 Sep 2024 01:20:07 +0000 Subject: [PATCH 056/112] Bump @playform/build from 0.1.4 to 0.1.6 Bumps [@playform/build](https://github.com/PlayForm/Build) from 0.1.4 to 0.1.6. - [Release notes](https://github.com/PlayForm/Build/releases) - [Changelog](https://github.com/PlayForm/Build/blob/Current/CHANGELOG.md) - [Commits](https://github.com/PlayForm/Build/compare/v0.1.4...v0.1.6) --- updated-dependencies: - dependency-name: "@playform/build" dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index abdd4ba4..cffaf707 100644 --- a/package.json +++ b/package.json @@ -29,7 +29,7 @@ }, "dependencies": { "@astrojs/sitemap": "3.1.6", - "@playform/build": "0.1.4", + "@playform/build": "0.1.6", "@playform/compress": "0.1.1", "@playform/format": "0.0.7", "@playform/inline": "0.1.0", From c839ebae0fc2bb2dbbb41a07378ed6e564aa4e69 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 10 Sep 2024 01:20:25 +0000 Subject: [PATCH 057/112] Bump @swup/head-plugin from 2.2.0 to 2.2.1 Bumps [@swup/head-plugin](https://github.com/swup/head-plugin) from 2.2.0 to 2.2.1. - [Release notes](https://github.com/swup/head-plugin/releases) - [Changelog](https://github.com/swup/head-plugin/blob/master/CHANGELOG.md) - [Commits](https://github.com/swup/head-plugin/compare/2.2.0...2.2.1) --- updated-dependencies: - dependency-name: "@swup/head-plugin" dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index abdd4ba4..af0b4b8c 100644 --- a/package.json +++ b/package.json @@ -35,7 +35,7 @@ "@playform/inline": "0.1.0", "@swup/body-class-plugin": "3.2.0", "@swup/fade-theme": "2.0.1", - "@swup/head-plugin": "2.2.0", + "@swup/head-plugin": "2.2.1", "@swup/overlay-theme": "2.0.1", "@swup/preload-plugin": "3.2.10", "@swup/scroll-plugin": "3.3.2", From 6a8b822f5aed607efe0a39a0739bb708758104ce Mon Sep 17 00:00:00 2001 From: Nikola Hristov Date: Thu, 12 Sep 2024 03:50:00 +0300 Subject: [PATCH 058/112] --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index dd1e3567..5e3d8a3f 100644 --- a/package.json +++ b/package.json @@ -58,7 +58,7 @@ "postcss-reporter": "7.1.0", "postcss-url": "10.1.3", "swup": "4.7.0", - "tailwindcss": "3.4.10", + "tailwindcss": "3.4.11", "typescript": "5.6.2", "zod": "3.23.8" }, From 198d72e688bdd747b4517d89944a31fdcd82708c Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 12 Sep 2024 01:27:03 +0000 Subject: [PATCH 059/112] Bump tailwindcss from 3.4.10 to 3.4.11 Bumps [tailwindcss](https://github.com/tailwindlabs/tailwindcss) from 3.4.10 to 3.4.11. - [Release notes](https://github.com/tailwindlabs/tailwindcss/releases) - [Changelog](https://github.com/tailwindlabs/tailwindcss/blob/v3.4.11/CHANGELOG.md) - [Commits](https://github.com/tailwindlabs/tailwindcss/compare/v3.4.10...v3.4.11) --- updated-dependencies: - dependency-name: tailwindcss dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index dd1e3567..5e3d8a3f 100644 --- a/package.json +++ b/package.json @@ -58,7 +58,7 @@ "postcss-reporter": "7.1.0", "postcss-url": "10.1.3", "swup": "4.7.0", - "tailwindcss": "3.4.10", + "tailwindcss": "3.4.11", "typescript": "5.6.2", "zod": "3.23.8" }, From bb7bcea8b0010d023606c20885943d742ecce7a2 Mon Sep 17 00:00:00 2001 From: Nikola Hristov Date: Fri, 13 Sep 2024 06:45:05 +0300 Subject: [PATCH 060/112] --- .github/workflows/GitHub.yml | 1 + .github/workflows/NPM.yml | 1 + .github/workflows/Node.yml | 1 + Source/Layout/Base.astro | 1 + 4 files changed, 4 insertions(+) diff --git a/.github/workflows/GitHub.yml b/.github/workflows/GitHub.yml index 7b1e399c..161ef34a 100644 --- a/.github/workflows/GitHub.yml +++ b/.github/workflows/GitHub.yml @@ -49,6 +49,7 @@ jobs: STRIPE_CLI_TELEMETRY_OPTOUT: 1 TELEMETRY_DISABLED: 1 TERRAFORM_TELEMETRY: 0 + VCPKG_DISABLE_METRICS: 1 steps: - uses: pozil/auto-assign-issue@v2.0.0 diff --git a/.github/workflows/NPM.yml b/.github/workflows/NPM.yml index a3c48117..e286364f 100644 --- a/.github/workflows/NPM.yml +++ b/.github/workflows/NPM.yml @@ -50,6 +50,7 @@ jobs: STRIPE_CLI_TELEMETRY_OPTOUT: 1 TELEMETRY_DISABLED: 1 TERRAFORM_TELEMETRY: 0 + VCPKG_DISABLE_METRICS: 1 permissions: contents: read diff --git a/.github/workflows/Node.yml b/.github/workflows/Node.yml index 92c74d6f..f69b6f8d 100644 --- a/.github/workflows/Node.yml +++ b/.github/workflows/Node.yml @@ -52,6 +52,7 @@ jobs: STRIPE_CLI_TELEMETRY_OPTOUT: 1 TELEMETRY_DISABLED: 1 TERRAFORM_TELEMETRY: 0 + VCPKG_DISABLE_METRICS: 1 strategy: matrix: diff --git a/Source/Layout/Base.astro b/Source/Layout/Base.astro index fca49ef6..bf4441f1 100644 --- a/Source/Layout/Base.astro +++ b/Source/Layout/Base.astro @@ -24,6 +24,7 @@ import { ViewTransitions } from "astro:transitions"; {Title} + From 7a7f917e2f9a6347fcc8b7cc1c15e32ff2d195c8 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 16 Sep 2024 01:11:04 +0000 Subject: [PATCH 061/112] Bump astro from 4.15.4 to 4.15.6 Bumps [astro](https://github.com/withastro/astro/tree/HEAD/packages/astro) from 4.15.4 to 4.15.6. - [Release notes](https://github.com/withastro/astro/releases) - [Changelog](https://github.com/withastro/astro/blob/main/packages/astro/CHANGELOG.md) - [Commits](https://github.com/withastro/astro/commits/astro@4.15.6/packages/astro) --- updated-dependencies: - dependency-name: astro dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 5e3d8a3f..bb36175c 100644 --- a/package.json +++ b/package.json @@ -43,7 +43,7 @@ "@tailwindcss/aspect-ratio": "0.4.2", "@tailwindcss/forms": "0.5.9", "@tailwindcss/typography": "0.5.15", - "astro": "4.15.4", + "astro": "4.15.6", "astro-capo": "0.0.1", "astrojs-service-worker": "2.0.0", "autoprefixer": "10.4.20", From c44e902c9a973b62483c3af976873c934658c5be Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 18 Sep 2024 01:07:27 +0000 Subject: [PATCH 062/112] Bump astro from 4.15.6 to 4.15.7 Bumps [astro](https://github.com/withastro/astro/tree/HEAD/packages/astro) from 4.15.6 to 4.15.7. - [Release notes](https://github.com/withastro/astro/releases) - [Changelog](https://github.com/withastro/astro/blob/main/packages/astro/CHANGELOG.md) - [Commits](https://github.com/withastro/astro/commits/astro@4.15.7/packages/astro) --- updated-dependencies: - dependency-name: astro dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index bb36175c..728a2bf1 100644 --- a/package.json +++ b/package.json @@ -43,7 +43,7 @@ "@tailwindcss/aspect-ratio": "0.4.2", "@tailwindcss/forms": "0.5.9", "@tailwindcss/typography": "0.5.15", - "astro": "4.15.6", + "astro": "4.15.7", "astro-capo": "0.0.1", "astrojs-service-worker": "2.0.0", "autoprefixer": "10.4.20", From 800dd8575ed7c15d655ea0297e160ab13392e82b Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 18 Sep 2024 01:07:39 +0000 Subject: [PATCH 063/112] Bump tailwindcss from 3.4.11 to 3.4.12 Bumps [tailwindcss](https://github.com/tailwindlabs/tailwindcss) from 3.4.11 to 3.4.12. - [Release notes](https://github.com/tailwindlabs/tailwindcss/releases) - [Changelog](https://github.com/tailwindlabs/tailwindcss/blob/v3.4.12/CHANGELOG.md) - [Commits](https://github.com/tailwindlabs/tailwindcss/compare/v3.4.11...v3.4.12) --- updated-dependencies: - dependency-name: tailwindcss dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index bb36175c..b538cd54 100644 --- a/package.json +++ b/package.json @@ -58,7 +58,7 @@ "postcss-reporter": "7.1.0", "postcss-url": "10.1.3", "swup": "4.7.0", - "tailwindcss": "3.4.11", + "tailwindcss": "3.4.12", "typescript": "5.6.2", "zod": "3.23.8" }, From 1bc3403f12fe37f16e91f4f212e85187a490a7e7 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 18 Sep 2024 01:09:17 +0000 Subject: [PATCH 064/112] Bump postcss from 8.4.45 to 8.4.47 Bumps [postcss](https://github.com/postcss/postcss) from 8.4.45 to 8.4.47. - [Release notes](https://github.com/postcss/postcss/releases) - [Changelog](https://github.com/postcss/postcss/blob/main/CHANGELOG.md) - [Commits](https://github.com/postcss/postcss/compare/8.4.45...8.4.47) --- updated-dependencies: - dependency-name: postcss dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 4170a65c..57a03c96 100644 --- a/package.json +++ b/package.json @@ -51,7 +51,7 @@ "cssnano-preset-advanced": "7.0.6", "dotenv": "16.4.5", "firebase": "10.13.1", - "postcss": "8.4.45", + "postcss": "8.4.47", "postcss-combine-duplicated-selectors": "10.0.3", "postcss-combine-media-query": "1.0.1", "postcss-import": "16.1.0", From 3241d3525bd9966d650f07175a772649353d9504 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 19 Sep 2024 01:30:25 +0000 Subject: [PATCH 065/112] Bump firebase from 10.13.1 to 10.13.2 Bumps [firebase](https://github.com/firebase/firebase-js-sdk) from 10.13.1 to 10.13.2. - [Release notes](https://github.com/firebase/firebase-js-sdk/releases) - [Changelog](https://github.com/firebase/firebase-js-sdk/blob/main/CHANGELOG.md) - [Commits](https://github.com/firebase/firebase-js-sdk/compare/firebase@10.13.1...firebase@10.13.2) --- updated-dependencies: - dependency-name: firebase dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 57a03c96..cad586f5 100644 --- a/package.json +++ b/package.json @@ -50,7 +50,7 @@ "cssnano": "7.0.6", "cssnano-preset-advanced": "7.0.6", "dotenv": "16.4.5", - "firebase": "10.13.1", + "firebase": "10.13.2", "postcss": "8.4.47", "postcss-combine-duplicated-selectors": "10.0.3", "postcss-combine-media-query": "1.0.1", From 7596f195b0a50cecfa011f65310865dc91b2d66e Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 20 Sep 2024 01:23:31 +0000 Subject: [PATCH 066/112] Bump astro from 4.15.7 to 4.15.8 Bumps [astro](https://github.com/withastro/astro/tree/HEAD/packages/astro) from 4.15.7 to 4.15.8. - [Release notes](https://github.com/withastro/astro/releases) - [Changelog](https://github.com/withastro/astro/blob/main/packages/astro/CHANGELOG.md) - [Commits](https://github.com/withastro/astro/commits/astro@4.15.8/packages/astro) --- updated-dependencies: - dependency-name: astro dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index cad586f5..682e3507 100644 --- a/package.json +++ b/package.json @@ -43,7 +43,7 @@ "@tailwindcss/aspect-ratio": "0.4.2", "@tailwindcss/forms": "0.5.9", "@tailwindcss/typography": "0.5.15", - "astro": "4.15.7", + "astro": "4.15.8", "astro-capo": "0.0.1", "astrojs-service-worker": "2.0.0", "autoprefixer": "10.4.20", From 820b429fa5ad73db057d61616f3c10bb471b6853 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 20 Sep 2024 01:47:05 +0000 Subject: [PATCH 067/112] Bump actions/setup-node from 4.0.3 to 4.0.4 Bumps [actions/setup-node](https://github.com/actions/setup-node) from 4.0.3 to 4.0.4. - [Release notes](https://github.com/actions/setup-node/releases) - [Commits](https://github.com/actions/setup-node/compare/v4.0.3...v4.0.4) --- updated-dependencies: - dependency-name: actions/setup-node dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- .github/workflows/NPM.yml | 2 +- .github/workflows/Node.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/NPM.yml b/.github/workflows/NPM.yml index a3c48117..f676bba3 100644 --- a/.github/workflows/NPM.yml +++ b/.github/workflows/NPM.yml @@ -58,7 +58,7 @@ jobs: steps: - uses: actions/checkout@v4.1.7 - - uses: actions/setup-node@v4.0.3 + - uses: actions/setup-node@v4.0.4 with: node-version: "18" registry-url: "https://registry.npmjs.org" diff --git a/.github/workflows/Node.yml b/.github/workflows/Node.yml index 92c74d6f..a72ff131 100644 --- a/.github/workflows/Node.yml +++ b/.github/workflows/Node.yml @@ -75,7 +75,7 @@ jobs: --unsafe-perm=true ] - - uses: actions/setup-node@v4.0.3 + - uses: actions/setup-node@v4.0.4 with: node-version: ${{ matrix.node-version }} cache: "pnpm" From 7e3b8aaafcca8ecebb7d3ef53d0d5679bbd011ca Mon Sep 17 00:00:00 2001 From: Nikola Hristov Date: Sat, 21 Sep 2024 17:31:20 +0300 Subject: [PATCH 068/112] --- .github/workflows/NPM.yml | 2 +- .github/workflows/Node.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/NPM.yml b/.github/workflows/NPM.yml index e286364f..f0d4bc95 100644 --- a/.github/workflows/NPM.yml +++ b/.github/workflows/NPM.yml @@ -59,7 +59,7 @@ jobs: steps: - uses: actions/checkout@v4.1.7 - - uses: actions/setup-node@v4.0.3 + - uses: actions/setup-node@v4.0.4 with: node-version: "18" registry-url: "https://registry.npmjs.org" diff --git a/.github/workflows/Node.yml b/.github/workflows/Node.yml index f69b6f8d..fa3f3fcf 100644 --- a/.github/workflows/Node.yml +++ b/.github/workflows/Node.yml @@ -76,7 +76,7 @@ jobs: --unsafe-perm=true ] - - uses: actions/setup-node@v4.0.3 + - uses: actions/setup-node@v4.0.4 with: node-version: ${{ matrix.node-version }} cache: "pnpm" From 3096af43d9369f070c69e230a43dc52ba52172d8 Mon Sep 17 00:00:00 2001 From: Nikola Hristov Date: Mon, 23 Sep 2024 23:14:03 +0300 Subject: [PATCH 069/112] --- package.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/package.json b/package.json index 682e3507..1d3f63e4 100644 --- a/package.json +++ b/package.json @@ -43,7 +43,7 @@ "@tailwindcss/aspect-ratio": "0.4.2", "@tailwindcss/forms": "0.5.9", "@tailwindcss/typography": "0.5.15", - "astro": "4.15.8", + "astro": "4.15.9", "astro-capo": "0.0.1", "astrojs-service-worker": "2.0.0", "autoprefixer": "10.4.20", @@ -58,7 +58,7 @@ "postcss-reporter": "7.1.0", "postcss-url": "10.1.3", "swup": "4.7.0", - "tailwindcss": "3.4.12", + "tailwindcss": "3.4.13", "typescript": "5.6.2", "zod": "3.23.8" }, From 308c1a4b257b2d171717e6b73521c1c7032c54a4 Mon Sep 17 00:00:00 2001 From: Nikola Hristov Date: Wed, 25 Sep 2024 19:49:24 +0300 Subject: [PATCH 070/112] --- .npmignore | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.npmignore b/.npmignore index 12d75aac..489a3533 100644 --- a/.npmignore +++ b/.npmignore @@ -2,5 +2,5 @@ CHANGELOG.md CODE_OF_CONDUCT.md CONTRIBUTING.md -Documentation/ +docs/ Source/ From 759a8da4434a83b9e6b9ea93571774c8675773ab Mon Sep 17 00:00:00 2001 From: Nikola Hristov Date: Wed, 25 Sep 2024 21:12:26 +0300 Subject: [PATCH 071/112] --- Documentation/.nojekyll | 1 - Documentation/assets/custom.css | 54 - Documentation/assets/highlight.css | 22 - Documentation/assets/icons.js | 18 - Documentation/assets/icons.svg | 1 - Documentation/assets/main.js | 60 - Documentation/assets/navigation.js | 1 - Documentation/assets/search.js | 1 - Documentation/assets/style.css | 1448 ----------------- Documentation/index.html | 19 - Documentation/modules/Script_Firebase.html | 2 - Documentation/modules/Script_SWUP.html | 2 - Documentation/modules/env.html | 1 - .../variables/Script_Firebase.firebase.html | 1 - Documentation/variables/Script_SWUP.SWUP.html | 1 - 15 files changed, 1632 deletions(-) delete mode 100644 Documentation/.nojekyll delete mode 100644 Documentation/assets/custom.css delete mode 100644 Documentation/assets/highlight.css delete mode 100644 Documentation/assets/icons.js delete mode 100644 Documentation/assets/icons.svg delete mode 100644 Documentation/assets/main.js delete mode 100644 Documentation/assets/navigation.js delete mode 100644 Documentation/assets/search.js delete mode 100644 Documentation/assets/style.css delete mode 100644 Documentation/index.html delete mode 100644 Documentation/modules/Script_Firebase.html delete mode 100644 Documentation/modules/Script_SWUP.html delete mode 100644 Documentation/modules/env.html delete mode 100644 Documentation/variables/Script_Firebase.firebase.html delete mode 100644 Documentation/variables/Script_SWUP.SWUP.html diff --git a/Documentation/.nojekyll b/Documentation/.nojekyll deleted file mode 100644 index e2ac6616..00000000 --- a/Documentation/.nojekyll +++ /dev/null @@ -1 +0,0 @@ -TypeDoc added this file to prevent GitHub Pages from using Jekyll. You can turn off this behavior by setting the `githubPages` option to false. \ No newline at end of file diff --git a/Documentation/assets/custom.css b/Documentation/assets/custom.css deleted file mode 100644 index e360ec98..00000000 --- a/Documentation/assets/custom.css +++ /dev/null @@ -1,54 +0,0 @@ -:root { - --dark-color-background: #000; - --dark-color-background-secondary: #000; - --dark-code-background: #040404; - --color-accent: #2463eb; - --light-hl-0: #b58900; - --light-hl-1: #d33682; - --light-hl-2: #dc322f; - --light-hl-3: #2aa198; - --light-hl-4: #859900; - --dark-hl-0: #ffdd00; - --dark-hl-1: #ff66ff; - --dark-hl-2: #ff4444; - --dark-hl-3: #44ffff; - --dark-hl-4: #44ff44; -} - -body #tsd-search .field label { - left: 50%; - margin-left: -20px; - z-index: 1; - text-align: center; -} - -body #tsd-search.has-focus .field label { - display: none; -} - -body #tsd-search .field input { - z-index: 2; -} - -body pre, -body .tsd-page-toolbar, -body .tsd-generator { - border: none; -} - -body .tsd-navigation a, -body .tsd-navigation summary > span, -body .tsd-page-navigation a { - padding: 0.5rem; - border-radius: 8px; -} - -body .tsd-description .tsd-signatures .tsd-signature, -body .tsd-signature, -body .tsd-signatures .tsd-signature, -body .tsd-typography td, -body .tsd-typography th, -body code.tsd-tag { - border-radius: 12px; - border-width: 2px; -} diff --git a/Documentation/assets/highlight.css b/Documentation/assets/highlight.css deleted file mode 100644 index 5674cf39..00000000 --- a/Documentation/assets/highlight.css +++ /dev/null @@ -1,22 +0,0 @@ -:root { - --light-code-background: #FFFFFF; - --dark-code-background: #1E1E1E; -} - -@media (prefers-color-scheme: light) { :root { - --code-background: var(--light-code-background); -} } - -@media (prefers-color-scheme: dark) { :root { - --code-background: var(--dark-code-background); -} } - -:root[data-theme='light'] { - --code-background: var(--light-code-background); -} - -:root[data-theme='dark'] { - --code-background: var(--dark-code-background); -} - -pre, code { background: var(--code-background); } diff --git a/Documentation/assets/icons.js b/Documentation/assets/icons.js deleted file mode 100644 index e88e8ca7..00000000 --- a/Documentation/assets/icons.js +++ /dev/null @@ -1,18 +0,0 @@ -(function() { - addIcons(); - function addIcons() { - if (document.readyState === "loading") return document.addEventListener("DOMContentLoaded", addIcons); - const svg = document.body.appendChild(document.createElementNS("http://www.w3.org/2000/svg", "svg")); - svg.innerHTML = `""`; - svg.style.display = "none"; - if (location.protocol === "file:") updateUseElements(); - } - - function updateUseElements() { - document.querySelectorAll("use").forEach(el => { - if (el.getAttribute("href").includes("#icon-")) { - el.setAttribute("href", el.getAttribute("href").replace(/.*#/, "#")); - } - }); - } -})() \ No newline at end of file diff --git a/Documentation/assets/icons.svg b/Documentation/assets/icons.svg deleted file mode 100644 index e371b8b5..00000000 --- a/Documentation/assets/icons.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/Documentation/assets/main.js b/Documentation/assets/main.js deleted file mode 100644 index 21a5d74d..00000000 --- a/Documentation/assets/main.js +++ /dev/null @@ -1,60 +0,0 @@ -"use strict"; -window.translations={"copy":"Copy","copied":"Copied!","normally_hidden":"This member is normally hidden due to your filter settings."}; -"use strict";(()=>{var Pe=Object.create;var ie=Object.defineProperty;var Oe=Object.getOwnPropertyDescriptor;var _e=Object.getOwnPropertyNames;var Re=Object.getPrototypeOf,Me=Object.prototype.hasOwnProperty;var Fe=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports);var De=(t,e,n,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of _e(e))!Me.call(t,i)&&i!==n&&ie(t,i,{get:()=>e[i],enumerable:!(r=Oe(e,i))||r.enumerable});return t};var Ae=(t,e,n)=>(n=t!=null?Pe(Re(t)):{},De(e||!t||!t.__esModule?ie(n,"default",{value:t,enumerable:!0}):n,t));var ue=Fe((ae,le)=>{(function(){var t=function(e){var n=new t.Builder;return n.pipeline.add(t.trimmer,t.stopWordFilter,t.stemmer),n.searchPipeline.add(t.stemmer),e.call(n,n),n.build()};t.version="2.3.9";t.utils={},t.utils.warn=function(e){return function(n){e.console&&console.warn&&console.warn(n)}}(this),t.utils.asString=function(e){return e==null?"":e.toString()},t.utils.clone=function(e){if(e==null)return e;for(var n=Object.create(null),r=Object.keys(e),i=0;i0){var d=t.utils.clone(n)||{};d.position=[a,u],d.index=s.length,s.push(new t.Token(r.slice(a,o),d))}a=o+1}}return s},t.tokenizer.separator=/[\s\-]+/;t.Pipeline=function(){this._stack=[]},t.Pipeline.registeredFunctions=Object.create(null),t.Pipeline.registerFunction=function(e,n){n in this.registeredFunctions&&t.utils.warn("Overwriting existing registered function: "+n),e.label=n,t.Pipeline.registeredFunctions[e.label]=e},t.Pipeline.warnIfFunctionNotRegistered=function(e){var n=e.label&&e.label in this.registeredFunctions;n||t.utils.warn(`Function is not registered with pipeline. This may cause problems when serialising the index. -`,e)},t.Pipeline.load=function(e){var n=new t.Pipeline;return e.forEach(function(r){var i=t.Pipeline.registeredFunctions[r];if(i)n.add(i);else throw new Error("Cannot load unregistered function: "+r)}),n},t.Pipeline.prototype.add=function(){var e=Array.prototype.slice.call(arguments);e.forEach(function(n){t.Pipeline.warnIfFunctionNotRegistered(n),this._stack.push(n)},this)},t.Pipeline.prototype.after=function(e,n){t.Pipeline.warnIfFunctionNotRegistered(n);var r=this._stack.indexOf(e);if(r==-1)throw new Error("Cannot find existingFn");r=r+1,this._stack.splice(r,0,n)},t.Pipeline.prototype.before=function(e,n){t.Pipeline.warnIfFunctionNotRegistered(n);var r=this._stack.indexOf(e);if(r==-1)throw new Error("Cannot find existingFn");this._stack.splice(r,0,n)},t.Pipeline.prototype.remove=function(e){var n=this._stack.indexOf(e);n!=-1&&this._stack.splice(n,1)},t.Pipeline.prototype.run=function(e){for(var n=this._stack.length,r=0;r1&&(oe&&(r=s),o!=e);)i=r-n,s=n+Math.floor(i/2),o=this.elements[s*2];if(o==e||o>e)return s*2;if(ol?d+=2:a==l&&(n+=r[u+1]*i[d+1],u+=2,d+=2);return n},t.Vector.prototype.similarity=function(e){return this.dot(e)/this.magnitude()||0},t.Vector.prototype.toArray=function(){for(var e=new Array(this.elements.length/2),n=1,r=0;n0){var o=s.str.charAt(0),a;o in s.node.edges?a=s.node.edges[o]:(a=new t.TokenSet,s.node.edges[o]=a),s.str.length==1&&(a.final=!0),i.push({node:a,editsRemaining:s.editsRemaining,str:s.str.slice(1)})}if(s.editsRemaining!=0){if("*"in s.node.edges)var l=s.node.edges["*"];else{var l=new t.TokenSet;s.node.edges["*"]=l}if(s.str.length==0&&(l.final=!0),i.push({node:l,editsRemaining:s.editsRemaining-1,str:s.str}),s.str.length>1&&i.push({node:s.node,editsRemaining:s.editsRemaining-1,str:s.str.slice(1)}),s.str.length==1&&(s.node.final=!0),s.str.length>=1){if("*"in s.node.edges)var u=s.node.edges["*"];else{var u=new t.TokenSet;s.node.edges["*"]=u}s.str.length==1&&(u.final=!0),i.push({node:u,editsRemaining:s.editsRemaining-1,str:s.str.slice(1)})}if(s.str.length>1){var d=s.str.charAt(0),m=s.str.charAt(1),p;m in s.node.edges?p=s.node.edges[m]:(p=new t.TokenSet,s.node.edges[m]=p),s.str.length==1&&(p.final=!0),i.push({node:p,editsRemaining:s.editsRemaining-1,str:d+s.str.slice(2)})}}}return r},t.TokenSet.fromString=function(e){for(var n=new t.TokenSet,r=n,i=0,s=e.length;i=e;n--){var r=this.uncheckedNodes[n],i=r.child.toString();i in this.minimizedNodes?r.parent.edges[r.char]=this.minimizedNodes[i]:(r.child._str=i,this.minimizedNodes[i]=r.child),this.uncheckedNodes.pop()}};t.Index=function(e){this.invertedIndex=e.invertedIndex,this.fieldVectors=e.fieldVectors,this.tokenSet=e.tokenSet,this.fields=e.fields,this.pipeline=e.pipeline},t.Index.prototype.search=function(e){return this.query(function(n){var r=new t.QueryParser(e,n);r.parse()})},t.Index.prototype.query=function(e){for(var n=new t.Query(this.fields),r=Object.create(null),i=Object.create(null),s=Object.create(null),o=Object.create(null),a=Object.create(null),l=0;l1?this._b=1:this._b=e},t.Builder.prototype.k1=function(e){this._k1=e},t.Builder.prototype.add=function(e,n){var r=e[this._ref],i=Object.keys(this._fields);this._documents[r]=n||{},this.documentCount+=1;for(var s=0;s=this.length)return t.QueryLexer.EOS;var e=this.str.charAt(this.pos);return this.pos+=1,e},t.QueryLexer.prototype.width=function(){return this.pos-this.start},t.QueryLexer.prototype.ignore=function(){this.start==this.pos&&(this.pos+=1),this.start=this.pos},t.QueryLexer.prototype.backup=function(){this.pos-=1},t.QueryLexer.prototype.acceptDigitRun=function(){var e,n;do e=this.next(),n=e.charCodeAt(0);while(n>47&&n<58);e!=t.QueryLexer.EOS&&this.backup()},t.QueryLexer.prototype.more=function(){return this.pos1&&(e.backup(),e.emit(t.QueryLexer.TERM)),e.ignore(),e.more())return t.QueryLexer.lexText},t.QueryLexer.lexEditDistance=function(e){return e.ignore(),e.acceptDigitRun(),e.emit(t.QueryLexer.EDIT_DISTANCE),t.QueryLexer.lexText},t.QueryLexer.lexBoost=function(e){return e.ignore(),e.acceptDigitRun(),e.emit(t.QueryLexer.BOOST),t.QueryLexer.lexText},t.QueryLexer.lexEOS=function(e){e.width()>0&&e.emit(t.QueryLexer.TERM)},t.QueryLexer.termSeparator=t.tokenizer.separator,t.QueryLexer.lexText=function(e){for(;;){var n=e.next();if(n==t.QueryLexer.EOS)return t.QueryLexer.lexEOS;if(n.charCodeAt(0)==92){e.escapeCharacter();continue}if(n==":")return t.QueryLexer.lexField;if(n=="~")return e.backup(),e.width()>0&&e.emit(t.QueryLexer.TERM),t.QueryLexer.lexEditDistance;if(n=="^")return e.backup(),e.width()>0&&e.emit(t.QueryLexer.TERM),t.QueryLexer.lexBoost;if(n=="+"&&e.width()===1||n=="-"&&e.width()===1)return e.emit(t.QueryLexer.PRESENCE),t.QueryLexer.lexText;if(n.match(t.QueryLexer.termSeparator))return t.QueryLexer.lexTerm}},t.QueryParser=function(e,n){this.lexer=new t.QueryLexer(e),this.query=n,this.currentClause={},this.lexemeIdx=0},t.QueryParser.prototype.parse=function(){this.lexer.run(),this.lexemes=this.lexer.lexemes;for(var e=t.QueryParser.parseClause;e;)e=e(this);return this.query},t.QueryParser.prototype.peekLexeme=function(){return this.lexemes[this.lexemeIdx]},t.QueryParser.prototype.consumeLexeme=function(){var e=this.peekLexeme();return this.lexemeIdx+=1,e},t.QueryParser.prototype.nextClause=function(){var e=this.currentClause;this.query.clause(e),this.currentClause={}},t.QueryParser.parseClause=function(e){var n=e.peekLexeme();if(n!=null)switch(n.type){case t.QueryLexer.PRESENCE:return t.QueryParser.parsePresence;case t.QueryLexer.FIELD:return t.QueryParser.parseField;case t.QueryLexer.TERM:return t.QueryParser.parseTerm;default:var r="expected either a field or a term, found "+n.type;throw n.str.length>=1&&(r+=" with value '"+n.str+"'"),new t.QueryParseError(r,n.start,n.end)}},t.QueryParser.parsePresence=function(e){var n=e.consumeLexeme();if(n!=null){switch(n.str){case"-":e.currentClause.presence=t.Query.presence.PROHIBITED;break;case"+":e.currentClause.presence=t.Query.presence.REQUIRED;break;default:var r="unrecognised presence operator'"+n.str+"'";throw new t.QueryParseError(r,n.start,n.end)}var i=e.peekLexeme();if(i==null){var r="expecting term or field, found nothing";throw new t.QueryParseError(r,n.start,n.end)}switch(i.type){case t.QueryLexer.FIELD:return t.QueryParser.parseField;case t.QueryLexer.TERM:return t.QueryParser.parseTerm;default:var r="expecting term or field, found '"+i.type+"'";throw new t.QueryParseError(r,i.start,i.end)}}},t.QueryParser.parseField=function(e){var n=e.consumeLexeme();if(n!=null){if(e.query.allFields.indexOf(n.str)==-1){var r=e.query.allFields.map(function(o){return"'"+o+"'"}).join(", "),i="unrecognised field '"+n.str+"', possible fields: "+r;throw new t.QueryParseError(i,n.start,n.end)}e.currentClause.fields=[n.str];var s=e.peekLexeme();if(s==null){var i="expecting term, found nothing";throw new t.QueryParseError(i,n.start,n.end)}switch(s.type){case t.QueryLexer.TERM:return t.QueryParser.parseTerm;default:var i="expecting term, found '"+s.type+"'";throw new t.QueryParseError(i,s.start,s.end)}}},t.QueryParser.parseTerm=function(e){var n=e.consumeLexeme();if(n!=null){e.currentClause.term=n.str.toLowerCase(),n.str.indexOf("*")!=-1&&(e.currentClause.usePipeline=!1);var r=e.peekLexeme();if(r==null){e.nextClause();return}switch(r.type){case t.QueryLexer.TERM:return e.nextClause(),t.QueryParser.parseTerm;case t.QueryLexer.FIELD:return e.nextClause(),t.QueryParser.parseField;case t.QueryLexer.EDIT_DISTANCE:return t.QueryParser.parseEditDistance;case t.QueryLexer.BOOST:return t.QueryParser.parseBoost;case t.QueryLexer.PRESENCE:return e.nextClause(),t.QueryParser.parsePresence;default:var i="Unexpected lexeme type '"+r.type+"'";throw new t.QueryParseError(i,r.start,r.end)}}},t.QueryParser.parseEditDistance=function(e){var n=e.consumeLexeme();if(n!=null){var r=parseInt(n.str,10);if(isNaN(r)){var i="edit distance must be numeric";throw new t.QueryParseError(i,n.start,n.end)}e.currentClause.editDistance=r;var s=e.peekLexeme();if(s==null){e.nextClause();return}switch(s.type){case t.QueryLexer.TERM:return e.nextClause(),t.QueryParser.parseTerm;case t.QueryLexer.FIELD:return e.nextClause(),t.QueryParser.parseField;case t.QueryLexer.EDIT_DISTANCE:return t.QueryParser.parseEditDistance;case t.QueryLexer.BOOST:return t.QueryParser.parseBoost;case t.QueryLexer.PRESENCE:return e.nextClause(),t.QueryParser.parsePresence;default:var i="Unexpected lexeme type '"+s.type+"'";throw new t.QueryParseError(i,s.start,s.end)}}},t.QueryParser.parseBoost=function(e){var n=e.consumeLexeme();if(n!=null){var r=parseInt(n.str,10);if(isNaN(r)){var i="boost must be numeric";throw new t.QueryParseError(i,n.start,n.end)}e.currentClause.boost=r;var s=e.peekLexeme();if(s==null){e.nextClause();return}switch(s.type){case t.QueryLexer.TERM:return e.nextClause(),t.QueryParser.parseTerm;case t.QueryLexer.FIELD:return e.nextClause(),t.QueryParser.parseField;case t.QueryLexer.EDIT_DISTANCE:return t.QueryParser.parseEditDistance;case t.QueryLexer.BOOST:return t.QueryParser.parseBoost;case t.QueryLexer.PRESENCE:return e.nextClause(),t.QueryParser.parsePresence;default:var i="Unexpected lexeme type '"+s.type+"'";throw new t.QueryParseError(i,s.start,s.end)}}},function(e,n){typeof define=="function"&&define.amd?define(n):typeof ae=="object"?le.exports=n():e.lunr=n()}(this,function(){return t})})()});var se=[];function G(t,e){se.push({selector:e,constructor:t})}var U=class{constructor(){this.alwaysVisibleMember=null;this.createComponents(document.body),this.ensureFocusedElementVisible(),this.listenForCodeCopies(),window.addEventListener("hashchange",()=>this.ensureFocusedElementVisible()),document.body.style.display||(this.ensureFocusedElementVisible(),this.updateIndexVisibility(),this.scrollToHash())}createComponents(e){se.forEach(n=>{e.querySelectorAll(n.selector).forEach(r=>{r.dataset.hasInstance||(new n.constructor({el:r,app:this}),r.dataset.hasInstance=String(!0))})})}filterChanged(){this.ensureFocusedElementVisible()}showPage(){document.body.style.display&&(document.body.style.removeProperty("display"),this.ensureFocusedElementVisible(),this.updateIndexVisibility(),this.scrollToHash())}scrollToHash(){if(location.hash){let e=document.getElementById(location.hash.substring(1));if(!e)return;e.scrollIntoView({behavior:"instant",block:"start"})}}ensureActivePageVisible(){let e=document.querySelector(".tsd-navigation .current"),n=e?.parentElement;for(;n&&!n.classList.contains(".tsd-navigation");)n instanceof HTMLDetailsElement&&(n.open=!0),n=n.parentElement;if(e&&!Ve(e)){let r=e.getBoundingClientRect().top-document.documentElement.clientHeight/4;document.querySelector(".site-menu").scrollTop=r,document.querySelector(".col-sidebar").scrollTop=r}}updateIndexVisibility(){let e=document.querySelector(".tsd-index-content"),n=e?.open;e&&(e.open=!0),document.querySelectorAll(".tsd-index-section").forEach(r=>{r.style.display="block";let i=Array.from(r.querySelectorAll(".tsd-index-link")).every(s=>s.offsetParent==null);r.style.display=i?"none":"block"}),e&&(e.open=n)}ensureFocusedElementVisible(){if(this.alwaysVisibleMember&&(this.alwaysVisibleMember.classList.remove("always-visible"),this.alwaysVisibleMember.firstElementChild.remove(),this.alwaysVisibleMember=null),!location.hash)return;let e=document.getElementById(location.hash.substring(1));if(!e)return;let n=e.parentElement;for(;n&&n.tagName!=="SECTION";)n=n.parentElement;if(!n)return;let r=n.offsetParent==null,i=n;for(;i!==document.body;)i instanceof HTMLDetailsElement&&(i.open=!0),i=i.parentElement;if(n.offsetParent==null){this.alwaysVisibleMember=n,n.classList.add("always-visible");let s=document.createElement("p");s.classList.add("warning"),s.textContent=window.translations.normally_hidden,n.prepend(s)}r&&e.scrollIntoView()}listenForCodeCopies(){document.querySelectorAll("pre > button").forEach(e=>{let n;e.addEventListener("click",()=>{e.previousElementSibling instanceof HTMLElement&&navigator.clipboard.writeText(e.previousElementSibling.innerText.trim()),e.textContent=window.translations.copied,e.classList.add("visible"),clearTimeout(n),n=setTimeout(()=>{e.classList.remove("visible"),n=setTimeout(()=>{e.textContent=window.translations.copy},100)},1e3)})})}};function Ve(t){let e=t.getBoundingClientRect(),n=Math.max(document.documentElement.clientHeight,window.innerHeight);return!(e.bottom<0||e.top-n>=0)}var oe=(t,e=100)=>{let n;return()=>{clearTimeout(n),n=setTimeout(()=>t(),e)}};var pe=Ae(ue());async function ce(t,e){if(!window.searchData)return;let n=await fetch(window.searchData),r=new Blob([await n.arrayBuffer()]).stream().pipeThrough(new DecompressionStream("gzip")),i=await new Response(r).json();t.data=i,t.index=pe.Index.load(i.index),e.classList.remove("loading"),e.classList.add("ready")}function fe(){let t=document.getElementById("tsd-search");if(!t)return;let e={base:t.dataset.base+"/"},n=document.getElementById("tsd-search-script");t.classList.add("loading"),n&&(n.addEventListener("error",()=>{t.classList.remove("loading"),t.classList.add("failure")}),n.addEventListener("load",()=>{ce(e,t)}),ce(e,t));let r=document.querySelector("#tsd-search input"),i=document.querySelector("#tsd-search .results");if(!r||!i)throw new Error("The input field or the result list wrapper was not found");i.addEventListener("mouseup",()=>{te(t)}),r.addEventListener("focus",()=>t.classList.add("has-focus")),He(t,i,r,e)}function He(t,e,n,r){n.addEventListener("input",oe(()=>{Ne(t,e,n,r)},200)),n.addEventListener("keydown",i=>{i.key=="Enter"?Be(e,t):i.key=="ArrowUp"?(de(e,n,-1),i.preventDefault()):i.key==="ArrowDown"&&(de(e,n,1),i.preventDefault())}),document.body.addEventListener("keypress",i=>{i.altKey||i.ctrlKey||i.metaKey||!n.matches(":focus")&&i.key==="/"&&(i.preventDefault(),n.focus())}),document.body.addEventListener("keyup",i=>{t.classList.contains("has-focus")&&(i.key==="Escape"||!e.matches(":focus-within")&&!n.matches(":focus"))&&(n.blur(),te(t))})}function te(t){t.classList.remove("has-focus")}function Ne(t,e,n,r){if(!r.index||!r.data)return;e.textContent="";let i=n.value.trim(),s;if(i){let o=i.split(" ").map(a=>a.length?`*${a}*`:"").join(" ");s=r.index.search(o)}else s=[];for(let o=0;oa.score-o.score);for(let o=0,a=Math.min(10,s.length);o`,d=he(l.name,i);globalThis.DEBUG_SEARCH_WEIGHTS&&(d+=` (score: ${s[o].score.toFixed(2)})`),l.parent&&(d=` - ${he(l.parent,i)}.${d}`);let m=document.createElement("li");m.classList.value=l.classes??"";let p=document.createElement("a");p.href=r.base+l.url,p.innerHTML=u+d,m.append(p),p.addEventListener("focus",()=>{e.querySelector(".current")?.classList.remove("current"),m.classList.add("current")}),e.appendChild(m)}}function de(t,e,n){let r=t.querySelector(".current");if(!r)r=t.querySelector(n==1?"li:first-child":"li:last-child"),r&&r.classList.add("current");else{let i=r;if(n===1)do i=i.nextElementSibling??void 0;while(i instanceof HTMLElement&&i.offsetParent==null);else do i=i.previousElementSibling??void 0;while(i instanceof HTMLElement&&i.offsetParent==null);i?(r.classList.remove("current"),i.classList.add("current")):n===-1&&(r.classList.remove("current"),e.focus())}}function Be(t,e){let n=t.querySelector(".current");if(n||(n=t.querySelector("li:first-child")),n){let r=n.querySelector("a");r&&(window.location.href=r.href),te(e)}}function he(t,e){if(e==="")return t;let n=t.toLocaleLowerCase(),r=e.toLocaleLowerCase(),i=[],s=0,o=n.indexOf(r);for(;o!=-1;)i.push(ee(t.substring(s,o)),`${ee(t.substring(o,o+r.length))}`),s=o+r.length,o=n.indexOf(r,s);return i.push(ee(t.substring(s))),i.join("")}var je={"&":"&","<":"<",">":">","'":"'",'"':"""};function ee(t){return t.replace(/[&<>"'"]/g,e=>je[e])}var I=class{constructor(e){this.el=e.el,this.app=e.app}};var F="mousedown",ye="mousemove",N="mouseup",J={x:0,y:0},me=!1,ne=!1,qe=!1,D=!1,ve=/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent);document.documentElement.classList.add(ve?"is-mobile":"not-mobile");ve&&"ontouchstart"in document.documentElement&&(qe=!0,F="touchstart",ye="touchmove",N="touchend");document.addEventListener(F,t=>{ne=!0,D=!1;let e=F=="touchstart"?t.targetTouches[0]:t;J.y=e.pageY||0,J.x=e.pageX||0});document.addEventListener(ye,t=>{if(ne&&!D){let e=F=="touchstart"?t.targetTouches[0]:t,n=J.x-(e.pageX||0),r=J.y-(e.pageY||0);D=Math.sqrt(n*n+r*r)>10}});document.addEventListener(N,()=>{ne=!1});document.addEventListener("click",t=>{me&&(t.preventDefault(),t.stopImmediatePropagation(),me=!1)});var X=class extends I{constructor(e){super(e),this.className=this.el.dataset.toggle||"",this.el.addEventListener(N,n=>this.onPointerUp(n)),this.el.addEventListener("click",n=>n.preventDefault()),document.addEventListener(F,n=>this.onDocumentPointerDown(n)),document.addEventListener(N,n=>this.onDocumentPointerUp(n))}setActive(e){if(this.active==e)return;this.active=e,document.documentElement.classList.toggle("has-"+this.className,e),this.el.classList.toggle("active",e);let n=(this.active?"to-has-":"from-has-")+this.className;document.documentElement.classList.add(n),setTimeout(()=>document.documentElement.classList.remove(n),500)}onPointerUp(e){D||(this.setActive(!0),e.preventDefault())}onDocumentPointerDown(e){if(this.active){if(e.target.closest(".col-sidebar, .tsd-filter-group"))return;this.setActive(!1)}}onDocumentPointerUp(e){if(!D&&this.active&&e.target.closest(".col-sidebar")){let n=e.target.closest("a");if(n){let r=window.location.href;r.indexOf("#")!=-1&&(r=r.substring(0,r.indexOf("#"))),n.href.substring(0,r.length)==r&&setTimeout(()=>this.setActive(!1),250)}}}};var re;try{re=localStorage}catch{re={getItem(){return null},setItem(){}}}var Q=re;var ge=document.head.appendChild(document.createElement("style"));ge.dataset.for="filters";var Y=class extends I{constructor(e){super(e),this.key=`filter-${this.el.name}`,this.value=this.el.checked,this.el.addEventListener("change",()=>{this.setLocalStorage(this.el.checked)}),this.setLocalStorage(this.fromLocalStorage()),ge.innerHTML+=`html:not(.${this.key}) .tsd-is-${this.el.name} { display: none; } -`,this.app.updateIndexVisibility()}fromLocalStorage(){let e=Q.getItem(this.key);return e?e==="true":this.el.checked}setLocalStorage(e){Q.setItem(this.key,e.toString()),this.value=e,this.handleValueChange()}handleValueChange(){this.el.checked=this.value,document.documentElement.classList.toggle(this.key,this.value),this.app.filterChanged(),this.app.updateIndexVisibility()}};var Z=class extends I{constructor(e){super(e),this.summary=this.el.querySelector(".tsd-accordion-summary"),this.icon=this.summary.querySelector("svg"),this.key=`tsd-accordion-${this.summary.dataset.key??this.summary.textContent.trim().replace(/\s+/g,"-").toLowerCase()}`;let n=Q.getItem(this.key);this.el.open=n?n==="true":this.el.open,this.el.addEventListener("toggle",()=>this.update());let r=this.summary.querySelector("a");r&&r.addEventListener("click",()=>{location.assign(r.href)}),this.update()}update(){this.icon.style.transform=`rotate(${this.el.open?0:-90}deg)`,Q.setItem(this.key,this.el.open.toString())}};function Ee(t){let e=Q.getItem("tsd-theme")||"os";t.value=e,xe(e),t.addEventListener("change",()=>{Q.setItem("tsd-theme",t.value),xe(t.value)})}function xe(t){document.documentElement.dataset.theme=t}var K;function we(){let t=document.getElementById("tsd-nav-script");t&&(t.addEventListener("load",Le),Le())}async function Le(){let t=document.getElementById("tsd-nav-container");if(!t||!window.navigationData)return;let n=await(await fetch(window.navigationData)).arrayBuffer(),r=new Blob([n]).stream().pipeThrough(new DecompressionStream("gzip")),i=await new Response(r).json();K=t.dataset.base,K.endsWith("/")||(K+="/"),t.innerHTML="";for(let s of i)Se(s,t,[]);window.app.createComponents(t),window.app.showPage(),window.app.ensureActivePageVisible()}function Se(t,e,n){let r=e.appendChild(document.createElement("li"));if(t.children){let i=[...n,t.text],s=r.appendChild(document.createElement("details"));s.className=t.class?`${t.class} tsd-accordion`:"tsd-accordion";let o=s.appendChild(document.createElement("summary"));o.className="tsd-accordion-summary",o.dataset.key=i.join("$"),o.innerHTML='',be(t,o);let a=s.appendChild(document.createElement("div"));a.className="tsd-accordion-details";let l=a.appendChild(document.createElement("ul"));l.className="tsd-nested-navigation";for(let u of t.children)Se(u,l,i)}else be(t,r,t.class)}function be(t,e,n){if(t.path){let r=e.appendChild(document.createElement("a"));r.href=K+t.path,n&&(r.className=n),location.pathname===r.pathname&&!r.href.includes("#")&&r.classList.add("current"),t.kind&&(r.innerHTML=``),r.appendChild(document.createElement("span")).textContent=t.text}else e.appendChild(document.createElement("span")).textContent=t.text}G(X,"a[data-toggle]");G(Z,".tsd-accordion");G(Y,".tsd-filter-item input[type=checkbox]");var Te=document.getElementById("tsd-theme");Te&&Ee(Te);var $e=new U;Object.defineProperty(window,"app",{value:$e});fe();we();})(); -/*! Bundled license information: - -lunr/lunr.js: - (** - * lunr - http://lunrjs.com - A bit like Solr, but much smaller and not as bright - 2.3.9 - * Copyright (C) 2020 Oliver Nightingale - * @license MIT - *) - (*! - * lunr.utils - * Copyright (C) 2020 Oliver Nightingale - *) - (*! - * lunr.Set - * Copyright (C) 2020 Oliver Nightingale - *) - (*! - * lunr.tokenizer - * Copyright (C) 2020 Oliver Nightingale - *) - (*! - * lunr.Pipeline - * Copyright (C) 2020 Oliver Nightingale - *) - (*! - * lunr.Vector - * Copyright (C) 2020 Oliver Nightingale - *) - (*! - * lunr.stemmer - * Copyright (C) 2020 Oliver Nightingale - * Includes code from - http://tartarus.org/~martin/PorterStemmer/js.txt - *) - (*! - * lunr.stopWordFilter - * Copyright (C) 2020 Oliver Nightingale - *) - (*! - * lunr.trimmer - * Copyright (C) 2020 Oliver Nightingale - *) - (*! - * lunr.TokenSet - * Copyright (C) 2020 Oliver Nightingale - *) - (*! - * lunr.Index - * Copyright (C) 2020 Oliver Nightingale - *) - (*! - * lunr.Builder - * Copyright (C) 2020 Oliver Nightingale - *) -*/ diff --git a/Documentation/assets/navigation.js b/Documentation/assets/navigation.js deleted file mode 100644 index 2423e9b9..00000000 --- a/Documentation/assets/navigation.js +++ /dev/null @@ -1 +0,0 @@ -window.navigationData = "data:application/octet-stream;base64,H4sIAAAAAAAACo3OSwrCMBSF4b2ccVCosyzAcUHEQSmSNrckmMaSpkGQ7F1a8ZkIjs+9P191haeLB8eudXrwYGiVNtKRBa+e41Y7asRIYBiEV+Doz3IyNK7vb8fHwUr53oDhpK0EL/K1LqkF4bRocr0uG94UsY7sZT/sy5+0efyL9VlJSEsnjS2UdwzZkFrIhi9DrG/NTOMjfAEAAA==" \ No newline at end of file diff --git a/Documentation/assets/search.js b/Documentation/assets/search.js deleted file mode 100644 index f1b1af0c..00000000 --- a/Documentation/assets/search.js +++ /dev/null @@ -1 +0,0 @@ -window.searchData = "data:application/octet-stream;base64,H4sIAAAAAAAACpWSXWuDMBSG/8t7fbBqZGz5AYPdDcq2iyDFasrC/CJROxD/+1DrYtWy7i7k5Hny5py00MXZgIsWXypPwH1CHmUSHPtYq7La7T/eXkGodQqOrEjqVJrdWDv0NeezylIQ4jQyRhpwoKPJxma6uaeJtIqOS9MNHaGMtMyrRSZ7yyrzs9LyGBl5K/dUvzf7aelb5f81nm6r1+/4zbn1Fpk3q/wyb7YyhwSVJ/IbvEUjtVFFDg7fYc4TCCcl06Sf8WgmxEWW9TkISRHXwzK8HHuXcVXo/vB4eueChEsecx4fWBiSmOChMGxMDrszgB5IeFugtwK9K9AHCX8L9FegfwUykGBbIFuB7AoMQCLYAoMVOO4M/W6krmTyMvZdiHFeLQ6XSQTTIFsE4G3X2b7ztpu1vq/1d9hPZiXMSthdEjN+rC2Xb13+f1zmXJdzj2s97n2ehcCzAu9vQUgoVSlTlUtwEXbdD15Xl8KzBAAA"; \ No newline at end of file diff --git a/Documentation/assets/style.css b/Documentation/assets/style.css deleted file mode 100644 index 9d619a64..00000000 --- a/Documentation/assets/style.css +++ /dev/null @@ -1,1448 +0,0 @@ -:root { - /* Light */ - --light-color-background: #f2f4f8; - --light-color-background-secondary: #eff0f1; - --light-color-warning-text: #222; - --light-color-background-warning: #e6e600; - --light-color-icon-background: var(--light-color-background); - --light-color-accent: #c5c7c9; - --light-color-active-menu-item: var(--light-color-accent); - --light-color-text: #222; - --light-color-text-aside: #6e6e6e; - --light-color-link: #1f70c2; - --light-color-focus-outline: #3584e4; - - --light-color-ts-keyword: #056bd6; - --light-color-ts-project: #b111c9; - --light-color-ts-module: var(--light-color-ts-project); - --light-color-ts-namespace: var(--light-color-ts-project); - --light-color-ts-enum: #7e6f15; - --light-color-ts-enum-member: var(--light-color-ts-enum); - --light-color-ts-variable: #4760ec; - --light-color-ts-function: #572be7; - --light-color-ts-class: #1f70c2; - --light-color-ts-interface: #108024; - --light-color-ts-constructor: var(--light-color-ts-class); - --light-color-ts-property: var(--light-color-ts-variable); - --light-color-ts-method: var(--light-color-ts-function); - --light-color-ts-call-signature: var(--light-color-ts-method); - --light-color-ts-index-signature: var(--light-color-ts-property); - --light-color-ts-constructor-signature: var(--light-color-ts-constructor); - --light-color-ts-parameter: var(--light-color-ts-variable); - /* type literal not included as links will never be generated to it */ - --light-color-ts-type-parameter: #a55c0e; - --light-color-ts-accessor: var(--light-color-ts-property); - --light-color-ts-get-signature: var(--light-color-ts-accessor); - --light-color-ts-set-signature: var(--light-color-ts-accessor); - --light-color-ts-type-alias: #d51270; - /* reference not included as links will be colored with the kind that it points to */ - --light-color-document: #000000; - - --light-external-icon: url("data:image/svg+xml;utf8,"); - --light-color-scheme: light; - - /* Dark */ - --dark-color-background: #2b2e33; - --dark-color-background-secondary: #1e2024; - --dark-color-background-warning: #bebe00; - --dark-color-warning-text: #222; - --dark-color-icon-background: var(--dark-color-background-secondary); - --dark-color-accent: #9096a2; - --dark-color-active-menu-item: #5d5d6a; - --dark-color-text: #f5f5f5; - --dark-color-text-aside: #dddddd; - --dark-color-link: #00aff4; - --dark-color-focus-outline: #4c97f2; - - --dark-color-ts-keyword: #3399ff; - --dark-color-ts-project: #e358ff; - --dark-color-ts-module: var(--dark-color-ts-project); - --dark-color-ts-namespace: var(--dark-color-ts-project); - --dark-color-ts-enum: #f4d93e; - --dark-color-ts-enum-member: var(--dark-color-ts-enum); - --dark-color-ts-variable: #798dff; - --dark-color-ts-function: #a280ff; - --dark-color-ts-class: #8ac4ff; - --dark-color-ts-interface: #6cff87; - --dark-color-ts-constructor: var(--dark-color-ts-class); - --dark-color-ts-property: var(--dark-color-ts-variable); - --dark-color-ts-method: var(--dark-color-ts-function); - --dark-color-ts-call-signature: var(--dark-color-ts-method); - --dark-color-ts-index-signature: var(--dark-color-ts-property); - --dark-color-ts-constructor-signature: var(--dark-color-ts-constructor); - --dark-color-ts-parameter: var(--dark-color-ts-variable); - /* type literal not included as links will never be generated to it */ - --dark-color-ts-type-parameter: #e07d13; - --dark-color-ts-accessor: var(--dark-color-ts-property); - --dark-color-ts-get-signature: var(--dark-color-ts-accessor); - --dark-color-ts-set-signature: var(--dark-color-ts-accessor); - --dark-color-ts-type-alias: #ff6492; - /* reference not included as links will be colored with the kind that it points to */ - --dark-color-document: #ffffff; - - --dark-external-icon: url("data:image/svg+xml;utf8,"); - --dark-color-scheme: dark; -} - -@media (prefers-color-scheme: light) { - :root { - --color-background: var(--light-color-background); - --color-background-secondary: var(--light-color-background-secondary); - --color-background-warning: var(--light-color-background-warning); - --color-warning-text: var(--light-color-warning-text); - --color-icon-background: var(--light-color-icon-background); - --color-accent: var(--light-color-accent); - --color-active-menu-item: var(--light-color-active-menu-item); - --color-text: var(--light-color-text); - --color-text-aside: var(--light-color-text-aside); - --color-link: var(--light-color-link); - --color-focus-outline: var(--light-color-focus-outline); - - --color-ts-keyword: var(--light-color-ts-keyword); - --color-ts-module: var(--light-color-ts-module); - --color-ts-namespace: var(--light-color-ts-namespace); - --color-ts-enum: var(--light-color-ts-enum); - --color-ts-enum-member: var(--light-color-ts-enum-member); - --color-ts-variable: var(--light-color-ts-variable); - --color-ts-function: var(--light-color-ts-function); - --color-ts-class: var(--light-color-ts-class); - --color-ts-interface: var(--light-color-ts-interface); - --color-ts-constructor: var(--light-color-ts-constructor); - --color-ts-property: var(--light-color-ts-property); - --color-ts-method: var(--light-color-ts-method); - --color-ts-call-signature: var(--light-color-ts-call-signature); - --color-ts-index-signature: var(--light-color-ts-index-signature); - --color-ts-constructor-signature: var( - --light-color-ts-constructor-signature - ); - --color-ts-parameter: var(--light-color-ts-parameter); - --color-ts-type-parameter: var(--light-color-ts-type-parameter); - --color-ts-accessor: var(--light-color-ts-accessor); - --color-ts-get-signature: var(--light-color-ts-get-signature); - --color-ts-set-signature: var(--light-color-ts-set-signature); - --color-ts-type-alias: var(--light-color-ts-type-alias); - --color-document: var(--light-color-document); - - --external-icon: var(--light-external-icon); - --color-scheme: var(--light-color-scheme); - } -} - -@media (prefers-color-scheme: dark) { - :root { - --color-background: var(--dark-color-background); - --color-background-secondary: var(--dark-color-background-secondary); - --color-background-warning: var(--dark-color-background-warning); - --color-warning-text: var(--dark-color-warning-text); - --color-icon-background: var(--dark-color-icon-background); - --color-accent: var(--dark-color-accent); - --color-active-menu-item: var(--dark-color-active-menu-item); - --color-text: var(--dark-color-text); - --color-text-aside: var(--dark-color-text-aside); - --color-link: var(--dark-color-link); - --color-focus-outline: var(--dark-color-focus-outline); - - --color-ts-keyword: var(--dark-color-ts-keyword); - --color-ts-module: var(--dark-color-ts-module); - --color-ts-namespace: var(--dark-color-ts-namespace); - --color-ts-enum: var(--dark-color-ts-enum); - --color-ts-enum-member: var(--dark-color-ts-enum-member); - --color-ts-variable: var(--dark-color-ts-variable); - --color-ts-function: var(--dark-color-ts-function); - --color-ts-class: var(--dark-color-ts-class); - --color-ts-interface: var(--dark-color-ts-interface); - --color-ts-constructor: var(--dark-color-ts-constructor); - --color-ts-property: var(--dark-color-ts-property); - --color-ts-method: var(--dark-color-ts-method); - --color-ts-call-signature: var(--dark-color-ts-call-signature); - --color-ts-index-signature: var(--dark-color-ts-index-signature); - --color-ts-constructor-signature: var( - --dark-color-ts-constructor-signature - ); - --color-ts-parameter: var(--dark-color-ts-parameter); - --color-ts-type-parameter: var(--dark-color-ts-type-parameter); - --color-ts-accessor: var(--dark-color-ts-accessor); - --color-ts-get-signature: var(--dark-color-ts-get-signature); - --color-ts-set-signature: var(--dark-color-ts-set-signature); - --color-ts-type-alias: var(--dark-color-ts-type-alias); - --color-document: var(--dark-color-document); - - --external-icon: var(--dark-external-icon); - --color-scheme: var(--dark-color-scheme); - } -} - -html { - color-scheme: var(--color-scheme); -} - -body { - margin: 0; -} - -:root[data-theme="light"] { - --color-background: var(--light-color-background); - --color-background-secondary: var(--light-color-background-secondary); - --color-background-warning: var(--light-color-background-warning); - --color-warning-text: var(--light-color-warning-text); - --color-icon-background: var(--light-color-icon-background); - --color-accent: var(--light-color-accent); - --color-active-menu-item: var(--light-color-active-menu-item); - --color-text: var(--light-color-text); - --color-text-aside: var(--light-color-text-aside); - --color-link: var(--light-color-link); - --color-focus-outline: var(--light-color-focus-outline); - - --color-ts-keyword: var(--light-color-ts-keyword); - --color-ts-module: var(--light-color-ts-module); - --color-ts-namespace: var(--light-color-ts-namespace); - --color-ts-enum: var(--light-color-ts-enum); - --color-ts-enum-member: var(--light-color-ts-enum-member); - --color-ts-variable: var(--light-color-ts-variable); - --color-ts-function: var(--light-color-ts-function); - --color-ts-class: var(--light-color-ts-class); - --color-ts-interface: var(--light-color-ts-interface); - --color-ts-constructor: var(--light-color-ts-constructor); - --color-ts-property: var(--light-color-ts-property); - --color-ts-method: var(--light-color-ts-method); - --color-ts-call-signature: var(--light-color-ts-call-signature); - --color-ts-index-signature: var(--light-color-ts-index-signature); - --color-ts-constructor-signature: var( - --light-color-ts-constructor-signature - ); - --color-ts-parameter: var(--light-color-ts-parameter); - --color-ts-type-parameter: var(--light-color-ts-type-parameter); - --color-ts-accessor: var(--light-color-ts-accessor); - --color-ts-get-signature: var(--light-color-ts-get-signature); - --color-ts-set-signature: var(--light-color-ts-set-signature); - --color-ts-type-alias: var(--light-color-ts-type-alias); - --color-document: var(--light-color-document); - - --external-icon: var(--light-external-icon); - --color-scheme: var(--light-color-scheme); -} - -:root[data-theme="dark"] { - --color-background: var(--dark-color-background); - --color-background-secondary: var(--dark-color-background-secondary); - --color-background-warning: var(--dark-color-background-warning); - --color-warning-text: var(--dark-color-warning-text); - --color-icon-background: var(--dark-color-icon-background); - --color-accent: var(--dark-color-accent); - --color-active-menu-item: var(--dark-color-active-menu-item); - --color-text: var(--dark-color-text); - --color-text-aside: var(--dark-color-text-aside); - --color-link: var(--dark-color-link); - --color-focus-outline: var(--dark-color-focus-outline); - - --color-ts-keyword: var(--dark-color-ts-keyword); - --color-ts-module: var(--dark-color-ts-module); - --color-ts-namespace: var(--dark-color-ts-namespace); - --color-ts-enum: var(--dark-color-ts-enum); - --color-ts-enum-member: var(--dark-color-ts-enum-member); - --color-ts-variable: var(--dark-color-ts-variable); - --color-ts-function: var(--dark-color-ts-function); - --color-ts-class: var(--dark-color-ts-class); - --color-ts-interface: var(--dark-color-ts-interface); - --color-ts-constructor: var(--dark-color-ts-constructor); - --color-ts-property: var(--dark-color-ts-property); - --color-ts-method: var(--dark-color-ts-method); - --color-ts-call-signature: var(--dark-color-ts-call-signature); - --color-ts-index-signature: var(--dark-color-ts-index-signature); - --color-ts-constructor-signature: var( - --dark-color-ts-constructor-signature - ); - --color-ts-parameter: var(--dark-color-ts-parameter); - --color-ts-type-parameter: var(--dark-color-ts-type-parameter); - --color-ts-accessor: var(--dark-color-ts-accessor); - --color-ts-get-signature: var(--dark-color-ts-get-signature); - --color-ts-set-signature: var(--dark-color-ts-set-signature); - --color-ts-type-alias: var(--dark-color-ts-type-alias); - --color-document: var(--dark-color-document); - - --external-icon: var(--dark-external-icon); - --color-scheme: var(--dark-color-scheme); -} - -*:focus-visible, -.tsd-accordion-summary:focus-visible svg { - outline: 2px solid var(--color-focus-outline); -} - -.always-visible, -.always-visible .tsd-signatures { - display: inherit !important; -} - -h1, -h2, -h3, -h4, -h5, -h6 { - line-height: 1.2; -} - -h1 { - font-size: 1.875rem; - margin: 0.67rem 0; -} - -h2 { - font-size: 1.5rem; - margin: 0.83rem 0; -} - -h3 { - font-size: 1.25rem; - margin: 1rem 0; -} - -h4 { - font-size: 1.05rem; - margin: 1.33rem 0; -} - -h5 { - font-size: 1rem; - margin: 1.5rem 0; -} - -h6 { - font-size: 0.875rem; - margin: 2.33rem 0; -} - -dl, -menu, -ol, -ul { - margin: 1em 0; -} - -dd { - margin: 0 0 0 40px; -} - -.container { - max-width: 1700px; - padding: 0 2rem; -} - -/* Footer */ -footer { - border-top: 1px solid var(--color-accent); - padding-top: 1rem; - padding-bottom: 1rem; - max-height: 3.5rem; -} -footer > p { - margin: 0 1em; -} - -.container-main { - margin: 0 auto; - /* toolbar, footer, margin */ - min-height: calc(100vh - 41px - 56px - 4rem); -} - -@keyframes fade-in { - from { - opacity: 0; - } - to { - opacity: 1; - } -} -@keyframes fade-out { - from { - opacity: 1; - visibility: visible; - } - to { - opacity: 0; - } -} -@keyframes fade-in-delayed { - 0% { - opacity: 0; - } - 33% { - opacity: 0; - } - 100% { - opacity: 1; - } -} -@keyframes fade-out-delayed { - 0% { - opacity: 1; - visibility: visible; - } - 66% { - opacity: 0; - } - 100% { - opacity: 0; - } -} -@keyframes pop-in-from-right { - from { - transform: translate(100%, 0); - } - to { - transform: translate(0, 0); - } -} -@keyframes pop-out-to-right { - from { - transform: translate(0, 0); - visibility: visible; - } - to { - transform: translate(100%, 0); - } -} -body { - background: var(--color-background); - font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Noto Sans", - Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji"; - font-size: 16px; - color: var(--color-text); -} - -a { - color: var(--color-link); - text-decoration: none; -} -a:hover { - text-decoration: underline; -} -a.external[target="_blank"] { - background-image: var(--external-icon); - background-position: top 3px right; - background-repeat: no-repeat; - padding-right: 13px; -} -a.tsd-anchor-link { - color: var(--color-text); -} - -code, -pre { - font-family: Menlo, Monaco, Consolas, "Courier New", monospace; - padding: 0.2em; - margin: 0; - font-size: 0.875rem; - border-radius: 0.8em; -} - -pre { - position: relative; - white-space: pre; - white-space: pre-wrap; - word-wrap: break-word; - padding: 10px; - border: 1px solid var(--color-accent); -} -pre code { - padding: 0; - font-size: 100%; -} -pre > button { - position: absolute; - top: 10px; - right: 10px; - opacity: 0; - transition: opacity 0.1s; - box-sizing: border-box; -} -pre:hover > button, -pre > button.visible { - opacity: 1; -} - -blockquote { - margin: 1em 0; - padding-left: 1em; - border-left: 4px solid gray; -} - -.tsd-typography { - line-height: 1.333em; -} -.tsd-typography ul { - list-style: square; - padding: 0 0 0 20px; - margin: 0; -} -.tsd-typography .tsd-index-panel h3, -.tsd-index-panel .tsd-typography h3, -.tsd-typography h4, -.tsd-typography h5, -.tsd-typography h6 { - font-size: 1em; -} -.tsd-typography h5, -.tsd-typography h6 { - font-weight: normal; -} -.tsd-typography p, -.tsd-typography ul, -.tsd-typography ol { - margin: 1em 0; -} -.tsd-typography table { - border-collapse: collapse; - border: none; -} -.tsd-typography td, -.tsd-typography th { - padding: 6px 13px; - border: 1px solid var(--color-accent); -} -.tsd-typography thead, -.tsd-typography tr:nth-child(even) { - background-color: var(--color-background-secondary); -} - -.tsd-breadcrumb { - margin: 0; - padding: 0; - color: var(--color-text-aside); -} -.tsd-breadcrumb a { - color: var(--color-text-aside); - text-decoration: none; -} -.tsd-breadcrumb a:hover { - text-decoration: underline; -} -.tsd-breadcrumb li { - display: inline; -} -.tsd-breadcrumb li:after { - content: " / "; -} - -.tsd-comment-tags { - display: flex; - flex-direction: column; -} -dl.tsd-comment-tag-group { - display: flex; - align-items: center; - overflow: hidden; - margin: 0.5em 0; -} -dl.tsd-comment-tag-group dt { - display: flex; - margin-right: 0.5em; - font-size: 0.875em; - font-weight: normal; -} -dl.tsd-comment-tag-group dd { - margin: 0; -} -code.tsd-tag { - padding: 0.25em 0.4em; - border: 0.1em solid var(--color-accent); - margin-right: 0.25em; - font-size: 70%; -} -h1 code.tsd-tag:first-of-type { - margin-left: 0.25em; -} - -dl.tsd-comment-tag-group dd:before, -dl.tsd-comment-tag-group dd:after { - content: " "; -} -dl.tsd-comment-tag-group dd pre, -dl.tsd-comment-tag-group dd:after { - clear: both; -} -dl.tsd-comment-tag-group p { - margin: 0; -} - -.tsd-panel.tsd-comment .lead { - font-size: 1.1em; - line-height: 1.333em; - margin-bottom: 2em; -} -.tsd-panel.tsd-comment .lead:last-child { - margin-bottom: 0; -} - -.tsd-filter-visibility h4 { - font-size: 1rem; - padding-top: 0.75rem; - padding-bottom: 0.5rem; - margin: 0; -} -.tsd-filter-item:not(:last-child) { - margin-bottom: 0.5rem; -} -.tsd-filter-input { - display: flex; - width: -moz-fit-content; - width: fit-content; - align-items: center; - -webkit-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; - cursor: pointer; -} -.tsd-filter-input input[type="checkbox"] { - cursor: pointer; - position: absolute; - width: 1.5em; - height: 1.5em; - opacity: 0; -} -.tsd-filter-input input[type="checkbox"]:disabled { - pointer-events: none; -} -.tsd-filter-input svg { - cursor: pointer; - width: 1.5em; - height: 1.5em; - margin-right: 0.5em; - border-radius: 0.33em; - /* Leaving this at full opacity breaks event listeners on Firefox. - Don't remove unless you know what you're doing. */ - opacity: 0.99; -} -.tsd-filter-input input[type="checkbox"]:focus-visible + svg { - outline: 2px solid var(--color-focus-outline); -} -.tsd-checkbox-background { - fill: var(--color-accent); -} -input[type="checkbox"]:checked ~ svg .tsd-checkbox-checkmark { - stroke: var(--color-text); -} -.tsd-filter-input input:disabled ~ svg > .tsd-checkbox-background { - fill: var(--color-background); - stroke: var(--color-accent); - stroke-width: 0.25rem; -} -.tsd-filter-input input:disabled ~ svg > .tsd-checkbox-checkmark { - stroke: var(--color-accent); -} - -.settings-label { - font-weight: bold; - text-transform: uppercase; - display: inline-block; -} - -.tsd-filter-visibility .settings-label { - margin: 0.75rem 0 0.5rem 0; -} - -.tsd-theme-toggle .settings-label { - margin: 0.75rem 0.75rem 0 0; -} - -.tsd-hierarchy { - list-style: square; - margin: 0; -} -.tsd-hierarchy .target { - font-weight: bold; -} - -.tsd-full-hierarchy:not(:last-child) { - margin-bottom: 1em; - padding-bottom: 1em; - border-bottom: 1px solid var(--color-accent); -} -.tsd-full-hierarchy, -.tsd-full-hierarchy ul { - list-style: none; - margin: 0; - padding: 0; -} -.tsd-full-hierarchy ul { - padding-left: 1.5rem; -} -.tsd-full-hierarchy a { - padding: 0.25rem 0 !important; - font-size: 1rem; - display: inline-flex; - align-items: center; - color: var(--color-text); -} - -.tsd-panel-group.tsd-index-group { - margin-bottom: 0; -} -.tsd-index-panel .tsd-index-list { - list-style: none; - line-height: 1.333em; - margin: 0; - padding: 0.25rem 0 0 0; - overflow: hidden; - display: grid; - grid-template-columns: repeat(3, 1fr); - column-gap: 1rem; - grid-template-rows: auto; -} -@media (max-width: 1024px) { - .tsd-index-panel .tsd-index-list { - grid-template-columns: repeat(2, 1fr); - } -} -@media (max-width: 768px) { - .tsd-index-panel .tsd-index-list { - grid-template-columns: repeat(1, 1fr); - } -} -.tsd-index-panel .tsd-index-list li { - -webkit-page-break-inside: avoid; - -moz-page-break-inside: avoid; - -ms-page-break-inside: avoid; - -o-page-break-inside: avoid; - page-break-inside: avoid; -} - -.tsd-flag { - display: inline-block; - padding: 0.25em 0.4em; - border-radius: 4px; - color: var(--color-comment-tag-text); - background-color: var(--color-comment-tag); - text-indent: 0; - font-size: 75%; - line-height: 1; - font-weight: normal; -} - -.tsd-anchor { - position: relative; - top: -100px; -} - -.tsd-member { - position: relative; -} -.tsd-member .tsd-anchor + h3 { - display: flex; - align-items: center; - margin-top: 0; - margin-bottom: 0; - border-bottom: none; -} - -.tsd-navigation.settings { - margin: 1rem 0; -} -.tsd-navigation > a, -.tsd-navigation .tsd-accordion-summary { - width: calc(100% - 0.25rem); - display: flex; - align-items: center; -} -.tsd-navigation a, -.tsd-navigation summary > span, -.tsd-page-navigation a { - display: flex; - width: calc(100% - 0.25rem); - align-items: center; - padding: 0.25rem; - color: var(--color-text); - text-decoration: none; - box-sizing: border-box; -} -.tsd-navigation a.current, -.tsd-page-navigation a.current { - background: var(--color-active-menu-item); -} -.tsd-navigation a:hover, -.tsd-page-navigation a:hover { - text-decoration: underline; -} -.tsd-navigation ul, -.tsd-page-navigation ul { - margin-top: 0; - margin-bottom: 0; - padding: 0; - list-style: none; -} -.tsd-navigation li, -.tsd-page-navigation li { - padding: 0; - max-width: 100%; -} -.tsd-navigation .tsd-nav-link { - display: none; -} -.tsd-nested-navigation { - margin-left: 3rem; -} -.tsd-nested-navigation > li > details { - margin-left: -1.5rem; -} -.tsd-small-nested-navigation { - margin-left: 1.5rem; -} -.tsd-small-nested-navigation > li > details { - margin-left: -1.5rem; -} - -.tsd-page-navigation-section { - margin-left: 10px; -} -.tsd-page-navigation-section > summary { - padding: 0.25rem; -} -.tsd-page-navigation-section > div { - margin-left: 20px; -} -.tsd-page-navigation ul { - padding-left: 1.75rem; -} - -#tsd-sidebar-links a { - margin-top: 0; - margin-bottom: 0.5rem; - line-height: 1.25rem; -} -#tsd-sidebar-links a:last-of-type { - margin-bottom: 0; -} - -a.tsd-index-link { - padding: 0.25rem 0 !important; - font-size: 1rem; - line-height: 1.25rem; - display: inline-flex; - align-items: center; - color: var(--color-text); -} -.tsd-accordion-summary { - list-style-type: none; /* hide marker on non-safari */ - outline: none; /* broken on safari, so just hide it */ -} -.tsd-accordion-summary::-webkit-details-marker { - display: none; /* hide marker on safari */ -} -.tsd-accordion-summary, -.tsd-accordion-summary a { - -moz-user-select: none; - -webkit-user-select: none; - -ms-user-select: none; - user-select: none; - - cursor: pointer; -} -.tsd-accordion-summary a { - width: calc(100% - 1.5rem); -} -.tsd-accordion-summary > * { - margin-top: 0; - margin-bottom: 0; - padding-top: 0; - padding-bottom: 0; -} -.tsd-accordion .tsd-accordion-summary > svg { - margin-left: 0.25rem; - vertical-align: text-top; -} -.tsd-index-content > :not(:first-child) { - margin-top: 0.75rem; -} -.tsd-index-heading { - margin-top: 1.5rem; - margin-bottom: 0.75rem; -} - -.tsd-kind-icon { - margin-right: 0.5rem; - width: 1.25rem; - height: 1.25rem; - min-width: 1.25rem; - min-height: 1.25rem; -} -.tsd-kind-icon path { - transform-origin: center; - transform: scale(1.1); -} -.tsd-signature > .tsd-kind-icon { - margin-right: 0.8rem; -} - -.tsd-panel { - margin-bottom: 2.5rem; -} -.tsd-panel.tsd-member { - margin-bottom: 4rem; -} -.tsd-panel:empty { - display: none; -} -.tsd-panel > h1, -.tsd-panel > h2, -.tsd-panel > h3 { - margin: 1.5rem -1.5rem 0.75rem -1.5rem; - padding: 0 1.5rem 0.75rem 1.5rem; -} -.tsd-panel > h1.tsd-before-signature, -.tsd-panel > h2.tsd-before-signature, -.tsd-panel > h3.tsd-before-signature { - margin-bottom: 0; - border-bottom: none; -} - -.tsd-panel-group { - margin: 2rem 0; -} -.tsd-panel-group.tsd-index-group { - margin: 2rem 0; -} -.tsd-panel-group.tsd-index-group details { - margin: 2rem 0; -} -.tsd-panel-group > .tsd-accordion-summary { - margin-bottom: 1rem; -} - -#tsd-search { - transition: background-color 0.2s; -} -#tsd-search .title { - position: relative; - z-index: 2; -} -#tsd-search .field { - position: absolute; - left: 0; - top: 0; - right: 2.5rem; - height: 100%; -} -#tsd-search .field input { - box-sizing: border-box; - position: relative; - top: -50px; - z-index: 1; - width: 100%; - padding: 0 10px; - opacity: 0; - outline: 0; - border: 0; - background: transparent; - color: var(--color-text); -} -#tsd-search .field label { - position: absolute; - overflow: hidden; - right: -40px; -} -#tsd-search .field input, -#tsd-search .title, -#tsd-toolbar-links a { - transition: opacity 0.2s; -} -#tsd-search .results { - position: absolute; - visibility: hidden; - top: 40px; - width: 100%; - margin: 0; - padding: 0; - list-style: none; - box-shadow: 0 0 4px rgba(0, 0, 0, 0.25); -} -#tsd-search .results li { - background-color: var(--color-background); - line-height: initial; - padding: 4px; -} -#tsd-search .results li:nth-child(even) { - background-color: var(--color-background-secondary); -} -#tsd-search .results li.state { - display: none; -} -#tsd-search .results li.current:not(.no-results), -#tsd-search .results li:hover:not(.no-results) { - background-color: var(--color-accent); -} -#tsd-search .results a { - display: flex; - align-items: center; - padding: 0.25rem; - box-sizing: border-box; -} -#tsd-search .results a:before { - top: 10px; -} -#tsd-search .results span.parent { - color: var(--color-text-aside); - font-weight: normal; -} -#tsd-search.has-focus { - background-color: var(--color-accent); -} -#tsd-search.has-focus .field input { - top: 0; - opacity: 1; -} -#tsd-search.has-focus .title, -#tsd-search.has-focus #tsd-toolbar-links a { - z-index: 0; - opacity: 0; -} -#tsd-search.has-focus .results { - visibility: visible; -} -#tsd-search.loading .results li.state.loading { - display: block; -} -#tsd-search.failure .results li.state.failure { - display: block; -} - -#tsd-toolbar-links { - position: absolute; - top: 0; - right: 2rem; - height: 100%; - display: flex; - align-items: center; - justify-content: flex-end; -} -#tsd-toolbar-links a { - margin-left: 1.5rem; -} -#tsd-toolbar-links a:hover { - text-decoration: underline; -} - -.tsd-signature { - margin: 0 0 1rem 0; - padding: 1rem 0.5rem; - border: 1px solid var(--color-accent); - font-family: Menlo, Monaco, Consolas, "Courier New", monospace; - font-size: 14px; - overflow-x: auto; -} - -.tsd-signature-keyword { - color: var(--color-ts-keyword); - font-weight: normal; -} - -.tsd-signature-symbol { - color: var(--color-text-aside); - font-weight: normal; -} - -.tsd-signature-type { - font-style: italic; - font-weight: normal; -} - -.tsd-signatures { - padding: 0; - margin: 0 0 1em 0; - list-style-type: none; -} -.tsd-signatures .tsd-signature { - margin: 0; - border-color: var(--color-accent); - border-width: 1px 0; - transition: background-color 0.1s; -} -.tsd-signatures .tsd-index-signature:not(:last-child) { - margin-bottom: 1em; -} -.tsd-signatures .tsd-index-signature .tsd-signature { - border-width: 1px; -} -.tsd-description .tsd-signatures .tsd-signature { - border-width: 1px; -} - -ul.tsd-parameter-list, -ul.tsd-type-parameter-list { - list-style: square; - margin: 0; - padding-left: 20px; -} -ul.tsd-parameter-list > li.tsd-parameter-signature, -ul.tsd-type-parameter-list > li.tsd-parameter-signature { - list-style: none; - margin-left: -20px; -} -ul.tsd-parameter-list h5, -ul.tsd-type-parameter-list h5 { - font-size: 16px; - margin: 1em 0 0.5em 0; -} -.tsd-sources { - margin-top: 1rem; - font-size: 0.875em; -} -.tsd-sources a { - color: var(--color-text-aside); - text-decoration: underline; -} -.tsd-sources ul { - list-style: none; - padding: 0; -} - -.tsd-page-toolbar { - position: sticky; - z-index: 1; - top: 0; - left: 0; - width: 100%; - color: var(--color-text); - background: var(--color-background-secondary); - border-bottom: 1px var(--color-accent) solid; - transition: transform 0.3s ease-in-out; -} -.tsd-page-toolbar a { - color: var(--color-text); - text-decoration: none; -} -.tsd-page-toolbar a.title { - font-weight: bold; -} -.tsd-page-toolbar a.title:hover { - text-decoration: underline; -} -.tsd-page-toolbar .tsd-toolbar-contents { - display: flex; - justify-content: space-between; - height: 2.5rem; - margin: 0 auto; -} -.tsd-page-toolbar .table-cell { - position: relative; - white-space: nowrap; - line-height: 40px; -} -.tsd-page-toolbar .table-cell:first-child { - width: 100%; -} -.tsd-page-toolbar .tsd-toolbar-icon { - box-sizing: border-box; - line-height: 0; - padding: 12px 0; -} - -.tsd-widget { - display: inline-block; - overflow: hidden; - opacity: 0.8; - height: 40px; - transition: - opacity 0.1s, - background-color 0.2s; - vertical-align: bottom; - cursor: pointer; -} -.tsd-widget:hover { - opacity: 0.9; -} -.tsd-widget.active { - opacity: 1; - background-color: var(--color-accent); -} -.tsd-widget.no-caption { - width: 40px; -} -.tsd-widget.no-caption:before { - margin: 0; -} - -.tsd-widget.options, -.tsd-widget.menu { - display: none; -} -input[type="checkbox"] + .tsd-widget:before { - background-position: -120px 0; -} -input[type="checkbox"]:checked + .tsd-widget:before { - background-position: -160px 0; -} - -img { - max-width: 100%; -} - -.tsd-anchor-icon { - display: inline-flex; - align-items: center; - margin-left: 0.5rem; - vertical-align: middle; - color: var(--color-text); -} - -.tsd-anchor-icon svg { - width: 1em; - height: 1em; - visibility: hidden; -} - -.tsd-anchor-link:hover > .tsd-anchor-icon svg { - visibility: visible; -} - -.deprecated { - text-decoration: line-through !important; -} - -.warning { - padding: 1rem; - color: var(--color-warning-text); - background: var(--color-background-warning); -} - -.tsd-kind-project { - color: var(--color-ts-project); -} -.tsd-kind-module { - color: var(--color-ts-module); -} -.tsd-kind-namespace { - color: var(--color-ts-namespace); -} -.tsd-kind-enum { - color: var(--color-ts-enum); -} -.tsd-kind-enum-member { - color: var(--color-ts-enum-member); -} -.tsd-kind-variable { - color: var(--color-ts-variable); -} -.tsd-kind-function { - color: var(--color-ts-function); -} -.tsd-kind-class { - color: var(--color-ts-class); -} -.tsd-kind-interface { - color: var(--color-ts-interface); -} -.tsd-kind-constructor { - color: var(--color-ts-constructor); -} -.tsd-kind-property { - color: var(--color-ts-property); -} -.tsd-kind-method { - color: var(--color-ts-method); -} -.tsd-kind-call-signature { - color: var(--color-ts-call-signature); -} -.tsd-kind-index-signature { - color: var(--color-ts-index-signature); -} -.tsd-kind-constructor-signature { - color: var(--color-ts-constructor-signature); -} -.tsd-kind-parameter { - color: var(--color-ts-parameter); -} -.tsd-kind-type-literal { - color: var(--color-ts-type-literal); -} -.tsd-kind-type-parameter { - color: var(--color-ts-type-parameter); -} -.tsd-kind-accessor { - color: var(--color-ts-accessor); -} -.tsd-kind-get-signature { - color: var(--color-ts-get-signature); -} -.tsd-kind-set-signature { - color: var(--color-ts-set-signature); -} -.tsd-kind-type-alias { - color: var(--color-ts-type-alias); -} - -/* if we have a kind icon, don't color the text by kind */ -.tsd-kind-icon ~ span { - color: var(--color-text); -} - -* { - scrollbar-width: thin; - scrollbar-color: var(--color-accent) var(--color-icon-background); -} - -*::-webkit-scrollbar { - width: 0.75rem; -} - -*::-webkit-scrollbar-track { - background: var(--color-icon-background); -} - -*::-webkit-scrollbar-thumb { - background-color: var(--color-accent); - border-radius: 999rem; - border: 0.25rem solid var(--color-icon-background); -} - -/* mobile */ -@media (max-width: 769px) { - .tsd-widget.options, - .tsd-widget.menu { - display: inline-block; - } - - .container-main { - display: flex; - } - html .col-content { - float: none; - max-width: 100%; - width: 100%; - } - html .col-sidebar { - position: fixed !important; - overflow-y: auto; - -webkit-overflow-scrolling: touch; - z-index: 1024; - top: 0 !important; - bottom: 0 !important; - left: auto !important; - right: 0 !important; - padding: 1.5rem 1.5rem 0 0; - width: 75vw; - visibility: hidden; - background-color: var(--color-background); - transform: translate(100%, 0); - } - html .col-sidebar > *:last-child { - padding-bottom: 20px; - } - html .overlay { - content: ""; - display: block; - position: fixed; - z-index: 1023; - top: 0; - left: 0; - right: 0; - bottom: 0; - background-color: rgba(0, 0, 0, 0.75); - visibility: hidden; - } - - .to-has-menu .overlay { - animation: fade-in 0.4s; - } - - .to-has-menu .col-sidebar { - animation: pop-in-from-right 0.4s; - } - - .from-has-menu .overlay { - animation: fade-out 0.4s; - } - - .from-has-menu .col-sidebar { - animation: pop-out-to-right 0.4s; - } - - .has-menu body { - overflow: hidden; - } - .has-menu .overlay { - visibility: visible; - } - .has-menu .col-sidebar { - visibility: visible; - transform: translate(0, 0); - display: flex; - flex-direction: column; - gap: 1.5rem; - max-height: 100vh; - padding: 1rem 2rem; - } - .has-menu .tsd-navigation { - max-height: 100%; - } - #tsd-toolbar-links { - display: none; - } - .tsd-navigation .tsd-nav-link { - display: flex; - } -} - -/* one sidebar */ -@media (min-width: 770px) { - .container-main { - display: grid; - grid-template-columns: minmax(0, 1fr) minmax(0, 2fr); - grid-template-areas: "sidebar content"; - margin: 2rem auto; - } - - .col-sidebar { - grid-area: sidebar; - } - .col-content { - grid-area: content; - padding: 0 1rem; - } -} -@media (min-width: 770px) and (max-width: 1399px) { - .col-sidebar { - max-height: calc(100vh - 2rem - 42px); - overflow: auto; - position: sticky; - top: 42px; - padding-top: 1rem; - } - .site-menu { - margin-top: 1rem; - } -} - -/* two sidebars */ -@media (min-width: 1200px) { - .container-main { - grid-template-columns: minmax(0, 1fr) minmax(0, 2.5fr) minmax(0, 20rem); - grid-template-areas: "sidebar content toc"; - } - - .col-sidebar { - display: contents; - } - - .page-menu { - grid-area: toc; - padding-left: 1rem; - } - .site-menu { - grid-area: sidebar; - } - - .site-menu { - margin-top: 1rem 0; - } - - .page-menu, - .site-menu { - max-height: calc(100vh - 2rem - 42px); - overflow: auto; - position: sticky; - top: 42px; - } -} diff --git a/Documentation/index.html b/Documentation/index.html deleted file mode 100644 index 1cc0ca30..00000000 --- a/Documentation/index.html +++ /dev/null @@ -1,19 +0,0 @@ -@playform/starter - v0.0.1

@playform/starter - v0.0.1

📄 Starter —

A simple skeleton with TailwindCSS, PostCSS.

- - - - - -
- - - - TailwindCSS Logo - - - - - PostCSS Logo - -
-
diff --git a/Documentation/modules/Script_Firebase.html b/Documentation/modules/Script_Firebase.html deleted file mode 100644 index eeca09b6..00000000 --- a/Documentation/modules/Script_Firebase.html +++ /dev/null @@ -1,2 +0,0 @@ -Script/Firebase | @playform/starter - v0.0.1

Module Script/Firebase

Index

Variables

diff --git a/Documentation/modules/Script_SWUP.html b/Documentation/modules/Script_SWUP.html deleted file mode 100644 index bca8e756..00000000 --- a/Documentation/modules/Script_SWUP.html +++ /dev/null @@ -1,2 +0,0 @@ -Script/SWUP | @playform/starter - v0.0.1

Index

Variables

diff --git a/Documentation/modules/env.html b/Documentation/modules/env.html deleted file mode 100644 index b4d72a7b..00000000 --- a/Documentation/modules/env.html +++ /dev/null @@ -1 +0,0 @@ -env | @playform/starter - v0.0.1
diff --git a/Documentation/variables/Script_Firebase.firebase.html b/Documentation/variables/Script_Firebase.firebase.html deleted file mode 100644 index a171139d..00000000 --- a/Documentation/variables/Script_Firebase.firebase.html +++ /dev/null @@ -1 +0,0 @@ -firebase | @playform/starter - v0.0.1
firebase: FirebaseApp
diff --git a/Documentation/variables/Script_SWUP.SWUP.html b/Documentation/variables/Script_SWUP.SWUP.html deleted file mode 100644 index f0eddc58..00000000 --- a/Documentation/variables/Script_SWUP.SWUP.html +++ /dev/null @@ -1 +0,0 @@ -SWUP | @playform/starter - v0.0.1
SWUP: Swup
From 0e0b61c1b0e1a49718cab279942ae1973f65449b Mon Sep 17 00:00:00 2001 From: Nikola Hristov Date: Thu, 26 Sep 2024 02:59:19 +0300 Subject: [PATCH 072/112] --- Source/Layout/Base.astro | 4 ---- Source/Script/SWUP.ts | 15 --------------- Source/Stylesheet/Global.css | 12 ------------ package.json | 8 -------- 4 files changed, 39 deletions(-) delete mode 100644 Source/Script/SWUP.ts diff --git a/Source/Layout/Base.astro b/Source/Layout/Base.astro index bf4441f1..9217ba74 100644 --- a/Source/Layout/Base.astro +++ b/Source/Layout/Base.astro @@ -51,10 +51,6 @@ import { ViewTransitions } from "astro:transitions"; - - diff --git a/Source/Script/SWUP.ts b/Source/Script/SWUP.ts deleted file mode 100644 index ac4e20ef..00000000 --- a/Source/Script/SWUP.ts +++ /dev/null @@ -1,15 +0,0 @@ -export default new (await import("swup")).default({ - containers: ["#footer", "#main", "#header"], - plugins: [ - new ( - await import( - // @ts-expect-error - "@swup/overlay-theme" - ) - ).default(), - new (await import("@swup/head-plugin")).default(), - new (await import("@swup/preload-plugin")).default(), - new (await import("@swup/scroll-plugin")).default(), - new (await import("@swup/body-class-plugin")).default(), - ], -}); diff --git a/Source/Stylesheet/Global.css b/Source/Stylesheet/Global.css index 233b25d9..ca32ad22 100644 --- a/Source/Stylesheet/Global.css +++ b/Source/Stylesheet/Global.css @@ -11,18 +11,6 @@ body { @apply flex flex-grow flex-col bg-white tabular-nums text-black antialiased sm:subpixel-antialiased dark:bg-black dark:text-white; font-variant-ligatures: no-common-ligatures; - - --swup-overlay-theme-color: white; - --swup-overlay-theme-duration: 0.21s; - --swup-overlay-theme-delay: 0s; - --swup-overlay-theme-scale: 0.21; - --swup-overlay-theme-skew: 0deg; -} - -@media (prefers-color-scheme: dark) { - body { - --swup-overlay-theme-color: black; - } } *::selection, diff --git a/package.json b/package.json index 1d3f63e4..7b1788c9 100644 --- a/package.json +++ b/package.json @@ -33,13 +33,6 @@ "@playform/compress": "0.1.1", "@playform/format": "0.0.7", "@playform/inline": "0.1.0", - "@swup/body-class-plugin": "3.2.0", - "@swup/fade-theme": "2.0.1", - "@swup/head-plugin": "2.2.1", - "@swup/overlay-theme": "2.0.1", - "@swup/preload-plugin": "3.2.10", - "@swup/scroll-plugin": "3.3.2", - "@swup/slide-theme": "2.0.1", "@tailwindcss/aspect-ratio": "0.4.2", "@tailwindcss/forms": "0.5.9", "@tailwindcss/typography": "0.5.15", @@ -57,7 +50,6 @@ "postcss-import": "16.1.0", "postcss-reporter": "7.1.0", "postcss-url": "10.1.3", - "swup": "4.7.0", "tailwindcss": "3.4.13", "typescript": "5.6.2", "zod": "3.23.8" From 8372e288c94340d9ce0149e24871ded3b0c0a324 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 26 Sep 2024 01:22:13 +0000 Subject: [PATCH 073/112] Bump @playform/build from 0.1.6 to 0.1.7 Bumps [@playform/build](https://github.com/PlayForm/Build) from 0.1.6 to 0.1.7. - [Release notes](https://github.com/PlayForm/Build/releases) - [Changelog](https://github.com/PlayForm/Build/blob/Current/CHANGELOG.md) - [Commits](https://github.com/PlayForm/Build/compare/v0.1.6...v0.1.7) --- updated-dependencies: - dependency-name: "@playform/build" dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 7b1788c9..90eff05a 100644 --- a/package.json +++ b/package.json @@ -29,7 +29,7 @@ }, "dependencies": { "@astrojs/sitemap": "3.1.6", - "@playform/build": "0.1.6", + "@playform/build": "0.1.7", "@playform/compress": "0.1.1", "@playform/format": "0.0.7", "@playform/inline": "0.1.0", From 15ee5ef0ae6e27ba10c73d229d2b3e0469bdfc31 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 26 Sep 2024 01:32:03 +0000 Subject: [PATCH 074/112] Bump actions/checkout from 4.1.7 to 4.2.0 Bumps [actions/checkout](https://github.com/actions/checkout) from 4.1.7 to 4.2.0. - [Release notes](https://github.com/actions/checkout/releases) - [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md) - [Commits](https://github.com/actions/checkout/compare/v4.1.7...v4.2.0) --- updated-dependencies: - dependency-name: actions/checkout dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- .github/workflows/NPM.yml | 2 +- .github/workflows/Node.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/NPM.yml b/.github/workflows/NPM.yml index f0d4bc95..57b8f9a9 100644 --- a/.github/workflows/NPM.yml +++ b/.github/workflows/NPM.yml @@ -57,7 +57,7 @@ jobs: id-token: write steps: - - uses: actions/checkout@v4.1.7 + - uses: actions/checkout@v4.2.0 - uses: actions/setup-node@v4.0.4 with: diff --git a/.github/workflows/Node.yml b/.github/workflows/Node.yml index fa3f3fcf..eaefd27b 100644 --- a/.github/workflows/Node.yml +++ b/.github/workflows/Node.yml @@ -59,7 +59,7 @@ jobs: node-version: [18, 19, 20] steps: - - uses: actions/checkout@v4.1.7 + - uses: actions/checkout@v4.2.0 - uses: pnpm/action-setup@v4.0.0 with: From 5f18a49f6a22efa2d7b048decc0876d691a2e3c4 Mon Sep 17 00:00:00 2001 From: Nikola Hristov Date: Fri, 27 Sep 2024 23:13:56 +0300 Subject: [PATCH 075/112] --- package.json | 3 +++ 1 file changed, 3 insertions(+) diff --git a/package.json b/package.json index 90eff05a..86edfb75 100644 --- a/package.json +++ b/package.json @@ -57,5 +57,8 @@ "publishConfig": { "access": "restricted", "provenance": true + }, + "devDependencies": { + "@astrojs/ts-plugin": "1.10.2" } } From cc38832a167d296a05b71d8b267c2e8b5dbd3d96 Mon Sep 17 00:00:00 2001 From: Nikola Hristov Date: Mon, 30 Sep 2024 07:03:14 +0300 Subject: [PATCH 076/112] --- ...astro_type_script_index_0_lang.BQfvb7d1.js | 17 ---- ...o_type_script_index_0_lang.BQfvb7d1.js.map | 1 - ...astro_type_script_index_1_lang.Bka6-HKO.js | 81 ------------------- ...o_type_script_index_1_lang.Bka6-HKO.js.map | 1 - ...o_type_script_index_2_lang.D4DYKVOQ.js.map | 1 - Target/_astro/Swup.modern.UA9jlYbO.js | 1 - Target/_astro/Swup.modern.UA9jlYbO.js.map | 1 - ...astro_type_script_index_0_lang.Dd_TQxzB.js | 1 - ...o_type_script_index_0_lang.Dd_TQxzB.js.map | 1 - Target/_astro/index.Pa49pp0M.css | 1 - Target/_astro/index.esm.C4IwMFMF.js | 1 - Target/_astro/index.esm.C4IwMFMF.js.map | 1 - Target/_astro/index.modern.CiCz6VZW.js | 1 - Target/_astro/index.modern.CiCz6VZW.js.map | 1 - Target/_astro/index.modern.CkIAsQri.js | 1 - Target/_astro/index.modern.CkIAsQri.js.map | 1 - Target/_astro/index.modern.DpLP8u1C.js | 1 - Target/_astro/index.modern.DpLP8u1C.js.map | 1 - Target/_astro/index.modern.Dzx6rguv.js | 1 - Target/_astro/index.modern.Dzx6rguv.js.map | 1 - Target/_astro/index.modern.FjGODCox.js | 1 - Target/_astro/index.modern.FjGODCox.js.map | 1 - Target/_astro/index.modern.aa8fLSdp.js | 1 - Target/_astro/index.modern.aa8fLSdp.js.map | 1 - Target/_astro/preload-helper.D0LYr1aX.js | 1 - Target/_astro/preload-helper.D0LYr1aX.js.map | 1 - Target/chunks/astro/server_D4bGvIFa.mjs.map | 1 - Target/chunks/astro_BEf8Em_q.mjs.map | 1 - Target/index.html | 2 +- Target/manifest_DidrxvqG.mjs.map | 1 - Target/pages/index.astro.mjs.map | 2 +- 31 files changed, 2 insertions(+), 127 deletions(-) delete mode 100644 Target/_astro/Base.astro_astro_type_script_index_0_lang.BQfvb7d1.js delete mode 100644 Target/_astro/Base.astro_astro_type_script_index_0_lang.BQfvb7d1.js.map delete mode 100644 Target/_astro/Base.astro_astro_type_script_index_1_lang.Bka6-HKO.js delete mode 100644 Target/_astro/Base.astro_astro_type_script_index_1_lang.Bka6-HKO.js.map delete mode 100644 Target/_astro/Base.astro_astro_type_script_index_2_lang.D4DYKVOQ.js.map delete mode 100644 Target/_astro/Swup.modern.UA9jlYbO.js delete mode 100644 Target/_astro/Swup.modern.UA9jlYbO.js.map delete mode 100644 Target/_astro/ViewTransitions.astro_astro_type_script_index_0_lang.Dd_TQxzB.js delete mode 100644 Target/_astro/ViewTransitions.astro_astro_type_script_index_0_lang.Dd_TQxzB.js.map delete mode 100644 Target/_astro/index.Pa49pp0M.css delete mode 100644 Target/_astro/index.esm.C4IwMFMF.js delete mode 100644 Target/_astro/index.esm.C4IwMFMF.js.map delete mode 100644 Target/_astro/index.modern.CiCz6VZW.js delete mode 100644 Target/_astro/index.modern.CiCz6VZW.js.map delete mode 100644 Target/_astro/index.modern.CkIAsQri.js delete mode 100644 Target/_astro/index.modern.CkIAsQri.js.map delete mode 100644 Target/_astro/index.modern.DpLP8u1C.js delete mode 100644 Target/_astro/index.modern.DpLP8u1C.js.map delete mode 100644 Target/_astro/index.modern.Dzx6rguv.js delete mode 100644 Target/_astro/index.modern.Dzx6rguv.js.map delete mode 100644 Target/_astro/index.modern.FjGODCox.js delete mode 100644 Target/_astro/index.modern.FjGODCox.js.map delete mode 100644 Target/_astro/index.modern.aa8fLSdp.js delete mode 100644 Target/_astro/index.modern.aa8fLSdp.js.map delete mode 100644 Target/_astro/preload-helper.D0LYr1aX.js delete mode 100644 Target/_astro/preload-helper.D0LYr1aX.js.map delete mode 100644 Target/chunks/astro/server_D4bGvIFa.mjs.map delete mode 100644 Target/chunks/astro_BEf8Em_q.mjs.map delete mode 100644 Target/manifest_DidrxvqG.mjs.map diff --git a/Target/_astro/Base.astro_astro_type_script_index_0_lang.BQfvb7d1.js b/Target/_astro/Base.astro_astro_type_script_index_0_lang.BQfvb7d1.js deleted file mode 100644 index 11de48c2..00000000 --- a/Target/_astro/Base.astro_astro_type_script_index_0_lang.BQfvb7d1.js +++ /dev/null @@ -1,17 +0,0 @@ -import { _ as e } from "./preload-helper.D0LYr1aX.js"; -( - await e(async () => { - const { initializeApp: a } = await import("./index.esm.C4IwMFMF.js"); - return { initializeApp: a }; - }, []) -).initializeApp({ - apiKey: "", - appId: "", - authDomain: "", - databaseURL: "", - measurementId: "", - messagingSenderId: "", - projectId: "", - storageBucket: "", -}); -//# sourceMappingURL=Base.astro_astro_type_script_index_0_lang.BQfvb7d1.js.map diff --git a/Target/_astro/Base.astro_astro_type_script_index_0_lang.BQfvb7d1.js.map b/Target/_astro/Base.astro_astro_type_script_index_0_lang.BQfvb7d1.js.map deleted file mode 100644 index 7d429f8f..00000000 --- a/Target/_astro/Base.astro_astro_type_script_index_0_lang.BQfvb7d1.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"mappings":"kDAAgB,MAAMA,EAAA,8BAAAC,CAAA,eAAO,yBAAc,uBAAAA,CAAA,QAAG,cAAc,CAC3D,OAAQ,GACR,MAAO,GACP,WAAY,GACZ,YAAa,GACb,cAAe,GACf,kBAAmB,GACnB,UAAW,GACX,cAAe,EAChB,CAAC","names":["__vitePreload","initializeApp"],"ignoreList":[],"sources":["../../Source/Script/Firebase.ts"],"sourcesContent":["export default (await import(\"firebase/app\")).initializeApp({\n\tapiKey: \"\", // TODO Replace with your API key\n\tappId: \"\", // TODO Replace with your app ID\n\tauthDomain: \"\", // TODO Replace with your auth domain\n\tdatabaseURL: \"\", // TODO Replace with your database URL\n\tmeasurementId: \"\", // TODO Replace with your measurement ID\n\tmessagingSenderId: \"\", // TODO Replace with your messaging sender ID\n\tprojectId: \"\", // TODO Replace with your project ID\n\tstorageBucket: \"\", // TODO Replace with your storage bucket\n});\n"],"file":"_astro/Base.astro_astro_type_script_index_0_lang.BQfvb7d1.js"} \ No newline at end of file diff --git a/Target/_astro/Base.astro_astro_type_script_index_1_lang.Bka6-HKO.js b/Target/_astro/Base.astro_astro_type_script_index_1_lang.Bka6-HKO.js deleted file mode 100644 index 0b2c0352..00000000 --- a/Target/_astro/Base.astro_astro_type_script_index_1_lang.Bka6-HKO.js +++ /dev/null @@ -1,81 +0,0 @@ -const __vite__mapDeps = ( - i, - m = __vite__mapDeps, - d = m.f || - (m.f = [ - "_astro/index.modern.DpLP8u1C.js", - "_astro/index.modern.CkIAsQri.js", - "_astro/index.modern.FjGODCox.js", - "_astro/index.modern.Dzx6rguv.js", - "_astro/Swup.modern.UA9jlYbO.js", - "_astro/index.modern.CiCz6VZW.js", - "_astro/index.modern.aa8fLSdp.js", - ]), -) => i.map((i) => d[i]); -import { _ } from "./preload-helper.D0LYr1aX.js"; -new ( - await _(async () => { - const { default: t } = await import("./Swup.modern.UA9jlYbO.js"); - return { default: t }; - }, []) -).default({ - containers: ["#footer", "#main", "#header"], - plugins: [ - new ( - await _( - async () => { - const { default: t } = await import( - "./index.modern.DpLP8u1C.js" - ); - return { default: t }; - }, - __vite__mapDeps([0, 1]), - ) - ).default(), - new ( - await _( - async () => { - const { default: t } = await import( - "./index.modern.FjGODCox.js" - ); - return { default: t }; - }, - __vite__mapDeps([2, 1]), - ) - ).default(), - new ( - await _( - async () => { - const { default: t } = await import( - "./index.modern.Dzx6rguv.js" - ); - return { default: t }; - }, - __vite__mapDeps([3, 1, 4]), - ) - ).default(), - new ( - await _( - async () => { - const { default: t } = await import( - "./index.modern.CiCz6VZW.js" - ); - return { default: t }; - }, - __vite__mapDeps([5, 1, 4]), - ) - ).default(), - new ( - await _( - async () => { - const { default: t } = await import( - "./index.modern.aa8fLSdp.js" - ); - return { default: t }; - }, - __vite__mapDeps([6, 1]), - ) - ).default(), - ], -}); -//# sourceMappingURL=Base.astro_astro_type_script_index_1_lang.Bka6-HKO.js.map diff --git a/Target/_astro/Base.astro_astro_type_script_index_1_lang.Bka6-HKO.js.map b/Target/_astro/Base.astro_astro_type_script_index_1_lang.Bka6-HKO.js.map deleted file mode 100644 index 04bf7615..00000000 --- a/Target/_astro/Base.astro_astro_type_script_index_1_lang.Bka6-HKO.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"mappings":";4CAAe,IAAK,MAAMA,EAAA,wBAAAC,CAAA,eAAO,2BAAM,iBAAAA,CAAA,QAAG,QAAQ,CACjD,WAAY,CAAC,UAAW,QAAS,SAAS,EAC1C,QAAS,CACR,IACC,MAAMD,EAAA,wBAAAC,CAAA,eAEL,8BACD,eAAAA,EAAA,2BACC,QACF,IAAK,MAAAD,EAAA,wBAAAC,CAAA,OAAM,QAAO,4BAAmB,iBAAAA,CAAA,4BAAG,QACxC,IAAK,MAAAD,EAAA,wBAAAC,CAAA,OAAM,QAAO,4BAAsB,iBAAAA,CAAA,8BAAG,QAC3C,IAAK,MAAAD,EAAA,wBAAAC,CAAA,OAAM,QAAO,4BAAqB,iBAAAA,CAAA,8BAAG,QAC1C,IAAK,MAAAD,EAAA,wBAAAC,CAAA,OAAM,QAAO,4BAAyB,iBAAAA,CAAA,4BAAG,OAC/C,CACD,CAAC","names":["__vitePreload","__vite_default__"],"ignoreList":[],"sources":["../../Source/Script/SWUP.ts"],"sourcesContent":["export default new (await import(\"swup\")).default({\n\tcontainers: [\"#footer\", \"#main\", \"#header\"],\n\tplugins: [\n\t\tnew (\n\t\t\tawait import(\n\t\t\t\t// @ts-expect-error\n\t\t\t\t\"@swup/overlay-theme\"\n\t\t\t)\n\t\t).default(),\n\t\tnew (await import(\"@swup/head-plugin\")).default(),\n\t\tnew (await import(\"@swup/preload-plugin\")).default(),\n\t\tnew (await import(\"@swup/scroll-plugin\")).default(),\n\t\tnew (await import(\"@swup/body-class-plugin\")).default(),\n\t],\n});\n"],"file":"_astro/Base.astro_astro_type_script_index_1_lang.Bka6-HKO.js"} \ No newline at end of file diff --git a/Target/_astro/Base.astro_astro_type_script_index_2_lang.D4DYKVOQ.js.map b/Target/_astro/Base.astro_astro_type_script_index_2_lang.D4DYKVOQ.js.map deleted file mode 100644 index c01c252d..00000000 --- a/Target/_astro/Base.astro_astro_type_script_index_2_lang.D4DYKVOQ.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"Base.astro_astro_type_script_index_2_lang.D4DYKVOQ.js","sources":["../../Source/Layout/Base.astro?astro&type=script&index=2&lang.ts"],"sourcesContent":["\t\t\tdocument.documentElement.classList.remove(\"no-js\");\n\t\t\tdocument.documentElement.classList.add(\"js\");\n\t\t\n\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyAidmVyc2lvbiI6IDMsICJzb3VyY2VzIjogWyJEOi9EZXZlbG9wZXIvQXBwbGljYXRpb24vUGxheUZvcm0vTlBNL1N0YXJ0ZXIvU291cmNlL0xheW91dC9CYXNlLmFzdHJvIl0sICJzb3VyY2VzQ29udGVudCI6IFsiLS0tXG5pbXBvcnQgXCJAU3R5bGVzaGVldC9CYXNlLmNzc1wiO1xuXG4vLyBUT0RPIFBsYWNlIHlvdXIgdGl0bGUgYW5kIGRlc2NyaXB0aW9uIGhlcmVcbmNvbnN0IHsgVGl0bGUgPSBcIlwiLCBEZXNjcmlwdGlvbiA9IFwiXCIgfSA9IEFzdHJvLnByb3BzO1xuXG5pbnRlcmZhY2UgUHJvcHMge1xuXHRUaXRsZT86IHN0cmluZztcblx0RGVzY3JpcHRpb24/OiBzdHJpbmc7XG59XG5cbmltcG9ydCB7IEhlYWQgfSBmcm9tIFwiYXN0cm8tY2Fwb1wiO1xuaW1wb3J0IHsgVmlld1RyYW5zaXRpb25zIH0gZnJvbSBcImFzdHJvOnRyYW5zaXRpb25zXCI7XG4tLS1cblxuXHUwMDNjIWRvY3R5cGUgaHRtbFx1MDAzZVxuXHUwMDNjaHRtbCBsYW5nPVwiZW5cIiBjbGFzcz1cIm5vLWpzXCIgZGlyPVwibHRyXCJcdTAwM2Vcblx0XHUwMDNjSGVhZFx1MDAzZVxuXHRcdFx1MDAzY3NjcmlwdFx1MDAzZVxuXHRcdFx0ZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNsYXNzTGlzdC5yZW1vdmUoXCJuby1qc1wiKTtcblx0XHRcdGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5jbGFzc0xpc3QuYWRkKFwianNcIik7XG5cdFx0XHUwMDNjL3NjcmlwdFx1MDAzZVxuXG5cdFx0XHUwMDNjIS0tIE1ldGEgLS1cdTAwM2Vcblx0XHRcdTAwM2N0aXRsZVx1MDAzZXtUaXRsZX1cdTAwM2MvdGl0bGVcdTAwM2Vcblx0XHRcdTAwM2NtZXRhIGNoYXJzZXQ9XCJ1dGYtOFwiIC9cdTAwM2Vcblx0XHRcdTAwM2NtZXRhIG5hbWU9XCJkZXNjcmlwdGlvblwiIGNvbnRlbnQ9e0Rlc2NyaXB0aW9ufSAvXHUwMDNlXG5cdFx0XHUwMDNjbWV0YSBuYW1lPVwidmlld3BvcnRcIiBjb250ZW50PVwid2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEuMFwiIC9cdTAwM2Vcblx0XHRcdTAwM2MhLS0gVE9ETyBEZWZpbmUgeW91ciBjb2xvciB0aGVtZSBpbiBoZXggaGVyZSAtLVx1MDAzZVxuXHRcdFx1MDAzY21ldGEgbmFtZT1cInRoZW1lLWNvbG9yXCIgY29udGVudD1cIlwiIC9cdTAwM2Vcblx0XHRcdTAwM2NtZXRhIG5hbWU9XCJmb3JtYXQtZGV0ZWN0aW9uXCIgY29udGVudD1cInRlbGVwaG9uZT1ub1wiIC9cdTAwM2Vcblx0XHRcdTAwM2NtZXRhIG5hbWU9XCJ0d2l0dGVyOmRudFwiIGNvbnRlbnQ9XCJvblwiIC9cdTAwM2VcblxuXHRcdFx1MDAzYyEtLSBMaW5rcyAtLVx1MDAzZVxuXHRcdFx1MDAzY2xpbmtcblx0XHRcdHJlbD1cInByZWNvbm5lY3RcIlxuXHRcdFx0aHJlZj1cImh0dHBzOi8vZm9udHMuZ29vZ2xlYXBpcy5jb21cIlxuXHRcdFx0Y3Jvc3NvcmlnaW5cblx0XHQvXHUwMDNlXG5cdFx0XHUwMDNjbGluayByZWw9XCJwcmVjb25uZWN0XCIgaHJlZj1cImh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb21cIiBjcm9zc29yaWdpbiAvXHUwMDNlXG5cdFx0XHUwMDNjbGlua1xuXHRcdFx0cmVsPVwibWFuaWZlc3RcIlxuXHRcdFx0aHJlZj1cIi9zaXRlLndlYm1hbmlmZXN0XCJcblx0XHRcdGNyb3Nzb3JpZ2luPVwidXNlLWNyZWRlbnRpYWxzXCJcblx0XHQvXHUwMDNlXG5cblx0XHRcdTAwM2NzdHlsZSBpczpnbG9iYWxcdTAwM2Vcblx0XHRcdEBpbXBvcnQgXCJAU3R5bGVzaGVldC9HbG9iYWwuY3NzXCI7XG5cdFx0XHUwMDNjL3N0eWxlXHUwMDNlXG5cblx0XHRcdTAwM2NzbG90IG5hbWU9XCJzdHlsZXNcIiAvXHUwMDNlXG5cblx0XHRcdTAwM2NzY3JpcHRcdTAwM2Vcblx0XHRcdGltcG9ydCBcIkBTY3JpcHQvU1dVUFwiO1xuXHRcdFx1MDAzYy9zY3JpcHRcdTAwM2VcblxuXHRcdFx1MDAzY3Nsb3QgbmFtZT1cInNjcmlwdHNcIiAvXHUwMDNlXG5cblx0XHRcdTAwM2MhLS0gRmF2aWNvbiAtLVx1MDAzZVxuXHRcdFx1MDAzY1ZpZXdUcmFuc2l0aW9ucyAvXHUwMDNlXG5cdFx1MDAzYy9IZWFkXHUwMDNlXG5cdFx1MDAzY2JvZHlcdTAwM2Vcblx0XHRcdTAwM2NkaXYgY2xhc3M9XCJncm93XCJcdTAwM2Vcblx0XHRcdFx1MDAzY3Nsb3QgL1x1MDAzZVxuXHRcdFx1MDAzYy9kaXZcdTAwM2Vcblx0XHRcdTAwM2NzY3JpcHRcdTAwM2Vcblx0XHRcdGltcG9ydCBcIkBTY3JpcHQvRmlyZWJhc2VcIjtcblx0XHRcdTAwM2Mvc2NyaXB0XHUwMDNlXG5cdFx1MDAzYy9ib2R5XHUwMDNlXG5cdTAwM2MvaHRtbFx1MDAzZSJdLCAibWFwcGluZ3MiOiAiQUFtQkEsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDckQsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDL0M7QUFBQTsiLCAibmFtZXMiOiBbXSB9"],"names":[],"mappings":"AAmBG,SAAS,gBAAgB,UAAU,OAAO,OAAO,EACjD,SAAS,gBAAgB,UAAU,IAAI,IAAI"} \ No newline at end of file diff --git a/Target/_astro/Swup.modern.UA9jlYbO.js b/Target/_astro/Swup.modern.UA9jlYbO.js deleted file mode 100644 index a9653ca7..00000000 --- a/Target/_astro/Swup.modern.UA9jlYbO.js +++ /dev/null @@ -1 +0,0 @@ -const A=new WeakMap;function x(t,e,i,s){if(!t&&!A.has(e))return!1;const n=A.get(e)??new WeakMap;A.set(e,n);const o=n.get(i)??new Set;n.set(i,o);const a=o.has(s);return t?o.add(s):o.delete(s),a&&t}function N(t,e){let i=t.target;if(i instanceof Text&&(i=i.parentElement),i instanceof Element&&t.currentTarget instanceof Element){const s=i.closest(e);if(s&&t.currentTarget.contains(s))return s}}function D(t,e,i,s={}){const{signal:n,base:o=document}=s;if(n?.aborted)return;const{once:a,...r}=s,l=o instanceof Document?o.documentElement:o,c=!!("object"==typeof s?s.capture:s),h=s=>{const n=N(s,String(t));if(n){const t=Object.assign(s,{delegateTarget:n});i.call(l,t),a&&(l.removeEventListener(e,h,r),x(!1,l,i,u))}},u=JSON.stringify({selector:t,type:e,capture:c});x(!0,l,i,u)||l.addEventListener(e,h,r),n?.addEventListener("abort",(()=>{x(!1,l,i,u)}))}function p(){return p=Object.assign?Object.assign.bind():function(t){for(var e=1;eString(t).toLowerCase().replace(/[\s/_.]+/g,"-").replace(/[^\w-]+/g,"").replace(/--+/g,"-").replace(/^-+|-+$/g,"")||e||"",b=({hash:t}={})=>window.location.pathname+window.location.search+(t?window.location.hash:""),W=(t,e={})=>{const i=p({url:t=t||b({hash:!0}),random:Math.random(),source:"swup"},e);window.history.pushState(i,"",t)},k=(t=null,e={})=>{t=t||b({hash:!0});const i=p({},window.history.state||{},{url:t,random:Math.random(),source:"swup"},e);window.history.replaceState(i,"",t)},j=(t,e,i,s)=>{const n=new AbortController;return D(t,e,i,s=p({},s,{signal:n.signal})),{destroy:()=>n.abort()}};let w=class t extends URL{constructor(e,i=document.baseURI){super(e.toString(),i),Object.setPrototypeOf(this,t.prototype)}get url(){return this.pathname+this.search}static fromElement(e){const i=e.getAttribute("href")||e.getAttribute("xlink:href")||"";return new t(i)}static fromUrl(e){return new t(e)}};class E extends Error{constructor(t,e){super(t),this.url=void 0,this.status=void 0,this.aborted=void 0,this.timedOut=void 0,this.name="FetchError",this.url=e.url,this.status=e.status,this.aborted=e.aborted||!1,this.timedOut=e.timedOut||!1}}async function B(t,e={}){var i;t=w.fromUrl(t).url;const{visit:s=this.visit}=e,n=p({},this.options.requestHeaders,e.headers),o=null!=(i=e.timeout)?i:this.options.timeout,a=new AbortController,{signal:r}=a;e=p({},e,{headers:n,signal:r});let l,c=!1,h=null;o&&o>0&&(h=setTimeout((()=>{c=!0,a.abort("timeout")}),o));try{l=await this.hooks.call("fetch:request",s,{url:t,options:e},((t,{url:e,options:i})=>fetch(e,i))),h&&clearTimeout(h)}catch(e){throw c?(this.hooks.call("fetch:timeout",s,{url:t}),new E(`Request timed out: ${t}`,{url:t,timedOut:c})):"AbortError"===e?.name||r.aborted?new E(`Request aborted: ${t}`,{url:t,aborted:!0}):e}const{status:u,url:d}=l,m=await l.text();if(500===u)throw this.hooks.call("fetch:error",s,{status:u,response:l,url:d}),new E(`Server error: ${d}`,{status:u,url:d});if(!m)throw new E(`Empty response: ${d}`,{status:u,url:d});const{url:f}=w.fromUrl(d),g={url:f,html:m};return!s.cache.write||e.method&&"GET"!==e.method||t!==f||this.cache.set(g.url,g),g}class F{constructor(t){this.swup=void 0,this.pages=new Map,this.swup=t}get size(){return this.pages.size}get all(){const t=new Map;return this.pages.forEach(((e,i)=>{t.set(i,p({},e))})),t}has(t){return this.pages.has(this.resolve(t))}get(t){const e=this.pages.get(this.resolve(t));return e&&p({},e)}set(t,e){e=p({},e,{url:t=this.resolve(t)}),this.pages.set(t,e),this.swup.hooks.callSync("cache:set",void 0,{page:e})}update(t,e){t=this.resolve(t);const i=p({},this.get(t),e,{url:t});this.pages.set(t,i)}delete(t){this.pages.delete(this.resolve(t))}clear(){this.pages.clear(),this.swup.hooks.callSync("cache:clear",void 0,void 0)}prune(t){this.pages.forEach(((e,i)=>{t(i,e)&&this.delete(i)}))}resolve(t){const{url:e}=w.fromUrl(t);return this.swup.resolveUrl(e)}}const H=(t,e=document)=>e.querySelector(t),L=(t,e=document)=>Array.from(e.querySelectorAll(t)),R=()=>new Promise((t=>{requestAnimationFrame((()=>{requestAnimationFrame((()=>{t()}))}))}));function O(t){return!!t&&("object"==typeof t||"function"==typeof t)&&"function"==typeof t.then}function _(t,e=[]){return new Promise(((i,s)=>{const n=t(...e);O(n)?n.then(i,s):i(n)}))}function T(t,e){const i=t?.closest(`[${e}]`);return null!=i&&i.hasAttribute(e)?i?.getAttribute(e)||!0:void 0}class K{constructor(t){this.swup=void 0,this.swupClasses=["to-","is-changing","is-rendering","is-popstate","is-animating","is-leaving"],this.swup=t}get selectors(){const{scope:t}=this.swup.visit.animation;return"containers"===t?this.swup.visit.containers:"html"===t?["html"]:Array.isArray(t)?t:[]}get selector(){return this.selectors.join(",")}get targets(){return this.selector.trim()?L(this.selector):[]}add(...t){this.targets.forEach((e=>e.classList.add(...t)))}remove(...t){this.targets.forEach((e=>e.classList.remove(...t)))}clear(){this.targets.forEach((t=>{const e=t.className.split(" ").filter((t=>this.isSwupClass(t)));t.classList.remove(...e)}))}isSwupClass(t){return this.swupClasses.some((e=>t.startsWith(e)))}}class M{constructor(t,e){this.id=void 0,this.state=void 0,this.from=void 0,this.to=void 0,this.containers=void 0,this.animation=void 0,this.trigger=void 0,this.cache=void 0,this.history=void 0,this.scroll=void 0;const{to:i,from:s,hash:n,el:o,event:a}=e;this.id=Math.random(),this.state=1,this.from={url:s??t.location.url,hash:t.location.hash},this.to={url:i,hash:n},this.containers=t.options.containers,this.animation={animate:!0,wait:!1,name:void 0,native:t.options.native,scope:t.options.animationScope,selector:t.options.animationSelector},this.trigger={el:o,event:a},this.cache={read:t.options.cache,write:t.options.cache},this.history={action:"push",popstate:!1,direction:void 0},this.scroll={reset:!0,target:void 0}}advance(t){this.state=7}}function z(t){return new M(this,t)}class G{constructor(t){this.swup=void 0,this.registry=new Map,this.hooks=["animation:out:start","animation:out:await","animation:out:end","animation:in:start","animation:in:await","animation:in:end","animation:skip","cache:clear","cache:set","content:replace","content:scroll","enable","disable","fetch:request","fetch:error","fetch:timeout","history:popstate","link:click","link:self","link:anchor","link:newtab","page:load","page:view","scroll:top","scroll:anchor","visit:start","visit:transition","visit:abort","visit:end"],this.swup=t,this.init()}init(){this.hooks.forEach((t=>this.create(t)))}create(t){this.registry.has(t)||this.registry.set(t,new Map)}exists(t){return this.registry.has(t)}get(t){const e=this.registry.get(t);if(e)return e;console.error(`Unknown hook '${t}'`)}clear(){this.registry.forEach((t=>t.clear()))}on(t,e,i={}){const s=this.get(t);if(!s)return console.warn(`Hook '${t}' not found.`),()=>{};const n=p({},i,{id:s.size+1,hook:t,handler:e});return s.set(e,n),()=>this.off(t,e)}before(t,e,i={}){return this.on(t,e,p({},i,{before:!0}))}replace(t,e,i={}){return this.on(t,e,p({},i,{replace:!0}))}once(t,e,i={}){return this.on(t,e,p({},i,{once:!0}))}off(t,e){const i=this.get(t);i&&e?i.delete(e)||console.warn(`Handler for hook '${t}' not found.`):i&&i.clear()}async call(t,e,i,s){const[n,o,a]=this.parseCallArgs(t,e,i,s),{before:r,handler:l,after:c}=this.getHandlers(t,a);await this.run(r,n,o);const[h]=await this.run(l,n,o,!0);return await this.run(c,n,o),this.dispatchDomEvent(t,n,o),h}callSync(t,e,i,s){const[n,o,a]=this.parseCallArgs(t,e,i,s),{before:r,handler:l,after:c}=this.getHandlers(t,a);this.runSync(r,n,o);const[h]=this.runSync(l,n,o,!0);return this.runSync(c,n,o),this.dispatchDomEvent(t,n,o),h}parseCallArgs(t,e,i,s){return e instanceof M||"object"!=typeof e&&"function"!=typeof i?[e,i,s]:[void 0,e,i]}async run(t,e=this.swup.visit,i,s=!1){const n=[];for(const{hook:o,handler:a,defaultHandler:r,once:l}of t)if(null==e||!e.done){l&&this.off(o,a);try{const t=await _(a,[e,i,r]);n.push(t)}catch(t){if(s)throw t;console.error(`Error in hook '${o}':`,t)}}return n}runSync(t,e=this.swup.visit,i,s=!1){const n=[];for(const{hook:o,handler:a,defaultHandler:r,once:l}of t)if(null==e||!e.done){l&&this.off(o,a);try{const t=a(e,i,r);n.push(t),O(t)&&console.warn(`Swup will not await Promises in handler for synchronous hook '${o}'.`)}catch(t){if(s)throw t;console.error(`Error in hook '${o}':`,t)}}return n}getHandlers(t,e){const i=this.get(t);if(!i)return{found:!1,before:[],handler:[],after:[],replaced:!1};const s=Array.from(i.values()),n=this.sortRegistrations,o=s.filter((({before:t,replace:e})=>t&&!e)).sort(n),a=s.filter((({replace:t})=>t)).filter((t=>!0)).sort(n),r=s.filter((({before:t,replace:e})=>!t&&!e)).sort(n),l=a.length>0;let c=[];if(e&&(c=[{id:0,hook:t,handler:e}],l)){const i=a.length-1,s=t=>{const i=a[t-1];return i?(e,n)=>i.handler(e,n,s(t-1)):e};c=[{id:0,hook:t,handler:a[i].handler,defaultHandler:s(i)}]}return{found:!0,before:o,handler:c,after:r,replaced:l}}sortRegistrations(t,e){var i,s;return(null!=(i=t.priority)?i:0)-(null!=(s=e.priority)?s:0)||t.id-e.id||0}dispatchDomEvent(t,e,i){if(null!=e&&e.done)return;const s={hook:t,args:i,visit:e||this.swup.visit};document.dispatchEvent(new CustomEvent("swup:any",{detail:s,bubbles:!0})),document.dispatchEvent(new CustomEvent(`swup:${t}`,{detail:s,bubbles:!0}))}}const J=t=>{if(t&&"#"===t.charAt(0)&&(t=t.substring(1)),!t)return null;const e=decodeURIComponent(t);let i=document.getElementById(t)||document.getElementById(e)||H(`a[name='${CSS.escape(t)}']`)||H(`a[name='${CSS.escape(e)}']`);return i||"top"!==t||(i=document.body),i},C="transition",$="animation";async function X({selector:t,elements:e}){if(!1===t&&!e)return;let i=[];if(e)i=Array.from(e);else if(t&&(i=L(t,document.body),!i.length))return void console.warn(`[swup] No elements found matching animationSelector \`${t}\``);const s=i.map((t=>function(t){const{type:e,timeout:i,propCount:s}=function(t){const e=window.getComputedStyle(t),i=U(e,`${C}Delay`),s=U(e,`${C}Duration`),n=q(i,s),o=U(e,`${$}Delay`),a=U(e,`${$}Duration`),r=q(o,a),l=Math.max(n,r),c=l>0?n>r?C:$:null;return{type:c,timeout:l,propCount:c?c===C?s.length:a.length:0}}(t);return!(!e||!i)&&new Promise((n=>{const o=`${e}end`,a=performance.now();let r=0;const l=()=>{t.removeEventListener(o,c),n()},c=e=>{e.target===t&&((performance.now()-a)/1e3=s&&l())};setTimeout((()=>{r0?await Promise.all(s):t&&console.warn(`[swup] No CSS animation duration defined on elements matching \`${t}\``)}function U(t,e){return(t[e]||"").split(", ")}function q(t,e){for(;t.lengthV(e)+V(t[i]))))}function V(t){return 1e3*parseFloat(t)}function Q(t,e={},i={}){if("string"!=typeof t)throw new Error("swup.navigate() requires a URL parameter");if(this.shouldIgnoreVisit(t,{el:i.el,event:i.event}))return void window.location.assign(t);const{url:s,hash:n}=w.fromUrl(t),o=this.createVisit(p({},i,{to:s,hash:n}));this.performNavigation(o,e)}async function Y(t,e={}){if(this.navigating){if(this.visit.state>=6)return t.state=2,void(this.onVisitEnd=()=>this.performNavigation(t,e));await this.hooks.call("visit:abort",this.visit,void 0),delete this.visit.to.document,this.visit.state=8}this.navigating=!0,this.visit=t;const{el:i}=t.trigger;e.referrer=e.referrer||this.location.url,!1===e.animate&&(t.animation.animate=!1),t.animation.animate||this.classes.clear();const s=e.history||T(i,"data-swup-history");"string"==typeof s&&["push","replace"].includes(s)&&(t.history.action=s);const n=e.animation||T(i,"data-swup-animation");var o,a;"string"==typeof n&&(t.animation.name=n),"object"==typeof e.cache?(t.cache.read=null!=(o=e.cache.read)?o:t.cache.read,t.cache.write=null!=(a=e.cache.write)?a:t.cache.write):void 0!==e.cache&&(t.cache={read:!!e.cache,write:!!e.cache}),delete e.cache;try{await this.hooks.call("visit:start",t,void 0),t.state=3;const i=this.hooks.call("page:load",t,{options:e},(async(t,e)=>{let i;return t.cache.read&&(i=this.cache.get(t.to.url)),e.page=i||await this.fetchPage(t.to.url,e.options),e.cache=!!i,e.page}));i.then((({html:e})=>{t.advance(5),t.to.html=e,t.to.document=(new DOMParser).parseFromString(e,"text/html")}));const s=t.to.url+t.to.hash;if(t.history.popstate||("replace"===t.history.action||t.to.url===this.location.url?k(s):(this.currentHistoryIndex++,W(s,{index:this.currentHistoryIndex}))),this.location=w.fromUrl(s),t.history.popstate&&this.classes.add("is-popstate"),t.animation.name&&this.classes.add(`to-${I(t.animation.name)}`),t.animation.wait&&await i,t.done||(await this.hooks.call("visit:transition",t,void 0,(async()=>{if(!t.animation.animate)return await this.hooks.call("animation:skip",void 0),void await this.renderPage(t,await i);t.advance(4),await this.animatePageOut(t),t.animation.native&&document.startViewTransition?await document.startViewTransition((async()=>await this.renderPage(t,await i))).finished:await this.renderPage(t,await i),await this.animatePageIn(t)})),t.done))return;await this.hooks.call("visit:end",t,void 0,(()=>this.classes.clear())),t.state=7,this.navigating=!1,this.onVisitEnd&&(this.onVisitEnd(),this.onVisitEnd=void 0)}catch(e){if(!e||null!=e&&e.aborted)return void(t.state=8);t.state=9,console.error(e),this.options.skipPopStateHandling=()=>(window.location.assign(t.to.url+t.to.hash),!0),window.history.back()}finally{delete t.to.document}}const Z=async function(t){await this.hooks.call("animation:out:start",t,void 0,(()=>{this.classes.add("is-changing","is-animating","is-leaving")})),await this.hooks.call("animation:out:await",t,{skip:!1},((t,{skip:e})=>{if(!e)return this.awaitAnimations({selector:t.animation.selector})})),await this.hooks.call("animation:out:end",t,void 0)},tt=function(t){var e;const i=t.to.document;if(!i)return!1;const s=(null==(e=i.querySelector("title"))?void 0:e.innerText)||"";document.title=s;const n=L('[data-swup-persist]:not([data-swup-persist=""])'),o=t.containers.map((t=>{const e=document.querySelector(t),s=i.querySelector(t);return e&&s?(e.replaceWith(s.cloneNode(!0)),!0):(e||console.warn(`[swup] Container missing in current document: ${t}`),s||console.warn(`[swup] Container missing in incoming document: ${t}`),!1)})).filter(Boolean);return n.forEach((t=>{const e=t.getAttribute("data-swup-persist"),i=H(`[data-swup-persist="${e}"]`);i&&i!==t&&i.replaceWith(t)})),o.length===t.containers.length},et=function(t){const e={behavior:"auto"},{target:i,reset:s}=t.scroll,n=i??t.to.hash;let o=!1;return n&&(o=this.hooks.callSync("scroll:anchor",t,{hash:n,options:e},((t,{hash:e,options:i})=>{const s=this.getAnchorElement(e);return s&&s.scrollIntoView(i),!!s}))),s&&!o&&(o=this.hooks.callSync("scroll:top",t,{options:e},((t,{options:e})=>(window.scrollTo(p({top:0,left:0},e)),!0)))),o},it=async function(t){if(t.done)return;const e=this.hooks.call("animation:in:await",t,{skip:!1},((t,{skip:e})=>{if(!e)return this.awaitAnimations({selector:t.animation.selector})}));await R(),await this.hooks.call("animation:in:start",t,void 0,(()=>{this.classes.remove("is-animating")})),await e,await this.hooks.call("animation:in:end",t,void 0)},st=async function(t,e){if(t.done)return;t.advance(6);const{url:i}=e;this.isSameResolvedUrl(b(),i)||(k(i),this.location=w.fromUrl(i),t.to.url=this.location.url,t.to.hash=this.location.hash),await this.hooks.call("content:replace",t,{page:e},((t,{})=>{if(this.classes.remove("is-leaving"),t.animation.animate&&this.classes.add("is-rendering"),!this.replaceContent(t))throw new Error("[swup] Container mismatch, aborting");t.animation.animate&&(this.classes.add("is-changing","is-animating","is-rendering"),t.animation.name&&this.classes.add(`to-${I(t.animation.name)}`))})),await this.hooks.call("content:scroll",t,void 0,(()=>this.scrollToContent(t))),await this.hooks.call("page:view",t,{url:this.location.url,title:document.title})},nt=function(t){var e;if(e=t,e?.isSwupPlugin){if(t.swup=this,!t._checkRequirements||t._checkRequirements())return t._beforeMount&&t._beforeMount(),t.mount(),this.plugins.push(t),this.plugins}else console.error("Not a swup plugin instance",t)};function ot(t){const e=this.findPlugin(t);if(e)return e.unmount(),e._afterUnmount&&e._afterUnmount(),this.plugins=this.plugins.filter((t=>t!==e)),this.plugins;console.error("No such plugin",e)}function at(t){return this.plugins.find((e=>e===t||e.name===t||e.name===`Swup${String(t)}`))}function rt(t){if("function"!=typeof this.options.resolveUrl)return console.warn("[swup] options.resolveUrl expects a callback function."),t;const e=this.options.resolveUrl(t);return e&&"string"==typeof e?e.startsWith("//")||e.startsWith("http")?(console.warn("[swup] options.resolveUrl needs to return a relative url"),t):e:(console.warn("[swup] options.resolveUrl needs to return a url"),t)}function lt(t,e){return this.resolveUrl(t)===this.resolveUrl(e)}const ct={animateHistoryBrowsing:!1,animationSelector:'[class*="transition-"]',animationScope:"html",cache:!0,containers:["#swup"],ignoreVisit:(t,{el:e}={})=>!(null==e||!e.closest("[data-no-swup]")),linkSelector:"a[href]",linkToSelf:"scroll",native:!1,plugins:[],resolveUrl:t=>t,requestHeaders:{"X-Requested-With":"swup",Accept:"text/html, application/xhtml+xml"},skipPopStateHandling:t=>{var e;return"swup"!==(null==(e=t.state)?void 0:e.source)},timeout:0};class ht{get currentPageUrl(){return this.location.url}constructor(t={}){var e,i;this.version="4.7.0",this.options=void 0,this.defaults=ct,this.plugins=[],this.visit=void 0,this.cache=void 0,this.hooks=void 0,this.classes=void 0,this.location=w.fromUrl(window.location.href),this.currentHistoryIndex=void 0,this.clickDelegate=void 0,this.navigating=!1,this.onVisitEnd=void 0,this.use=nt,this.unuse=ot,this.findPlugin=at,this.log=()=>{},this.navigate=Q,this.performNavigation=Y,this.createVisit=z,this.delegateEvent=j,this.fetchPage=B,this.awaitAnimations=X,this.renderPage=st,this.replaceContent=tt,this.animatePageIn=it,this.animatePageOut=Z,this.scrollToContent=et,this.getAnchorElement=J,this.getCurrentUrl=b,this.resolveUrl=rt,this.isSameResolvedUrl=lt,this.options=p({},this.defaults,t),this.handleLinkClick=this.handleLinkClick.bind(this),this.handlePopState=this.handlePopState.bind(this),this.cache=new F(this),this.classes=new K(this),this.hooks=new G(this),this.visit=this.createVisit({to:""}),this.currentHistoryIndex=null!=(e=null==(i=window.history.state)?void 0:i.index)?e:1,this.enable()}async enable(){var t;const{linkSelector:e}=this.options;this.clickDelegate=this.delegateEvent(e,"click",this.handleLinkClick),window.addEventListener("popstate",this.handlePopState),this.options.animateHistoryBrowsing&&(window.history.scrollRestoration="manual"),this.options.native=this.options.native&&!!document.startViewTransition,this.options.plugins.forEach((t=>this.use(t))),"swup"!==(null==(t=window.history.state)?void 0:t.source)&&k(null,{index:this.currentHistoryIndex}),await R(),await this.hooks.call("enable",void 0,void 0,(()=>{const t=document.documentElement;t.classList.add("swup-enabled"),t.classList.toggle("swup-native",this.options.native)}))}async destroy(){this.clickDelegate.destroy(),window.removeEventListener("popstate",this.handlePopState),this.cache.clear(),this.options.plugins.forEach((t=>this.unuse(t))),await this.hooks.call("disable",void 0,void 0,(()=>{const t=document.documentElement;t.classList.remove("swup-enabled"),t.classList.remove("swup-native")})),this.hooks.clear()}shouldIgnoreVisit(t,{el:e,event:i}={}){const{origin:s,url:n,hash:o}=w.fromUrl(t);return s!==window.location.origin||!(!e||!this.triggerWillOpenNewWindow(e))||!!this.options.ignoreVisit(n+o,{el:e,event:i})}handleLinkClick(t){const e=t.delegateTarget,{href:i,url:s,hash:n}=w.fromElement(e);if(this.shouldIgnoreVisit(i,{el:e,event:t}))return;if(this.navigating&&s===this.visit.to.url)return void t.preventDefault();const o=this.createVisit({to:s,hash:n,el:e,event:t});t.metaKey||t.ctrlKey||t.shiftKey||t.altKey?this.hooks.callSync("link:newtab",o,{href:i}):0===t.button&&this.hooks.callSync("link:click",o,{el:e,event:t},(()=>{var e;const i=null!=(e=o.from.url)?e:"";t.preventDefault(),s&&s!==i?this.isSameResolvedUrl(s,i)||this.performNavigation(o):n?this.hooks.callSync("link:anchor",o,{hash:n},(()=>{k(s+n),this.scrollToContent(o)})):this.hooks.callSync("link:self",o,void 0,(()=>{"navigate"===this.options.linkToSelf?this.performNavigation(o):(k(s),this.scrollToContent(o))}))}))}handlePopState(t){var e,i,s,n;const o=null!=(e=null==(i=t.state)?void 0:i.url)?e:window.location.href;if(this.options.skipPopStateHandling(t)||this.isSameResolvedUrl(b(),this.location.url))return;const{url:a,hash:r}=w.fromUrl(o),l=this.createVisit({to:a,hash:r,event:t});l.history.popstate=!0;const c=null!=(s=null==(n=t.state)?void 0:n.index)?s:0;c&&c!==this.currentHistoryIndex&&(l.history.direction=c-this.currentHistoryIndex>0?"forwards":"backwards",this.currentHistoryIndex=c),l.animation.animate=!1,l.scroll.reset=!1,l.scroll.target=!1,this.options.animateHistoryBrowsing&&(l.animation.animate=!0,l.scroll.reset=!0),this.hooks.callSync("history:popstate",l,{event:t},(()=>{this.performNavigation(l)}))}triggerWillOpenNewWindow(t){return!!t.matches('[download], [target="_blank"]')}}export{w as Location,I as classify,W as createHistoryRecord,ht as default,j as delegateEvent,T as getContextualAttr,b as getCurrentUrl,O as isPromise,R as nextTick,H as query,L as queryAll,_ as runAsPromise,k as updateHistoryRecord}; \ No newline at end of file diff --git a/Target/_astro/Swup.modern.UA9jlYbO.js.map b/Target/_astro/Swup.modern.UA9jlYbO.js.map deleted file mode 100644 index 6b581658..00000000 --- a/Target/_astro/Swup.modern.UA9jlYbO.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"Swup.modern.UA9jlYbO.js","sources":["../../../../../../node_modules/delegate-it/delegate.js","../../../../../../node_modules/swup/dist/Swup.modern.js"],"sourcesContent":["/** Keeps track of raw listeners added to the base elements to avoid duplication */\nconst ledger = new WeakMap();\nfunction editLedger(wanted, baseElement, callback, setup) {\n if (!wanted && !ledger.has(baseElement)) {\n return false;\n }\n const elementMap = ledger.get(baseElement)\n ?? new WeakMap();\n ledger.set(baseElement, elementMap);\n const setups = elementMap.get(callback) ?? new Set();\n elementMap.set(callback, setups);\n const existed = setups.has(setup);\n if (wanted) {\n setups.add(setup);\n }\n else {\n setups.delete(setup);\n }\n return existed && wanted;\n}\nfunction safeClosest(event, selector) {\n let target = event.target;\n if (target instanceof Text) {\n target = target.parentElement;\n }\n if (target instanceof Element && event.currentTarget instanceof Element) {\n // `.closest()` may match ancestors of `currentTarget` but we only need its children\n const closest = target.closest(selector);\n if (closest && event.currentTarget.contains(closest)) {\n return closest;\n }\n }\n}\n// This type isn't exported as a declaration, so it needs to be duplicated above\nfunction delegate(selector, type, callback, options = {}) {\n const { signal, base = document } = options;\n if (signal?.aborted) {\n return;\n }\n // Don't pass `once` to `addEventListener` because it needs to be handled in `delegate-it`\n const { once, ...nativeListenerOptions } = options;\n // `document` should never be the base, it's just an easy way to define \"global event listeners\"\n const baseElement = base instanceof Document ? base.documentElement : base;\n // Handle the regular Element usage\n const capture = Boolean(typeof options === 'object' ? options.capture : options);\n const listenerFunction = (event) => {\n const delegateTarget = safeClosest(event, String(selector));\n if (delegateTarget) {\n const delegateEvent = Object.assign(event, { delegateTarget });\n callback.call(baseElement, delegateEvent);\n if (once) {\n baseElement.removeEventListener(type, listenerFunction, nativeListenerOptions);\n editLedger(false, baseElement, callback, setup);\n }\n }\n };\n const setup = JSON.stringify({ selector, type, capture });\n const isAlreadyListening = editLedger(true, baseElement, callback, setup);\n if (!isAlreadyListening) {\n baseElement.addEventListener(type, listenerFunction, nativeListenerOptions);\n }\n signal?.addEventListener('abort', () => {\n editLedger(false, baseElement, callback, setup);\n });\n}\nexport default delegate;\n","import t from\"delegate-it\";import{match as e}from\"path-to-regexp\";function i(){return i=Object.assign?Object.assign.bind():function(t){for(var e=1;eString(t).toLowerCase().replace(/[\\s/_.]+/g,\"-\").replace(/[^\\w-]+/g,\"\").replace(/--+/g,\"-\").replace(/^-+|-+$/g,\"\")||e||\"\",n=({hash:t}={})=>window.location.pathname+window.location.search+(t?window.location.hash:\"\"),o=(t,e={})=>{const s=i({url:t=t||n({hash:!0}),random:Math.random(),source:\"swup\"},e);window.history.pushState(s,\"\",t)},r=(t=null,e={})=>{t=t||n({hash:!0});const s=i({},window.history.state||{},{url:t,random:Math.random(),source:\"swup\"},e);window.history.replaceState(s,\"\",t)},a=(e,s,n,o)=>{const r=new AbortController;return o=i({},o,{signal:r.signal}),t(e,s,n,o),{destroy:()=>r.abort()}};class l extends URL{constructor(t,e=document.baseURI){super(t.toString(),e),Object.setPrototypeOf(this,l.prototype)}get url(){return this.pathname+this.search}static fromElement(t){const e=t.getAttribute(\"href\")||t.getAttribute(\"xlink:href\")||\"\";return new l(e)}static fromUrl(t){return new l(t)}}const h=(t,i)=>{try{return e(t,i)}catch(e){throw new Error(`[swup] Error parsing path \"${String(t)}\":\\n${String(e)}`)}};class c extends Error{constructor(t,e){super(t),this.url=void 0,this.status=void 0,this.aborted=void 0,this.timedOut=void 0,this.name=\"FetchError\",this.url=e.url,this.status=e.status,this.aborted=e.aborted||!1,this.timedOut=e.timedOut||!1}}async function u(t,e={}){var s;t=l.fromUrl(t).url;const{visit:n=this.visit}=e,o=i({},this.options.requestHeaders,e.headers),r=null!=(s=e.timeout)?s:this.options.timeout,a=new AbortController,{signal:h}=a;e=i({},e,{headers:o,signal:h});let u,d=!1,p=null;r&&r>0&&(p=setTimeout(()=>{d=!0,a.abort(\"timeout\")},r));try{u=await this.hooks.call(\"fetch:request\",n,{url:t,options:e},(t,{url:e,options:i})=>fetch(e,i)),p&&clearTimeout(p)}catch(e){if(d)throw this.hooks.call(\"fetch:timeout\",n,{url:t}),new c(`Request timed out: ${t}`,{url:t,timedOut:d});if(\"AbortError\"===(null==e?void 0:e.name)||h.aborted)throw new c(`Request aborted: ${t}`,{url:t,aborted:!0});throw e}const{status:m,url:w}=u,g=await u.text();if(500===m)throw this.hooks.call(\"fetch:error\",n,{status:m,response:u,url:w}),new c(`Server error: ${w}`,{status:m,url:w});if(!g)throw new c(`Empty response: ${w}`,{status:m,url:w});const{url:f}=l.fromUrl(w),v={url:f,html:g};return!n.cache.write||e.method&&\"GET\"!==e.method||t!==f||this.cache.set(v.url,v),v}class d{constructor(t){this.swup=void 0,this.pages=new Map,this.swup=t}get size(){return this.pages.size}get all(){const t=new Map;return this.pages.forEach((e,s)=>{t.set(s,i({},e))}),t}has(t){return this.pages.has(this.resolve(t))}get(t){const e=this.pages.get(this.resolve(t));return e?i({},e):e}set(t,e){e=i({},e,{url:t=this.resolve(t)}),this.pages.set(t,e),this.swup.hooks.callSync(\"cache:set\",void 0,{page:e})}update(t,e){t=this.resolve(t);const s=i({},this.get(t),e,{url:t});this.pages.set(t,s)}delete(t){this.pages.delete(this.resolve(t))}clear(){this.pages.clear(),this.swup.hooks.callSync(\"cache:clear\",void 0,void 0)}prune(t){this.pages.forEach((e,i)=>{t(i,e)&&this.delete(i)})}resolve(t){const{url:e}=l.fromUrl(t);return this.swup.resolveUrl(e)}}const p=(t,e=document)=>e.querySelector(t),m=(t,e=document)=>Array.from(e.querySelectorAll(t)),w=()=>new Promise(t=>{requestAnimationFrame(()=>{requestAnimationFrame(()=>{t()})})});function g(t){return!!t&&(\"object\"==typeof t||\"function\"==typeof t)&&\"function\"==typeof t.then}function f(t,e=[]){return new Promise((i,s)=>{const n=t(...e);g(n)?n.then(i,s):i(n)})}function v(t){var e;null==(e=t=t||document.body)||e.getBoundingClientRect()}function y(t,e){const i=null==t?void 0:t.closest(`[${e}]`);return null!=i&&i.hasAttribute(e)?(null==i?void 0:i.getAttribute(e))||!0:void 0}class k{constructor(t){this.swup=void 0,this.swupClasses=[\"to-\",\"is-changing\",\"is-rendering\",\"is-popstate\",\"is-animating\",\"is-leaving\"],this.swup=t}get selectors(){const{scope:t}=this.swup.visit.animation;return\"containers\"===t?this.swup.visit.containers:\"html\"===t?[\"html\"]:Array.isArray(t)?t:[]}get selector(){return this.selectors.join(\",\")}get targets(){return this.selector.trim()?m(this.selector):[]}add(...t){this.targets.forEach(e=>e.classList.add(...t))}remove(...t){this.targets.forEach(e=>e.classList.remove(...t))}clear(){this.targets.forEach(t=>{const e=t.className.split(\" \").filter(t=>this.isSwupClass(t));t.classList.remove(...e)})}isSwupClass(t){return this.swupClasses.some(e=>t.startsWith(e))}}class b{constructor(t,e){this.id=void 0,this.state=void 0,this.from=void 0,this.to=void 0,this.containers=void 0,this.animation=void 0,this.trigger=void 0,this.cache=void 0,this.history=void 0,this.scroll=void 0;const{to:i,from:s,hash:n,el:o,event:r}=e;this.id=Math.random(),this.state=1,this.from={url:null!=s?s:t.location.url,hash:t.location.hash},this.to={url:i,hash:n},this.containers=t.options.containers,this.animation={animate:!0,wait:!1,name:void 0,native:t.options.native,scope:t.options.animationScope,selector:t.options.animationSelector},this.trigger={el:o,event:r},this.cache={read:t.options.cache,write:t.options.cache},this.history={action:\"push\",popstate:!1,direction:void 0},this.scroll={reset:!0,target:void 0}}advance(t){this.state=7}}function S(t){return new b(this,t)}class E{constructor(t){this.swup=void 0,this.registry=new Map,this.hooks=[\"animation:out:start\",\"animation:out:await\",\"animation:out:end\",\"animation:in:start\",\"animation:in:await\",\"animation:in:end\",\"animation:skip\",\"cache:clear\",\"cache:set\",\"content:replace\",\"content:scroll\",\"enable\",\"disable\",\"fetch:request\",\"fetch:error\",\"fetch:timeout\",\"history:popstate\",\"link:click\",\"link:self\",\"link:anchor\",\"link:newtab\",\"page:load\",\"page:view\",\"scroll:top\",\"scroll:anchor\",\"visit:start\",\"visit:transition\",\"visit:abort\",\"visit:end\"],this.swup=t,this.init()}init(){this.hooks.forEach(t=>this.create(t))}create(t){this.registry.has(t)||this.registry.set(t,new Map)}exists(t){return this.registry.has(t)}get(t){const e=this.registry.get(t);if(e)return e;console.error(`Unknown hook '${t}'`)}clear(){this.registry.forEach(t=>t.clear())}on(t,e,s={}){const n=this.get(t);if(!n)return console.warn(`Hook '${t}' not found.`),()=>{};const o=i({},s,{id:n.size+1,hook:t,handler:e});return n.set(e,o),()=>this.off(t,e)}before(t,e,s={}){return this.on(t,e,i({},s,{before:!0}))}replace(t,e,s={}){return this.on(t,e,i({},s,{replace:!0}))}once(t,e,s={}){return this.on(t,e,i({},s,{once:!0}))}off(t,e){const i=this.get(t);i&&e?i.delete(e)||console.warn(`Handler for hook '${t}' not found.`):i&&i.clear()}async call(t,e,i,s){const[n,o,r]=this.parseCallArgs(t,e,i,s),{before:a,handler:l,after:h}=this.getHandlers(t,r);await this.run(a,n,o);const[c]=await this.run(l,n,o,!0);return await this.run(h,n,o),this.dispatchDomEvent(t,n,o),c}callSync(t,e,i,s){const[n,o,r]=this.parseCallArgs(t,e,i,s),{before:a,handler:l,after:h}=this.getHandlers(t,r);this.runSync(a,n,o);const[c]=this.runSync(l,n,o,!0);return this.runSync(h,n,o),this.dispatchDomEvent(t,n,o),c}parseCallArgs(t,e,i,s){return e instanceof b||\"object\"!=typeof e&&\"function\"!=typeof i?[e,i,s]:[void 0,e,i]}async run(t,e=this.swup.visit,i,s=!1){const n=[];for(const{hook:o,handler:r,defaultHandler:a,once:l}of t)if(null==e||!e.done){l&&this.off(o,r);try{const t=await f(r,[e,i,a]);n.push(t)}catch(t){if(s)throw t;console.error(`Error in hook '${o}':`,t)}}return n}runSync(t,e=this.swup.visit,i,s=!1){const n=[];for(const{hook:o,handler:r,defaultHandler:a,once:l}of t)if(null==e||!e.done){l&&this.off(o,r);try{const t=r(e,i,a);n.push(t),g(t)&&console.warn(`Swup will not await Promises in handler for synchronous hook '${o}'.`)}catch(t){if(s)throw t;console.error(`Error in hook '${o}':`,t)}}return n}getHandlers(t,e){const i=this.get(t);if(!i)return{found:!1,before:[],handler:[],after:[],replaced:!1};const s=Array.from(i.values()),n=this.sortRegistrations,o=s.filter(({before:t,replace:e})=>t&&!e).sort(n),r=s.filter(({replace:t})=>t).filter(t=>!0).sort(n),a=s.filter(({before:t,replace:e})=>!t&&!e).sort(n),l=r.length>0;let h=[];if(e&&(h=[{id:0,hook:t,handler:e}],l)){const i=r.length-1,s=t=>{const i=r[t-1];return i?(e,n)=>i.handler(e,n,s(t-1)):e};h=[{id:0,hook:t,handler:r[i].handler,defaultHandler:s(i)}]}return{found:!0,before:o,handler:h,after:a,replaced:l}}sortRegistrations(t,e){var i,s;return(null!=(i=t.priority)?i:0)-(null!=(s=e.priority)?s:0)||t.id-e.id||0}dispatchDomEvent(t,e,i){if(null!=e&&e.done)return;const s={hook:t,args:i,visit:e||this.swup.visit};document.dispatchEvent(new CustomEvent(\"swup:any\",{detail:s,bubbles:!0})),document.dispatchEvent(new CustomEvent(`swup:${t}`,{detail:s,bubbles:!0}))}}const C=t=>{if(t&&\"#\"===t.charAt(0)&&(t=t.substring(1)),!t)return null;const e=decodeURIComponent(t);let i=document.getElementById(t)||document.getElementById(e)||p(`a[name='${CSS.escape(t)}']`)||p(`a[name='${CSS.escape(e)}']`);return i||\"top\"!==t||(i=document.body),i},U=\"transition\",P=\"animation\";async function $({selector:t,elements:e}){if(!1===t&&!e)return;let i=[];if(e)i=Array.from(e);else if(t&&(i=m(t,document.body),!i.length))return void console.warn(`[swup] No elements found matching animationSelector \\`${t}\\``);const s=i.map(t=>function(t){const{type:e,timeout:i,propCount:s}=function(t){const e=window.getComputedStyle(t),i=x(e,`${U}Delay`),s=x(e,`${U}Duration`),n=A(i,s),o=x(e,`${P}Delay`),r=x(e,`${P}Duration`),a=A(o,r),l=Math.max(n,a),h=l>0?n>a?U:P:null;return{type:h,timeout:l,propCount:h?h===U?s.length:r.length:0}}(t);return!(!e||!i)&&new Promise(n=>{const o=`${e}end`,r=performance.now();let a=0;const l=()=>{t.removeEventListener(o,h),n()},h=e=>{e.target===t&&((performance.now()-r)/1e3=s&&l())};setTimeout(()=>{a0?await Promise.all(s):t&&console.warn(`[swup] No CSS animation duration defined on elements matching \\`${t}\\``)}function x(t,e){return(t[e]||\"\").split(\", \")}function A(t,e){for(;t.lengthH(e)+H(t[i])))}function H(t){return 1e3*parseFloat(t)}function V(t,e={},s={}){if(\"string\"!=typeof t)throw new Error(\"swup.navigate() requires a URL parameter\");if(this.shouldIgnoreVisit(t,{el:s.el,event:s.event}))return void window.location.assign(t);const{url:n,hash:o}=l.fromUrl(t),r=this.createVisit(i({},s,{to:n,hash:o}));this.performNavigation(r,e)}async function I(t,e={}){if(this.navigating){if(this.visit.state>=6)return t.state=2,void(this.onVisitEnd=()=>this.performNavigation(t,e));await this.hooks.call(\"visit:abort\",this.visit,void 0),delete this.visit.to.document,this.visit.state=8}this.navigating=!0,this.visit=t;const{el:i}=t.trigger;e.referrer=e.referrer||this.location.url,!1===e.animate&&(t.animation.animate=!1),t.animation.animate||this.classes.clear();const n=e.history||y(i,\"data-swup-history\");\"string\"==typeof n&&[\"push\",\"replace\"].includes(n)&&(t.history.action=n);const a=e.animation||y(i,\"data-swup-animation\");var h,c;\"string\"==typeof a&&(t.animation.name=a),\"object\"==typeof e.cache?(t.cache.read=null!=(h=e.cache.read)?h:t.cache.read,t.cache.write=null!=(c=e.cache.write)?c:t.cache.write):void 0!==e.cache&&(t.cache={read:!!e.cache,write:!!e.cache}),delete e.cache;try{await this.hooks.call(\"visit:start\",t,void 0),t.state=3;const i=this.hooks.call(\"page:load\",t,{options:e},async(t,e)=>{let i;return t.cache.read&&(i=this.cache.get(t.to.url)),e.page=i||await this.fetchPage(t.to.url,e.options),e.cache=!!i,e.page});i.then(({html:e})=>{t.advance(5),t.to.html=e,t.to.document=(new DOMParser).parseFromString(e,\"text/html\")});const n=t.to.url+t.to.hash;if(t.history.popstate||(\"replace\"===t.history.action||t.to.url===this.location.url?r(n):(this.currentHistoryIndex++,o(n,{index:this.currentHistoryIndex}))),this.location=l.fromUrl(n),t.history.popstate&&this.classes.add(\"is-popstate\"),t.animation.name&&this.classes.add(`to-${s(t.animation.name)}`),t.animation.wait&&await i,t.done)return;if(await this.hooks.call(\"visit:transition\",t,void 0,async()=>{if(!t.animation.animate)return await this.hooks.call(\"animation:skip\",void 0),void await this.renderPage(t,await i);t.advance(4),await this.animatePageOut(t),t.animation.native&&document.startViewTransition?await document.startViewTransition(async()=>await this.renderPage(t,await i)).finished:await this.renderPage(t,await i),await this.animatePageIn(t)}),t.done)return;await this.hooks.call(\"visit:end\",t,void 0,()=>this.classes.clear()),t.state=7,this.navigating=!1,this.onVisitEnd&&(this.onVisitEnd(),this.onVisitEnd=void 0)}catch(e){if(!e||null!=e&&e.aborted)return void(t.state=8);t.state=9,console.error(e),this.options.skipPopStateHandling=()=>(window.location.assign(t.to.url+t.to.hash),!0),window.history.back()}finally{delete t.to.document}}const L=async function(t){await this.hooks.call(\"animation:out:start\",t,void 0,()=>{this.classes.add(\"is-changing\",\"is-animating\",\"is-leaving\")}),await this.hooks.call(\"animation:out:await\",t,{skip:!1},(t,{skip:e})=>{if(!e)return this.awaitAnimations({selector:t.animation.selector})}),await this.hooks.call(\"animation:out:end\",t,void 0)},q=function(t){var e;const i=t.to.document;if(!i)return!1;const s=(null==(e=i.querySelector(\"title\"))?void 0:e.innerText)||\"\";document.title=s;const n=m('[data-swup-persist]:not([data-swup-persist=\"\"])'),o=t.containers.map(t=>{const e=document.querySelector(t),s=i.querySelector(t);return e&&s?(e.replaceWith(s.cloneNode(!0)),!0):(e||console.warn(`[swup] Container missing in current document: ${t}`),s||console.warn(`[swup] Container missing in incoming document: ${t}`),!1)}).filter(Boolean);return n.forEach(t=>{const e=t.getAttribute(\"data-swup-persist\"),i=p(`[data-swup-persist=\"${e}\"]`);i&&i!==t&&i.replaceWith(t)}),o.length===t.containers.length},R=function(t){const e={behavior:\"auto\"},{target:s,reset:n}=t.scroll,o=null!=s?s:t.to.hash;let r=!1;return o&&(r=this.hooks.callSync(\"scroll:anchor\",t,{hash:o,options:e},(t,{hash:e,options:i})=>{const s=this.getAnchorElement(e);return s&&s.scrollIntoView(i),!!s})),n&&!r&&(r=this.hooks.callSync(\"scroll:top\",t,{options:e},(t,{options:e})=>(window.scrollTo(i({top:0,left:0},e)),!0))),r},T=async function(t){if(t.done)return;const e=this.hooks.call(\"animation:in:await\",t,{skip:!1},(t,{skip:e})=>{if(!e)return this.awaitAnimations({selector:t.animation.selector})});await w(),await this.hooks.call(\"animation:in:start\",t,void 0,()=>{this.classes.remove(\"is-animating\")}),await e,await this.hooks.call(\"animation:in:end\",t,void 0)},N=async function(t,e){if(t.done)return;t.advance(6);const{url:i}=e;this.isSameResolvedUrl(n(),i)||(r(i),this.location=l.fromUrl(i),t.to.url=this.location.url,t.to.hash=this.location.hash),await this.hooks.call(\"content:replace\",t,{page:e},(t,{})=>{if(this.classes.remove(\"is-leaving\"),t.animation.animate&&this.classes.add(\"is-rendering\"),!this.replaceContent(t))throw new Error(\"[swup] Container mismatch, aborting\");t.animation.animate&&(this.classes.add(\"is-changing\",\"is-animating\",\"is-rendering\"),t.animation.name&&this.classes.add(`to-${s(t.animation.name)}`))}),await this.hooks.call(\"content:scroll\",t,void 0,()=>this.scrollToContent(t)),await this.hooks.call(\"page:view\",t,{url:this.location.url,title:document.title})},O=function(t){var e;if(e=t,Boolean(null==e?void 0:e.isSwupPlugin)){if(t.swup=this,!t._checkRequirements||t._checkRequirements())return t._beforeMount&&t._beforeMount(),t.mount(),this.plugins.push(t),this.plugins}else console.error(\"Not a swup plugin instance\",t)};function D(t){const e=this.findPlugin(t);if(e)return e.unmount(),e._afterUnmount&&e._afterUnmount(),this.plugins=this.plugins.filter(t=>t!==e),this.plugins;console.error(\"No such plugin\",e)}function M(t){return this.plugins.find(e=>e===t||e.name===t||e.name===`Swup${String(t)}`)}function W(t){if(\"function\"!=typeof this.options.resolveUrl)return console.warn(\"[swup] options.resolveUrl expects a callback function.\"),t;const e=this.options.resolveUrl(t);return e&&\"string\"==typeof e?e.startsWith(\"//\")||e.startsWith(\"http\")?(console.warn(\"[swup] options.resolveUrl needs to return a relative url\"),t):e:(console.warn(\"[swup] options.resolveUrl needs to return a url\"),t)}function B(t,e){return this.resolveUrl(t)===this.resolveUrl(e)}const _={animateHistoryBrowsing:!1,animationSelector:'[class*=\"transition-\"]',animationScope:\"html\",cache:!0,containers:[\"#swup\"],ignoreVisit:(t,{el:e}={})=>!(null==e||!e.closest(\"[data-no-swup]\")),linkSelector:\"a[href]\",linkToSelf:\"scroll\",native:!1,plugins:[],resolveUrl:t=>t,requestHeaders:{\"X-Requested-With\":\"swup\",Accept:\"text/html, application/xhtml+xml\"},skipPopStateHandling:t=>{var e;return\"swup\"!==(null==(e=t.state)?void 0:e.source)},timeout:0};class j{get currentPageUrl(){return this.location.url}constructor(t={}){var e,s;this.version=\"4.7.0\",this.options=void 0,this.defaults=_,this.plugins=[],this.visit=void 0,this.cache=void 0,this.hooks=void 0,this.classes=void 0,this.location=l.fromUrl(window.location.href),this.currentHistoryIndex=void 0,this.clickDelegate=void 0,this.navigating=!1,this.onVisitEnd=void 0,this.use=O,this.unuse=D,this.findPlugin=M,this.log=()=>{},this.navigate=V,this.performNavigation=I,this.createVisit=S,this.delegateEvent=a,this.fetchPage=u,this.awaitAnimations=$,this.renderPage=N,this.replaceContent=q,this.animatePageIn=T,this.animatePageOut=L,this.scrollToContent=R,this.getAnchorElement=C,this.getCurrentUrl=n,this.resolveUrl=W,this.isSameResolvedUrl=B,this.options=i({},this.defaults,t),this.handleLinkClick=this.handleLinkClick.bind(this),this.handlePopState=this.handlePopState.bind(this),this.cache=new d(this),this.classes=new k(this),this.hooks=new E(this),this.visit=this.createVisit({to:\"\"}),this.currentHistoryIndex=null!=(e=null==(s=window.history.state)?void 0:s.index)?e:1,this.enable()}async enable(){var t;const{linkSelector:e}=this.options;this.clickDelegate=this.delegateEvent(e,\"click\",this.handleLinkClick),window.addEventListener(\"popstate\",this.handlePopState),this.options.animateHistoryBrowsing&&(window.history.scrollRestoration=\"manual\"),this.options.native=this.options.native&&!!document.startViewTransition,this.options.plugins.forEach(t=>this.use(t)),\"swup\"!==(null==(t=window.history.state)?void 0:t.source)&&r(null,{index:this.currentHistoryIndex}),await w(),await this.hooks.call(\"enable\",void 0,void 0,()=>{const t=document.documentElement;t.classList.add(\"swup-enabled\"),t.classList.toggle(\"swup-native\",this.options.native)})}async destroy(){this.clickDelegate.destroy(),window.removeEventListener(\"popstate\",this.handlePopState),this.cache.clear(),this.options.plugins.forEach(t=>this.unuse(t)),await this.hooks.call(\"disable\",void 0,void 0,()=>{const t=document.documentElement;t.classList.remove(\"swup-enabled\"),t.classList.remove(\"swup-native\")}),this.hooks.clear()}shouldIgnoreVisit(t,{el:e,event:i}={}){const{origin:s,url:n,hash:o}=l.fromUrl(t);return s!==window.location.origin||!(!e||!this.triggerWillOpenNewWindow(e))||!!this.options.ignoreVisit(n+o,{el:e,event:i})}handleLinkClick(t){const e=t.delegateTarget,{href:i,url:s,hash:n}=l.fromElement(e);if(this.shouldIgnoreVisit(i,{el:e,event:t}))return;if(this.navigating&&s===this.visit.to.url)return void t.preventDefault();const o=this.createVisit({to:s,hash:n,el:e,event:t});t.metaKey||t.ctrlKey||t.shiftKey||t.altKey?this.hooks.callSync(\"link:newtab\",o,{href:i}):0===t.button&&this.hooks.callSync(\"link:click\",o,{el:e,event:t},()=>{var e;const i=null!=(e=o.from.url)?e:\"\";t.preventDefault(),s&&s!==i?this.isSameResolvedUrl(s,i)||this.performNavigation(o):n?this.hooks.callSync(\"link:anchor\",o,{hash:n},()=>{r(s+n),this.scrollToContent(o)}):this.hooks.callSync(\"link:self\",o,void 0,()=>{\"navigate\"===this.options.linkToSelf?this.performNavigation(o):(r(s),this.scrollToContent(o))})})}handlePopState(t){var e,i,s,o;const r=null!=(e=null==(i=t.state)?void 0:i.url)?e:window.location.href;if(this.options.skipPopStateHandling(t))return;if(this.isSameResolvedUrl(n(),this.location.url))return;const{url:a,hash:h}=l.fromUrl(r),c=this.createVisit({to:a,hash:h,event:t});c.history.popstate=!0;const u=null!=(s=null==(o=t.state)?void 0:o.index)?s:0;u&&u!==this.currentHistoryIndex&&(c.history.direction=u-this.currentHistoryIndex>0?\"forwards\":\"backwards\",this.currentHistoryIndex=u),c.animation.animate=!1,c.scroll.reset=!1,c.scroll.target=!1,this.options.animateHistoryBrowsing&&(c.animation.animate=!0,c.scroll.reset=!0),this.hooks.callSync(\"history:popstate\",c,{event:t},()=>{this.performNavigation(c)})}triggerWillOpenNewWindow(t){return!!t.matches('[download], [target=\"_blank\"]')}}export{l as Location,s as classify,o as createHistoryRecord,j as default,a as delegateEvent,v as forceReflow,y as getContextualAttr,n as getCurrentUrl,g as isPromise,h as matchPath,w as nextTick,p as query,m as queryAll,f as runAsPromise,r as updateHistoryRecord};\n//# sourceMappingURL=Swup.modern.js.map\n"],"names":["ledger","editLedger","wanted","baseElement","callback","setup","elementMap","setups","existed","safeClosest","event","selector","target","closest","delegate","type","options","signal","base","once","nativeListenerOptions","capture","listenerFunction","delegateTarget","delegateEvent","i","t","e","s","n","o","r","a","l$1","l","c","u","h","d","p","m","w","g","v","f","y","k","b","S","E","C","U","P","$","x","A","H","V","I","L","q","R","T","N","O","D","M","W","B","_","j"],"mappings":"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","x_google_ignoreList":[0,1]} \ No newline at end of file diff --git a/Target/_astro/ViewTransitions.astro_astro_type_script_index_0_lang.Dd_TQxzB.js b/Target/_astro/ViewTransitions.astro_astro_type_script_index_0_lang.Dd_TQxzB.js deleted file mode 100644 index 1c1e283b..00000000 --- a/Target/_astro/ViewTransitions.astro_astro_type_script_index_0_lang.Dd_TQxzB.js +++ /dev/null @@ -1 +0,0 @@ -import{i as q}from"./index.B1fp56SV.js";const y="data-astro-transition-persist";function U(t){for(const e of document.scripts)for(const n of t.scripts)if(!n.hasAttribute("data-astro-rerun")&&(!e.src&&e.textContent===n.textContent||e.src&&e.type===n.type&&e.src===n.src)){n.dataset.astroExec="";break}}function B(t){const e=document.documentElement,n=[...e.attributes].filter((({name:t})=>(e.removeAttribute(t),t.startsWith("data-astro-"))));[...t.documentElement.attributes,...n].forEach((({name:t,value:n})=>e.setAttribute(t,n)))}function W(t){for(const e of Array.from(document.head.children)){const n=j(e,t);n?n.remove():e.remove()}document.head.append(...t.head.children)}function V(t,e){e.replaceWith(t);for(const n of e.querySelectorAll(`[${y}]`)){const e=n.getAttribute(y),o=t.querySelector(`[${y}="${e}"]`);o&&(o.replaceWith(n),"astro-island"===o.localName&&G(n)&&(n.setAttribute("ssr",""),n.setAttribute("props",o.getAttribute("props"))))}}const K=()=>{const t=document.activeElement;if(t?.closest(`[${y}]`)){if(t instanceof HTMLInputElement||t instanceof HTMLTextAreaElement){const e=t.selectionStart,n=t.selectionEnd;return()=>E({activeElement:t,start:e,end:n})}return()=>E({activeElement:t})}return()=>E({activeElement:null})},E=({activeElement:t,start:e,end:n})=>{t&&(t.focus(),(t instanceof HTMLInputElement||t instanceof HTMLTextAreaElement)&&("number"==typeof e&&(t.selectionStart=e),"number"==typeof n&&(t.selectionEnd=n)))},j=(t,e)=>{const n=t.getAttribute(y),o=n&&e.head.querySelector(`[${y}="${n}"]`);if(o)return o;if(t.matches("link[rel=stylesheet]")){const n=t.getAttribute("href");return e.head.querySelector(`link[rel=stylesheet][href="${n}"]`)}return null},G=t=>{const e=t.dataset.astroTransitionPersistProps;return null==e||"false"===e},z=t=>{U(t),B(t),W(t);const e=K();V(t.body,document.body),e()},J="astro:before-preparation",Q="astro:after-preparation",Z="astro:before-swap",tt="astro:after-swap",et=t=>document.dispatchEvent(new Event(t));class H extends Event{from;to;direction;navigationType;sourceElement;info;newDocument;signal;constructor(t,e,n,o,r,i,a,s,c,l){super(t,e),this.from=n,this.to=o,this.direction=r,this.navigationType=i,this.sourceElement=a,this.info=s,this.newDocument=c,this.signal=l,Object.defineProperties(this,{from:{enumerable:!0},to:{enumerable:!0,writable:!0},direction:{enumerable:!0,writable:!0},navigationType:{enumerable:!0},sourceElement:{enumerable:!0},info:{enumerable:!0},newDocument:{enumerable:!0,writable:!0},signal:{enumerable:!0}})}}class nt extends H{formData;loader;constructor(t,e,n,o,r,i,a,s,c,l){super(J,{cancelable:!0},t,e,n,o,r,i,a,s),this.formData=c,this.loader=l.bind(this,this),Object.defineProperties(this,{formData:{enumerable:!0},loader:{enumerable:!0,writable:!0}})}}class ot extends H{direction;viewTransition;swap;constructor(t,e){super(Z,void 0,t.from,t.to,t.direction,t.navigationType,t.sourceElement,t.info,t.newDocument,t.signal),this.direction=t.direction,this.viewTransition=e,this.swap=()=>z(this.newDocument),Object.defineProperties(this,{direction:{enumerable:!0},viewTransition:{enumerable:!0},swap:{enumerable:!0,writable:!0}})}}async function rt(t,e,n,o,r,i,a,s,c){const l=new nt(t,e,n,o,r,i,window.document,a,s,c);return document.dispatchEvent(l)&&(await l.loader(),l.defaultPrevented||(et(Q),"traverse"!==l.navigationType&&R({scrollX:scrollX,scrollY:scrollY}))),l}function it(t,e){const n=new ot(t,e);return document.dispatchEvent(n),n.swap(),n}const st=history.pushState.bind(history),T=history.replaceState.bind(history),R=t=>{history.state&&(history.scrollRestoration="manual",T({...history.state,...t},""))},x=!!document.startViewTransition,D=()=>!!document.querySelector('[name="astro-view-transitions-enabled"]'),O=(t,e)=>t.pathname===e.pathname&&t.search===e.search;let f,b,v;const X=t=>document.dispatchEvent(new Event(t)),Y=()=>X("astro:page-load"),at=()=>{let t=document.createElement("div");t.setAttribute("aria-live","assertive"),t.setAttribute("aria-atomic","true"),t.className="astro-route-announcer",document.body.append(t),setTimeout((()=>{let e=document.title||document.querySelector("h1")?.textContent||location.pathname;t.textContent=e}),60)},L="data-astro-transition-persist",P="data-astro-transition",S="data-astro-transition-fallback";let k,g=0;async function ct(t,e){try{const n=await fetch(t,e),o=(n.headers.get("content-type")??"").split(";",1)[0].trim();return"text/html"!==o&&"application/xhtml+xml"!==o?null:{html:await n.text(),redirected:n.redirected?n.url:void 0,mediaType:o}}catch{return null}}function _(){const t=document.querySelector('[name="astro-view-transitions-fallback"]');return t?t.getAttribute("content"):"animate"}function lt(){let t=Promise.resolve();for(const e of Array.from(document.scripts)){if(""===e.dataset.astroExec)continue;const n=e.getAttribute("type");if(n&&"module"!==n&&"text/javascript"!==n)continue;const o=document.createElement("script");o.innerHTML=e.innerHTML;for(const n of e.attributes){if("src"===n.name){const e=new Promise((t=>{o.onload=o.onerror=t}));t=t.then((()=>e))}o.setAttribute(n.name,n.value)}o.dataset.astroExec="",e.replaceWith(o)}return t}history.state?(g=history.state.index,scrollTo({left:history.state.scrollX,top:history.state.scrollY})):D()&&(T({index:g,scrollX:scrollX,scrollY:scrollY},""),history.scrollRestoration="manual");const C=(t,e,n,o,r)=>{const i=O(e,t),a=document.title;document.title=o;let s=!1;if(t.href!==location.href&&!r)if("replace"===n.history){const e=history.state;T({...n.state,index:e.index,scrollX:e.scrollX,scrollY:e.scrollY},"",t.href)}else st({...n.state,index:++g,scrollX:0,scrollY:0},"",t.href);if(document.title=a,v=t,i||(scrollTo({left:0,top:0,behavior:"instant"}),s=!0),r)scrollTo(r.scrollX,r.scrollY);else{if(t.hash){history.scrollRestoration="auto";const e=history.state;location.href=t.href,history.state||(T(e,""),i&&window.dispatchEvent(new PopStateEvent("popstate")))}else s||scrollTo({left:0,top:0,behavior:"instant"});history.scrollRestoration="manual"}};function ut(t){const e=[];for(const n of t.querySelectorAll("head link[rel=stylesheet]"))if(!document.querySelector(`[${L}="${n.getAttribute(L)}"], link[rel=stylesheet][href="${n.getAttribute("href")}"]`)){const t=document.createElement("link");t.setAttribute("rel","preload"),t.setAttribute("as","style"),t.setAttribute("href",n.getAttribute("href")),e.push(new Promise((e=>{["load","error"].forEach((n=>t.addEventListener(n,e))),document.head.append(t)})))}return e}async function I(t,e,n,o,r){async function i(t){const e=document.getAnimations();document.documentElement.setAttribute(S,t);const n=document.getAnimations().filter((t=>!e.includes(t)&&!function(t){const e=t.effect;return!!(e&&e instanceof KeyframeEffect&&e.target)&&"infinite"===window.getComputedStyle(e.target,e.pseudoElement).animationIterationCount}(t)));return Promise.allSettled(n.map((t=>t.finished)))}if("animate"===r&&!n.transitionSkipped&&!t.signal.aborted)try{await i("old")}catch{}const a=document.title,s=it(t,n.viewTransition);C(s.to,s.from,e,a,o),X(tt),"animate"===r&&(n.transitionSkipped||s.signal.aborted?n.viewTransitionFinished():i("new").finally((()=>n.viewTransitionFinished())))}function dt(){return f?.controller.abort(),f={controller:new AbortController}}async function $(t,e,n,o,r){const i=dt();if(!D()||location.origin!==n.origin)return i===f&&(f=void 0),void(location.href=n.href);const a=r?"traverse":"replace"===o.history?"replace":"push";if("traverse"!==a&&R({scrollX:scrollX,scrollY:scrollY}),O(e,n)&&("back"!==t&&n.hash||"back"===t&&e.hash))return C(n,e,o,document.title,r),void(i===f&&(f=void 0));const s=await rt(e,n,t,a,o.sourceElement,o.info,i.controller.signal,o.formData,(async function(t){const e=t.to.href,n={signal:t.signal};if(t.formData){n.method="POST";const e=t.sourceElement instanceof HTMLFormElement?t.sourceElement:t.sourceElement instanceof HTMLElement&&"form"in t.sourceElement?t.sourceElement.form:t.sourceElement?.closest("form");n.body="application/x-www-form-urlencoded"===e?.attributes.getNamedItem("enctype")?.value?new URLSearchParams(t.formData):t.formData}const o=await ct(e,n);if(null===o)return void t.preventDefault();if(o.redirected){const e=new URL(o.redirected);if(e.origin!==t.to.origin)return void t.preventDefault();t.to=e}if(k??=new DOMParser,t.newDocument=k.parseFromString(o.html,o.mediaType),t.newDocument.querySelectorAll("noscript").forEach((t=>t.remove())),!t.newDocument.querySelector('[name="astro-view-transitions-enabled"]')&&!t.formData)return void t.preventDefault();const r=ut(t.newDocument);r.length&&!t.signal.aborted&&await Promise.all(r)}));if(s.defaultPrevented||s.signal.aborted)return i===f&&(f=void 0),void(s.signal.aborted||(location.href=n.href));const c=await async function(){if(b&&b.viewTransition){try{b.viewTransition.skipTransition()}catch{}try{await b.viewTransition.updateCallbackDone}catch{}}return b={transitionSkipped:!1}}();if(s.signal.aborted)i===f&&(f=void 0);else{if(document.documentElement.setAttribute(P,s.direction),x)c.viewTransition=document.startViewTransition((async()=>await I(s,o,c,r)));else{const t=(async()=>{await Promise.resolve(),await I(s,o,c,r,_())})();c.viewTransition={updateCallbackDone:t,ready:t,finished:new Promise((t=>c.viewTransitionFinished=t)),skipTransition:()=>{c.transitionSkipped=!0,document.documentElement.removeAttribute(S)}}}c.viewTransition.updateCallbackDone.finally((async()=>{await lt(),Y(),at()})),c.viewTransition.finished.finally((()=>{c.viewTransition=void 0,c===b&&(b=void 0),i===f&&(f=void 0),document.documentElement.removeAttribute(P),document.documentElement.removeAttribute(S)}));try{await c.viewTransition.updateCallbackDone}catch(t){const e=t;console.log("[astro]",e.name,e.message,e.stack)}}}async function M(t,e){await $("forward",v,new URL(t,location.href),e??{})}function ft(t){if(!D()&&t.state)return void location.reload();if(null===t.state)return;const e=history.state,n=e.index,o=n>g?"forward":"back";g=n,$(o,v,new URL(location.href),{},e)}const N=()=>{history.state&&(scrollX!==history.state.scrollX||scrollY!==history.state.scrollY)&&R({scrollX:scrollX,scrollY:scrollY})};if(x||"none"!==_())if(v=new URL(location.href),addEventListener("popstate",ft),addEventListener("load",Y),"onscrollend"in window)addEventListener("scrollend",N);else{let t,e,n,o;const r=()=>o!==history.state?.index?(clearInterval(t),void(t=void 0)):e===scrollY&&n===scrollX?(clearInterval(t),t=void 0,void N()):(e=scrollY,void(n=scrollX));addEventListener("scroll",(()=>{void 0===t&&(o=history.state.index,e=scrollY,n=scrollX,t=window.setInterval(r,50))}),{passive:!0})}for(const t of document.scripts)t.dataset.astroExec="";function mt(){const t=document.querySelector('[name="astro-view-transitions-fallback"]');return t?t.getAttribute("content"):"animate"}function F(t){return void 0!==t.dataset.astroReload}(x||"none"!==mt())&&(document.addEventListener("click",(t=>{let e=t.target;if(t.composed&&(e=t.composedPath()[0]),e instanceof Element&&(e=e.closest("a, area")),!(e instanceof HTMLAnchorElement||e instanceof SVGAElement||e instanceof HTMLAreaElement))return;const n=e instanceof HTMLElement?e.target:e.target.baseVal,o=e instanceof HTMLElement?e.href:e.href.baseVal,r=new URL(o,location.href).origin;F(e)||e.hasAttribute("download")||!e.href||n&&"_self"!==n||r!==location.origin||0!==t.button||t.metaKey||t.ctrlKey||t.altKey||t.shiftKey||t.defaultPrevented||(t.preventDefault(),M(o,{history:"replace"===e.dataset.astroHistory?"replace":"auto",sourceElement:e}))})),document.addEventListener("submit",(t=>{let e=t.target;if("FORM"!==e.tagName||t.defaultPrevented||F(e))return;const n=e,o=t.submitter,r=new FormData(n,o),i="string"==typeof n.action?n.action:n.getAttribute("action"),a="string"==typeof n.method?n.method:n.getAttribute("method");let s=o?.getAttribute("formaction")??i??location.pathname;const c=o?.getAttribute("formmethod")??a??"get";if("dialog"===c||location.origin!==new URL(s,location.href).origin)return;const l={sourceElement:o??n};if("get"===c){const t=new URLSearchParams(r),e=new URL(s);e.search=t.toString(),s=e.toString()}else l.formData=r;t.preventDefault(),M(s,l)})),q({prefetchAll:!0})); \ No newline at end of file diff --git a/Target/_astro/ViewTransitions.astro_astro_type_script_index_0_lang.Dd_TQxzB.js.map b/Target/_astro/ViewTransitions.astro_astro_type_script_index_0_lang.Dd_TQxzB.js.map deleted file mode 100644 index 61af99fe..00000000 --- a/Target/_astro/ViewTransitions.astro_astro_type_script_index_0_lang.Dd_TQxzB.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"ViewTransitions.astro_astro_type_script_index_0_lang.Dd_TQxzB.js","sources":["../../../../../../node_modules/astro/dist/transitions/swap-functions.js","../../../../../../node_modules/astro/dist/transitions/events.js","../../../../../../node_modules/astro/dist/transitions/router.js"],"sourcesContent":["const PERSIST_ATTR = \"data-astro-transition-persist\";\nfunction deselectScripts(doc) {\n for (const s1 of document.scripts) {\n for (const s2 of doc.scripts) {\n if (\n // Check if the script should be rerun regardless of it being the same\n !s2.hasAttribute(\"data-astro-rerun\") && // Inline\n (!s1.src && s1.textContent === s2.textContent || // External\n s1.src && s1.type === s2.type && s1.src === s2.src)\n ) {\n s2.dataset.astroExec = \"\";\n break;\n }\n }\n }\n}\nfunction swapRootAttributes(doc) {\n const html = document.documentElement;\n const astroAttributes = [...html.attributes].filter(\n ({ name }) => (html.removeAttribute(name), name.startsWith(\"data-astro-\"))\n );\n [...doc.documentElement.attributes, ...astroAttributes].forEach(\n ({ name, value }) => html.setAttribute(name, value)\n );\n}\nfunction swapHeadElements(doc) {\n for (const el of Array.from(document.head.children)) {\n const newEl = persistedHeadElement(el, doc);\n if (newEl) {\n newEl.remove();\n } else {\n el.remove();\n }\n }\n document.head.append(...doc.head.children);\n}\nfunction swapBodyElement(newElement, oldElement) {\n oldElement.replaceWith(newElement);\n for (const el of oldElement.querySelectorAll(`[${PERSIST_ATTR}]`)) {\n const id = el.getAttribute(PERSIST_ATTR);\n const newEl = newElement.querySelector(`[${PERSIST_ATTR}=\"${id}\"]`);\n if (newEl) {\n newEl.replaceWith(el);\n if (newEl.localName === \"astro-island\" && shouldCopyProps(el)) {\n el.setAttribute(\"ssr\", \"\");\n el.setAttribute(\"props\", newEl.getAttribute(\"props\"));\n }\n }\n }\n}\nconst saveFocus = () => {\n const activeElement = document.activeElement;\n if (activeElement?.closest(`[${PERSIST_ATTR}]`)) {\n if (activeElement instanceof HTMLInputElement || activeElement instanceof HTMLTextAreaElement) {\n const start = activeElement.selectionStart;\n const end = activeElement.selectionEnd;\n return () => restoreFocus({ activeElement, start, end });\n }\n return () => restoreFocus({ activeElement });\n } else {\n return () => restoreFocus({ activeElement: null });\n }\n};\nconst restoreFocus = ({ activeElement, start, end }) => {\n if (activeElement) {\n activeElement.focus();\n if (activeElement instanceof HTMLInputElement || activeElement instanceof HTMLTextAreaElement) {\n if (typeof start === \"number\") activeElement.selectionStart = start;\n if (typeof end === \"number\") activeElement.selectionEnd = end;\n }\n }\n};\nconst persistedHeadElement = (el, newDoc) => {\n const id = el.getAttribute(PERSIST_ATTR);\n const newEl = id && newDoc.head.querySelector(`[${PERSIST_ATTR}=\"${id}\"]`);\n if (newEl) {\n return newEl;\n }\n if (el.matches(\"link[rel=stylesheet]\")) {\n const href = el.getAttribute(\"href\");\n return newDoc.head.querySelector(`link[rel=stylesheet][href=\"${href}\"]`);\n }\n return null;\n};\nconst shouldCopyProps = (el) => {\n const persistProps = el.dataset.astroTransitionPersistProps;\n return persistProps == null || persistProps === \"false\";\n};\nconst swapFunctions = {\n deselectScripts,\n swapRootAttributes,\n swapHeadElements,\n swapBodyElement,\n saveFocus\n};\nconst swap = (doc) => {\n deselectScripts(doc);\n swapRootAttributes(doc);\n swapHeadElements(doc);\n const restoreFocusFunction = saveFocus();\n swapBodyElement(doc.body, document.body);\n restoreFocusFunction();\n};\nexport {\n deselectScripts,\n restoreFocus,\n saveFocus,\n swap,\n swapBodyElement,\n swapFunctions,\n swapHeadElements,\n swapRootAttributes\n};\n","import { updateScrollPosition } from \"./router.js\";\nimport { swap } from \"./swap-functions.js\";\nconst TRANSITION_BEFORE_PREPARATION = \"astro:before-preparation\";\nconst TRANSITION_AFTER_PREPARATION = \"astro:after-preparation\";\nconst TRANSITION_BEFORE_SWAP = \"astro:before-swap\";\nconst TRANSITION_AFTER_SWAP = \"astro:after-swap\";\nconst TRANSITION_PAGE_LOAD = \"astro:page-load\";\nconst triggerEvent = (name) => document.dispatchEvent(new Event(name));\nconst onPageLoad = () => triggerEvent(TRANSITION_PAGE_LOAD);\nclass BeforeEvent extends Event {\n from;\n to;\n direction;\n navigationType;\n sourceElement;\n info;\n newDocument;\n signal;\n constructor(type, eventInitDict, from, to, direction, navigationType, sourceElement, info, newDocument, signal) {\n super(type, eventInitDict);\n this.from = from;\n this.to = to;\n this.direction = direction;\n this.navigationType = navigationType;\n this.sourceElement = sourceElement;\n this.info = info;\n this.newDocument = newDocument;\n this.signal = signal;\n Object.defineProperties(this, {\n from: { enumerable: true },\n to: { enumerable: true, writable: true },\n direction: { enumerable: true, writable: true },\n navigationType: { enumerable: true },\n sourceElement: { enumerable: true },\n info: { enumerable: true },\n newDocument: { enumerable: true, writable: true },\n signal: { enumerable: true }\n });\n }\n}\nconst isTransitionBeforePreparationEvent = (value) => value.type === TRANSITION_BEFORE_PREPARATION;\nclass TransitionBeforePreparationEvent extends BeforeEvent {\n formData;\n loader;\n constructor(from, to, direction, navigationType, sourceElement, info, newDocument, signal, formData, loader) {\n super(\n TRANSITION_BEFORE_PREPARATION,\n { cancelable: true },\n from,\n to,\n direction,\n navigationType,\n sourceElement,\n info,\n newDocument,\n signal\n );\n this.formData = formData;\n this.loader = loader.bind(this, this);\n Object.defineProperties(this, {\n formData: { enumerable: true },\n loader: { enumerable: true, writable: true }\n });\n }\n}\nconst isTransitionBeforeSwapEvent = (value) => value.type === TRANSITION_BEFORE_SWAP;\nclass TransitionBeforeSwapEvent extends BeforeEvent {\n direction;\n viewTransition;\n swap;\n constructor(afterPreparation, viewTransition) {\n super(\n TRANSITION_BEFORE_SWAP,\n void 0,\n afterPreparation.from,\n afterPreparation.to,\n afterPreparation.direction,\n afterPreparation.navigationType,\n afterPreparation.sourceElement,\n afterPreparation.info,\n afterPreparation.newDocument,\n afterPreparation.signal\n );\n this.direction = afterPreparation.direction;\n this.viewTransition = viewTransition;\n this.swap = () => swap(this.newDocument);\n Object.defineProperties(this, {\n direction: { enumerable: true },\n viewTransition: { enumerable: true },\n swap: { enumerable: true, writable: true }\n });\n }\n}\nasync function doPreparation(from, to, direction, navigationType, sourceElement, info, signal, formData, defaultLoader) {\n const event = new TransitionBeforePreparationEvent(\n from,\n to,\n direction,\n navigationType,\n sourceElement,\n info,\n window.document,\n signal,\n formData,\n defaultLoader\n );\n if (document.dispatchEvent(event)) {\n await event.loader();\n if (!event.defaultPrevented) {\n triggerEvent(TRANSITION_AFTER_PREPARATION);\n if (event.navigationType !== \"traverse\") {\n updateScrollPosition({ scrollX, scrollY });\n }\n }\n }\n return event;\n}\nfunction doSwap(afterPreparation, viewTransition) {\n const event = new TransitionBeforeSwapEvent(afterPreparation, viewTransition);\n document.dispatchEvent(event);\n event.swap();\n return event;\n}\nexport {\n TRANSITION_AFTER_PREPARATION,\n TRANSITION_AFTER_SWAP,\n TRANSITION_BEFORE_PREPARATION,\n TRANSITION_BEFORE_SWAP,\n TRANSITION_PAGE_LOAD,\n TransitionBeforePreparationEvent,\n TransitionBeforeSwapEvent,\n doPreparation,\n doSwap,\n isTransitionBeforePreparationEvent,\n isTransitionBeforeSwapEvent,\n onPageLoad,\n triggerEvent\n};\n","import { TRANSITION_AFTER_SWAP, doPreparation, doSwap } from \"./events.js\";\nconst inBrowser = import.meta.env.SSR === false;\nconst pushState = inBrowser && history.pushState.bind(history);\nconst replaceState = inBrowser && history.replaceState.bind(history);\nconst updateScrollPosition = (positions) => {\n if (history.state) {\n history.scrollRestoration = \"manual\";\n replaceState({ ...history.state, ...positions }, \"\");\n }\n};\nconst supportsViewTransitions = inBrowser && !!document.startViewTransition;\nconst transitionEnabledOnThisPage = () => inBrowser && !!document.querySelector('[name=\"astro-view-transitions-enabled\"]');\nconst samePage = (thisLocation, otherLocation) => thisLocation.pathname === otherLocation.pathname && thisLocation.search === otherLocation.search;\nlet mostRecentNavigation;\nlet mostRecentTransition;\nlet originalLocation;\nconst triggerEvent = (name) => document.dispatchEvent(new Event(name));\nconst onPageLoad = () => triggerEvent(\"astro:page-load\");\nconst announce = () => {\n let div = document.createElement(\"div\");\n div.setAttribute(\"aria-live\", \"assertive\");\n div.setAttribute(\"aria-atomic\", \"true\");\n div.className = \"astro-route-announcer\";\n document.body.append(div);\n setTimeout(\n () => {\n let title = document.title || document.querySelector(\"h1\")?.textContent || location.pathname;\n div.textContent = title;\n },\n // Much thought went into this magic number; the gist is that screen readers\n // need to see that the element changed and might not do so if it happens\n // too quickly.\n 60\n );\n};\nconst PERSIST_ATTR = \"data-astro-transition-persist\";\nconst DIRECTION_ATTR = \"data-astro-transition\";\nconst OLD_NEW_ATTR = \"data-astro-transition-fallback\";\nconst VITE_ID = \"data-vite-dev-id\";\nlet parser;\nlet currentHistoryIndex = 0;\nif (inBrowser) {\n if (history.state) {\n currentHistoryIndex = history.state.index;\n scrollTo({ left: history.state.scrollX, top: history.state.scrollY });\n } else if (transitionEnabledOnThisPage()) {\n replaceState({ index: currentHistoryIndex, scrollX, scrollY }, \"\");\n history.scrollRestoration = \"manual\";\n }\n}\nasync function fetchHTML(href, init) {\n try {\n const res = await fetch(href, init);\n const contentType = res.headers.get(\"content-type\") ?? \"\";\n const mediaType = contentType.split(\";\", 1)[0].trim();\n if (mediaType !== \"text/html\" && mediaType !== \"application/xhtml+xml\") {\n return null;\n }\n const html = await res.text();\n return {\n html,\n redirected: res.redirected ? res.url : void 0,\n mediaType\n };\n } catch {\n return null;\n }\n}\nfunction getFallback() {\n const el = document.querySelector('[name=\"astro-view-transitions-fallback\"]');\n if (el) {\n return el.getAttribute(\"content\");\n }\n return \"animate\";\n}\nfunction runScripts() {\n let wait = Promise.resolve();\n for (const script of Array.from(document.scripts)) {\n if (script.dataset.astroExec === \"\") continue;\n const type = script.getAttribute(\"type\");\n if (type && type !== \"module\" && type !== \"text/javascript\") continue;\n const newScript = document.createElement(\"script\");\n newScript.innerHTML = script.innerHTML;\n for (const attr of script.attributes) {\n if (attr.name === \"src\") {\n const p = new Promise((r) => {\n newScript.onload = newScript.onerror = r;\n });\n wait = wait.then(() => p);\n }\n newScript.setAttribute(attr.name, attr.value);\n }\n newScript.dataset.astroExec = \"\";\n script.replaceWith(newScript);\n }\n return wait;\n}\nconst moveToLocation = (to, from, options, pageTitleForBrowserHistory, historyState) => {\n const intraPage = samePage(from, to);\n const targetPageTitle = document.title;\n document.title = pageTitleForBrowserHistory;\n let scrolledToTop = false;\n if (to.href !== location.href && !historyState) {\n if (options.history === \"replace\") {\n const current = history.state;\n replaceState(\n {\n ...options.state,\n index: current.index,\n scrollX: current.scrollX,\n scrollY: current.scrollY\n },\n \"\",\n to.href\n );\n } else {\n pushState(\n { ...options.state, index: ++currentHistoryIndex, scrollX: 0, scrollY: 0 },\n \"\",\n to.href\n );\n }\n }\n document.title = targetPageTitle;\n originalLocation = to;\n if (!intraPage) {\n scrollTo({ left: 0, top: 0, behavior: \"instant\" });\n scrolledToTop = true;\n }\n if (historyState) {\n scrollTo(historyState.scrollX, historyState.scrollY);\n } else {\n if (to.hash) {\n history.scrollRestoration = \"auto\";\n const savedState = history.state;\n location.href = to.href;\n if (!history.state) {\n replaceState(savedState, \"\");\n if (intraPage) {\n window.dispatchEvent(new PopStateEvent(\"popstate\"));\n }\n }\n } else {\n if (!scrolledToTop) {\n scrollTo({ left: 0, top: 0, behavior: \"instant\" });\n }\n }\n history.scrollRestoration = \"manual\";\n }\n};\nfunction preloadStyleLinks(newDocument) {\n const links = [];\n for (const el of newDocument.querySelectorAll(\"head link[rel=stylesheet]\")) {\n if (!document.querySelector(\n `[${PERSIST_ATTR}=\"${el.getAttribute(\n PERSIST_ATTR\n )}\"], link[rel=stylesheet][href=\"${el.getAttribute(\"href\")}\"]`\n )) {\n const c = document.createElement(\"link\");\n c.setAttribute(\"rel\", \"preload\");\n c.setAttribute(\"as\", \"style\");\n c.setAttribute(\"href\", el.getAttribute(\"href\"));\n links.push(\n new Promise((resolve) => {\n [\"load\", \"error\"].forEach((evName) => c.addEventListener(evName, resolve));\n document.head.append(c);\n })\n );\n }\n }\n return links;\n}\nasync function updateDOM(preparationEvent, options, currentTransition, historyState, fallback) {\n async function animate(phase) {\n function isInfinite(animation) {\n const effect = animation.effect;\n if (!effect || !(effect instanceof KeyframeEffect) || !effect.target) return false;\n const style = window.getComputedStyle(effect.target, effect.pseudoElement);\n return style.animationIterationCount === \"infinite\";\n }\n const currentAnimations = document.getAnimations();\n document.documentElement.setAttribute(OLD_NEW_ATTR, phase);\n const nextAnimations = document.getAnimations();\n const newAnimations = nextAnimations.filter(\n (a) => !currentAnimations.includes(a) && !isInfinite(a)\n );\n return Promise.allSettled(newAnimations.map((a) => a.finished));\n }\n if (fallback === \"animate\" && !currentTransition.transitionSkipped && !preparationEvent.signal.aborted) {\n try {\n await animate(\"old\");\n } catch {\n }\n }\n const pageTitleForBrowserHistory = document.title;\n const swapEvent = doSwap(preparationEvent, currentTransition.viewTransition);\n moveToLocation(swapEvent.to, swapEvent.from, options, pageTitleForBrowserHistory, historyState);\n triggerEvent(TRANSITION_AFTER_SWAP);\n if (fallback === \"animate\") {\n if (!currentTransition.transitionSkipped && !swapEvent.signal.aborted) {\n animate(\"new\").finally(() => currentTransition.viewTransitionFinished());\n } else {\n currentTransition.viewTransitionFinished();\n }\n }\n}\nfunction abortAndRecreateMostRecentNavigation() {\n mostRecentNavigation?.controller.abort();\n return mostRecentNavigation = {\n controller: new AbortController()\n };\n}\nasync function transition(direction, from, to, options, historyState) {\n const currentNavigation = abortAndRecreateMostRecentNavigation();\n if (!transitionEnabledOnThisPage() || location.origin !== to.origin) {\n if (currentNavigation === mostRecentNavigation) mostRecentNavigation = void 0;\n location.href = to.href;\n return;\n }\n const navigationType = historyState ? \"traverse\" : options.history === \"replace\" ? \"replace\" : \"push\";\n if (navigationType !== \"traverse\") {\n updateScrollPosition({ scrollX, scrollY });\n }\n if (samePage(from, to)) {\n if (direction !== \"back\" && to.hash || direction === \"back\" && from.hash) {\n moveToLocation(to, from, options, document.title, historyState);\n if (currentNavigation === mostRecentNavigation) mostRecentNavigation = void 0;\n return;\n }\n }\n const prepEvent = await doPreparation(\n from,\n to,\n direction,\n navigationType,\n options.sourceElement,\n options.info,\n currentNavigation.controller.signal,\n options.formData,\n defaultLoader\n );\n if (prepEvent.defaultPrevented || prepEvent.signal.aborted) {\n if (currentNavigation === mostRecentNavigation) mostRecentNavigation = void 0;\n if (!prepEvent.signal.aborted) {\n location.href = to.href;\n }\n return;\n }\n async function defaultLoader(preparationEvent) {\n const href = preparationEvent.to.href;\n const init = { signal: preparationEvent.signal };\n if (preparationEvent.formData) {\n init.method = \"POST\";\n const form = preparationEvent.sourceElement instanceof HTMLFormElement ? preparationEvent.sourceElement : preparationEvent.sourceElement instanceof HTMLElement && \"form\" in preparationEvent.sourceElement ? preparationEvent.sourceElement.form : preparationEvent.sourceElement?.closest(\"form\");\n init.body = form?.attributes.getNamedItem(\"enctype\")?.value === \"application/x-www-form-urlencoded\" ? new URLSearchParams(preparationEvent.formData) : preparationEvent.formData;\n }\n const response = await fetchHTML(href, init);\n if (response === null) {\n preparationEvent.preventDefault();\n return;\n }\n if (response.redirected) {\n const redirectedTo = new URL(response.redirected);\n if (redirectedTo.origin !== preparationEvent.to.origin) {\n preparationEvent.preventDefault();\n return;\n }\n preparationEvent.to = redirectedTo;\n }\n parser ??= new DOMParser();\n preparationEvent.newDocument = parser.parseFromString(response.html, response.mediaType);\n preparationEvent.newDocument.querySelectorAll(\"noscript\").forEach((el) => el.remove());\n if (!preparationEvent.newDocument.querySelector('[name=\"astro-view-transitions-enabled\"]') && !preparationEvent.formData) {\n preparationEvent.preventDefault();\n return;\n }\n const links = preloadStyleLinks(preparationEvent.newDocument);\n links.length && !preparationEvent.signal.aborted && await Promise.all(links);\n if (import.meta.env.DEV && !preparationEvent.signal.aborted)\n await prepareForClientOnlyComponents(\n preparationEvent.newDocument,\n preparationEvent.to,\n preparationEvent.signal\n );\n }\n async function abortAndRecreateMostRecentTransition() {\n if (mostRecentTransition) {\n if (mostRecentTransition.viewTransition) {\n try {\n mostRecentTransition.viewTransition.skipTransition();\n } catch {\n }\n try {\n await mostRecentTransition.viewTransition.updateCallbackDone;\n } catch {\n }\n }\n }\n return mostRecentTransition = { transitionSkipped: false };\n }\n const currentTransition = await abortAndRecreateMostRecentTransition();\n if (prepEvent.signal.aborted) {\n if (currentNavigation === mostRecentNavigation) mostRecentNavigation = void 0;\n return;\n }\n document.documentElement.setAttribute(DIRECTION_ATTR, prepEvent.direction);\n if (supportsViewTransitions) {\n currentTransition.viewTransition = document.startViewTransition(\n async () => await updateDOM(prepEvent, options, currentTransition, historyState)\n );\n } else {\n const updateDone = (async () => {\n await Promise.resolve();\n await updateDOM(prepEvent, options, currentTransition, historyState, getFallback());\n })();\n currentTransition.viewTransition = {\n updateCallbackDone: updateDone,\n // this is about correct\n ready: updateDone,\n // good enough\n // Finished promise could have been done better: finished rejects iff updateDone does.\n // Our simulation always resolves, never rejects.\n finished: new Promise((r) => currentTransition.viewTransitionFinished = r),\n // see end of updateDOM\n skipTransition: () => {\n currentTransition.transitionSkipped = true;\n document.documentElement.removeAttribute(OLD_NEW_ATTR);\n }\n };\n }\n currentTransition.viewTransition.updateCallbackDone.finally(async () => {\n await runScripts();\n onPageLoad();\n announce();\n });\n currentTransition.viewTransition.finished.finally(() => {\n currentTransition.viewTransition = void 0;\n if (currentTransition === mostRecentTransition) mostRecentTransition = void 0;\n if (currentNavigation === mostRecentNavigation) mostRecentNavigation = void 0;\n document.documentElement.removeAttribute(DIRECTION_ATTR);\n document.documentElement.removeAttribute(OLD_NEW_ATTR);\n });\n try {\n await currentTransition.viewTransition.updateCallbackDone;\n } catch (e) {\n const err = e;\n console.log(\"[astro]\", err.name, err.message, err.stack);\n }\n}\nlet navigateOnServerWarned = false;\nasync function navigate(href, options) {\n if (inBrowser === false) {\n if (!navigateOnServerWarned) {\n const warning = new Error(\n \"The view transitions client API was called during a server side render. This may be unintentional as the navigate() function is expected to be called in response to user interactions. Please make sure that your usage is correct.\"\n );\n warning.name = \"Warning\";\n console.warn(warning);\n navigateOnServerWarned = true;\n }\n return;\n }\n await transition(\"forward\", originalLocation, new URL(href, location.href), options ?? {});\n}\nfunction onPopState(ev) {\n if (!transitionEnabledOnThisPage() && ev.state) {\n location.reload();\n return;\n }\n if (ev.state === null) {\n return;\n }\n const state = history.state;\n const nextIndex = state.index;\n const direction = nextIndex > currentHistoryIndex ? \"forward\" : \"back\";\n currentHistoryIndex = nextIndex;\n transition(direction, originalLocation, new URL(location.href), {}, state);\n}\nconst onScrollEnd = () => {\n if (history.state && (scrollX !== history.state.scrollX || scrollY !== history.state.scrollY)) {\n updateScrollPosition({ scrollX, scrollY });\n }\n};\nif (inBrowser) {\n if (supportsViewTransitions || getFallback() !== \"none\") {\n originalLocation = new URL(location.href);\n addEventListener(\"popstate\", onPopState);\n addEventListener(\"load\", onPageLoad);\n if (\"onscrollend\" in window) addEventListener(\"scrollend\", onScrollEnd);\n else {\n let intervalId, lastY, lastX, lastIndex;\n const scrollInterval = () => {\n if (lastIndex !== history.state?.index) {\n clearInterval(intervalId);\n intervalId = void 0;\n return;\n }\n if (lastY === scrollY && lastX === scrollX) {\n clearInterval(intervalId);\n intervalId = void 0;\n onScrollEnd();\n return;\n } else {\n lastY = scrollY, lastX = scrollX;\n }\n };\n addEventListener(\n \"scroll\",\n () => {\n if (intervalId !== void 0) return;\n lastIndex = history.state.index, lastY = scrollY, lastX = scrollX;\n intervalId = window.setInterval(scrollInterval, 50);\n },\n { passive: true }\n );\n }\n }\n for (const script of document.scripts) {\n script.dataset.astroExec = \"\";\n }\n}\nasync function prepareForClientOnlyComponents(newDocument, toLocation, signal) {\n if (newDocument.body.querySelector(`astro-island[client='only']`)) {\n const nextPage = document.createElement(\"iframe\");\n nextPage.src = toLocation.href;\n nextPage.style.display = \"none\";\n document.body.append(nextPage);\n nextPage.contentWindow.console = Object.keys(console).reduce((acc, key) => {\n acc[key] = () => {\n };\n return acc;\n }, {});\n await hydrationDone(nextPage);\n const nextHead = nextPage.contentDocument?.head;\n if (nextHead) {\n const viteIds = [...nextHead.querySelectorAll(`style[${VITE_ID}]`)].map(\n (style) => style.getAttribute(VITE_ID)\n );\n viteIds.forEach((id) => {\n const style = nextHead.querySelector(`style[${VITE_ID}=\"${id}\"]`);\n if (style && !newDocument.head.querySelector(`style[${VITE_ID}=\"${id}\"]`)) {\n newDocument.head.appendChild(style.cloneNode(true));\n }\n });\n }\n async function hydrationDone(loadingPage) {\n if (!signal.aborted) {\n await new Promise(\n (r) => loadingPage.contentWindow?.addEventListener(\"load\", r, { once: true })\n );\n }\n return new Promise(async (r) => {\n for (let count = 0; count <= 20; ++count) {\n if (signal.aborted) break;\n if (!loadingPage.contentDocument.body.querySelector(\"astro-island[ssr]\")) break;\n await new Promise((r2) => setTimeout(r2, 50));\n }\n r();\n });\n }\n }\n}\nexport {\n getFallback,\n navigate,\n supportsViewTransitions,\n transitionEnabledOnThisPage,\n updateScrollPosition\n};\n"],"names":["PERSIST_ATTR","deselectScripts","doc","s1","s2","swapRootAttributes","html","astroAttributes","name","value","swapHeadElements","el","newEl","persistedHeadElement","swapBodyElement","newElement","oldElement","id","shouldCopyProps","saveFocus","activeElement","start","end","restoreFocus","newDoc","href","persistProps","swap","restoreFocusFunction","TRANSITION_BEFORE_PREPARATION","TRANSITION_AFTER_PREPARATION","TRANSITION_BEFORE_SWAP","TRANSITION_AFTER_SWAP","triggerEvent","BeforeEvent","type","eventInitDict","from","to","direction","navigationType","sourceElement","info","newDocument","signal","TransitionBeforePreparationEvent","formData","loader","TransitionBeforeSwapEvent","afterPreparation","viewTransition","doPreparation","defaultLoader","event","updateScrollPosition","doSwap","pushState","replaceState","positions","supportsViewTransitions","transitionEnabledOnThisPage","samePage","thisLocation","otherLocation","mostRecentNavigation","mostRecentTransition","originalLocation","onPageLoad","announce","div","title","DIRECTION_ATTR","OLD_NEW_ATTR","parser","currentHistoryIndex","fetchHTML","init","res","mediaType","getFallback","runScripts","wait","script","newScript","attr","p","r","moveToLocation","options","pageTitleForBrowserHistory","historyState","intraPage","targetPageTitle","scrolledToTop","current","savedState","preloadStyleLinks","links","c","resolve","evName","updateDOM","preparationEvent","currentTransition","fallback","animate","phase","isInfinite","animation","effect","currentAnimations","newAnimations","a","swapEvent","abortAndRecreateMostRecentNavigation","transition","currentNavigation","prepEvent","form","response","redirectedTo","abortAndRecreateMostRecentTransition","updateDone","e","err","navigate","onPopState","ev","state","nextIndex","onScrollEnd","intervalId","lastY","lastX","lastIndex","scrollInterval"],"mappings":"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","x_google_ignoreList":[0,1,2]} \ No newline at end of file diff --git a/Target/_astro/index.Pa49pp0M.css b/Target/_astro/index.Pa49pp0M.css deleted file mode 100644 index 1f04b210..00000000 --- a/Target/_astro/index.Pa49pp0M.css +++ /dev/null @@ -1 +0,0 @@ -/*! tailwindcss v3.4.10 | MIT License | https://tailwindcss.com*/*,:after,:before{border:0 solid #e5e7eb;box-sizing:border-box;--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }:after,:before{--tw-content:""}:host,html{line-height:1.5;-webkit-text-size-adjust:100%;font-family:Albert Sans,ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-feature-settings:normal;font-variation-settings:normal;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-tap-highlight-color:transparent}body{line-height:inherit;margin:0}hr{border-top-width:1px;color:inherit;height:0}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-size:1em;font-variation-settings:normal}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{border-collapse:collapse;border-color:inherit;text-indent:0}button,input,optgroup,select,textarea{color:inherit;font-family:inherit;font-feature-settings:inherit;font-size:100%;font-variation-settings:inherit;font-weight:inherit;letter-spacing:inherit;line-height:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{color:#6b7280;opacity:1}input::placeholder,textarea::placeholder{color:#6b7280;opacity:1}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{height:auto;max-width:100%}[hidden]{display:none}[multiple],[type=date],[type=datetime-local],[type=email],[type=month],[type=number],[type=password],[type=search],[type=tel],[type=text],[type=time],[type=url],[type=week],input:where(:not([type])),select,textarea{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:#fff;border-color:#6b7280;border-radius:0;border-width:1px;font-size:1rem;line-height:1.5rem;padding:.5rem .75rem;--tw-shadow:0 0 #0000}[multiple]:focus,[type=date]:focus,[type=datetime-local]:focus,[type=email]:focus,[type=month]:focus,[type=number]:focus,[type=password]:focus,[type=search]:focus,[type=tel]:focus,[type=text]:focus,[type=time]:focus,[type=url]:focus,[type=week]:focus,input:where(:not([type])):focus,select:focus,textarea:focus{outline:2px solid transparent;outline-offset:2px;--tw-ring-inset:var(--tw-empty, );--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#2563eb;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);border-color:#2563eb;box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-date-and-time-value{min-height:1.5em;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit,::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-meridiem-field,::-webkit-datetime-edit-millisecond-field,::-webkit-datetime-edit-minute-field,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-second-field,::-webkit-datetime-edit-year-field{padding-bottom:0;padding-top:0}select{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3E%3Cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m6 8 4 4 4-4'/%3E%3C/svg%3E");background-position:right .5rem center;background-repeat:no-repeat;background-size:1.5em 1.5em;padding-right:2.5rem;-webkit-print-color-adjust:exact;print-color-adjust:exact}[multiple],[size]:where(select:not([size="1"])){background-image:none;background-position:0 0;background-repeat:unset;background-size:initial;padding-right:.75rem;-webkit-print-color-adjust:unset;print-color-adjust:unset}[type=checkbox],[type=radio]{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:#fff;background-origin:border-box;border-color:#6b7280;border-width:1px;color:#2563eb;display:inline-block;flex-shrink:0;height:1rem;padding:0;-webkit-print-color-adjust:exact;print-color-adjust:exact;-webkit-user-select:none;-moz-user-select:none;user-select:none;vertical-align:middle;width:1rem;--tw-shadow:0 0 #0000}[type=checkbox]{border-radius:0}[type=radio]{border-radius:100%}[type=checkbox]:focus,[type=radio]:focus{outline:2px solid transparent;outline-offset:2px;--tw-ring-inset:var(--tw-empty, );--tw-ring-offset-width:2px;--tw-ring-offset-color:#fff;--tw-ring-color:#2563eb;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}[type=checkbox]:checked,[type=radio]:checked{background-color:currentColor;background-position:50%;background-repeat:no-repeat;background-size:100% 100%;border-color:transparent}[type=checkbox]:checked{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 16 16'%3E%3Cpath d='M12.207 4.793a1 1 0 0 1 0 1.414l-5 5a1 1 0 0 1-1.414 0l-2-2a1 1 0 0 1 1.414-1.414L6.5 9.086l4.293-4.293a1 1 0 0 1 1.414 0'/%3E%3C/svg%3E")}[type=radio]:checked{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 16 16'%3E%3Ccircle cx='8' cy='8' r='3'/%3E%3C/svg%3E")}[type=checkbox]:checked:focus,[type=checkbox]:checked:hover,[type=radio]:checked:focus,[type=radio]:checked:hover{background-color:currentColor;border-color:transparent}[type=checkbox]:indeterminate{background-color:currentColor;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 16 16'%3E%3Cpath stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M4 8h8'/%3E%3C/svg%3E");background-position:50%;background-repeat:no-repeat;background-size:100% 100%;border-color:transparent}[type=checkbox]:indeterminate:focus,[type=checkbox]:indeterminate:hover{background-color:currentColor;border-color:transparent}[type=file]{background:unset;border-color:inherit;border-radius:0;border-width:0;font-size:unset;line-height:inherit;padding:0}[type=file]:focus{outline:1px auto -webkit-focus-ring-color}:root{--background-light:#fff;--background-dark:#000}::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }.grow{flex-grow:1}@media (forced-colors:active){[type=checkbox]:checked,[type=radio]:checked{-webkit-appearance:auto;-moz-appearance:auto;appearance:auto}[type=checkbox]:indeterminate{-webkit-appearance:auto;-moz-appearance:auto;appearance:auto}}.astro-route-announcer{left:0;position:absolute;top:0;clip:rect(0 0 0 0);clip-path:inset(50%);height:1px;overflow:hidden;white-space:nowrap;width:1px}html{-webkit-tap-highlight-color:transparent}body,html{height:100%;width:100%}body{display:flex;flex-direction:column;flex-grow:1;--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity));--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction);--tw-text-opacity:1;color:rgb(0 0 0/var(--tw-text-opacity));-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-variant-ligatures:no-common-ligatures;--swup-overlay-theme-color:#fff;--swup-overlay-theme-duration:.21s;--swup-overlay-theme-delay:0s;--swup-overlay-theme-scale:.21;--swup-overlay-theme-skew:0deg}::-moz-selection{text-shadow:none;--tw-bg-opacity:1;background-color:rgb(251 191 36/var(--tw-bg-opacity));--tw-text-opacity:1;color:rgb(0 0 0/var(--tw-text-opacity))}::selection{text-shadow:none;--tw-bg-opacity:1;background-color:rgb(251 191 36/var(--tw-bg-opacity));--tw-text-opacity:1;color:rgb(0 0 0/var(--tw-text-opacity))}img{display:inline-block;outline:2px solid transparent;outline-offset:2px;-webkit-user-select:none;-moz-user-select:none;user-select:none;vertical-align:top}@media (min-width:640px){body{-webkit-font-smoothing:auto;-moz-osx-font-smoothing:auto}}@media (prefers-color-scheme:dark){body{--tw-bg-opacity:1;background-color:rgb(0 0 0/var(--tw-bg-opacity));--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity));--swup-overlay-theme-color:#000}::-moz-selection{--tw-bg-opacity:1;background-color:rgb(251 146 60/var(--tw-bg-opacity));--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}::selection{--tw-bg-opacity:1;background-color:rgb(251 146 60/var(--tw-bg-opacity));--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}} diff --git a/Target/_astro/index.esm.C4IwMFMF.js b/Target/_astro/index.esm.C4IwMFMF.js deleted file mode 100644 index b044ba46..00000000 --- a/Target/_astro/index.esm.C4IwMFMF.js +++ /dev/null @@ -1 +0,0 @@ -var L={};const W=function(e){const t=[];let r=0;for(let n=0;n>6|192,t[r++]=63&a|128):55296==(64512&a)&&n+1>18|240,t[r++]=a>>12&63|128,t[r++]=a>>6&63|128,t[r++]=63&a|128):(t[r++]=a>>12|224,t[r++]=a>>6&63|128,t[r++]=63&a|128)}return t},ee=function(e){const t=[];let r=0,n=0;for(;r191&&a<224){const i=e[r++];t[n++]=String.fromCharCode((31&a)<<6|63&i)}else if(a>239&&a<365){const i=((7&a)<<18|(63&e[r++])<<12|(63&e[r++])<<6|63&e[r++])-65536;t[n++]=String.fromCharCode(55296+(i>>10)),t[n++]=String.fromCharCode(56320+(1023&i))}else{const i=e[r++],s=e[r++];t[n++]=String.fromCharCode((15&a)<<12|(63&i)<<6|63&s)}}return t.join("")},G={byteToCharMap_:null,charToByteMap_:null,byteToCharMapWebSafe_:null,charToByteMapWebSafe_:null,ENCODED_VALS_BASE:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789",get ENCODED_VALS(){return this.ENCODED_VALS_BASE+"+/="},get ENCODED_VALS_WEBSAFE(){return this.ENCODED_VALS_BASE+"-_."},HAS_NATIVE_SUPPORT:"function"==typeof atob,encodeByteArray(e,t){if(!Array.isArray(e))throw Error("encodeByteArray takes an array as a parameter");this.init_();const r=t?this.byteToCharMapWebSafe_:this.byteToCharMap_,n=[];for(let t=0;t>2,l=(3&a)<<4|s>>4;let d=(15&s)<<2|c>>6,u=63&c;o||(u=64,i||(d=64)),n.push(r[h],r[l],r[d],r[u])}return n.join("")},encodeString(e,t){return this.HAS_NATIVE_SUPPORT&&!t?btoa(e):this.encodeByteArray(W(e),t)},decodeString(e,t){return this.HAS_NATIVE_SUPPORT&&!t?atob(e):ee(this.decodeStringToByteArray(e,t))},decodeStringToByteArray(e,t){this.init_();const r=t?this.charToByteMapWebSafe_:this.charToByteMap_,n=[];for(let t=0;t>4;if(n.push(c),64!==s){const e=i<<4&240|s>>2;if(n.push(e),64!==o){const e=s<<6&192|o;n.push(e)}}}return n},init_(){if(!this.byteToCharMap_){this.byteToCharMap_={},this.charToByteMap_={},this.byteToCharMapWebSafe_={},this.charToByteMapWebSafe_={};for(let e=0;e=this.ENCODED_VALS_BASE.length&&(this.charToByteMap_[this.ENCODED_VALS_WEBSAFE.charAt(e)]=e,this.charToByteMapWebSafe_[this.ENCODED_VALS.charAt(e)]=e)}}};class te extends Error{constructor(){super(...arguments),this.name="DecodeBase64StringError"}}const ne=function(e){const t=W(e);return G.encodeByteArray(t,!0)},J=function(e){return ne(e).replace(/\./g,"")},re=function(e){try{return G.decodeString(e,!0)}catch(e){console.error("base64Decode failed: ",e)}return null};function se(){if(typeof self<"u")return self;if(typeof window<"u")return window;if(typeof global<"u")return global;throw new Error("Unable to locate global object.")}const ae=()=>se().__FIREBASE_DEFAULTS__,ie=()=>{if(typeof process>"u"||typeof L>"u")return;const e=L.__FIREBASE_DEFAULTS__;return e?JSON.parse(e):void 0},oe=()=>{if(typeof document>"u")return;let e;try{e=document.cookie.match(/__FIREBASE_DEFAULTS__=([^;]+)/)}catch{return}const t=e&&re(e[1]);return t&&JSON.parse(t)},ce=()=>{try{return ae()||ie()||oe()}catch(e){return void console.info(`Unable to get __FIREBASE_DEFAULTS__ due to: ${e}`)}},he=()=>{var e;return null===(e=ce())||void 0===e?void 0:e.config};class le{constructor(){this.reject=()=>{},this.resolve=()=>{},this.promise=new Promise(((e,t)=>{this.resolve=e,this.reject=t}))}wrapCallback(e){return(t,r)=>{t?this.reject(t):this.resolve(r),"function"==typeof e&&(this.promise.catch((()=>{})),1===e.length?e(t):e(t,r))}}}function de(){try{return"object"==typeof indexedDB}catch{return!1}}function fe(){return new Promise(((e,t)=>{try{let r=!0;const n="validate-browser-context-for-indexeddb-analytics-module",a=self.indexedDB.open(n);a.onsuccess=()=>{a.result.close(),r||self.indexedDB.deleteDatabase(n),e(!0)},a.onupgradeneeded=()=>{r=!1},a.onerror=()=>{var e;t((null===(e=a.error)||void 0===e?void 0:e.message)||"")}}catch(e){t(e)}}))}const ue="FirebaseError";class b extends Error{constructor(e,t,r){super(t),this.code=e,this.customData=r,this.name=ue,Object.setPrototypeOf(this,b.prototype),Error.captureStackTrace&&Error.captureStackTrace(this,K.prototype.create)}}class K{constructor(e,t,r){this.service=e,this.serviceName=t,this.errors=r}create(e,...t){const r=t[0]||{},n=`${this.service}/${e}`,a=this.errors[e],i=a?pe(a,r):"Error",s=`${this.serviceName}: ${i} (${n}).`;return new b(n,s,r)}}function pe(e,t){return e.replace(me,((e,r)=>{const n=t[r];return null!=n?String(n):`<${r}?>`}))}const me=/\{\$([^}]+)}/g;function C(e,t){if(e===t)return!0;const r=Object.keys(e),n=Object.keys(t);for(const a of r){if(!n.includes(a))return!1;const r=e[a],i=t[a];if(H(r)&&H(i)){if(!C(r,i))return!1}else if(r!==i)return!1}for(const e of n)if(!r.includes(e))return!1;return!0}function H(e){return null!==e&&"object"==typeof e}class D{constructor(e,t,r){this.name=e,this.instanceFactory=t,this.type=r,this.multipleInstances=!1,this.serviceProps={},this.instantiationMode="LAZY",this.onInstanceCreated=null}setInstantiationMode(e){return this.instantiationMode=e,this}setMultipleInstances(e){return this.multipleInstances=e,this}setServiceProps(e){return this.serviceProps=e,this}setInstanceCreatedCallback(e){return this.onInstanceCreated=e,this}}const u="[DEFAULT]";class ge{constructor(e,t){this.name=e,this.container=t,this.component=null,this.instances=new Map,this.instancesDeferred=new Map,this.instancesOptions=new Map,this.onInitCallbacks=new Map}get(e){const t=this.normalizeInstanceIdentifier(e);if(!this.instancesDeferred.has(t)){const e=new le;if(this.instancesDeferred.set(t,e),this.isInitialized(t)||this.shouldAutoInitialize())try{const r=this.getOrInitializeService({instanceIdentifier:t});r&&e.resolve(r)}catch{}}return this.instancesDeferred.get(t).promise}getImmediate(e){var t;const r=this.normalizeInstanceIdentifier(e?.identifier),n=null!==(t=e?.optional)&&void 0!==t&&t;if(!this.isInitialized(r)&&!this.shouldAutoInitialize()){if(n)return null;throw Error(`Service ${this.name} is not available`)}try{return this.getOrInitializeService({instanceIdentifier:r})}catch(e){if(n)return null;throw e}}getComponent(){return this.component}setComponent(e){if(e.name!==this.name)throw Error(`Mismatching Component ${e.name} for Provider ${this.name}.`);if(this.component)throw Error(`Component for ${this.name} has already been provided`);if(this.component=e,this.shouldAutoInitialize()){if(_e(e))try{this.getOrInitializeService({instanceIdentifier:u})}catch{}for(const[e,t]of this.instancesDeferred.entries()){const r=this.normalizeInstanceIdentifier(e);try{const e=this.getOrInitializeService({instanceIdentifier:r});t.resolve(e)}catch{}}}}clearInstance(e=u){this.instancesDeferred.delete(e),this.instancesOptions.delete(e),this.instances.delete(e)}async delete(){const e=Array.from(this.instances.values());await Promise.all([...e.filter((e=>"INTERNAL"in e)).map((e=>e.INTERNAL.delete())),...e.filter((e=>"_delete"in e)).map((e=>e._delete()))])}isComponentSet(){return null!=this.component}isInitialized(e=u){return this.instances.has(e)}getOptions(e=u){return this.instancesOptions.get(e)||{}}initialize(e={}){const{options:t={}}=e,r=this.normalizeInstanceIdentifier(e.instanceIdentifier);if(this.isInitialized(r))throw Error(`${this.name}(${r}) has already been initialized`);if(!this.isComponentSet())throw Error(`Component ${this.name} has not been registered yet`);const n=this.getOrInitializeService({instanceIdentifier:r,options:t});for(const[e,t]of this.instancesDeferred.entries()){r===this.normalizeInstanceIdentifier(e)&&t.resolve(n)}return n}onInit(e,t){var r;const n=this.normalizeInstanceIdentifier(t),a=null!==(r=this.onInitCallbacks.get(n))&&void 0!==r?r:new Set;a.add(e),this.onInitCallbacks.set(n,a);const i=this.instances.get(n);return i&&e(i,n),()=>{a.delete(e)}}invokeOnInitCallbacks(e,t){const r=this.onInitCallbacks.get(t);if(r)for(const n of r)try{n(e,t)}catch{}}getOrInitializeService({instanceIdentifier:e,options:t={}}){let r=this.instances.get(e);if(!r&&this.component&&(r=this.component.instanceFactory(this.container,{instanceIdentifier:be(e),options:t}),this.instances.set(e,r),this.instancesOptions.set(e,t),this.invokeOnInitCallbacks(r,e),this.component.onInstanceCreated))try{this.component.onInstanceCreated(this.container,e,r)}catch{}return r||null}normalizeInstanceIdentifier(e=u){return this.component?this.component.multipleInstances?e:u:e}shouldAutoInitialize(){return!!this.component&&"EXPLICIT"!==this.component.instantiationMode}}function be(e){return e===u?void 0:e}function _e(e){return"EAGER"===e.instantiationMode}class Ee{constructor(e){this.name=e,this.providers=new Map}addComponent(e){const t=this.getProvider(e.name);if(t.isComponentSet())throw new Error(`Component ${e.name} has already been registered with ${this.name}`);t.setComponent(e)}addOrOverwriteComponent(e){this.getProvider(e.name).isComponentSet()&&this.providers.delete(e.name),this.addComponent(e)}getProvider(e){if(this.providers.has(e))return this.providers.get(e);const t=new ge(e,this);return this.providers.set(e,t),t}getProviders(){return Array.from(this.providers.values())}}var h;!function(e){e[e.DEBUG=0]="DEBUG",e[e.VERBOSE=1]="VERBOSE",e[e.INFO=2]="INFO",e[e.WARN=3]="WARN",e[e.ERROR=4]="ERROR",e[e.SILENT=5]="SILENT"}(h||(h={}));const ye={debug:h.DEBUG,verbose:h.VERBOSE,info:h.INFO,warn:h.WARN,error:h.ERROR,silent:h.SILENT},De=h.INFO,Ie={[h.DEBUG]:"log",[h.VERBOSE]:"log",[h.INFO]:"info",[h.WARN]:"warn",[h.ERROR]:"error"},ve=(e,t,...r)=>{if(tt.some((t=>e instanceof t));let P,F;function Ce(){return P||(P=[IDBDatabase,IDBObjectStore,IDBIndex,IDBCursor,IDBTransaction])}function Ae(){return F||(F=[IDBCursor.prototype.advance,IDBCursor.prototype.continue,IDBCursor.prototype.continuePrimaryKey])}const Y=new WeakMap,A=new WeakMap,X=new WeakMap,I=new WeakMap,N=new WeakMap;function Be(e){const t=new Promise(((t,r)=>{const n=()=>{e.removeEventListener("success",a),e.removeEventListener("error",i)},a=()=>{t(f(e.result)),n()},i=()=>{r(e.error),n()};e.addEventListener("success",a),e.addEventListener("error",i)}));return t.then((t=>{t instanceof IDBCursor&&Y.set(t,e)})).catch((()=>{})),N.set(t,e),t}function Oe(e){if(A.has(e))return;const t=new Promise(((t,r)=>{const n=()=>{e.removeEventListener("complete",a),e.removeEventListener("error",i),e.removeEventListener("abort",i)},a=()=>{t(),n()},i=()=>{r(e.error||new DOMException("AbortError","AbortError")),n()};e.addEventListener("complete",a),e.addEventListener("error",i),e.addEventListener("abort",i)}));A.set(e,t)}let B={get(e,t,r){if(e instanceof IDBTransaction){if("done"===t)return A.get(e);if("objectStoreNames"===t)return e.objectStoreNames||X.get(e);if("store"===t)return r.objectStoreNames[1]?void 0:r.objectStore(r.objectStoreNames[0])}return f(e[t])},set:(e,t,r)=>(e[t]=r,!0),has:(e,t)=>e instanceof IDBTransaction&&("done"===t||"store"===t)||t in e};function Te(e){B=e(B)}function Me(e){return e!==IDBDatabase.prototype.transaction||"objectStoreNames"in IDBTransaction.prototype?Ae().includes(e)?function(...t){return e.apply(v(this),t),f(Y.get(this))}:function(...t){return f(e.apply(v(this),t))}:function(t,...r){const n=e.call(v(this),t,...r);return X.set(n,t.sort?t.sort():[t]),f(n)}}function $e(e){return"function"==typeof e?Me(e):(e instanceof IDBTransaction&&Oe(e),Se(e,Ce())?new Proxy(e,B):e)}function f(e){if(e instanceof IDBRequest)return Be(e);if(I.has(e))return I.get(e);const t=$e(e);return t!==e&&(I.set(e,t),N.set(t,e)),t}const v=e=>N.get(e);function Ne(e,t,{blocked:r,upgrade:n,blocking:a,terminated:i}={}){const s=indexedDB.open(e,t),o=f(s);return n&&s.addEventListener("upgradeneeded",(e=>{n(f(s.result),e.oldVersion,e.newVersion,f(s.transaction),e)})),r&&s.addEventListener("blocked",(e=>r(e.oldVersion,e.newVersion,e))),o.then((e=>{i&&e.addEventListener("close",(()=>i())),a&&e.addEventListener("versionchange",(e=>a(e.oldVersion,e.newVersion,e)))})).catch((()=>{})),o}const Re=["get","getKey","getAll","getAllKeys","count"],Le=["put","add","delete","clear"],w=new Map;function x(e,t){if(!(e instanceof IDBDatabase)||t in e||"string"!=typeof t)return;if(w.get(t))return w.get(t);const r=t.replace(/FromIndex$/,""),n=t!==r,a=Le.includes(r);if(!(r in(n?IDBIndex:IDBObjectStore).prototype)||!a&&!Re.includes(r))return;const i=async function(e,...t){const i=this.transaction(e,a?"readwrite":"readonly");let s=i.store;return n&&(s=s.index(t.shift())),(await Promise.all([s[r](...t),a&&i.done]))[0]};return w.set(t,i),i}Te((e=>({...e,get:(t,r,n)=>x(t,r)||e.get(t,r,n),has:(t,r)=>!!x(t,r)||e.has(t,r)})));class He{constructor(e){this.container=e}getPlatformInfoString(){return this.container.getProviders().map((e=>{if(Pe(e)){const t=e.getImmediate();return`${t.library}/${t.version}`}return null})).filter((e=>e)).join(" ")}}function Pe(e){const t=e.getComponent();return"VERSION"===t?.type}const O="@firebase/app",V="0.10.10",d=new we("@firebase/app"),Fe="@firebase/app-compat",xe="@firebase/analytics-compat",Ve="@firebase/analytics",je="@firebase/app-check-compat",ke="@firebase/app-check",ze="@firebase/auth",Ue="@firebase/auth-compat",We="@firebase/database",Ge="@firebase/database-compat",Je="@firebase/functions",Ke="@firebase/functions-compat",Ye="@firebase/installations",Xe="@firebase/installations-compat",Ze="@firebase/messaging",qe="@firebase/messaging-compat",Qe="@firebase/performance",et="@firebase/performance-compat",tt="@firebase/remote-config",nt="@firebase/remote-config-compat",rt="@firebase/storage",st="@firebase/storage-compat",at="@firebase/firestore",it="@firebase/vertexai-preview",ot="@firebase/firestore-compat",ct="firebase",ht="[DEFAULT]",lt={[O]:"fire-core",[Fe]:"fire-core-compat",[Ve]:"fire-analytics",[xe]:"fire-analytics-compat",[ke]:"fire-app-check",[je]:"fire-app-check-compat",[ze]:"fire-auth",[Ue]:"fire-auth-compat",[We]:"fire-rtdb",[Ge]:"fire-rtdb-compat",[Je]:"fire-fn",[Ke]:"fire-fn-compat",[Ye]:"fire-iid",[Xe]:"fire-iid-compat",[Ze]:"fire-fcm",[qe]:"fire-fcm-compat",[Qe]:"fire-perf",[et]:"fire-perf-compat",[tt]:"fire-rc",[nt]:"fire-rc-compat",[rt]:"fire-gcs",[st]:"fire-gcs-compat",[at]:"fire-fst",[ot]:"fire-fst-compat",[it]:"fire-vertex","fire-js":"fire-js",[ct]:"fire-js-all"},T=new Map,dt=new Map,M=new Map;function j(e,t){try{e.container.addComponent(t)}catch(r){d.debug(`Component ${t.name} failed to register with FirebaseApp ${e.name}`,r)}}function $(e){const t=e.name;if(M.has(t))return d.debug(`There were multiple attempts to register component ${t}.`),!1;M.set(t,e);for(const t of T.values())j(t,e);for(const t of dt.values())j(t,e);return!0}const ft={"no-app":"No Firebase App '{$appName}' has been created - call initializeApp() first","bad-app-name":"Illegal App name: '{$appName}'","duplicate-app":"Firebase App named '{$appName}' already exists with different options or config","app-deleted":"Firebase App named '{$appName}' already deleted","server-app-deleted":"Firebase Server App has been deleted","no-options":"Need to provide options, when not being deployed to hosting via source.","invalid-app-argument":"firebase.{$appName}() takes either no argument or a Firebase App instance.","invalid-log-argument":"First argument to `onLog` must be null or a function.","idb-open":"Error thrown when opening IndexedDB. Original error: {$originalErrorMessage}.","idb-get":"Error thrown when reading from IndexedDB. Original error: {$originalErrorMessage}.","idb-set":"Error thrown when writing to IndexedDB. Original error: {$originalErrorMessage}.","idb-delete":"Error thrown when deleting from IndexedDB. Original error: {$originalErrorMessage}.","finalization-registry-not-supported":"FirebaseServerApp deleteOnDeref field defined but the JS runtime does not support FinalizationRegistry.","invalid-server-app-environment":"FirebaseServerApp is not for use in browser environments."},p=new K("app","Firebase",ft);class ut{constructor(e,t,r){this._isDeleted=!1,this._options=Object.assign({},e),this._config=Object.assign({},t),this._name=t.name,this._automaticDataCollectionEnabled=t.automaticDataCollectionEnabled,this._container=r,this.container.addComponent(new D("app",(()=>this),"PUBLIC"))}get automaticDataCollectionEnabled(){return this.checkDestroyed(),this._automaticDataCollectionEnabled}set automaticDataCollectionEnabled(e){this.checkDestroyed(),this._automaticDataCollectionEnabled=e}get name(){return this.checkDestroyed(),this._name}get options(){return this.checkDestroyed(),this._options}get config(){return this.checkDestroyed(),this._config}get container(){return this._container}get isDeleted(){return this._isDeleted}set isDeleted(e){this._isDeleted=e}checkDestroyed(){if(this.isDeleted)throw p.create("app-deleted",{appName:this._name})}}function St(e,t={}){let r=e;"object"!=typeof t&&(t={name:t});const n=Object.assign({name:ht,automaticDataCollectionEnabled:!1},t),a=n.name;if("string"!=typeof a||!a)throw p.create("bad-app-name",{appName:String(a)});if(r||(r=he()),!r)throw p.create("no-options");const i=T.get(a);if(i){if(C(r,i.options)&&C(n,i.config))return i;throw p.create("duplicate-app",{appName:a})}const s=new Ee(a);for(const e of M.values())s.addComponent(e);const o=new ut(r,n,s);return T.set(a,o),o}function y(e,t,r){var n;let a=null!==(n=lt[e])&&void 0!==n?n:e;r&&(a+=`-${r}`);const i=a.match(/\s|\//),s=t.match(/\s|\//);if(i||s){const e=[`Unable to register library "${a}" with version "${t}":`];return i&&e.push(`library name "${a}" contains illegal characters (whitespace or "/")`),i&&s&&e.push("and"),s&&e.push(`version name "${t}" contains illegal characters (whitespace or "/")`),void d.warn(e.join(" "))}$(new D(`${a}-version`,(()=>({library:a,version:t})),"VERSION"))}const pt="firebase-heartbeat-database",mt=1,g="firebase-heartbeat-store";let S=null;function Z(){return S||(S=Ne(pt,mt,{upgrade:(e,t)=>{if(0===t)try{e.createObjectStore(g)}catch(e){console.warn(e)}}}).catch((e=>{throw p.create("idb-open",{originalErrorMessage:e.message})}))),S}async function gt(e){try{const t=(await Z()).transaction(g),r=await t.objectStore(g).get(q(e));return await t.done,r}catch(e){if(e instanceof b)d.warn(e.message);else{const t=p.create("idb-get",{originalErrorMessage:e?.message});d.warn(t.message)}}}async function k(e,t){try{const r=(await Z()).transaction(g,"readwrite");await r.objectStore(g).put(t,q(e)),await r.done}catch(e){if(e instanceof b)d.warn(e.message);else{const t=p.create("idb-set",{originalErrorMessage:e?.message});d.warn(t.message)}}}function q(e){return`${e.name}!${e.options.appId}`}const bt=1024,_t=2592e6;class Et{constructor(e){this.container=e,this._heartbeatsCache=null;const t=this.container.getProvider("app").getImmediate();this._storage=new Dt(t),this._heartbeatsCachePromise=this._storage.read().then((e=>(this._heartbeatsCache=e,e)))}async triggerHeartbeat(){var e,t;try{const r=this.container.getProvider("platform-logger").getImmediate().getPlatformInfoString(),n=z();return null==(null===(e=this._heartbeatsCache)||void 0===e?void 0:e.heartbeats)&&(this._heartbeatsCache=await this._heartbeatsCachePromise,null==(null===(t=this._heartbeatsCache)||void 0===t?void 0:t.heartbeats))||this._heartbeatsCache.lastSentHeartbeatDate===n||this._heartbeatsCache.heartbeats.some((e=>e.date===n))?void 0:(this._heartbeatsCache.heartbeats.push({date:n,agent:r}),this._heartbeatsCache.heartbeats=this._heartbeatsCache.heartbeats.filter((e=>{const t=new Date(e.date).valueOf();return Date.now()-t<=_t})),this._storage.overwrite(this._heartbeatsCache))}catch(e){d.warn(e)}}async getHeartbeatsHeader(){var e;try{if(null===this._heartbeatsCache&&await this._heartbeatsCachePromise,null==(null===(e=this._heartbeatsCache)||void 0===e?void 0:e.heartbeats)||0===this._heartbeatsCache.heartbeats.length)return"";const t=z(),{heartbeatsToSend:r,unsentEntries:n}=yt(this._heartbeatsCache.heartbeats),a=J(JSON.stringify({version:2,heartbeats:r}));return this._heartbeatsCache.lastSentHeartbeatDate=t,n.length>0?(this._heartbeatsCache.heartbeats=n,await this._storage.overwrite(this._heartbeatsCache)):(this._heartbeatsCache.heartbeats=[],this._storage.overwrite(this._heartbeatsCache)),a}catch(e){return d.warn(e),""}}}function z(){return(new Date).toISOString().substring(0,10)}function yt(e,t=bt){const r=[];let n=e.slice();for(const a of e){const e=r.find((e=>e.agent===a.agent));if(e){if(e.dates.push(a.date),U(r)>t){e.dates.pop();break}}else if(r.push({agent:a.agent,dates:[a.date]}),U(r)>t){r.pop();break}n=n.slice(1)}return{heartbeatsToSend:r,unsentEntries:n}}class Dt{constructor(e){this.app=e,this._canUseIndexedDBPromise=this.runIndexedDBEnvironmentCheck()}async runIndexedDBEnvironmentCheck(){return!!de()&&fe().then((()=>!0)).catch((()=>!1))}async read(){if(await this._canUseIndexedDBPromise){const e=await gt(this.app);return e?.heartbeats?e:{heartbeats:[]}}return{heartbeats:[]}}async overwrite(e){var t;if(await this._canUseIndexedDBPromise){const r=await this.read();return k(this.app,{lastSentHeartbeatDate:null!==(t=e.lastSentHeartbeatDate)&&void 0!==t?t:r.lastSentHeartbeatDate,heartbeats:e.heartbeats})}}async add(e){var t;if(await this._canUseIndexedDBPromise){const r=await this.read();return k(this.app,{lastSentHeartbeatDate:null!==(t=e.lastSentHeartbeatDate)&&void 0!==t?t:r.lastSentHeartbeatDate,heartbeats:[...r.heartbeats,...e.heartbeats]})}}}function U(e){return J(JSON.stringify({version:2,heartbeats:e})).length}function It(e){$(new D("platform-logger",(e=>new He(e)),"PRIVATE")),$(new D("heartbeat",(e=>new Et(e)),"PRIVATE")),y(O,V,e),y(O,V,"esm2017"),y("fire-js","")}It("");var vt="firebase",wt="10.13.1";y(vt,wt,"app");export{b as FirebaseError,ht as _DEFAULT_ENTRY_NAME,j as _addComponent,T as _apps,M as _components,$ as _registerComponent,dt as _serverApps,St as initializeApp,y as registerVersion}; \ No newline at end of file diff --git a/Target/_astro/index.esm.C4IwMFMF.js.map b/Target/_astro/index.esm.C4IwMFMF.js.map deleted file mode 100644 index 8f1be8ff..00000000 --- a/Target/_astro/index.esm.C4IwMFMF.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"index.esm.C4IwMFMF.js","sources":["../../../../../../node_modules/@firebase/util/dist/index.esm2017.js","../../../../../../node_modules/@firebase/component/dist/esm/index.esm2017.js","../../../../../../node_modules/@firebase/logger/dist/esm/index.esm2017.js","../../../../../../node_modules/idb/build/wrap-idb-value.js","../../../../../../node_modules/idb/build/index.js","../../../../../../node_modules/@firebase/app/dist/esm/index.esm2017.js","../../../../../../node_modules/firebase/app/dist/esm/index.esm.js"],"sourcesContent":["/**\r\n * @license\r\n * Copyright 2017 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n/**\r\n * @fileoverview Firebase constants. Some of these (@defines) can be overridden at compile-time.\r\n */\r\nconst CONSTANTS = {\r\n /**\r\n * @define {boolean} Whether this is the client Node.js SDK.\r\n */\r\n NODE_CLIENT: false,\r\n /**\r\n * @define {boolean} Whether this is the Admin Node.js SDK.\r\n */\r\n NODE_ADMIN: false,\r\n /**\r\n * Firebase SDK Version\r\n */\r\n SDK_VERSION: '${JSCORE_VERSION}'\r\n};\n\n/**\r\n * @license\r\n * Copyright 2017 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n/**\r\n * Throws an error if the provided assertion is falsy\r\n */\r\nconst assert = function (assertion, message) {\r\n if (!assertion) {\r\n throw assertionError(message);\r\n }\r\n};\r\n/**\r\n * Returns an Error object suitable for throwing.\r\n */\r\nconst assertionError = function (message) {\r\n return new Error('Firebase Database (' +\r\n CONSTANTS.SDK_VERSION +\r\n ') INTERNAL ASSERT FAILED: ' +\r\n message);\r\n};\n\n/**\r\n * @license\r\n * Copyright 2017 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\nconst stringToByteArray$1 = function (str) {\r\n // TODO(user): Use native implementations if/when available\r\n const out = [];\r\n let p = 0;\r\n for (let i = 0; i < str.length; i++) {\r\n let c = str.charCodeAt(i);\r\n if (c < 128) {\r\n out[p++] = c;\r\n }\r\n else if (c < 2048) {\r\n out[p++] = (c >> 6) | 192;\r\n out[p++] = (c & 63) | 128;\r\n }\r\n else if ((c & 0xfc00) === 0xd800 &&\r\n i + 1 < str.length &&\r\n (str.charCodeAt(i + 1) & 0xfc00) === 0xdc00) {\r\n // Surrogate Pair\r\n c = 0x10000 + ((c & 0x03ff) << 10) + (str.charCodeAt(++i) & 0x03ff);\r\n out[p++] = (c >> 18) | 240;\r\n out[p++] = ((c >> 12) & 63) | 128;\r\n out[p++] = ((c >> 6) & 63) | 128;\r\n out[p++] = (c & 63) | 128;\r\n }\r\n else {\r\n out[p++] = (c >> 12) | 224;\r\n out[p++] = ((c >> 6) & 63) | 128;\r\n out[p++] = (c & 63) | 128;\r\n }\r\n }\r\n return out;\r\n};\r\n/**\r\n * Turns an array of numbers into the string given by the concatenation of the\r\n * characters to which the numbers correspond.\r\n * @param bytes Array of numbers representing characters.\r\n * @return Stringification of the array.\r\n */\r\nconst byteArrayToString = function (bytes) {\r\n // TODO(user): Use native implementations if/when available\r\n const out = [];\r\n let pos = 0, c = 0;\r\n while (pos < bytes.length) {\r\n const c1 = bytes[pos++];\r\n if (c1 < 128) {\r\n out[c++] = String.fromCharCode(c1);\r\n }\r\n else if (c1 > 191 && c1 < 224) {\r\n const c2 = bytes[pos++];\r\n out[c++] = String.fromCharCode(((c1 & 31) << 6) | (c2 & 63));\r\n }\r\n else if (c1 > 239 && c1 < 365) {\r\n // Surrogate Pair\r\n const c2 = bytes[pos++];\r\n const c3 = bytes[pos++];\r\n const c4 = bytes[pos++];\r\n const u = (((c1 & 7) << 18) | ((c2 & 63) << 12) | ((c3 & 63) << 6) | (c4 & 63)) -\r\n 0x10000;\r\n out[c++] = String.fromCharCode(0xd800 + (u >> 10));\r\n out[c++] = String.fromCharCode(0xdc00 + (u & 1023));\r\n }\r\n else {\r\n const c2 = bytes[pos++];\r\n const c3 = bytes[pos++];\r\n out[c++] = String.fromCharCode(((c1 & 15) << 12) | ((c2 & 63) << 6) | (c3 & 63));\r\n }\r\n }\r\n return out.join('');\r\n};\r\n// We define it as an object literal instead of a class because a class compiled down to es5 can't\r\n// be treeshaked. https://github.com/rollup/rollup/issues/1691\r\n// Static lookup maps, lazily populated by init_()\r\nconst base64 = {\r\n /**\r\n * Maps bytes to characters.\r\n */\r\n byteToCharMap_: null,\r\n /**\r\n * Maps characters to bytes.\r\n */\r\n charToByteMap_: null,\r\n /**\r\n * Maps bytes to websafe characters.\r\n * @private\r\n */\r\n byteToCharMapWebSafe_: null,\r\n /**\r\n * Maps websafe characters to bytes.\r\n * @private\r\n */\r\n charToByteMapWebSafe_: null,\r\n /**\r\n * Our default alphabet, shared between\r\n * ENCODED_VALS and ENCODED_VALS_WEBSAFE\r\n */\r\n ENCODED_VALS_BASE: 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' + 'abcdefghijklmnopqrstuvwxyz' + '0123456789',\r\n /**\r\n * Our default alphabet. Value 64 (=) is special; it means \"nothing.\"\r\n */\r\n get ENCODED_VALS() {\r\n return this.ENCODED_VALS_BASE + '+/=';\r\n },\r\n /**\r\n * Our websafe alphabet.\r\n */\r\n get ENCODED_VALS_WEBSAFE() {\r\n return this.ENCODED_VALS_BASE + '-_.';\r\n },\r\n /**\r\n * Whether this browser supports the atob and btoa functions. This extension\r\n * started at Mozilla but is now implemented by many browsers. We use the\r\n * ASSUME_* variables to avoid pulling in the full useragent detection library\r\n * but still allowing the standard per-browser compilations.\r\n *\r\n */\r\n HAS_NATIVE_SUPPORT: typeof atob === 'function',\r\n /**\r\n * Base64-encode an array of bytes.\r\n *\r\n * @param input An array of bytes (numbers with\r\n * value in [0, 255]) to encode.\r\n * @param webSafe Boolean indicating we should use the\r\n * alternative alphabet.\r\n * @return The base64 encoded string.\r\n */\r\n encodeByteArray(input, webSafe) {\r\n if (!Array.isArray(input)) {\r\n throw Error('encodeByteArray takes an array as a parameter');\r\n }\r\n this.init_();\r\n const byteToCharMap = webSafe\r\n ? this.byteToCharMapWebSafe_\r\n : this.byteToCharMap_;\r\n const output = [];\r\n for (let i = 0; i < input.length; i += 3) {\r\n const byte1 = input[i];\r\n const haveByte2 = i + 1 < input.length;\r\n const byte2 = haveByte2 ? input[i + 1] : 0;\r\n const haveByte3 = i + 2 < input.length;\r\n const byte3 = haveByte3 ? input[i + 2] : 0;\r\n const outByte1 = byte1 >> 2;\r\n const outByte2 = ((byte1 & 0x03) << 4) | (byte2 >> 4);\r\n let outByte3 = ((byte2 & 0x0f) << 2) | (byte3 >> 6);\r\n let outByte4 = byte3 & 0x3f;\r\n if (!haveByte3) {\r\n outByte4 = 64;\r\n if (!haveByte2) {\r\n outByte3 = 64;\r\n }\r\n }\r\n output.push(byteToCharMap[outByte1], byteToCharMap[outByte2], byteToCharMap[outByte3], byteToCharMap[outByte4]);\r\n }\r\n return output.join('');\r\n },\r\n /**\r\n * Base64-encode a string.\r\n *\r\n * @param input A string to encode.\r\n * @param webSafe If true, we should use the\r\n * alternative alphabet.\r\n * @return The base64 encoded string.\r\n */\r\n encodeString(input, webSafe) {\r\n // Shortcut for Mozilla browsers that implement\r\n // a native base64 encoder in the form of \"btoa/atob\"\r\n if (this.HAS_NATIVE_SUPPORT && !webSafe) {\r\n return btoa(input);\r\n }\r\n return this.encodeByteArray(stringToByteArray$1(input), webSafe);\r\n },\r\n /**\r\n * Base64-decode a string.\r\n *\r\n * @param input to decode.\r\n * @param webSafe True if we should use the\r\n * alternative alphabet.\r\n * @return string representing the decoded value.\r\n */\r\n decodeString(input, webSafe) {\r\n // Shortcut for Mozilla browsers that implement\r\n // a native base64 encoder in the form of \"btoa/atob\"\r\n if (this.HAS_NATIVE_SUPPORT && !webSafe) {\r\n return atob(input);\r\n }\r\n return byteArrayToString(this.decodeStringToByteArray(input, webSafe));\r\n },\r\n /**\r\n * Base64-decode a string.\r\n *\r\n * In base-64 decoding, groups of four characters are converted into three\r\n * bytes. If the encoder did not apply padding, the input length may not\r\n * be a multiple of 4.\r\n *\r\n * In this case, the last group will have fewer than 4 characters, and\r\n * padding will be inferred. If the group has one or two characters, it decodes\r\n * to one byte. If the group has three characters, it decodes to two bytes.\r\n *\r\n * @param input Input to decode.\r\n * @param webSafe True if we should use the web-safe alphabet.\r\n * @return bytes representing the decoded value.\r\n */\r\n decodeStringToByteArray(input, webSafe) {\r\n this.init_();\r\n const charToByteMap = webSafe\r\n ? this.charToByteMapWebSafe_\r\n : this.charToByteMap_;\r\n const output = [];\r\n for (let i = 0; i < input.length;) {\r\n const byte1 = charToByteMap[input.charAt(i++)];\r\n const haveByte2 = i < input.length;\r\n const byte2 = haveByte2 ? charToByteMap[input.charAt(i)] : 0;\r\n ++i;\r\n const haveByte3 = i < input.length;\r\n const byte3 = haveByte3 ? charToByteMap[input.charAt(i)] : 64;\r\n ++i;\r\n const haveByte4 = i < input.length;\r\n const byte4 = haveByte4 ? charToByteMap[input.charAt(i)] : 64;\r\n ++i;\r\n if (byte1 == null || byte2 == null || byte3 == null || byte4 == null) {\r\n throw new DecodeBase64StringError();\r\n }\r\n const outByte1 = (byte1 << 2) | (byte2 >> 4);\r\n output.push(outByte1);\r\n if (byte3 !== 64) {\r\n const outByte2 = ((byte2 << 4) & 0xf0) | (byte3 >> 2);\r\n output.push(outByte2);\r\n if (byte4 !== 64) {\r\n const outByte3 = ((byte3 << 6) & 0xc0) | byte4;\r\n output.push(outByte3);\r\n }\r\n }\r\n }\r\n return output;\r\n },\r\n /**\r\n * Lazy static initialization function. Called before\r\n * accessing any of the static map variables.\r\n * @private\r\n */\r\n init_() {\r\n if (!this.byteToCharMap_) {\r\n this.byteToCharMap_ = {};\r\n this.charToByteMap_ = {};\r\n this.byteToCharMapWebSafe_ = {};\r\n this.charToByteMapWebSafe_ = {};\r\n // We want quick mappings back and forth, so we precompute two maps.\r\n for (let i = 0; i < this.ENCODED_VALS.length; i++) {\r\n this.byteToCharMap_[i] = this.ENCODED_VALS.charAt(i);\r\n this.charToByteMap_[this.byteToCharMap_[i]] = i;\r\n this.byteToCharMapWebSafe_[i] = this.ENCODED_VALS_WEBSAFE.charAt(i);\r\n this.charToByteMapWebSafe_[this.byteToCharMapWebSafe_[i]] = i;\r\n // Be forgiving when decoding and correctly decode both encodings.\r\n if (i >= this.ENCODED_VALS_BASE.length) {\r\n this.charToByteMap_[this.ENCODED_VALS_WEBSAFE.charAt(i)] = i;\r\n this.charToByteMapWebSafe_[this.ENCODED_VALS.charAt(i)] = i;\r\n }\r\n }\r\n }\r\n }\r\n};\r\n/**\r\n * An error encountered while decoding base64 string.\r\n */\r\nclass DecodeBase64StringError extends Error {\r\n constructor() {\r\n super(...arguments);\r\n this.name = 'DecodeBase64StringError';\r\n }\r\n}\r\n/**\r\n * URL-safe base64 encoding\r\n */\r\nconst base64Encode = function (str) {\r\n const utf8Bytes = stringToByteArray$1(str);\r\n return base64.encodeByteArray(utf8Bytes, true);\r\n};\r\n/**\r\n * URL-safe base64 encoding (without \".\" padding in the end).\r\n * e.g. Used in JSON Web Token (JWT) parts.\r\n */\r\nconst base64urlEncodeWithoutPadding = function (str) {\r\n // Use base64url encoding and remove padding in the end (dot characters).\r\n return base64Encode(str).replace(/\\./g, '');\r\n};\r\n/**\r\n * URL-safe base64 decoding\r\n *\r\n * NOTE: DO NOT use the global atob() function - it does NOT support the\r\n * base64Url variant encoding.\r\n *\r\n * @param str To be decoded\r\n * @return Decoded result, if possible\r\n */\r\nconst base64Decode = function (str) {\r\n try {\r\n return base64.decodeString(str, true);\r\n }\r\n catch (e) {\r\n console.error('base64Decode failed: ', e);\r\n }\r\n return null;\r\n};\n\n/**\r\n * @license\r\n * Copyright 2017 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n/**\r\n * Do a deep-copy of basic JavaScript Objects or Arrays.\r\n */\r\nfunction deepCopy(value) {\r\n return deepExtend(undefined, value);\r\n}\r\n/**\r\n * Copy properties from source to target (recursively allows extension\r\n * of Objects and Arrays). Scalar values in the target are over-written.\r\n * If target is undefined, an object of the appropriate type will be created\r\n * (and returned).\r\n *\r\n * We recursively copy all child properties of plain Objects in the source- so\r\n * that namespace- like dictionaries are merged.\r\n *\r\n * Note that the target can be a function, in which case the properties in\r\n * the source Object are copied onto it as static properties of the Function.\r\n *\r\n * Note: we don't merge __proto__ to prevent prototype pollution\r\n */\r\nfunction deepExtend(target, source) {\r\n if (!(source instanceof Object)) {\r\n return source;\r\n }\r\n switch (source.constructor) {\r\n case Date:\r\n // Treat Dates like scalars; if the target date object had any child\r\n // properties - they will be lost!\r\n const dateValue = source;\r\n return new Date(dateValue.getTime());\r\n case Object:\r\n if (target === undefined) {\r\n target = {};\r\n }\r\n break;\r\n case Array:\r\n // Always copy the array source and overwrite the target.\r\n target = [];\r\n break;\r\n default:\r\n // Not a plain Object - treat it as a scalar.\r\n return source;\r\n }\r\n for (const prop in source) {\r\n // use isValidKey to guard against prototype pollution. See https://snyk.io/vuln/SNYK-JS-LODASH-450202\r\n if (!source.hasOwnProperty(prop) || !isValidKey(prop)) {\r\n continue;\r\n }\r\n target[prop] = deepExtend(target[prop], source[prop]);\r\n }\r\n return target;\r\n}\r\nfunction isValidKey(key) {\r\n return key !== '__proto__';\r\n}\n\n/**\r\n * @license\r\n * Copyright 2022 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n/**\r\n * Polyfill for `globalThis` object.\r\n * @returns the `globalThis` object for the given environment.\r\n * @public\r\n */\r\nfunction getGlobal() {\r\n if (typeof self !== 'undefined') {\r\n return self;\r\n }\r\n if (typeof window !== 'undefined') {\r\n return window;\r\n }\r\n if (typeof global !== 'undefined') {\r\n return global;\r\n }\r\n throw new Error('Unable to locate global object.');\r\n}\n\n/**\r\n * @license\r\n * Copyright 2022 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\nconst getDefaultsFromGlobal = () => getGlobal().__FIREBASE_DEFAULTS__;\r\n/**\r\n * Attempt to read defaults from a JSON string provided to\r\n * process(.)env(.)__FIREBASE_DEFAULTS__ or a JSON file whose path is in\r\n * process(.)env(.)__FIREBASE_DEFAULTS_PATH__\r\n * The dots are in parens because certain compilers (Vite?) cannot\r\n * handle seeing that variable in comments.\r\n * See https://github.com/firebase/firebase-js-sdk/issues/6838\r\n */\r\nconst getDefaultsFromEnvVariable = () => {\r\n if (typeof process === 'undefined' || typeof process.env === 'undefined') {\r\n return;\r\n }\r\n const defaultsJsonString = process.env.__FIREBASE_DEFAULTS__;\r\n if (defaultsJsonString) {\r\n return JSON.parse(defaultsJsonString);\r\n }\r\n};\r\nconst getDefaultsFromCookie = () => {\r\n if (typeof document === 'undefined') {\r\n return;\r\n }\r\n let match;\r\n try {\r\n match = document.cookie.match(/__FIREBASE_DEFAULTS__=([^;]+)/);\r\n }\r\n catch (e) {\r\n // Some environments such as Angular Universal SSR have a\r\n // `document` object but error on accessing `document.cookie`.\r\n return;\r\n }\r\n const decoded = match && base64Decode(match[1]);\r\n return decoded && JSON.parse(decoded);\r\n};\r\n/**\r\n * Get the __FIREBASE_DEFAULTS__ object. It checks in order:\r\n * (1) if such an object exists as a property of `globalThis`\r\n * (2) if such an object was provided on a shell environment variable\r\n * (3) if such an object exists in a cookie\r\n * @public\r\n */\r\nconst getDefaults = () => {\r\n try {\r\n return (getDefaultsFromGlobal() ||\r\n getDefaultsFromEnvVariable() ||\r\n getDefaultsFromCookie());\r\n }\r\n catch (e) {\r\n /**\r\n * Catch-all for being unable to get __FIREBASE_DEFAULTS__ due\r\n * to any environment case we have not accounted for. Log to\r\n * info instead of swallowing so we can find these unknown cases\r\n * and add paths for them if needed.\r\n */\r\n console.info(`Unable to get __FIREBASE_DEFAULTS__ due to: ${e}`);\r\n return;\r\n }\r\n};\r\n/**\r\n * Returns emulator host stored in the __FIREBASE_DEFAULTS__ object\r\n * for the given product.\r\n * @returns a URL host formatted like `127.0.0.1:9999` or `[::1]:4000` if available\r\n * @public\r\n */\r\nconst getDefaultEmulatorHost = (productName) => { var _a, _b; return (_b = (_a = getDefaults()) === null || _a === void 0 ? void 0 : _a.emulatorHosts) === null || _b === void 0 ? void 0 : _b[productName]; };\r\n/**\r\n * Returns emulator hostname and port stored in the __FIREBASE_DEFAULTS__ object\r\n * for the given product.\r\n * @returns a pair of hostname and port like `[\"::1\", 4000]` if available\r\n * @public\r\n */\r\nconst getDefaultEmulatorHostnameAndPort = (productName) => {\r\n const host = getDefaultEmulatorHost(productName);\r\n if (!host) {\r\n return undefined;\r\n }\r\n const separatorIndex = host.lastIndexOf(':'); // Finding the last since IPv6 addr also has colons.\r\n if (separatorIndex <= 0 || separatorIndex + 1 === host.length) {\r\n throw new Error(`Invalid host ${host} with no separate hostname and port!`);\r\n }\r\n // eslint-disable-next-line no-restricted-globals\r\n const port = parseInt(host.substring(separatorIndex + 1), 10);\r\n if (host[0] === '[') {\r\n // Bracket-quoted `[ipv6addr]:port` => return \"ipv6addr\" (without brackets).\r\n return [host.substring(1, separatorIndex - 1), port];\r\n }\r\n else {\r\n return [host.substring(0, separatorIndex), port];\r\n }\r\n};\r\n/**\r\n * Returns Firebase app config stored in the __FIREBASE_DEFAULTS__ object.\r\n * @public\r\n */\r\nconst getDefaultAppConfig = () => { var _a; return (_a = getDefaults()) === null || _a === void 0 ? void 0 : _a.config; };\r\n/**\r\n * Returns an experimental setting on the __FIREBASE_DEFAULTS__ object (properties\r\n * prefixed by \"_\")\r\n * @public\r\n */\r\nconst getExperimentalSetting = (name) => { var _a; return (_a = getDefaults()) === null || _a === void 0 ? void 0 : _a[`_${name}`]; };\n\n/**\r\n * @license\r\n * Copyright 2017 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\nclass Deferred {\r\n constructor() {\r\n this.reject = () => { };\r\n this.resolve = () => { };\r\n this.promise = new Promise((resolve, reject) => {\r\n this.resolve = resolve;\r\n this.reject = reject;\r\n });\r\n }\r\n /**\r\n * Our API internals are not promiseified and cannot because our callback APIs have subtle expectations around\r\n * invoking promises inline, which Promises are forbidden to do. This method accepts an optional node-style callback\r\n * and returns a node-style callback which will resolve or reject the Deferred's promise.\r\n */\r\n wrapCallback(callback) {\r\n return (error, value) => {\r\n if (error) {\r\n this.reject(error);\r\n }\r\n else {\r\n this.resolve(value);\r\n }\r\n if (typeof callback === 'function') {\r\n // Attaching noop handler just in case developer wasn't expecting\r\n // promises\r\n this.promise.catch(() => { });\r\n // Some of our callbacks don't expect a value and our own tests\r\n // assert that the parameter length is 1\r\n if (callback.length === 1) {\r\n callback(error);\r\n }\r\n else {\r\n callback(error, value);\r\n }\r\n }\r\n };\r\n }\r\n}\n\n/**\r\n * @license\r\n * Copyright 2021 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\nfunction createMockUserToken(token, projectId) {\r\n if (token.uid) {\r\n throw new Error('The \"uid\" field is no longer supported by mockUserToken. Please use \"sub\" instead for Firebase Auth User ID.');\r\n }\r\n // Unsecured JWTs use \"none\" as the algorithm.\r\n const header = {\r\n alg: 'none',\r\n type: 'JWT'\r\n };\r\n const project = projectId || 'demo-project';\r\n const iat = token.iat || 0;\r\n const sub = token.sub || token.user_id;\r\n if (!sub) {\r\n throw new Error(\"mockUserToken must contain 'sub' or 'user_id' field!\");\r\n }\r\n const payload = Object.assign({ \r\n // Set all required fields to decent defaults\r\n iss: `https://securetoken.google.com/${project}`, aud: project, iat, exp: iat + 3600, auth_time: iat, sub, user_id: sub, firebase: {\r\n sign_in_provider: 'custom',\r\n identities: {}\r\n } }, token);\r\n // Unsecured JWTs use the empty string as a signature.\r\n const signature = '';\r\n return [\r\n base64urlEncodeWithoutPadding(JSON.stringify(header)),\r\n base64urlEncodeWithoutPadding(JSON.stringify(payload)),\r\n signature\r\n ].join('.');\r\n}\n\n/**\r\n * @license\r\n * Copyright 2017 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n/**\r\n * Returns navigator.userAgent string or '' if it's not defined.\r\n * @return user agent string\r\n */\r\nfunction getUA() {\r\n if (typeof navigator !== 'undefined' &&\r\n typeof navigator['userAgent'] === 'string') {\r\n return navigator['userAgent'];\r\n }\r\n else {\r\n return '';\r\n }\r\n}\r\n/**\r\n * Detect Cordova / PhoneGap / Ionic frameworks on a mobile device.\r\n *\r\n * Deliberately does not rely on checking `file://` URLs (as this fails PhoneGap\r\n * in the Ripple emulator) nor Cordova `onDeviceReady`, which would normally\r\n * wait for a callback.\r\n */\r\nfunction isMobileCordova() {\r\n return (typeof window !== 'undefined' &&\r\n // @ts-ignore Setting up an broadly applicable index signature for Window\r\n // just to deal with this case would probably be a bad idea.\r\n !!(window['cordova'] || window['phonegap'] || window['PhoneGap']) &&\r\n /ios|iphone|ipod|ipad|android|blackberry|iemobile/i.test(getUA()));\r\n}\r\n/**\r\n * Detect Node.js.\r\n *\r\n * @return true if Node.js environment is detected or specified.\r\n */\r\n// Node detection logic from: https://github.com/iliakan/detect-node/\r\nfunction isNode() {\r\n var _a;\r\n const forceEnvironment = (_a = getDefaults()) === null || _a === void 0 ? void 0 : _a.forceEnvironment;\r\n if (forceEnvironment === 'node') {\r\n return true;\r\n }\r\n else if (forceEnvironment === 'browser') {\r\n return false;\r\n }\r\n try {\r\n return (Object.prototype.toString.call(global.process) === '[object process]');\r\n }\r\n catch (e) {\r\n return false;\r\n }\r\n}\r\n/**\r\n * Detect Browser Environment\r\n */\r\nfunction isBrowser() {\r\n return typeof window !== 'undefined' || isWebWorker();\r\n}\r\n/**\r\n * Detect Web Worker context\r\n */\r\nfunction isWebWorker() {\r\n return (typeof WorkerGlobalScope !== 'undefined' &&\r\n typeof self !== 'undefined' &&\r\n self instanceof WorkerGlobalScope);\r\n}\r\nfunction isBrowserExtension() {\r\n const runtime = typeof chrome === 'object'\r\n ? chrome.runtime\r\n : typeof browser === 'object'\r\n ? browser.runtime\r\n : undefined;\r\n return typeof runtime === 'object' && runtime.id !== undefined;\r\n}\r\n/**\r\n * Detect React Native.\r\n *\r\n * @return true if ReactNative environment is detected.\r\n */\r\nfunction isReactNative() {\r\n return (typeof navigator === 'object' && navigator['product'] === 'ReactNative');\r\n}\r\n/** Detects Electron apps. */\r\nfunction isElectron() {\r\n return getUA().indexOf('Electron/') >= 0;\r\n}\r\n/** Detects Internet Explorer. */\r\nfunction isIE() {\r\n const ua = getUA();\r\n return ua.indexOf('MSIE ') >= 0 || ua.indexOf('Trident/') >= 0;\r\n}\r\n/** Detects Universal Windows Platform apps. */\r\nfunction isUWP() {\r\n return getUA().indexOf('MSAppHost/') >= 0;\r\n}\r\n/**\r\n * Detect whether the current SDK build is the Node version.\r\n *\r\n * @return true if it's the Node SDK build.\r\n */\r\nfunction isNodeSdk() {\r\n return CONSTANTS.NODE_CLIENT === true || CONSTANTS.NODE_ADMIN === true;\r\n}\r\n/** Returns true if we are running in Safari. */\r\nfunction isSafari() {\r\n return (!isNode() &&\r\n !!navigator.userAgent &&\r\n navigator.userAgent.includes('Safari') &&\r\n !navigator.userAgent.includes('Chrome'));\r\n}\r\n/**\r\n * This method checks if indexedDB is supported by current browser/service worker context\r\n * @return true if indexedDB is supported by current browser/service worker context\r\n */\r\nfunction isIndexedDBAvailable() {\r\n try {\r\n return typeof indexedDB === 'object';\r\n }\r\n catch (e) {\r\n return false;\r\n }\r\n}\r\n/**\r\n * This method validates browser/sw context for indexedDB by opening a dummy indexedDB database and reject\r\n * if errors occur during the database open operation.\r\n *\r\n * @throws exception if current browser/sw context can't run idb.open (ex: Safari iframe, Firefox\r\n * private browsing)\r\n */\r\nfunction validateIndexedDBOpenable() {\r\n return new Promise((resolve, reject) => {\r\n try {\r\n let preExist = true;\r\n const DB_CHECK_NAME = 'validate-browser-context-for-indexeddb-analytics-module';\r\n const request = self.indexedDB.open(DB_CHECK_NAME);\r\n request.onsuccess = () => {\r\n request.result.close();\r\n // delete database only when it doesn't pre-exist\r\n if (!preExist) {\r\n self.indexedDB.deleteDatabase(DB_CHECK_NAME);\r\n }\r\n resolve(true);\r\n };\r\n request.onupgradeneeded = () => {\r\n preExist = false;\r\n };\r\n request.onerror = () => {\r\n var _a;\r\n reject(((_a = request.error) === null || _a === void 0 ? void 0 : _a.message) || '');\r\n };\r\n }\r\n catch (error) {\r\n reject(error);\r\n }\r\n });\r\n}\r\n/**\r\n *\r\n * This method checks whether cookie is enabled within current browser\r\n * @return true if cookie is enabled within current browser\r\n */\r\nfunction areCookiesEnabled() {\r\n if (typeof navigator === 'undefined' || !navigator.cookieEnabled) {\r\n return false;\r\n }\r\n return true;\r\n}\n\n/**\r\n * @license\r\n * Copyright 2017 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n/**\r\n * @fileoverview Standardized Firebase Error.\r\n *\r\n * Usage:\r\n *\r\n * // Typescript string literals for type-safe codes\r\n * type Err =\r\n * 'unknown' |\r\n * 'object-not-found'\r\n * ;\r\n *\r\n * // Closure enum for type-safe error codes\r\n * // at-enum {string}\r\n * var Err = {\r\n * UNKNOWN: 'unknown',\r\n * OBJECT_NOT_FOUND: 'object-not-found',\r\n * }\r\n *\r\n * let errors: Map = {\r\n * 'generic-error': \"Unknown error\",\r\n * 'file-not-found': \"Could not find file: {$file}\",\r\n * };\r\n *\r\n * // Type-safe function - must pass a valid error code as param.\r\n * let error = new ErrorFactory('service', 'Service', errors);\r\n *\r\n * ...\r\n * throw error.create(Err.GENERIC);\r\n * ...\r\n * throw error.create(Err.FILE_NOT_FOUND, {'file': fileName});\r\n * ...\r\n * // Service: Could not file file: foo.txt (service/file-not-found).\r\n *\r\n * catch (e) {\r\n * assert(e.message === \"Could not find file: foo.txt.\");\r\n * if ((e as FirebaseError)?.code === 'service/file-not-found') {\r\n * console.log(\"Could not read file: \" + e['file']);\r\n * }\r\n * }\r\n */\r\nconst ERROR_NAME = 'FirebaseError';\r\n// Based on code from:\r\n// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Error#Custom_Error_Types\r\nclass FirebaseError extends Error {\r\n constructor(\r\n /** The error code for this error. */\r\n code, message, \r\n /** Custom data for this error. */\r\n customData) {\r\n super(message);\r\n this.code = code;\r\n this.customData = customData;\r\n /** The custom name for all FirebaseErrors. */\r\n this.name = ERROR_NAME;\r\n // Fix For ES5\r\n // https://github.com/Microsoft/TypeScript-wiki/blob/master/Breaking-Changes.md#extending-built-ins-like-error-array-and-map-may-no-longer-work\r\n Object.setPrototypeOf(this, FirebaseError.prototype);\r\n // Maintains proper stack trace for where our error was thrown.\r\n // Only available on V8.\r\n if (Error.captureStackTrace) {\r\n Error.captureStackTrace(this, ErrorFactory.prototype.create);\r\n }\r\n }\r\n}\r\nclass ErrorFactory {\r\n constructor(service, serviceName, errors) {\r\n this.service = service;\r\n this.serviceName = serviceName;\r\n this.errors = errors;\r\n }\r\n create(code, ...data) {\r\n const customData = data[0] || {};\r\n const fullCode = `${this.service}/${code}`;\r\n const template = this.errors[code];\r\n const message = template ? replaceTemplate(template, customData) : 'Error';\r\n // Service Name: Error message (service/code).\r\n const fullMessage = `${this.serviceName}: ${message} (${fullCode}).`;\r\n const error = new FirebaseError(fullCode, fullMessage, customData);\r\n return error;\r\n }\r\n}\r\nfunction replaceTemplate(template, data) {\r\n return template.replace(PATTERN, (_, key) => {\r\n const value = data[key];\r\n return value != null ? String(value) : `<${key}?>`;\r\n });\r\n}\r\nconst PATTERN = /\\{\\$([^}]+)}/g;\n\n/**\r\n * @license\r\n * Copyright 2017 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n/**\r\n * Evaluates a JSON string into a javascript object.\r\n *\r\n * @param {string} str A string containing JSON.\r\n * @return {*} The javascript object representing the specified JSON.\r\n */\r\nfunction jsonEval(str) {\r\n return JSON.parse(str);\r\n}\r\n/**\r\n * Returns JSON representing a javascript object.\r\n * @param {*} data Javascript object to be stringified.\r\n * @return {string} The JSON contents of the object.\r\n */\r\nfunction stringify(data) {\r\n return JSON.stringify(data);\r\n}\n\n/**\r\n * @license\r\n * Copyright 2017 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n/**\r\n * Decodes a Firebase auth. token into constituent parts.\r\n *\r\n * Notes:\r\n * - May return with invalid / incomplete claims if there's no native base64 decoding support.\r\n * - Doesn't check if the token is actually valid.\r\n */\r\nconst decode = function (token) {\r\n let header = {}, claims = {}, data = {}, signature = '';\r\n try {\r\n const parts = token.split('.');\r\n header = jsonEval(base64Decode(parts[0]) || '');\r\n claims = jsonEval(base64Decode(parts[1]) || '');\r\n signature = parts[2];\r\n data = claims['d'] || {};\r\n delete claims['d'];\r\n }\r\n catch (e) { }\r\n return {\r\n header,\r\n claims,\r\n data,\r\n signature\r\n };\r\n};\r\n/**\r\n * Decodes a Firebase auth. token and checks the validity of its time-based claims. Will return true if the\r\n * token is within the time window authorized by the 'nbf' (not-before) and 'iat' (issued-at) claims.\r\n *\r\n * Notes:\r\n * - May return a false negative if there's no native base64 decoding support.\r\n * - Doesn't check if the token is actually valid.\r\n */\r\nconst isValidTimestamp = function (token) {\r\n const claims = decode(token).claims;\r\n const now = Math.floor(new Date().getTime() / 1000);\r\n let validSince = 0, validUntil = 0;\r\n if (typeof claims === 'object') {\r\n if (claims.hasOwnProperty('nbf')) {\r\n validSince = claims['nbf'];\r\n }\r\n else if (claims.hasOwnProperty('iat')) {\r\n validSince = claims['iat'];\r\n }\r\n if (claims.hasOwnProperty('exp')) {\r\n validUntil = claims['exp'];\r\n }\r\n else {\r\n // token will expire after 24h by default\r\n validUntil = validSince + 86400;\r\n }\r\n }\r\n return (!!now &&\r\n !!validSince &&\r\n !!validUntil &&\r\n now >= validSince &&\r\n now <= validUntil);\r\n};\r\n/**\r\n * Decodes a Firebase auth. token and returns its issued at time if valid, null otherwise.\r\n *\r\n * Notes:\r\n * - May return null if there's no native base64 decoding support.\r\n * - Doesn't check if the token is actually valid.\r\n */\r\nconst issuedAtTime = function (token) {\r\n const claims = decode(token).claims;\r\n if (typeof claims === 'object' && claims.hasOwnProperty('iat')) {\r\n return claims['iat'];\r\n }\r\n return null;\r\n};\r\n/**\r\n * Decodes a Firebase auth. token and checks the validity of its format. Expects a valid issued-at time.\r\n *\r\n * Notes:\r\n * - May return a false negative if there's no native base64 decoding support.\r\n * - Doesn't check if the token is actually valid.\r\n */\r\nconst isValidFormat = function (token) {\r\n const decoded = decode(token), claims = decoded.claims;\r\n return !!claims && typeof claims === 'object' && claims.hasOwnProperty('iat');\r\n};\r\n/**\r\n * Attempts to peer into an auth token and determine if it's an admin auth token by looking at the claims portion.\r\n *\r\n * Notes:\r\n * - May return a false negative if there's no native base64 decoding support.\r\n * - Doesn't check if the token is actually valid.\r\n */\r\nconst isAdmin = function (token) {\r\n const claims = decode(token).claims;\r\n return typeof claims === 'object' && claims['admin'] === true;\r\n};\n\n/**\r\n * @license\r\n * Copyright 2017 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\nfunction contains(obj, key) {\r\n return Object.prototype.hasOwnProperty.call(obj, key);\r\n}\r\nfunction safeGet(obj, key) {\r\n if (Object.prototype.hasOwnProperty.call(obj, key)) {\r\n return obj[key];\r\n }\r\n else {\r\n return undefined;\r\n }\r\n}\r\nfunction isEmpty(obj) {\r\n for (const key in obj) {\r\n if (Object.prototype.hasOwnProperty.call(obj, key)) {\r\n return false;\r\n }\r\n }\r\n return true;\r\n}\r\nfunction map(obj, fn, contextObj) {\r\n const res = {};\r\n for (const key in obj) {\r\n if (Object.prototype.hasOwnProperty.call(obj, key)) {\r\n res[key] = fn.call(contextObj, obj[key], key, obj);\r\n }\r\n }\r\n return res;\r\n}\r\n/**\r\n * Deep equal two objects. Support Arrays and Objects.\r\n */\r\nfunction deepEqual(a, b) {\r\n if (a === b) {\r\n return true;\r\n }\r\n const aKeys = Object.keys(a);\r\n const bKeys = Object.keys(b);\r\n for (const k of aKeys) {\r\n if (!bKeys.includes(k)) {\r\n return false;\r\n }\r\n const aProp = a[k];\r\n const bProp = b[k];\r\n if (isObject(aProp) && isObject(bProp)) {\r\n if (!deepEqual(aProp, bProp)) {\r\n return false;\r\n }\r\n }\r\n else if (aProp !== bProp) {\r\n return false;\r\n }\r\n }\r\n for (const k of bKeys) {\r\n if (!aKeys.includes(k)) {\r\n return false;\r\n }\r\n }\r\n return true;\r\n}\r\nfunction isObject(thing) {\r\n return thing !== null && typeof thing === 'object';\r\n}\n\n/**\r\n * @license\r\n * Copyright 2022 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n/**\r\n * Rejects if the given promise doesn't resolve in timeInMS milliseconds.\r\n * @internal\r\n */\r\nfunction promiseWithTimeout(promise, timeInMS = 2000) {\r\n const deferredPromise = new Deferred();\r\n setTimeout(() => deferredPromise.reject('timeout!'), timeInMS);\r\n promise.then(deferredPromise.resolve, deferredPromise.reject);\r\n return deferredPromise.promise;\r\n}\n\n/**\r\n * @license\r\n * Copyright 2017 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n/**\r\n * Returns a querystring-formatted string (e.g. &arg=val&arg2=val2) from a\r\n * params object (e.g. {arg: 'val', arg2: 'val2'})\r\n * Note: You must prepend it with ? when adding it to a URL.\r\n */\r\nfunction querystring(querystringParams) {\r\n const params = [];\r\n for (const [key, value] of Object.entries(querystringParams)) {\r\n if (Array.isArray(value)) {\r\n value.forEach(arrayVal => {\r\n params.push(encodeURIComponent(key) + '=' + encodeURIComponent(arrayVal));\r\n });\r\n }\r\n else {\r\n params.push(encodeURIComponent(key) + '=' + encodeURIComponent(value));\r\n }\r\n }\r\n return params.length ? '&' + params.join('&') : '';\r\n}\r\n/**\r\n * Decodes a querystring (e.g. ?arg=val&arg2=val2) into a params object\r\n * (e.g. {arg: 'val', arg2: 'val2'})\r\n */\r\nfunction querystringDecode(querystring) {\r\n const obj = {};\r\n const tokens = querystring.replace(/^\\?/, '').split('&');\r\n tokens.forEach(token => {\r\n if (token) {\r\n const [key, value] = token.split('=');\r\n obj[decodeURIComponent(key)] = decodeURIComponent(value);\r\n }\r\n });\r\n return obj;\r\n}\r\n/**\r\n * Extract the query string part of a URL, including the leading question mark (if present).\r\n */\r\nfunction extractQuerystring(url) {\r\n const queryStart = url.indexOf('?');\r\n if (!queryStart) {\r\n return '';\r\n }\r\n const fragmentStart = url.indexOf('#', queryStart);\r\n return url.substring(queryStart, fragmentStart > 0 ? fragmentStart : undefined);\r\n}\n\n/**\r\n * @license\r\n * Copyright 2017 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n/**\r\n * @fileoverview SHA-1 cryptographic hash.\r\n * Variable names follow the notation in FIPS PUB 180-3:\r\n * http://csrc.nist.gov/publications/fips/fips180-3/fips180-3_final.pdf.\r\n *\r\n * Usage:\r\n * var sha1 = new sha1();\r\n * sha1.update(bytes);\r\n * var hash = sha1.digest();\r\n *\r\n * Performance:\r\n * Chrome 23: ~400 Mbit/s\r\n * Firefox 16: ~250 Mbit/s\r\n *\r\n */\r\n/**\r\n * SHA-1 cryptographic hash constructor.\r\n *\r\n * The properties declared here are discussed in the above algorithm document.\r\n * @constructor\r\n * @final\r\n * @struct\r\n */\r\nclass Sha1 {\r\n constructor() {\r\n /**\r\n * Holds the previous values of accumulated variables a-e in the compress_\r\n * function.\r\n * @private\r\n */\r\n this.chain_ = [];\r\n /**\r\n * A buffer holding the partially computed hash result.\r\n * @private\r\n */\r\n this.buf_ = [];\r\n /**\r\n * An array of 80 bytes, each a part of the message to be hashed. Referred to\r\n * as the message schedule in the docs.\r\n * @private\r\n */\r\n this.W_ = [];\r\n /**\r\n * Contains data needed to pad messages less than 64 bytes.\r\n * @private\r\n */\r\n this.pad_ = [];\r\n /**\r\n * @private {number}\r\n */\r\n this.inbuf_ = 0;\r\n /**\r\n * @private {number}\r\n */\r\n this.total_ = 0;\r\n this.blockSize = 512 / 8;\r\n this.pad_[0] = 128;\r\n for (let i = 1; i < this.blockSize; ++i) {\r\n this.pad_[i] = 0;\r\n }\r\n this.reset();\r\n }\r\n reset() {\r\n this.chain_[0] = 0x67452301;\r\n this.chain_[1] = 0xefcdab89;\r\n this.chain_[2] = 0x98badcfe;\r\n this.chain_[3] = 0x10325476;\r\n this.chain_[4] = 0xc3d2e1f0;\r\n this.inbuf_ = 0;\r\n this.total_ = 0;\r\n }\r\n /**\r\n * Internal compress helper function.\r\n * @param buf Block to compress.\r\n * @param offset Offset of the block in the buffer.\r\n * @private\r\n */\r\n compress_(buf, offset) {\r\n if (!offset) {\r\n offset = 0;\r\n }\r\n const W = this.W_;\r\n // get 16 big endian words\r\n if (typeof buf === 'string') {\r\n for (let i = 0; i < 16; i++) {\r\n // TODO(user): [bug 8140122] Recent versions of Safari for Mac OS and iOS\r\n // have a bug that turns the post-increment ++ operator into pre-increment\r\n // during JIT compilation. We have code that depends heavily on SHA-1 for\r\n // correctness and which is affected by this bug, so I've removed all uses\r\n // of post-increment ++ in which the result value is used. We can revert\r\n // this change once the Safari bug\r\n // (https://bugs.webkit.org/show_bug.cgi?id=109036) has been fixed and\r\n // most clients have been updated.\r\n W[i] =\r\n (buf.charCodeAt(offset) << 24) |\r\n (buf.charCodeAt(offset + 1) << 16) |\r\n (buf.charCodeAt(offset + 2) << 8) |\r\n buf.charCodeAt(offset + 3);\r\n offset += 4;\r\n }\r\n }\r\n else {\r\n for (let i = 0; i < 16; i++) {\r\n W[i] =\r\n (buf[offset] << 24) |\r\n (buf[offset + 1] << 16) |\r\n (buf[offset + 2] << 8) |\r\n buf[offset + 3];\r\n offset += 4;\r\n }\r\n }\r\n // expand to 80 words\r\n for (let i = 16; i < 80; i++) {\r\n const t = W[i - 3] ^ W[i - 8] ^ W[i - 14] ^ W[i - 16];\r\n W[i] = ((t << 1) | (t >>> 31)) & 0xffffffff;\r\n }\r\n let a = this.chain_[0];\r\n let b = this.chain_[1];\r\n let c = this.chain_[2];\r\n let d = this.chain_[3];\r\n let e = this.chain_[4];\r\n let f, k;\r\n // TODO(user): Try to unroll this loop to speed up the computation.\r\n for (let i = 0; i < 80; i++) {\r\n if (i < 40) {\r\n if (i < 20) {\r\n f = d ^ (b & (c ^ d));\r\n k = 0x5a827999;\r\n }\r\n else {\r\n f = b ^ c ^ d;\r\n k = 0x6ed9eba1;\r\n }\r\n }\r\n else {\r\n if (i < 60) {\r\n f = (b & c) | (d & (b | c));\r\n k = 0x8f1bbcdc;\r\n }\r\n else {\r\n f = b ^ c ^ d;\r\n k = 0xca62c1d6;\r\n }\r\n }\r\n const t = (((a << 5) | (a >>> 27)) + f + e + k + W[i]) & 0xffffffff;\r\n e = d;\r\n d = c;\r\n c = ((b << 30) | (b >>> 2)) & 0xffffffff;\r\n b = a;\r\n a = t;\r\n }\r\n this.chain_[0] = (this.chain_[0] + a) & 0xffffffff;\r\n this.chain_[1] = (this.chain_[1] + b) & 0xffffffff;\r\n this.chain_[2] = (this.chain_[2] + c) & 0xffffffff;\r\n this.chain_[3] = (this.chain_[3] + d) & 0xffffffff;\r\n this.chain_[4] = (this.chain_[4] + e) & 0xffffffff;\r\n }\r\n update(bytes, length) {\r\n // TODO(johnlenz): tighten the function signature and remove this check\r\n if (bytes == null) {\r\n return;\r\n }\r\n if (length === undefined) {\r\n length = bytes.length;\r\n }\r\n const lengthMinusBlock = length - this.blockSize;\r\n let n = 0;\r\n // Using local instead of member variables gives ~5% speedup on Firefox 16.\r\n const buf = this.buf_;\r\n let inbuf = this.inbuf_;\r\n // The outer while loop should execute at most twice.\r\n while (n < length) {\r\n // When we have no data in the block to top up, we can directly process the\r\n // input buffer (assuming it contains sufficient data). This gives ~25%\r\n // speedup on Chrome 23 and ~15% speedup on Firefox 16, but requires that\r\n // the data is provided in large chunks (or in multiples of 64 bytes).\r\n if (inbuf === 0) {\r\n while (n <= lengthMinusBlock) {\r\n this.compress_(bytes, n);\r\n n += this.blockSize;\r\n }\r\n }\r\n if (typeof bytes === 'string') {\r\n while (n < length) {\r\n buf[inbuf] = bytes.charCodeAt(n);\r\n ++inbuf;\r\n ++n;\r\n if (inbuf === this.blockSize) {\r\n this.compress_(buf);\r\n inbuf = 0;\r\n // Jump to the outer loop so we use the full-block optimization.\r\n break;\r\n }\r\n }\r\n }\r\n else {\r\n while (n < length) {\r\n buf[inbuf] = bytes[n];\r\n ++inbuf;\r\n ++n;\r\n if (inbuf === this.blockSize) {\r\n this.compress_(buf);\r\n inbuf = 0;\r\n // Jump to the outer loop so we use the full-block optimization.\r\n break;\r\n }\r\n }\r\n }\r\n }\r\n this.inbuf_ = inbuf;\r\n this.total_ += length;\r\n }\r\n /** @override */\r\n digest() {\r\n const digest = [];\r\n let totalBits = this.total_ * 8;\r\n // Add pad 0x80 0x00*.\r\n if (this.inbuf_ < 56) {\r\n this.update(this.pad_, 56 - this.inbuf_);\r\n }\r\n else {\r\n this.update(this.pad_, this.blockSize - (this.inbuf_ - 56));\r\n }\r\n // Add # bits.\r\n for (let i = this.blockSize - 1; i >= 56; i--) {\r\n this.buf_[i] = totalBits & 255;\r\n totalBits /= 256; // Don't use bit-shifting here!\r\n }\r\n this.compress_(this.buf_);\r\n let n = 0;\r\n for (let i = 0; i < 5; i++) {\r\n for (let j = 24; j >= 0; j -= 8) {\r\n digest[n] = (this.chain_[i] >> j) & 255;\r\n ++n;\r\n }\r\n }\r\n return digest;\r\n }\r\n}\n\n/**\r\n * Helper to make a Subscribe function (just like Promise helps make a\r\n * Thenable).\r\n *\r\n * @param executor Function which can make calls to a single Observer\r\n * as a proxy.\r\n * @param onNoObservers Callback when count of Observers goes to zero.\r\n */\r\nfunction createSubscribe(executor, onNoObservers) {\r\n const proxy = new ObserverProxy(executor, onNoObservers);\r\n return proxy.subscribe.bind(proxy);\r\n}\r\n/**\r\n * Implement fan-out for any number of Observers attached via a subscribe\r\n * function.\r\n */\r\nclass ObserverProxy {\r\n /**\r\n * @param executor Function which can make calls to a single Observer\r\n * as a proxy.\r\n * @param onNoObservers Callback when count of Observers goes to zero.\r\n */\r\n constructor(executor, onNoObservers) {\r\n this.observers = [];\r\n this.unsubscribes = [];\r\n this.observerCount = 0;\r\n // Micro-task scheduling by calling task.then().\r\n this.task = Promise.resolve();\r\n this.finalized = false;\r\n this.onNoObservers = onNoObservers;\r\n // Call the executor asynchronously so subscribers that are called\r\n // synchronously after the creation of the subscribe function\r\n // can still receive the very first value generated in the executor.\r\n this.task\r\n .then(() => {\r\n executor(this);\r\n })\r\n .catch(e => {\r\n this.error(e);\r\n });\r\n }\r\n next(value) {\r\n this.forEachObserver((observer) => {\r\n observer.next(value);\r\n });\r\n }\r\n error(error) {\r\n this.forEachObserver((observer) => {\r\n observer.error(error);\r\n });\r\n this.close(error);\r\n }\r\n complete() {\r\n this.forEachObserver((observer) => {\r\n observer.complete();\r\n });\r\n this.close();\r\n }\r\n /**\r\n * Subscribe function that can be used to add an Observer to the fan-out list.\r\n *\r\n * - We require that no event is sent to a subscriber sychronously to their\r\n * call to subscribe().\r\n */\r\n subscribe(nextOrObserver, error, complete) {\r\n let observer;\r\n if (nextOrObserver === undefined &&\r\n error === undefined &&\r\n complete === undefined) {\r\n throw new Error('Missing Observer.');\r\n }\r\n // Assemble an Observer object when passed as callback functions.\r\n if (implementsAnyMethods(nextOrObserver, [\r\n 'next',\r\n 'error',\r\n 'complete'\r\n ])) {\r\n observer = nextOrObserver;\r\n }\r\n else {\r\n observer = {\r\n next: nextOrObserver,\r\n error,\r\n complete\r\n };\r\n }\r\n if (observer.next === undefined) {\r\n observer.next = noop;\r\n }\r\n if (observer.error === undefined) {\r\n observer.error = noop;\r\n }\r\n if (observer.complete === undefined) {\r\n observer.complete = noop;\r\n }\r\n const unsub = this.unsubscribeOne.bind(this, this.observers.length);\r\n // Attempt to subscribe to a terminated Observable - we\r\n // just respond to the Observer with the final error or complete\r\n // event.\r\n if (this.finalized) {\r\n // eslint-disable-next-line @typescript-eslint/no-floating-promises\r\n this.task.then(() => {\r\n try {\r\n if (this.finalError) {\r\n observer.error(this.finalError);\r\n }\r\n else {\r\n observer.complete();\r\n }\r\n }\r\n catch (e) {\r\n // nothing\r\n }\r\n return;\r\n });\r\n }\r\n this.observers.push(observer);\r\n return unsub;\r\n }\r\n // Unsubscribe is synchronous - we guarantee that no events are sent to\r\n // any unsubscribed Observer.\r\n unsubscribeOne(i) {\r\n if (this.observers === undefined || this.observers[i] === undefined) {\r\n return;\r\n }\r\n delete this.observers[i];\r\n this.observerCount -= 1;\r\n if (this.observerCount === 0 && this.onNoObservers !== undefined) {\r\n this.onNoObservers(this);\r\n }\r\n }\r\n forEachObserver(fn) {\r\n if (this.finalized) {\r\n // Already closed by previous event....just eat the additional values.\r\n return;\r\n }\r\n // Since sendOne calls asynchronously - there is no chance that\r\n // this.observers will become undefined.\r\n for (let i = 0; i < this.observers.length; i++) {\r\n this.sendOne(i, fn);\r\n }\r\n }\r\n // Call the Observer via one of it's callback function. We are careful to\r\n // confirm that the observe has not been unsubscribed since this asynchronous\r\n // function had been queued.\r\n sendOne(i, fn) {\r\n // Execute the callback asynchronously\r\n // eslint-disable-next-line @typescript-eslint/no-floating-promises\r\n this.task.then(() => {\r\n if (this.observers !== undefined && this.observers[i] !== undefined) {\r\n try {\r\n fn(this.observers[i]);\r\n }\r\n catch (e) {\r\n // Ignore exceptions raised in Observers or missing methods of an\r\n // Observer.\r\n // Log error to console. b/31404806\r\n if (typeof console !== 'undefined' && console.error) {\r\n console.error(e);\r\n }\r\n }\r\n }\r\n });\r\n }\r\n close(err) {\r\n if (this.finalized) {\r\n return;\r\n }\r\n this.finalized = true;\r\n if (err !== undefined) {\r\n this.finalError = err;\r\n }\r\n // Proxy is no longer needed - garbage collect references\r\n // eslint-disable-next-line @typescript-eslint/no-floating-promises\r\n this.task.then(() => {\r\n this.observers = undefined;\r\n this.onNoObservers = undefined;\r\n });\r\n }\r\n}\r\n/** Turn synchronous function into one called asynchronously. */\r\n// eslint-disable-next-line @typescript-eslint/ban-types\r\nfunction async(fn, onError) {\r\n return (...args) => {\r\n Promise.resolve(true)\r\n .then(() => {\r\n fn(...args);\r\n })\r\n .catch((error) => {\r\n if (onError) {\r\n onError(error);\r\n }\r\n });\r\n };\r\n}\r\n/**\r\n * Return true if the object passed in implements any of the named methods.\r\n */\r\nfunction implementsAnyMethods(obj, methods) {\r\n if (typeof obj !== 'object' || obj === null) {\r\n return false;\r\n }\r\n for (const method of methods) {\r\n if (method in obj && typeof obj[method] === 'function') {\r\n return true;\r\n }\r\n }\r\n return false;\r\n}\r\nfunction noop() {\r\n // do nothing\r\n}\n\n/**\r\n * @license\r\n * Copyright 2017 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n/**\r\n * Check to make sure the appropriate number of arguments are provided for a public function.\r\n * Throws an error if it fails.\r\n *\r\n * @param fnName The function name\r\n * @param minCount The minimum number of arguments to allow for the function call\r\n * @param maxCount The maximum number of argument to allow for the function call\r\n * @param argCount The actual number of arguments provided.\r\n */\r\nconst validateArgCount = function (fnName, minCount, maxCount, argCount) {\r\n let argError;\r\n if (argCount < minCount) {\r\n argError = 'at least ' + minCount;\r\n }\r\n else if (argCount > maxCount) {\r\n argError = maxCount === 0 ? 'none' : 'no more than ' + maxCount;\r\n }\r\n if (argError) {\r\n const error = fnName +\r\n ' failed: Was called with ' +\r\n argCount +\r\n (argCount === 1 ? ' argument.' : ' arguments.') +\r\n ' Expects ' +\r\n argError +\r\n '.';\r\n throw new Error(error);\r\n }\r\n};\r\n/**\r\n * Generates a string to prefix an error message about failed argument validation\r\n *\r\n * @param fnName The function name\r\n * @param argName The name of the argument\r\n * @return The prefix to add to the error thrown for validation.\r\n */\r\nfunction errorPrefix(fnName, argName) {\r\n return `${fnName} failed: ${argName} argument `;\r\n}\r\n/**\r\n * @param fnName\r\n * @param argumentNumber\r\n * @param namespace\r\n * @param optional\r\n */\r\nfunction validateNamespace(fnName, namespace, optional) {\r\n if (optional && !namespace) {\r\n return;\r\n }\r\n if (typeof namespace !== 'string') {\r\n //TODO: I should do more validation here. We only allow certain chars in namespaces.\r\n throw new Error(errorPrefix(fnName, 'namespace') + 'must be a valid firebase namespace.');\r\n }\r\n}\r\nfunction validateCallback(fnName, argumentName, \r\n// eslint-disable-next-line @typescript-eslint/ban-types\r\ncallback, optional) {\r\n if (optional && !callback) {\r\n return;\r\n }\r\n if (typeof callback !== 'function') {\r\n throw new Error(errorPrefix(fnName, argumentName) + 'must be a valid function.');\r\n }\r\n}\r\nfunction validateContextObject(fnName, argumentName, context, optional) {\r\n if (optional && !context) {\r\n return;\r\n }\r\n if (typeof context !== 'object' || context === null) {\r\n throw new Error(errorPrefix(fnName, argumentName) + 'must be a valid context object.');\r\n }\r\n}\n\n/**\r\n * @license\r\n * Copyright 2017 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n// Code originally came from goog.crypt.stringToUtf8ByteArray, but for some reason they\r\n// automatically replaced '\\r\\n' with '\\n', and they didn't handle surrogate pairs,\r\n// so it's been modified.\r\n// Note that not all Unicode characters appear as single characters in JavaScript strings.\r\n// fromCharCode returns the UTF-16 encoding of a character - so some Unicode characters\r\n// use 2 characters in Javascript. All 4-byte UTF-8 characters begin with a first\r\n// character in the range 0xD800 - 0xDBFF (the first character of a so-called surrogate\r\n// pair).\r\n// See http://www.ecma-international.org/ecma-262/5.1/#sec-15.1.3\r\n/**\r\n * @param {string} str\r\n * @return {Array}\r\n */\r\nconst stringToByteArray = function (str) {\r\n const out = [];\r\n let p = 0;\r\n for (let i = 0; i < str.length; i++) {\r\n let c = str.charCodeAt(i);\r\n // Is this the lead surrogate in a surrogate pair?\r\n if (c >= 0xd800 && c <= 0xdbff) {\r\n const high = c - 0xd800; // the high 10 bits.\r\n i++;\r\n assert(i < str.length, 'Surrogate pair missing trail surrogate.');\r\n const low = str.charCodeAt(i) - 0xdc00; // the low 10 bits.\r\n c = 0x10000 + (high << 10) + low;\r\n }\r\n if (c < 128) {\r\n out[p++] = c;\r\n }\r\n else if (c < 2048) {\r\n out[p++] = (c >> 6) | 192;\r\n out[p++] = (c & 63) | 128;\r\n }\r\n else if (c < 65536) {\r\n out[p++] = (c >> 12) | 224;\r\n out[p++] = ((c >> 6) & 63) | 128;\r\n out[p++] = (c & 63) | 128;\r\n }\r\n else {\r\n out[p++] = (c >> 18) | 240;\r\n out[p++] = ((c >> 12) & 63) | 128;\r\n out[p++] = ((c >> 6) & 63) | 128;\r\n out[p++] = (c & 63) | 128;\r\n }\r\n }\r\n return out;\r\n};\r\n/**\r\n * Calculate length without actually converting; useful for doing cheaper validation.\r\n * @param {string} str\r\n * @return {number}\r\n */\r\nconst stringLength = function (str) {\r\n let p = 0;\r\n for (let i = 0; i < str.length; i++) {\r\n const c = str.charCodeAt(i);\r\n if (c < 128) {\r\n p++;\r\n }\r\n else if (c < 2048) {\r\n p += 2;\r\n }\r\n else if (c >= 0xd800 && c <= 0xdbff) {\r\n // Lead surrogate of a surrogate pair. The pair together will take 4 bytes to represent.\r\n p += 4;\r\n i++; // skip trail surrogate.\r\n }\r\n else {\r\n p += 3;\r\n }\r\n }\r\n return p;\r\n};\n\n/**\r\n * @license\r\n * Copyright 2022 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n/**\r\n * Copied from https://stackoverflow.com/a/2117523\r\n * Generates a new uuid.\r\n * @public\r\n */\r\nconst uuidv4 = function () {\r\n return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, c => {\r\n const r = (Math.random() * 16) | 0, v = c === 'x' ? r : (r & 0x3) | 0x8;\r\n return v.toString(16);\r\n });\r\n};\n\n/**\r\n * @license\r\n * Copyright 2019 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n/**\r\n * The amount of milliseconds to exponentially increase.\r\n */\r\nconst DEFAULT_INTERVAL_MILLIS = 1000;\r\n/**\r\n * The factor to backoff by.\r\n * Should be a number greater than 1.\r\n */\r\nconst DEFAULT_BACKOFF_FACTOR = 2;\r\n/**\r\n * The maximum milliseconds to increase to.\r\n *\r\n *

Visible for testing\r\n */\r\nconst MAX_VALUE_MILLIS = 4 * 60 * 60 * 1000; // Four hours, like iOS and Android.\r\n/**\r\n * The percentage of backoff time to randomize by.\r\n * See\r\n * http://go/safe-client-behavior#step-1-determine-the-appropriate-retry-interval-to-handle-spike-traffic\r\n * for context.\r\n *\r\n *

Visible for testing\r\n */\r\nconst RANDOM_FACTOR = 0.5;\r\n/**\r\n * Based on the backoff method from\r\n * https://github.com/google/closure-library/blob/master/closure/goog/math/exponentialbackoff.js.\r\n * Extracted here so we don't need to pass metadata and a stateful ExponentialBackoff object around.\r\n */\r\nfunction calculateBackoffMillis(backoffCount, intervalMillis = DEFAULT_INTERVAL_MILLIS, backoffFactor = DEFAULT_BACKOFF_FACTOR) {\r\n // Calculates an exponentially increasing value.\r\n // Deviation: calculates value from count and a constant interval, so we only need to save value\r\n // and count to restore state.\r\n const currBaseValue = intervalMillis * Math.pow(backoffFactor, backoffCount);\r\n // A random \"fuzz\" to avoid waves of retries.\r\n // Deviation: randomFactor is required.\r\n const randomWait = Math.round(\r\n // A fraction of the backoff value to add/subtract.\r\n // Deviation: changes multiplication order to improve readability.\r\n RANDOM_FACTOR *\r\n currBaseValue *\r\n // A random float (rounded to int by Math.round above) in the range [-1, 1]. Determines\r\n // if we add or subtract.\r\n (Math.random() - 0.5) *\r\n 2);\r\n // Limits backoff to max to avoid effectively permanent backoff.\r\n return Math.min(MAX_VALUE_MILLIS, currBaseValue + randomWait);\r\n}\n\n/**\r\n * @license\r\n * Copyright 2020 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n/**\r\n * Provide English ordinal letters after a number\r\n */\r\nfunction ordinal(i) {\r\n if (!Number.isFinite(i)) {\r\n return `${i}`;\r\n }\r\n return i + indicator(i);\r\n}\r\nfunction indicator(i) {\r\n i = Math.abs(i);\r\n const cent = i % 100;\r\n if (cent >= 10 && cent <= 20) {\r\n return 'th';\r\n }\r\n const dec = i % 10;\r\n if (dec === 1) {\r\n return 'st';\r\n }\r\n if (dec === 2) {\r\n return 'nd';\r\n }\r\n if (dec === 3) {\r\n return 'rd';\r\n }\r\n return 'th';\r\n}\n\n/**\r\n * @license\r\n * Copyright 2021 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\nfunction getModularInstance(service) {\r\n if (service && service._delegate) {\r\n return service._delegate;\r\n }\r\n else {\r\n return service;\r\n }\r\n}\n\nexport { CONSTANTS, DecodeBase64StringError, Deferred, ErrorFactory, FirebaseError, MAX_VALUE_MILLIS, RANDOM_FACTOR, Sha1, areCookiesEnabled, assert, assertionError, async, base64, base64Decode, base64Encode, base64urlEncodeWithoutPadding, calculateBackoffMillis, contains, createMockUserToken, createSubscribe, decode, deepCopy, deepEqual, deepExtend, errorPrefix, extractQuerystring, getDefaultAppConfig, getDefaultEmulatorHost, getDefaultEmulatorHostnameAndPort, getDefaults, getExperimentalSetting, getGlobal, getModularInstance, getUA, isAdmin, isBrowser, isBrowserExtension, isElectron, isEmpty, isIE, isIndexedDBAvailable, isMobileCordova, isNode, isNodeSdk, isReactNative, isSafari, isUWP, isValidFormat, isValidTimestamp, isWebWorker, issuedAtTime, jsonEval, map, ordinal, promiseWithTimeout, querystring, querystringDecode, safeGet, stringLength, stringToByteArray, stringify, uuidv4, validateArgCount, validateCallback, validateContextObject, validateIndexedDBOpenable, validateNamespace };\n//# sourceMappingURL=index.esm2017.js.map\n","import { Deferred } from '@firebase/util';\n\n/**\r\n * Component for service name T, e.g. `auth`, `auth-internal`\r\n */\r\nclass Component {\r\n /**\r\n *\r\n * @param name The public service name, e.g. app, auth, firestore, database\r\n * @param instanceFactory Service factory responsible for creating the public interface\r\n * @param type whether the service provided by the component is public or private\r\n */\r\n constructor(name, instanceFactory, type) {\r\n this.name = name;\r\n this.instanceFactory = instanceFactory;\r\n this.type = type;\r\n this.multipleInstances = false;\r\n /**\r\n * Properties to be added to the service namespace\r\n */\r\n this.serviceProps = {};\r\n this.instantiationMode = \"LAZY\" /* InstantiationMode.LAZY */;\r\n this.onInstanceCreated = null;\r\n }\r\n setInstantiationMode(mode) {\r\n this.instantiationMode = mode;\r\n return this;\r\n }\r\n setMultipleInstances(multipleInstances) {\r\n this.multipleInstances = multipleInstances;\r\n return this;\r\n }\r\n setServiceProps(props) {\r\n this.serviceProps = props;\r\n return this;\r\n }\r\n setInstanceCreatedCallback(callback) {\r\n this.onInstanceCreated = callback;\r\n return this;\r\n }\r\n}\n\n/**\r\n * @license\r\n * Copyright 2019 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\nconst DEFAULT_ENTRY_NAME = '[DEFAULT]';\n\n/**\r\n * @license\r\n * Copyright 2019 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n/**\r\n * Provider for instance for service name T, e.g. 'auth', 'auth-internal'\r\n * NameServiceMapping[T] is an alias for the type of the instance\r\n */\r\nclass Provider {\r\n constructor(name, container) {\r\n this.name = name;\r\n this.container = container;\r\n this.component = null;\r\n this.instances = new Map();\r\n this.instancesDeferred = new Map();\r\n this.instancesOptions = new Map();\r\n this.onInitCallbacks = new Map();\r\n }\r\n /**\r\n * @param identifier A provider can provide mulitple instances of a service\r\n * if this.component.multipleInstances is true.\r\n */\r\n get(identifier) {\r\n // if multipleInstances is not supported, use the default name\r\n const normalizedIdentifier = this.normalizeInstanceIdentifier(identifier);\r\n if (!this.instancesDeferred.has(normalizedIdentifier)) {\r\n const deferred = new Deferred();\r\n this.instancesDeferred.set(normalizedIdentifier, deferred);\r\n if (this.isInitialized(normalizedIdentifier) ||\r\n this.shouldAutoInitialize()) {\r\n // initialize the service if it can be auto-initialized\r\n try {\r\n const instance = this.getOrInitializeService({\r\n instanceIdentifier: normalizedIdentifier\r\n });\r\n if (instance) {\r\n deferred.resolve(instance);\r\n }\r\n }\r\n catch (e) {\r\n // when the instance factory throws an exception during get(), it should not cause\r\n // a fatal error. We just return the unresolved promise in this case.\r\n }\r\n }\r\n }\r\n return this.instancesDeferred.get(normalizedIdentifier).promise;\r\n }\r\n getImmediate(options) {\r\n var _a;\r\n // if multipleInstances is not supported, use the default name\r\n const normalizedIdentifier = this.normalizeInstanceIdentifier(options === null || options === void 0 ? void 0 : options.identifier);\r\n const optional = (_a = options === null || options === void 0 ? void 0 : options.optional) !== null && _a !== void 0 ? _a : false;\r\n if (this.isInitialized(normalizedIdentifier) ||\r\n this.shouldAutoInitialize()) {\r\n try {\r\n return this.getOrInitializeService({\r\n instanceIdentifier: normalizedIdentifier\r\n });\r\n }\r\n catch (e) {\r\n if (optional) {\r\n return null;\r\n }\r\n else {\r\n throw e;\r\n }\r\n }\r\n }\r\n else {\r\n // In case a component is not initialized and should/can not be auto-initialized at the moment, return null if the optional flag is set, or throw\r\n if (optional) {\r\n return null;\r\n }\r\n else {\r\n throw Error(`Service ${this.name} is not available`);\r\n }\r\n }\r\n }\r\n getComponent() {\r\n return this.component;\r\n }\r\n setComponent(component) {\r\n if (component.name !== this.name) {\r\n throw Error(`Mismatching Component ${component.name} for Provider ${this.name}.`);\r\n }\r\n if (this.component) {\r\n throw Error(`Component for ${this.name} has already been provided`);\r\n }\r\n this.component = component;\r\n // return early without attempting to initialize the component if the component requires explicit initialization (calling `Provider.initialize()`)\r\n if (!this.shouldAutoInitialize()) {\r\n return;\r\n }\r\n // if the service is eager, initialize the default instance\r\n if (isComponentEager(component)) {\r\n try {\r\n this.getOrInitializeService({ instanceIdentifier: DEFAULT_ENTRY_NAME });\r\n }\r\n catch (e) {\r\n // when the instance factory for an eager Component throws an exception during the eager\r\n // initialization, it should not cause a fatal error.\r\n // TODO: Investigate if we need to make it configurable, because some component may want to cause\r\n // a fatal error in this case?\r\n }\r\n }\r\n // Create service instances for the pending promises and resolve them\r\n // NOTE: if this.multipleInstances is false, only the default instance will be created\r\n // and all promises with resolve with it regardless of the identifier.\r\n for (const [instanceIdentifier, instanceDeferred] of this.instancesDeferred.entries()) {\r\n const normalizedIdentifier = this.normalizeInstanceIdentifier(instanceIdentifier);\r\n try {\r\n // `getOrInitializeService()` should always return a valid instance since a component is guaranteed. use ! to make typescript happy.\r\n const instance = this.getOrInitializeService({\r\n instanceIdentifier: normalizedIdentifier\r\n });\r\n instanceDeferred.resolve(instance);\r\n }\r\n catch (e) {\r\n // when the instance factory throws an exception, it should not cause\r\n // a fatal error. We just leave the promise unresolved.\r\n }\r\n }\r\n }\r\n clearInstance(identifier = DEFAULT_ENTRY_NAME) {\r\n this.instancesDeferred.delete(identifier);\r\n this.instancesOptions.delete(identifier);\r\n this.instances.delete(identifier);\r\n }\r\n // app.delete() will call this method on every provider to delete the services\r\n // TODO: should we mark the provider as deleted?\r\n async delete() {\r\n const services = Array.from(this.instances.values());\r\n await Promise.all([\r\n ...services\r\n .filter(service => 'INTERNAL' in service) // legacy services\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n .map(service => service.INTERNAL.delete()),\r\n ...services\r\n .filter(service => '_delete' in service) // modularized services\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n .map(service => service._delete())\r\n ]);\r\n }\r\n isComponentSet() {\r\n return this.component != null;\r\n }\r\n isInitialized(identifier = DEFAULT_ENTRY_NAME) {\r\n return this.instances.has(identifier);\r\n }\r\n getOptions(identifier = DEFAULT_ENTRY_NAME) {\r\n return this.instancesOptions.get(identifier) || {};\r\n }\r\n initialize(opts = {}) {\r\n const { options = {} } = opts;\r\n const normalizedIdentifier = this.normalizeInstanceIdentifier(opts.instanceIdentifier);\r\n if (this.isInitialized(normalizedIdentifier)) {\r\n throw Error(`${this.name}(${normalizedIdentifier}) has already been initialized`);\r\n }\r\n if (!this.isComponentSet()) {\r\n throw Error(`Component ${this.name} has not been registered yet`);\r\n }\r\n const instance = this.getOrInitializeService({\r\n instanceIdentifier: normalizedIdentifier,\r\n options\r\n });\r\n // resolve any pending promise waiting for the service instance\r\n for (const [instanceIdentifier, instanceDeferred] of this.instancesDeferred.entries()) {\r\n const normalizedDeferredIdentifier = this.normalizeInstanceIdentifier(instanceIdentifier);\r\n if (normalizedIdentifier === normalizedDeferredIdentifier) {\r\n instanceDeferred.resolve(instance);\r\n }\r\n }\r\n return instance;\r\n }\r\n /**\r\n *\r\n * @param callback - a function that will be invoked after the provider has been initialized by calling provider.initialize().\r\n * The function is invoked SYNCHRONOUSLY, so it should not execute any longrunning tasks in order to not block the program.\r\n *\r\n * @param identifier An optional instance identifier\r\n * @returns a function to unregister the callback\r\n */\r\n onInit(callback, identifier) {\r\n var _a;\r\n const normalizedIdentifier = this.normalizeInstanceIdentifier(identifier);\r\n const existingCallbacks = (_a = this.onInitCallbacks.get(normalizedIdentifier)) !== null && _a !== void 0 ? _a : new Set();\r\n existingCallbacks.add(callback);\r\n this.onInitCallbacks.set(normalizedIdentifier, existingCallbacks);\r\n const existingInstance = this.instances.get(normalizedIdentifier);\r\n if (existingInstance) {\r\n callback(existingInstance, normalizedIdentifier);\r\n }\r\n return () => {\r\n existingCallbacks.delete(callback);\r\n };\r\n }\r\n /**\r\n * Invoke onInit callbacks synchronously\r\n * @param instance the service instance`\r\n */\r\n invokeOnInitCallbacks(instance, identifier) {\r\n const callbacks = this.onInitCallbacks.get(identifier);\r\n if (!callbacks) {\r\n return;\r\n }\r\n for (const callback of callbacks) {\r\n try {\r\n callback(instance, identifier);\r\n }\r\n catch (_a) {\r\n // ignore errors in the onInit callback\r\n }\r\n }\r\n }\r\n getOrInitializeService({ instanceIdentifier, options = {} }) {\r\n let instance = this.instances.get(instanceIdentifier);\r\n if (!instance && this.component) {\r\n instance = this.component.instanceFactory(this.container, {\r\n instanceIdentifier: normalizeIdentifierForFactory(instanceIdentifier),\r\n options\r\n });\r\n this.instances.set(instanceIdentifier, instance);\r\n this.instancesOptions.set(instanceIdentifier, options);\r\n /**\r\n * Invoke onInit listeners.\r\n * Note this.component.onInstanceCreated is different, which is used by the component creator,\r\n * while onInit listeners are registered by consumers of the provider.\r\n */\r\n this.invokeOnInitCallbacks(instance, instanceIdentifier);\r\n /**\r\n * Order is important\r\n * onInstanceCreated() should be called after this.instances.set(instanceIdentifier, instance); which\r\n * makes `isInitialized()` return true.\r\n */\r\n if (this.component.onInstanceCreated) {\r\n try {\r\n this.component.onInstanceCreated(this.container, instanceIdentifier, instance);\r\n }\r\n catch (_a) {\r\n // ignore errors in the onInstanceCreatedCallback\r\n }\r\n }\r\n }\r\n return instance || null;\r\n }\r\n normalizeInstanceIdentifier(identifier = DEFAULT_ENTRY_NAME) {\r\n if (this.component) {\r\n return this.component.multipleInstances ? identifier : DEFAULT_ENTRY_NAME;\r\n }\r\n else {\r\n return identifier; // assume multiple instances are supported before the component is provided.\r\n }\r\n }\r\n shouldAutoInitialize() {\r\n return (!!this.component &&\r\n this.component.instantiationMode !== \"EXPLICIT\" /* InstantiationMode.EXPLICIT */);\r\n }\r\n}\r\n// undefined should be passed to the service factory for the default instance\r\nfunction normalizeIdentifierForFactory(identifier) {\r\n return identifier === DEFAULT_ENTRY_NAME ? undefined : identifier;\r\n}\r\nfunction isComponentEager(component) {\r\n return component.instantiationMode === \"EAGER\" /* InstantiationMode.EAGER */;\r\n}\n\n/**\r\n * @license\r\n * Copyright 2019 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n/**\r\n * ComponentContainer that provides Providers for service name T, e.g. `auth`, `auth-internal`\r\n */\r\nclass ComponentContainer {\r\n constructor(name) {\r\n this.name = name;\r\n this.providers = new Map();\r\n }\r\n /**\r\n *\r\n * @param component Component being added\r\n * @param overwrite When a component with the same name has already been registered,\r\n * if overwrite is true: overwrite the existing component with the new component and create a new\r\n * provider with the new component. It can be useful in tests where you want to use different mocks\r\n * for different tests.\r\n * if overwrite is false: throw an exception\r\n */\r\n addComponent(component) {\r\n const provider = this.getProvider(component.name);\r\n if (provider.isComponentSet()) {\r\n throw new Error(`Component ${component.name} has already been registered with ${this.name}`);\r\n }\r\n provider.setComponent(component);\r\n }\r\n addOrOverwriteComponent(component) {\r\n const provider = this.getProvider(component.name);\r\n if (provider.isComponentSet()) {\r\n // delete the existing provider from the container, so we can register the new component\r\n this.providers.delete(component.name);\r\n }\r\n this.addComponent(component);\r\n }\r\n /**\r\n * getProvider provides a type safe interface where it can only be called with a field name\r\n * present in NameServiceMapping interface.\r\n *\r\n * Firebase SDKs providing services should extend NameServiceMapping interface to register\r\n * themselves.\r\n */\r\n getProvider(name) {\r\n if (this.providers.has(name)) {\r\n return this.providers.get(name);\r\n }\r\n // create a Provider for a service that hasn't registered with Firebase\r\n const provider = new Provider(name, this);\r\n this.providers.set(name, provider);\r\n return provider;\r\n }\r\n getProviders() {\r\n return Array.from(this.providers.values());\r\n }\r\n}\n\nexport { Component, ComponentContainer, Provider };\n//# sourceMappingURL=index.esm2017.js.map\n","/**\r\n * @license\r\n * Copyright 2017 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n/**\r\n * A container for all of the Logger instances\r\n */\r\nconst instances = [];\r\n/**\r\n * The JS SDK supports 5 log levels and also allows a user the ability to\r\n * silence the logs altogether.\r\n *\r\n * The order is a follows:\r\n * DEBUG < VERBOSE < INFO < WARN < ERROR\r\n *\r\n * All of the log types above the current log level will be captured (i.e. if\r\n * you set the log level to `INFO`, errors will still be logged, but `DEBUG` and\r\n * `VERBOSE` logs will not)\r\n */\r\nvar LogLevel;\r\n(function (LogLevel) {\r\n LogLevel[LogLevel[\"DEBUG\"] = 0] = \"DEBUG\";\r\n LogLevel[LogLevel[\"VERBOSE\"] = 1] = \"VERBOSE\";\r\n LogLevel[LogLevel[\"INFO\"] = 2] = \"INFO\";\r\n LogLevel[LogLevel[\"WARN\"] = 3] = \"WARN\";\r\n LogLevel[LogLevel[\"ERROR\"] = 4] = \"ERROR\";\r\n LogLevel[LogLevel[\"SILENT\"] = 5] = \"SILENT\";\r\n})(LogLevel || (LogLevel = {}));\r\nconst levelStringToEnum = {\r\n 'debug': LogLevel.DEBUG,\r\n 'verbose': LogLevel.VERBOSE,\r\n 'info': LogLevel.INFO,\r\n 'warn': LogLevel.WARN,\r\n 'error': LogLevel.ERROR,\r\n 'silent': LogLevel.SILENT\r\n};\r\n/**\r\n * The default log level\r\n */\r\nconst defaultLogLevel = LogLevel.INFO;\r\n/**\r\n * By default, `console.debug` is not displayed in the developer console (in\r\n * chrome). To avoid forcing users to have to opt-in to these logs twice\r\n * (i.e. once for firebase, and once in the console), we are sending `DEBUG`\r\n * logs to the `console.log` function.\r\n */\r\nconst ConsoleMethod = {\r\n [LogLevel.DEBUG]: 'log',\r\n [LogLevel.VERBOSE]: 'log',\r\n [LogLevel.INFO]: 'info',\r\n [LogLevel.WARN]: 'warn',\r\n [LogLevel.ERROR]: 'error'\r\n};\r\n/**\r\n * The default log handler will forward DEBUG, VERBOSE, INFO, WARN, and ERROR\r\n * messages on to their corresponding console counterparts (if the log method\r\n * is supported by the current log level)\r\n */\r\nconst defaultLogHandler = (instance, logType, ...args) => {\r\n if (logType < instance.logLevel) {\r\n return;\r\n }\r\n const now = new Date().toISOString();\r\n const method = ConsoleMethod[logType];\r\n if (method) {\r\n console[method](`[${now}] ${instance.name}:`, ...args);\r\n }\r\n else {\r\n throw new Error(`Attempted to log a message with an invalid logType (value: ${logType})`);\r\n }\r\n};\r\nclass Logger {\r\n /**\r\n * Gives you an instance of a Logger to capture messages according to\r\n * Firebase's logging scheme.\r\n *\r\n * @param name The name that the logs will be associated with\r\n */\r\n constructor(name) {\r\n this.name = name;\r\n /**\r\n * The log level of the given Logger instance.\r\n */\r\n this._logLevel = defaultLogLevel;\r\n /**\r\n * The main (internal) log handler for the Logger instance.\r\n * Can be set to a new function in internal package code but not by user.\r\n */\r\n this._logHandler = defaultLogHandler;\r\n /**\r\n * The optional, additional, user-defined log handler for the Logger instance.\r\n */\r\n this._userLogHandler = null;\r\n /**\r\n * Capture the current instance for later use\r\n */\r\n instances.push(this);\r\n }\r\n get logLevel() {\r\n return this._logLevel;\r\n }\r\n set logLevel(val) {\r\n if (!(val in LogLevel)) {\r\n throw new TypeError(`Invalid value \"${val}\" assigned to \\`logLevel\\``);\r\n }\r\n this._logLevel = val;\r\n }\r\n // Workaround for setter/getter having to be the same type.\r\n setLogLevel(val) {\r\n this._logLevel = typeof val === 'string' ? levelStringToEnum[val] : val;\r\n }\r\n get logHandler() {\r\n return this._logHandler;\r\n }\r\n set logHandler(val) {\r\n if (typeof val !== 'function') {\r\n throw new TypeError('Value assigned to `logHandler` must be a function');\r\n }\r\n this._logHandler = val;\r\n }\r\n get userLogHandler() {\r\n return this._userLogHandler;\r\n }\r\n set userLogHandler(val) {\r\n this._userLogHandler = val;\r\n }\r\n /**\r\n * The functions below are all based on the `console` interface\r\n */\r\n debug(...args) {\r\n this._userLogHandler && this._userLogHandler(this, LogLevel.DEBUG, ...args);\r\n this._logHandler(this, LogLevel.DEBUG, ...args);\r\n }\r\n log(...args) {\r\n this._userLogHandler &&\r\n this._userLogHandler(this, LogLevel.VERBOSE, ...args);\r\n this._logHandler(this, LogLevel.VERBOSE, ...args);\r\n }\r\n info(...args) {\r\n this._userLogHandler && this._userLogHandler(this, LogLevel.INFO, ...args);\r\n this._logHandler(this, LogLevel.INFO, ...args);\r\n }\r\n warn(...args) {\r\n this._userLogHandler && this._userLogHandler(this, LogLevel.WARN, ...args);\r\n this._logHandler(this, LogLevel.WARN, ...args);\r\n }\r\n error(...args) {\r\n this._userLogHandler && this._userLogHandler(this, LogLevel.ERROR, ...args);\r\n this._logHandler(this, LogLevel.ERROR, ...args);\r\n }\r\n}\r\nfunction setLogLevel(level) {\r\n instances.forEach(inst => {\r\n inst.setLogLevel(level);\r\n });\r\n}\r\nfunction setUserLogHandler(logCallback, options) {\r\n for (const instance of instances) {\r\n let customLogLevel = null;\r\n if (options && options.level) {\r\n customLogLevel = levelStringToEnum[options.level];\r\n }\r\n if (logCallback === null) {\r\n instance.userLogHandler = null;\r\n }\r\n else {\r\n instance.userLogHandler = (instance, level, ...args) => {\r\n const message = args\r\n .map(arg => {\r\n if (arg == null) {\r\n return null;\r\n }\r\n else if (typeof arg === 'string') {\r\n return arg;\r\n }\r\n else if (typeof arg === 'number' || typeof arg === 'boolean') {\r\n return arg.toString();\r\n }\r\n else if (arg instanceof Error) {\r\n return arg.message;\r\n }\r\n else {\r\n try {\r\n return JSON.stringify(arg);\r\n }\r\n catch (ignored) {\r\n return null;\r\n }\r\n }\r\n })\r\n .filter(arg => arg)\r\n .join(' ');\r\n if (level >= (customLogLevel !== null && customLogLevel !== void 0 ? customLogLevel : instance.logLevel)) {\r\n logCallback({\r\n level: LogLevel[level].toLowerCase(),\r\n message,\r\n args,\r\n type: instance.name\r\n });\r\n }\r\n };\r\n }\r\n }\r\n}\n\nexport { LogLevel, Logger, setLogLevel, setUserLogHandler };\n//# sourceMappingURL=index.esm2017.js.map\n","const instanceOfAny = (object, constructors) => constructors.some((c) => object instanceof c);\n\nlet idbProxyableTypes;\nlet cursorAdvanceMethods;\n// This is a function to prevent it throwing up in node environments.\nfunction getIdbProxyableTypes() {\n return (idbProxyableTypes ||\n (idbProxyableTypes = [\n IDBDatabase,\n IDBObjectStore,\n IDBIndex,\n IDBCursor,\n IDBTransaction,\n ]));\n}\n// This is a function to prevent it throwing up in node environments.\nfunction getCursorAdvanceMethods() {\n return (cursorAdvanceMethods ||\n (cursorAdvanceMethods = [\n IDBCursor.prototype.advance,\n IDBCursor.prototype.continue,\n IDBCursor.prototype.continuePrimaryKey,\n ]));\n}\nconst cursorRequestMap = new WeakMap();\nconst transactionDoneMap = new WeakMap();\nconst transactionStoreNamesMap = new WeakMap();\nconst transformCache = new WeakMap();\nconst reverseTransformCache = new WeakMap();\nfunction promisifyRequest(request) {\n const promise = new Promise((resolve, reject) => {\n const unlisten = () => {\n request.removeEventListener('success', success);\n request.removeEventListener('error', error);\n };\n const success = () => {\n resolve(wrap(request.result));\n unlisten();\n };\n const error = () => {\n reject(request.error);\n unlisten();\n };\n request.addEventListener('success', success);\n request.addEventListener('error', error);\n });\n promise\n .then((value) => {\n // Since cursoring reuses the IDBRequest (*sigh*), we cache it for later retrieval\n // (see wrapFunction).\n if (value instanceof IDBCursor) {\n cursorRequestMap.set(value, request);\n }\n // Catching to avoid \"Uncaught Promise exceptions\"\n })\n .catch(() => { });\n // This mapping exists in reverseTransformCache but doesn't doesn't exist in transformCache. This\n // is because we create many promises from a single IDBRequest.\n reverseTransformCache.set(promise, request);\n return promise;\n}\nfunction cacheDonePromiseForTransaction(tx) {\n // Early bail if we've already created a done promise for this transaction.\n if (transactionDoneMap.has(tx))\n return;\n const done = new Promise((resolve, reject) => {\n const unlisten = () => {\n tx.removeEventListener('complete', complete);\n tx.removeEventListener('error', error);\n tx.removeEventListener('abort', error);\n };\n const complete = () => {\n resolve();\n unlisten();\n };\n const error = () => {\n reject(tx.error || new DOMException('AbortError', 'AbortError'));\n unlisten();\n };\n tx.addEventListener('complete', complete);\n tx.addEventListener('error', error);\n tx.addEventListener('abort', error);\n });\n // Cache it for later retrieval.\n transactionDoneMap.set(tx, done);\n}\nlet idbProxyTraps = {\n get(target, prop, receiver) {\n if (target instanceof IDBTransaction) {\n // Special handling for transaction.done.\n if (prop === 'done')\n return transactionDoneMap.get(target);\n // Polyfill for objectStoreNames because of Edge.\n if (prop === 'objectStoreNames') {\n return target.objectStoreNames || transactionStoreNamesMap.get(target);\n }\n // Make tx.store return the only store in the transaction, or undefined if there are many.\n if (prop === 'store') {\n return receiver.objectStoreNames[1]\n ? undefined\n : receiver.objectStore(receiver.objectStoreNames[0]);\n }\n }\n // Else transform whatever we get back.\n return wrap(target[prop]);\n },\n set(target, prop, value) {\n target[prop] = value;\n return true;\n },\n has(target, prop) {\n if (target instanceof IDBTransaction &&\n (prop === 'done' || prop === 'store')) {\n return true;\n }\n return prop in target;\n },\n};\nfunction replaceTraps(callback) {\n idbProxyTraps = callback(idbProxyTraps);\n}\nfunction wrapFunction(func) {\n // Due to expected object equality (which is enforced by the caching in `wrap`), we\n // only create one new func per func.\n // Edge doesn't support objectStoreNames (booo), so we polyfill it here.\n if (func === IDBDatabase.prototype.transaction &&\n !('objectStoreNames' in IDBTransaction.prototype)) {\n return function (storeNames, ...args) {\n const tx = func.call(unwrap(this), storeNames, ...args);\n transactionStoreNamesMap.set(tx, storeNames.sort ? storeNames.sort() : [storeNames]);\n return wrap(tx);\n };\n }\n // Cursor methods are special, as the behaviour is a little more different to standard IDB. In\n // IDB, you advance the cursor and wait for a new 'success' on the IDBRequest that gave you the\n // cursor. It's kinda like a promise that can resolve with many values. That doesn't make sense\n // with real promises, so each advance methods returns a new promise for the cursor object, or\n // undefined if the end of the cursor has been reached.\n if (getCursorAdvanceMethods().includes(func)) {\n return function (...args) {\n // Calling the original function with the proxy as 'this' causes ILLEGAL INVOCATION, so we use\n // the original object.\n func.apply(unwrap(this), args);\n return wrap(cursorRequestMap.get(this));\n };\n }\n return function (...args) {\n // Calling the original function with the proxy as 'this' causes ILLEGAL INVOCATION, so we use\n // the original object.\n return wrap(func.apply(unwrap(this), args));\n };\n}\nfunction transformCachableValue(value) {\n if (typeof value === 'function')\n return wrapFunction(value);\n // This doesn't return, it just creates a 'done' promise for the transaction,\n // which is later returned for transaction.done (see idbObjectHandler).\n if (value instanceof IDBTransaction)\n cacheDonePromiseForTransaction(value);\n if (instanceOfAny(value, getIdbProxyableTypes()))\n return new Proxy(value, idbProxyTraps);\n // Return the same value back if we're not going to transform it.\n return value;\n}\nfunction wrap(value) {\n // We sometimes generate multiple promises from a single IDBRequest (eg when cursoring), because\n // IDB is weird and a single IDBRequest can yield many responses, so these can't be cached.\n if (value instanceof IDBRequest)\n return promisifyRequest(value);\n // If we've already transformed this value before, reuse the transformed value.\n // This is faster, but it also provides object equality.\n if (transformCache.has(value))\n return transformCache.get(value);\n const newValue = transformCachableValue(value);\n // Not all types are transformed.\n // These may be primitive types, so they can't be WeakMap keys.\n if (newValue !== value) {\n transformCache.set(value, newValue);\n reverseTransformCache.set(newValue, value);\n }\n return newValue;\n}\nconst unwrap = (value) => reverseTransformCache.get(value);\n\nexport { reverseTransformCache as a, instanceOfAny as i, replaceTraps as r, unwrap as u, wrap as w };\n","import { w as wrap, r as replaceTraps } from './wrap-idb-value.js';\nexport { u as unwrap, w as wrap } from './wrap-idb-value.js';\n\n/**\n * Open a database.\n *\n * @param name Name of the database.\n * @param version Schema version.\n * @param callbacks Additional callbacks.\n */\nfunction openDB(name, version, { blocked, upgrade, blocking, terminated } = {}) {\n const request = indexedDB.open(name, version);\n const openPromise = wrap(request);\n if (upgrade) {\n request.addEventListener('upgradeneeded', (event) => {\n upgrade(wrap(request.result), event.oldVersion, event.newVersion, wrap(request.transaction), event);\n });\n }\n if (blocked) {\n request.addEventListener('blocked', (event) => blocked(\n // Casting due to https://github.com/microsoft/TypeScript-DOM-lib-generator/pull/1405\n event.oldVersion, event.newVersion, event));\n }\n openPromise\n .then((db) => {\n if (terminated)\n db.addEventListener('close', () => terminated());\n if (blocking) {\n db.addEventListener('versionchange', (event) => blocking(event.oldVersion, event.newVersion, event));\n }\n })\n .catch(() => { });\n return openPromise;\n}\n/**\n * Delete a database.\n *\n * @param name Name of the database.\n */\nfunction deleteDB(name, { blocked } = {}) {\n const request = indexedDB.deleteDatabase(name);\n if (blocked) {\n request.addEventListener('blocked', (event) => blocked(\n // Casting due to https://github.com/microsoft/TypeScript-DOM-lib-generator/pull/1405\n event.oldVersion, event));\n }\n return wrap(request).then(() => undefined);\n}\n\nconst readMethods = ['get', 'getKey', 'getAll', 'getAllKeys', 'count'];\nconst writeMethods = ['put', 'add', 'delete', 'clear'];\nconst cachedMethods = new Map();\nfunction getMethod(target, prop) {\n if (!(target instanceof IDBDatabase &&\n !(prop in target) &&\n typeof prop === 'string')) {\n return;\n }\n if (cachedMethods.get(prop))\n return cachedMethods.get(prop);\n const targetFuncName = prop.replace(/FromIndex$/, '');\n const useIndex = prop !== targetFuncName;\n const isWrite = writeMethods.includes(targetFuncName);\n if (\n // Bail if the target doesn't exist on the target. Eg, getAll isn't in Edge.\n !(targetFuncName in (useIndex ? IDBIndex : IDBObjectStore).prototype) ||\n !(isWrite || readMethods.includes(targetFuncName))) {\n return;\n }\n const method = async function (storeName, ...args) {\n // isWrite ? 'readwrite' : undefined gzipps better, but fails in Edge :(\n const tx = this.transaction(storeName, isWrite ? 'readwrite' : 'readonly');\n let target = tx.store;\n if (useIndex)\n target = target.index(args.shift());\n // Must reject if op rejects.\n // If it's a write operation, must reject if tx.done rejects.\n // Must reject with op rejection first.\n // Must resolve with op value.\n // Must handle both promises (no unhandled rejections)\n return (await Promise.all([\n target[targetFuncName](...args),\n isWrite && tx.done,\n ]))[0];\n };\n cachedMethods.set(prop, method);\n return method;\n}\nreplaceTraps((oldTraps) => ({\n ...oldTraps,\n get: (target, prop, receiver) => getMethod(target, prop) || oldTraps.get(target, prop, receiver),\n has: (target, prop) => !!getMethod(target, prop) || oldTraps.has(target, prop),\n}));\n\nexport { deleteDB, openDB };\n","import { Component, ComponentContainer } from '@firebase/component';\nimport { Logger, setUserLogHandler, setLogLevel as setLogLevel$1 } from '@firebase/logger';\nimport { ErrorFactory, getDefaultAppConfig, deepEqual, isBrowser, isWebWorker, FirebaseError, base64urlEncodeWithoutPadding, isIndexedDBAvailable, validateIndexedDBOpenable } from '@firebase/util';\nexport { FirebaseError } from '@firebase/util';\nimport { openDB } from 'idb';\n\n/**\r\n * @license\r\n * Copyright 2019 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\nclass PlatformLoggerServiceImpl {\r\n constructor(container) {\r\n this.container = container;\r\n }\r\n // In initial implementation, this will be called by installations on\r\n // auth token refresh, and installations will send this string.\r\n getPlatformInfoString() {\r\n const providers = this.container.getProviders();\r\n // Loop through providers and get library/version pairs from any that are\r\n // version components.\r\n return providers\r\n .map(provider => {\r\n if (isVersionServiceProvider(provider)) {\r\n const service = provider.getImmediate();\r\n return `${service.library}/${service.version}`;\r\n }\r\n else {\r\n return null;\r\n }\r\n })\r\n .filter(logString => logString)\r\n .join(' ');\r\n }\r\n}\r\n/**\r\n *\r\n * @param provider check if this provider provides a VersionService\r\n *\r\n * NOTE: Using Provider<'app-version'> is a hack to indicate that the provider\r\n * provides VersionService. The provider is not necessarily a 'app-version'\r\n * provider.\r\n */\r\nfunction isVersionServiceProvider(provider) {\r\n const component = provider.getComponent();\r\n return (component === null || component === void 0 ? void 0 : component.type) === \"VERSION\" /* ComponentType.VERSION */;\r\n}\n\nconst name$p = \"@firebase/app\";\nconst version$1 = \"0.10.10\";\n\n/**\r\n * @license\r\n * Copyright 2019 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\nconst logger = new Logger('@firebase/app');\n\nconst name$o = \"@firebase/app-compat\";\n\nconst name$n = \"@firebase/analytics-compat\";\n\nconst name$m = \"@firebase/analytics\";\n\nconst name$l = \"@firebase/app-check-compat\";\n\nconst name$k = \"@firebase/app-check\";\n\nconst name$j = \"@firebase/auth\";\n\nconst name$i = \"@firebase/auth-compat\";\n\nconst name$h = \"@firebase/database\";\n\nconst name$g = \"@firebase/database-compat\";\n\nconst name$f = \"@firebase/functions\";\n\nconst name$e = \"@firebase/functions-compat\";\n\nconst name$d = \"@firebase/installations\";\n\nconst name$c = \"@firebase/installations-compat\";\n\nconst name$b = \"@firebase/messaging\";\n\nconst name$a = \"@firebase/messaging-compat\";\n\nconst name$9 = \"@firebase/performance\";\n\nconst name$8 = \"@firebase/performance-compat\";\n\nconst name$7 = \"@firebase/remote-config\";\n\nconst name$6 = \"@firebase/remote-config-compat\";\n\nconst name$5 = \"@firebase/storage\";\n\nconst name$4 = \"@firebase/storage-compat\";\n\nconst name$3 = \"@firebase/firestore\";\n\nconst name$2 = \"@firebase/vertexai-preview\";\n\nconst name$1 = \"@firebase/firestore-compat\";\n\nconst name = \"firebase\";\nconst version = \"10.13.1\";\n\n/**\r\n * @license\r\n * Copyright 2019 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n/**\r\n * The default app name\r\n *\r\n * @internal\r\n */\r\nconst DEFAULT_ENTRY_NAME = '[DEFAULT]';\r\nconst PLATFORM_LOG_STRING = {\r\n [name$p]: 'fire-core',\r\n [name$o]: 'fire-core-compat',\r\n [name$m]: 'fire-analytics',\r\n [name$n]: 'fire-analytics-compat',\r\n [name$k]: 'fire-app-check',\r\n [name$l]: 'fire-app-check-compat',\r\n [name$j]: 'fire-auth',\r\n [name$i]: 'fire-auth-compat',\r\n [name$h]: 'fire-rtdb',\r\n [name$g]: 'fire-rtdb-compat',\r\n [name$f]: 'fire-fn',\r\n [name$e]: 'fire-fn-compat',\r\n [name$d]: 'fire-iid',\r\n [name$c]: 'fire-iid-compat',\r\n [name$b]: 'fire-fcm',\r\n [name$a]: 'fire-fcm-compat',\r\n [name$9]: 'fire-perf',\r\n [name$8]: 'fire-perf-compat',\r\n [name$7]: 'fire-rc',\r\n [name$6]: 'fire-rc-compat',\r\n [name$5]: 'fire-gcs',\r\n [name$4]: 'fire-gcs-compat',\r\n [name$3]: 'fire-fst',\r\n [name$1]: 'fire-fst-compat',\r\n [name$2]: 'fire-vertex',\r\n 'fire-js': 'fire-js',\r\n [name]: 'fire-js-all'\r\n};\n\n/**\r\n * @license\r\n * Copyright 2019 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n/**\r\n * @internal\r\n */\r\nconst _apps = new Map();\r\n/**\r\n * @internal\r\n */\r\nconst _serverApps = new Map();\r\n/**\r\n * Registered components.\r\n *\r\n * @internal\r\n */\r\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\r\nconst _components = new Map();\r\n/**\r\n * @param component - the component being added to this app's container\r\n *\r\n * @internal\r\n */\r\nfunction _addComponent(app, component) {\r\n try {\r\n app.container.addComponent(component);\r\n }\r\n catch (e) {\r\n logger.debug(`Component ${component.name} failed to register with FirebaseApp ${app.name}`, e);\r\n }\r\n}\r\n/**\r\n *\r\n * @internal\r\n */\r\nfunction _addOrOverwriteComponent(app, component) {\r\n app.container.addOrOverwriteComponent(component);\r\n}\r\n/**\r\n *\r\n * @param component - the component to register\r\n * @returns whether or not the component is registered successfully\r\n *\r\n * @internal\r\n */\r\nfunction _registerComponent(component) {\r\n const componentName = component.name;\r\n if (_components.has(componentName)) {\r\n logger.debug(`There were multiple attempts to register component ${componentName}.`);\r\n return false;\r\n }\r\n _components.set(componentName, component);\r\n // add the component to existing app instances\r\n for (const app of _apps.values()) {\r\n _addComponent(app, component);\r\n }\r\n for (const serverApp of _serverApps.values()) {\r\n _addComponent(serverApp, component);\r\n }\r\n return true;\r\n}\r\n/**\r\n *\r\n * @param app - FirebaseApp instance\r\n * @param name - service name\r\n *\r\n * @returns the provider for the service with the matching name\r\n *\r\n * @internal\r\n */\r\nfunction _getProvider(app, name) {\r\n const heartbeatController = app.container\r\n .getProvider('heartbeat')\r\n .getImmediate({ optional: true });\r\n if (heartbeatController) {\r\n void heartbeatController.triggerHeartbeat();\r\n }\r\n return app.container.getProvider(name);\r\n}\r\n/**\r\n *\r\n * @param app - FirebaseApp instance\r\n * @param name - service name\r\n * @param instanceIdentifier - service instance identifier in case the service supports multiple instances\r\n *\r\n * @internal\r\n */\r\nfunction _removeServiceInstance(app, name, instanceIdentifier = DEFAULT_ENTRY_NAME) {\r\n _getProvider(app, name).clearInstance(instanceIdentifier);\r\n}\r\n/**\r\n *\r\n * @param obj - an object of type FirebaseApp or FirebaseOptions.\r\n *\r\n * @returns true if the provide object is of type FirebaseApp.\r\n *\r\n * @internal\r\n */\r\nfunction _isFirebaseApp(obj) {\r\n return obj.options !== undefined;\r\n}\r\n/**\r\n *\r\n * @param obj - an object of type FirebaseApp.\r\n *\r\n * @returns true if the provided object is of type FirebaseServerAppImpl.\r\n *\r\n * @internal\r\n */\r\nfunction _isFirebaseServerApp(obj) {\r\n return obj.settings !== undefined;\r\n}\r\n/**\r\n * Test only\r\n *\r\n * @internal\r\n */\r\nfunction _clearComponents() {\r\n _components.clear();\r\n}\n\n/**\r\n * @license\r\n * Copyright 2019 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\nconst ERRORS = {\r\n [\"no-app\" /* AppError.NO_APP */]: \"No Firebase App '{$appName}' has been created - \" +\r\n 'call initializeApp() first',\r\n [\"bad-app-name\" /* AppError.BAD_APP_NAME */]: \"Illegal App name: '{$appName}'\",\r\n [\"duplicate-app\" /* AppError.DUPLICATE_APP */]: \"Firebase App named '{$appName}' already exists with different options or config\",\r\n [\"app-deleted\" /* AppError.APP_DELETED */]: \"Firebase App named '{$appName}' already deleted\",\r\n [\"server-app-deleted\" /* AppError.SERVER_APP_DELETED */]: 'Firebase Server App has been deleted',\r\n [\"no-options\" /* AppError.NO_OPTIONS */]: 'Need to provide options, when not being deployed to hosting via source.',\r\n [\"invalid-app-argument\" /* AppError.INVALID_APP_ARGUMENT */]: 'firebase.{$appName}() takes either no argument or a ' +\r\n 'Firebase App instance.',\r\n [\"invalid-log-argument\" /* AppError.INVALID_LOG_ARGUMENT */]: 'First argument to `onLog` must be null or a function.',\r\n [\"idb-open\" /* AppError.IDB_OPEN */]: 'Error thrown when opening IndexedDB. Original error: {$originalErrorMessage}.',\r\n [\"idb-get\" /* AppError.IDB_GET */]: 'Error thrown when reading from IndexedDB. Original error: {$originalErrorMessage}.',\r\n [\"idb-set\" /* AppError.IDB_WRITE */]: 'Error thrown when writing to IndexedDB. Original error: {$originalErrorMessage}.',\r\n [\"idb-delete\" /* AppError.IDB_DELETE */]: 'Error thrown when deleting from IndexedDB. Original error: {$originalErrorMessage}.',\r\n [\"finalization-registry-not-supported\" /* AppError.FINALIZATION_REGISTRY_NOT_SUPPORTED */]: 'FirebaseServerApp deleteOnDeref field defined but the JS runtime does not support FinalizationRegistry.',\r\n [\"invalid-server-app-environment\" /* AppError.INVALID_SERVER_APP_ENVIRONMENT */]: 'FirebaseServerApp is not for use in browser environments.'\r\n};\r\nconst ERROR_FACTORY = new ErrorFactory('app', 'Firebase', ERRORS);\n\n/**\r\n * @license\r\n * Copyright 2019 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\nclass FirebaseAppImpl {\r\n constructor(options, config, container) {\r\n this._isDeleted = false;\r\n this._options = Object.assign({}, options);\r\n this._config = Object.assign({}, config);\r\n this._name = config.name;\r\n this._automaticDataCollectionEnabled =\r\n config.automaticDataCollectionEnabled;\r\n this._container = container;\r\n this.container.addComponent(new Component('app', () => this, \"PUBLIC\" /* ComponentType.PUBLIC */));\r\n }\r\n get automaticDataCollectionEnabled() {\r\n this.checkDestroyed();\r\n return this._automaticDataCollectionEnabled;\r\n }\r\n set automaticDataCollectionEnabled(val) {\r\n this.checkDestroyed();\r\n this._automaticDataCollectionEnabled = val;\r\n }\r\n get name() {\r\n this.checkDestroyed();\r\n return this._name;\r\n }\r\n get options() {\r\n this.checkDestroyed();\r\n return this._options;\r\n }\r\n get config() {\r\n this.checkDestroyed();\r\n return this._config;\r\n }\r\n get container() {\r\n return this._container;\r\n }\r\n get isDeleted() {\r\n return this._isDeleted;\r\n }\r\n set isDeleted(val) {\r\n this._isDeleted = val;\r\n }\r\n /**\r\n * This function will throw an Error if the App has already been deleted -\r\n * use before performing API actions on the App.\r\n */\r\n checkDestroyed() {\r\n if (this.isDeleted) {\r\n throw ERROR_FACTORY.create(\"app-deleted\" /* AppError.APP_DELETED */, { appName: this._name });\r\n }\r\n }\r\n}\n\n/**\r\n * @license\r\n * Copyright 2023 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\nclass FirebaseServerAppImpl extends FirebaseAppImpl {\r\n constructor(options, serverConfig, name, container) {\r\n // Build configuration parameters for the FirebaseAppImpl base class.\r\n const automaticDataCollectionEnabled = serverConfig.automaticDataCollectionEnabled !== undefined\r\n ? serverConfig.automaticDataCollectionEnabled\r\n : false;\r\n // Create the FirebaseAppSettings object for the FirebaseAppImp constructor.\r\n const config = {\r\n name,\r\n automaticDataCollectionEnabled\r\n };\r\n if (options.apiKey !== undefined) {\r\n // Construct the parent FirebaseAppImp object.\r\n super(options, config, container);\r\n }\r\n else {\r\n const appImpl = options;\r\n super(appImpl.options, config, container);\r\n }\r\n // Now construct the data for the FirebaseServerAppImpl.\r\n this._serverConfig = Object.assign({ automaticDataCollectionEnabled }, serverConfig);\r\n this._finalizationRegistry = null;\r\n if (typeof FinalizationRegistry !== 'undefined') {\r\n this._finalizationRegistry = new FinalizationRegistry(() => {\r\n this.automaticCleanup();\r\n });\r\n }\r\n this._refCount = 0;\r\n this.incRefCount(this._serverConfig.releaseOnDeref);\r\n // Do not retain a hard reference to the dref object, otherwise the FinalizationRegistry\r\n // will never trigger.\r\n this._serverConfig.releaseOnDeref = undefined;\r\n serverConfig.releaseOnDeref = undefined;\r\n registerVersion(name$p, version$1, 'serverapp');\r\n }\r\n toJSON() {\r\n return undefined;\r\n }\r\n get refCount() {\r\n return this._refCount;\r\n }\r\n // Increment the reference count of this server app. If an object is provided, register it\r\n // with the finalization registry.\r\n incRefCount(obj) {\r\n if (this.isDeleted) {\r\n return;\r\n }\r\n this._refCount++;\r\n if (obj !== undefined && this._finalizationRegistry !== null) {\r\n this._finalizationRegistry.register(obj, this);\r\n }\r\n }\r\n // Decrement the reference count.\r\n decRefCount() {\r\n if (this.isDeleted) {\r\n return 0;\r\n }\r\n return --this._refCount;\r\n }\r\n // Invoked by the FinalizationRegistry callback to note that this app should go through its\r\n // reference counts and delete itself if no reference count remain. The coordinating logic that\r\n // handles this is in deleteApp(...).\r\n automaticCleanup() {\r\n void deleteApp(this);\r\n }\r\n get settings() {\r\n this.checkDestroyed();\r\n return this._serverConfig;\r\n }\r\n /**\r\n * This function will throw an Error if the App has already been deleted -\r\n * use before performing API actions on the App.\r\n */\r\n checkDestroyed() {\r\n if (this.isDeleted) {\r\n throw ERROR_FACTORY.create(\"server-app-deleted\" /* AppError.SERVER_APP_DELETED */);\r\n }\r\n }\r\n}\n\n/**\r\n * @license\r\n * Copyright 2019 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n/**\r\n * The current SDK version.\r\n *\r\n * @public\r\n */\r\nconst SDK_VERSION = version;\r\nfunction initializeApp(_options, rawConfig = {}) {\r\n let options = _options;\r\n if (typeof rawConfig !== 'object') {\r\n const name = rawConfig;\r\n rawConfig = { name };\r\n }\r\n const config = Object.assign({ name: DEFAULT_ENTRY_NAME, automaticDataCollectionEnabled: false }, rawConfig);\r\n const name = config.name;\r\n if (typeof name !== 'string' || !name) {\r\n throw ERROR_FACTORY.create(\"bad-app-name\" /* AppError.BAD_APP_NAME */, {\r\n appName: String(name)\r\n });\r\n }\r\n options || (options = getDefaultAppConfig());\r\n if (!options) {\r\n throw ERROR_FACTORY.create(\"no-options\" /* AppError.NO_OPTIONS */);\r\n }\r\n const existingApp = _apps.get(name);\r\n if (existingApp) {\r\n // return the existing app if options and config deep equal the ones in the existing app.\r\n if (deepEqual(options, existingApp.options) &&\r\n deepEqual(config, existingApp.config)) {\r\n return existingApp;\r\n }\r\n else {\r\n throw ERROR_FACTORY.create(\"duplicate-app\" /* AppError.DUPLICATE_APP */, { appName: name });\r\n }\r\n }\r\n const container = new ComponentContainer(name);\r\n for (const component of _components.values()) {\r\n container.addComponent(component);\r\n }\r\n const newApp = new FirebaseAppImpl(options, config, container);\r\n _apps.set(name, newApp);\r\n return newApp;\r\n}\r\nfunction initializeServerApp(_options, _serverAppConfig) {\r\n if (isBrowser() && !isWebWorker()) {\r\n // FirebaseServerApp isn't designed to be run in browsers.\r\n throw ERROR_FACTORY.create(\"invalid-server-app-environment\" /* AppError.INVALID_SERVER_APP_ENVIRONMENT */);\r\n }\r\n if (_serverAppConfig.automaticDataCollectionEnabled === undefined) {\r\n _serverAppConfig.automaticDataCollectionEnabled = false;\r\n }\r\n let appOptions;\r\n if (_isFirebaseApp(_options)) {\r\n appOptions = _options.options;\r\n }\r\n else {\r\n appOptions = _options;\r\n }\r\n // Build an app name based on a hash of the configuration options.\r\n const nameObj = Object.assign(Object.assign({}, _serverAppConfig), appOptions);\r\n // However, Do not mangle the name based on releaseOnDeref, since it will vary between the\r\n // construction of FirebaseServerApp instances. For example, if the object is the request headers.\r\n if (nameObj.releaseOnDeref !== undefined) {\r\n delete nameObj.releaseOnDeref;\r\n }\r\n const hashCode = (s) => {\r\n return [...s].reduce((hash, c) => (Math.imul(31, hash) + c.charCodeAt(0)) | 0, 0);\r\n };\r\n if (_serverAppConfig.releaseOnDeref !== undefined) {\r\n if (typeof FinalizationRegistry === 'undefined') {\r\n throw ERROR_FACTORY.create(\"finalization-registry-not-supported\" /* AppError.FINALIZATION_REGISTRY_NOT_SUPPORTED */, {});\r\n }\r\n }\r\n const nameString = '' + hashCode(JSON.stringify(nameObj));\r\n const existingApp = _serverApps.get(nameString);\r\n if (existingApp) {\r\n existingApp.incRefCount(_serverAppConfig.releaseOnDeref);\r\n return existingApp;\r\n }\r\n const container = new ComponentContainer(nameString);\r\n for (const component of _components.values()) {\r\n container.addComponent(component);\r\n }\r\n const newApp = new FirebaseServerAppImpl(appOptions, _serverAppConfig, nameString, container);\r\n _serverApps.set(nameString, newApp);\r\n return newApp;\r\n}\r\n/**\r\n * Retrieves a {@link @firebase/app#FirebaseApp} instance.\r\n *\r\n * When called with no arguments, the default app is returned. When an app name\r\n * is provided, the app corresponding to that name is returned.\r\n *\r\n * An exception is thrown if the app being retrieved has not yet been\r\n * initialized.\r\n *\r\n * @example\r\n * ```javascript\r\n * // Return the default app\r\n * const app = getApp();\r\n * ```\r\n *\r\n * @example\r\n * ```javascript\r\n * // Return a named app\r\n * const otherApp = getApp(\"otherApp\");\r\n * ```\r\n *\r\n * @param name - Optional name of the app to return. If no name is\r\n * provided, the default is `\"[DEFAULT]\"`.\r\n *\r\n * @returns The app corresponding to the provided app name.\r\n * If no app name is provided, the default app is returned.\r\n *\r\n * @public\r\n */\r\nfunction getApp(name = DEFAULT_ENTRY_NAME) {\r\n const app = _apps.get(name);\r\n if (!app && name === DEFAULT_ENTRY_NAME && getDefaultAppConfig()) {\r\n return initializeApp();\r\n }\r\n if (!app) {\r\n throw ERROR_FACTORY.create(\"no-app\" /* AppError.NO_APP */, { appName: name });\r\n }\r\n return app;\r\n}\r\n/**\r\n * A (read-only) array of all initialized apps.\r\n * @public\r\n */\r\nfunction getApps() {\r\n return Array.from(_apps.values());\r\n}\r\n/**\r\n * Renders this app unusable and frees the resources of all associated\r\n * services.\r\n *\r\n * @example\r\n * ```javascript\r\n * deleteApp(app)\r\n * .then(function() {\r\n * console.log(\"App deleted successfully\");\r\n * })\r\n * .catch(function(error) {\r\n * console.log(\"Error deleting app:\", error);\r\n * });\r\n * ```\r\n *\r\n * @public\r\n */\r\nasync function deleteApp(app) {\r\n let cleanupProviders = false;\r\n const name = app.name;\r\n if (_apps.has(name)) {\r\n cleanupProviders = true;\r\n _apps.delete(name);\r\n }\r\n else if (_serverApps.has(name)) {\r\n const firebaseServerApp = app;\r\n if (firebaseServerApp.decRefCount() <= 0) {\r\n _serverApps.delete(name);\r\n cleanupProviders = true;\r\n }\r\n }\r\n if (cleanupProviders) {\r\n await Promise.all(app.container\r\n .getProviders()\r\n .map(provider => provider.delete()));\r\n app.isDeleted = true;\r\n }\r\n}\r\n/**\r\n * Registers a library's name and version for platform logging purposes.\r\n * @param library - Name of 1p or 3p library (e.g. firestore, angularfire)\r\n * @param version - Current version of that library.\r\n * @param variant - Bundle variant, e.g., node, rn, etc.\r\n *\r\n * @public\r\n */\r\nfunction registerVersion(libraryKeyOrName, version, variant) {\r\n var _a;\r\n // TODO: We can use this check to whitelist strings when/if we set up\r\n // a good whitelist system.\r\n let library = (_a = PLATFORM_LOG_STRING[libraryKeyOrName]) !== null && _a !== void 0 ? _a : libraryKeyOrName;\r\n if (variant) {\r\n library += `-${variant}`;\r\n }\r\n const libraryMismatch = library.match(/\\s|\\//);\r\n const versionMismatch = version.match(/\\s|\\//);\r\n if (libraryMismatch || versionMismatch) {\r\n const warning = [\r\n `Unable to register library \"${library}\" with version \"${version}\":`\r\n ];\r\n if (libraryMismatch) {\r\n warning.push(`library name \"${library}\" contains illegal characters (whitespace or \"/\")`);\r\n }\r\n if (libraryMismatch && versionMismatch) {\r\n warning.push('and');\r\n }\r\n if (versionMismatch) {\r\n warning.push(`version name \"${version}\" contains illegal characters (whitespace or \"/\")`);\r\n }\r\n logger.warn(warning.join(' '));\r\n return;\r\n }\r\n _registerComponent(new Component(`${library}-version`, () => ({ library, version }), \"VERSION\" /* ComponentType.VERSION */));\r\n}\r\n/**\r\n * Sets log handler for all Firebase SDKs.\r\n * @param logCallback - An optional custom log handler that executes user code whenever\r\n * the Firebase SDK makes a logging call.\r\n *\r\n * @public\r\n */\r\nfunction onLog(logCallback, options) {\r\n if (logCallback !== null && typeof logCallback !== 'function') {\r\n throw ERROR_FACTORY.create(\"invalid-log-argument\" /* AppError.INVALID_LOG_ARGUMENT */);\r\n }\r\n setUserLogHandler(logCallback, options);\r\n}\r\n/**\r\n * Sets log level for all Firebase SDKs.\r\n *\r\n * All of the log types above the current log level are captured (i.e. if\r\n * you set the log level to `info`, errors are logged, but `debug` and\r\n * `verbose` logs are not).\r\n *\r\n * @public\r\n */\r\nfunction setLogLevel(logLevel) {\r\n setLogLevel$1(logLevel);\r\n}\n\n/**\r\n * @license\r\n * Copyright 2021 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\nconst DB_NAME = 'firebase-heartbeat-database';\r\nconst DB_VERSION = 1;\r\nconst STORE_NAME = 'firebase-heartbeat-store';\r\nlet dbPromise = null;\r\nfunction getDbPromise() {\r\n if (!dbPromise) {\r\n dbPromise = openDB(DB_NAME, DB_VERSION, {\r\n upgrade: (db, oldVersion) => {\r\n // We don't use 'break' in this switch statement, the fall-through\r\n // behavior is what we want, because if there are multiple versions between\r\n // the old version and the current version, we want ALL the migrations\r\n // that correspond to those versions to run, not only the last one.\r\n // eslint-disable-next-line default-case\r\n switch (oldVersion) {\r\n case 0:\r\n try {\r\n db.createObjectStore(STORE_NAME);\r\n }\r\n catch (e) {\r\n // Safari/iOS browsers throw occasional exceptions on\r\n // db.createObjectStore() that may be a bug. Avoid blocking\r\n // the rest of the app functionality.\r\n console.warn(e);\r\n }\r\n }\r\n }\r\n }).catch(e => {\r\n throw ERROR_FACTORY.create(\"idb-open\" /* AppError.IDB_OPEN */, {\r\n originalErrorMessage: e.message\r\n });\r\n });\r\n }\r\n return dbPromise;\r\n}\r\nasync function readHeartbeatsFromIndexedDB(app) {\r\n try {\r\n const db = await getDbPromise();\r\n const tx = db.transaction(STORE_NAME);\r\n const result = await tx.objectStore(STORE_NAME).get(computeKey(app));\r\n // We already have the value but tx.done can throw,\r\n // so we need to await it here to catch errors\r\n await tx.done;\r\n return result;\r\n }\r\n catch (e) {\r\n if (e instanceof FirebaseError) {\r\n logger.warn(e.message);\r\n }\r\n else {\r\n const idbGetError = ERROR_FACTORY.create(\"idb-get\" /* AppError.IDB_GET */, {\r\n originalErrorMessage: e === null || e === void 0 ? void 0 : e.message\r\n });\r\n logger.warn(idbGetError.message);\r\n }\r\n }\r\n}\r\nasync function writeHeartbeatsToIndexedDB(app, heartbeatObject) {\r\n try {\r\n const db = await getDbPromise();\r\n const tx = db.transaction(STORE_NAME, 'readwrite');\r\n const objectStore = tx.objectStore(STORE_NAME);\r\n await objectStore.put(heartbeatObject, computeKey(app));\r\n await tx.done;\r\n }\r\n catch (e) {\r\n if (e instanceof FirebaseError) {\r\n logger.warn(e.message);\r\n }\r\n else {\r\n const idbGetError = ERROR_FACTORY.create(\"idb-set\" /* AppError.IDB_WRITE */, {\r\n originalErrorMessage: e === null || e === void 0 ? void 0 : e.message\r\n });\r\n logger.warn(idbGetError.message);\r\n }\r\n }\r\n}\r\nfunction computeKey(app) {\r\n return `${app.name}!${app.options.appId}`;\r\n}\n\n/**\r\n * @license\r\n * Copyright 2021 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\nconst MAX_HEADER_BYTES = 1024;\r\n// 30 days\r\nconst STORED_HEARTBEAT_RETENTION_MAX_MILLIS = 30 * 24 * 60 * 60 * 1000;\r\nclass HeartbeatServiceImpl {\r\n constructor(container) {\r\n this.container = container;\r\n /**\r\n * In-memory cache for heartbeats, used by getHeartbeatsHeader() to generate\r\n * the header string.\r\n * Stores one record per date. This will be consolidated into the standard\r\n * format of one record per user agent string before being sent as a header.\r\n * Populated from indexedDB when the controller is instantiated and should\r\n * be kept in sync with indexedDB.\r\n * Leave public for easier testing.\r\n */\r\n this._heartbeatsCache = null;\r\n const app = this.container.getProvider('app').getImmediate();\r\n this._storage = new HeartbeatStorageImpl(app);\r\n this._heartbeatsCachePromise = this._storage.read().then(result => {\r\n this._heartbeatsCache = result;\r\n return result;\r\n });\r\n }\r\n /**\r\n * Called to report a heartbeat. The function will generate\r\n * a HeartbeatsByUserAgent object, update heartbeatsCache, and persist it\r\n * to IndexedDB.\r\n * Note that we only store one heartbeat per day. So if a heartbeat for today is\r\n * already logged, subsequent calls to this function in the same day will be ignored.\r\n */\r\n async triggerHeartbeat() {\r\n var _a, _b;\r\n try {\r\n const platformLogger = this.container\r\n .getProvider('platform-logger')\r\n .getImmediate();\r\n // This is the \"Firebase user agent\" string from the platform logger\r\n // service, not the browser user agent.\r\n const agent = platformLogger.getPlatformInfoString();\r\n const date = getUTCDateString();\r\n if (((_a = this._heartbeatsCache) === null || _a === void 0 ? void 0 : _a.heartbeats) == null) {\r\n this._heartbeatsCache = await this._heartbeatsCachePromise;\r\n // If we failed to construct a heartbeats cache, then return immediately.\r\n if (((_b = this._heartbeatsCache) === null || _b === void 0 ? void 0 : _b.heartbeats) == null) {\r\n return;\r\n }\r\n }\r\n // Do not store a heartbeat if one is already stored for this day\r\n // or if a header has already been sent today.\r\n if (this._heartbeatsCache.lastSentHeartbeatDate === date ||\r\n this._heartbeatsCache.heartbeats.some(singleDateHeartbeat => singleDateHeartbeat.date === date)) {\r\n return;\r\n }\r\n else {\r\n // There is no entry for this date. Create one.\r\n this._heartbeatsCache.heartbeats.push({ date, agent });\r\n }\r\n // Remove entries older than 30 days.\r\n this._heartbeatsCache.heartbeats =\r\n this._heartbeatsCache.heartbeats.filter(singleDateHeartbeat => {\r\n const hbTimestamp = new Date(singleDateHeartbeat.date).valueOf();\r\n const now = Date.now();\r\n return now - hbTimestamp <= STORED_HEARTBEAT_RETENTION_MAX_MILLIS;\r\n });\r\n return this._storage.overwrite(this._heartbeatsCache);\r\n }\r\n catch (e) {\r\n logger.warn(e);\r\n }\r\n }\r\n /**\r\n * Returns a base64 encoded string which can be attached to the heartbeat-specific header directly.\r\n * It also clears all heartbeats from memory as well as in IndexedDB.\r\n *\r\n * NOTE: Consuming product SDKs should not send the header if this method\r\n * returns an empty string.\r\n */\r\n async getHeartbeatsHeader() {\r\n var _a;\r\n try {\r\n if (this._heartbeatsCache === null) {\r\n await this._heartbeatsCachePromise;\r\n }\r\n // If it's still null or the array is empty, there is no data to send.\r\n if (((_a = this._heartbeatsCache) === null || _a === void 0 ? void 0 : _a.heartbeats) == null ||\r\n this._heartbeatsCache.heartbeats.length === 0) {\r\n return '';\r\n }\r\n const date = getUTCDateString();\r\n // Extract as many heartbeats from the cache as will fit under the size limit.\r\n const { heartbeatsToSend, unsentEntries } = extractHeartbeatsForHeader(this._heartbeatsCache.heartbeats);\r\n const headerString = base64urlEncodeWithoutPadding(JSON.stringify({ version: 2, heartbeats: heartbeatsToSend }));\r\n // Store last sent date to prevent another being logged/sent for the same day.\r\n this._heartbeatsCache.lastSentHeartbeatDate = date;\r\n if (unsentEntries.length > 0) {\r\n // Store any unsent entries if they exist.\r\n this._heartbeatsCache.heartbeats = unsentEntries;\r\n // This seems more likely than emptying the array (below) to lead to some odd state\r\n // since the cache isn't empty and this will be called again on the next request,\r\n // and is probably safest if we await it.\r\n await this._storage.overwrite(this._heartbeatsCache);\r\n }\r\n else {\r\n this._heartbeatsCache.heartbeats = [];\r\n // Do not wait for this, to reduce latency.\r\n void this._storage.overwrite(this._heartbeatsCache);\r\n }\r\n return headerString;\r\n }\r\n catch (e) {\r\n logger.warn(e);\r\n return '';\r\n }\r\n }\r\n}\r\nfunction getUTCDateString() {\r\n const today = new Date();\r\n // Returns date format 'YYYY-MM-DD'\r\n return today.toISOString().substring(0, 10);\r\n}\r\nfunction extractHeartbeatsForHeader(heartbeatsCache, maxSize = MAX_HEADER_BYTES) {\r\n // Heartbeats grouped by user agent in the standard format to be sent in\r\n // the header.\r\n const heartbeatsToSend = [];\r\n // Single date format heartbeats that are not sent.\r\n let unsentEntries = heartbeatsCache.slice();\r\n for (const singleDateHeartbeat of heartbeatsCache) {\r\n // Look for an existing entry with the same user agent.\r\n const heartbeatEntry = heartbeatsToSend.find(hb => hb.agent === singleDateHeartbeat.agent);\r\n if (!heartbeatEntry) {\r\n // If no entry for this user agent exists, create one.\r\n heartbeatsToSend.push({\r\n agent: singleDateHeartbeat.agent,\r\n dates: [singleDateHeartbeat.date]\r\n });\r\n if (countBytes(heartbeatsToSend) > maxSize) {\r\n // If the header would exceed max size, remove the added heartbeat\r\n // entry and stop adding to the header.\r\n heartbeatsToSend.pop();\r\n break;\r\n }\r\n }\r\n else {\r\n heartbeatEntry.dates.push(singleDateHeartbeat.date);\r\n // If the header would exceed max size, remove the added date\r\n // and stop adding to the header.\r\n if (countBytes(heartbeatsToSend) > maxSize) {\r\n heartbeatEntry.dates.pop();\r\n break;\r\n }\r\n }\r\n // Pop unsent entry from queue. (Skipped if adding the entry exceeded\r\n // quota and the loop breaks early.)\r\n unsentEntries = unsentEntries.slice(1);\r\n }\r\n return {\r\n heartbeatsToSend,\r\n unsentEntries\r\n };\r\n}\r\nclass HeartbeatStorageImpl {\r\n constructor(app) {\r\n this.app = app;\r\n this._canUseIndexedDBPromise = this.runIndexedDBEnvironmentCheck();\r\n }\r\n async runIndexedDBEnvironmentCheck() {\r\n if (!isIndexedDBAvailable()) {\r\n return false;\r\n }\r\n else {\r\n return validateIndexedDBOpenable()\r\n .then(() => true)\r\n .catch(() => false);\r\n }\r\n }\r\n /**\r\n * Read all heartbeats.\r\n */\r\n async read() {\r\n const canUseIndexedDB = await this._canUseIndexedDBPromise;\r\n if (!canUseIndexedDB) {\r\n return { heartbeats: [] };\r\n }\r\n else {\r\n const idbHeartbeatObject = await readHeartbeatsFromIndexedDB(this.app);\r\n if (idbHeartbeatObject === null || idbHeartbeatObject === void 0 ? void 0 : idbHeartbeatObject.heartbeats) {\r\n return idbHeartbeatObject;\r\n }\r\n else {\r\n return { heartbeats: [] };\r\n }\r\n }\r\n }\r\n // overwrite the storage with the provided heartbeats\r\n async overwrite(heartbeatsObject) {\r\n var _a;\r\n const canUseIndexedDB = await this._canUseIndexedDBPromise;\r\n if (!canUseIndexedDB) {\r\n return;\r\n }\r\n else {\r\n const existingHeartbeatsObject = await this.read();\r\n return writeHeartbeatsToIndexedDB(this.app, {\r\n lastSentHeartbeatDate: (_a = heartbeatsObject.lastSentHeartbeatDate) !== null && _a !== void 0 ? _a : existingHeartbeatsObject.lastSentHeartbeatDate,\r\n heartbeats: heartbeatsObject.heartbeats\r\n });\r\n }\r\n }\r\n // add heartbeats\r\n async add(heartbeatsObject) {\r\n var _a;\r\n const canUseIndexedDB = await this._canUseIndexedDBPromise;\r\n if (!canUseIndexedDB) {\r\n return;\r\n }\r\n else {\r\n const existingHeartbeatsObject = await this.read();\r\n return writeHeartbeatsToIndexedDB(this.app, {\r\n lastSentHeartbeatDate: (_a = heartbeatsObject.lastSentHeartbeatDate) !== null && _a !== void 0 ? _a : existingHeartbeatsObject.lastSentHeartbeatDate,\r\n heartbeats: [\r\n ...existingHeartbeatsObject.heartbeats,\r\n ...heartbeatsObject.heartbeats\r\n ]\r\n });\r\n }\r\n }\r\n}\r\n/**\r\n * Calculate bytes of a HeartbeatsByUserAgent array after being wrapped\r\n * in a platform logging header JSON object, stringified, and converted\r\n * to base 64.\r\n */\r\nfunction countBytes(heartbeatsCache) {\r\n // base64 has a restricted set of characters, all of which should be 1 byte.\r\n return base64urlEncodeWithoutPadding(\r\n // heartbeatsCache wrapper properties\r\n JSON.stringify({ version: 2, heartbeats: heartbeatsCache })).length;\r\n}\n\n/**\r\n * @license\r\n * Copyright 2019 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\nfunction registerCoreComponents(variant) {\r\n _registerComponent(new Component('platform-logger', container => new PlatformLoggerServiceImpl(container), \"PRIVATE\" /* ComponentType.PRIVATE */));\r\n _registerComponent(new Component('heartbeat', container => new HeartbeatServiceImpl(container), \"PRIVATE\" /* ComponentType.PRIVATE */));\r\n // Register `app` package.\r\n registerVersion(name$p, version$1, variant);\r\n // BUILD_TARGET will be replaced by values like esm5, esm2017, cjs5, etc during the compilation\r\n registerVersion(name$p, version$1, 'esm2017');\r\n // Register platform SDK identifier (no version).\r\n registerVersion('fire-js', '');\r\n}\n\n/**\r\n * Firebase App\r\n *\r\n * @remarks This package coordinates the communication between the different Firebase components\r\n * @packageDocumentation\r\n */\r\nregisterCoreComponents('');\n\nexport { SDK_VERSION, DEFAULT_ENTRY_NAME as _DEFAULT_ENTRY_NAME, _addComponent, _addOrOverwriteComponent, _apps, _clearComponents, _components, _getProvider, _isFirebaseApp, _isFirebaseServerApp, _registerComponent, _removeServiceInstance, _serverApps, deleteApp, getApp, getApps, initializeApp, initializeServerApp, onLog, registerVersion, setLogLevel };\n//# sourceMappingURL=index.esm2017.js.map\n","import { registerVersion } from '@firebase/app';\nexport * from '@firebase/app';\n\nvar name = \"firebase\";\nvar version = \"10.13.1\";\n\n/**\r\n * @license\r\n * Copyright 2020 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\nregisterVersion(name, version, 'app');\n//# sourceMappingURL=index.esm.js.map\n"],"names":["stringToByteArray$1","str","out","p","i","c","byteArrayToString","bytes","pos","c1","c2","c3","c4","u","base64","input","webSafe","byteToCharMap","output","byte1","haveByte2","byte2","haveByte3","byte3","outByte1","outByte2","outByte3","outByte4","charToByteMap","byte4","DecodeBase64StringError","base64Encode","utf8Bytes","base64urlEncodeWithoutPadding","base64Decode","getGlobal","getDefaultsFromGlobal","getDefaultsFromEnvVariable","define_process_env_default","defaultsJsonString","getDefaultsFromCookie","match","decoded","getDefaults","e","getDefaultAppConfig","_a","Deferred","resolve","reject","callback","error","value","isIndexedDBAvailable","validateIndexedDBOpenable","preExist","DB_CHECK_NAME","request","ERROR_NAME","FirebaseError","code","message","customData","ErrorFactory","service","serviceName","errors","data","fullCode","template","replaceTemplate","fullMessage","PATTERN","_","key","deepEqual","a","b","aKeys","bKeys","k","aProp","bProp","isObject","thing","Component","name","instanceFactory","type","mode","multipleInstances","props","DEFAULT_ENTRY_NAME","Provider","container","identifier","normalizedIdentifier","deferred","instance","options","optional","component","isComponentEager","instanceIdentifier","instanceDeferred","services","opts","normalizedDeferredIdentifier","existingCallbacks","existingInstance","callbacks","normalizeIdentifierForFactory","ComponentContainer","provider","LogLevel","levelStringToEnum","defaultLogLevel","ConsoleMethod","defaultLogHandler","logType","args","now","method","Logger","val","instanceOfAny","object","constructors","idbProxyableTypes","cursorAdvanceMethods","getIdbProxyableTypes","getCursorAdvanceMethods","cursorRequestMap","transactionDoneMap","transactionStoreNamesMap","transformCache","reverseTransformCache","promisifyRequest","promise","unlisten","success","wrap","cacheDonePromiseForTransaction","tx","done","complete","idbProxyTraps","target","prop","receiver","replaceTraps","wrapFunction","func","storeNames","unwrap","transformCachableValue","newValue","openDB","version","blocked","upgrade","blocking","terminated","openPromise","event","db","readMethods","writeMethods","cachedMethods","getMethod","targetFuncName","useIndex","isWrite","storeName","oldTraps","PlatformLoggerServiceImpl","isVersionServiceProvider","logString","name$p","version$1","logger","name$o","name$n","name$m","name$l","name$k","name$j","name$i","name$h","name$g","name$f","name$e","name$d","name$c","name$b","name$a","name$9","name$8","name$7","name$6","name$5","name$4","name$3","name$2","name$1","PLATFORM_LOG_STRING","_apps","_serverApps","_components","_addComponent","app","_registerComponent","componentName","serverApp","ERRORS","ERROR_FACTORY","FirebaseAppImpl","config","initializeApp","_options","rawConfig","existingApp","newApp","registerVersion","libraryKeyOrName","variant","library","libraryMismatch","versionMismatch","warning","DB_NAME","DB_VERSION","STORE_NAME","dbPromise","getDbPromise","oldVersion","readHeartbeatsFromIndexedDB","result","computeKey","idbGetError","writeHeartbeatsToIndexedDB","heartbeatObject","MAX_HEADER_BYTES","STORED_HEARTBEAT_RETENTION_MAX_MILLIS","HeartbeatServiceImpl","HeartbeatStorageImpl","_b","agent","date","getUTCDateString","singleDateHeartbeat","hbTimestamp","heartbeatsToSend","unsentEntries","extractHeartbeatsForHeader","headerString","heartbeatsCache","maxSize","heartbeatEntry","hb","countBytes","idbHeartbeatObject","heartbeatsObject","existingHeartbeatsObject","registerCoreComponents"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,5,6]} \ No newline at end of file diff --git a/Target/_astro/index.modern.CiCz6VZW.js b/Target/_astro/index.modern.CiCz6VZW.js deleted file mode 100644 index d47a923e..00000000 --- a/Target/_astro/index.modern.CiCz6VZW.js +++ /dev/null @@ -1 +0,0 @@ -import{e as p}from"./index.modern.CkIAsQri.js";import{queryAll as u}from"./Swup.modern.UA9jlYbO.js";function a(){return a=Object.assign?Object.assign.bind():function(t){for(var o=1;o{if(t&&t.nodeType)this._targetPositionY=Math.round(t.getBoundingClientRect().top+window.pageYOffset);else{if(parseInt(this._targetPositionY)!==this._targetPositionY)return void console.error("Argument must be a number or an element.");this._targetPositionY=Math.round(t)}this._targetPositionY>document.documentElement.scrollHeight-window.innerHeight&&(this._targetPositionY=document.documentElement.scrollHeight-window.innerHeight),this._positionY=document.body.scrollTop||document.documentElement.scrollTop,this._direction=this._positionY>this._targetPositionY?-1:1,this._targetPositionYWithOffset=this._targetPositionY+this._direction,this._velocityY=0,this._positionY!==this._targetPositionY?(this.options.onStart(),this._animate()):this.options.onAlreadyAtPositions()},this._animate=()=>{this._update(),this._render(),1===this._direction&&this._targetPositionY>this._positionY||-1===this._direction&&this._targetPositionY{const t=this._targetPositionYWithOffset-this._positionY;return this._velocityY+=t*this.options.acceleration,this._velocityY*=this.options.friction,this._positionY+=this._velocityY,Math.abs(t)},this._render=()=>{window.scrollTo(0,this._positionY)},this.options=a({},{onAlreadyAtPositions:()=>{},onCancel:()=>{},onEnd:()=>{},onStart:()=>{},onTick:()=>{},friction:.7,acceleration:.04},t),t&&t.friction&&(this.options.friction=1-t.friction),window.addEventListener("mousewheel",(t=>{this._raf&&(this.options.onCancel(),cancelAnimationFrame(this._raf),this._raf=null)}),{passive:!0})}}function c(){return c=Object.assign?Object.assign.bind():function(t){for(var o=1;o=4.2.0"},this.scrl=void 0,this.defaults={doScrollingRightAway:!1,animateScroll:{betweenPages:!0,samePageWithHash:!0,samePage:!0},scrollFriction:.3,scrollAcceleration:.04,getAnchorElement:void 0,offset:0,scrollContainers:"[data-swup-scroll-container]",shouldResetScrollPosition:()=>!0,markScrollTarget:!1},this.options=void 0,this.cachedScrollPositions={},this.previousScrollRestoration=void 0,this.currentCacheKey=void 0,this.getAnchorElement=(t="")=>"function"==typeof this.options.getAnchorElement?this.options.getAnchorElement(t):this.swup.getAnchorElement(t),this.getOffset=t=>t?"function"==typeof this.options.offset?parseInt(String(this.options.offset(t)),10):parseInt(String(this.options.offset),10):0,this.onBeforeLinkToSelf=t=>{t.scroll.animate=this.shouldAnimate("samePage")},this.handleScrollToTop=t=>{var o,i;return null==(o=(i=this.swup).scrollTo)||o.call(i,0,t.scroll.animate),!0},this.onBeforeLinkToAnchor=t=>{t.scroll.animate=this.shouldAnimate("samePageWithHash")},this.handleScrollToAnchor=(t,{hash:o})=>this.maybeScrollToAnchor(o,t.scroll.animate),this.onBeforeVisitStart=t=>{t.scroll.scrolledToContent=!1,t.scroll.animate=this.shouldAnimate("betweenPages")},this.onVisitStart=t=>{var o;this.cacheScrollPositions(t.from.url),this.maybeResetScrollPositions(t);const i=null!=(o=t.scroll.target)?o:t.to.hash;t.scroll.animate&&this.options.doScrollingRightAway&&!i&&this.doScrollingBetweenPages(t)},this.handleScrollToContent=t=>{t.scroll.scrolledToContent||this.doScrollingBetweenPages(t),this.restoreScrollContainers(t.to.url)},this.doScrollingBetweenPages=t=>{var o,i;if(t.history.popstate&&!t.animation.animate)return;const s=null!=(o=t.scroll.target)?o:t.to.hash;if(s&&this.maybeScrollToAnchor(s,t.scroll.animate)||!t.scroll.reset)return;const e=this.getCachedScrollPositions(t.to.url),n=(null==e||null==(i=e.window)?void 0:i.top)||0;requestAnimationFrame((()=>{var o,i;return null==(o=(i=this.swup).scrollTo)?void 0:o.call(i,n,t.scroll.animate)})),t.scroll.scrolledToContent=!0},this.maybeResetScrollPositions=t=>{const{popstate:o}=t.history,{url:i}=t.to,{el:s}=t.trigger;o||s&&!this.options.shouldResetScrollPosition(s)||this.resetScrollPositions(i)},this.options=c({},this.defaults,t)}mount(){const t=this.swup;t.hooks.create("scroll:start"),t.hooks.create("scroll:end");const o=this.swup.createVisit({to:this.swup.currentPageUrl});this.scrl=new g({onStart:()=>t.hooks.callSync("scroll:start",o,void 0),onEnd:()=>t.hooks.callSync("scroll:end",o,void 0),onCancel:()=>t.hooks.callSync("scroll:end",o,void 0),friction:this.options.scrollFriction,acceleration:this.options.scrollAcceleration}),t.scrollTo=(i,s=!0)=>{s?this.scrl.scrollTo(i):(t.hooks.callSync("scroll:start",o,void 0),window.scrollTo(0,i),t.hooks.callSync("scroll:end",o,void 0))},this.previousScrollRestoration=window.history.scrollRestoration,t.options.animateHistoryBrowsing&&(window.history.scrollRestoration="manual"),this.updateScrollTarget=this.updateScrollTarget.bind(this),this.options.markScrollTarget&&(window.addEventListener("popstate",this.updateScrollTarget),window.addEventListener("hashchange",this.updateScrollTarget),this.on("page:view",this.updateScrollTarget),this.on("link:anchor",this.updateScrollTarget),this.on("link:self",this.updateScrollTarget),this.updateScrollTarget()),this.before("visit:start",this.onBeforeVisitStart,{priority:-1}),this.on("visit:start",this.onVisitStart,{priority:1}),this.replace("content:scroll",this.handleScrollToContent),this.before("link:self",this.onBeforeLinkToSelf,{priority:-1}),this.replace("scroll:top",this.handleScrollToTop),this.before("link:anchor",this.onBeforeLinkToAnchor,{priority:-1}),this.replace("scroll:anchor",this.handleScrollToAnchor)}unmount(){super.unmount(),this.previousScrollRestoration&&(window.history.scrollRestoration=this.previousScrollRestoration),window.removeEventListener("popstate",this.updateScrollTarget),window.removeEventListener("hashchange",this.updateScrollTarget),this.cachedScrollPositions={},delete this.swup.scrollTo,delete this.scrl}shouldAnimate(t){return"boolean"==typeof this.options.animateScroll?this.options.animateScroll:this.options.animateScroll[t]}maybeScrollToAnchor(t,o=!1){var i,s;if(!t)return!1;const e=this.getAnchorElement(t);if(!e)return console.warn(`Anchor target ${t} not found`),!1;if(!(e instanceof Element))return console.warn(`Anchor target ${t} is not a DOM node`),!1;const{top:n}=e.getBoundingClientRect(),r=n+window.scrollY-this.getOffset(e);return null==(i=(s=this.swup).scrollTo)||i.call(s,r,o),!0}cacheScrollPositions(t){const o=this.swup.resolveUrl(t),i=u(this.options.scrollContainers).map((t=>({top:t.scrollTop,left:t.scrollLeft}))),s={window:{top:window.scrollY,left:window.scrollX},containers:i};this.cachedScrollPositions[o]=s}resetScrollPositions(t){const o=this.swup.resolveUrl(t);delete this.cachedScrollPositions[o]}getCachedScrollPositions(t){const o=this.swup.resolveUrl(t);return this.cachedScrollPositions[o]}restoreScrollContainers(t){const o=this.getCachedScrollPositions(t);o&&0!==o.containers.length&&u(this.options.scrollContainers).forEach(((t,i)=>{const s=o.containers[i];null!=s&&(t.scrollTop=s.top,t.scrollLeft=s.left)}))}updateScrollTarget(){var t;const{hash:o}=window.location,i=document.querySelector("[data-swup-scroll-target]");let s=this.getAnchorElement(o);s instanceof HTMLBodyElement&&(s=null),i!==s&&(i?.removeAttribute("data-swup-scroll-target"),null==(t=s)||t.setAttribute("data-swup-scroll-target",""))}}export{S as default}; \ No newline at end of file diff --git a/Target/_astro/index.modern.CiCz6VZW.js.map b/Target/_astro/index.modern.CiCz6VZW.js.map deleted file mode 100644 index a0162897..00000000 --- a/Target/_astro/index.modern.CiCz6VZW.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"index.modern.CiCz6VZW.js","sources":["../../../../../../node_modules/scrl/dist/index.modern.js","../../../../../../node_modules/@swup/scroll-plugin/dist/index.modern.js"],"sourcesContent":["function t(){return t=Object.assign?Object.assign.bind():function(t){for(var i=1;i{if(t&&t.nodeType)this._targetPositionY=Math.round(t.getBoundingClientRect().top+window.pageYOffset);else{if(parseInt(this._targetPositionY)!==this._targetPositionY)return void console.error(\"Argument must be a number or an element.\");this._targetPositionY=Math.round(t)}this._targetPositionY>document.documentElement.scrollHeight-window.innerHeight&&(this._targetPositionY=document.documentElement.scrollHeight-window.innerHeight),this._positionY=document.body.scrollTop||document.documentElement.scrollTop,this._direction=this._positionY>this._targetPositionY?-1:1,this._targetPositionYWithOffset=this._targetPositionY+this._direction,this._velocityY=0,this._positionY!==this._targetPositionY?(this.options.onStart(),this._animate()):this.options.onAlreadyAtPositions()},this._animate=()=>{this._update(),this._render(),1===this._direction&&this._targetPositionY>this._positionY||-1===this._direction&&this._targetPositionY{const t=this._targetPositionYWithOffset-this._positionY;return this._velocityY+=t*this.options.acceleration,this._velocityY*=this.options.friction,this._positionY+=this._velocityY,Math.abs(t)},this._render=()=>{window.scrollTo(0,this._positionY)},this.options=t({},{onAlreadyAtPositions:()=>{},onCancel:()=>{},onEnd:()=>{},onStart:()=>{},onTick:()=>{},friction:.7,acceleration:.04},i),i&&i.friction&&(this.options.friction=1-i.friction),window.addEventListener(\"mousewheel\",t=>{this._raf&&(this.options.onCancel(),cancelAnimationFrame(this._raf),this._raf=null)},{passive:!0})}}export{i as default};\n//# sourceMappingURL=index.modern.js.map\n","import t from\"@swup/plugin\";import{queryAll as o}from\"swup\";import s from\"scrl\";function e(){return e=Object.assign?Object.assign.bind():function(t){for(var o=1;o=4.2.0\"},this.scrl=void 0,this.defaults={doScrollingRightAway:!1,animateScroll:{betweenPages:!0,samePageWithHash:!0,samePage:!0},scrollFriction:.3,scrollAcceleration:.04,getAnchorElement:void 0,offset:0,scrollContainers:\"[data-swup-scroll-container]\",shouldResetScrollPosition:()=>!0,markScrollTarget:!1},this.options=void 0,this.cachedScrollPositions={},this.previousScrollRestoration=void 0,this.currentCacheKey=void 0,this.getAnchorElement=(t=\"\")=>\"function\"==typeof this.options.getAnchorElement?this.options.getAnchorElement(t):this.swup.getAnchorElement(t),this.getOffset=t=>t?\"function\"==typeof this.options.offset?parseInt(String(this.options.offset(t)),10):parseInt(String(this.options.offset),10):0,this.onBeforeLinkToSelf=t=>{t.scroll.animate=this.shouldAnimate(\"samePage\")},this.handleScrollToTop=t=>{var o,s;return null==(o=(s=this.swup).scrollTo)||o.call(s,0,t.scroll.animate),!0},this.onBeforeLinkToAnchor=t=>{t.scroll.animate=this.shouldAnimate(\"samePageWithHash\")},this.handleScrollToAnchor=(t,{hash:o})=>this.maybeScrollToAnchor(o,t.scroll.animate),this.onBeforeVisitStart=t=>{t.scroll.scrolledToContent=!1,t.scroll.animate=this.shouldAnimate(\"betweenPages\")},this.onVisitStart=t=>{var o;this.cacheScrollPositions(t.from.url),this.maybeResetScrollPositions(t);const s=null!=(o=t.scroll.target)?o:t.to.hash;t.scroll.animate&&this.options.doScrollingRightAway&&!s&&this.doScrollingBetweenPages(t)},this.handleScrollToContent=t=>{t.scroll.scrolledToContent||this.doScrollingBetweenPages(t),this.restoreScrollContainers(t.to.url)},this.doScrollingBetweenPages=t=>{var o,s;if(t.history.popstate&&!t.animation.animate)return;const e=null!=(o=t.scroll.target)?o:t.to.hash;if(e&&this.maybeScrollToAnchor(e,t.scroll.animate))return;if(!t.scroll.reset)return;const l=this.getCachedScrollPositions(t.to.url),r=(null==l||null==(s=l.window)?void 0:s.top)||0;requestAnimationFrame(()=>{var o,s;return null==(o=(s=this.swup).scrollTo)?void 0:o.call(s,r,t.scroll.animate)}),t.scroll.scrolledToContent=!0},this.maybeResetScrollPositions=t=>{const{popstate:o}=t.history,{url:s}=t.to,{el:e}=t.trigger;o||e&&!this.options.shouldResetScrollPosition(e)||this.resetScrollPositions(s)},this.options=e({},this.defaults,t)}mount(){const t=this.swup;t.hooks.create(\"scroll:start\"),t.hooks.create(\"scroll:end\");const o=this.swup.createVisit({to:this.swup.currentPageUrl});this.scrl=new s({onStart:()=>t.hooks.callSync(\"scroll:start\",o,void 0),onEnd:()=>t.hooks.callSync(\"scroll:end\",o,void 0),onCancel:()=>t.hooks.callSync(\"scroll:end\",o,void 0),friction:this.options.scrollFriction,acceleration:this.options.scrollAcceleration}),t.scrollTo=(s,e=!0)=>{e?this.scrl.scrollTo(s):(t.hooks.callSync(\"scroll:start\",o,void 0),window.scrollTo(0,s),t.hooks.callSync(\"scroll:end\",o,void 0))},this.previousScrollRestoration=window.history.scrollRestoration,t.options.animateHistoryBrowsing&&(window.history.scrollRestoration=\"manual\"),this.updateScrollTarget=this.updateScrollTarget.bind(this),this.options.markScrollTarget&&(window.addEventListener(\"popstate\",this.updateScrollTarget),window.addEventListener(\"hashchange\",this.updateScrollTarget),this.on(\"page:view\",this.updateScrollTarget),this.on(\"link:anchor\",this.updateScrollTarget),this.on(\"link:self\",this.updateScrollTarget),this.updateScrollTarget()),this.before(\"visit:start\",this.onBeforeVisitStart,{priority:-1}),this.on(\"visit:start\",this.onVisitStart,{priority:1}),this.replace(\"content:scroll\",this.handleScrollToContent),this.before(\"link:self\",this.onBeforeLinkToSelf,{priority:-1}),this.replace(\"scroll:top\",this.handleScrollToTop),this.before(\"link:anchor\",this.onBeforeLinkToAnchor,{priority:-1}),this.replace(\"scroll:anchor\",this.handleScrollToAnchor)}unmount(){super.unmount(),this.previousScrollRestoration&&(window.history.scrollRestoration=this.previousScrollRestoration),window.removeEventListener(\"popstate\",this.updateScrollTarget),window.removeEventListener(\"hashchange\",this.updateScrollTarget),this.cachedScrollPositions={},delete this.swup.scrollTo,delete this.scrl}shouldAnimate(t){return\"boolean\"==typeof this.options.animateScroll?this.options.animateScroll:this.options.animateScroll[t]}maybeScrollToAnchor(t,o=!1){var s,e;if(!t)return!1;const l=this.getAnchorElement(t);if(!l)return console.warn(`Anchor target ${t} not found`),!1;if(!(l instanceof Element))return console.warn(`Anchor target ${t} is not a DOM node`),!1;const{top:r}=l.getBoundingClientRect(),i=r+window.scrollY-this.getOffset(l);return null==(s=(e=this.swup).scrollTo)||s.call(e,i,o),!0}cacheScrollPositions(t){const s=this.swup.resolveUrl(t),e=o(this.options.scrollContainers).map(t=>({top:t.scrollTop,left:t.scrollLeft})),l={window:{top:window.scrollY,left:window.scrollX},containers:e};this.cachedScrollPositions[s]=l}resetScrollPositions(t){const o=this.swup.resolveUrl(t);delete this.cachedScrollPositions[o]}getCachedScrollPositions(t){const o=this.swup.resolveUrl(t);return this.cachedScrollPositions[o]}restoreScrollContainers(t){const s=this.getCachedScrollPositions(t);s&&0!==s.containers.length&&o(this.options.scrollContainers).forEach((t,o)=>{const e=s.containers[o];null!=e&&(t.scrollTop=e.top,t.scrollLeft=e.left)})}updateScrollTarget(){var t;const{hash:o}=window.location,s=document.querySelector(\"[data-swup-scroll-target]\");let e=this.getAnchorElement(o);e instanceof HTMLBodyElement&&(e=null),s!==e&&(null==s||s.removeAttribute(\"data-swup-scroll-target\"),null==(t=e)||t.setAttribute(\"data-swup-scroll-target\",\"\"))}}export{l as default};\n//# sourceMappingURL=index.modern.js.map\n"],"names":["t","i","o","e","s","l","r"],"mappings":"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","x_google_ignoreList":[0,1]} \ No newline at end of file diff --git a/Target/_astro/index.modern.CkIAsQri.js b/Target/_astro/index.modern.CkIAsQri.js deleted file mode 100644 index f6d9dfeb..00000000 --- a/Target/_astro/index.modern.CkIAsQri.js +++ /dev/null @@ -1 +0,0 @@ -function o(){return o=Object.assign?Object.assign.bind():function(r){for(var n=1;nString(r).split(".").map((r=>String(parseInt(r||"0",10)))).concat(["0","0"]).slice(0,3).join(".");class y{constructor(){this.isSwupPlugin=!0,this.swup=void 0,this.version=void 0,this.requires={},this.handlersToUnregister=[]}mount(){}unmount(){this.handlersToUnregister.forEach((r=>r())),this.handlersToUnregister=[]}_beforeMount(){if(!this.name)throw new Error("You must define a name of plugin when creating a class.")}_afterUnmount(){}_checkRequirements(){return"object"!=typeof this.requires||Object.entries(this.requires).forEach((([r,n])=>{if(!function(r,n,e){const t=function(r,n){var e;if("swup"===r)return null!=(e=n.version)?e:"";{var t;const e=n.findPlugin(r);return null!=(t=e?.version)?t:""}}(r,e);return!!t&&(o=t,n.every((r=>{const[,n,e]=r.match(/^([\D]+)?(.*)$/)||[];var t,s;return((r,n)=>{const e={"":r=>0===r,">":r=>r>0,">=":r=>r>=0,"<":r=>r<0,"<=":r=>r<=0};return(e[n]||e[""])(r)})((s=e,t=d(t=o),s=d(s),t.localeCompare(s,void 0,{numeric:!0})),n||">=")})));var o}(r,n=Array.isArray(n)?n:[n],this.swup)){const e=`${r} ${n.join(", ")}`;throw new Error(`Plugin version mismatch: ${this.name} requires ${e}`)}})),!0}on(r,n,e={}){var t;n=!(t=n).name.startsWith("bound ")||t.hasOwnProperty("prototype")?n.bind(this):n;const o=this.swup.hooks.on(r,n,e);return this.handlersToUnregister.push(o),o}once(r,n,e={}){return this.on(r,n,o({},e,{once:!0}))}before(r,n,e={}){return this.on(r,n,o({},e,{before:!0}))}replace(r,n,e={}){return this.on(r,n,o({},e,{replace:!0}))}off(r,n){return this.swup.hooks.off(r,n)}}export{y as e}; \ No newline at end of file diff --git a/Target/_astro/index.modern.CkIAsQri.js.map b/Target/_astro/index.modern.CkIAsQri.js.map deleted file mode 100644 index a8aab860..00000000 --- a/Target/_astro/index.modern.CkIAsQri.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"index.modern.CkIAsQri.js","sources":["../../../../../../node_modules/@swup/plugin/dist/index.modern.js"],"sourcesContent":["function r(){return r=Object.assign?Object.assign.bind():function(r){for(var n=1;nString(r).split(\".\").map(r=>String(parseInt(r||\"0\",10))).concat([\"0\",\"0\"]).slice(0,3).join(\".\");class e{constructor(){this.isSwupPlugin=!0,this.swup=void 0,this.version=void 0,this.requires={},this.handlersToUnregister=[]}mount(){}unmount(){this.handlersToUnregister.forEach(r=>r()),this.handlersToUnregister=[]}_beforeMount(){if(!this.name)throw new Error(\"You must define a name of plugin when creating a class.\")}_afterUnmount(){}_checkRequirements(){return\"object\"!=typeof this.requires||Object.entries(this.requires).forEach(([r,e])=>{if(!function(r,e,t){const s=function(r,n){var e;if(\"swup\"===r)return null!=(e=n.version)?e:\"\";{var t;const e=n.findPlugin(r);return null!=(t=null==e?void 0:e.version)?t:\"\"}}(r,t);return!!s&&((r,e)=>e.every(e=>{const[,t,s]=e.match(/^([\\D]+)?(.*)$/)||[];var o,i;return((r,n)=>{const e={\"\":r=>0===r,\">\":r=>r>0,\">=\":r=>r>=0,\"<\":r=>r<0,\"<=\":r=>r<=0};return(e[n]||e[\"\"])(r)})((i=s,o=n(o=r),i=n(i),o.localeCompare(i,void 0,{numeric:!0})),t||\">=\")}))(s,e)}(r,e=Array.isArray(e)?e:[e],this.swup)){const n=`${r} ${e.join(\", \")}`;throw new Error(`Plugin version mismatch: ${this.name} requires ${n}`)}}),!0}on(r,n,e={}){var t;n=!(t=n).name.startsWith(\"bound \")||t.hasOwnProperty(\"prototype\")?n.bind(this):n;const s=this.swup.hooks.on(r,n,e);return this.handlersToUnregister.push(s),s}once(n,e,t={}){return this.on(n,e,r({},t,{once:!0}))}before(n,e,t={}){return this.on(n,e,r({},t,{before:!0}))}replace(n,e,t={}){return this.on(n,e,r({},t,{replace:!0}))}off(r,n){return this.swup.hooks.off(r,n)}}export{e as default};\n//# sourceMappingURL=index.modern.js.map\n"],"names":["r","e","n","t","s","o","i"],"mappings":"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","x_google_ignoreList":[0]} \ No newline at end of file diff --git a/Target/_astro/index.modern.DpLP8u1C.js b/Target/_astro/index.modern.DpLP8u1C.js deleted file mode 100644 index 961cb8a8..00000000 --- a/Target/_astro/index.modern.DpLP8u1C.js +++ /dev/null @@ -1 +0,0 @@ -import{e as s}from"./index.modern.CkIAsQri.js";let i=class extends s{constructor(...t){super(...t),this._originalAnimationSelectorOption="",this._addedStyleElements=[],this._addedHTMLContent=[],this._classNameAddedToElements=[],this._addClassNameToElement=()=>{this._classNameAddedToElements.forEach((t=>{Array.from(document.querySelectorAll(t.selector)).forEach((e=>{e.classList.add(`swup-transition-${t.name}`)}))}))}}_beforeMount(){this._originalAnimationSelectorOption=String(this.swup.options.animationSelector),this.swup.options.animationSelector='[class*="swup-transition-"]',this.swup.hooks.on("content:replace",this._addClassNameToElement)}_afterUnmount(){this.swup.options.animationSelector=this._originalAnimationSelectorOption,this._addedStyleElements.forEach((t=>{t.outerHTML=""})),this._addedStyleElements=[],this._addedHTMLContent.forEach((t=>{t.outerHTML=""})),this._addedHTMLContent=[],this._classNameAddedToElements.forEach((t=>{Array.from(document.querySelectorAll(t.selector)).forEach((t=>{t.className.split(" ").forEach((e=>{new RegExp("^swup-transition-").test(e)&&t.classList.remove(e)}))}))})),this.swup.hooks.off("content:replace",this._addClassNameToElement)}applyStyles(t){const e=document.createElement("style");e.setAttribute("data-swup-theme",""),e.appendChild(document.createTextNode(t)),document.head.prepend(e),this._addedStyleElements.push(e)}applyHTML(t){const e=document.createElement("div");e.innerHTML=t,document.body.appendChild(e),this._addedHTMLContent.push(e)}addClassName(t,e){this._classNameAddedToElements.push({selector:t,name:e}),this._addClassNameToElement()}};function r(){return r=Object.assign?Object.assign.bind():function(t){for(var e=1;e\n\t\t`}}export{v as default}; \ No newline at end of file diff --git a/Target/_astro/index.modern.DpLP8u1C.js.map b/Target/_astro/index.modern.DpLP8u1C.js.map deleted file mode 100644 index 6e9abe3d..00000000 --- a/Target/_astro/index.modern.DpLP8u1C.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"index.modern.DpLP8u1C.js","sources":["../../../../../../node_modules/@swup/theme/dist/index.modern.js","../../../../../../node_modules/@swup/overlay-theme/dist/index.modern.js"],"sourcesContent":["import e from\"@swup/plugin\";class t extends e{constructor(...e){super(...e),this._originalAnimationSelectorOption=\"\",this._addedStyleElements=[],this._addedHTMLContent=[],this._classNameAddedToElements=[],this._addClassNameToElement=()=>{this._classNameAddedToElements.forEach(e=>{Array.from(document.querySelectorAll(e.selector)).forEach(t=>{t.classList.add(`swup-transition-${e.name}`)})})}}_beforeMount(){this._originalAnimationSelectorOption=String(this.swup.options.animationSelector),this.swup.options.animationSelector='[class*=\"swup-transition-\"]',this.swup.hooks.on(\"content:replace\",this._addClassNameToElement)}_afterUnmount(){this.swup.options.animationSelector=this._originalAnimationSelectorOption,this._addedStyleElements.forEach(e=>{e.outerHTML=\"\"}),this._addedStyleElements=[],this._addedHTMLContent.forEach(e=>{e.outerHTML=\"\"}),this._addedHTMLContent=[],this._classNameAddedToElements.forEach(e=>{Array.from(document.querySelectorAll(e.selector)).forEach(e=>{e.className.split(\" \").forEach(t=>{new RegExp(\"^swup-transition-\").test(t)&&e.classList.remove(t)})})}),this.swup.hooks.off(\"content:replace\",this._addClassNameToElement)}applyStyles(e){const t=document.createElement(\"style\");t.setAttribute(\"data-swup-theme\",\"\"),t.appendChild(document.createTextNode(e)),document.head.prepend(t),this._addedStyleElements.push(t)}applyHTML(e){const t=document.createElement(\"div\");t.innerHTML=e,document.body.appendChild(t),this._addedHTMLContent.push(t)}addClassName(e,t){this._classNameAddedToElements.push({selector:e,name:t}),this._addClassNameToElement()}}export{t as default};\n//# sourceMappingURL=index.modern.js.map\n","import a from\"@swup/theme\";function t(){return t=Object.assign?Object.assign.bind():function(a){for(var t=1;t\\n\\t\\t`}}export{e as default};\n//# sourceMappingURL=index.modern.js.map\n"],"names":["e","t","a","r"],"mappings":"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","x_google_ignoreList":[0,1]} \ No newline at end of file diff --git a/Target/_astro/index.modern.Dzx6rguv.js b/Target/_astro/index.modern.Dzx6rguv.js deleted file mode 100644 index 1b8126cd..00000000 --- a/Target/_astro/index.modern.Dzx6rguv.js +++ /dev/null @@ -1 +0,0 @@ -import{e as V}from"./index.modern.CkIAsQri.js";import{Location as c,getCurrentUrl as L}from"./Swup.modern.UA9jlYbO.js";function k(){return k=Object.assign?Object.assign.bind():function(e){for(var t=1;tsetTimeout(e,1)),O=["preloadVisibleLinks"];class A extends V{constructor(e={}){var t;super(),t=this,this.name="SwupPreloadPlugin",this.requires={swup:">=4.5"},this.defaults={throttle:5,preloadInitialPage:!0,preloadHoveredLinks:!0,preloadVisibleLinks:{enabled:!1,threshold:.2,delay:500,containers:["body"],ignore:()=>!1}},this.options=void 0,this.queue=void 0,this.preloadObserver=void 0,this.preloadPromises=new Map,this.mouseEnterDelegate=void 0,this.touchStartDelegate=void 0,this.focusDelegate=void 0,this.onPageLoad=(e,t,s)=>{const{url:r}=e.to;return r&&this.preloadPromises.has(r)?this.preloadPromises.get(r):s(e,t)},this.onMouseEnter=async function(e){if(e.target!==e.delegateTarget||!P())return;const s=e.delegateTarget;if(!b(s))return;const{url:r,hash:o}=c.fromElement(s),i=t.swup.createVisit({to:r,hash:o,el:s,event:e});t.swup.hooks.callSync("link:hover",i,{el:s,event:e}),t.preload(s,{priority:!0})},this.onTouchStart=e=>{if(P())return;const t=e.delegateTarget;b(t)&&this.preload(t,{priority:!0})},this.onFocus=e=>{const t=e.delegateTarget;b(t)&&this.preload(t,{priority:!0})};const{preloadVisibleLinks:s}=e,r=function(e,t){if(null==e)return{};var s,r,o={},i=Object.keys(e);for(r=0;r=0||(o[s]=e[s]);return o}(e,O);this.options=k({},this.defaults,r),"object"==typeof s?this.options.preloadVisibleLinks=k({},this.options.preloadVisibleLinks,{enabled:!0},s):this.options.preloadVisibleLinks.enabled=!!s,this.preload=this.preload.bind(this),this.queue=function(e=1){const t=[],s=[];let r=0,o=0;function i(){o0&&((s.shift()||t.shift()||(()=>{}))(),r--,o++)}return{add:function(e,o=!1){if(e.__queued){if(!o)return;{const s=t.indexOf(e);if(s>=0){const e=t.splice(s,1);r-=e.length}}}e.__queued=!0,(o?s:t).push(e),r++,r<=1&&i()},next:function(){o--,i()}}}(this.options.throttle)}mount(){const e=this.swup;e.options.cache?(e.hooks.create("page:preload"),e.hooks.create("link:hover"),e.preload=this.preload,e.preloadLinks=this.preloadLinks,this.replace("page:load",this.onPageLoad),this.preloadLinks(),this.on("page:view",(()=>this.preloadLinks())),this.options.preloadVisibleLinks.enabled&&(this.preloadVisibleLinks(),this.on("page:view",(()=>this.preloadVisibleLinks()))),this.options.preloadHoveredLinks&&this.preloadLinksOnAttention(),this.options.preloadInitialPage&&this.preload(L())):console.warn("SwupPreloadPlugin: swup cache needs to be enabled for preloading")}unmount(){var e,t,s;this.swup.preload=void 0,this.swup.preloadLinks=void 0,this.preloadPromises.clear(),null==(e=this.mouseEnterDelegate)||e.destroy(),null==(t=this.touchStartDelegate)||t.destroy(),null==(s=this.focusDelegate)||s.destroy(),this.stopPreloadingVisibleLinks()}async preload(e,t={}){var s;let r,o;const i=null!=(s=t.priority)&&s;if(Array.isArray(e))return Promise.all(e.map((e=>this.preload(e))));if(b(e))o=e,({href:r}=c.fromElement(e));else{if("string"!=typeof e)return;r=e}if(!r)return;if(this.preloadPromises.has(r))return this.preloadPromises.get(r);if(!this.shouldPreload(r,{el:o}))return;const n=new Promise((e=>{this.queue.add((()=>{this.performPreload(r).catch((()=>{})).then((t=>e(t))).finally((()=>{this.queue.next(),this.preloadPromises.delete(r)}))}),i)}));return this.preloadPromises.set(r,n),n}preloadLinks(){E((()=>{Array.from(document.querySelectorAll("a[data-swup-preload], [data-swup-preload-all] a")).forEach((e=>this.preload(e)))}))}preloadLinksOnAttention(){const{swup:e}=this,{linkSelector:t}=e.options,s={passive:!0,capture:!0};this.mouseEnterDelegate=e.delegateEvent(t,"mouseenter",this.onMouseEnter,s),this.touchStartDelegate=e.delegateEvent(t,"touchstart",this.onTouchStart,s),this.focusDelegate=e.delegateEvent(t,"focus",this.onFocus,s)}preloadVisibleLinks(){if(this.preloadObserver)return void this.preloadObserver.update();const{threshold:e,delay:t,containers:s}=this.options.preloadVisibleLinks;this.preloadObserver=function({threshold:e,delay:t,containers:s,callback:r,filter:o}){const i=new Map,n=new IntersectionObserver((e=>{e.forEach((e=>{e.isIntersecting?a(e.target):l(e.target)}))}),{threshold:e}),a=e=>{var s;const{href:o}=c.fromElement(e),a=null!=(s=i.get(o))?s:new Set;i.set(o,a),a.add(e),setTimeout((()=>{const t=i.get(o);null!=t&&t.size&&(r(e),n.unobserve(e),t.delete(e))}),t)},l=e=>{var t;const{href:s}=c.fromElement(e);null==(t=i.get(s))||t.delete(e)},h=()=>{E((()=>{const e=s.map((e=>`${e} a[*|href]`)).join(", ");Array.from(document.querySelectorAll(e)).filter((e=>o(e))).forEach((e=>n.observe(e)))}))};return{start:()=>h(),stop:()=>n.disconnect(),update:()=>(i.clear(),h())}}({threshold:e,delay:t,containers:s,callback:e=>this.preload(e),filter:e=>{if(this.options.preloadVisibleLinks.ignore(e)||!e.matches(this.swup.options.linkSelector))return!1;const{href:t}=c.fromElement(e);return this.shouldPreload(t,{el:e})}}),this.preloadObserver.start()}stopPreloadingVisibleLinks(){this.preloadObserver&&this.preloadObserver.stop()}shouldPreload(e,{el:t}={}){const{url:s,href:r}=c.fromUrl(e);return!(!function(){var e;if(navigator.connection&&(navigator.connection.saveData||null!=(e=navigator.connection.effectiveType)&&e.endsWith("2g")))return!1;return!0}()||this.swup.cache.has(s)||this.preloadPromises.has(s)||this.swup.shouldIgnoreVisit(r,{el:t})||t&&this.swup.resolveUrl(s)===this.swup.resolveUrl(L()))}async performPreload(e){var t=this;const{url:s}=c.fromUrl(e),r=this.swup.createVisit({to:s});return await this.swup.hooks.call("page:preload",r,{url:s},(async function(s,r){return r.page=await t.swup.fetchPage(e,{visit:s}),r.page}))}}export{A as default}; \ No newline at end of file diff --git a/Target/_astro/index.modern.Dzx6rguv.js.map b/Target/_astro/index.modern.Dzx6rguv.js.map deleted file mode 100644 index fccf74f3..00000000 --- a/Target/_astro/index.modern.Dzx6rguv.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"index.modern.Dzx6rguv.js","sources":["../../../../../../node_modules/@swup/preload-plugin/dist/index.modern.js"],"sourcesContent":["import e from\"@swup/plugin\";import{Location as t,getCurrentUrl as s}from\"swup\";function r(){return r=Object.assign?Object.assign.bind():function(e){for(var t=1;tsetTimeout(e,1)),a=[\"preloadVisibleLinks\"];class l extends e{constructor(e={}){var s;super(),s=this,this.name=\"SwupPreloadPlugin\",this.requires={swup:\">=4.5\"},this.defaults={throttle:5,preloadInitialPage:!0,preloadHoveredLinks:!0,preloadVisibleLinks:{enabled:!1,threshold:.2,delay:500,containers:[\"body\"],ignore:()=>!1}},this.options=void 0,this.queue=void 0,this.preloadObserver=void 0,this.preloadPromises=new Map,this.mouseEnterDelegate=void 0,this.touchStartDelegate=void 0,this.focusDelegate=void 0,this.onPageLoad=(e,t,s)=>{const{url:r}=e.to;return r&&this.preloadPromises.has(r)?this.preloadPromises.get(r):s(e,t)},this.onMouseEnter=async function(e){if(e.target!==e.delegateTarget)return;if(!o())return;const r=e.delegateTarget;if(!i(r))return;const{url:n,hash:a}=t.fromElement(r),l=s.swup.createVisit({to:n,hash:a,el:r,event:e});s.swup.hooks.callSync(\"link:hover\",l,{el:r,event:e}),s.preload(r,{priority:!0})},this.onTouchStart=e=>{if(o())return;const t=e.delegateTarget;i(t)&&this.preload(t,{priority:!0})},this.onFocus=e=>{const t=e.delegateTarget;i(t)&&this.preload(t,{priority:!0})};const{preloadVisibleLinks:n}=e,l=function(e,t){if(null==e)return{};var s,r,o={},i=Object.keys(e);for(r=0;r=0||(o[s]=e[s]);return o}(e,a);this.options=r({},this.defaults,l),\"object\"==typeof n?this.options.preloadVisibleLinks=r({},this.options.preloadVisibleLinks,{enabled:!0},n):this.options.preloadVisibleLinks.enabled=Boolean(n),this.preload=this.preload.bind(this),this.queue=function(e=1){const t=[],s=[];let r=0,o=0;function i(){o0&&((s.shift()||t.shift()||(()=>{}))(),r--,o++)}return{add:function(e,o=!1){if(e.__queued){if(!o)return;{const s=t.indexOf(e);if(s>=0){const e=t.splice(s,1);r-=e.length}}}e.__queued=!0,(o?s:t).push(e),r++,r<=1&&i()},next:function(){o--,i()}}}(this.options.throttle)}mount(){const e=this.swup;e.options.cache?(e.hooks.create(\"page:preload\"),e.hooks.create(\"link:hover\"),e.preload=this.preload,e.preloadLinks=this.preloadLinks,this.replace(\"page:load\",this.onPageLoad),this.preloadLinks(),this.on(\"page:view\",()=>this.preloadLinks()),this.options.preloadVisibleLinks.enabled&&(this.preloadVisibleLinks(),this.on(\"page:view\",()=>this.preloadVisibleLinks())),this.options.preloadHoveredLinks&&this.preloadLinksOnAttention(),this.options.preloadInitialPage&&this.preload(s())):console.warn(\"SwupPreloadPlugin: swup cache needs to be enabled for preloading\")}unmount(){var e,t,s;this.swup.preload=void 0,this.swup.preloadLinks=void 0,this.preloadPromises.clear(),null==(e=this.mouseEnterDelegate)||e.destroy(),null==(t=this.touchStartDelegate)||t.destroy(),null==(s=this.focusDelegate)||s.destroy(),this.stopPreloadingVisibleLinks()}async preload(e,s={}){var r;let o,n;const a=null!=(r=s.priority)&&r;if(Array.isArray(e))return Promise.all(e.map(e=>this.preload(e)));if(i(e))n=e,({href:o}=t.fromElement(e));else{if(\"string\"!=typeof e)return;o=e}if(!o)return;if(this.preloadPromises.has(o))return this.preloadPromises.get(o);if(!this.shouldPreload(o,{el:n}))return;const l=new Promise(e=>{this.queue.add(()=>{this.performPreload(o).catch(()=>{}).then(t=>e(t)).finally(()=>{this.queue.next(),this.preloadPromises.delete(o)})},a)});return this.preloadPromises.set(o,l),l}preloadLinks(){n(()=>{Array.from(document.querySelectorAll(\"a[data-swup-preload], [data-swup-preload-all] a\")).forEach(e=>this.preload(e))})}preloadLinksOnAttention(){const{swup:e}=this,{linkSelector:t}=e.options,s={passive:!0,capture:!0};this.mouseEnterDelegate=e.delegateEvent(t,\"mouseenter\",this.onMouseEnter,s),this.touchStartDelegate=e.delegateEvent(t,\"touchstart\",this.onTouchStart,s),this.focusDelegate=e.delegateEvent(t,\"focus\",this.onFocus,s)}preloadVisibleLinks(){if(this.preloadObserver)return void this.preloadObserver.update();const{threshold:e,delay:s,containers:r}=this.options.preloadVisibleLinks;this.preloadObserver=function({threshold:e,delay:s,containers:r,callback:o,filter:i}){const a=new Map,l=new IntersectionObserver(e=>{e.forEach(e=>{e.isIntersecting?h(e.target):d(e.target)})},{threshold:e}),h=e=>{var r;const{href:i}=t.fromElement(e),n=null!=(r=a.get(i))?r:new Set;a.set(i,n),n.add(e),setTimeout(()=>{const t=a.get(i);null!=t&&t.size&&(o(e),l.unobserve(e),t.delete(e))},s)},d=e=>{var s;const{href:r}=t.fromElement(e);null==(s=a.get(r))||s.delete(e)},u=()=>{n(()=>{const e=r.map(e=>`${e} a[*|href]`).join(\", \");Array.from(document.querySelectorAll(e)).filter(e=>i(e)).forEach(e=>l.observe(e))})};return{start:()=>u(),stop:()=>l.disconnect(),update:()=>(a.clear(),u())}}({threshold:e,delay:s,containers:r,callback:e=>this.preload(e),filter:e=>{if(this.options.preloadVisibleLinks.ignore(e))return!1;if(!e.matches(this.swup.options.linkSelector))return!1;const{href:s}=t.fromElement(e);return this.shouldPreload(s,{el:e})}}),this.preloadObserver.start()}stopPreloadingVisibleLinks(){this.preloadObserver&&this.preloadObserver.stop()}shouldPreload(e,{el:r}={}){const{url:o,href:i}=t.fromUrl(e);return!(!function(){if(navigator.connection){var e;if(navigator.connection.saveData)return!1;if(null!=(e=navigator.connection.effectiveType)&&e.endsWith(\"2g\"))return!1}return!0}()||this.swup.cache.has(o)||this.preloadPromises.has(o)||this.swup.shouldIgnoreVisit(i,{el:r})||r&&this.swup.resolveUrl(o)===this.swup.resolveUrl(s()))}async performPreload(e){var s=this;const{url:r}=t.fromUrl(e),o=this.swup.createVisit({to:r}),i=await this.swup.hooks.call(\"page:preload\",o,{url:r},async function(t,r){return r.page=await s.swup.fetchPage(e,{visit:t}),r.page});return i}}export{l as default};\n//# sourceMappingURL=index.modern.js.map\n"],"names":["r","e","t","s","o","i","n","a","l","h","d","u"],"mappings":"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","x_google_ignoreList":[0]} \ No newline at end of file diff --git a/Target/_astro/index.modern.FjGODCox.js b/Target/_astro/index.modern.FjGODCox.js deleted file mode 100644 index 39c0d820..00000000 --- a/Target/_astro/index.modern.FjGODCox.js +++ /dev/null @@ -1 +0,0 @@ -import{e as E}from"./index.modern.CkIAsQri.js";function y(){return y=Object.assign?Object.assign.bind():function(e){for(var t=1;t=4.6"},this.defaults={persistTags:!1,persistAssets:!1,awaitAssets:!1,timeout:3e3},this.options=void 0,this.updateHead=async function(e,{page:{}}){const s=e.to.document,{removed:n,added:r}=function(e,t,{shouldPersist:s=()=>!1}={}){const n=Array.from(e.children),r=Array.from(t.children),o=(i=n,r.reduce(((e,t,s)=>(i.some((e=>b(t,e)))||e.push({el:t,index:s}),e)),[]));var i;const a=(l=r,n.reduce(((e,t)=>(l.some((e=>b(t,e)))||e.push({el:t}),e)),[]));var l;return a.reverse().filter((({el:e})=>A(e))).filter((({el:e})=>!s(e))).forEach((({el:t})=>e.removeChild(t))),o.filter((({el:e})=>A(e))).forEach((({el:t,index:s=0})=>{e.insertBefore(t.cloneNode(!0),e.children[s+1]||null)})),{removed:a.map((({el:e})=>e)),added:o.map((({el:e})=>e))}}(document.head,s.head,{shouldPersist:e=>t.isPersistentTag(e)});t.swup.log(`Removed ${n.length} / added ${r.length} tags in head`);const o=(i=document.documentElement).lang!==(a=s.documentElement).lang?(i.lang=a.lang,i.lang):null;var i,a;if(o&&t.swup.log(`Updated lang attribute: ${o}`),t.options.awaitAssets){const e=function(e,t=0){return e.filter(O).map((e=>function(e,t=0){const s=t=>{(({href:e})=>Array.from(document.styleSheets).map((({href:e})=>e)).includes(e))(e)?t():setTimeout((()=>s(t)),10)};return new Promise((e=>{s(e),t>0&&setTimeout(e,t)}))}(e,t)))}(r,t.options.timeout);e.length&&(t.swup.log(`Waiting for ${e.length} assets to load`),await Promise.all(e))}},this.options=y({},this.defaults,e),this.options.persistAssets&&!this.options.persistTags&&(this.options.persistTags="link[rel=stylesheet], script[src], style")}mount(){this.before("content:replace",this.updateHead)}isPersistentTag(e){const{persistTags:t}=this.options;return"function"==typeof t?t(e):"string"==typeof t?e.matches(t):!!t}}export{j as default}; \ No newline at end of file diff --git a/Target/_astro/index.modern.FjGODCox.js.map b/Target/_astro/index.modern.FjGODCox.js.map deleted file mode 100644 index 8a49dde5..00000000 --- a/Target/_astro/index.modern.FjGODCox.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"index.modern.FjGODCox.js","sources":["../../../../../../node_modules/@swup/head-plugin/dist/index.modern.js"],"sourcesContent":["import e from\"@swup/plugin\";function t(){return t=Object.assign?Object.assign.bind():function(e){for(var t=1;t=4.6\"},this.defaults={persistTags:!1,persistAssets:!1,awaitAssets:!1,timeout:3e3},this.options=void 0,this.updateHead=async function(e,{page:{}}){const t=e.to.document,{removed:i,added:a}=function(e,t,{shouldPersist:r=(()=>!1)}={}){const o=Array.from(e.children),i=Array.from(t.children),a=(l=o,i.reduce((e,t,s)=>(l.some(e=>n(t,e))||e.push({el:t,index:s}),e),[]));var l;const u=function(e,t){return e.reduce((e,s)=>(t.some(e=>n(s,e))||e.push({el:s}),e),[])}(o,i);return u.reverse().filter(({el:e})=>s(e)).filter(({el:e})=>!r(e)).forEach(({el:t})=>e.removeChild(t)),a.filter(({el:e})=>s(e)).forEach(({el:t,index:s=0})=>{e.insertBefore(t.cloneNode(!0),e.children[s+1]||null)}),{removed:u.map(({el:e})=>e),added:a.map(({el:e})=>e)}}(document.head,t.head,{shouldPersist:e=>o.isPersistentTag(e)});o.swup.log(`Removed ${i.length} / added ${a.length} tags in head`);const l=(u=document.documentElement).lang!==(c=t.documentElement).lang?(u.lang=c.lang,u.lang):null;var u,c;if(l&&o.swup.log(`Updated lang attribute: ${l}`),o.options.awaitAssets){const e=function(e,t=0){return e.filter(r).map(e=>function(e,t=0){const s=t=>{(({href:e})=>Array.from(document.styleSheets).map(({href:e})=>e).includes(e))(e)?t():setTimeout(()=>s(t),10)};return new Promise(e=>{s(e),t>0&&setTimeout(e,t)})}(e,t))}(a,o.options.timeout);e.length&&(o.swup.log(`Waiting for ${e.length} assets to load`),await Promise.all(e))}},this.options=t({},this.defaults,e),this.options.persistAssets&&!this.options.persistTags&&(this.options.persistTags=\"link[rel=stylesheet], script[src], style\")}mount(){this.before(\"content:replace\",this.updateHead)}isPersistentTag(e){const{persistTags:t}=this.options;return\"function\"==typeof t?t(e):\"string\"==typeof t?e.matches(t):Boolean(t)}}export{o as default};\n//# sourceMappingURL=index.modern.js.map\n"],"names":["t","e","s","n","r","o","i","a","l","u","c"],"mappings":"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","x_google_ignoreList":[0]} \ No newline at end of file diff --git a/Target/_astro/index.modern.aa8fLSdp.js b/Target/_astro/index.modern.aa8fLSdp.js deleted file mode 100644 index 60547963..00000000 --- a/Target/_astro/index.modern.aa8fLSdp.js +++ /dev/null @@ -1 +0,0 @@ -import{e as n}from"./index.modern.CkIAsQri.js";function o(){return o=Object.assign?Object.assign.bind():function(s){for(var t=1;t=4.6"},this.defaults={prefix:""},this.options=void 0,this.updateBodyClass=s=>{this.updateClassNames(document.body,s.to.document.body)},this.options=o({},this.defaults,s)}mount(){this.on("content:replace",this.updateBodyClass)}updateClassNames(s,t){const i=[...s.classList].filter((s=>this.isValidClassName(s))),a=[...t.classList].filter((s=>this.isValidClassName(s)));s.classList.remove(...i),s.classList.add(...a)}isValidClassName(s){return s&&s.startsWith(this.options.prefix)}}export{u as default}; \ No newline at end of file diff --git a/Target/_astro/index.modern.aa8fLSdp.js.map b/Target/_astro/index.modern.aa8fLSdp.js.map deleted file mode 100644 index 279c9a1e..00000000 --- a/Target/_astro/index.modern.aa8fLSdp.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"index.modern.aa8fLSdp.js","sources":["../../../../../../node_modules/@swup/body-class-plugin/dist/index.modern.js"],"sourcesContent":["import s from\"@swup/plugin\";function t(){return t=Object.assign?Object.assign.bind():function(s){for(var t=1;t=4.6\"},this.defaults={prefix:\"\"},this.options=void 0,this.updateBodyClass=s=>{this.updateClassNames(document.body,s.to.document.body)},this.options=t({},this.defaults,s)}mount(){this.on(\"content:replace\",this.updateBodyClass)}updateClassNames(s,t){const i=[...s.classList].filter(s=>this.isValidClassName(s)),a=[...t.classList].filter(s=>this.isValidClassName(s));s.classList.remove(...i),s.classList.add(...a)}isValidClassName(s){return s&&s.startsWith(this.options.prefix)}}export{i as default};\n//# sourceMappingURL=index.modern.js.map\n"],"names":["t","s","i","a"],"mappings":"+CAA4B,SAASA,GAAG,CAAC,OAAOA,EAAE,OAAO,OAAO,OAAO,OAAO,KAAM,EAAC,SAASC,EAAE,CAAC,QAAQD,EAAE,EAAEA,EAAE,UAAU,OAAOA,IAAI,CAAC,IAAIE,EAAE,UAAUF,CAAC,EAAE,QAAQ,KAAKE,EAAE,OAAO,UAAU,eAAe,KAAKA,EAAE,CAAC,IAAID,EAAE,CAAC,EAAEC,EAAE,CAAC,EAAE,CAAC,OAAOD,CAAC,EAAED,EAAE,MAAM,KAAK,SAAS,CAAC,CAAC,MAAME,UAAUD,CAAC,CAAC,YAAY,EAAE,CAAA,EAAG,CAAC,MAAO,EAAC,KAAK,KAAK,sBAAsB,KAAK,SAAS,CAAC,KAAK,OAAO,EAAE,KAAK,SAAS,CAAC,OAAO,EAAE,EAAE,KAAK,QAAQ,OAAO,KAAK,gBAAgBA,GAAG,CAAC,KAAK,iBAAiB,SAAS,KAAKA,EAAE,GAAG,SAAS,IAAI,CAAC,EAAE,KAAK,QAAQD,EAAE,CAAE,EAAC,KAAK,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,GAAG,kBAAkB,KAAK,eAAe,CAAC,CAAC,iBAAiB,EAAE,EAAE,CAAC,MAAME,EAAE,CAAC,GAAG,EAAE,SAAS,EAAE,OAAOD,GAAG,KAAK,iBAAiBA,CAAC,CAAC,EAAEE,EAAE,CAAC,GAAG,EAAE,SAAS,EAAE,OAAOF,GAAG,KAAK,iBAAiBA,CAAC,CAAC,EAAE,EAAE,UAAU,OAAO,GAAGC,CAAC,EAAE,EAAE,UAAU,IAAI,GAAGC,CAAC,CAAC,CAAC,iBAAiB,EAAE,CAAC,OAAO,GAAG,EAAE,WAAW,KAAK,QAAQ,MAAM,CAAC,CAAC","x_google_ignoreList":[0]} \ No newline at end of file diff --git a/Target/_astro/preload-helper.D0LYr1aX.js b/Target/_astro/preload-helper.D0LYr1aX.js deleted file mode 100644 index 6631bde1..00000000 --- a/Target/_astro/preload-helper.D0LYr1aX.js +++ /dev/null @@ -1 +0,0 @@ -const f="modulepreload",h=function(e){return"/"+e},l={},v=function(e,t,n){let r=Promise.resolve();if(t&&t.length>0){document.getElementsByTagName("link");const e=document.querySelector("meta[property=csp-nonce]"),n=e?.nonce||e?.getAttribute("nonce");r=Promise.all(t.map((e=>{if((e=h(e))in l)return;l[e]=!0;const t=e.endsWith(".css"),r=t?'[rel="stylesheet"]':"";if(document.querySelector(`link[href="${e}"]${r}`))return;const o=document.createElement("link");return o.rel=t?"stylesheet":f,t||(o.as="script"),o.crossOrigin="",o.href=e,n&&o.setAttribute("nonce",n),document.head.appendChild(o),t?new Promise(((t,n)=>{o.addEventListener("load",t),o.addEventListener("error",(()=>n(new Error(`Unable to preload CSS for ${e}`))))})):void 0})))}return r.then((()=>e())).catch((e=>{const t=new Event("vite:preloadError",{cancelable:!0});if(t.payload=e,window.dispatchEvent(t),!t.defaultPrevented)throw e}))};export{v as _}; \ No newline at end of file diff --git a/Target/_astro/preload-helper.D0LYr1aX.js.map b/Target/_astro/preload-helper.D0LYr1aX.js.map deleted file mode 100644 index ddeb6541..00000000 --- a/Target/_astro/preload-helper.D0LYr1aX.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"preload-helper.D0LYr1aX.js","sources":[],"sourcesContent":[],"names":[],"mappings":""} \ No newline at end of file diff --git a/Target/chunks/astro/server_D4bGvIFa.mjs.map b/Target/chunks/astro/server_D4bGvIFa.mjs.map deleted file mode 100644 index 9238a7b4..00000000 --- a/Target/chunks/astro/server_D4bGvIFa.mjs.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"server_D4bGvIFa.mjs","sources":["../../../../../../../node_modules/astro/dist/core/errors/errors-data.js","../../../../../../../node_modules/astro/dist/core/errors/utils.js","../../../../../../../node_modules/astro/dist/core/errors/printer.js","../../../../../../../node_modules/astro/dist/core/errors/errors.js","../../../../../../../node_modules/astro/dist/runtime/server/astro-component.js","../../../../../../../node_modules/astro/dist/core/constants.js","../../../../../../../node_modules/astro/dist/runtime/server/astro-global.js","../../../../../../../node_modules/astro/dist/runtime/server/util.js","../../../../../../../node_modules/astro/dist/runtime/server/escape.js","../../../../../../../node_modules/astro/dist/runtime/server/render/instruction.js","../../../../../../../node_modules/astro/dist/runtime/server/serialize.js","../../../../../../../node_modules/astro/dist/runtime/server/hydration.js","../../../../../../../node_modules/astro/dist/runtime/server/shorthash.js","../../../../../../../node_modules/astro/dist/runtime/server/render/astro/factory.js","../../../../../../../node_modules/astro/dist/runtime/server/render/astro/head-and-content.js","../../../../../../../node_modules/astro/dist/runtime/server/astro-island.prebuilt-dev.js","../../../../../../../node_modules/astro/dist/runtime/server/astro-island.prebuilt.js","../../../../../../../node_modules/astro/dist/runtime/server/scripts.js","../../../../../../../node_modules/astro/dist/runtime/server/render/util.js","../../../../../../../node_modules/astro/dist/runtime/server/render/head.js","../../../../../../../node_modules/astro/dist/runtime/server/render/astro/render-template.js","../../../../../../../node_modules/astro/dist/runtime/server/render/slot.js","../../../../../../../node_modules/astro/dist/runtime/server/render/common.js","../../../../../../../node_modules/astro/dist/runtime/server/render/any.js","../../../../../../../node_modules/astro/dist/runtime/server/render/astro/instance.js","../../../../../../../node_modules/astro/dist/runtime/server/render/dom.js","../../../../../../../node_modules/astro/dist/core/encryption.js","../../../../../../../node_modules/astro/dist/runtime/server/render/server-islands.js","../../../../../../../node_modules/astro/dist/runtime/server/render/component.js","../../../../../../../node_modules/astro/dist/runtime/server/render/script.js","../../../../../../../node_modules/astro/dist/runtime/server/transition.js","../../../../../../../node_modules/astro/dist/runtime/server/index.js"],"sourcesContent":["const UnknownCompilerError = {\n name: \"UnknownCompilerError\",\n title: \"Unknown compiler error.\",\n hint: \"This is almost always a problem with the Astro compiler, not your code. Please open an issue at https://astro.build/issues/compiler.\"\n};\nconst ClientAddressNotAvailable = {\n name: \"ClientAddressNotAvailable\",\n title: \"`Astro.clientAddress` is not available in current adapter.\",\n message: (adapterName) => `\\`Astro.clientAddress\\` is not available in the \\`${adapterName}\\` adapter. File an issue with the adapter to add support.`\n};\nconst PrerenderClientAddressNotAvailable = {\n name: \"PrerenderClientAddressNotAvailable\",\n title: \"`Astro.clientAddress` cannot be used inside prerendered routes.\",\n message: `\\`Astro.clientAddress\\` cannot be used inside prerendered routes`\n};\nconst StaticClientAddressNotAvailable = {\n name: \"StaticClientAddressNotAvailable\",\n title: \"`Astro.clientAddress` is not available in static mode.\",\n message: \"`Astro.clientAddress` is only available when using `output: 'server'` or `output: 'hybrid'`. Update your Astro config if you need SSR features.\",\n hint: \"See https://docs.astro.build/en/guides/server-side-rendering/ for more information on how to enable SSR.\"\n};\nconst NoMatchingStaticPathFound = {\n name: \"NoMatchingStaticPathFound\",\n title: \"No static path found for requested path.\",\n message: (pathName) => `A \\`getStaticPaths()\\` route pattern was matched, but no matching static path was found for requested path \\`${pathName}\\`.`,\n hint: (possibleRoutes) => `Possible dynamic routes being matched: ${possibleRoutes.join(\", \")}.`\n};\nconst OnlyResponseCanBeReturned = {\n name: \"OnlyResponseCanBeReturned\",\n title: \"Invalid type returned by Astro page.\",\n message: (route, returnedValue) => `Route \\`${route ? route : \"\"}\\` returned a \\`${returnedValue}\\`. Only a [Response](https://developer.mozilla.org/en-US/docs/Web/API/Response) can be returned from Astro files.`,\n hint: \"See https://docs.astro.build/en/guides/server-side-rendering/#response for more information.\"\n};\nconst MissingMediaQueryDirective = {\n name: \"MissingMediaQueryDirective\",\n title: \"Missing value for `client:media` directive.\",\n message: 'Media query not provided for `client:media` directive. A media query similar to `client:media=\"(max-width: 600px)\"` must be provided'\n};\nconst NoMatchingRenderer = {\n name: \"NoMatchingRenderer\",\n title: \"No matching renderer found.\",\n message: (componentName, componentExtension, plural, validRenderersCount) => `Unable to render \\`${componentName}\\`.\n\n${validRenderersCount > 0 ? `There ${plural ? \"are\" : \"is\"} ${validRenderersCount} renderer${plural ? \"s\" : \"\"} configured in your \\`astro.config.mjs\\` file,\nbut ${plural ? \"none were\" : \"it was not\"} able to server-side render \\`${componentName}\\`.` : `No valid renderer was found ${componentExtension ? `for the \\`.${componentExtension}\\` file extension.` : `for this file extension.`}`}`,\n hint: (probableRenderers) => `Did you mean to enable the ${probableRenderers} integration?\n\nSee https://docs.astro.build/en/guides/framework-components/ for more information on how to install and configure integrations.`\n};\nconst NoClientEntrypoint = {\n name: \"NoClientEntrypoint\",\n title: \"No client entrypoint specified in renderer.\",\n message: (componentName, clientDirective, rendererName) => `\\`${componentName}\\` component has a \\`client:${clientDirective}\\` directive, but no client entrypoint was provided by \\`${rendererName}\\`.`,\n hint: \"See https://docs.astro.build/en/reference/integrations-reference/#addrenderer-option for more information on how to configure your renderer.\"\n};\nconst NoClientOnlyHint = {\n name: \"NoClientOnlyHint\",\n title: \"Missing hint on client:only directive.\",\n message: (componentName) => `Unable to render \\`${componentName}\\`. When using the \\`client:only\\` hydration strategy, Astro needs a hint to use the correct renderer.`,\n hint: (probableRenderers) => `Did you mean to pass \\`client:only=\"${probableRenderers}\"\\`? See https://docs.astro.build/en/reference/directives-reference/#clientonly for more information on client:only`\n};\nconst InvalidGetStaticPathParam = {\n name: \"InvalidGetStaticPathParam\",\n title: \"Invalid value returned by a `getStaticPaths` path.\",\n message: (paramType) => `Invalid params given to \\`getStaticPaths\\` path. Expected an \\`object\\`, got \\`${paramType}\\``,\n hint: \"See https://docs.astro.build/en/reference/api-reference/#getstaticpaths for more information on getStaticPaths.\"\n};\nconst InvalidGetStaticPathsEntry = {\n name: \"InvalidGetStaticPathsEntry\",\n title: \"Invalid entry inside getStaticPath's return value\",\n message: (entryType) => `Invalid entry returned by getStaticPaths. Expected an object, got \\`${entryType}\\``,\n hint: \"If you're using a `.map` call, you might be looking for `.flatMap()` instead. See https://docs.astro.build/en/reference/api-reference/#getstaticpaths for more information on getStaticPaths.\"\n};\nconst InvalidGetStaticPathsReturn = {\n name: \"InvalidGetStaticPathsReturn\",\n title: \"Invalid value returned by getStaticPaths.\",\n message: (returnType) => `Invalid type returned by \\`getStaticPaths\\`. Expected an \\`array\\`, got \\`${returnType}\\``,\n hint: \"See https://docs.astro.build/en/reference/api-reference/#getstaticpaths for more information on getStaticPaths.\"\n};\nconst GetStaticPathsExpectedParams = {\n name: \"GetStaticPathsExpectedParams\",\n title: \"Missing params property on `getStaticPaths` route.\",\n message: \"Missing or empty required `params` property on `getStaticPaths` route.\",\n hint: \"See https://docs.astro.build/en/reference/api-reference/#getstaticpaths for more information on getStaticPaths.\"\n};\nconst GetStaticPathsInvalidRouteParam = {\n name: \"GetStaticPathsInvalidRouteParam\",\n title: \"Invalid value for `getStaticPaths` route parameter.\",\n message: (key, value, valueType) => `Invalid getStaticPaths route parameter for \\`${key}\\`. Expected undefined, a string or a number, received \\`${valueType}\\` (\\`${value}\\`)`,\n hint: \"See https://docs.astro.build/en/reference/api-reference/#getstaticpaths for more information on getStaticPaths.\"\n};\nconst GetStaticPathsRequired = {\n name: \"GetStaticPathsRequired\",\n title: \"`getStaticPaths()` function required for dynamic routes.\",\n message: \"`getStaticPaths()` function is required for dynamic routes. Make sure that you `export` a `getStaticPaths` function from your dynamic route.\",\n hint: `See https://docs.astro.build/en/guides/routing/#dynamic-routes for more information on dynamic routes.\n\nAlternatively, set \\`output: \"server\"\\` or \\`output: \"hybrid\"\\` in your Astro config file to switch to a non-static server build. This error can also occur if using \\`export const prerender = true;\\`.\nSee https://docs.astro.build/en/guides/server-side-rendering/ for more information on non-static rendering.`\n};\nconst ReservedSlotName = {\n name: \"ReservedSlotName\",\n title: \"Invalid slot name.\",\n message: (slotName) => `Unable to create a slot named \\`${slotName}\\`. \\`${slotName}\\` is a reserved slot name. Please update the name of this slot.`\n};\nconst NoAdapterInstalled = {\n name: \"NoAdapterInstalled\",\n title: \"Cannot use Server-side Rendering without an adapter.\",\n message: `Cannot use \\`output: 'server'\\` or \\`output: 'hybrid'\\` without an adapter. Please install and configure the appropriate server adapter for your final deployment.`,\n hint: \"See https://docs.astro.build/en/guides/server-side-rendering/ for more information.\"\n};\nconst NoMatchingImport = {\n name: \"NoMatchingImport\",\n title: \"No import found for component.\",\n message: (componentName) => `Could not render \\`${componentName}\\`. No matching import has been found for \\`${componentName}\\`.`,\n hint: \"Please make sure the component is properly imported.\"\n};\nconst InvalidPrerenderExport = {\n name: \"InvalidPrerenderExport\",\n title: \"Invalid prerender export.\",\n message(prefix, suffix, isHydridOutput) {\n const defaultExpectedValue = isHydridOutput ? \"false\" : \"true\";\n let msg = `A \\`prerender\\` export has been detected, but its value cannot be statically analyzed.`;\n if (prefix !== \"const\") msg += `\nExpected \\`const\\` declaration but got \\`${prefix}\\`.`;\n if (suffix !== \"true\")\n msg += `\nExpected \\`${defaultExpectedValue}\\` value but got \\`${suffix}\\`.`;\n return msg;\n },\n hint: \"Mutable values declared at runtime are not supported. Please make sure to use exactly `export const prerender = true`.\"\n};\nconst InvalidComponentArgs = {\n name: \"InvalidComponentArgs\",\n title: \"Invalid component arguments.\",\n message: (name) => `Invalid arguments passed to${name ? ` <${name}>` : \"\"} component.`,\n hint: \"Astro components cannot be rendered directly via function call, such as `Component()` or `{items.map(Component)}`.\"\n};\nconst PageNumberParamNotFound = {\n name: \"PageNumberParamNotFound\",\n title: \"Page number param not found.\",\n message: (paramName) => `[paginate()] page number param \\`${paramName}\\` not found in your filepath.`,\n hint: \"Rename your file to `[page].astro` or `[...page].astro`.\"\n};\nconst ImageMissingAlt = {\n name: \"ImageMissingAlt\",\n title: 'Image missing required \"alt\" property.',\n message: 'Image missing \"alt\" property. \"alt\" text is required to describe important images on the page.',\n hint: 'Use an empty string (\"\") for decorative images.'\n};\nconst InvalidImageService = {\n name: \"InvalidImageService\",\n title: \"Error while loading image service.\",\n message: \"There was an error loading the configured image service. Please see the stack trace for more information.\"\n};\nconst MissingImageDimension = {\n name: \"MissingImageDimension\",\n title: \"Missing image dimensions\",\n message: (missingDimension, imageURL) => `Missing ${missingDimension === \"both\" ? \"width and height attributes\" : `${missingDimension} attribute`} for ${imageURL}. When using remote images, both dimensions are required in order to avoid CLS.`,\n hint: \"If your image is inside your `src` folder, you probably meant to import it instead. See [the Imports guide for more information](https://docs.astro.build/en/guides/imports/#other-assets). You can also use `inferSize={true}` for remote images to get the original dimensions.\"\n};\nconst FailedToFetchRemoteImageDimensions = {\n name: \"FailedToFetchRemoteImageDimensions\",\n title: \"Failed to retrieve remote image dimensions\",\n message: (imageURL) => `Failed to get the dimensions for ${imageURL}.`,\n hint: \"Verify your remote image URL is accurate, and that you are not using `inferSize` with a file located in your `public/` folder.\"\n};\nconst UnsupportedImageFormat = {\n name: \"UnsupportedImageFormat\",\n title: \"Unsupported image format\",\n message: (format, imagePath, supportedFormats) => `Received unsupported format \\`${format}\\` from \\`${imagePath}\\`. Currently only ${supportedFormats.join(\n \", \"\n )} are supported by our image services.`,\n hint: \"Using an `img` tag directly instead of the `Image` component might be what you're looking for.\"\n};\nconst UnsupportedImageConversion = {\n name: \"UnsupportedImageConversion\",\n title: \"Unsupported image conversion\",\n message: \"Converting between vector (such as SVGs) and raster (such as PNGs and JPEGs) images is not currently supported.\"\n};\nconst PrerenderDynamicEndpointPathCollide = {\n name: \"PrerenderDynamicEndpointPathCollide\",\n title: \"Prerendered dynamic endpoint has path collision.\",\n message: (pathname) => `Could not render \\`${pathname}\\` with an \\`undefined\\` param as the generated path will collide during prerendering. Prevent passing \\`undefined\\` as \\`params\\` for the endpoint's \\`getStaticPaths()\\` function, or add an additional extension to the endpoint's filename.`,\n hint: (filename) => `Rename \\`${filename}\\` to \\`${filename.replace(/\\.(?:js|ts)/, (m) => `.json` + m)}\\``\n};\nconst ExpectedImage = {\n name: \"ExpectedImage\",\n title: \"Expected src to be an image.\",\n message: (src, typeofOptions, fullOptions) => `Expected \\`src\\` property for \\`getImage\\` or \\`\\` to be either an ESM imported image or a string with the path of a remote image. Received \\`${src}\\` (type: \\`${typeofOptions}\\`).\n\nFull serialized options received: \\`${fullOptions}\\`.`,\n hint: \"This error can often happen because of a wrong path. Make sure the path to your image is correct. If you're passing an async function, make sure to call and await it.\"\n};\nconst ExpectedImageOptions = {\n name: \"ExpectedImageOptions\",\n title: \"Expected image options.\",\n message: (options) => `Expected getImage() parameter to be an object. Received \\`${options}\\`.`\n};\nconst ExpectedNotESMImage = {\n name: \"ExpectedNotESMImage\",\n title: \"Expected image options, not an ESM-imported image.\",\n message: \"An ESM-imported image cannot be passed directly to `getImage()`. Instead, pass an object with the image in the `src` property.\",\n hint: \"Try changing `getImage(myImage)` to `getImage({ src: myImage })`\"\n};\nconst IncompatibleDescriptorOptions = {\n name: \"IncompatibleDescriptorOptions\",\n title: \"Cannot set both `densities` and `widths`\",\n message: \"Only one of `densities` or `widths` can be specified. In most cases, you'll probably want to use only `widths` if you require specific widths.\",\n hint: \"Those attributes are used to construct a `srcset` attribute, which cannot have both `x` and `w` descriptors.\"\n};\nconst ImageNotFound = {\n name: \"ImageNotFound\",\n title: \"Image not found.\",\n message: (imagePath) => `Could not find requested image \\`${imagePath}\\`. Does it exist?`,\n hint: \"This is often caused by a typo in the image path. Please make sure the file exists, and is spelled correctly.\"\n};\nconst NoImageMetadata = {\n name: \"NoImageMetadata\",\n title: \"Could not process image metadata.\",\n message: (imagePath) => `Could not process image metadata${imagePath ? ` for \\`${imagePath}\\`` : \"\"}.`,\n hint: \"This is often caused by a corrupted or malformed image. Re-exporting the image from your image editor may fix this issue.\"\n};\nconst CouldNotTransformImage = {\n name: \"CouldNotTransformImage\",\n title: \"Could not transform image.\",\n message: (imagePath) => `Could not transform image \\`${imagePath}\\`. See the stack trace for more information.`,\n hint: \"This is often caused by a corrupted or malformed image. Re-exporting the image from your image editor may fix this issue.\"\n};\nconst ResponseSentError = {\n name: \"ResponseSentError\",\n title: \"Unable to set response.\",\n message: \"The response has already been sent to the browser and cannot be altered.\"\n};\nconst MiddlewareNoDataOrNextCalled = {\n name: \"MiddlewareNoDataOrNextCalled\",\n title: \"The middleware didn't return a `Response`.\",\n message: \"Make sure your middleware returns a `Response` object, either directly or by returning the `Response` from calling the `next` function.\"\n};\nconst MiddlewareNotAResponse = {\n name: \"MiddlewareNotAResponse\",\n title: \"The middleware returned something that is not a `Response` object.\",\n message: \"Any data returned from middleware must be a valid `Response` object.\"\n};\nconst EndpointDidNotReturnAResponse = {\n name: \"EndpointDidNotReturnAResponse\",\n title: \"The endpoint did not return a `Response`.\",\n message: \"An endpoint must return either a `Response`, or a `Promise` that resolves with a `Response`.\"\n};\nconst LocalsNotAnObject = {\n name: \"LocalsNotAnObject\",\n title: \"Value assigned to `locals` is not accepted.\",\n message: \"`locals` can only be assigned to an object. Other values like numbers, strings, etc. are not accepted.\",\n hint: \"If you tried to remove some information from the `locals` object, try to use `delete` or set the property to `undefined`.\"\n};\nconst AstroResponseHeadersReassigned = {\n name: \"AstroResponseHeadersReassigned\",\n title: \"`Astro.response.headers` must not be reassigned.\",\n message: \"Individual headers can be added to and removed from `Astro.response.headers`, but it must not be replaced with another instance of `Headers` altogether.\",\n hint: \"Consider using `Astro.response.headers.add()`, and `Astro.response.headers.delete()`.\"\n};\nconst MiddlewareCantBeLoaded = {\n name: \"MiddlewareCantBeLoaded\",\n title: \"Can't load the middleware.\",\n message: \"An unknown error was thrown while loading your middleware.\"\n};\nconst LocalImageUsedWrongly = {\n name: \"LocalImageUsedWrongly\",\n title: \"Local images must be imported.\",\n message: (imageFilePath) => `\\`Image\\`'s and \\`getImage\\`'s \\`src\\` parameter must be an imported image or an URL, it cannot be a string filepath. Received \\`${imageFilePath}\\`.`,\n hint: \"If you want to use an image from your `src` folder, you need to either import it or if the image is coming from a content collection, use the [image() schema helper](https://docs.astro.build/en/guides/images/#images-in-content-collections). See https://docs.astro.build/en/guides/images/#src-required for more information on the `src` property.\"\n};\nconst AstroGlobUsedOutside = {\n name: \"AstroGlobUsedOutside\",\n title: \"Astro.glob() used outside of an Astro file.\",\n message: (globStr) => `\\`Astro.glob(${globStr})\\` can only be used in \\`.astro\\` files. \\`import.meta.glob(${globStr})\\` can be used instead to achieve a similar result.`,\n hint: \"See Vite's documentation on `import.meta.glob` for more information: https://vitejs.dev/guide/features.html#glob-import\"\n};\nconst AstroGlobNoMatch = {\n name: \"AstroGlobNoMatch\",\n title: \"Astro.glob() did not match any files.\",\n message: (globStr) => `\\`Astro.glob(${globStr})\\` did not return any matching files.`,\n hint: \"Check the pattern for typos.\"\n};\nconst RedirectWithNoLocation = {\n name: \"RedirectWithNoLocation\",\n title: \"A redirect must be given a location with the `Location` header.\"\n};\nconst InvalidDynamicRoute = {\n name: \"InvalidDynamicRoute\",\n title: \"Invalid dynamic route.\",\n message: (route, invalidParam, received) => `The ${invalidParam} param for route ${route} is invalid. Received **${received}**.`\n};\nconst MissingSharp = {\n name: \"MissingSharp\",\n title: \"Could not find Sharp.\",\n message: \"Could not find Sharp. Please install Sharp (`sharp`) manually into your project or migrate to another image service.\",\n hint: \"See Sharp's installation instructions for more information: https://sharp.pixelplumbing.com/install. If you are not relying on `astro:assets` to optimize, transform, or process any images, you can configure a passthrough image service instead of installing Sharp. See https://docs.astro.build/en/reference/errors/missing-sharp for more information.\\n\\nSee https://docs.astro.build/en/guides/images/#default-image-service for more information on how to migrate to another image service.\"\n};\nconst UnknownViteError = {\n name: \"UnknownViteError\",\n title: \"Unknown Vite Error.\"\n};\nconst FailedToLoadModuleSSR = {\n name: \"FailedToLoadModuleSSR\",\n title: \"Could not import file.\",\n message: (importName) => `Could not import \\`${importName}\\`.`,\n hint: \"This is often caused by a typo in the import path. Please make sure the file exists.\"\n};\nconst InvalidGlob = {\n name: \"InvalidGlob\",\n title: \"Invalid glob pattern.\",\n message: (globPattern) => `Invalid glob pattern: \\`${globPattern}\\`. Glob patterns must start with './', '../' or '/'.`,\n hint: \"See https://docs.astro.build/en/guides/imports/#glob-patterns for more information on supported glob patterns.\"\n};\nconst FailedToFindPageMapSSR = {\n name: \"FailedToFindPageMapSSR\",\n title: \"Astro couldn't find the correct page to render\",\n message: \"Astro couldn't find the correct page to render, probably because it wasn't correctly mapped for SSR usage. This is an internal error. Please file an issue.\"\n};\nconst MissingLocale = {\n name: \"MissingLocaleError\",\n title: \"The provided locale does not exist.\",\n message: (locale) => `The locale/path \\`${locale}\\` does not exist in the configured \\`i18n.locales\\`.`\n};\nconst MissingIndexForInternationalization = {\n name: \"MissingIndexForInternationalizationError\",\n title: \"Index page not found.\",\n message: (defaultLocale) => `Could not find index page. A root index page is required in order to create a redirect to the index URL of the default locale. (\\`/${defaultLocale}\\`)`,\n hint: (src) => `Create an index page (\\`index.astro, index.md, etc.\\`) in \\`${src}\\`.`\n};\nconst IncorrectStrategyForI18n = {\n name: \"IncorrectStrategyForI18n\",\n title: \"You can't use the current function with the current strategy\",\n message: (functionName) => `The function \\`${functionName}\\` can only be used when the \\`i18n.routing.strategy\\` is set to \\`\"manual\"\\`.`\n};\nconst NoPrerenderedRoutesWithDomains = {\n name: \"NoPrerenderedRoutesWithDomains\",\n title: \"Prerendered routes aren't supported when internationalization domains are enabled.\",\n message: (component) => `Static pages aren't yet supported with multiple domains. To enable this feature, you must disable prerendering for the page ${component}`\n};\nconst MissingMiddlewareForInternationalization = {\n name: \"MissingMiddlewareForInternationalization\",\n title: \"Enabled manual internationalization routing without having a middleware.\",\n message: \"Your configuration setting `i18n.routing: 'manual'` requires you to provide your own i18n `middleware` file.\"\n};\nconst CantRenderPage = {\n name: \"CantRenderPage\",\n title: \"Astro can't render the route.\",\n message: \"Astro cannot find any content to render for this route. There is no file or redirect associated with this route.\",\n hint: \"If you expect to find a route here, this may be an Astro bug. Please file an issue/restart the dev server\"\n};\nconst UnhandledRejection = {\n name: \"UnhandledRejection\",\n title: \"Unhandled rejection\",\n message: (stack) => `Astro detected an unhandled rejection. Here's the stack trace:\n${stack}`,\n hint: \"Make sure your promises all have an `await` or a `.catch()` handler.\"\n};\nconst i18nNotEnabled = {\n name: \"i18nNotEnabled\",\n title: \"i18n Not Enabled\",\n message: \"The `astro:i18n` module can not be used without enabling i18n in your Astro config.\",\n hint: \"See https://docs.astro.build/en/guides/internationalization for a guide on setting up i18n.\"\n};\nconst i18nNoLocaleFoundInPath = {\n name: \"i18nNoLocaleFoundInPath\",\n title: \"The path doesn't contain any locale\",\n message: \"You tried to use an i18n utility on a path that doesn't contain any locale. You can use `pathHasLocale` first to determine if the path has a locale.\"\n};\nconst RouteNotFound = {\n name: \"RouteNotFound\",\n title: \"Route not found.\",\n message: `Astro could not find a route that matches the one you requested.`\n};\nconst EnvInvalidVariables = {\n name: \"EnvInvalidVariables\",\n title: \"Invalid Environment Variables\",\n message: (errors) => `The following environment variables defined in \\`experimental.env.schema\\` are invalid:\n\n${errors.map((err) => `- ${err}`).join(\"\\n\")}\n`\n};\nconst EnvUnsupportedGetSecret = {\n name: \"EnvUnsupportedGetSecret\",\n title: \"Unsupported astro:env getSecret\",\n message: \"`astro:env/server` exported function `getSecret` is not supported by your adapter.\"\n};\nconst ServerOnlyModule = {\n name: \"ServerOnlyModule\",\n title: \"Module is only available server-side\",\n message: (name) => `The \"${name}\" module is only available server-side.`\n};\nconst RewriteWithBodyUsed = {\n name: \"RewriteWithBodyUsed\",\n title: \"Cannot use Astro.rewrite after the request body has been read\",\n message: \"Astro.rewrite() cannot be used if the request body has already been read. If you need to read the body, first clone the request.\"\n};\nconst UnknownFilesystemError = {\n name: \"UnknownFilesystemError\",\n title: \"An unknown error occurred while reading or writing files to disk.\",\n hint: \"It can be caused by many things, eg. missing permissions or a file not existing we attempt to read. Check the error cause for more details.\"\n};\nconst UnknownCSSError = {\n name: \"UnknownCSSError\",\n title: \"Unknown CSS Error.\"\n};\nconst CSSSyntaxError = {\n name: \"CSSSyntaxError\",\n title: \"CSS Syntax Error.\"\n};\nconst UnknownMarkdownError = {\n name: \"UnknownMarkdownError\",\n title: \"Unknown Markdown Error.\"\n};\nconst MarkdownFrontmatterParseError = {\n name: \"MarkdownFrontmatterParseError\",\n title: \"Failed to parse Markdown frontmatter.\"\n};\nconst InvalidFrontmatterInjectionError = {\n name: \"InvalidFrontmatterInjectionError\",\n title: \"Invalid frontmatter injection.\",\n message: 'A remark or rehype plugin attempted to inject invalid frontmatter. Ensure \"astro.frontmatter\" is set to a valid JSON object that is not `null` or `undefined`.',\n hint: \"See the frontmatter injection docs https://docs.astro.build/en/guides/markdown-content/#modifying-frontmatter-programmatically for more information.\"\n};\nconst MdxIntegrationMissingError = {\n name: \"MdxIntegrationMissingError\",\n title: \"MDX integration missing.\",\n message: (file) => `Unable to render ${file}. Ensure that the \\`@astrojs/mdx\\` integration is installed.`,\n hint: \"See the MDX integration docs for installation and usage instructions: https://docs.astro.build/en/guides/integrations-guide/mdx/\"\n};\nconst UnknownConfigError = {\n name: \"UnknownConfigError\",\n title: \"Unknown configuration error.\"\n};\nconst ConfigNotFound = {\n name: \"ConfigNotFound\",\n title: \"Specified configuration file not found.\",\n message: (configFile) => `Unable to resolve \\`--config \"${configFile}\"\\`. Does the file exist?`\n};\nconst ConfigLegacyKey = {\n name: \"ConfigLegacyKey\",\n title: \"Legacy configuration detected.\",\n message: (legacyConfigKey) => `Legacy configuration detected: \\`${legacyConfigKey}\\`.`,\n hint: \"Please update your configuration to the new format.\\nSee https://astro.build/config for more information.\"\n};\nconst UnknownCLIError = {\n name: \"UnknownCLIError\",\n title: \"Unknown CLI Error.\"\n};\nconst GenerateContentTypesError = {\n name: \"GenerateContentTypesError\",\n title: \"Failed to generate content types.\",\n message: (errorMessage) => `\\`astro sync\\` command failed to generate content collection types: ${errorMessage}`,\n hint: \"Check your `src/content/config.*` file for typos.\"\n};\nconst UnknownContentCollectionError = {\n name: \"UnknownContentCollectionError\",\n title: \"Unknown Content Collection Error.\"\n};\nconst GetEntryDeprecationError = {\n name: \"GetEntryDeprecationError\",\n title: \"Invalid use of `getDataEntryById` or `getEntryBySlug` function.\",\n message: (collection, method) => `The \\`${method}\\` function is deprecated and cannot be used to query the \"${collection}\" collection. Use \\`getEntry\\` instead.`,\n hint: \"Use the `getEntry` or `getCollection` functions to query content layer collections.\"\n};\nconst InvalidContentEntryFrontmatterError = {\n name: \"InvalidContentEntryFrontmatterError\",\n title: \"Content entry frontmatter does not match schema.\",\n message(collection, entryId, error) {\n return [\n `**${String(collection)} \\u2192 ${String(\n entryId\n )}** frontmatter does not match collection schema.`,\n ...error.errors.map((zodError) => zodError.message)\n ].join(\"\\n\");\n },\n hint: \"See https://docs.astro.build/en/guides/content-collections/ for more information on content schemas.\"\n};\nconst InvalidContentEntrySlugError = {\n name: \"InvalidContentEntrySlugError\",\n title: \"Invalid content entry slug.\",\n message(collection, entryId) {\n return `${String(collection)} \\u2192 ${String(\n entryId\n )} has an invalid slug. \\`slug\\` must be a string.`;\n },\n hint: \"See https://docs.astro.build/en/guides/content-collections/ for more on the `slug` field.\"\n};\nconst ContentSchemaContainsSlugError = {\n name: \"ContentSchemaContainsSlugError\",\n title: \"Content Schema should not contain `slug`.\",\n message: (collectionName) => `A content collection schema should not contain \\`slug\\` since it is reserved for slug generation. Remove this from your ${collectionName} collection schema.`,\n hint: \"See https://docs.astro.build/en/guides/content-collections/ for more on the `slug` field.\"\n};\nconst MixedContentDataCollectionError = {\n name: \"MixedContentDataCollectionError\",\n title: \"Content and data cannot be in same collection.\",\n message: (collectionName) => `**${collectionName}** contains a mix of content and data entries. All entries must be of the same type.`,\n hint: \"Store data entries in a new collection separate from your content collection.\"\n};\nconst ContentCollectionTypeMismatchError = {\n name: \"ContentCollectionTypeMismatchError\",\n title: \"Collection contains entries of a different type.\",\n message: (collection, expectedType, actualType) => `${collection} contains ${expectedType} entries, but is configured as a ${actualType} collection.`\n};\nconst DataCollectionEntryParseError = {\n name: \"DataCollectionEntryParseError\",\n title: \"Data collection entry failed to parse.\",\n message(entryId, errorMessage) {\n return `**${entryId}** failed to parse: ${errorMessage}`;\n },\n hint: \"Ensure your data entry is an object with valid JSON (for `.json` entries) or YAML (for `.yaml` entries).\"\n};\nconst DuplicateContentEntrySlugError = {\n name: \"DuplicateContentEntrySlugError\",\n title: \"Duplicate content entry slug.\",\n message(collection, slug, preExisting, alsoFound) {\n return `**${collection}** contains multiple entries with the same slug: \\`${slug}\\`. Slugs must be unique.\n\nEntries: \n- ${preExisting}\n- ${alsoFound}`;\n }\n};\nconst UnsupportedConfigTransformError = {\n name: \"UnsupportedConfigTransformError\",\n title: \"Unsupported transform in content config.\",\n message: (parseError) => `\\`transform()\\` functions in your content config must return valid JSON, or data types compatible with the devalue library (including Dates, Maps, and Sets).\nFull error: ${parseError}`,\n hint: \"See the devalue library for all supported types: https://github.com/rich-harris/devalue\"\n};\nconst ActionsWithoutServerOutputError = {\n name: \"ActionsWithoutServerOutputError\",\n title: \"Actions must be used with server output.\",\n message: \"Actions enabled without setting a server build output. A server is required to create callable backend functions. To deploy routes to a server, add a server adapter to your astro config.\",\n hint: \"Learn about on-demand rendering: https://docs.astro.build/en/basics/rendering-modes/#on-demand-rendered\"\n};\nconst ActionsReturnedInvalidDataError = {\n name: \"ActionsReturnedInvalidDataError\",\n title: \"Action handler returned invalid data.\",\n message: (error) => `Action handler returned invalid data. Handlers should return serializable data types like objects, arrays, strings, and numbers. Parse error: ${error}`,\n hint: \"See the devalue library for all supported types: https://github.com/rich-harris/devalue\"\n};\nconst ActionNotFoundError = {\n name: \"ActionNotFoundError\",\n title: \"Action not found.\",\n message: (actionName) => `The server received a request for an action named \\`${actionName}\\` but could not find a match. If you renamed an action, check that you've updated your \\`actions/index\\` file and your calling code to match.`,\n hint: \"You can run `astro check` to detect type errors caused by mismatched action names.\"\n};\nconst ActionCalledFromServerError = {\n name: \"ActionCalledFromServerError\",\n title: \"Action unexpected called from the server.\",\n message: \"Action called from a server page or endpoint without using `Astro.callAction()`. This wrapper must be used to call actions from server code.\",\n hint: \"See the `Astro.callAction()` reference for usage examples: https://docs.astro.build/en/reference/api-reference/#astrocallaction\"\n};\nconst UnknownError = { name: \"UnknownError\", title: \"Unknown Error.\" };\nexport {\n ActionCalledFromServerError,\n ActionNotFoundError,\n ActionsReturnedInvalidDataError,\n ActionsWithoutServerOutputError,\n AstroGlobNoMatch,\n AstroGlobUsedOutside,\n AstroResponseHeadersReassigned,\n CSSSyntaxError,\n CantRenderPage,\n ClientAddressNotAvailable,\n ConfigLegacyKey,\n ConfigNotFound,\n ContentCollectionTypeMismatchError,\n ContentSchemaContainsSlugError,\n CouldNotTransformImage,\n DataCollectionEntryParseError,\n DuplicateContentEntrySlugError,\n EndpointDidNotReturnAResponse,\n EnvInvalidVariables,\n EnvUnsupportedGetSecret,\n ExpectedImage,\n ExpectedImageOptions,\n ExpectedNotESMImage,\n FailedToFetchRemoteImageDimensions,\n FailedToFindPageMapSSR,\n FailedToLoadModuleSSR,\n GenerateContentTypesError,\n GetEntryDeprecationError,\n GetStaticPathsExpectedParams,\n GetStaticPathsInvalidRouteParam,\n GetStaticPathsRequired,\n ImageMissingAlt,\n ImageNotFound,\n IncompatibleDescriptorOptions,\n IncorrectStrategyForI18n,\n InvalidComponentArgs,\n InvalidContentEntryFrontmatterError,\n InvalidContentEntrySlugError,\n InvalidDynamicRoute,\n InvalidFrontmatterInjectionError,\n InvalidGetStaticPathParam,\n InvalidGetStaticPathsEntry,\n InvalidGetStaticPathsReturn,\n InvalidGlob,\n InvalidImageService,\n InvalidPrerenderExport,\n LocalImageUsedWrongly,\n LocalsNotAnObject,\n MarkdownFrontmatterParseError,\n MdxIntegrationMissingError,\n MiddlewareCantBeLoaded,\n MiddlewareNoDataOrNextCalled,\n MiddlewareNotAResponse,\n MissingImageDimension,\n MissingIndexForInternationalization,\n MissingLocale,\n MissingMediaQueryDirective,\n MissingMiddlewareForInternationalization,\n MissingSharp,\n MixedContentDataCollectionError,\n NoAdapterInstalled,\n NoClientEntrypoint,\n NoClientOnlyHint,\n NoImageMetadata,\n NoMatchingImport,\n NoMatchingRenderer,\n NoMatchingStaticPathFound,\n NoPrerenderedRoutesWithDomains,\n OnlyResponseCanBeReturned,\n PageNumberParamNotFound,\n PrerenderClientAddressNotAvailable,\n PrerenderDynamicEndpointPathCollide,\n RedirectWithNoLocation,\n ReservedSlotName,\n ResponseSentError,\n RewriteWithBodyUsed,\n RouteNotFound,\n ServerOnlyModule,\n StaticClientAddressNotAvailable,\n UnhandledRejection,\n UnknownCLIError,\n UnknownCSSError,\n UnknownCompilerError,\n UnknownConfigError,\n UnknownContentCollectionError,\n UnknownError,\n UnknownFilesystemError,\n UnknownMarkdownError,\n UnknownViteError,\n UnsupportedConfigTransformError,\n UnsupportedImageConversion,\n UnsupportedImageFormat,\n i18nNoLocaleFoundInPath,\n i18nNotEnabled\n};\n","function positionAt(offset, text) {\n const lineOffsets = getLineOffsets(text);\n offset = Math.max(0, Math.min(text.length, offset));\n let low = 0;\n let high = lineOffsets.length;\n if (high === 0) {\n return {\n line: 0,\n column: offset\n };\n }\n while (low <= high) {\n const mid = Math.floor((low + high) / 2);\n const lineOffset = lineOffsets[mid];\n if (lineOffset === offset) {\n return {\n line: mid,\n column: 0\n };\n } else if (offset > lineOffset) {\n low = mid + 1;\n } else {\n high = mid - 1;\n }\n }\n const line = low - 1;\n return { line, column: offset - lineOffsets[line] };\n}\nfunction getLineOffsets(text) {\n const lineOffsets = [];\n let isLineStart = true;\n for (let i = 0; i < text.length; i++) {\n if (isLineStart) {\n lineOffsets.push(i);\n isLineStart = false;\n }\n const ch = text.charAt(i);\n isLineStart = ch === \"\\r\" || ch === \"\\n\";\n if (ch === \"\\r\" && i + 1 < text.length && text.charAt(i + 1) === \"\\n\") {\n i++;\n }\n }\n if (isLineStart && text.length > 0) {\n lineOffsets.push(text.length);\n }\n return lineOffsets;\n}\nfunction isYAMLException(err) {\n return err instanceof Error && err.name === \"YAMLException\";\n}\nfunction formatYAMLException(e) {\n return {\n name: e.name,\n id: e.mark.name,\n loc: { file: e.mark.name, line: e.mark.line + 1, column: e.mark.column },\n message: e.reason,\n stack: e.stack ?? \"\"\n };\n}\nfunction createSafeError(err) {\n if (err instanceof Error || err?.name && err.message) {\n return err;\n } else {\n const error = new Error(JSON.stringify(err));\n error.hint = `To get as much information as possible from your errors, make sure to throw Error objects instead of \\`${typeof err}\\`. See https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Error for more information.`;\n return error;\n }\n}\nfunction normalizeLF(code) {\n return code.replace(/\\r\\n|\\r(?!\\n)|\\n/g, \"\\n\");\n}\nexport {\n createSafeError,\n formatYAMLException,\n isYAMLException,\n normalizeLF,\n positionAt\n};\n","import { normalizeLF } from \"./utils.js\";\nfunction codeFrame(src, loc) {\n if (!loc || loc.line === void 0 || loc.column === void 0) {\n return \"\";\n }\n const lines = normalizeLF(src).split(\"\\n\").map((ln) => ln.replace(/\\t/g, \" \"));\n const visibleLines = [];\n for (let n = -2; n <= 2; n++) {\n if (lines[loc.line + n]) visibleLines.push(loc.line + n);\n }\n let gutterWidth = 0;\n for (const lineNo of visibleLines) {\n let w = `> ${lineNo}`;\n if (w.length > gutterWidth) gutterWidth = w.length;\n }\n let output = \"\";\n for (const lineNo of visibleLines) {\n const isFocusedLine = lineNo === loc.line - 1;\n output += isFocusedLine ? \"> \" : \" \";\n output += `${lineNo + 1} | ${lines[lineNo]}\n`;\n if (isFocusedLine)\n output += `${Array.from({ length: gutterWidth }).join(\" \")} | ${Array.from({\n length: loc.column\n }).join(\" \")}^\n`;\n }\n return output;\n}\nexport {\n codeFrame\n};\n","import { codeFrame } from \"./printer.js\";\nfunction isAstroError(e) {\n return e instanceof AstroError;\n}\nclass AstroError extends Error {\n loc;\n title;\n hint;\n frame;\n type = \"AstroError\";\n constructor(props, options) {\n const { name, title, message, stack, location, hint, frame } = props;\n super(message, options);\n this.title = title;\n this.name = name;\n if (message) this.message = message;\n this.stack = stack ? stack : this.stack;\n this.loc = location;\n this.hint = hint;\n this.frame = frame;\n }\n setLocation(location) {\n this.loc = location;\n }\n setName(name) {\n this.name = name;\n }\n setMessage(message) {\n this.message = message;\n }\n setHint(hint) {\n this.hint = hint;\n }\n setFrame(source, location) {\n this.frame = codeFrame(source, location);\n }\n static is(err) {\n return err.type === \"AstroError\";\n }\n}\nclass CompilerError extends AstroError {\n type = \"CompilerError\";\n constructor(props, options) {\n super(props, options);\n }\n static is(err) {\n return err.type === \"CompilerError\";\n }\n}\nclass CSSError extends AstroError {\n type = \"CSSError\";\n static is(err) {\n return err.type === \"CSSError\";\n }\n}\nclass MarkdownError extends AstroError {\n type = \"MarkdownError\";\n static is(err) {\n return err.type === \"MarkdownError\";\n }\n}\nclass InternalError extends AstroError {\n type = \"InternalError\";\n static is(err) {\n return err.type === \"InternalError\";\n }\n}\nclass AggregateError extends AstroError {\n type = \"AggregateError\";\n errors;\n // Despite being a collection of errors, AggregateError still needs to have a main error attached to it\n // This is because Vite expects every thrown errors handled during HMR to be, well, Error and have a message\n constructor(props, options) {\n super(props, options);\n this.errors = props.errors;\n }\n static is(err) {\n return err.type === \"AggregateError\";\n }\n}\nconst astroConfigZodErrors = /* @__PURE__ */ new WeakSet();\nfunction isAstroConfigZodError(error) {\n return astroConfigZodErrors.has(error);\n}\nfunction trackAstroConfigZodError(error) {\n astroConfigZodErrors.add(error);\n}\nclass AstroUserError extends Error {\n type = \"AstroUserError\";\n /**\n * A message that explains to the user how they can fix the error.\n */\n hint;\n name = \"AstroUserError\";\n constructor(message, hint) {\n super();\n this.message = message;\n this.hint = hint;\n }\n static is(err) {\n return err.type === \"AstroUserError\";\n }\n}\nexport {\n AggregateError,\n AstroError,\n AstroUserError,\n CSSError,\n CompilerError,\n InternalError,\n MarkdownError,\n isAstroConfigZodError,\n isAstroError,\n trackAstroConfigZodError\n};\n","import { AstroError, AstroErrorData } from \"../../core/errors/index.js\";\nfunction validateArgs(args) {\n if (args.length !== 3) return false;\n if (!args[0] || typeof args[0] !== \"object\") return false;\n return true;\n}\nfunction baseCreateComponent(cb, moduleId, propagation) {\n const name = moduleId?.split(\"/\").pop()?.replace(\".astro\", \"\") ?? \"\";\n const fn = (...args) => {\n if (!validateArgs(args)) {\n throw new AstroError({\n ...AstroErrorData.InvalidComponentArgs,\n message: AstroErrorData.InvalidComponentArgs.message(name)\n });\n }\n return cb(...args);\n };\n Object.defineProperty(fn, \"name\", { value: name, writable: false });\n fn.isAstroComponentFactory = true;\n fn.moduleId = moduleId;\n fn.propagation = propagation;\n return fn;\n}\nfunction createComponentWithOptions(opts) {\n const cb = baseCreateComponent(opts.factory, opts.moduleId, opts.propagation);\n return cb;\n}\nfunction createComponent(arg1, moduleId, propagation) {\n if (typeof arg1 === \"function\") {\n return baseCreateComponent(arg1, moduleId, propagation);\n } else {\n return createComponentWithOptions(arg1);\n }\n}\nexport {\n createComponent\n};\n","const ASTRO_VERSION = \"4.15.3\";\nconst REROUTE_DIRECTIVE_HEADER = \"X-Astro-Reroute\";\nconst REWRITE_DIRECTIVE_HEADER_KEY = \"X-Astro-Rewrite\";\nconst REWRITE_DIRECTIVE_HEADER_VALUE = \"yes\";\nconst ROUTE_TYPE_HEADER = \"X-Astro-Route-Type\";\nconst DEFAULT_404_COMPONENT = \"astro-default-404.astro\";\nconst DEFAULT_500_COMPONENT = \"astro-default-500.astro\";\nconst REDIRECT_STATUS_CODES = [301, 302, 303, 307, 308, 300, 304];\nconst REROUTABLE_STATUS_CODES = [404, 500];\nconst clientAddressSymbol = Symbol.for(\"astro.clientAddress\");\nconst clientLocalsSymbol = Symbol.for(\"astro.locals\");\nconst responseSentSymbol = Symbol.for(\"astro.responseSent\");\nconst SUPPORTED_MARKDOWN_FILE_EXTENSIONS = [\n \".markdown\",\n \".mdown\",\n \".mkdn\",\n \".mkd\",\n \".mdwn\",\n \".md\"\n];\nconst MIDDLEWARE_PATH_SEGMENT_NAME = \"middleware\";\nexport {\n ASTRO_VERSION,\n DEFAULT_404_COMPONENT,\n DEFAULT_500_COMPONENT,\n MIDDLEWARE_PATH_SEGMENT_NAME,\n REDIRECT_STATUS_CODES,\n REROUTABLE_STATUS_CODES,\n REROUTE_DIRECTIVE_HEADER,\n REWRITE_DIRECTIVE_HEADER_KEY,\n REWRITE_DIRECTIVE_HEADER_VALUE,\n ROUTE_TYPE_HEADER,\n SUPPORTED_MARKDOWN_FILE_EXTENSIONS,\n clientAddressSymbol,\n clientLocalsSymbol,\n responseSentSymbol\n};\n","import { ASTRO_VERSION } from \"../../core/constants.js\";\nimport { AstroError, AstroErrorData } from \"../../core/errors/index.js\";\nfunction createAstroGlobFn() {\n const globHandler = (importMetaGlobResult) => {\n if (typeof importMetaGlobResult === \"string\") {\n throw new AstroError({\n ...AstroErrorData.AstroGlobUsedOutside,\n message: AstroErrorData.AstroGlobUsedOutside.message(JSON.stringify(importMetaGlobResult))\n });\n }\n let allEntries = [...Object.values(importMetaGlobResult)];\n if (allEntries.length === 0) {\n throw new AstroError({\n ...AstroErrorData.AstroGlobNoMatch,\n message: AstroErrorData.AstroGlobNoMatch.message(JSON.stringify(importMetaGlobResult))\n });\n }\n return Promise.all(allEntries.map((fn) => fn()));\n };\n return globHandler;\n}\nfunction createAstro(site) {\n return {\n // TODO: this is no longer necessary for `Astro.site`\n // but it somehow allows working around caching issues in content collections for some tests\n site: site ? new URL(site) : void 0,\n generator: `Astro v${ASTRO_VERSION}`,\n glob: createAstroGlobFn()\n };\n}\nexport {\n createAstro\n};\n","function isPromise(value) {\n return !!value && typeof value === \"object\" && \"then\" in value && typeof value.then === \"function\";\n}\nasync function* streamAsyncIterator(stream) {\n const reader = stream.getReader();\n try {\n while (true) {\n const { done, value } = await reader.read();\n if (done) return;\n yield value;\n }\n } finally {\n reader.releaseLock();\n }\n}\nexport {\n isPromise,\n streamAsyncIterator\n};\n","import { escape } from \"html-escaper\";\nimport { streamAsyncIterator } from \"./util.js\";\nconst escapeHTML = escape;\nclass HTMLBytes extends Uint8Array {\n}\nObject.defineProperty(HTMLBytes.prototype, Symbol.toStringTag, {\n get() {\n return \"HTMLBytes\";\n }\n});\nclass HTMLString extends String {\n get [Symbol.toStringTag]() {\n return \"HTMLString\";\n }\n}\nconst markHTMLString = (value) => {\n if (value instanceof HTMLString) {\n return value;\n }\n if (typeof value === \"string\") {\n return new HTMLString(value);\n }\n return value;\n};\nfunction isHTMLString(value) {\n return Object.prototype.toString.call(value) === \"[object HTMLString]\";\n}\nfunction markHTMLBytes(bytes) {\n return new HTMLBytes(bytes);\n}\nfunction isHTMLBytes(value) {\n return Object.prototype.toString.call(value) === \"[object HTMLBytes]\";\n}\nfunction hasGetReader(obj) {\n return typeof obj.getReader === \"function\";\n}\nasync function* unescapeChunksAsync(iterable) {\n if (hasGetReader(iterable)) {\n for await (const chunk of streamAsyncIterator(iterable)) {\n yield unescapeHTML(chunk);\n }\n } else {\n for await (const chunk of iterable) {\n yield unescapeHTML(chunk);\n }\n }\n}\nfunction* unescapeChunks(iterable) {\n for (const chunk of iterable) {\n yield unescapeHTML(chunk);\n }\n}\nfunction unescapeHTML(str) {\n if (!!str && typeof str === \"object\") {\n if (str instanceof Uint8Array) {\n return markHTMLBytes(str);\n } else if (str instanceof Response && str.body) {\n const body = str.body;\n return unescapeChunksAsync(body);\n } else if (typeof str.then === \"function\") {\n return Promise.resolve(str).then((value) => {\n return unescapeHTML(value);\n });\n } else if (str[Symbol.for(\"astro:slot-string\")]) {\n return str;\n } else if (Symbol.iterator in str) {\n return unescapeChunks(str);\n } else if (Symbol.asyncIterator in str || hasGetReader(str)) {\n return unescapeChunksAsync(str);\n }\n }\n return markHTMLString(str);\n}\nexport {\n HTMLBytes,\n HTMLString,\n escapeHTML,\n isHTMLBytes,\n isHTMLString,\n markHTMLString,\n unescapeHTML\n};\n","const RenderInstructionSymbol = Symbol.for(\"astro:render\");\nfunction createRenderInstruction(instruction) {\n return Object.defineProperty(instruction, RenderInstructionSymbol, {\n value: true\n });\n}\nfunction isRenderInstruction(chunk) {\n return chunk && typeof chunk === \"object\" && chunk[RenderInstructionSymbol];\n}\nexport {\n createRenderInstruction,\n isRenderInstruction\n};\n","const PROP_TYPE = {\n Value: 0,\n JSON: 1,\n // Actually means Array\n RegExp: 2,\n Date: 3,\n Map: 4,\n Set: 5,\n BigInt: 6,\n URL: 7,\n Uint8Array: 8,\n Uint16Array: 9,\n Uint32Array: 10\n};\nfunction serializeArray(value, metadata = {}, parents = /* @__PURE__ */ new WeakSet()) {\n if (parents.has(value)) {\n throw new Error(`Cyclic reference detected while serializing props for <${metadata.displayName} client:${metadata.hydrate}>!\n\nCyclic references cannot be safely serialized for client-side usage. Please remove the cyclic reference.`);\n }\n parents.add(value);\n const serialized = value.map((v) => {\n return convertToSerializedForm(v, metadata, parents);\n });\n parents.delete(value);\n return serialized;\n}\nfunction serializeObject(value, metadata = {}, parents = /* @__PURE__ */ new WeakSet()) {\n if (parents.has(value)) {\n throw new Error(`Cyclic reference detected while serializing props for <${metadata.displayName} client:${metadata.hydrate}>!\n\nCyclic references cannot be safely serialized for client-side usage. Please remove the cyclic reference.`);\n }\n parents.add(value);\n const serialized = Object.fromEntries(\n Object.entries(value).map(([k, v]) => {\n return [k, convertToSerializedForm(v, metadata, parents)];\n })\n );\n parents.delete(value);\n return serialized;\n}\nfunction convertToSerializedForm(value, metadata = {}, parents = /* @__PURE__ */ new WeakSet()) {\n const tag = Object.prototype.toString.call(value);\n switch (tag) {\n case \"[object Date]\": {\n return [PROP_TYPE.Date, value.toISOString()];\n }\n case \"[object RegExp]\": {\n return [PROP_TYPE.RegExp, value.source];\n }\n case \"[object Map]\": {\n return [PROP_TYPE.Map, serializeArray(Array.from(value), metadata, parents)];\n }\n case \"[object Set]\": {\n return [PROP_TYPE.Set, serializeArray(Array.from(value), metadata, parents)];\n }\n case \"[object BigInt]\": {\n return [PROP_TYPE.BigInt, value.toString()];\n }\n case \"[object URL]\": {\n return [PROP_TYPE.URL, value.toString()];\n }\n case \"[object Array]\": {\n return [PROP_TYPE.JSON, serializeArray(value, metadata, parents)];\n }\n case \"[object Uint8Array]\": {\n return [PROP_TYPE.Uint8Array, Array.from(value)];\n }\n case \"[object Uint16Array]\": {\n return [PROP_TYPE.Uint16Array, Array.from(value)];\n }\n case \"[object Uint32Array]\": {\n return [PROP_TYPE.Uint32Array, Array.from(value)];\n }\n default: {\n if (value !== null && typeof value === \"object\") {\n return [PROP_TYPE.Value, serializeObject(value, metadata, parents)];\n } else if (value === void 0) {\n return [PROP_TYPE.Value];\n } else {\n return [PROP_TYPE.Value, value];\n }\n }\n }\n}\nfunction serializeProps(props, metadata) {\n const serialized = JSON.stringify(serializeObject(props, metadata));\n return serialized;\n}\nexport {\n serializeProps\n};\n","import { AstroError, AstroErrorData } from \"../../core/errors/index.js\";\nimport { escapeHTML } from \"./escape.js\";\nimport { serializeProps } from \"./serialize.js\";\nconst transitionDirectivesToCopyOnIsland = Object.freeze([\n \"data-astro-transition-scope\",\n \"data-astro-transition-persist\",\n \"data-astro-transition-persist-props\"\n]);\nfunction extractDirectives(inputProps, clientDirectives) {\n let extracted = {\n isPage: false,\n hydration: null,\n props: {},\n propsWithoutTransitionAttributes: {}\n };\n for (const [key, value] of Object.entries(inputProps)) {\n if (key.startsWith(\"server:\")) {\n if (key === \"server:root\") {\n extracted.isPage = true;\n }\n }\n if (key.startsWith(\"client:\")) {\n if (!extracted.hydration) {\n extracted.hydration = {\n directive: \"\",\n value: \"\",\n componentUrl: \"\",\n componentExport: { value: \"\" }\n };\n }\n switch (key) {\n case \"client:component-path\": {\n extracted.hydration.componentUrl = value;\n break;\n }\n case \"client:component-export\": {\n extracted.hydration.componentExport.value = value;\n break;\n }\n case \"client:component-hydration\": {\n break;\n }\n case \"client:display-name\": {\n break;\n }\n default: {\n extracted.hydration.directive = key.split(\":\")[1];\n extracted.hydration.value = value;\n if (!clientDirectives.has(extracted.hydration.directive)) {\n const hydrationMethods = Array.from(clientDirectives.keys()).map((d) => `client:${d}`).join(\", \");\n throw new Error(\n `Error: invalid hydration directive \"${key}\". Supported hydration methods: ${hydrationMethods}`\n );\n }\n if (extracted.hydration.directive === \"media\" && typeof extracted.hydration.value !== \"string\") {\n throw new AstroError(AstroErrorData.MissingMediaQueryDirective);\n }\n break;\n }\n }\n } else {\n extracted.props[key] = value;\n if (!transitionDirectivesToCopyOnIsland.includes(key)) {\n extracted.propsWithoutTransitionAttributes[key] = value;\n }\n }\n }\n for (const sym of Object.getOwnPropertySymbols(inputProps)) {\n extracted.props[sym] = inputProps[sym];\n extracted.propsWithoutTransitionAttributes[sym] = inputProps[sym];\n }\n return extracted;\n}\nasync function generateHydrateScript(scriptOptions, metadata) {\n const { renderer, result, astroId, props, attrs } = scriptOptions;\n const { hydrate, componentUrl, componentExport } = metadata;\n if (!componentExport.value) {\n throw new AstroError({\n ...AstroErrorData.NoMatchingImport,\n message: AstroErrorData.NoMatchingImport.message(metadata.displayName)\n });\n }\n const island = {\n children: \"\",\n props: {\n // This is for HMR, probably can avoid it in prod\n uid: astroId\n }\n };\n if (attrs) {\n for (const [key, value] of Object.entries(attrs)) {\n island.props[key] = escapeHTML(value);\n }\n }\n island.props[\"component-url\"] = await result.resolve(decodeURI(componentUrl));\n if (renderer.clientEntrypoint) {\n island.props[\"component-export\"] = componentExport.value;\n island.props[\"renderer-url\"] = await result.resolve(decodeURI(renderer.clientEntrypoint));\n island.props[\"props\"] = escapeHTML(serializeProps(props, metadata));\n }\n island.props[\"ssr\"] = \"\";\n island.props[\"client\"] = hydrate;\n let beforeHydrationUrl = await result.resolve(\"astro:scripts/before-hydration.js\");\n if (beforeHydrationUrl.length) {\n island.props[\"before-hydration-url\"] = beforeHydrationUrl;\n }\n island.props[\"opts\"] = escapeHTML(\n JSON.stringify({\n name: metadata.displayName,\n value: metadata.hydrateArgs || \"\"\n })\n );\n transitionDirectivesToCopyOnIsland.forEach((name) => {\n if (typeof props[name] !== \"undefined\") {\n island.props[name] = props[name];\n }\n });\n return island;\n}\nexport {\n extractDirectives,\n generateHydrateScript\n};\n","/**\n * shortdash - https://github.com/bibig/node-shorthash\n *\n * @license\n *\n * (The MIT License)\n *\n * Copyright (c) 2013 Bibig \n *\n * Permission is hereby granted, free of charge, to any person\n * obtaining a copy of this software and associated documentation\n * files (the \"Software\"), to deal in the Software without\n * restriction, including without limitation the rights to use,\n * copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the\n * Software is furnished to do so, subject to the following\n * conditions:\n *\n * The above copyright notice and this permission notice shall be\n * included in all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\n * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES\n * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\n * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT\n * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,\n * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING\n * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR\n * OTHER DEALINGS IN THE SOFTWARE.\n */\nconst dictionary = \"0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXY\";\nconst binary = dictionary.length;\nfunction bitwise(str) {\n let hash = 0;\n if (str.length === 0) return hash;\n for (let i = 0; i < str.length; i++) {\n const ch = str.charCodeAt(i);\n hash = (hash << 5) - hash + ch;\n hash = hash & hash;\n }\n return hash;\n}\nfunction shorthash(text) {\n let num;\n let result = \"\";\n let integer = bitwise(text);\n const sign = integer < 0 ? \"Z\" : \"\";\n integer = Math.abs(integer);\n while (integer >= binary) {\n num = integer % binary;\n integer = Math.floor(integer / binary);\n result = dictionary[num] + result;\n }\n if (integer > 0) {\n result = dictionary[integer] + result;\n }\n return sign + result;\n}\nexport {\n shorthash\n};\n","function isAstroComponentFactory(obj) {\n return obj == null ? false : obj.isAstroComponentFactory === true;\n}\nfunction isAPropagatingComponent(result, factory) {\n let hint = factory.propagation || \"none\";\n if (factory.moduleId && result.componentMetadata.has(factory.moduleId) && hint === \"none\") {\n hint = result.componentMetadata.get(factory.moduleId).propagation;\n }\n return hint === \"in-tree\" || hint === \"self\";\n}\nexport {\n isAPropagatingComponent,\n isAstroComponentFactory\n};\n","const headAndContentSym = Symbol.for(\"astro.headAndContent\");\nfunction isHeadAndContent(obj) {\n return typeof obj === \"object\" && !!obj[headAndContentSym];\n}\nfunction createHeadAndContent(head, content) {\n return {\n [headAndContentSym]: true,\n head,\n content\n };\n}\nexport {\n createHeadAndContent,\n isHeadAndContent\n};\n","var astro_island_prebuilt_dev_default = `(()=>{var A=Object.defineProperty;var g=(i,o,a)=>o in i?A(i,o,{enumerable:!0,configurable:!0,writable:!0,value:a}):i[o]=a;var l=(i,o,a)=>g(i,typeof o!=\"symbol\"?o+\"\":o,a);{let i={0:t=>y(t),1:t=>a(t),2:t=>new RegExp(t),3:t=>new Date(t),4:t=>new Map(a(t)),5:t=>new Set(a(t)),6:t=>BigInt(t),7:t=>new URL(t),8:t=>new Uint8Array(t),9:t=>new Uint16Array(t),10:t=>new Uint32Array(t)},o=t=>{let[h,e]=t;return h in i?i[h](e):void 0},a=t=>t.map(o),y=t=>typeof t!=\"object\"||t===null?t:Object.fromEntries(Object.entries(t).map(([h,e])=>[h,o(e)]));class f extends HTMLElement{constructor(){super(...arguments);l(this,\"Component\");l(this,\"hydrator\");l(this,\"hydrate\",async()=>{var b;if(!this.hydrator||!this.isConnected)return;let e=(b=this.parentElement)==null?void 0:b.closest(\"astro-island[ssr]\");if(e){e.addEventListener(\"astro:hydrate\",this.hydrate,{once:!0});return}let c=this.querySelectorAll(\"astro-slot\"),n={},p=this.querySelectorAll(\"template[data-astro-template]\");for(let r of p){let s=r.closest(this.tagName);s!=null&&s.isSameNode(this)&&(n[r.getAttribute(\"data-astro-template\")||\"default\"]=r.innerHTML,r.remove())}for(let r of c){let s=r.closest(this.tagName);s!=null&&s.isSameNode(this)&&(n[r.getAttribute(\"name\")||\"default\"]=r.innerHTML)}let u;try{u=this.hasAttribute(\"props\")?y(JSON.parse(this.getAttribute(\"props\"))):{}}catch(r){let s=this.getAttribute(\"component-url\")||\"\",v=this.getAttribute(\"component-export\");throw v&&(s+=\\` (export \\${v})\\`),console.error(\\`[hydrate] Error parsing props for component \\${s}\\`,this.getAttribute(\"props\"),r),r}let d,m=this.hydrator(this);d=performance.now(),await m(this.Component,u,n,{client:this.getAttribute(\"client\")}),d&&this.setAttribute(\"client-render-time\",(performance.now()-d).toString()),this.removeAttribute(\"ssr\"),this.dispatchEvent(new CustomEvent(\"astro:hydrate\"))});l(this,\"unmount\",()=>{this.isConnected||this.dispatchEvent(new CustomEvent(\"astro:unmount\"))})}disconnectedCallback(){document.removeEventListener(\"astro:after-swap\",this.unmount),document.addEventListener(\"astro:after-swap\",this.unmount,{once:!0})}connectedCallback(){if(!this.hasAttribute(\"await-children\")||document.readyState===\"interactive\"||document.readyState===\"complete\")this.childrenConnectedCallback();else{let e=()=>{document.removeEventListener(\"DOMContentLoaded\",e),c.disconnect(),this.childrenConnectedCallback()},c=new MutationObserver(()=>{var n;((n=this.lastChild)==null?void 0:n.nodeType)===Node.COMMENT_NODE&&this.lastChild.nodeValue===\"astro:end\"&&(this.lastChild.remove(),e())});c.observe(this,{childList:!0}),document.addEventListener(\"DOMContentLoaded\",e)}}async childrenConnectedCallback(){let e=this.getAttribute(\"before-hydration-url\");e&&await import(e),this.start()}async start(){let e=JSON.parse(this.getAttribute(\"opts\")),c=this.getAttribute(\"client\");if(Astro[c]===void 0){window.addEventListener(\\`astro:\\${c}\\`,()=>this.start(),{once:!0});return}try{await Astro[c](async()=>{let n=this.getAttribute(\"renderer-url\"),[p,{default:u}]=await Promise.all([import(this.getAttribute(\"component-url\")),n?import(n):()=>()=>{}]),d=this.getAttribute(\"component-export\")||\"default\";if(!d.includes(\".\"))this.Component=p[d];else{this.Component=p;for(let m of d.split(\".\"))this.Component=this.Component[m]}return this.hydrator=u,this.hydrate},e,this)}catch(n){console.error(\\`[astro-island] Error hydrating \\${this.getAttribute(\"component-url\")}\\`,n)}}attributeChangedCallback(){this.hydrate()}}l(f,\"observedAttributes\",[\"props\"]),customElements.get(\"astro-island\")||customElements.define(\"astro-island\",f)}})();`;\nexport {\n astro_island_prebuilt_dev_default as default\n};\n","var astro_island_prebuilt_default = `(()=>{var A=Object.defineProperty;var g=(i,o,a)=>o in i?A(i,o,{enumerable:!0,configurable:!0,writable:!0,value:a}):i[o]=a;var d=(i,o,a)=>g(i,typeof o!=\"symbol\"?o+\"\":o,a);{let i={0:t=>m(t),1:t=>a(t),2:t=>new RegExp(t),3:t=>new Date(t),4:t=>new Map(a(t)),5:t=>new Set(a(t)),6:t=>BigInt(t),7:t=>new URL(t),8:t=>new Uint8Array(t),9:t=>new Uint16Array(t),10:t=>new Uint32Array(t)},o=t=>{let[l,e]=t;return l in i?i[l](e):void 0},a=t=>t.map(o),m=t=>typeof t!=\"object\"||t===null?t:Object.fromEntries(Object.entries(t).map(([l,e])=>[l,o(e)]));class y extends HTMLElement{constructor(){super(...arguments);d(this,\"Component\");d(this,\"hydrator\");d(this,\"hydrate\",async()=>{var b;if(!this.hydrator||!this.isConnected)return;let e=(b=this.parentElement)==null?void 0:b.closest(\"astro-island[ssr]\");if(e){e.addEventListener(\"astro:hydrate\",this.hydrate,{once:!0});return}let c=this.querySelectorAll(\"astro-slot\"),n={},h=this.querySelectorAll(\"template[data-astro-template]\");for(let r of h){let s=r.closest(this.tagName);s!=null&&s.isSameNode(this)&&(n[r.getAttribute(\"data-astro-template\")||\"default\"]=r.innerHTML,r.remove())}for(let r of c){let s=r.closest(this.tagName);s!=null&&s.isSameNode(this)&&(n[r.getAttribute(\"name\")||\"default\"]=r.innerHTML)}let p;try{p=this.hasAttribute(\"props\")?m(JSON.parse(this.getAttribute(\"props\"))):{}}catch(r){let s=this.getAttribute(\"component-url\")||\"\",v=this.getAttribute(\"component-export\");throw v&&(s+=\\` (export \\${v})\\`),console.error(\\`[hydrate] Error parsing props for component \\${s}\\`,this.getAttribute(\"props\"),r),r}let u;await this.hydrator(this)(this.Component,p,n,{client:this.getAttribute(\"client\")}),this.removeAttribute(\"ssr\"),this.dispatchEvent(new CustomEvent(\"astro:hydrate\"))});d(this,\"unmount\",()=>{this.isConnected||this.dispatchEvent(new CustomEvent(\"astro:unmount\"))})}disconnectedCallback(){document.removeEventListener(\"astro:after-swap\",this.unmount),document.addEventListener(\"astro:after-swap\",this.unmount,{once:!0})}connectedCallback(){if(!this.hasAttribute(\"await-children\")||document.readyState===\"interactive\"||document.readyState===\"complete\")this.childrenConnectedCallback();else{let e=()=>{document.removeEventListener(\"DOMContentLoaded\",e),c.disconnect(),this.childrenConnectedCallback()},c=new MutationObserver(()=>{var n;((n=this.lastChild)==null?void 0:n.nodeType)===Node.COMMENT_NODE&&this.lastChild.nodeValue===\"astro:end\"&&(this.lastChild.remove(),e())});c.observe(this,{childList:!0}),document.addEventListener(\"DOMContentLoaded\",e)}}async childrenConnectedCallback(){let e=this.getAttribute(\"before-hydration-url\");e&&await import(e),this.start()}async start(){let e=JSON.parse(this.getAttribute(\"opts\")),c=this.getAttribute(\"client\");if(Astro[c]===void 0){window.addEventListener(\\`astro:\\${c}\\`,()=>this.start(),{once:!0});return}try{await Astro[c](async()=>{let n=this.getAttribute(\"renderer-url\"),[h,{default:p}]=await Promise.all([import(this.getAttribute(\"component-url\")),n?import(n):()=>()=>{}]),u=this.getAttribute(\"component-export\")||\"default\";if(!u.includes(\".\"))this.Component=h[u];else{this.Component=h;for(let f of u.split(\".\"))this.Component=this.Component[f]}return this.hydrator=p,this.hydrate},e,this)}catch(n){console.error(\\`[astro-island] Error hydrating \\${this.getAttribute(\"component-url\")}\\`,n)}}attributeChangedCallback(){this.hydrate()}}d(y,\"observedAttributes\",[\"props\"]),customElements.get(\"astro-island\")||customElements.define(\"astro-island\",y)}})();`;\nexport {\n astro_island_prebuilt_default as default\n};\n","import islandScriptDev from \"./astro-island.prebuilt-dev.js\";\nimport islandScript from \"./astro-island.prebuilt.js\";\nconst ISLAND_STYLES = ``;\nfunction determineIfNeedsHydrationScript(result) {\n if (result._metadata.hasHydrationScript) {\n return false;\n }\n return result._metadata.hasHydrationScript = true;\n}\nfunction determinesIfNeedsDirectiveScript(result, directive) {\n if (result._metadata.hasDirectives.has(directive)) {\n return false;\n }\n result._metadata.hasDirectives.add(directive);\n return true;\n}\nfunction getDirectiveScriptText(result, directive) {\n const clientDirectives = result.clientDirectives;\n const clientDirective = clientDirectives.get(directive);\n if (!clientDirective) {\n throw new Error(`Unknown directive: ${directive}`);\n }\n return clientDirective;\n}\nfunction getPrescripts(result, type, directive) {\n switch (type) {\n case \"both\":\n return `${ISLAND_STYLES}`;\n case \"directive\":\n return ``;\n case null:\n break;\n }\n return \"\";\n}\nexport {\n determineIfNeedsHydrationScript,\n determinesIfNeedsDirectiveScript,\n getPrescripts\n};\n","import { clsx } from \"clsx\";\nimport { HTMLString, markHTMLString } from \"../escape.js\";\nconst voidElementNames = /^(area|base|br|col|command|embed|hr|img|input|keygen|link|meta|param|source|track|wbr)$/i;\nconst htmlBooleanAttributes = /^(?:allowfullscreen|async|autofocus|autoplay|controls|default|defer|disabled|disablepictureinpicture|disableremoteplayback|formnovalidate|hidden|loop|nomodule|novalidate|open|playsinline|readonly|required|reversed|scoped|seamless|itemscope)$/i;\nconst htmlEnumAttributes = /^(?:contenteditable|draggable|spellcheck|value)$/i;\nconst svgEnumAttributes = /^(?:autoReverse|externalResourcesRequired|focusable|preserveAlpha)$/i;\nconst AMPERSAND_REGEX = /&/g;\nconst DOUBLE_QUOTE_REGEX = /\"/g;\nconst STATIC_DIRECTIVES = /* @__PURE__ */ new Set([\"set:html\", \"set:text\"]);\nconst toIdent = (k) => k.trim().replace(/(?!^)\\b\\w|\\s+|\\W+/g, (match, index) => {\n if (/\\W/.test(match)) return \"\";\n return index === 0 ? match : match.toUpperCase();\n});\nconst toAttributeString = (value, shouldEscape = true) => shouldEscape ? String(value).replace(AMPERSAND_REGEX, \"&\").replace(DOUBLE_QUOTE_REGEX, \""\") : value;\nconst kebab = (k) => k.toLowerCase() === k ? k : k.replace(/[A-Z]/g, (match) => `-${match.toLowerCase()}`);\nconst toStyleString = (obj) => Object.entries(obj).filter(([_, v]) => typeof v === \"string\" && v.trim() || typeof v === \"number\").map(([k, v]) => {\n if (k[0] !== \"-\" && k[1] !== \"-\") return `${kebab(k)}:${v}`;\n return `${k}:${v}`;\n}).join(\";\");\nfunction defineScriptVars(vars) {\n let output = \"\";\n for (const [key, value] of Object.entries(vars)) {\n output += `const ${toIdent(key)} = ${JSON.stringify(value)?.replace(\n /<\\/script>/g,\n \"\\\\x3C/script>\"\n )};\n`;\n }\n return markHTMLString(output);\n}\nfunction formatList(values) {\n if (values.length === 1) {\n return values[0];\n }\n return `${values.slice(0, -1).join(\", \")} or ${values[values.length - 1]}`;\n}\nfunction addAttribute(value, key, shouldEscape = true) {\n if (value == null) {\n return \"\";\n }\n if (value === false) {\n if (htmlEnumAttributes.test(key) || svgEnumAttributes.test(key)) {\n return markHTMLString(` ${key}=\"false\"`);\n }\n return \"\";\n }\n if (STATIC_DIRECTIVES.has(key)) {\n console.warn(`[astro] The \"${key}\" directive cannot be applied dynamically at runtime. It will not be rendered as an attribute.\n\nMake sure to use the static attribute syntax (\\`${key}={value}\\`) instead of the dynamic spread syntax (\\`{...{ \"${key}\": value }}\\`).`);\n return \"\";\n }\n if (key === \"class:list\") {\n const listValue = toAttributeString(clsx(value), shouldEscape);\n if (listValue === \"\") {\n return \"\";\n }\n return markHTMLString(` ${key.slice(0, -5)}=\"${listValue}\"`);\n }\n if (key === \"style\" && !(value instanceof HTMLString)) {\n if (Array.isArray(value) && value.length === 2) {\n return markHTMLString(\n ` ${key}=\"${toAttributeString(`${toStyleString(value[0])};${value[1]}`, shouldEscape)}\"`\n );\n }\n if (typeof value === \"object\") {\n return markHTMLString(` ${key}=\"${toAttributeString(toStyleString(value), shouldEscape)}\"`);\n }\n }\n if (key === \"className\") {\n return markHTMLString(` class=\"${toAttributeString(value, shouldEscape)}\"`);\n }\n if (typeof value === \"string\" && value.includes(\"&\") && isHttpUrl(value)) {\n return markHTMLString(` ${key}=\"${toAttributeString(value, false)}\"`);\n }\n if (value === true && (key.startsWith(\"data-\") || htmlBooleanAttributes.test(key))) {\n return markHTMLString(` ${key}`);\n } else {\n return markHTMLString(` ${key}=\"${toAttributeString(value, shouldEscape)}\"`);\n }\n}\nfunction internalSpreadAttributes(values, shouldEscape = true) {\n let output = \"\";\n for (const [key, value] of Object.entries(values)) {\n output += addAttribute(value, key, shouldEscape);\n }\n return markHTMLString(output);\n}\nfunction renderElement(name, { props: _props, children = \"\" }, shouldEscape = true) {\n const { lang: _, \"data-astro-id\": astroId, \"define:vars\": defineVars, ...props } = _props;\n if (defineVars) {\n if (name === \"style\") {\n delete props[\"is:global\"];\n delete props[\"is:scoped\"];\n }\n if (name === \"script\") {\n delete props.hoist;\n children = defineScriptVars(defineVars) + \"\\n\" + children;\n }\n }\n if ((children == null || children == \"\") && voidElementNames.test(name)) {\n return `<${name}${internalSpreadAttributes(props, shouldEscape)}>`;\n }\n return `<${name}${internalSpreadAttributes(props, shouldEscape)}>${children}`;\n}\nconst noop = () => {\n};\nclass BufferedRenderer {\n chunks = [];\n renderPromise;\n destination;\n constructor(bufferRenderFunction) {\n this.renderPromise = bufferRenderFunction(this);\n Promise.resolve(this.renderPromise).catch(noop);\n }\n write(chunk) {\n if (this.destination) {\n this.destination.write(chunk);\n } else {\n this.chunks.push(chunk);\n }\n }\n async renderToFinalDestination(destination) {\n for (const chunk of this.chunks) {\n destination.write(chunk);\n }\n this.destination = destination;\n await this.renderPromise;\n }\n}\nfunction renderToBufferDestination(bufferRenderFunction) {\n const renderer = new BufferedRenderer(bufferRenderFunction);\n return renderer;\n}\nconst isNode = typeof process !== \"undefined\" && Object.prototype.toString.call(process) === \"[object process]\";\nconst isDeno = typeof Deno !== \"undefined\";\nfunction promiseWithResolvers() {\n let resolve, reject;\n const promise = new Promise((_resolve, _reject) => {\n resolve = _resolve;\n reject = _reject;\n });\n return {\n promise,\n resolve,\n reject\n };\n}\nconst VALID_PROTOCOLS = [\"http:\", \"https:\"];\nfunction isHttpUrl(url) {\n try {\n const parsedUrl = new URL(url);\n return VALID_PROTOCOLS.includes(parsedUrl.protocol);\n } catch {\n return false;\n }\n}\nexport {\n addAttribute,\n defineScriptVars,\n formatList,\n internalSpreadAttributes,\n isDeno,\n isNode,\n promiseWithResolvers,\n renderElement,\n renderToBufferDestination,\n toAttributeString,\n voidElementNames\n};\n","import { markHTMLString } from \"../escape.js\";\nimport { createRenderInstruction } from \"./instruction.js\";\nimport { renderElement } from \"./util.js\";\nconst uniqueElements = (item, index, all) => {\n const props = JSON.stringify(item.props);\n const children = item.children;\n return index === all.findIndex((i) => JSON.stringify(i.props) === props && i.children == children);\n};\nfunction renderAllHeadContent(result) {\n result._metadata.hasRenderedHead = true;\n const styles = Array.from(result.styles).filter(uniqueElements).map(\n (style) => style.props.rel === \"stylesheet\" ? renderElement(\"link\", style) : renderElement(\"style\", style)\n );\n result.styles.clear();\n const scripts = Array.from(result.scripts).filter(uniqueElements).map((script) => {\n return renderElement(\"script\", script, false);\n });\n const links = Array.from(result.links).filter(uniqueElements).map((link) => renderElement(\"link\", link, false));\n let content = styles.join(\"\\n\") + links.join(\"\\n\") + scripts.join(\"\\n\");\n if (result._metadata.extraHead.length > 0) {\n for (const part of result._metadata.extraHead) {\n content += part;\n }\n }\n return markHTMLString(content);\n}\nfunction renderHead() {\n return createRenderInstruction({ type: \"head\" });\n}\nfunction maybeRenderHead() {\n return createRenderInstruction({ type: \"maybe-head\" });\n}\nexport {\n maybeRenderHead,\n renderAllHeadContent,\n renderHead\n};\n","import { markHTMLString } from \"../../escape.js\";\nimport { isPromise } from \"../../util.js\";\nimport { renderChild } from \"../any.js\";\nimport { renderToBufferDestination } from \"../util.js\";\nconst renderTemplateResultSym = Symbol.for(\"astro.renderTemplateResult\");\nclass RenderTemplateResult {\n [renderTemplateResultSym] = true;\n htmlParts;\n expressions;\n error;\n constructor(htmlParts, expressions) {\n this.htmlParts = htmlParts;\n this.error = void 0;\n this.expressions = expressions.map((expression) => {\n if (isPromise(expression)) {\n return Promise.resolve(expression).catch((err) => {\n if (!this.error) {\n this.error = err;\n throw err;\n }\n });\n }\n return expression;\n });\n }\n async render(destination) {\n const expRenders = this.expressions.map((exp) => {\n return renderToBufferDestination((bufferDestination) => {\n if (exp || exp === 0) {\n return renderChild(bufferDestination, exp);\n }\n });\n });\n for (let i = 0; i < this.htmlParts.length; i++) {\n const html = this.htmlParts[i];\n const expRender = expRenders[i];\n destination.write(markHTMLString(html));\n if (expRender) {\n await expRender.renderToFinalDestination(destination);\n }\n }\n }\n}\nfunction isRenderTemplateResult(obj) {\n return typeof obj === \"object\" && !!obj[renderTemplateResultSym];\n}\nfunction renderTemplate(htmlParts, ...expressions) {\n return new RenderTemplateResult(htmlParts, expressions);\n}\nexport {\n RenderTemplateResult,\n isRenderTemplateResult,\n renderTemplate\n};\n","import { renderTemplate } from \"./astro/render-template.js\";\nimport { HTMLString, markHTMLString, unescapeHTML } from \"../escape.js\";\nimport { renderChild } from \"./any.js\";\nimport { chunkToString } from \"./common.js\";\nconst slotString = Symbol.for(\"astro:slot-string\");\nclass SlotString extends HTMLString {\n instructions;\n [slotString];\n constructor(content, instructions) {\n super(content);\n this.instructions = instructions;\n this[slotString] = true;\n }\n}\nfunction isSlotString(str) {\n return !!str[slotString];\n}\nfunction renderSlot(result, slotted, fallback) {\n if (!slotted && fallback) {\n return renderSlot(result, fallback);\n }\n return {\n async render(destination) {\n await renderChild(destination, typeof slotted === \"function\" ? slotted(result) : slotted);\n }\n };\n}\nasync function renderSlotToString(result, slotted, fallback) {\n let content = \"\";\n let instructions = null;\n const temporaryDestination = {\n write(chunk) {\n if (chunk instanceof SlotString) {\n content += chunk;\n if (chunk.instructions) {\n instructions ??= [];\n instructions.push(...chunk.instructions);\n }\n } else if (chunk instanceof Response) return;\n else if (typeof chunk === \"object\" && \"type\" in chunk && typeof chunk.type === \"string\") {\n if (instructions === null) {\n instructions = [];\n }\n instructions.push(chunk);\n } else {\n content += chunkToString(result, chunk);\n }\n }\n };\n const renderInstance = renderSlot(result, slotted, fallback);\n await renderInstance.render(temporaryDestination);\n return markHTMLString(new SlotString(content, instructions));\n}\nasync function renderSlots(result, slots = {}) {\n let slotInstructions = null;\n let children = {};\n if (slots) {\n await Promise.all(\n Object.entries(slots).map(\n ([key, value]) => renderSlotToString(result, value).then((output) => {\n if (output.instructions) {\n if (slotInstructions === null) {\n slotInstructions = [];\n }\n slotInstructions.push(...output.instructions);\n }\n children[key] = output;\n })\n )\n );\n }\n return { slotInstructions, children };\n}\nfunction createSlotValueFromString(content) {\n return function() {\n return renderTemplate`${unescapeHTML(content)}`;\n };\n}\nexport {\n SlotString,\n createSlotValueFromString,\n isSlotString,\n renderSlot,\n renderSlotToString,\n renderSlots\n};\n","import { markHTMLString } from \"../escape.js\";\nimport {\n determineIfNeedsHydrationScript,\n determinesIfNeedsDirectiveScript,\n getPrescripts\n} from \"../scripts.js\";\nimport { renderAllHeadContent } from \"./head.js\";\nimport { isRenderInstruction } from \"./instruction.js\";\nimport { isSlotString } from \"./slot.js\";\nconst Fragment = Symbol.for(\"astro:fragment\");\nconst Renderer = Symbol.for(\"astro:renderer\");\nconst encoder = new TextEncoder();\nconst decoder = new TextDecoder();\nfunction stringifyChunk(result, chunk) {\n if (isRenderInstruction(chunk)) {\n const instruction = chunk;\n switch (instruction.type) {\n case \"directive\": {\n const { hydration } = instruction;\n let needsHydrationScript = hydration && determineIfNeedsHydrationScript(result);\n let needsDirectiveScript = hydration && determinesIfNeedsDirectiveScript(result, hydration.directive);\n let prescriptType = needsHydrationScript ? \"both\" : needsDirectiveScript ? \"directive\" : null;\n if (prescriptType) {\n let prescripts = getPrescripts(result, prescriptType, hydration.directive);\n return markHTMLString(prescripts);\n } else {\n return \"\";\n }\n }\n case \"head\": {\n if (result._metadata.hasRenderedHead || result.partial) {\n return \"\";\n }\n return renderAllHeadContent(result);\n }\n case \"maybe-head\": {\n if (result._metadata.hasRenderedHead || result._metadata.headInTree || result.partial) {\n return \"\";\n }\n return renderAllHeadContent(result);\n }\n case \"renderer-hydration-script\": {\n const { rendererSpecificHydrationScripts } = result._metadata;\n const { rendererName } = instruction;\n if (!rendererSpecificHydrationScripts.has(rendererName)) {\n rendererSpecificHydrationScripts.add(rendererName);\n return instruction.render();\n }\n return \"\";\n }\n default: {\n throw new Error(`Unknown chunk type: ${chunk.type}`);\n }\n }\n } else if (chunk instanceof Response) {\n return \"\";\n } else if (isSlotString(chunk)) {\n let out = \"\";\n const c = chunk;\n if (c.instructions) {\n for (const instr of c.instructions) {\n out += stringifyChunk(result, instr);\n }\n }\n out += chunk.toString();\n return out;\n }\n return chunk.toString();\n}\nfunction chunkToString(result, chunk) {\n if (ArrayBuffer.isView(chunk)) {\n return decoder.decode(chunk);\n } else {\n return stringifyChunk(result, chunk);\n }\n}\nfunction chunkToByteArray(result, chunk) {\n if (ArrayBuffer.isView(chunk)) {\n return chunk;\n } else {\n const stringified = stringifyChunk(result, chunk);\n return encoder.encode(stringified.toString());\n }\n}\nfunction isRenderInstance(obj) {\n return !!obj && typeof obj === \"object\" && \"render\" in obj && typeof obj.render === \"function\";\n}\nexport {\n Fragment,\n Renderer,\n chunkToByteArray,\n chunkToString,\n decoder,\n encoder,\n isRenderInstance\n};\n","import { escapeHTML, isHTMLString, markHTMLString } from \"../escape.js\";\nimport { isPromise } from \"../util.js\";\nimport { isAstroComponentInstance, isRenderTemplateResult } from \"./astro/index.js\";\nimport { isRenderInstance } from \"./common.js\";\nimport { SlotString } from \"./slot.js\";\nimport { renderToBufferDestination } from \"./util.js\";\nasync function renderChild(destination, child) {\n if (isPromise(child)) {\n child = await child;\n }\n if (child instanceof SlotString) {\n destination.write(child);\n } else if (isHTMLString(child)) {\n destination.write(child);\n } else if (Array.isArray(child)) {\n const childRenders = child.map((c) => {\n return renderToBufferDestination((bufferDestination) => {\n return renderChild(bufferDestination, c);\n });\n });\n for (const childRender of childRenders) {\n if (!childRender) continue;\n await childRender.renderToFinalDestination(destination);\n }\n } else if (typeof child === \"function\") {\n await renderChild(destination, child());\n } else if (typeof child === \"string\") {\n destination.write(markHTMLString(escapeHTML(child)));\n } else if (!child && child !== 0) {\n } else if (isRenderInstance(child)) {\n await child.render(destination);\n } else if (isRenderTemplateResult(child)) {\n await child.render(destination);\n } else if (isAstroComponentInstance(child)) {\n await child.render(destination);\n } else if (ArrayBuffer.isView(child)) {\n destination.write(child);\n } else if (typeof child === \"object\" && (Symbol.asyncIterator in child || Symbol.iterator in child)) {\n for await (const value of child) {\n await renderChild(destination, value);\n }\n } else {\n destination.write(child);\n }\n}\nexport {\n renderChild\n};\n","import { isPromise } from \"../../util.js\";\nimport { renderChild } from \"../any.js\";\nimport { isAPropagatingComponent } from \"./factory.js\";\nimport { isHeadAndContent } from \"./head-and-content.js\";\nconst astroComponentInstanceSym = Symbol.for(\"astro.componentInstance\");\nclass AstroComponentInstance {\n [astroComponentInstanceSym] = true;\n result;\n props;\n slotValues;\n factory;\n returnValue;\n constructor(result, props, slots, factory) {\n this.result = result;\n this.props = props;\n this.factory = factory;\n this.slotValues = {};\n for (const name in slots) {\n let didRender = false;\n let value = slots[name](result);\n this.slotValues[name] = () => {\n if (!didRender) {\n didRender = true;\n return value;\n }\n return slots[name](result);\n };\n }\n }\n async init(result) {\n if (this.returnValue !== void 0) return this.returnValue;\n this.returnValue = this.factory(result, this.props, this.slotValues);\n if (isPromise(this.returnValue)) {\n this.returnValue.then((resolved) => {\n this.returnValue = resolved;\n }).catch(() => {\n });\n }\n return this.returnValue;\n }\n async render(destination) {\n const returnValue = await this.init(this.result);\n if (isHeadAndContent(returnValue)) {\n await returnValue.content.render(destination);\n } else {\n await renderChild(destination, returnValue);\n }\n }\n}\nfunction validateComponentProps(props, displayName) {\n if (props != null) {\n for (const prop of Object.keys(props)) {\n if (prop.startsWith(\"client:\")) {\n console.warn(\n `You are attempting to render <${displayName} ${prop} />, but ${displayName} is an Astro component. Astro components do not render in the client and should not have a hydration directive. Please use a framework component for client rendering.`\n );\n }\n }\n }\n}\nfunction createAstroComponentInstance(result, displayName, factory, props, slots = {}) {\n validateComponentProps(props, displayName);\n const instance = new AstroComponentInstance(result, props, slots, factory);\n if (isAPropagatingComponent(result, factory)) {\n result._metadata.propagators.add(instance);\n }\n return instance;\n}\nfunction isAstroComponentInstance(obj) {\n return typeof obj === \"object\" && !!obj[astroComponentInstanceSym];\n}\nexport {\n AstroComponentInstance,\n createAstroComponentInstance,\n isAstroComponentInstance\n};\n","import { markHTMLString } from \"../escape.js\";\nimport { renderSlotToString } from \"./slot.js\";\nimport { toAttributeString } from \"./util.js\";\nfunction componentIsHTMLElement(Component) {\n return typeof HTMLElement !== \"undefined\" && HTMLElement.isPrototypeOf(Component);\n}\nasync function renderHTMLElement(result, constructor, props, slots) {\n const name = getHTMLElementName(constructor);\n let attrHTML = \"\";\n for (const attr in props) {\n attrHTML += ` ${attr}=\"${toAttributeString(await props[attr])}\"`;\n }\n return markHTMLString(\n `<${name}${attrHTML}>${await renderSlotToString(result, slots?.default)}`\n );\n}\nfunction getHTMLElementName(constructor) {\n const definedName = customElements.getName(constructor);\n if (definedName) return definedName;\n const assignedName = constructor.name.replace(/^HTML|Element$/g, \"\").replace(/[A-Z]/g, \"-$&\").toLowerCase().replace(/^-/, \"html-\");\n return assignedName;\n}\nexport {\n componentIsHTMLElement,\n renderHTMLElement\n};\n","import { decodeBase64, decodeHex, encodeBase64, encodeHexUpperCase } from \"@oslojs/encoding\";\nconst ALGORITHM = \"AES-GCM\";\nasync function createKey() {\n const key = await crypto.subtle.generateKey(\n {\n name: ALGORITHM,\n length: 256\n },\n true,\n [\"encrypt\", \"decrypt\"]\n );\n return key;\n}\nasync function importKey(bytes) {\n const key = await crypto.subtle.importKey(\"raw\", bytes, ALGORITHM, true, [\"encrypt\", \"decrypt\"]);\n return key;\n}\nasync function encodeKey(key) {\n const exported = await crypto.subtle.exportKey(\"raw\", key);\n const encodedKey = encodeBase64(new Uint8Array(exported));\n return encodedKey;\n}\nasync function decodeKey(encoded) {\n const bytes = decodeBase64(encoded);\n return crypto.subtle.importKey(\"raw\", bytes, ALGORITHM, true, [\"encrypt\", \"decrypt\"]);\n}\nconst encoder = new TextEncoder();\nconst decoder = new TextDecoder();\nconst IV_LENGTH = 24;\nasync function encryptString(key, raw) {\n const iv = crypto.getRandomValues(new Uint8Array(IV_LENGTH / 2));\n const data = encoder.encode(raw);\n const buffer = await crypto.subtle.encrypt(\n {\n name: ALGORITHM,\n iv\n },\n key,\n data\n );\n return encodeHexUpperCase(iv) + encodeBase64(new Uint8Array(buffer));\n}\nasync function decryptString(key, encoded) {\n const iv = decodeHex(encoded.slice(0, IV_LENGTH));\n const dataArray = decodeBase64(encoded.slice(IV_LENGTH));\n const decryptedBuffer = await crypto.subtle.decrypt(\n {\n name: ALGORITHM,\n iv\n },\n key,\n dataArray\n );\n const decryptedString = decoder.decode(decryptedBuffer);\n return decryptedString;\n}\nexport {\n createKey,\n decodeKey,\n decryptString,\n encodeKey,\n encryptString,\n importKey\n};\n","import { encryptString } from \"../../../core/encryption.js\";\nimport { renderChild } from \"./any.js\";\nimport { renderSlotToString } from \"./slot.js\";\nconst internalProps = /* @__PURE__ */ new Set([\n \"server:component-path\",\n \"server:component-export\",\n \"server:component-directive\",\n \"server:defer\"\n]);\nfunction containsServerDirective(props) {\n return \"server:component-directive\" in props;\n}\nfunction safeJsonStringify(obj) {\n return JSON.stringify(obj).replace(/\\u2028/g, \"\\\\u2028\").replace(/\\u2029/g, \"\\\\u2029\").replace(//g, \"\\\\u003e\").replace(/\\//g, \"\\\\u002f\");\n}\nfunction renderServerIsland(result, _displayName, props, slots) {\n return {\n async render(destination) {\n const componentPath = props[\"server:component-path\"];\n const componentExport = props[\"server:component-export\"];\n const componentId = result.serverIslandNameMap.get(componentPath);\n if (!componentId) {\n throw new Error(`Could not find server component name`);\n }\n for (const key2 of Object.keys(props)) {\n if (internalProps.has(key2)) {\n delete props[key2];\n }\n }\n destination.write(\"\");\n const renderedSlots = {};\n for (const name in slots) {\n if (name !== \"fallback\") {\n const content = await renderSlotToString(result, slots[name]);\n renderedSlots[name] = content.toString();\n } else {\n await renderChild(destination, slots.fallback(result));\n }\n }\n const key = await result.key;\n const propsEncrypted = await encryptString(key, JSON.stringify(props));\n const hostId = crypto.randomUUID();\n const slash = result.base.endsWith(\"/\") ? \"\" : \"/\";\n const serverIslandUrl = `${result.base}${slash}_server-islands/${componentId}${result.trailingSlash === \"always\" ? \"/\" : \"\"}`;\n destination.write(``);\n }\n };\n}\nexport {\n containsServerDirective,\n renderServerIsland\n};\n","import { createRenderInstruction } from \"./instruction.js\";\nimport { clsx } from \"clsx\";\nimport { AstroError, AstroErrorData } from \"../../../core/errors/index.js\";\nimport { markHTMLString } from \"../escape.js\";\nimport { extractDirectives, generateHydrateScript } from \"../hydration.js\";\nimport { serializeProps } from \"../serialize.js\";\nimport { shorthash } from \"../shorthash.js\";\nimport { isPromise } from \"../util.js\";\nimport { isAstroComponentFactory } from \"./astro/factory.js\";\nimport { renderTemplate } from \"./astro/index.js\";\nimport { createAstroComponentInstance } from \"./astro/instance.js\";\nimport {\n Fragment,\n Renderer,\n chunkToString\n} from \"./common.js\";\nimport { componentIsHTMLElement, renderHTMLElement } from \"./dom.js\";\nimport { maybeRenderHead } from \"./head.js\";\nimport { containsServerDirective, renderServerIsland } from \"./server-islands.js\";\nimport { renderSlotToString, renderSlots } from \"./slot.js\";\nimport { formatList, internalSpreadAttributes, renderElement, voidElementNames } from \"./util.js\";\nconst needsHeadRenderingSymbol = Symbol.for(\"astro.needsHeadRendering\");\nconst rendererAliases = /* @__PURE__ */ new Map([[\"solid\", \"solid-js\"]]);\nconst clientOnlyValues = /* @__PURE__ */ new Set([\"solid-js\", \"react\", \"preact\", \"vue\", \"svelte\", \"lit\"]);\nfunction guessRenderers(componentUrl) {\n const extname = componentUrl?.split(\".\").pop();\n switch (extname) {\n case \"svelte\":\n return [\"@astrojs/svelte\"];\n case \"vue\":\n return [\"@astrojs/vue\"];\n case \"jsx\":\n case \"tsx\":\n return [\"@astrojs/react\", \"@astrojs/preact\", \"@astrojs/solid-js\", \"@astrojs/vue (jsx)\"];\n default:\n return [\n \"@astrojs/react\",\n \"@astrojs/preact\",\n \"@astrojs/solid-js\",\n \"@astrojs/vue\",\n \"@astrojs/svelte\",\n \"@astrojs/lit\"\n ];\n }\n}\nfunction isFragmentComponent(Component) {\n return Component === Fragment;\n}\nfunction isHTMLComponent(Component) {\n return Component && Component[\"astro:html\"] === true;\n}\nconst ASTRO_SLOT_EXP = /<\\/?astro-slot\\b[^>]*>/g;\nconst ASTRO_STATIC_SLOT_EXP = /<\\/?astro-static-slot\\b[^>]*>/g;\nfunction removeStaticAstroSlot(html, supportsAstroStaticSlot = true) {\n const exp = supportsAstroStaticSlot ? ASTRO_STATIC_SLOT_EXP : ASTRO_SLOT_EXP;\n return html.replace(exp, \"\");\n}\nasync function renderFrameworkComponent(result, displayName, Component, _props, slots = {}) {\n if (!Component && \"client:only\" in _props === false) {\n throw new Error(\n `Unable to render ${displayName} because it is ${Component}!\nDid you forget to import the component or is it possible there is a typo?`\n );\n }\n const { renderers, clientDirectives } = result;\n const metadata = {\n astroStaticSlot: true,\n displayName\n };\n const { hydration, isPage, props, propsWithoutTransitionAttributes } = extractDirectives(\n _props,\n clientDirectives\n );\n let html = \"\";\n let attrs = void 0;\n if (hydration) {\n metadata.hydrate = hydration.directive;\n metadata.hydrateArgs = hydration.value;\n metadata.componentExport = hydration.componentExport;\n metadata.componentUrl = hydration.componentUrl;\n }\n const probableRendererNames = guessRenderers(metadata.componentUrl);\n const validRenderers = renderers.filter((r) => r.name !== \"astro:jsx\");\n const { children, slotInstructions } = await renderSlots(result, slots);\n let renderer;\n if (metadata.hydrate !== \"only\") {\n let isTagged = false;\n try {\n isTagged = Component && Component[Renderer];\n } catch {\n }\n if (isTagged) {\n const rendererName = Component[Renderer];\n renderer = renderers.find(({ name }) => name === rendererName);\n }\n if (!renderer) {\n let error;\n for (const r of renderers) {\n try {\n if (await r.ssr.check.call({ result }, Component, props, children)) {\n renderer = r;\n break;\n }\n } catch (e) {\n error ??= e;\n }\n }\n if (!renderer && error) {\n throw error;\n }\n }\n if (!renderer && typeof HTMLElement === \"function\" && componentIsHTMLElement(Component)) {\n const output = await renderHTMLElement(\n result,\n Component,\n _props,\n slots\n );\n return {\n render(destination) {\n destination.write(output);\n }\n };\n }\n } else {\n if (metadata.hydrateArgs) {\n const rendererName = rendererAliases.has(metadata.hydrateArgs) ? rendererAliases.get(metadata.hydrateArgs) : metadata.hydrateArgs;\n if (clientOnlyValues.has(rendererName)) {\n renderer = renderers.find(\n ({ name }) => name === `@astrojs/${rendererName}` || name === rendererName\n );\n }\n }\n if (!renderer && validRenderers.length === 1) {\n renderer = validRenderers[0];\n }\n if (!renderer) {\n const extname = metadata.componentUrl?.split(\".\").pop();\n renderer = renderers.find(({ name }) => name === `@astrojs/${extname}` || name === extname);\n }\n }\n let componentServerRenderEndTime;\n if (!renderer) {\n if (metadata.hydrate === \"only\") {\n const rendererName = rendererAliases.has(metadata.hydrateArgs) ? rendererAliases.get(metadata.hydrateArgs) : metadata.hydrateArgs;\n if (clientOnlyValues.has(rendererName)) {\n const plural = validRenderers.length > 1;\n throw new AstroError({\n ...AstroErrorData.NoMatchingRenderer,\n message: AstroErrorData.NoMatchingRenderer.message(\n metadata.displayName,\n metadata?.componentUrl?.split(\".\").pop(),\n plural,\n validRenderers.length\n ),\n hint: AstroErrorData.NoMatchingRenderer.hint(\n formatList(probableRendererNames.map((r) => \"`\" + r + \"`\"))\n )\n });\n } else {\n throw new AstroError({\n ...AstroErrorData.NoClientOnlyHint,\n message: AstroErrorData.NoClientOnlyHint.message(metadata.displayName),\n hint: AstroErrorData.NoClientOnlyHint.hint(\n probableRendererNames.map((r) => r.replace(\"@astrojs/\", \"\")).join(\"|\")\n )\n });\n }\n } else if (typeof Component !== \"string\") {\n const matchingRenderers = validRenderers.filter(\n (r) => probableRendererNames.includes(r.name)\n );\n const plural = validRenderers.length > 1;\n if (matchingRenderers.length === 0) {\n throw new AstroError({\n ...AstroErrorData.NoMatchingRenderer,\n message: AstroErrorData.NoMatchingRenderer.message(\n metadata.displayName,\n metadata?.componentUrl?.split(\".\").pop(),\n plural,\n validRenderers.length\n ),\n hint: AstroErrorData.NoMatchingRenderer.hint(\n formatList(probableRendererNames.map((r) => \"`\" + r + \"`\"))\n )\n });\n } else if (matchingRenderers.length === 1) {\n renderer = matchingRenderers[0];\n ({ html, attrs } = await renderer.ssr.renderToStaticMarkup.call(\n { result },\n Component,\n propsWithoutTransitionAttributes,\n children,\n metadata\n ));\n } else {\n throw new Error(`Unable to render ${metadata.displayName}!\n\nThis component likely uses ${formatList(probableRendererNames)},\nbut Astro encountered an error during server-side rendering.\n\nPlease ensure that ${metadata.displayName}:\n1. Does not unconditionally access browser-specific globals like \\`window\\` or \\`document\\`.\n If this is unavoidable, use the \\`client:only\\` hydration directive.\n2. Does not conditionally return \\`null\\` or \\`undefined\\` when rendered on the server.\n\nIf you're still stuck, please open an issue on GitHub or join us at https://astro.build/chat.`);\n }\n }\n } else {\n if (metadata.hydrate === \"only\") {\n const rendererName = rendererAliases.has(metadata.hydrateArgs) ? rendererAliases.get(metadata.hydrateArgs) : metadata.hydrateArgs;\n if (!clientOnlyValues.has(rendererName)) {\n console.warn(\n `The client:only directive for ${metadata.displayName} is not recognized. The renderer ${renderer.name} will be used. If you intended to use a different renderer, please provide a valid client:only directive.`\n );\n }\n html = await renderSlotToString(result, slots?.fallback);\n } else {\n const componentRenderStartTime = performance.now();\n ({ html, attrs } = await renderer.ssr.renderToStaticMarkup.call(\n { result },\n Component,\n propsWithoutTransitionAttributes,\n children,\n metadata\n ));\n if (process.env.NODE_ENV === \"development\")\n componentServerRenderEndTime = performance.now() - componentRenderStartTime;\n }\n }\n if (renderer && !renderer.clientEntrypoint && renderer.name !== \"@astrojs/lit\" && metadata.hydrate) {\n throw new AstroError({\n ...AstroErrorData.NoClientEntrypoint,\n message: AstroErrorData.NoClientEntrypoint.message(\n displayName,\n metadata.hydrate,\n renderer.name\n )\n });\n }\n if (!html && typeof Component === \"string\") {\n const Tag = sanitizeElementName(Component);\n const childSlots = Object.values(children).join(\"\");\n const renderTemplateResult = renderTemplate`<${Tag}${internalSpreadAttributes(\n props\n )}${markHTMLString(\n childSlots === \"\" && voidElementNames.test(Tag) ? `/>` : `>${childSlots}`\n )}`;\n html = \"\";\n const destination = {\n write(chunk) {\n if (chunk instanceof Response) return;\n html += chunkToString(result, chunk);\n }\n };\n await renderTemplateResult.render(destination);\n }\n if (!hydration) {\n return {\n render(destination) {\n if (slotInstructions) {\n for (const instruction of slotInstructions) {\n destination.write(instruction);\n }\n }\n if (isPage || renderer?.name === \"astro:jsx\") {\n destination.write(html);\n } else if (html && html.length > 0) {\n destination.write(\n markHTMLString(removeStaticAstroSlot(html, renderer?.ssr?.supportsAstroStaticSlot))\n );\n }\n }\n };\n }\n const astroId = shorthash(\n `\n${html}\n${serializeProps(\n props,\n metadata\n )}`\n );\n const island = await generateHydrateScript(\n { renderer, result, astroId, props, attrs },\n metadata\n );\n if (componentServerRenderEndTime && process.env.NODE_ENV === \"development\")\n island.props[\"server-render-time\"] = componentServerRenderEndTime;\n let unrenderedSlots = [];\n if (html) {\n if (Object.keys(children).length > 0) {\n for (const key of Object.keys(children)) {\n let tagName = renderer?.ssr?.supportsAstroStaticSlot ? !!metadata.hydrate ? \"astro-slot\" : \"astro-static-slot\" : \"astro-slot\";\n let expectedHTML = key === \"default\" ? `<${tagName}>` : `<${tagName} name=\"${key}\">`;\n if (!html.includes(expectedHTML)) {\n unrenderedSlots.push(key);\n }\n }\n }\n } else {\n unrenderedSlots = Object.keys(children);\n }\n const template = unrenderedSlots.length > 0 ? unrenderedSlots.map(\n (key) => ``\n ).join(\"\") : \"\";\n island.children = `${html ?? \"\"}${template}`;\n if (island.children) {\n island.props[\"await-children\"] = \"\";\n island.children += ``;\n }\n return {\n render(destination) {\n if (slotInstructions) {\n for (const instruction of slotInstructions) {\n destination.write(instruction);\n }\n }\n destination.write(createRenderInstruction({ type: \"directive\", hydration }));\n if (hydration.directive !== \"only\" && renderer?.ssr.renderHydrationScript) {\n destination.write(\n createRenderInstruction({\n type: \"renderer-hydration-script\",\n rendererName: renderer.name,\n render: renderer.ssr.renderHydrationScript\n })\n );\n }\n const renderedElement = renderElement(\"astro-island\", island, false);\n destination.write(markHTMLString(renderedElement));\n }\n };\n}\nfunction sanitizeElementName(tag) {\n const unsafe = /[&<>'\"\\s]+/;\n if (!unsafe.test(tag)) return tag;\n return tag.trim().split(unsafe)[0].trim();\n}\nasync function renderFragmentComponent(result, slots = {}) {\n const children = await renderSlotToString(result, slots?.default);\n return {\n render(destination) {\n if (children == null) return;\n destination.write(children);\n }\n };\n}\nasync function renderHTMLComponent(result, Component, _props, slots = {}) {\n const { slotInstructions, children } = await renderSlots(result, slots);\n const html = Component({ slots: children });\n const hydrationHtml = slotInstructions ? slotInstructions.map((instr) => chunkToString(result, instr)).join(\"\") : \"\";\n return {\n render(destination) {\n destination.write(markHTMLString(hydrationHtml + html));\n }\n };\n}\nfunction renderAstroComponent(result, displayName, Component, props, slots = {}) {\n if (containsServerDirective(props)) {\n return renderServerIsland(result, displayName, props, slots);\n }\n const instance = createAstroComponentInstance(result, displayName, Component, props, slots);\n return {\n async render(destination) {\n await instance.render(destination);\n }\n };\n}\nasync function renderComponent(result, displayName, Component, props, slots = {}) {\n if (isPromise(Component)) {\n Component = await Component.catch(handleCancellation);\n }\n if (isFragmentComponent(Component)) {\n return await renderFragmentComponent(result, slots).catch(handleCancellation);\n }\n props = normalizeProps(props);\n if (isHTMLComponent(Component)) {\n return await renderHTMLComponent(result, Component, props, slots).catch(handleCancellation);\n }\n if (isAstroComponentFactory(Component)) {\n return renderAstroComponent(result, displayName, Component, props, slots);\n }\n return await renderFrameworkComponent(result, displayName, Component, props, slots).catch(\n handleCancellation\n );\n function handleCancellation(e) {\n if (result.cancelled)\n return {\n render() {\n }\n };\n throw e;\n }\n}\nfunction normalizeProps(props) {\n if (props[\"class:list\"] !== void 0) {\n const value = props[\"class:list\"];\n delete props[\"class:list\"];\n props[\"class\"] = clsx(props[\"class\"], value);\n if (props[\"class\"] === \"\") {\n delete props[\"class\"];\n }\n }\n return props;\n}\nasync function renderComponentToString(result, displayName, Component, props, slots = {}, isPage = false, route) {\n let str = \"\";\n let renderedFirstPageChunk = false;\n let head = \"\";\n if (isPage && !result.partial && nonAstroPageNeedsHeadInjection(Component)) {\n head += chunkToString(result, maybeRenderHead());\n }\n try {\n const destination = {\n write(chunk) {\n if (isPage && !result.partial && !renderedFirstPageChunk) {\n renderedFirstPageChunk = true;\n if (!/\" : \"\\n\";\n str += doctype + head;\n }\n }\n if (chunk instanceof Response) return;\n str += chunkToString(result, chunk);\n }\n };\n const renderInstance = await renderComponent(result, displayName, Component, props, slots);\n await renderInstance.render(destination);\n } catch (e) {\n if (AstroError.is(e) && !e.loc) {\n e.setLocation({\n file: route?.component\n });\n }\n throw e;\n }\n return str;\n}\nfunction nonAstroPageNeedsHeadInjection(pageComponent) {\n return !!pageComponent?.[needsHeadRenderingSymbol];\n}\nexport {\n renderComponent,\n renderComponentToString\n};\n","import { markHTMLString } from \"../escape.js\";\nasync function renderScript(result, id) {\n if (result._metadata.renderedScripts.has(id)) return;\n result._metadata.renderedScripts.add(id);\n const inlined = result.inlinedScripts.get(id);\n if (inlined != null) {\n if (inlined) {\n return markHTMLString(``);\n } else {\n return \"\";\n }\n }\n const resolved = await result.resolve(id);\n return markHTMLString(``);\n}\nexport {\n renderScript\n};\n","import cssesc from \"cssesc\";\nimport { fade, slide } from \"../../transitions/index.js\";\nimport { markHTMLString } from \"./escape.js\";\nconst transitionNameMap = /* @__PURE__ */ new WeakMap();\nfunction incrementTransitionNumber(result) {\n let num = 1;\n if (transitionNameMap.has(result)) {\n num = transitionNameMap.get(result) + 1;\n }\n transitionNameMap.set(result, num);\n return num;\n}\nfunction createTransitionScope(result, hash) {\n const num = incrementTransitionNumber(result);\n return `astro-${hash}-${num}`;\n}\nconst getAnimations = (name) => {\n if (name === \"fade\") return fade();\n if (name === \"slide\") return slide();\n if (typeof name === \"object\") return name;\n};\nconst addPairs = (animations, stylesheet) => {\n for (const [direction, images] of Object.entries(animations)) {\n for (const [image, rules] of Object.entries(images)) {\n stylesheet.addAnimationPair(direction, image, rules);\n }\n }\n};\nconst reEncodeValidChars = \"0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ-_\".split(\"\").reduce((v, c) => (v[c.charCodeAt(0)] = c, v), []);\nconst reEncodeInValidStart = \"-0123456789_\".split(\"\").reduce((v, c) => (v[c.charCodeAt(0)] = c, v), []);\nfunction reEncode(s) {\n let result = \"\";\n let codepoint;\n for (let i = 0; i < s.length; i += (codepoint ?? 0) > 65535 ? 2 : 1) {\n codepoint = s.codePointAt(i);\n if (codepoint !== void 0) {\n result += codepoint < 128 ? codepoint === 95 ? \"__\" : reEncodeValidChars[codepoint] ?? \"_\" + codepoint.toString(16).padStart(2, \"0\") : String.fromCodePoint(codepoint);\n }\n }\n return reEncodeInValidStart[result.codePointAt(0) ?? 0] ? \"_\" + result : result;\n}\nfunction renderTransition(result, hash, animationName, transitionName) {\n if (typeof (transitionName ?? \"\") !== \"string\") {\n throw new Error(`Invalid transition name {${transitionName}}`);\n }\n if (!animationName) animationName = \"fade\";\n const scope = createTransitionScope(result, hash);\n const name = transitionName ? cssesc(reEncode(transitionName), { isIdentifier: true }) : scope;\n const sheet = new ViewTransitionStyleSheet(scope, name);\n const animations = getAnimations(animationName);\n if (animations) {\n addPairs(animations, sheet);\n } else if (animationName === \"none\") {\n sheet.addFallback(\"old\", \"animation: none; mix-blend-mode: normal;\");\n sheet.addModern(\"old\", \"animation: none; opacity: 0; mix-blend-mode: normal;\");\n sheet.addAnimationRaw(\"new\", \"animation: none; mix-blend-mode: normal;\");\n sheet.addModern(\"group\", \"animation: none\");\n }\n result._metadata.extraHead.push(markHTMLString(``));\n return scope;\n}\nfunction createAnimationScope(transitionName, animations) {\n const hash = Math.random().toString(36).slice(2, 8);\n const scope = `astro-${hash}`;\n const sheet = new ViewTransitionStyleSheet(scope, transitionName);\n addPairs(animations, sheet);\n return { scope, styles: sheet.toString().replaceAll('\"', \"\") };\n}\nclass ViewTransitionStyleSheet {\n constructor(scope, name) {\n this.scope = scope;\n this.name = name;\n }\n modern = [];\n fallback = [];\n toString() {\n const { scope, name } = this;\n const [modern, fallback] = [this.modern, this.fallback].map((rules) => rules.join(\"\"));\n return [\n `[data-astro-transition-scope=\"${scope}\"] { view-transition-name: ${name}; }`,\n this.layer(modern),\n fallback\n ].join(\"\");\n }\n layer(cssText) {\n return cssText ? `@layer astro { ${cssText} }` : \"\";\n }\n addRule(target, cssText) {\n this[target].push(cssText);\n }\n addAnimationRaw(image, animation) {\n this.addModern(image, animation);\n this.addFallback(image, animation);\n }\n addModern(image, animation) {\n const { name } = this;\n this.addRule(\"modern\", `::view-transition-${image}(${name}) { ${animation} }`);\n }\n addFallback(image, animation) {\n const { scope } = this;\n this.addRule(\n \"fallback\",\n // Two selectors here, the second in case there is an animation on the root.\n `[data-astro-transition-fallback=\"${image}\"] [data-astro-transition-scope=\"${scope}\"],\n\t\t\t[data-astro-transition-fallback=\"${image}\"][data-astro-transition-scope=\"${scope}\"] { ${animation} }`\n );\n }\n addAnimationPair(direction, image, rules) {\n const { scope, name } = this;\n const animation = stringifyAnimation(rules);\n const prefix = direction === \"backwards\" ? `[data-astro-transition=back]` : direction === \"forwards\" ? \"\" : `[data-astro-transition=${direction}]`;\n this.addRule(\"modern\", `${prefix}::view-transition-${image}(${name}) { ${animation} }`);\n this.addRule(\n \"fallback\",\n `${prefix}[data-astro-transition-fallback=\"${image}\"] [data-astro-transition-scope=\"${scope}\"],\n\t\t\t${prefix}[data-astro-transition-fallback=\"${image}\"][data-astro-transition-scope=\"${scope}\"] { ${animation} }`\n );\n }\n}\nfunction addAnimationProperty(builder, prop, value) {\n let arr = builder[prop];\n if (Array.isArray(arr)) {\n arr.push(value.toString());\n } else {\n builder[prop] = [value.toString()];\n }\n}\nfunction animationBuilder() {\n return {\n toString() {\n let out = \"\";\n for (let k in this) {\n let value = this[k];\n if (Array.isArray(value)) {\n out += `\n\t${k}: ${value.join(\", \")};`;\n }\n }\n return out;\n }\n };\n}\nfunction stringifyAnimation(anim) {\n if (Array.isArray(anim)) {\n return stringifyAnimations(anim);\n } else {\n return stringifyAnimations([anim]);\n }\n}\nfunction stringifyAnimations(anims) {\n const builder = animationBuilder();\n for (const anim of anims) {\n if (anim.duration) {\n addAnimationProperty(builder, \"animation-duration\", toTimeValue(anim.duration));\n }\n if (anim.easing) {\n addAnimationProperty(builder, \"animation-timing-function\", anim.easing);\n }\n if (anim.direction) {\n addAnimationProperty(builder, \"animation-direction\", anim.direction);\n }\n if (anim.delay) {\n addAnimationProperty(builder, \"animation-delay\", anim.delay);\n }\n if (anim.fillMode) {\n addAnimationProperty(builder, \"animation-fill-mode\", anim.fillMode);\n }\n addAnimationProperty(builder, \"animation-name\", anim.name);\n }\n return builder.toString();\n}\nfunction toTimeValue(num) {\n return typeof num === \"number\" ? num + \"ms\" : num;\n}\nexport {\n createAnimationScope,\n createTransitionScope,\n renderTransition\n};\n","import { createComponent } from \"./astro-component.js\";\nimport { createAstro } from \"./astro-global.js\";\nimport { renderEndpoint } from \"./endpoint.js\";\nimport {\n escapeHTML,\n HTMLBytes,\n HTMLString,\n isHTMLString,\n markHTMLString,\n unescapeHTML\n} from \"./escape.js\";\nimport { renderJSX } from \"./jsx.js\";\nimport {\n addAttribute,\n createHeadAndContent,\n defineScriptVars,\n Fragment,\n maybeRenderHead,\n renderTemplate,\n renderComponent,\n Renderer,\n renderHead,\n renderHTMLElement,\n renderPage,\n renderScript,\n renderScriptElement,\n renderSlot,\n renderSlotToString,\n renderTemplate as renderTemplate2,\n renderToString,\n renderUniqueStylesheet,\n voidElementNames\n} from \"./render/index.js\";\nimport { createTransitionScope, renderTransition } from \"./transition.js\";\nimport { markHTMLString as markHTMLString2 } from \"./escape.js\";\nimport { Renderer as Renderer2, addAttribute as addAttribute2 } from \"./render/index.js\";\nfunction mergeSlots(...slotted) {\n const slots = {};\n for (const slot of slotted) {\n if (!slot) continue;\n if (typeof slot === \"object\") {\n Object.assign(slots, slot);\n } else if (typeof slot === \"function\") {\n Object.assign(slots, mergeSlots(slot()));\n }\n }\n return slots;\n}\nfunction __astro_tag_component__(Component, rendererName) {\n if (!Component) return;\n if (typeof Component !== \"function\") return;\n Object.defineProperty(Component, Renderer2, {\n value: rendererName,\n enumerable: false,\n writable: false\n });\n}\nfunction spreadAttributes(values = {}, _name, { class: scopedClassName } = {}) {\n let output = \"\";\n if (scopedClassName) {\n if (typeof values.class !== \"undefined\") {\n values.class += ` ${scopedClassName}`;\n } else if (typeof values[\"class:list\"] !== \"undefined\") {\n values[\"class:list\"] = [values[\"class:list\"], scopedClassName];\n } else {\n values.class = scopedClassName;\n }\n }\n for (const [key, value] of Object.entries(values)) {\n output += addAttribute2(value, key, true);\n }\n return markHTMLString2(output);\n}\nfunction defineStyleVars(defs) {\n let output = \"\";\n let arr = !Array.isArray(defs) ? [defs] : defs;\n for (const vars of arr) {\n for (const [key, value] of Object.entries(vars)) {\n if (value || value === 0) {\n output += `--${key}: ${value};`;\n }\n }\n }\n return markHTMLString2(output);\n}\nexport {\n Fragment,\n HTMLBytes,\n HTMLString,\n Renderer,\n __astro_tag_component__,\n addAttribute,\n createAstro,\n createComponent,\n createHeadAndContent,\n createTransitionScope,\n defineScriptVars,\n defineStyleVars,\n escapeHTML,\n isHTMLString,\n markHTMLString,\n maybeRenderHead,\n mergeSlots,\n renderTemplate as render,\n renderComponent,\n renderEndpoint,\n renderHTMLElement,\n renderHead,\n renderJSX,\n renderPage,\n renderScript,\n renderScriptElement,\n renderSlot,\n renderSlotToString,\n renderTemplate2 as renderTemplate,\n renderToString,\n renderTransition,\n renderUniqueStylesheet,\n spreadAttributes,\n unescapeHTML,\n voidElementNames\n};\n"],"names":["AstroErrorData.InvalidComponentArgs","AstroErrorData.AstroGlobUsedOutside","AstroErrorData.AstroGlobNoMatch","AstroErrorData.MissingMediaQueryDirective","AstroErrorData.NoMatchingImport","islandScriptDev","islandScript","AstroErrorData.NoMatchingRenderer","AstroErrorData.NoClientOnlyHint","AstroErrorData.NoClientEntrypoint","addAttribute2","markHTMLString2"],"mappings":";;;;;;AAiCA,MAAM,0BAA0B,GAAG;AACnC,EAAE,IAAI,EAAE,4BAA4B;AACpC,EAAE,KAAK,EAAE,6CAA6C;AACtD,EAAE,OAAO,EAAE,sIAAsI;AACjJ,CAAC,CAAC;AACF,MAAM,kBAAkB,GAAG;AAC3B,EAAE,IAAI,EAAE,oBAAoB;AAC5B,EAAE,KAAK,EAAE,6BAA6B;AACtC,EAAE,OAAO,EAAE,CAAC,aAAa,EAAE,kBAAkB,EAAE,MAAM,EAAE,mBAAmB,KAAK,CAAC,mBAAmB,EAAE,aAAa,CAAC;AACnH;AACA,EAAE,mBAAmB,GAAG,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,GAAG,KAAK,GAAG,IAAI,CAAC,CAAC,EAAE,mBAAmB,CAAC,SAAS,EAAE,MAAM,GAAG,GAAG,GAAG,EAAE,CAAC;AAC/G,IAAI,EAAE,MAAM,GAAG,WAAW,GAAG,YAAY,CAAC,8BAA8B,EAAE,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,4BAA4B,EAAE,kBAAkB,GAAG,CAAC,WAAW,EAAE,kBAAkB,CAAC,kBAAkB,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC,CAAC,CAAC,CAAC;AACxO,EAAE,IAAI,EAAE,CAAC,iBAAiB,KAAK,CAAC,2BAA2B,EAAE,iBAAiB,CAAC;AAC/E;AACA,+HAA+H,CAAC;AAChI,CAAC,CAAC;AACF,MAAM,kBAAkB,GAAG;AAC3B,EAAE,IAAI,EAAE,oBAAoB;AAC5B,EAAE,KAAK,EAAE,6CAA6C;AACtD,EAAE,OAAO,EAAE,CAAC,aAAa,EAAE,eAAe,EAAE,YAAY,KAAK,CAAC,EAAE,EAAE,aAAa,CAAC,4BAA4B,EAAE,eAAe,CAAC,yDAAyD,EAAE,YAAY,CAAC,GAAG,CAAC;AAC1M,EAAE,IAAI,EAAE,8IAA8I;AACtJ,CAAC,CAAC;AACF,MAAM,gBAAgB,GAAG;AACzB,EAAE,IAAI,EAAE,kBAAkB;AAC1B,EAAE,KAAK,EAAE,wCAAwC;AACjD,EAAE,OAAO,EAAE,CAAC,aAAa,KAAK,CAAC,mBAAmB,EAAE,aAAa,CAAC,sGAAsG,CAAC;AACzK,EAAE,IAAI,EAAE,CAAC,iBAAiB,KAAK,CAAC,oCAAoC,EAAE,iBAAiB,CAAC,mHAAmH,CAAC;AAC5M,CAAC,CAAC;AAmDF,MAAM,gBAAgB,GAAG;AACzB,EAAE,IAAI,EAAE,kBAAkB;AAC1B,EAAE,KAAK,EAAE,gCAAgC;AACzC,EAAE,OAAO,EAAE,CAAC,aAAa,KAAK,CAAC,mBAAmB,EAAE,aAAa,CAAC,4CAA4C,EAAE,aAAa,CAAC,GAAG,CAAC;AAClI,EAAE,IAAI,EAAE,sDAAsD;AAC9D,CAAC,CAAC;AAgBF,MAAM,oBAAoB,GAAG;AAC7B,EAAE,IAAI,EAAE,sBAAsB;AAC9B,EAAE,KAAK,EAAE,8BAA8B;AACvC,EAAE,OAAO,EAAE,CAAC,IAAI,KAAK,CAAC,2BAA2B,EAAE,IAAI,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,WAAW,CAAC;AACxF,EAAE,IAAI,EAAE,oHAAoH;AAC5H,CAAC,CAAC;AAuIF,MAAM,oBAAoB,GAAG;AAC7B,EAAE,IAAI,EAAE,sBAAsB;AAC9B,EAAE,KAAK,EAAE,6CAA6C;AACtD,EAAE,OAAO,EAAE,CAAC,OAAO,KAAK,CAAC,aAAa,EAAE,OAAO,CAAC,6DAA6D,EAAE,OAAO,CAAC,oDAAoD,CAAC;AAC5K,EAAE,IAAI,EAAE,yHAAyH;AACjI,CAAC,CAAC;AACF,MAAM,gBAAgB,GAAG;AACzB,EAAE,IAAI,EAAE,kBAAkB;AAC1B,EAAE,KAAK,EAAE,uCAAuC;AAChD,EAAE,OAAO,EAAE,CAAC,OAAO,KAAK,CAAC,aAAa,EAAE,OAAO,CAAC,sCAAsC,CAAC;AACvF,EAAE,IAAI,EAAE,8BAA8B;AACtC,CAAC;;ACvND,SAAS,WAAW,CAAC,IAAI,EAAE;AAC3B,EAAE,OAAO,IAAI,CAAC,OAAO,CAAC,mBAAmB,EAAE,IAAI,CAAC,CAAC;AACjD;;ACrEA,SAAS,SAAS,CAAC,GAAG,EAAE,GAAG,EAAE;AAC7B,EAAE,IAAI,CAAC,GAAG,IAAI,GAAG,CAAC,IAAI,KAAK,KAAK,CAAC,IAAI,GAAG,CAAC,MAAM,KAAK,KAAK,CAAC,EAAE;AAC5D,IAAI,OAAO,EAAE,CAAC;AACd,GAAG;AACH,EAAE,MAAM,KAAK,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC;AAClF,EAAE,MAAM,YAAY,GAAG,EAAE,CAAC;AAC1B,EAAE,KAAK,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE;AAChC,IAAI,IAAI,KAAK,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,CAAC,EAAE,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC;AAC7D,GAAG;AACH,EAAE,IAAI,WAAW,GAAG,CAAC,CAAC;AACtB,EAAE,KAAK,MAAM,MAAM,IAAI,YAAY,EAAE;AACrC,IAAI,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC,CAAC;AAC1B,IAAI,IAAI,CAAC,CAAC,MAAM,GAAG,WAAW,EAAE,WAAW,GAAG,CAAC,CAAC,MAAM,CAAC;AACvD,GAAG;AACH,EAAE,IAAI,MAAM,GAAG,EAAE,CAAC;AAClB,EAAE,KAAK,MAAM,MAAM,IAAI,YAAY,EAAE;AACrC,IAAI,MAAM,aAAa,GAAG,MAAM,KAAK,GAAG,CAAC,IAAI,GAAG,CAAC,CAAC;AAClD,IAAI,MAAM,IAAI,aAAa,GAAG,IAAI,GAAG,IAAI,CAAC;AAC1C,IAAI,MAAM,IAAI,CAAC,EAAE,MAAM,GAAG,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;AAC/C,CAAC,CAAC;AACF,IAAI,IAAI,aAAa;AACrB,MAAM,MAAM,IAAI,CAAC,EAAE,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC;AAClF,QAAQ,MAAM,EAAE,GAAG,CAAC,MAAM;AAC1B,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACnB,CAAC,CAAC;AACF,GAAG;AACH,EAAE,OAAO,MAAM,CAAC;AAChB;;ACxBA,MAAM,UAAU,SAAS,KAAK,CAAC;AAC/B,EAAE,GAAG,CAAC;AACN,EAAE,KAAK,CAAC;AACR,EAAE,IAAI,CAAC;AACP,EAAE,KAAK,CAAC;AACR,EAAE,IAAI,GAAG,YAAY,CAAC;AACtB,EAAE,WAAW,CAAC,KAAK,EAAE,OAAO,EAAE;AAC9B,IAAI,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,KAAK,CAAC;AACzE,IAAI,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;AAC5B,IAAI,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;AACvB,IAAI,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;AACrB,IAAI,IAAI,OAAO,EAAE,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;AACxC,IAAI,IAAI,CAAC,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;AAC5C,IAAI,IAAI,CAAC,GAAG,GAAG,QAAQ,CAAC;AACxB,IAAI,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;AACrB,IAAI,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;AACvB,GAAG;AACH,EAAE,WAAW,CAAC,QAAQ,EAAE;AACxB,IAAI,IAAI,CAAC,GAAG,GAAG,QAAQ,CAAC;AACxB,GAAG;AACH,EAAE,OAAO,CAAC,IAAI,EAAE;AAChB,IAAI,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;AACrB,GAAG;AACH,EAAE,UAAU,CAAC,OAAO,EAAE;AACtB,IAAI,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;AAC3B,GAAG;AACH,EAAE,OAAO,CAAC,IAAI,EAAE;AAChB,IAAI,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;AACrB,GAAG;AACH,EAAE,QAAQ,CAAC,MAAM,EAAE,QAAQ,EAAE;AAC7B,IAAI,IAAI,CAAC,KAAK,GAAG,SAAS,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;AAC7C,GAAG;AACH,EAAE,OAAO,EAAE,CAAC,GAAG,EAAE;AACjB,IAAI,OAAO,GAAG,CAAC,IAAI,KAAK,YAAY,CAAC;AACrC,GAAG;AACH;;ACtCA,SAAS,YAAY,CAAC,IAAI,EAAE;AAC5B,EAAE,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,OAAO,KAAK,CAAC;AACtC,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,OAAO,IAAI,CAAC,CAAC,CAAC,KAAK,QAAQ,EAAE,OAAO,KAAK,CAAC;AAC5D,EAAE,OAAO,IAAI,CAAC;AACd,CAAC;AACD,SAAS,mBAAmB,CAAC,EAAE,EAAE,QAAQ,EAAE,WAAW,EAAE;AACxD,EAAE,MAAM,IAAI,GAAG,QAAQ,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,IAAI,EAAE,CAAC;AACvE,EAAE,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI,KAAK;AAC1B,IAAI,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE;AAC7B,MAAM,MAAM,IAAI,UAAU,CAAC;AAC3B,QAAQ,GAAGA,oBAAmC;AAC9C,QAAQ,OAAO,EAAEA,oBAAmC,CAAC,OAAO,CAAC,IAAI,CAAC;AAClE,OAAO,CAAC,CAAC;AACT,KAAK;AACL,IAAI,OAAO,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC;AACvB,GAAG,CAAC;AACJ,EAAE,MAAM,CAAC,cAAc,CAAC,EAAE,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC;AACtE,EAAE,EAAE,CAAC,uBAAuB,GAAG,IAAI,CAAC;AACpC,EAAE,EAAE,CAAC,QAAQ,GAAG,QAAQ,CAAC;AACzB,EAAE,EAAE,CAAC,WAAW,GAAG,WAAW,CAAC;AAC/B,EAAE,OAAO,EAAE,CAAC;AACZ,CAAC;AACD,SAAS,0BAA0B,CAAC,IAAI,EAAE;AAC1C,EAAE,MAAM,EAAE,GAAG,mBAAmB,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;AAChF,EAAE,OAAO,EAAE,CAAC;AACZ,CAAC;AACD,SAAS,eAAe,CAAC,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE;AACtD,EAAE,IAAI,OAAO,IAAI,KAAK,UAAU,EAAE;AAClC,IAAI,OAAO,mBAAmB,CAAC,IAAI,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAC;AAC5D,GAAG,MAAM;AACT,IAAI,OAAO,0BAA0B,CAAC,IAAI,CAAC,CAAC;AAC5C,GAAG;AACH;;ACjCA,MAAM,aAAa,GAAG,QAAQ;;ACE9B,SAAS,iBAAiB,GAAG;AAC7B,EAAE,MAAM,WAAW,GAAG,CAAC,oBAAoB,KAAK;AAChD,IAAI,IAAI,OAAO,oBAAoB,KAAK,QAAQ,EAAE;AAClD,MAAM,MAAM,IAAI,UAAU,CAAC;AAC3B,QAAQ,GAAGC,oBAAmC;AAC9C,QAAQ,OAAO,EAAEA,oBAAmC,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,oBAAoB,CAAC,CAAC;AAClG,OAAO,CAAC,CAAC;AACT,KAAK;AACL,IAAI,IAAI,UAAU,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,oBAAoB,CAAC,CAAC,CAAC;AAC9D,IAAI,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE;AACjC,MAAM,MAAM,IAAI,UAAU,CAAC;AAC3B,QAAQ,GAAGC,gBAA+B;AAC1C,QAAQ,OAAO,EAAEA,gBAA+B,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,oBAAoB,CAAC,CAAC;AAC9F,OAAO,CAAC,CAAC;AACT,KAAK;AACL,IAAI,OAAO,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC;AACrD,GAAG,CAAC;AACJ,EAAE,OAAO,WAAW,CAAC;AACrB,CAAC;AACD,SAAS,WAAW,CAAC,IAAI,EAAE;AAC3B,EAAE,OAAO;AACT;AACA;AACA,IAAI,IAAI,EAAyB,KAAK,CAAC;AACvC,IAAI,SAAS,EAAE,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC;AACxC,IAAI,IAAI,EAAE,iBAAiB,EAAE;AAC7B,GAAG,CAAC;AACJ;;AC7BA,SAAS,SAAS,CAAC,KAAK,EAAE;AAC1B,EAAE,OAAO,CAAC,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,MAAM,IAAI,KAAK,IAAI,OAAO,KAAK,CAAC,IAAI,KAAK,UAAU,CAAC;AACrG,CAAC;AACD,gBAAgB,mBAAmB,CAAC,MAAM,EAAE;AAC5C,EAAE,MAAM,MAAM,GAAG,MAAM,CAAC,SAAS,EAAE,CAAC;AACpC,EAAE,IAAI;AACN,IAAI,OAAO,IAAI,EAAE;AACjB,MAAM,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC;AAClD,MAAM,IAAI,IAAI,EAAE,OAAO;AACvB,MAAM,MAAM,KAAK,CAAC;AAClB,KAAK;AACL,GAAG,SAAS;AACZ,IAAI,MAAM,CAAC,WAAW,EAAE,CAAC;AACzB,GAAG;AACH;;ACZA,MAAM,UAAU,GAAG,MAAM,CAAC;AAC1B,MAAM,SAAS,SAAS,UAAU,CAAC;AACnC,CAAC;AACD,MAAM,CAAC,cAAc,CAAC,SAAS,CAAC,SAAS,EAAE,MAAM,CAAC,WAAW,EAAE;AAC/D,EAAE,GAAG,GAAG;AACR,IAAI,OAAO,WAAW,CAAC;AACvB,GAAG;AACH,CAAC,CAAC,CAAC;AACH,MAAM,UAAU,SAAS,MAAM,CAAC;AAChC,EAAE,KAAK,MAAM,CAAC,WAAW,CAAC,GAAG;AAC7B,IAAI,OAAO,YAAY,CAAC;AACxB,GAAG;AACH,CAAC;AACD,MAAM,cAAc,GAAG,CAAC,KAAK,KAAK;AAClC,EAAE,IAAI,KAAK,YAAY,UAAU,EAAE;AACnC,IAAI,OAAO,KAAK,CAAC;AACjB,GAAG;AACH,EAAE,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;AACjC,IAAI,OAAO,IAAI,UAAU,CAAC,KAAK,CAAC,CAAC;AACjC,GAAG;AACH,EAAE,OAAO,KAAK,CAAC;AACf,CAAC,CAAC;AACF,SAAS,YAAY,CAAC,KAAK,EAAE;AAC7B,EAAE,OAAO,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,qBAAqB,CAAC;AACzE,CAAC;AACD,SAAS,aAAa,CAAC,KAAK,EAAE;AAC9B,EAAE,OAAO,IAAI,SAAS,CAAC,KAAK,CAAC,CAAC;AAC9B,CAAC;AAID,SAAS,YAAY,CAAC,GAAG,EAAE;AAC3B,EAAE,OAAO,OAAO,GAAG,CAAC,SAAS,KAAK,UAAU,CAAC;AAC7C,CAAC;AACD,gBAAgB,mBAAmB,CAAC,QAAQ,EAAE;AAC9C,EAAE,IAAI,YAAY,CAAC,QAAQ,CAAC,EAAE;AAC9B,IAAI,WAAW,MAAM,KAAK,IAAI,mBAAmB,CAAC,QAAQ,CAAC,EAAE;AAC7D,MAAM,MAAM,YAAY,CAAC,KAAK,CAAC,CAAC;AAChC,KAAK;AACL,GAAG,MAAM;AACT,IAAI,WAAW,MAAM,KAAK,IAAI,QAAQ,EAAE;AACxC,MAAM,MAAM,YAAY,CAAC,KAAK,CAAC,CAAC;AAChC,KAAK;AACL,GAAG;AACH,CAAC;AACD,UAAU,cAAc,CAAC,QAAQ,EAAE;AACnC,EAAE,KAAK,MAAM,KAAK,IAAI,QAAQ,EAAE;AAChC,IAAI,MAAM,YAAY,CAAC,KAAK,CAAC,CAAC;AAC9B,GAAG;AACH,CAAC;AACD,SAAS,YAAY,CAAC,GAAG,EAAE;AAC3B,EAAE,IAAI,CAAC,CAAC,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE;AACxC,IAAI,IAAI,GAAG,YAAY,UAAU,EAAE;AACnC,MAAM,OAAO,aAAa,CAAC,GAAG,CAAC,CAAC;AAChC,KAAK,MAAM,IAAI,GAAG,YAAY,QAAQ,IAAI,GAAG,CAAC,IAAI,EAAE;AACpD,MAAM,MAAM,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC;AAC5B,MAAM,OAAO,mBAAmB,CAAC,IAAI,CAAC,CAAC;AACvC,KAAK,MAAM,IAAI,OAAO,GAAG,CAAC,IAAI,KAAK,UAAU,EAAE;AAC/C,MAAM,OAAO,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,KAAK;AAClD,QAAQ,OAAO,YAAY,CAAC,KAAK,CAAC,CAAC;AACnC,OAAO,CAAC,CAAC;AACT,KAAK,MAAM,IAAI,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC,EAAE;AACrD,MAAM,OAAO,GAAG,CAAC;AACjB,KAAK,MAAM,IAAI,MAAM,CAAC,QAAQ,IAAI,GAAG,EAAE;AACvC,MAAM,OAAO,cAAc,CAAC,GAAG,CAAC,CAAC;AACjC,KAAK,MAAM,IAAI,MAAM,CAAC,aAAa,IAAI,GAAG,IAAI,YAAY,CAAC,GAAG,CAAC,EAAE;AACjE,MAAM,OAAO,mBAAmB,CAAC,GAAG,CAAC,CAAC;AACtC,KAAK;AACL,GAAG;AACH,EAAE,OAAO,cAAc,CAAC,GAAG,CAAC,CAAC;AAC7B;;ACxEA,MAAM,uBAAuB,GAAG,MAAM,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;AAC3D,SAAS,uBAAuB,CAAC,WAAW,EAAE;AAC9C,EAAE,OAAO,MAAM,CAAC,cAAc,CAAC,WAAW,EAAE,uBAAuB,EAAE;AACrE,IAAI,KAAK,EAAE,IAAI;AACf,GAAG,CAAC,CAAC;AACL,CAAC;AACD,SAAS,mBAAmB,CAAC,KAAK,EAAE;AACpC,EAAE,OAAO,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAC;AAC9E;;ACRA,MAAM,SAAS,GAAG;AAClB,EAAE,KAAK,EAAE,CAAC;AACV,EAAE,IAAI,EAAE,CAAC;AACT;AACA,EAAE,MAAM,EAAE,CAAC;AACX,EAAE,IAAI,EAAE,CAAC;AACT,EAAE,GAAG,EAAE,CAAC;AACR,EAAE,GAAG,EAAE,CAAC;AACR,EAAE,MAAM,EAAE,CAAC;AACX,EAAE,GAAG,EAAE,CAAC;AACR,EAAE,UAAU,EAAE,CAAC;AACf,EAAE,WAAW,EAAE,CAAC;AAChB,EAAE,WAAW,EAAE,EAAE;AACjB,CAAC,CAAC;AACF,SAAS,cAAc,CAAC,KAAK,EAAE,QAAQ,GAAG,EAAE,EAAE,OAAO,mBAAmB,IAAI,OAAO,EAAE,EAAE;AACvF,EAAE,IAAI,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE;AAC1B,IAAI,MAAM,IAAI,KAAK,CAAC,CAAC,uDAAuD,EAAE,QAAQ,CAAC,WAAW,CAAC,QAAQ,EAAE,QAAQ,CAAC,OAAO,CAAC;AAC9H;AACA,wGAAwG,CAAC,CAAC,CAAC;AAC3G,GAAG;AACH,EAAE,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;AACrB,EAAE,MAAM,UAAU,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK;AACtC,IAAI,OAAO,uBAAuB,CAAC,CAAC,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;AACzD,GAAG,CAAC,CAAC;AACL,EAAE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AACxB,EAAE,OAAO,UAAU,CAAC;AACpB,CAAC;AACD,SAAS,eAAe,CAAC,KAAK,EAAE,QAAQ,GAAG,EAAE,EAAE,OAAO,mBAAmB,IAAI,OAAO,EAAE,EAAE;AACxF,EAAE,IAAI,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE;AAC1B,IAAI,MAAM,IAAI,KAAK,CAAC,CAAC,uDAAuD,EAAE,QAAQ,CAAC,WAAW,CAAC,QAAQ,EAAE,QAAQ,CAAC,OAAO,CAAC;AAC9H;AACA,wGAAwG,CAAC,CAAC,CAAC;AAC3G,GAAG;AACH,EAAE,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;AACrB,EAAE,MAAM,UAAU,GAAG,MAAM,CAAC,WAAW;AACvC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK;AAC1C,MAAM,OAAO,CAAC,CAAC,EAAE,uBAAuB,CAAC,CAAC,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC;AAChE,KAAK,CAAC;AACN,GAAG,CAAC;AACJ,EAAE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AACxB,EAAE,OAAO,UAAU,CAAC;AACpB,CAAC;AACD,SAAS,uBAAuB,CAAC,KAAK,EAAE,QAAQ,GAAG,EAAE,EAAE,OAAO,mBAAmB,IAAI,OAAO,EAAE,EAAE;AAChG,EAAE,MAAM,GAAG,GAAG,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AACpD,EAAE,QAAQ,GAAG;AACb,IAAI,KAAK,eAAe,EAAE;AAC1B,MAAM,OAAO,CAAC,SAAS,CAAC,IAAI,EAAE,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC;AACnD,KAAK;AACL,IAAI,KAAK,iBAAiB,EAAE;AAC5B,MAAM,OAAO,CAAC,SAAS,CAAC,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;AAC9C,KAAK;AACL,IAAI,KAAK,cAAc,EAAE;AACzB,MAAM,OAAO,CAAC,SAAS,CAAC,GAAG,EAAE,cAAc,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC;AACnF,KAAK;AACL,IAAI,KAAK,cAAc,EAAE;AACzB,MAAM,OAAO,CAAC,SAAS,CAAC,GAAG,EAAE,cAAc,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC;AACnF,KAAK;AACL,IAAI,KAAK,iBAAiB,EAAE;AAC5B,MAAM,OAAO,CAAC,SAAS,CAAC,MAAM,EAAE,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;AAClD,KAAK;AACL,IAAI,KAAK,cAAc,EAAE;AACzB,MAAM,OAAO,CAAC,SAAS,CAAC,GAAG,EAAE,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;AAC/C,KAAK;AACL,IAAI,KAAK,gBAAgB,EAAE;AAC3B,MAAM,OAAO,CAAC,SAAS,CAAC,IAAI,EAAE,cAAc,CAAC,KAAK,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC;AACxE,KAAK;AACL,IAAI,KAAK,qBAAqB,EAAE;AAChC,MAAM,OAAO,CAAC,SAAS,CAAC,UAAU,EAAE,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;AACvD,KAAK;AACL,IAAI,KAAK,sBAAsB,EAAE;AACjC,MAAM,OAAO,CAAC,SAAS,CAAC,WAAW,EAAE,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;AACxD,KAAK;AACL,IAAI,KAAK,sBAAsB,EAAE;AACjC,MAAM,OAAO,CAAC,SAAS,CAAC,WAAW,EAAE,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;AACxD,KAAK;AACL,IAAI,SAAS;AACb,MAAM,IAAI,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;AACvD,QAAQ,OAAO,CAAC,SAAS,CAAC,KAAK,EAAE,eAAe,CAAC,KAAK,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC;AAC5E,OAAO,MAAM,IAAI,KAAK,KAAK,KAAK,CAAC,EAAE;AACnC,QAAQ,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;AACjC,OAAO,MAAM;AACb,QAAQ,OAAO,CAAC,SAAS,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;AACxC,OAAO;AACP,KAAK;AACL,GAAG;AACH,CAAC;AACD,SAAS,cAAc,CAAC,KAAK,EAAE,QAAQ,EAAE;AACzC,EAAE,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC;AACtE,EAAE,OAAO,UAAU,CAAC;AACpB;;ACtFA,MAAM,kCAAkC,GAAG,MAAM,CAAC,MAAM,CAAC;AACzD,EAAE,6BAA6B;AAC/B,EAAE,+BAA+B;AACjC,EAAE,qCAAqC;AACvC,CAAC,CAAC,CAAC;AACH,SAAS,iBAAiB,CAAC,UAAU,EAAE,gBAAgB,EAAE;AACzD,EAAE,IAAI,SAAS,GAAG;AAClB,IAAI,MAAM,EAAE,KAAK;AACjB,IAAI,SAAS,EAAE,IAAI;AACnB,IAAI,KAAK,EAAE,EAAE;AACb,IAAI,gCAAgC,EAAE,EAAE;AACxC,GAAG,CAAC;AACJ,EAAE,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE;AACzD,IAAI,IAAI,GAAG,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE;AACnC,MAAM,IAAI,GAAG,KAAK,aAAa,EAAE;AACjC,QAAQ,SAAS,CAAC,MAAM,GAAG,IAAI,CAAC;AAChC,OAAO;AACP,KAAK;AACL,IAAI,IAAI,GAAG,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE;AACnC,MAAM,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE;AAChC,QAAQ,SAAS,CAAC,SAAS,GAAG;AAC9B,UAAU,SAAS,EAAE,EAAE;AACvB,UAAU,KAAK,EAAE,EAAE;AACnB,UAAU,YAAY,EAAE,EAAE;AAC1B,UAAU,eAAe,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE;AACxC,SAAS,CAAC;AACV,OAAO;AACP,MAAM,QAAQ,GAAG;AACjB,QAAQ,KAAK,uBAAuB,EAAE;AACtC,UAAU,SAAS,CAAC,SAAS,CAAC,YAAY,GAAG,KAAK,CAAC;AACnD,UAAU,MAAM;AAChB,SAAS;AACT,QAAQ,KAAK,yBAAyB,EAAE;AACxC,UAAU,SAAS,CAAC,SAAS,CAAC,eAAe,CAAC,KAAK,GAAG,KAAK,CAAC;AAC5D,UAAU,MAAM;AAChB,SAAS;AACT,QAAQ,KAAK,4BAA4B,EAAE;AAC3C,UAAU,MAAM;AAChB,SAAS;AACT,QAAQ,KAAK,qBAAqB,EAAE;AACpC,UAAU,MAAM;AAChB,SAAS;AACT,QAAQ,SAAS;AACjB,UAAU,SAAS,CAAC,SAAS,CAAC,SAAS,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;AAC5D,UAAU,SAAS,CAAC,SAAS,CAAC,KAAK,GAAG,KAAK,CAAC;AAC5C,UAAU,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,SAAS,CAAC,SAAS,CAAC,SAAS,CAAC,EAAE;AACpE,YAAY,MAAM,gBAAgB,GAAG,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC9G,YAAY,MAAM,IAAI,KAAK;AAC3B,cAAc,CAAC,oCAAoC,EAAE,GAAG,CAAC,gCAAgC,EAAE,gBAAgB,CAAC,CAAC;AAC7G,aAAa,CAAC;AACd,WAAW;AACX,UAAU,IAAI,SAAS,CAAC,SAAS,CAAC,SAAS,KAAK,OAAO,IAAI,OAAO,SAAS,CAAC,SAAS,CAAC,KAAK,KAAK,QAAQ,EAAE;AAC1G,YAAY,MAAM,IAAI,UAAU,CAACC,0BAAyC,CAAC,CAAC;AAC5E,WAAW;AACX,UAAU,MAAM;AAChB,SAAS;AACT,OAAO;AACP,KAAK,MAAM;AACX,MAAM,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;AACnC,MAAM,IAAI,CAAC,kCAAkC,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;AAC7D,QAAQ,SAAS,CAAC,gCAAgC,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;AAChE,OAAO;AACP,KAAK;AACL,GAAG;AACH,EAAE,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,qBAAqB,CAAC,UAAU,CAAC,EAAE;AAC9D,IAAI,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC;AAC3C,IAAI,SAAS,CAAC,gCAAgC,CAAC,GAAG,CAAC,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC;AACtE,GAAG;AACH,EAAE,OAAO,SAAS,CAAC;AACnB,CAAC;AACD,eAAe,qBAAqB,CAAC,aAAa,EAAE,QAAQ,EAAE;AAC9D,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,aAAa,CAAC;AACpE,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,GAAG,QAAQ,CAAC;AAC9D,EAAE,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE;AAC9B,IAAI,MAAM,IAAI,UAAU,CAAC;AACzB,MAAM,GAAGC,gBAA+B;AACxC,MAAM,OAAO,EAAEA,gBAA+B,CAAC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC;AAC5E,KAAK,CAAC,CAAC;AACP,GAAG;AACH,EAAE,MAAM,MAAM,GAAG;AACjB,IAAI,QAAQ,EAAE,EAAE;AAChB,IAAI,KAAK,EAAE;AACX;AACA,MAAM,GAAG,EAAE,OAAO;AAClB,KAAK;AACL,GAAG,CAAC;AACJ,EAAE,IAAI,KAAK,EAAE;AACb,IAAI,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;AACtD,MAAM,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC;AAC5C,KAAK;AACL,GAAG;AACH,EAAE,MAAM,CAAC,KAAK,CAAC,eAAe,CAAC,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC,CAAC;AAChF,EAAE,IAAI,QAAQ,CAAC,gBAAgB,EAAE;AACjC,IAAI,MAAM,CAAC,KAAK,CAAC,kBAAkB,CAAC,GAAG,eAAe,CAAC,KAAK,CAAC;AAC7D,IAAI,MAAM,CAAC,KAAK,CAAC,cAAc,CAAC,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC,CAAC;AAC9F,IAAI,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,UAAU,CAAC,cAAc,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC;AACxE,GAAG;AACH,EAAE,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC;AAC3B,EAAE,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,OAAO,CAAC;AACnC,EAAE,IAAI,kBAAkB,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,mCAAmC,CAAC,CAAC;AACrF,EAAE,IAAI,kBAAkB,CAAC,MAAM,EAAE;AACjC,IAAI,MAAM,CAAC,KAAK,CAAC,sBAAsB,CAAC,GAAG,kBAAkB,CAAC;AAC9D,GAAG;AACH,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,UAAU;AACnC,IAAI,IAAI,CAAC,SAAS,CAAC;AACnB,MAAM,IAAI,EAAE,QAAQ,CAAC,WAAW;AAChC,MAAM,KAAK,EAAE,QAAQ,CAAC,WAAW,IAAI,EAAE;AACvC,KAAK,CAAC;AACN,GAAG,CAAC;AACJ,EAAE,kCAAkC,CAAC,OAAO,CAAC,CAAC,IAAI,KAAK;AACvD,IAAI,IAAI,OAAO,KAAK,CAAC,IAAI,CAAC,KAAK,WAAW,EAAE;AAC5C,MAAM,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC;AACvC,KAAK;AACL,GAAG,CAAC,CAAC;AACL,EAAE,OAAO,MAAM,CAAC;AAChB;;ACtHA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,UAAU,GAAG,+DAA+D,CAAC;AACnF,MAAM,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC;AACjC,SAAS,OAAO,CAAC,GAAG,EAAE;AACtB,EAAE,IAAI,IAAI,GAAG,CAAC,CAAC;AACf,EAAE,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC,EAAE,OAAO,IAAI,CAAC;AACpC,EAAE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;AACvC,IAAI,MAAM,EAAE,GAAG,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;AACjC,IAAI,IAAI,GAAG,CAAC,IAAI,IAAI,CAAC,IAAI,IAAI,GAAG,EAAE,CAAC;AACnC,IAAI,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;AACvB,GAAG;AACH,EAAE,OAAO,IAAI,CAAC;AACd,CAAC;AACD,SAAS,SAAS,CAAC,IAAI,EAAE;AACzB,EAAE,IAAI,GAAG,CAAC;AACV,EAAE,IAAI,MAAM,GAAG,EAAE,CAAC;AAClB,EAAE,IAAI,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;AAC9B,EAAE,MAAM,IAAI,GAAG,OAAO,GAAG,CAAC,GAAG,GAAG,GAAG,EAAE,CAAC;AACtC,EAAE,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;AAC9B,EAAE,OAAO,OAAO,IAAI,MAAM,EAAE;AAC5B,IAAI,GAAG,GAAG,OAAO,GAAG,MAAM,CAAC;AAC3B,IAAI,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC,CAAC;AAC3C,IAAI,MAAM,GAAG,UAAU,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC;AACtC,GAAG;AACH,EAAE,IAAI,OAAO,GAAG,CAAC,EAAE;AACnB,IAAI,MAAM,GAAG,UAAU,CAAC,OAAO,CAAC,GAAG,MAAM,CAAC;AAC1C,GAAG;AACH,EAAE,OAAO,IAAI,GAAG,MAAM,CAAC;AACvB;;ACzDA,SAAS,uBAAuB,CAAC,GAAG,EAAE;AACtC,EAAE,OAAO,GAAG,IAAI,IAAI,GAAG,KAAK,GAAG,GAAG,CAAC,uBAAuB,KAAK,IAAI,CAAC;AACpE,CAAC;AACD,SAAS,uBAAuB,CAAC,MAAM,EAAE,OAAO,EAAE;AAClD,EAAE,IAAI,IAAI,GAAG,OAAO,CAAC,WAAW,IAAI,MAAM,CAAC;AAC3C,EAAE,IAAI,OAAO,CAAC,QAAQ,IAAI,MAAM,CAAC,iBAAiB,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,IAAI,KAAK,MAAM,EAAE;AAC7F,IAAI,IAAI,GAAG,MAAM,CAAC,iBAAiB,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,WAAW,CAAC;AACtE,GAAG;AACH,EAAE,OAAO,IAAI,KAAK,SAAS,IAAI,IAAI,KAAK,MAAM,CAAC;AAC/C;;ACTA,MAAM,iBAAiB,GAAG,MAAM,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC;AAC7D,SAAS,gBAAgB,CAAC,GAAG,EAAE;AAC/B,EAAE,OAAO,OAAO,GAAG,KAAK,QAAQ,IAAI,CAAC,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;AAC7D;;ACHA,IAAI,iCAAiC,GAAG,CAAC,0+GAA0+G,CAAC;;ACAphH,IAAI,6BAA6B,GAAG,CAAC,s4GAAs4G,CAAC;;ACE56G,MAAM,aAAa,GAAG,CAAC,0EAA0E,CAAC,CAAC;AACnG,SAAS,+BAA+B,CAAC,MAAM,EAAE;AACjD,EAAE,IAAI,MAAM,CAAC,SAAS,CAAC,kBAAkB,EAAE;AAC3C,IAAI,OAAO,KAAK,CAAC;AACjB,GAAG;AACH,EAAE,OAAO,MAAM,CAAC,SAAS,CAAC,kBAAkB,GAAG,IAAI,CAAC;AACpD,CAAC;AACD,SAAS,gCAAgC,CAAC,MAAM,EAAE,SAAS,EAAE;AAC7D,EAAE,IAAI,MAAM,CAAC,SAAS,CAAC,aAAa,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE;AACrD,IAAI,OAAO,KAAK,CAAC;AACjB,GAAG;AACH,EAAE,MAAM,CAAC,SAAS,CAAC,aAAa,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;AAChD,EAAE,OAAO,IAAI,CAAC;AACd,CAAC;AACD,SAAS,sBAAsB,CAAC,MAAM,EAAE,SAAS,EAAE;AACnD,EAAE,MAAM,gBAAgB,GAAG,MAAM,CAAC,gBAAgB,CAAC;AACnD,EAAE,MAAM,eAAe,GAAG,gBAAgB,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;AAC1D,EAAE,IAAI,CAAC,eAAe,EAAE;AACxB,IAAI,MAAM,IAAI,KAAK,CAAC,CAAC,mBAAmB,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC;AACvD,GAAG;AACH,EAAE,OAAO,eAAe,CAAC;AACzB,CAAC;AACD,SAAS,aAAa,CAAC,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE;AAChD,EAAE,QAAQ,IAAI;AACd,IAAI,KAAK,MAAM;AACf,MAAM,OAAO,CAAC,EAAE,aAAa,CAAC,QAAQ,EAAE,sBAAsB,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,aAAa,GAAGC,iCAAe,GAAGC,6BAAY,CAAC,SAAS,CAAC,CAAC;AACxK,IAAI,KAAK,WAAW;AACpB,MAAM,OAAO,CAAC,QAAQ,EAAE,sBAAsB,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,SAAS,CAAC,CAAC;AAG7E,GAAG;AACH,EAAE,OAAO,EAAE,CAAC;AACZ;;AChCA,MAAM,gBAAgB,GAAG,0FAA0F,CAAC;AACpH,MAAM,qBAAqB,GAAG,oPAAoP,CAAC;AACnR,MAAM,kBAAkB,GAAG,mDAAmD,CAAC;AAC/E,MAAM,iBAAiB,GAAG,sEAAsE,CAAC;AACjG,MAAM,eAAe,GAAG,IAAI,CAAC;AAC7B,MAAM,kBAAkB,GAAG,IAAI,CAAC;AAChC,MAAM,iBAAiB,mBAAmB,IAAI,GAAG,CAAC,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC,CAAC;AAC5E,MAAM,OAAO,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,oBAAoB,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK;AAChF,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE,CAAC;AAClC,EAAE,OAAO,KAAK,KAAK,CAAC,GAAG,KAAK,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC;AACnD,CAAC,CAAC,CAAC;AACH,MAAM,iBAAiB,GAAG,CAAC,KAAK,EAAE,YAAY,GAAG,IAAI,KAAK,YAAY,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC,OAAO,CAAC,kBAAkB,EAAE,OAAO,CAAC,GAAG,KAAK,CAAC;AACtK,MAAM,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,WAAW,EAAE,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,KAAK,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,CAAC;AAC3G,MAAM,aAAa,GAAG,CAAC,GAAG,KAAK,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,CAAC,IAAI,EAAE,IAAI,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK;AAClJ,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE,OAAO,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;AAC9D,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;AACrB,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACb,SAAS,gBAAgB,CAAC,IAAI,EAAE;AAChC,EAAE,IAAI,MAAM,GAAG,EAAE,CAAC;AAClB,EAAE,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;AACnD,IAAI,MAAM,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,OAAO;AACvE,MAAM,aAAa;AACnB,MAAM,eAAe;AACrB,KAAK,CAAC;AACN,CAAC,CAAC;AACF,GAAG;AACH,EAAE,OAAO,cAAc,CAAC,MAAM,CAAC,CAAC;AAChC,CAAC;AACD,SAAS,UAAU,CAAC,MAAM,EAAE;AAC5B,EAAE,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE;AAC3B,IAAI,OAAO,MAAM,CAAC,CAAC,CAAC,CAAC;AACrB,GAAG;AACH,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;AAC7E,CAAC;AACD,SAAS,YAAY,CAAC,KAAK,EAAE,GAAG,EAAE,YAAY,GAAG,IAAI,EAAE;AACvD,EAAE,IAAI,KAAK,IAAI,IAAI,EAAE;AACrB,IAAI,OAAO,EAAE,CAAC;AACd,GAAG;AACH,EAAE,IAAI,KAAK,KAAK,KAAK,EAAE;AACvB,IAAI,IAAI,kBAAkB,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,iBAAiB,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;AACrE,MAAM,OAAO,cAAc,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC;AAC/C,KAAK;AACL,IAAI,OAAO,EAAE,CAAC;AACd,GAAG;AACH,EAAE,IAAI,iBAAiB,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE;AAClC,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,aAAa,EAAE,GAAG,CAAC;AACrC;AACA,gDAAgD,EAAE,GAAG,CAAC,2DAA2D,EAAE,GAAG,CAAC,eAAe,CAAC,CAAC,CAAC;AACzI,IAAI,OAAO,EAAE,CAAC;AACd,GAAG;AACH,EAAE,IAAI,GAAG,KAAK,YAAY,EAAE;AAC5B,IAAI,MAAM,SAAS,GAAG,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,YAAY,CAAC,CAAC;AACnE,IAAI,IAAI,SAAS,KAAK,EAAE,EAAE;AAC1B,MAAM,OAAO,EAAE,CAAC;AAChB,KAAK;AACL,IAAI,OAAO,cAAc,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;AACjE,GAAG;AACH,EAAE,IAAI,GAAG,KAAK,OAAO,IAAI,EAAE,KAAK,YAAY,UAAU,CAAC,EAAE;AACzD,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE;AACpD,MAAM,OAAO,cAAc;AAC3B,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,EAAE,iBAAiB,CAAC,CAAC,EAAE,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC;AAChG,OAAO,CAAC;AACR,KAAK;AACL,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;AACnC,MAAM,OAAO,cAAc,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,EAAE,iBAAiB,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAClG,KAAK;AACL,GAAG;AACH,EAAE,IAAI,GAAG,KAAK,WAAW,EAAE;AAC3B,IAAI,OAAO,cAAc,CAAC,CAAC,QAAQ,EAAE,iBAAiB,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAChF,GAAG;AACH,EAAE,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,SAAS,CAAC,KAAK,CAAC,EAAE;AAC5E,IAAI,OAAO,cAAc,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,EAAE,iBAAiB,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC1E,GAAG;AACH,EAAE,IAAI,KAAK,KAAK,IAAI,KAAK,GAAG,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,qBAAqB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE;AACtF,IAAI,OAAO,cAAc,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;AACrC,GAAG,MAAM;AACT,IAAI,OAAO,cAAc,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,EAAE,iBAAiB,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACjF,GAAG;AACH,CAAC;AACD,SAAS,wBAAwB,CAAC,MAAM,EAAE,YAAY,GAAG,IAAI,EAAE;AAC/D,EAAE,IAAI,MAAM,GAAG,EAAE,CAAC;AAClB,EAAE,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;AACrD,IAAI,MAAM,IAAI,YAAY,CAAC,KAAK,EAAE,GAAG,EAAE,YAAY,CAAC,CAAC;AACrD,GAAG;AACH,EAAE,OAAO,cAAc,CAAC,MAAM,CAAC,CAAC;AAChC,CAAC;AACD,SAAS,aAAa,CAAC,IAAI,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,GAAG,EAAE,EAAE,EAAE,YAAY,GAAG,IAAI,EAAE;AACpF,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,EAAE,eAAe,EAAE,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,GAAG,KAAK,EAAE,GAAG,MAAM,CAAC;AAC5F,EAAE,IAAI,UAAU,EAAE;AAClB,IAAI,IAAI,IAAI,KAAK,OAAO,EAAE;AAC1B,MAAM,OAAO,KAAK,CAAC,WAAW,CAAC,CAAC;AAChC,MAAM,OAAO,KAAK,CAAC,WAAW,CAAC,CAAC;AAChC,KAAK;AACL,IAAI,IAAI,IAAI,KAAK,QAAQ,EAAE;AAC3B,MAAM,OAAO,KAAK,CAAC,KAAK,CAAC;AACzB,MAAM,QAAQ,GAAG,gBAAgB,CAAC,UAAU,CAAC,GAAG,IAAI,GAAG,QAAQ,CAAC;AAChE,KAAK;AACL,GAAG;AACH,EAAE,IAAI,CAAC,QAAQ,IAAI,IAAI,IAAI,QAAQ,IAAI,EAAE,KAAK,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;AAC3E,IAAI,OAAO,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,wBAAwB,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;AACvE,GAAG;AACH,EAAE,OAAO,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,wBAAwB,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;AAC1F,CAAC;AACD,MAAM,IAAI,GAAG,MAAM;AACnB,CAAC,CAAC;AACF,MAAM,gBAAgB,CAAC;AACvB,EAAE,MAAM,GAAG,EAAE,CAAC;AACd,EAAE,aAAa,CAAC;AAChB,EAAE,WAAW,CAAC;AACd,EAAE,WAAW,CAAC,oBAAoB,EAAE;AACpC,IAAI,IAAI,CAAC,aAAa,GAAG,oBAAoB,CAAC,IAAI,CAAC,CAAC;AACpD,IAAI,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;AACpD,GAAG;AACH,EAAE,KAAK,CAAC,KAAK,EAAE;AACf,IAAI,IAAI,IAAI,CAAC,WAAW,EAAE;AAC1B,MAAM,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;AACpC,KAAK,MAAM;AACX,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAC9B,KAAK;AACL,GAAG;AACH,EAAE,MAAM,wBAAwB,CAAC,WAAW,EAAE;AAC9C,IAAI,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,MAAM,EAAE;AACrC,MAAM,WAAW,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;AAC/B,KAAK;AACL,IAAI,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;AACnC,IAAI,MAAM,IAAI,CAAC,aAAa,CAAC;AAC7B,GAAG;AACH,CAAC;AACD,SAAS,yBAAyB,CAAC,oBAAoB,EAAE;AACzD,EAAE,MAAM,QAAQ,GAAG,IAAI,gBAAgB,CAAC,oBAAoB,CAAC,CAAC;AAC9D,EAAE,OAAO,QAAQ,CAAC;AAClB,CAAC;AACc,OAAO,OAAO,KAAK,WAAW,IAAI,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,mBAAmB;AAchH,MAAM,eAAe,GAAG,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;AAC5C,SAAS,SAAS,CAAC,GAAG,EAAE;AACxB,EAAE,IAAI;AACN,IAAI,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC;AACnC,IAAI,OAAO,eAAe,CAAC,QAAQ,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;AACxD,GAAG,CAAC,MAAM;AACV,IAAI,OAAO,KAAK,CAAC;AACjB,GAAG;AACH;;ACzJA,MAAM,cAAc,GAAG,CAAC,IAAI,EAAE,KAAK,EAAE,GAAG,KAAK;AAC7C,EAAE,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAC3C,EAAE,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;AACjC,EAAE,OAAO,KAAK,KAAK,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,KAAK,IAAI,CAAC,CAAC,QAAQ,IAAI,QAAQ,CAAC,CAAC;AACrG,CAAC,CAAC;AACF,SAAS,oBAAoB,CAAC,MAAM,EAAE;AACtC,EAAE,MAAM,CAAC,SAAS,CAAC,eAAe,GAAG,IAAI,CAAC;AAC1C,EAAE,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,GAAG;AACrE,IAAI,CAAC,KAAK,KAAK,KAAK,CAAC,KAAK,CAAC,GAAG,KAAK,YAAY,GAAG,aAAa,CAAC,MAAM,EAAE,KAAK,CAAC,GAAG,aAAa,CAAC,OAAO,EAAE,KAAK,CAAC;AAC9G,GAAG,CAAC;AACJ,EAAE,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;AACxB,EAAE,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,KAAK;AACpF,IAAI,OAAO,aAAa,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;AAClD,GAAG,CAAC,CAAC;AACL,EAAE,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,KAAK,aAAa,CAAC,MAAM,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC;AAClH,EAAE,IAAI,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1E,EAAE,IAAI,MAAM,CAAC,SAAS,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE;AAC7C,IAAI,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,SAAS,CAAC,SAAS,EAAE;AACnD,MAAM,OAAO,IAAI,IAAI,CAAC;AACtB,KAAK;AACL,GAAG;AACH,EAAE,OAAO,cAAc,CAAC,OAAO,CAAC,CAAC;AACjC,CAAC;AAID,SAAS,eAAe,GAAG;AAC3B,EAAE,OAAO,uBAAuB,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC;AACzD;;AC3BA,MAAM,uBAAuB,GAAG,MAAM,CAAC,GAAG,CAAC,4BAA4B,CAAC,CAAC;AACzE,MAAM,oBAAoB,CAAC;AAC3B,EAAE,CAAC,uBAAuB,IAAI,IAAI,CAAC;AACnC,EAAE,SAAS,CAAC;AACZ,EAAE,WAAW,CAAC;AACd,EAAE,KAAK,CAAC;AACR,EAAE,WAAW,CAAC,SAAS,EAAE,WAAW,EAAE;AACtC,IAAI,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;AAC/B,IAAI,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,CAAC;AACxB,IAAI,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,UAAU,KAAK;AACvD,MAAM,IAAI,SAAS,CAAC,UAAU,CAAC,EAAE;AACjC,QAAQ,OAAO,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,KAAK;AAC1D,UAAU,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE;AAC3B,YAAY,IAAI,CAAC,KAAK,GAAG,GAAG,CAAC;AAC7B,YAAY,MAAM,GAAG,CAAC;AACtB,WAAW;AACX,SAAS,CAAC,CAAC;AACX,OAAO;AACP,MAAM,OAAO,UAAU,CAAC;AACxB,KAAK,CAAC,CAAC;AACP,GAAG;AACH,EAAE,MAAM,MAAM,CAAC,WAAW,EAAE;AAC5B,IAAI,MAAM,UAAU,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,GAAG,KAAK;AACrD,MAAM,OAAO,yBAAyB,CAAC,CAAC,iBAAiB,KAAK;AAC9D,QAAQ,IAAI,GAAG,IAAI,GAAG,KAAK,CAAC,EAAE;AAC9B,UAAU,OAAO,WAAW,CAAC,iBAAiB,EAAE,GAAG,CAAC,CAAC;AACrD,SAAS;AACT,OAAO,CAAC,CAAC;AACT,KAAK,CAAC,CAAC;AACP,IAAI,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;AACpD,MAAM,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;AACrC,MAAM,MAAM,SAAS,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;AACtC,MAAM,WAAW,CAAC,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC;AAC9C,MAAM,IAAI,SAAS,EAAE;AACrB,QAAQ,MAAM,SAAS,CAAC,wBAAwB,CAAC,WAAW,CAAC,CAAC;AAC9D,OAAO;AACP,KAAK;AACL,GAAG;AACH,CAAC;AACD,SAAS,sBAAsB,CAAC,GAAG,EAAE;AACrC,EAAE,OAAO,OAAO,GAAG,KAAK,QAAQ,IAAI,CAAC,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAC;AACnE,CAAC;AACD,SAAS,cAAc,CAAC,SAAS,EAAE,GAAG,WAAW,EAAE;AACnD,EAAE,OAAO,IAAI,oBAAoB,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;AAC1D;;AC5CA,MAAM,UAAU,GAAG,MAAM,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;AACnD,MAAM,UAAU,SAAS,UAAU,CAAC;AACpC,EAAE,YAAY,CAAC;AACf,EAAE,CAAC,UAAU,EAAE;AACf,EAAE,WAAW,CAAC,OAAO,EAAE,YAAY,EAAE;AACrC,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC;AACnB,IAAI,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;AACrC,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC;AAC5B,GAAG;AACH,CAAC;AACD,SAAS,YAAY,CAAC,GAAG,EAAE;AAC3B,EAAE,OAAO,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;AAC3B,CAAC;AACD,SAAS,UAAU,CAAC,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE;AAC/C,EAAE,IAAI,CAAC,OAAO,IAAI,QAAQ,EAAE;AAC5B,IAAI,OAAO,UAAU,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;AACxC,GAAG;AACH,EAAE,OAAO;AACT,IAAI,MAAM,MAAM,CAAC,WAAW,EAAE;AAC9B,MAAM,MAAM,WAAW,CAAC,WAAW,EAAE,OAAO,OAAO,KAAK,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC,GAAG,OAAO,CAAC,CAAC;AAChG,KAAK;AACL,GAAG,CAAC;AACJ,CAAC;AACD,eAAe,kBAAkB,CAAC,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE;AAC7D,EAAE,IAAI,OAAO,GAAG,EAAE,CAAC;AACnB,EAAE,IAAI,YAAY,GAAG,IAAI,CAAC;AAC1B,EAAE,MAAM,oBAAoB,GAAG;AAC/B,IAAI,KAAK,CAAC,KAAK,EAAE;AACjB,MAAM,IAAI,KAAK,YAAY,UAAU,EAAE;AACvC,QAAQ,OAAO,IAAI,KAAK,CAAC;AACzB,QAAQ,IAAI,KAAK,CAAC,YAAY,EAAE;AAChC,UAAU,YAAY,KAAK,EAAE,CAAC;AAC9B,UAAU,YAAY,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,YAAY,CAAC,CAAC;AACnD,SAAS;AACT,OAAO,MAAM,IAAI,KAAK,YAAY,QAAQ,EAAE,OAAO;AACnD,WAAW,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,MAAM,IAAI,KAAK,IAAI,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ,EAAE;AAC/F,QAAQ,IAAI,YAAY,KAAK,IAAI,EAAE;AACnC,UAAU,YAAY,GAAG,EAAE,CAAC;AAC5B,SAAS;AACT,QAAQ,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AACjC,OAAO,MAAM;AACb,QAAQ,OAAO,IAAI,aAAa,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;AAChD,OAAO;AACP,KAAK;AACL,GAAG,CAAC;AACJ,EAAE,MAAM,cAAc,GAAG,UAAU,CAAC,MAAM,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;AAC/D,EAAE,MAAM,cAAc,CAAC,MAAM,CAAC,oBAAoB,CAAC,CAAC;AACpD,EAAE,OAAO,cAAc,CAAC,IAAI,UAAU,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC;AAC/D,CAAC;AACD,eAAe,WAAW,CAAC,MAAM,EAAE,KAAK,GAAG,EAAE,EAAE;AAC/C,EAAE,IAAI,gBAAgB,GAAG,IAAI,CAAC;AAC9B,EAAE,IAAI,QAAQ,GAAG,EAAE,CAAC;AACpB,EAAE,IAAI,KAAK,EAAE;AACb,IAAI,MAAM,OAAO,CAAC,GAAG;AACrB,MAAM,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,GAAG;AAC/B,QAAQ,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,KAAK,kBAAkB,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,KAAK;AAC7E,UAAU,IAAI,MAAM,CAAC,YAAY,EAAE;AACnC,YAAY,IAAI,gBAAgB,KAAK,IAAI,EAAE;AAC3C,cAAc,gBAAgB,GAAG,EAAE,CAAC;AACpC,aAAa;AACb,YAAY,gBAAgB,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,YAAY,CAAC,CAAC;AAC1D,WAAW;AACX,UAAU,QAAQ,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC;AACjC,SAAS,CAAC;AACV,OAAO;AACP,KAAK,CAAC;AACN,GAAG;AACH,EAAE,OAAO,EAAE,gBAAgB,EAAE,QAAQ,EAAE,CAAC;AACxC;;AC/DA,MAAM,QAAQ,GAAG,MAAM,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;AAC9C,MAAM,QAAQ,GAAG,MAAM,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;AAC9B,IAAI,WAAW,GAAG;AAClC,MAAM,OAAO,GAAG,IAAI,WAAW,EAAE,CAAC;AAClC,SAAS,cAAc,CAAC,MAAM,EAAE,KAAK,EAAE;AACvC,EAAE,IAAI,mBAAmB,CAAC,KAAK,CAAC,EAAE;AAClC,IAAI,MAAM,WAAW,GAAG,KAAK,CAAC;AAC9B,IAAI,QAAQ,WAAW,CAAC,IAAI;AAC5B,MAAM,KAAK,WAAW,EAAE;AACxB,QAAQ,MAAM,EAAE,SAAS,EAAE,GAAG,WAAW,CAAC;AAC1C,QAAQ,IAAI,oBAAoB,GAAG,SAAS,IAAI,+BAA+B,CAAC,MAAM,CAAC,CAAC;AACxF,QAAQ,IAAI,oBAAoB,GAAG,SAAS,IAAI,gCAAgC,CAAC,MAAM,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;AAC9G,QAAQ,IAAI,aAAa,GAAG,oBAAoB,GAAG,MAAM,GAAG,oBAAoB,GAAG,WAAW,GAAG,IAAI,CAAC;AACtG,QAAQ,IAAI,aAAa,EAAE;AAC3B,UAAU,IAAI,UAAU,GAAG,aAAa,CAAC,MAAM,EAAE,aAAa,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;AACrF,UAAU,OAAO,cAAc,CAAC,UAAU,CAAC,CAAC;AAC5C,SAAS,MAAM;AACf,UAAU,OAAO,EAAE,CAAC;AACpB,SAAS;AACT,OAAO;AACP,MAAM,KAAK,MAAM,EAAE;AACnB,QAAQ,IAAI,MAAM,CAAC,SAAS,CAAC,eAAe,IAAI,MAAM,CAAC,OAAO,EAAE;AAChE,UAAU,OAAO,EAAE,CAAC;AACpB,SAAS;AACT,QAAQ,OAAO,oBAAoB,CAAC,MAAM,CAAC,CAAC;AAC5C,OAAO;AACP,MAAM,KAAK,YAAY,EAAE;AACzB,QAAQ,IAAI,MAAM,CAAC,SAAS,CAAC,eAAe,IAAI,MAAM,CAAC,SAAS,CAAC,UAAU,IAAI,MAAM,CAAC,OAAO,EAAE;AAC/F,UAAU,OAAO,EAAE,CAAC;AACpB,SAAS;AACT,QAAQ,OAAO,oBAAoB,CAAC,MAAM,CAAC,CAAC;AAC5C,OAAO;AACP,MAAM,KAAK,2BAA2B,EAAE;AACxC,QAAQ,MAAM,EAAE,gCAAgC,EAAE,GAAG,MAAM,CAAC,SAAS,CAAC;AACtE,QAAQ,MAAM,EAAE,YAAY,EAAE,GAAG,WAAW,CAAC;AAC7C,QAAQ,IAAI,CAAC,gCAAgC,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE;AACjE,UAAU,gCAAgC,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;AAC7D,UAAU,OAAO,WAAW,CAAC,MAAM,EAAE,CAAC;AACtC,SAAS;AACT,QAAQ,OAAO,EAAE,CAAC;AAClB,OAAO;AACP,MAAM,SAAS;AACf,QAAQ,MAAM,IAAI,KAAK,CAAC,CAAC,oBAAoB,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAC7D,OAAO;AACP,KAAK;AACL,GAAG,MAAM,IAAI,KAAK,YAAY,QAAQ,EAAE;AACxC,IAAI,OAAO,EAAE,CAAC;AACd,GAAG,MAAM,IAAI,YAAY,CAAC,KAAK,CAAC,EAAE;AAClC,IAAI,IAAI,GAAG,GAAG,EAAE,CAAC;AACjB,IAAI,MAAM,CAAC,GAAG,KAAK,CAAC;AACpB,IAAI,IAAI,CAAC,CAAC,YAAY,EAAE;AACxB,MAAM,KAAK,MAAM,KAAK,IAAI,CAAC,CAAC,YAAY,EAAE;AAC1C,QAAQ,GAAG,IAAI,cAAc,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;AAC7C,OAAO;AACP,KAAK;AACL,IAAI,GAAG,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;AAC5B,IAAI,OAAO,GAAG,CAAC;AACf,GAAG;AACH,EAAE,OAAO,KAAK,CAAC,QAAQ,EAAE,CAAC;AAC1B,CAAC;AACD,SAAS,aAAa,CAAC,MAAM,EAAE,KAAK,EAAE;AACtC,EAAE,IAAI,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE;AACjC,IAAI,OAAO,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AACjC,GAAG,MAAM;AACT,IAAI,OAAO,cAAc,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;AACzC,GAAG;AACH,CAAC;AASD,SAAS,gBAAgB,CAAC,GAAG,EAAE;AAC/B,EAAE,OAAO,CAAC,CAAC,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,QAAQ,IAAI,GAAG,IAAI,OAAO,GAAG,CAAC,MAAM,KAAK,UAAU,CAAC;AACjG;;AChFA,eAAe,WAAW,CAAC,WAAW,EAAE,KAAK,EAAE;AAC/C,EAAE,IAAI,SAAS,CAAC,KAAK,CAAC,EAAE;AACxB,IAAI,KAAK,GAAG,MAAM,KAAK,CAAC;AACxB,GAAG;AACH,EAAE,IAAI,KAAK,YAAY,UAAU,EAAE;AACnC,IAAI,WAAW,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;AAC7B,GAAG,MAAM,IAAI,YAAY,CAAC,KAAK,CAAC,EAAE;AAClC,IAAI,WAAW,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;AAC7B,GAAG,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;AACnC,IAAI,MAAM,YAAY,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK;AAC1C,MAAM,OAAO,yBAAyB,CAAC,CAAC,iBAAiB,KAAK;AAC9D,QAAQ,OAAO,WAAW,CAAC,iBAAiB,EAAE,CAAC,CAAC,CAAC;AACjD,OAAO,CAAC,CAAC;AACT,KAAK,CAAC,CAAC;AACP,IAAI,KAAK,MAAM,WAAW,IAAI,YAAY,EAAE;AAC5C,MAAM,IAAI,CAAC,WAAW,EAAE,SAAS;AACjC,MAAM,MAAM,WAAW,CAAC,wBAAwB,CAAC,WAAW,CAAC,CAAC;AAC9D,KAAK;AACL,GAAG,MAAM,IAAI,OAAO,KAAK,KAAK,UAAU,EAAE;AAC1C,IAAI,MAAM,WAAW,CAAC,WAAW,EAAE,KAAK,EAAE,CAAC,CAAC;AAC5C,GAAG,MAAM,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;AACxC,IAAI,WAAW,CAAC,KAAK,CAAC,cAAc,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AACzD,GAAG,MAAM,IAAI,CAAC,KAAK,IAAI,KAAK,KAAK,CAAC,EAAE,CACjC,MAAM,IAAI,gBAAgB,CAAC,KAAK,CAAC,EAAE;AACtC,IAAI,MAAM,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;AACpC,GAAG,MAAM,IAAI,sBAAsB,CAAC,KAAK,CAAC,EAAE;AAC5C,IAAI,MAAM,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;AACpC,GAAG,MAAM,IAAI,wBAAwB,CAAC,KAAK,CAAC,EAAE;AAC9C,IAAI,MAAM,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;AACpC,GAAG,MAAM,IAAI,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE;AACxC,IAAI,WAAW,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;AAC7B,GAAG,MAAM,IAAI,OAAO,KAAK,KAAK,QAAQ,KAAK,MAAM,CAAC,aAAa,IAAI,KAAK,IAAI,MAAM,CAAC,QAAQ,IAAI,KAAK,CAAC,EAAE;AACvG,IAAI,WAAW,MAAM,KAAK,IAAI,KAAK,EAAE;AACrC,MAAM,MAAM,WAAW,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;AAC5C,KAAK;AACL,GAAG,MAAM;AACT,IAAI,WAAW,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;AAC7B,GAAG;AACH;;ACxCA,MAAM,yBAAyB,GAAG,MAAM,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAC;AACxE,MAAM,sBAAsB,CAAC;AAC7B,EAAE,CAAC,yBAAyB,IAAI,IAAI,CAAC;AACrC,EAAE,MAAM,CAAC;AACT,EAAE,KAAK,CAAC;AACR,EAAE,UAAU,CAAC;AACb,EAAE,OAAO,CAAC;AACV,EAAE,WAAW,CAAC;AACd,EAAE,WAAW,CAAC,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE;AAC7C,IAAI,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;AACzB,IAAI,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;AACvB,IAAI,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;AAC3B,IAAI,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;AACzB,IAAI,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE;AAC9B,MAAM,IAAI,SAAS,GAAG,KAAK,CAAC;AAC5B,MAAM,IAAI,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC;AACtC,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,MAAM;AACpC,QAAQ,IAAI,CAAC,SAAS,EAAE;AACxB,UAAU,SAAS,GAAG,IAAI,CAAC;AAC3B,UAAU,OAAO,KAAK,CAAC;AACvB,SAAS;AACT,QAAQ,OAAO,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC;AACnC,OAAO,CAAC;AACR,KAAK;AACL,GAAG;AACH,EAAE,MAAM,IAAI,CAAC,MAAM,EAAE;AACrB,IAAI,IAAI,IAAI,CAAC,WAAW,KAAK,KAAK,CAAC,EAAE,OAAO,IAAI,CAAC,WAAW,CAAC;AAC7D,IAAI,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;AACzE,IAAI,IAAI,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE;AACrC,MAAM,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,QAAQ,KAAK;AAC1C,QAAQ,IAAI,CAAC,WAAW,GAAG,QAAQ,CAAC;AACpC,OAAO,CAAC,CAAC,KAAK,CAAC,MAAM;AACrB,OAAO,CAAC,CAAC;AACT,KAAK;AACL,IAAI,OAAO,IAAI,CAAC,WAAW,CAAC;AAC5B,GAAG;AACH,EAAE,MAAM,MAAM,CAAC,WAAW,EAAE;AAC5B,IAAI,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AACrD,IAAI,IAAI,gBAAgB,CAAC,WAAW,CAAC,EAAE;AACvC,MAAM,MAAM,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;AACpD,KAAK,MAAM;AACX,MAAM,MAAM,WAAW,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;AAClD,KAAK;AACL,GAAG;AACH,CAAC;AACD,SAAS,sBAAsB,CAAC,KAAK,EAAE,WAAW,EAAE;AACpD,EAAE,IAAI,KAAK,IAAI,IAAI,EAAE;AACrB,IAAI,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE;AAC3C,MAAM,IAAI,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE;AACtC,QAAQ,OAAO,CAAC,IAAI;AACpB,UAAU,CAAC,8BAA8B,EAAE,WAAW,CAAC,CAAC,EAAE,IAAI,CAAC,SAAS,EAAE,WAAW,CAAC,sKAAsK,CAAC;AAC7P,SAAS,CAAC;AACV,OAAO;AACP,KAAK;AACL,GAAG;AACH,CAAC;AACD,SAAS,4BAA4B,CAAC,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,GAAG,EAAE,EAAE;AACvF,EAAE,sBAAsB,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;AAC7C,EAAE,MAAM,QAAQ,GAAG,IAAI,sBAAsB,CAAC,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;AAC7E,EAAE,IAAI,uBAAuB,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE;AAChD,IAAI,MAAM,CAAC,SAAS,CAAC,WAAW,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;AAC/C,GAAG;AACH,EAAE,OAAO,QAAQ,CAAC;AAClB,CAAC;AACD,SAAS,wBAAwB,CAAC,GAAG,EAAE;AACvC,EAAE,OAAO,OAAO,GAAG,KAAK,QAAQ,IAAI,CAAC,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAC;AACrE;;ACnEA,SAAS,sBAAsB,CAAC,SAAS,EAAE;AAC3C,EAAE,OAAO,OAAO,WAAW,KAAK,WAAW,IAAI,WAAW,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;AACpF,CAAC;AACD,eAAe,iBAAiB,CAAC,MAAM,EAAE,WAAW,EAAE,KAAK,EAAE,KAAK,EAAE;AACpE,EAAE,MAAM,IAAI,GAAG,kBAAkB,CAAC,WAAW,CAAC,CAAC;AAC/C,EAAE,IAAI,QAAQ,GAAG,EAAE,CAAC;AACpB,EAAE,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE;AAC5B,IAAI,QAAQ,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,EAAE,iBAAiB,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACrE,GAAG;AACH,EAAE,OAAO,cAAc;AACvB,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,QAAQ,CAAC,CAAC,EAAE,MAAM,kBAAkB,CAAC,MAAM,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC,CAAC;AACvF,GAAG,CAAC;AACJ,CAAC;AACD,SAAS,kBAAkB,CAAC,WAAW,EAAE;AACzC,EAAE,MAAM,WAAW,GAAG,cAAc,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;AAC1D,EAAE,IAAI,WAAW,EAAE,OAAO,WAAW,CAAC;AACtC,EAAE,MAAM,YAAY,GAAG,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,iBAAiB,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;AACrI,EAAE,OAAO,YAAY,CAAC;AACtB;;ACpBA,MAAM,SAAS,GAAG,SAAS,CAAC;AAqB5B,eAAe,SAAS,CAAC,OAAO,EAAE;AAClC,EAAE,MAAM,KAAK,GAAG,YAAY,CAAC,OAAO,CAAC,CAAC;AACtC,EAAE,OAAO,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC;AACxF,CAAC;AACD,MAAM,OAAO,GAAG,IAAI,WAAW,EAAE,CAAC;AAClB,IAAI,WAAW,GAAG;AAClC,MAAM,SAAS,GAAG,EAAE,CAAC;AACrB,eAAe,aAAa,CAAC,GAAG,EAAE,GAAG,EAAE;AACvC,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC,eAAe,CAAC,IAAI,UAAU,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC,CAAC;AACnE,EAAE,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;AACnC,EAAE,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,OAAO;AAC5C,IAAI;AACJ,MAAM,IAAI,EAAE,SAAS;AACrB,MAAM,EAAE;AACR,KAAK;AACL,IAAI,GAAG;AACP,IAAI,IAAI;AACR,GAAG,CAAC;AACJ,EAAE,OAAO,kBAAkB,CAAC,EAAE,CAAC,GAAG,YAAY,CAAC,IAAI,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC;AACvE;;ACtCA,MAAM,aAAa,mBAAmB,IAAI,GAAG,CAAC;AAC9C,EAAE,uBAAuB;AACzB,EAAE,yBAAyB;AAC3B,EAAE,4BAA4B;AAC9B,EAAE,cAAc;AAChB,CAAC,CAAC,CAAC;AACH,SAAS,uBAAuB,CAAC,KAAK,EAAE;AACxC,EAAE,OAAO,4BAA4B,IAAI,KAAK,CAAC;AAC/C,CAAC;AACD,SAAS,iBAAiB,CAAC,GAAG,EAAE;AAChC,EAAE,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC,OAAO,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;AACrK,CAAC;AACD,SAAS,kBAAkB,CAAC,MAAM,EAAE,YAAY,EAAE,KAAK,EAAE,KAAK,EAAE;AAChE,EAAE,OAAO;AACT,IAAI,MAAM,MAAM,CAAC,WAAW,EAAE;AAC9B,MAAM,MAAM,aAAa,GAAG,KAAK,CAAC,uBAAuB,CAAC,CAAC;AAC3D,MAAM,MAAM,eAAe,GAAG,KAAK,CAAC,yBAAyB,CAAC,CAAC;AAC/D,MAAM,MAAM,WAAW,GAAG,MAAM,CAAC,mBAAmB,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;AACxE,MAAM,IAAI,CAAC,WAAW,EAAE;AACxB,QAAQ,MAAM,IAAI,KAAK,CAAC,CAAC,oCAAoC,CAAC,CAAC,CAAC;AAChE,OAAO;AACP,MAAM,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE;AAC7C,QAAQ,IAAI,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;AACrC,UAAU,OAAO,KAAK,CAAC,IAAI,CAAC,CAAC;AAC7B,SAAS;AACT,OAAO;AACP,MAAM,WAAW,CAAC,KAAK,CAAC,4BAA4B,CAAC,CAAC;AACtD,MAAM,MAAM,aAAa,GAAG,EAAE,CAAC;AAC/B,MAAM,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE;AAChC,QAAQ,IAAI,IAAI,KAAK,UAAU,EAAE;AACjC,UAAU,MAAM,OAAO,GAAG,MAAM,kBAAkB,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;AACxE,UAAU,aAAa,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC;AACnD,SAAS,MAAM;AACf,UAAU,MAAM,WAAW,CAAC,WAAW,EAAE,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;AACjE,SAAS;AACT,OAAO;AACP,MAAM,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,GAAG,CAAC;AACnC,MAAM,MAAM,cAAc,GAAG,MAAM,aAAa,CAAC,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;AAC7E,MAAM,MAAM,MAAM,GAAG,MAAM,CAAC,UAAU,EAAE,CAAC;AACzC,MAAM,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,GAAG,CAAC;AACzD,MAAM,MAAM,eAAe,GAAG,CAAC,EAAE,MAAM,CAAC,IAAI,CAAC,EAAE,KAAK,CAAC,gBAAgB,EAAE,WAAW,CAAC,EAAE,MAAM,CAAC,aAAa,KAAK,QAAQ,GAAG,GAAG,GAAG,EAAE,CAAC,CAAC,CAAC;AACpI,MAAM,WAAW,CAAC,KAAK,CAAC,CAAC,4CAA4C,EAAE,MAAM,CAAC;AAC9E,kBAAkB,EAAE,iBAAiB,CAAC,WAAW,CAAC,CAAC;AACnD,sBAAsB,EAAE,iBAAiB,CAAC,eAAe,CAAC,CAAC;AAC3D,4DAA4D,EAAE,MAAM,CAAC;AACrE;AACA;AACA,iBAAiB,EAAE,iBAAiB,CAAC,cAAc,CAAC,CAAC;AACrD,QAAQ,EAAE,iBAAiB,CAAC,aAAa,CAAC,CAAC;AAC3C;AACA;AACA,4BAA4B,EAAE,eAAe,CAAC;AAC9C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,CAAC,CAAC,CAAC;AACZ,KAAK;AACL,GAAG,CAAC;AACJ;;ACvDA,MAAM,eAAe,mBAAmB,IAAI,GAAG,CAAC,CAAC,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC;AACzE,MAAM,gBAAgB,mBAAmB,IAAI,GAAG,CAAC,CAAC,UAAU,EAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC;AAC1G,SAAS,cAAc,CAAC,YAAY,EAAE;AACtC,EAAE,MAAM,OAAO,GAAG,YAAY,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC;AACjD,EAAE,QAAQ,OAAO;AACjB,IAAI,KAAK,QAAQ;AACjB,MAAM,OAAO,CAAC,iBAAiB,CAAC,CAAC;AACjC,IAAI,KAAK,KAAK;AACd,MAAM,OAAO,CAAC,cAAc,CAAC,CAAC;AAC9B,IAAI,KAAK,KAAK,CAAC;AACf,IAAI,KAAK,KAAK;AACd,MAAM,OAAO,CAAC,gBAAgB,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,oBAAoB,CAAC,CAAC;AAC9F,IAAI;AACJ,MAAM,OAAO;AACb,QAAQ,gBAAgB;AACxB,QAAQ,iBAAiB;AACzB,QAAQ,mBAAmB;AAC3B,QAAQ,cAAc;AACtB,QAAQ,iBAAiB;AACzB,QAAQ,cAAc;AACtB,OAAO,CAAC;AACR,GAAG;AACH,CAAC;AACD,SAAS,mBAAmB,CAAC,SAAS,EAAE;AACxC,EAAE,OAAO,SAAS,KAAK,QAAQ,CAAC;AAChC,CAAC;AACD,SAAS,eAAe,CAAC,SAAS,EAAE;AACpC,EAAE,OAAO,SAAS,IAAI,SAAS,CAAC,YAAY,CAAC,KAAK,IAAI,CAAC;AACvD,CAAC;AACD,MAAM,cAAc,GAAG,yBAAyB,CAAC;AACjD,MAAM,qBAAqB,GAAG,gCAAgC,CAAC;AAC/D,SAAS,qBAAqB,CAAC,IAAI,EAAE,uBAAuB,GAAG,IAAI,EAAE;AACrE,EAAE,MAAM,GAAG,GAAG,uBAAuB,GAAG,qBAAqB,GAAG,cAAc,CAAC;AAC/E,EAAE,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;AAC/B,CAAC;AACD,eAAe,wBAAwB,CAAC,MAAM,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,GAAG,EAAE,EAAE;AAC5F,EAAE,IAAI,CAAC,SAAS,IAAI,aAAa,IAAI,MAAM,KAAK,KAAK,EAAE;AACvD,IAAI,MAAM,IAAI,KAAK;AACnB,MAAM,CAAC,iBAAiB,EAAE,WAAW,CAAC,eAAe,EAAE,SAAS,CAAC;AACjE,yEAAyE,CAAC;AAC1E,KAAK,CAAC;AACN,GAAG;AACH,EAAE,MAAM,EAAE,SAAS,EAAE,gBAAgB,EAAE,GAAG,MAAM,CAAC;AACjD,EAAE,MAAM,QAAQ,GAAG;AACnB,IAAI,eAAe,EAAE,IAAI;AACzB,IAAI,WAAW;AACf,GAAG,CAAC;AACJ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,gCAAgC,EAAE,GAAG,iBAAiB;AAC1F,IAAI,MAAM;AACV,IAAI,gBAAgB;AACpB,GAAG,CAAC;AACJ,EAAE,IAAI,IAAI,GAAG,EAAE,CAAC;AAChB,EAAE,IAAI,KAAK,GAAG,KAAK,CAAC,CAAC;AACrB,EAAE,IAAI,SAAS,EAAE;AACjB,IAAI,QAAQ,CAAC,OAAO,GAAG,SAAS,CAAC,SAAS,CAAC;AAC3C,IAAI,QAAQ,CAAC,WAAW,GAAG,SAAS,CAAC,KAAK,CAAC;AAC3C,IAAI,QAAQ,CAAC,eAAe,GAAG,SAAS,CAAC,eAAe,CAAC;AACzD,IAAI,QAAQ,CAAC,YAAY,GAAG,SAAS,CAAC,YAAY,CAAC;AACnD,GAAG;AACH,EAAE,MAAM,qBAAqB,GAAG,cAAc,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;AACtE,EAAE,MAAM,cAAc,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,KAAK,WAAW,CAAC,CAAC;AACzE,EAAE,MAAM,EAAE,QAAQ,EAAE,gBAAgB,EAAE,GAAG,MAAM,WAAW,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;AAC1E,EAAE,IAAI,QAAQ,CAAC;AACf,EAAE,IAAI,QAAQ,CAAC,OAAO,KAAK,MAAM,EAAE;AACnC,IAAI,IAAI,QAAQ,GAAG,KAAK,CAAC;AACzB,IAAI,IAAI;AACR,MAAM,QAAQ,GAAG,SAAS,IAAI,SAAS,CAAC,QAAQ,CAAC,CAAC;AAClD,KAAK,CAAC,MAAM;AACZ,KAAK;AACL,IAAI,IAAI,QAAQ,EAAE;AAClB,MAAM,MAAM,YAAY,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC;AAC/C,MAAM,QAAQ,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,IAAI,KAAK,YAAY,CAAC,CAAC;AACrE,KAAK;AACL,IAAI,IAAI,CAAC,QAAQ,EAAE;AACnB,MAAM,IAAI,KAAK,CAAC;AAChB,MAAM,KAAK,MAAM,CAAC,IAAI,SAAS,EAAE;AACjC,QAAQ,IAAI;AACZ,UAAU,IAAI,MAAM,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,QAAQ,CAAC,EAAE;AAC9E,YAAY,QAAQ,GAAG,CAAC,CAAC;AACzB,YAAY,MAAM;AAClB,WAAW;AACX,SAAS,CAAC,OAAO,CAAC,EAAE;AACpB,UAAU,KAAK,KAAK,CAAC,CAAC;AACtB,SAAS;AACT,OAAO;AACP,MAAM,IAAI,CAAC,QAAQ,IAAI,KAAK,EAAE;AAC9B,QAAQ,MAAM,KAAK,CAAC;AACpB,OAAO;AACP,KAAK;AACL,IAAI,IAAI,CAAC,QAAQ,IAAI,OAAO,WAAW,KAAK,UAAU,IAAI,sBAAsB,CAAC,SAAS,CAAC,EAAE;AAC7F,MAAM,MAAM,MAAM,GAAG,MAAM,iBAAiB;AAC5C,QAAQ,MAAM;AACd,QAAQ,SAAS;AACjB,QAAQ,MAAM;AACd,QAAQ,KAAK;AACb,OAAO,CAAC;AACR,MAAM,OAAO;AACb,QAAQ,MAAM,CAAC,WAAW,EAAE;AAC5B,UAAU,WAAW,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;AACpC,SAAS;AACT,OAAO,CAAC;AACR,KAAK;AACL,GAAG,MAAM;AACT,IAAI,IAAI,QAAQ,CAAC,WAAW,EAAE;AAC9B,MAAM,MAAM,YAAY,GAAG,eAAe,CAAC,GAAG,CAAC,QAAQ,CAAC,WAAW,CAAC,GAAG,eAAe,CAAC,GAAG,CAAC,QAAQ,CAAC,WAAW,CAAC,GAAG,QAAQ,CAAC,WAAW,CAAC;AACxI,MAAM,IAAI,gBAAgB,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE;AAC9C,QAAQ,QAAQ,GAAG,SAAS,CAAC,IAAI;AACjC,UAAU,CAAC,EAAE,IAAI,EAAE,KAAK,IAAI,KAAK,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC,IAAI,IAAI,KAAK,YAAY;AACpF,SAAS,CAAC;AACV,OAAO;AACP,KAAK;AACL,IAAI,IAAI,CAAC,QAAQ,IAAI,cAAc,CAAC,MAAM,KAAK,CAAC,EAAE;AAClD,MAAM,QAAQ,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC;AACnC,KAAK;AACL,IAAI,IAAI,CAAC,QAAQ,EAAE;AACnB,MAAM,MAAM,OAAO,GAAG,QAAQ,CAAC,YAAY,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC;AAC9D,MAAM,QAAQ,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,IAAI,KAAK,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC,IAAI,IAAI,KAAK,OAAO,CAAC,CAAC;AAClG,KAAK;AACL,GAAG;AACH,EAAE,IAAI,4BAA4B,CAAC;AACnC,EAAE,IAAI,CAAC,QAAQ,EAAE;AACjB,IAAI,IAAI,QAAQ,CAAC,OAAO,KAAK,MAAM,EAAE;AACrC,MAAM,MAAM,YAAY,GAAG,eAAe,CAAC,GAAG,CAAC,QAAQ,CAAC,WAAW,CAAC,GAAG,eAAe,CAAC,GAAG,CAAC,QAAQ,CAAC,WAAW,CAAC,GAAG,QAAQ,CAAC,WAAW,CAAC;AACxI,MAAM,IAAI,gBAAgB,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE;AAC9C,QAAQ,MAAM,MAAM,GAAG,cAAc,CAAC,MAAM,GAAG,CAAC,CAAC;AACjD,QAAQ,MAAM,IAAI,UAAU,CAAC;AAC7B,UAAU,GAAGC,kBAAiC;AAC9C,UAAU,OAAO,EAAEA,kBAAiC,CAAC,OAAO;AAC5D,YAAY,QAAQ,CAAC,WAAW;AAChC,YAAY,QAAQ,EAAE,YAAY,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE;AACpD,YAAY,MAAM;AAClB,YAAY,cAAc,CAAC,MAAM;AACjC,WAAW;AACX,UAAU,IAAI,EAAEA,kBAAiC,CAAC,IAAI;AACtD,YAAY,UAAU,CAAC,qBAAqB,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC;AACvE,WAAW;AACX,SAAS,CAAC,CAAC;AACX,OAAO,MAAM;AACb,QAAQ,MAAM,IAAI,UAAU,CAAC;AAC7B,UAAU,GAAGC,gBAA+B;AAC5C,UAAU,OAAO,EAAEA,gBAA+B,CAAC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC;AAChF,UAAU,IAAI,EAAEA,gBAA+B,CAAC,IAAI;AACpD,YAAY,qBAAqB,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;AAClF,WAAW;AACX,SAAS,CAAC,CAAC;AACX,OAAO;AACP,KAAK,MAAM,IAAI,OAAO,SAAS,KAAK,QAAQ,EAAE;AAC9C,MAAM,MAAM,iBAAiB,GAAG,cAAc,CAAC,MAAM;AACrD,QAAQ,CAAC,CAAC,KAAK,qBAAqB,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC;AACrD,OAAO,CAAC;AACR,MAAM,MAAM,MAAM,GAAG,cAAc,CAAC,MAAM,GAAG,CAAC,CAAC;AAC/C,MAAM,IAAI,iBAAiB,CAAC,MAAM,KAAK,CAAC,EAAE;AAC1C,QAAQ,MAAM,IAAI,UAAU,CAAC;AAC7B,UAAU,GAAGD,kBAAiC;AAC9C,UAAU,OAAO,EAAEA,kBAAiC,CAAC,OAAO;AAC5D,YAAY,QAAQ,CAAC,WAAW;AAChC,YAAY,QAAQ,EAAE,YAAY,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE;AACpD,YAAY,MAAM;AAClB,YAAY,cAAc,CAAC,MAAM;AACjC,WAAW;AACX,UAAU,IAAI,EAAEA,kBAAiC,CAAC,IAAI;AACtD,YAAY,UAAU,CAAC,qBAAqB,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC;AACvE,WAAW;AACX,SAAS,CAAC,CAAC;AACX,OAAO,MAAM,IAAI,iBAAiB,CAAC,MAAM,KAAK,CAAC,EAAE;AACjD,QAAQ,QAAQ,GAAG,iBAAiB,CAAC,CAAC,CAAC,CAAC;AACxC,QAAQ,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,QAAQ,CAAC,GAAG,CAAC,oBAAoB,CAAC,IAAI;AACvE,UAAU,EAAE,MAAM,EAAE;AACpB,UAAU,SAAS;AACnB,UAAU,gCAAgC;AAC1C,UAAU,QAAQ;AAClB,UAAU,QAAQ;AAClB,SAAS,EAAE;AACX,OAAO,MAAM;AACb,QAAQ,MAAM,IAAI,KAAK,CAAC,CAAC,iBAAiB,EAAE,QAAQ,CAAC,WAAW,CAAC;AACjE;AACA,2BAA2B,EAAE,UAAU,CAAC,qBAAqB,CAAC,CAAC;AAC/D;AACA;AACA,mBAAmB,EAAE,QAAQ,CAAC,WAAW,CAAC;AAC1C;AACA;AACA;AACA;AACA,6FAA6F,CAAC,CAAC,CAAC;AAChG,OAAO;AACP,KAAK;AACL,GAAG,MAAM;AACT,IAAI,IAAI,QAAQ,CAAC,OAAO,KAAK,MAAM,EAAE;AACrC,MAAM,MAAM,YAAY,GAAG,eAAe,CAAC,GAAG,CAAC,QAAQ,CAAC,WAAW,CAAC,GAAG,eAAe,CAAC,GAAG,CAAC,QAAQ,CAAC,WAAW,CAAC,GAAG,QAAQ,CAAC,WAAW,CAAC;AACxI,MAAM,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE;AAC/C,QAAQ,OAAO,CAAC,IAAI;AACpB,UAAU,CAAC,8BAA8B,EAAE,QAAQ,CAAC,WAAW,CAAC,iCAAiC,EAAE,QAAQ,CAAC,IAAI,CAAC,yGAAyG,CAAC;AAC3N,SAAS,CAAC;AACV,OAAO;AACP,MAAM,IAAI,GAAG,MAAM,kBAAkB,CAAC,MAAM,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC;AAC/D,KAAK,MAAM;AACX,MAAM,MAAM,wBAAwB,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC;AACzD,MAAM,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,QAAQ,CAAC,GAAG,CAAC,oBAAoB,CAAC,IAAI;AACrE,QAAQ,EAAE,MAAM,EAAE;AAClB,QAAQ,SAAS;AACjB,QAAQ,gCAAgC;AACxC,QAAQ,QAAQ;AAChB,QAAQ,QAAQ;AAChB,OAAO,EAAE;AACT,MAAM,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,aAAa;AAChD,QAAQ,4BAA4B,GAAG,WAAW,CAAC,GAAG,EAAE,GAAG,wBAAwB,CAAC;AACpF,KAAK;AACL,GAAG;AACH,EAAE,IAAI,QAAQ,IAAI,CAAC,QAAQ,CAAC,gBAAgB,IAAI,QAAQ,CAAC,IAAI,KAAK,cAAc,IAAI,QAAQ,CAAC,OAAO,EAAE;AACtG,IAAI,MAAM,IAAI,UAAU,CAAC;AACzB,MAAM,GAAGE,kBAAiC;AAC1C,MAAM,OAAO,EAAEA,kBAAiC,CAAC,OAAO;AACxD,QAAQ,WAAW;AACnB,QAAQ,QAAQ,CAAC,OAAO;AACxB,QAAQ,QAAQ,CAAC,IAAI;AACrB,OAAO;AACP,KAAK,CAAC,CAAC;AACP,GAAG;AACH,EAAE,IAAI,CAAC,IAAI,IAAI,OAAO,SAAS,KAAK,QAAQ,EAAE;AAC9C,IAAI,MAAM,GAAG,GAAG,mBAAmB,CAAC,SAAS,CAAC,CAAC;AAC/C,IAAI,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AACxD,IAAI,MAAM,oBAAoB,GAAG,cAAc,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,wBAAwB;AACjF,MAAM,KAAK;AACX,KAAK,CAAC,EAAE,cAAc;AACtB,MAAM,UAAU,KAAK,EAAE,IAAI,gBAAgB,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,UAAU,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC,CAAC;AACxF,KAAK,CAAC,CAAC,CAAC;AACR,IAAI,IAAI,GAAG,EAAE,CAAC;AACd,IAAI,MAAM,WAAW,GAAG;AACxB,MAAM,KAAK,CAAC,KAAK,EAAE;AACnB,QAAQ,IAAI,KAAK,YAAY,QAAQ,EAAE,OAAO;AAC9C,QAAQ,IAAI,IAAI,aAAa,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;AAC7C,OAAO;AACP,KAAK,CAAC;AACN,IAAI,MAAM,oBAAoB,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;AACnD,GAAG;AACH,EAAE,IAAI,CAAC,SAAS,EAAE;AAClB,IAAI,OAAO;AACX,MAAM,MAAM,CAAC,WAAW,EAAE;AAC1B,QAAQ,IAAI,gBAAgB,EAAE;AAC9B,UAAU,KAAK,MAAM,WAAW,IAAI,gBAAgB,EAAE;AACtD,YAAY,WAAW,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;AAC3C,WAAW;AACX,SAAS;AACT,QAAQ,IAAI,MAAM,IAAI,QAAQ,EAAE,IAAI,KAAK,WAAW,EAAE;AACtD,UAAU,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;AAClC,SAAS,MAAM,IAAI,IAAI,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE;AAC5C,UAAU,WAAW,CAAC,KAAK;AAC3B,YAAY,cAAc,CAAC,qBAAqB,CAAC,IAAI,EAAE,QAAQ,EAAE,GAAG,EAAE,uBAAuB,CAAC,CAAC;AAC/F,WAAW,CAAC;AACZ,SAAS;AACT,OAAO;AACP,KAAK,CAAC;AACN,GAAG;AACH,EAAE,MAAM,OAAO,GAAG,SAAS;AAC3B,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,EAAE,QAAQ,CAAC,YAAY,CAAC;AACnE,EAAE,IAAI,CAAC;AACP,EAAE,cAAc;AAChB,MAAM,KAAK;AACX,MAAM,QAAQ;AACd,KAAK,CAAC,CAAC;AACP,GAAG,CAAC;AACJ,EAAE,MAAM,MAAM,GAAG,MAAM,qBAAqB;AAC5C,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE;AAC/C,IAAI,QAAQ;AACZ,GAAG,CAAC;AACJ,EAAE,IAAI,4BAA4B,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,aAAa;AAC5E,IAAI,MAAM,CAAC,KAAK,CAAC,oBAAoB,CAAC,GAAG,4BAA4B,CAAC;AACtE,EAAE,IAAI,eAAe,GAAG,EAAE,CAAC;AAC3B,EAAE,IAAI,IAAI,EAAE;AACZ,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE;AAC1C,MAAM,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE;AAC/C,QAAQ,IAAI,OAAO,GAAG,QAAQ,EAAE,GAAG,EAAE,uBAAuB,GAAG,CAAC,CAAC,QAAQ,CAAC,OAAO,GAAG,YAAY,GAAG,mBAAmB,GAAG,YAAY,CAAC;AACtI,QAAQ,IAAI,YAAY,GAAG,GAAG,KAAK,SAAS,GAAG,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;AAC7F,QAAQ,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE;AAC1C,UAAU,eAAe,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACpC,SAAS;AACT,OAAO;AACP,KAAK;AACL,GAAG,MAAM;AACT,IAAI,eAAe,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;AAC5C,GAAG;AACH,EAAE,MAAM,QAAQ,GAAG,eAAe,CAAC,MAAM,GAAG,CAAC,GAAG,eAAe,CAAC,GAAG;AACnE,IAAI,CAAC,GAAG,KAAK,CAAC,6BAA6B,EAAE,GAAG,KAAK,SAAS,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,WAAW,CAAC;AAC/G,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC;AAClB,EAAE,MAAM,CAAC,QAAQ,GAAG,CAAC,EAAE,IAAI,IAAI,EAAE,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC;AAC/C,EAAE,IAAI,MAAM,CAAC,QAAQ,EAAE;AACvB,IAAI,MAAM,CAAC,KAAK,CAAC,gBAAgB,CAAC,GAAG,EAAE,CAAC;AACxC,IAAI,MAAM,CAAC,QAAQ,IAAI,CAAC,gBAAgB,CAAC,CAAC;AAC1C,GAAG;AACH,EAAE,OAAO;AACT,IAAI,MAAM,CAAC,WAAW,EAAE;AACxB,MAAM,IAAI,gBAAgB,EAAE;AAC5B,QAAQ,KAAK,MAAM,WAAW,IAAI,gBAAgB,EAAE;AACpD,UAAU,WAAW,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;AACzC,SAAS;AACT,OAAO;AACP,MAAM,WAAW,CAAC,KAAK,CAAC,uBAAuB,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC;AACnF,MAAM,IAAI,SAAS,CAAC,SAAS,KAAK,MAAM,IAAI,QAAQ,EAAE,GAAG,CAAC,qBAAqB,EAAE;AACjF,QAAQ,WAAW,CAAC,KAAK;AACzB,UAAU,uBAAuB,CAAC;AAClC,YAAY,IAAI,EAAE,2BAA2B;AAC7C,YAAY,YAAY,EAAE,QAAQ,CAAC,IAAI;AACvC,YAAY,MAAM,EAAE,QAAQ,CAAC,GAAG,CAAC,qBAAqB;AACtD,WAAW,CAAC;AACZ,SAAS,CAAC;AACV,OAAO;AACP,MAAM,MAAM,eAAe,GAAG,aAAa,CAAC,cAAc,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;AAC3E,MAAM,WAAW,CAAC,KAAK,CAAC,cAAc,CAAC,eAAe,CAAC,CAAC,CAAC;AACzD,KAAK;AACL,GAAG,CAAC;AACJ,CAAC;AACD,SAAS,mBAAmB,CAAC,GAAG,EAAE;AAClC,EAAE,MAAM,MAAM,GAAG,YAAY,CAAC;AAC9B,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,OAAO,GAAG,CAAC;AACpC,EAAE,OAAO,GAAG,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;AAC5C,CAAC;AACD,eAAe,uBAAuB,CAAC,MAAM,EAAE,KAAK,GAAG,EAAE,EAAE;AAC3D,EAAE,MAAM,QAAQ,GAAG,MAAM,kBAAkB,CAAC,MAAM,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;AACpE,EAAE,OAAO;AACT,IAAI,MAAM,CAAC,WAAW,EAAE;AACxB,MAAM,IAAI,QAAQ,IAAI,IAAI,EAAE,OAAO;AACnC,MAAM,WAAW,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;AAClC,KAAK;AACL,GAAG,CAAC;AACJ,CAAC;AACD,eAAe,mBAAmB,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,GAAG,EAAE,EAAE;AAC1E,EAAE,MAAM,EAAE,gBAAgB,EAAE,QAAQ,EAAE,GAAG,MAAM,WAAW,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;AAC1E,EAAE,MAAM,IAAI,GAAG,SAAS,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;AAC9C,EAAE,MAAM,aAAa,GAAG,gBAAgB,GAAG,gBAAgB,CAAC,GAAG,CAAC,CAAC,KAAK,KAAK,aAAa,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC;AACvH,EAAE,OAAO;AACT,IAAI,MAAM,CAAC,WAAW,EAAE;AACxB,MAAM,WAAW,CAAC,KAAK,CAAC,cAAc,CAAC,aAAa,GAAG,IAAI,CAAC,CAAC,CAAC;AAC9D,KAAK;AACL,GAAG,CAAC;AACJ,CAAC;AACD,SAAS,oBAAoB,CAAC,MAAM,EAAE,WAAW,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK,GAAG,EAAE,EAAE;AACjF,EAAE,IAAI,uBAAuB,CAAC,KAAK,CAAC,EAAE;AACtC,IAAI,OAAO,kBAAkB,CAAC,MAAM,EAAE,WAAW,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;AACjE,GAAG;AACH,EAAE,MAAM,QAAQ,GAAG,4BAA4B,CAAC,MAAM,EAAE,WAAW,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;AAC9F,EAAE,OAAO;AACT,IAAI,MAAM,MAAM,CAAC,WAAW,EAAE;AAC9B,MAAM,MAAM,QAAQ,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;AACzC,KAAK;AACL,GAAG,CAAC;AACJ,CAAC;AACD,eAAe,eAAe,CAAC,MAAM,EAAE,WAAW,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK,GAAG,EAAE,EAAE;AAClF,EAAE,IAAI,SAAS,CAAC,SAAS,CAAC,EAAE;AAC5B,IAAI,SAAS,GAAG,MAAM,SAAS,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC;AAC1D,GAAG;AACH,EAAE,IAAI,mBAAmB,CAAC,SAAS,CAAC,EAAE;AACtC,IAAI,OAAO,MAAM,uBAAuB,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC;AAClF,GAAG;AACH,EAAE,KAAK,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC;AAChC,EAAE,IAAI,eAAe,CAAC,SAAS,CAAC,EAAE;AAClC,IAAI,OAAO,MAAM,mBAAmB,CAAC,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC;AAChG,GAAG;AACH,EAAE,IAAI,uBAAuB,CAAC,SAAS,CAAC,EAAE;AAC1C,IAAI,OAAO,oBAAoB,CAAC,MAAM,EAAE,WAAW,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;AAC9E,GAAG;AACH,EAAE,OAAO,MAAM,wBAAwB,CAAC,MAAM,EAAE,WAAW,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,KAAK;AAC3F,IAAI,kBAAkB;AACtB,GAAG,CAAC;AACJ,EAAE,SAAS,kBAAkB,CAAC,CAAC,EAAE;AACjC,IAAI,IAAI,MAAM,CAAC,SAAS;AACxB,MAAM,OAAO;AACb,QAAQ,MAAM,GAAG;AACjB,SAAS;AACT,OAAO,CAAC;AACR,IAAI,MAAM,CAAC,CAAC;AACZ,GAAG;AACH,CAAC;AACD,SAAS,cAAc,CAAC,KAAK,EAAE;AAC/B,EAAE,IAAI,KAAK,CAAC,YAAY,CAAC,KAAK,KAAK,CAAC,EAAE;AACtC,IAAI,MAAM,KAAK,GAAG,KAAK,CAAC,YAAY,CAAC,CAAC;AACtC,IAAI,OAAO,KAAK,CAAC,YAAY,CAAC,CAAC;AAC/B,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,KAAK,CAAC,CAAC;AACjD,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE;AAC/B,MAAM,OAAO,KAAK,CAAC,OAAO,CAAC,CAAC;AAC5B,KAAK;AACL,GAAG;AACH,EAAE,OAAO,KAAK,CAAC;AACf;;ACpZA,eAAe,YAAY,CAAC,MAAM,EAAE,EAAE,EAAE;AACxC,EAAE,IAAI,MAAM,CAAC,SAAS,CAAC,eAAe,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,OAAO;AACvD,EAAE,MAAM,CAAC,SAAS,CAAC,eAAe,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;AAC3C,EAAE,MAAM,OAAO,GAAG,MAAM,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;AAChD,EAAE,IAAI,OAAO,IAAI,IAAI,EAAE;AACvB,IAAI,IAAI,OAAO,EAAE;AACjB,MAAM,OAAO,cAAc,CAAC,CAAC,sBAAsB,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC;AACzE,KAAK,MAAM;AACX,MAAM,OAAO,EAAE,CAAC;AAChB,KAAK;AACL,GAAG;AACH,EAAE,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;AAC5C,EAAE,OAAO,cAAc,CAAC,CAAC,2BAA2B,EAAE,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC;AAC7E;;ACc2B,kEAAkE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE;AAC7H,cAAc,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE;;AC4BtG,SAAS,gBAAgB,CAAC,MAAM,GAAG,EAAE,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,eAAe,EAAE,GAAG,EAAE,EAAE;AAC/E,EAAE,IAAI,MAAM,GAAG,EAAE,CAAC;AAClB,EAAE,IAAI,eAAe,EAAE;AACvB,IAAI,IAAI,OAAO,MAAM,CAAC,KAAK,KAAK,WAAW,EAAE;AAC7C,MAAM,MAAM,CAAC,KAAK,IAAI,CAAC,CAAC,EAAE,eAAe,CAAC,CAAC,CAAC;AAC5C,KAAK,MAAM,IAAI,OAAO,MAAM,CAAC,YAAY,CAAC,KAAK,WAAW,EAAE;AAC5D,MAAM,MAAM,CAAC,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC,YAAY,CAAC,EAAE,eAAe,CAAC,CAAC;AACrE,KAAK,MAAM;AACX,MAAM,MAAM,CAAC,KAAK,GAAG,eAAe,CAAC;AACrC,KAAK;AACL,GAAG;AACH,EAAE,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;AACrD,IAAI,MAAM,IAAIC,YAAa,CAAC,KAAK,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;AAC9C,GAAG;AACH,EAAE,OAAOC,cAAe,CAAC,MAAM,CAAC,CAAC;AACjC;;;;","x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31]} \ No newline at end of file diff --git a/Target/chunks/astro_BEf8Em_q.mjs.map b/Target/chunks/astro_BEf8Em_q.mjs.map deleted file mode 100644 index b9e1c08d..00000000 --- a/Target/chunks/astro_BEf8Em_q.mjs.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"astro_BEf8Em_q.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;"} \ No newline at end of file diff --git a/Target/index.html b/Target/index.html index d3c2200f..82a53ec3 100644 --- a/Target/index.html +++ b/Target/index.html @@ -1 +1 @@ -

\ No newline at end of file +
\ No newline at end of file diff --git a/Target/manifest_DidrxvqG.mjs.map b/Target/manifest_DidrxvqG.mjs.map deleted file mode 100644 index 5efe0607..00000000 --- a/Target/manifest_DidrxvqG.mjs.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"manifest_DidrxvqG.mjs","sources":["../../../../../node_modules/astro/dist/actions/runtime/virtual/shared.js","../../../../../node_modules/astro/dist/core/routing/manifest/generator.js","../../../../../node_modules/astro/dist/core/routing/manifest/serialization.js","../../../../../node_modules/astro/dist/core/app/common.js"],"sourcesContent":["import { parse as devalueParse, stringify as devalueStringify } from \"devalue\";\nimport { REDIRECT_STATUS_CODES } from \"../../../core/constants.js\";\nimport { ActionsReturnedInvalidDataError } from \"../../../core/errors/errors-data.js\";\nimport { AstroError } from \"../../../core/errors/errors.js\";\nimport { ACTION_QUERY_PARAMS as _ACTION_QUERY_PARAMS } from \"../../consts.js\";\nconst ACTION_QUERY_PARAMS = _ACTION_QUERY_PARAMS;\nconst ACTION_ERROR_CODES = [\n \"BAD_REQUEST\",\n \"UNAUTHORIZED\",\n \"FORBIDDEN\",\n \"NOT_FOUND\",\n \"TIMEOUT\",\n \"CONFLICT\",\n \"PRECONDITION_FAILED\",\n \"PAYLOAD_TOO_LARGE\",\n \"UNSUPPORTED_MEDIA_TYPE\",\n \"UNPROCESSABLE_CONTENT\",\n \"TOO_MANY_REQUESTS\",\n \"CLIENT_CLOSED_REQUEST\",\n \"INTERNAL_SERVER_ERROR\"\n];\nconst codeToStatusMap = {\n // Implemented from tRPC error code table\n // https://trpc.io/docs/server/error-handling#error-codes\n BAD_REQUEST: 400,\n UNAUTHORIZED: 401,\n FORBIDDEN: 403,\n NOT_FOUND: 404,\n TIMEOUT: 405,\n CONFLICT: 409,\n PRECONDITION_FAILED: 412,\n PAYLOAD_TOO_LARGE: 413,\n UNSUPPORTED_MEDIA_TYPE: 415,\n UNPROCESSABLE_CONTENT: 422,\n TOO_MANY_REQUESTS: 429,\n CLIENT_CLOSED_REQUEST: 499,\n INTERNAL_SERVER_ERROR: 500\n};\nconst statusToCodeMap = Object.entries(codeToStatusMap).reduce(\n // reverse the key-value pairs\n (acc, [key, value]) => ({ ...acc, [value]: key }),\n {}\n);\nclass ActionError extends Error {\n type = \"AstroActionError\";\n code = \"INTERNAL_SERVER_ERROR\";\n status = 500;\n constructor(params) {\n super(params.message);\n this.code = params.code;\n this.status = ActionError.codeToStatus(params.code);\n if (params.stack) {\n this.stack = params.stack;\n }\n }\n static codeToStatus(code) {\n return codeToStatusMap[code];\n }\n static statusToCode(status) {\n return statusToCodeMap[status] ?? \"INTERNAL_SERVER_ERROR\";\n }\n static fromJson(body) {\n if (isInputError(body)) {\n return new ActionInputError(body.issues);\n }\n if (isActionError(body)) {\n return new ActionError(body);\n }\n return new ActionError({\n code: \"INTERNAL_SERVER_ERROR\"\n });\n }\n}\nfunction isActionError(error) {\n return typeof error === \"object\" && error != null && \"type\" in error && error.type === \"AstroActionError\";\n}\nfunction isInputError(error) {\n return typeof error === \"object\" && error != null && \"type\" in error && error.type === \"AstroActionInputError\" && \"issues\" in error && Array.isArray(error.issues);\n}\nclass ActionInputError extends ActionError {\n type = \"AstroActionInputError\";\n // We don't expose all ZodError properties.\n // Not all properties will serialize from server to client,\n // and we don't want to import the full ZodError object into the client.\n issues;\n fields;\n constructor(issues) {\n super({\n message: `Failed to validate: ${JSON.stringify(issues, null, 2)}`,\n code: \"BAD_REQUEST\"\n });\n this.issues = issues;\n this.fields = {};\n for (const issue of issues) {\n if (issue.path.length > 0) {\n const key = issue.path[0].toString();\n this.fields[key] ??= [];\n this.fields[key]?.push(issue.message);\n }\n }\n }\n}\nasync function callSafely(handler) {\n try {\n const data = await handler();\n return { data, error: void 0 };\n } catch (e) {\n if (e instanceof ActionError) {\n return { data: void 0, error: e };\n }\n return {\n data: void 0,\n error: new ActionError({\n message: e instanceof Error ? e.message : \"Unknown error\",\n code: \"INTERNAL_SERVER_ERROR\"\n })\n };\n }\n}\nfunction getActionQueryString(name) {\n const searchParams = new URLSearchParams({ [_ACTION_QUERY_PARAMS.actionName]: name });\n return `?${searchParams.toString()}`;\n}\nfunction serializeActionResult(res) {\n if (res.error) {\n if (import.meta.env?.DEV) {\n actionResultErrorStack.set(res.error.stack);\n }\n return {\n type: \"error\",\n status: res.error.status,\n contentType: \"application/json\",\n body: JSON.stringify({\n ...res.error,\n message: res.error.message\n })\n };\n }\n if (res.data === void 0) {\n return {\n type: \"empty\",\n status: 204\n };\n }\n let body;\n try {\n body = devalueStringify(res.data, {\n // Add support for URL objects\n URL: (value) => value instanceof URL && value.href\n });\n } catch (e) {\n let hint = ActionsReturnedInvalidDataError.hint;\n if (res.data instanceof Response) {\n hint = REDIRECT_STATUS_CODES.includes(res.data.status) ? \"If you need to redirect when the action succeeds, trigger a redirect where the action is called. See the Actions guide for server and client redirect examples: https://docs.astro.build/en/guides/actions.\" : \"If you need to return a Response object, try using a server endpoint instead. See https://docs.astro.build/en/guides/endpoints/#server-endpoints-api-routes\";\n }\n throw new AstroError({\n ...ActionsReturnedInvalidDataError,\n message: ActionsReturnedInvalidDataError.message(String(e)),\n hint\n });\n }\n return {\n type: \"data\",\n status: 200,\n contentType: \"application/json+devalue\",\n body\n };\n}\nfunction deserializeActionResult(res) {\n if (res.type === \"error\") {\n let json;\n try {\n json = JSON.parse(res.body);\n } catch {\n return {\n data: void 0,\n error: new ActionError({\n message: res.body,\n code: \"INTERNAL_SERVER_ERROR\"\n })\n };\n }\n if (import.meta.env?.PROD) {\n return { error: ActionError.fromJson(json), data: void 0 };\n } else {\n const error = ActionError.fromJson(json);\n error.stack = actionResultErrorStack.get();\n return {\n error,\n data: void 0\n };\n }\n }\n if (res.type === \"empty\") {\n return { data: void 0, error: void 0 };\n }\n return {\n data: devalueParse(res.body, {\n URL: (href) => new URL(href)\n }),\n error: void 0\n };\n}\nconst actionResultErrorStack = /* @__PURE__ */ function actionResultErrorStackFn() {\n let errorStack;\n return {\n set(stack) {\n errorStack = stack;\n },\n get() {\n return errorStack;\n }\n };\n}();\nexport {\n ACTION_ERROR_CODES,\n ACTION_QUERY_PARAMS,\n ActionError,\n ActionInputError,\n callSafely,\n deserializeActionResult,\n getActionQueryString,\n isActionError,\n isInputError,\n serializeActionResult\n};\n","import { compile } from \"path-to-regexp\";\nfunction sanitizeParams(params) {\n return Object.fromEntries(\n Object.entries(params).map(([key, value]) => {\n if (typeof value === \"string\") {\n return [key, value.normalize().replace(/#/g, \"%23\").replace(/\\?/g, \"%3F\")];\n }\n return [key, value];\n })\n );\n}\nfunction getRouteGenerator(segments, addTrailingSlash) {\n const template = segments.map((segment) => {\n return \"/\" + segment.map((part) => {\n if (part.spread) {\n return `:${part.content.slice(3)}(.*)?`;\n } else if (part.dynamic) {\n return `:${part.content}`;\n } else {\n return part.content.normalize().replace(/\\?/g, \"%3F\").replace(/#/g, \"%23\").replace(/%5B/g, \"[\").replace(/%5D/g, \"]\").replace(/[.*+?^${}()|[\\]\\\\]/g, \"\\\\$&\");\n }\n }).join(\"\");\n }).join(\"\");\n let trailing = \"\";\n if (addTrailingSlash === \"always\" && segments.length) {\n trailing = \"/\";\n }\n const toPath = compile(template + trailing);\n return (params) => {\n const sanitizedParams = sanitizeParams(params);\n const path = toPath(sanitizedParams);\n return path || \"/\";\n };\n}\nexport {\n getRouteGenerator\n};\n","import { getRouteGenerator } from \"./generator.js\";\nfunction serializeRouteData(routeData, trailingSlash) {\n return {\n ...routeData,\n generate: void 0,\n pattern: routeData.pattern.source,\n redirectRoute: routeData.redirectRoute ? serializeRouteData(routeData.redirectRoute, trailingSlash) : void 0,\n fallbackRoutes: routeData.fallbackRoutes.map((fallbackRoute) => {\n return serializeRouteData(fallbackRoute, trailingSlash);\n }),\n _meta: { trailingSlash }\n };\n}\nfunction deserializeRouteData(rawRouteData) {\n return {\n route: rawRouteData.route,\n type: rawRouteData.type,\n pattern: new RegExp(rawRouteData.pattern),\n params: rawRouteData.params,\n component: rawRouteData.component,\n generate: getRouteGenerator(rawRouteData.segments, rawRouteData._meta.trailingSlash),\n pathname: rawRouteData.pathname || void 0,\n segments: rawRouteData.segments,\n prerender: rawRouteData.prerender,\n redirect: rawRouteData.redirect,\n redirectRoute: rawRouteData.redirectRoute ? deserializeRouteData(rawRouteData.redirectRoute) : void 0,\n fallbackRoutes: rawRouteData.fallbackRoutes.map((fallback) => {\n return deserializeRouteData(fallback);\n }),\n isIndex: rawRouteData.isIndex\n };\n}\nexport {\n deserializeRouteData,\n serializeRouteData\n};\n","import { decodeKey } from \"../encryption.js\";\nimport { deserializeRouteData } from \"../routing/manifest/serialization.js\";\nfunction deserializeManifest(serializedManifest) {\n const routes = [];\n for (const serializedRoute of serializedManifest.routes) {\n routes.push({\n ...serializedRoute,\n routeData: deserializeRouteData(serializedRoute.routeData)\n });\n const route = serializedRoute;\n route.routeData = deserializeRouteData(serializedRoute.routeData);\n }\n const assets = new Set(serializedManifest.assets);\n const componentMetadata = new Map(serializedManifest.componentMetadata);\n const inlinedScripts = new Map(serializedManifest.inlinedScripts);\n const clientDirectives = new Map(serializedManifest.clientDirectives);\n const serverIslandNameMap = new Map(serializedManifest.serverIslandNameMap);\n const key = decodeKey(serializedManifest.key);\n return {\n // in case user middleware exists, this no-op middleware will be reassigned (see plugin-ssr.ts)\n middleware(_, next) {\n return next();\n },\n ...serializedManifest,\n assets,\n componentMetadata,\n inlinedScripts,\n clientDirectives,\n routes,\n serverIslandNameMap,\n key\n };\n}\nexport {\n deserializeManifest\n};\n"],"names":[],"mappings":"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","x_google_ignoreList":[0,1,2,3]} \ No newline at end of file diff --git a/Target/pages/index.astro.mjs.map b/Target/pages/index.astro.mjs.map index facb1baa..72436c5b 100644 --- a/Target/pages/index.astro.mjs.map +++ b/Target/pages/index.astro.mjs.map @@ -1 +1 @@ -{"version":3,"file":"index.astro.mjs","sources":["../../../../../../node_modules/astro-capo/src/capo/rules.ts","../../../../../../node_modules/astro-capo/src/capo/index.ts","../../../../../../node_modules/astro-capo/src/Head.ts","../../../../../../node_modules/astro/components/ViewTransitions.astro","../../Source/Layout/Base.astro","../../Source/pages/index.astro"],"sourcesContent":["import type { ElementNode } from \"ultrahtml\";\nimport { renderSync } from 'ultrahtml';\n\ntype Attributes = Record;\n\nfunction has(value: unknown): value is string {\n return typeof value === 'string';\n}\nfunction is(a: unknown, b: T): a is T {\n return a === b;\n}\nfunction any(a: string | undefined, b: string[]): a is string {\n return has(a) && b.includes(a.toLowerCase());\n}\n\nexport const ElementWeights: Record = {\n META: 10,\n TITLE: 9,\n PRECONNECT: 8,\n ASYNC_SCRIPT: 7,\n IMPORT_STYLES: 6,\n SYNC_SCRIPT: 5,\n SYNC_STYLES: 4,\n PRELOAD: 3,\n DEFER_SCRIPT: 2,\n PREFETCH_PRERENDER: 1,\n OTHER: 0\n};\n\nexport const ElementDetectors = {\n META: isMeta,\n TITLE: isTitle,\n PRECONNECT: isPreconnect,\n DEFER_SCRIPT: isDeferScript,\n ASYNC_SCRIPT: isAsyncScript,\n IMPORT_STYLES: isImportStyles,\n SYNC_SCRIPT: isSyncScript,\n SYNC_STYLES: isSyncStyles,\n PRELOAD: isPreload,\n PREFETCH_PRERENDER: isPrefetchPrerender\n}\n\nexport const META_HTTP_EQUIV_KEYWORDS = [\n 'accept-ch',\n 'content-security-policy',\n 'content-type',\n 'default-style',\n 'delegate-ch',\n 'origin-trial',\n 'x-dns-prefetch-control'\n];\n\n// meta:is([charset], ${httpEquivSelector}, [name=viewport]), base\nexport function isMeta(name: string, a: Attributes) {\n if (name === 'base') return true;\n if (name !== 'meta') return false;\n return has(a.charset) || is(a.name, 'viewport') || any(a['http-equiv'], META_HTTP_EQUIV_KEYWORDS)\n}\n\n// title\nexport function isTitle(name: string) {\n return name === 'title';\n}\n\n// link[rel=preconnect]\nexport function isPreconnect(name: string, { rel }: Attributes) {\n return name === 'link' && is(rel, 'preconnect');\n}\n\n// script[src][async]\nexport function isAsyncScript(name: string, { src, async }: Attributes) {\n return name === 'script' && has(src) && has(async);\n}\n\n// style that contains @import\nexport function isImportStyles(name: string, a: Attributes, children: string) {\n const importRe = /@import/;\n\n if (name === 'style') {\n return importRe.test(children);\n }\n\n // Can't support external stylesheets on the server\n return false;\n}\n\n// script:not([src][defer],[src][type=module],[src][async],[type*=json])\nexport function isSyncScript(name: string, { src, defer, async, type = '' }: Attributes) {\n if (name !== 'script') return false;\n return !(has(src) && (has(defer) || has(async) || is(type, 'module')) || type.includes('json'))\n}\n\n// link[rel=stylesheet],style\nexport function isSyncStyles(name: string, { rel }: Attributes) {\n if (name === 'style') return true;\n return name === 'link' && is(rel, 'stylesheet')\n}\n\n// link:is([rel=preload], [rel=modulepreload])\nexport function isPreload(name: string, { rel }: Attributes) {\n return name === 'link' && any(rel, ['preload', 'modulepreload']);\n}\n\n// script[src][defer], script:not([src][async])[src][type=module]\nexport function isDeferScript(name: string, { src, defer, async, type }: Attributes) {\n if (name !== 'script') return false;\n return (has(src) && has(defer)) || (has(src) && is(type, 'module') && !has(async));\n}\n\n// link:is([rel=prefetch], [rel=dns-prefetch], [rel=prerender])\nexport function isPrefetchPrerender(name: string, { rel }: Attributes) {\n return name === 'link' && any(rel, ['prefetch', 'dns-prefetch', 'prerender'])\n}\n\n// meta[http-equiv=\"origin-trial\"i]\nexport function isOriginTrial(name: string, { 'http-equiv': http }: Attributes) {\n return name === 'meta' && is(http, 'origin-trial');\n}\n\n// meta[http-equiv=\"Content-Security-Policy\" i]\nexport function isMetaCSP(name: string, { 'http-equiv': http }: Attributes) {\n return name === 'meta' && is(http, 'Content-Security-Policy');\n}\n\nexport function getWeight(element: ElementNode) {\n for (const [id, detector] of Object.entries(ElementDetectors)) {\n const children = (element.name === 'style' && element.children.length > 0) ? renderSync(element) : '';\n if (detector(element.name, element.attributes, children)) {\n return ElementWeights[id];\n }\n }\n return ElementWeights.OTHER;\n}\n","import type { ElementNode } from 'ultrahtml';\nimport { parse, walkSync, renderSync, ELEMENT_NODE } from 'ultrahtml';\nimport { getWeight } from './rules.ts';\n\nexport default function capo(html: string) {\n const ast = parse(html);\n try {\n walkSync(ast, (node, parent, index) => {\n if (node.type === ELEMENT_NODE && node.name === 'head') {\n if (parent) {\n parent.children.splice(index, 1, getSortedHead(node));\n throw 'done' // short-circuit\n }\n }\n })\n } catch (e) {\n if (e !== 'done') throw e;\n }\n return renderSync(ast);\n}\n\nfunction getSortedHead(head: ElementNode): ElementNode {\n const weightedChildren = head.children.map((node) => {\n if (node.type === ELEMENT_NODE) {\n const weight = getWeight(node);\n return [weight, node];\n }\n }).filter(Boolean) as [number, ElementNode][]\n const children = weightedChildren.sort((a, b) => b[0] - a[0]).map(([_, element]) => element)\n return { ...head, children };\n}\n","import type { SSRResult } from \"astro\";\n// @ts-expect-error using astro internals\nimport { renderAllHeadContent } from \"astro/runtime/server/render/head.js\";\n// @ts-expect-error using astro internals\nimport { createComponent, unescapeHTML, renderSlotToString, spreadAttributes } from \"astro/runtime/server/index.js\";\nimport capo from \"./capo/index.ts\";\n\nexport const Head = createComponent({\n factory: async (result: SSRResult, props: Record, slots: Record) => {\n let head = '';\n head += ``\n head += await renderSlotToString(result, slots.default);\n head += renderAllHeadContent(result);\n head += '';\n return unescapeHTML(capo(head));\n }\n})\n","---\ntype Fallback = 'none' | 'animate' | 'swap';\n\nexport interface Props {\n\tfallback?: Fallback;\n\t/** @deprecated handleForms is enabled by default in Astro 4.0\n\t *\n\t * Set `data-astro-reload` on your form to opt-out of the default behavior.\n\t */\n\thandleForms?: boolean;\n}\n\nconst { fallback = 'animate' } = Astro.props;\n---\n\n\n\n\n\n","---\nimport \"@Stylesheet/Base.css\";\n\n// TODO Place your title and description here\nconst { Title = \"\", Description = \"\" } = Astro.props;\n\ninterface Props {\n\tTitle?: string;\n\tDescription?: string;\n}\n\nimport { Head } from \"astro-capo\";\nimport { ViewTransitions } from \"astro:transitions\";\n---\n\n\n\n\t\n\t\t\n\n\t\t\n\t\t{Title}\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\n\t\t\n\t\t\n\t\t\n\t\t\n\n\t\t\n\n\t\t\n\n\t\t\n\n\t\t\n\n\t\t\n\t\t\n\t\n\t\n\t\t
\n\t\t\t\n\t\t
\n\t\t\n\t\n\n","---\nimport Base from \"@Layout/Base.astro\";\n---\n\n\n"],"names":["$$createComponent","Astro","$$Astro","$$render","$$addAttribute","$$renderScript","$$createAstro","$$renderComponent","$$result","$$renderSlot","ViewTransitions","$$maybeRenderHead","Base"],"mappings":"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","x_google_ignoreList":[0,1,2,3]} \ No newline at end of file +{"version":3,"file":"index.astro.mjs","sources":["../../../../../../node_modules/astro-capo/src/capo/rules.ts","../../../../../../node_modules/astro-capo/src/capo/index.ts","../../../../../../node_modules/astro-capo/src/Head.ts","../../../../../../node_modules/astro/components/ViewTransitions.astro","../../Source/Layout/Base.astro","../../Source/pages/index.astro"],"sourcesContent":["import type { ElementNode } from \"ultrahtml\";\nimport { renderSync } from 'ultrahtml';\n\ntype Attributes = Record;\n\nfunction has(value: unknown): value is string {\n return typeof value === 'string';\n}\nfunction is(a: unknown, b: T): a is T {\n return a === b;\n}\nfunction any(a: string | undefined, b: string[]): a is string {\n return has(a) && b.includes(a.toLowerCase());\n}\n\nexport const ElementWeights: Record = {\n META: 10,\n TITLE: 9,\n PRECONNECT: 8,\n ASYNC_SCRIPT: 7,\n IMPORT_STYLES: 6,\n SYNC_SCRIPT: 5,\n SYNC_STYLES: 4,\n PRELOAD: 3,\n DEFER_SCRIPT: 2,\n PREFETCH_PRERENDER: 1,\n OTHER: 0\n};\n\nexport const ElementDetectors = {\n META: isMeta,\n TITLE: isTitle,\n PRECONNECT: isPreconnect,\n DEFER_SCRIPT: isDeferScript,\n ASYNC_SCRIPT: isAsyncScript,\n IMPORT_STYLES: isImportStyles,\n SYNC_SCRIPT: isSyncScript,\n SYNC_STYLES: isSyncStyles,\n PRELOAD: isPreload,\n PREFETCH_PRERENDER: isPrefetchPrerender\n}\n\nexport const META_HTTP_EQUIV_KEYWORDS = [\n 'accept-ch',\n 'content-security-policy',\n 'content-type',\n 'default-style',\n 'delegate-ch',\n 'origin-trial',\n 'x-dns-prefetch-control'\n];\n\n// meta:is([charset], ${httpEquivSelector}, [name=viewport]), base\nexport function isMeta(name: string, a: Attributes) {\n if (name === 'base') return true;\n if (name !== 'meta') return false;\n return has(a.charset) || is(a.name, 'viewport') || any(a['http-equiv'], META_HTTP_EQUIV_KEYWORDS)\n}\n\n// title\nexport function isTitle(name: string) {\n return name === 'title';\n}\n\n// link[rel=preconnect]\nexport function isPreconnect(name: string, { rel }: Attributes) {\n return name === 'link' && is(rel, 'preconnect');\n}\n\n// script[src][async]\nexport function isAsyncScript(name: string, { src, async }: Attributes) {\n return name === 'script' && has(src) && has(async);\n}\n\n// style that contains @import\nexport function isImportStyles(name: string, a: Attributes, children: string) {\n const importRe = /@import/;\n\n if (name === 'style') {\n return importRe.test(children);\n }\n\n // Can't support external stylesheets on the server\n return false;\n}\n\n// script:not([src][defer],[src][type=module],[src][async],[type*=json])\nexport function isSyncScript(name: string, { src, defer, async, type = '' }: Attributes) {\n if (name !== 'script') return false;\n return !(has(src) && (has(defer) || has(async) || is(type, 'module')) || type.includes('json'))\n}\n\n// link[rel=stylesheet],style\nexport function isSyncStyles(name: string, { rel }: Attributes) {\n if (name === 'style') return true;\n return name === 'link' && is(rel, 'stylesheet')\n}\n\n// link:is([rel=preload], [rel=modulepreload])\nexport function isPreload(name: string, { rel }: Attributes) {\n return name === 'link' && any(rel, ['preload', 'modulepreload']);\n}\n\n// script[src][defer], script:not([src][async])[src][type=module]\nexport function isDeferScript(name: string, { src, defer, async, type }: Attributes) {\n if (name !== 'script') return false;\n return (has(src) && has(defer)) || (has(src) && is(type, 'module') && !has(async));\n}\n\n// link:is([rel=prefetch], [rel=dns-prefetch], [rel=prerender])\nexport function isPrefetchPrerender(name: string, { rel }: Attributes) {\n return name === 'link' && any(rel, ['prefetch', 'dns-prefetch', 'prerender'])\n}\n\n// meta[http-equiv=\"origin-trial\"i]\nexport function isOriginTrial(name: string, { 'http-equiv': http }: Attributes) {\n return name === 'meta' && is(http, 'origin-trial');\n}\n\n// meta[http-equiv=\"Content-Security-Policy\" i]\nexport function isMetaCSP(name: string, { 'http-equiv': http }: Attributes) {\n return name === 'meta' && is(http, 'Content-Security-Policy');\n}\n\nexport function getWeight(element: ElementNode) {\n for (const [id, detector] of Object.entries(ElementDetectors)) {\n const children = (element.name === 'style' && element.children.length > 0) ? renderSync(element) : '';\n if (detector(element.name, element.attributes, children)) {\n return ElementWeights[id];\n }\n }\n return ElementWeights.OTHER;\n}\n","import type { ElementNode } from 'ultrahtml';\nimport { parse, walkSync, renderSync, ELEMENT_NODE } from 'ultrahtml';\nimport { getWeight } from './rules.ts';\n\nexport default function capo(html: string) {\n const ast = parse(html);\n try {\n walkSync(ast, (node, parent, index) => {\n if (node.type === ELEMENT_NODE && node.name === 'head') {\n if (parent) {\n parent.children.splice(index, 1, getSortedHead(node));\n throw 'done' // short-circuit\n }\n }\n })\n } catch (e) {\n if (e !== 'done') throw e;\n }\n return renderSync(ast);\n}\n\nfunction getSortedHead(head: ElementNode): ElementNode {\n const weightedChildren = head.children.map((node) => {\n if (node.type === ELEMENT_NODE) {\n const weight = getWeight(node);\n return [weight, node];\n }\n }).filter(Boolean) as [number, ElementNode][]\n const children = weightedChildren.sort((a, b) => b[0] - a[0]).map(([_, element]) => element)\n return { ...head, children };\n}\n","import type { SSRResult } from \"astro\";\n// @ts-expect-error using astro internals\nimport { renderAllHeadContent } from \"astro/runtime/server/render/head.js\";\n// @ts-expect-error using astro internals\nimport { createComponent, unescapeHTML, renderSlotToString, spreadAttributes } from \"astro/runtime/server/index.js\";\nimport capo from \"./capo/index.ts\";\n\nexport const Head = createComponent({\n factory: async (result: SSRResult, props: Record, slots: Record) => {\n let head = '';\n head += ``\n head += await renderSlotToString(result, slots.default);\n head += renderAllHeadContent(result);\n head += '';\n return unescapeHTML(capo(head));\n }\n})\n","---\ntype Fallback = 'none' | 'animate' | 'swap';\n\nexport interface Props {\n\tfallback?: Fallback;\n\t/** @deprecated handleForms is enabled by default in Astro 4.0\n\t *\n\t * Set `data-astro-reload` on your form to opt-out of the default behavior.\n\t */\n\thandleForms?: boolean;\n}\n\nconst { fallback = 'animate' } = Astro.props;\n---\n\n\n\n\n\n","---\nimport \"@Stylesheet/Base.css\";\n\n// TODO Place your title and description here\nconst { Title = \"\", Description = \"\" } = Astro.props;\n\ninterface Props {\n\tTitle?: string;\n\tDescription?: string;\n}\n\nimport { Head } from \"astro-capo\";\nimport { ViewTransitions } from \"astro:transitions\";\n---\n\n\n\n\t\n\t\t\n\n\t\t\n\t\t{Title}\n\t\t\n\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\n\t\t\n\t\t\n\t\t\n\t\t\n\n\t\t\n\n\t\t\n\n\t\t\n\n\t\t\n\t\t\n\t\n\t\n\t\t
\n\t\t\t\n\t\t
\n\t\t\n\t\n\n","---\nimport Base from \"@Layout/Base.astro\";\n---\n\n\n"],"names":["$$createComponent","Astro","$$Astro","$$render","$$addAttribute","$$renderScript","$$createAstro","$$renderComponent","$$result","$$renderSlot","ViewTransitions","$$maybeRenderHead","Base"],"mappings":"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","x_google_ignoreList":[0,1,2,3]} \ No newline at end of file From f44274a6837168457d637e9b1055999d866cf089 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 1 Oct 2024 01:40:24 +0000 Subject: [PATCH 077/112] Bump firebase from 10.13.2 to 10.14.0 Bumps [firebase](https://github.com/firebase/firebase-js-sdk) from 10.13.2 to 10.14.0. - [Release notes](https://github.com/firebase/firebase-js-sdk/releases) - [Changelog](https://github.com/firebase/firebase-js-sdk/blob/main/CHANGELOG.md) - [Commits](https://github.com/firebase/firebase-js-sdk/compare/firebase@10.13.2...firebase@10.14.0) --- updated-dependencies: - dependency-name: firebase dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 86edfb75..e93dbd4a 100644 --- a/package.json +++ b/package.json @@ -43,7 +43,7 @@ "cssnano": "7.0.6", "cssnano-preset-advanced": "7.0.6", "dotenv": "16.4.5", - "firebase": "10.13.2", + "firebase": "10.14.0", "postcss": "8.4.47", "postcss-combine-duplicated-selectors": "10.0.3", "postcss-combine-media-query": "1.0.1", From 6899e1a21101914eef03d69947393e27bbd51fdc Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 2 Oct 2024 01:12:41 +0000 Subject: [PATCH 078/112] Bump astro from 4.15.9 to 4.15.10 Bumps [astro](https://github.com/withastro/astro/tree/HEAD/packages/astro) from 4.15.9 to 4.15.10. - [Release notes](https://github.com/withastro/astro/releases) - [Changelog](https://github.com/withastro/astro/blob/main/packages/astro/CHANGELOG.md) - [Commits](https://github.com/withastro/astro/commits/astro@4.15.10/packages/astro) --- updated-dependencies: - dependency-name: astro dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index e93dbd4a..7c41c216 100644 --- a/package.json +++ b/package.json @@ -36,7 +36,7 @@ "@tailwindcss/aspect-ratio": "0.4.2", "@tailwindcss/forms": "0.5.9", "@tailwindcss/typography": "0.5.15", - "astro": "4.15.9", + "astro": "4.15.10", "astro-capo": "0.0.1", "astrojs-service-worker": "2.0.0", "autoprefixer": "10.4.20", From cbfb7e60f3e7651dc094e127eac0b1c420664cb1 Mon Sep 17 00:00:00 2001 From: Nikola Hristov Date: Thu, 3 Oct 2024 07:55:16 +0300 Subject: [PATCH 079/112] --- Source/Layout/Base.astro | 10 ++++------ Source/Stylesheet/Base.css | 1 - Source/Stylesheet/Global.css | 8 +------- 3 files changed, 5 insertions(+), 14 deletions(-) diff --git a/Source/Layout/Base.astro b/Source/Layout/Base.astro index 9217ba74..0b6cacc6 100644 --- a/Source/Layout/Base.astro +++ b/Source/Layout/Base.astro @@ -1,6 +1,9 @@ --- import "@Stylesheet/Base.css"; +import { Head } from "astro-capo"; +import { ViewTransitions } from "astro:transitions"; + // TODO Place your title and description here const { Title = "", Description = "" } = Astro.props; @@ -8,9 +11,6 @@ interface Props { Title?: string; Description?: string; } - -import { Head } from "astro-capo"; -import { ViewTransitions } from "astro:transitions"; --- @@ -49,9 +49,7 @@ import { ViewTransitions } from "astro:transitions"; @import "@Stylesheet/Global.css"; - - - + diff --git a/Source/Stylesheet/Base.css b/Source/Stylesheet/Base.css index b2fa2c08..caff2232 100644 --- a/Source/Stylesheet/Base.css +++ b/Source/Stylesheet/Base.css @@ -6,6 +6,5 @@ @layer base { :root { --background-light: theme("colors.white"); - --background-dark: theme("colors.black"); } } diff --git a/Source/Stylesheet/Global.css b/Source/Stylesheet/Global.css index ca32ad22..e2e2cc27 100644 --- a/Source/Stylesheet/Global.css +++ b/Source/Stylesheet/Global.css @@ -8,7 +8,7 @@ body { } body { - @apply flex flex-grow flex-col bg-white tabular-nums text-black antialiased sm:subpixel-antialiased dark:bg-black dark:text-white; + @apply flex flex-grow flex-col bg-white tabular-nums text-black antialiased sm:subpixel-antialiased; font-variant-ligatures: no-common-ligatures; } @@ -20,12 +20,6 @@ body { @apply bg-amber-400 text-black; } -@media (prefers-color-scheme: dark) { - *::selection, - ::selection { - @apply bg-orange-400 text-white; - } -} img { @apply inline-block select-none align-top outline-none; From 0d440bbfb04f9f34ea6f422b72b36c6902d32bc8 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 4 Oct 2024 01:28:55 +0000 Subject: [PATCH 080/112] Bump @astrojs/sitemap from 3.1.6 to 3.2.0 Bumps [@astrojs/sitemap](https://github.com/withastro/astro/tree/HEAD/packages/integrations/sitemap) from 3.1.6 to 3.2.0. - [Release notes](https://github.com/withastro/astro/releases) - [Changelog](https://github.com/withastro/astro/blob/main/packages/integrations/sitemap/CHANGELOG.md) - [Commits](https://github.com/withastro/astro/commits/@astrojs/sitemap@3.2.0/packages/integrations/sitemap) --- updated-dependencies: - dependency-name: "@astrojs/sitemap" dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 7c41c216..ae656b0d 100644 --- a/package.json +++ b/package.json @@ -28,7 +28,7 @@ "prepublishOnly": "astro build" }, "dependencies": { - "@astrojs/sitemap": "3.1.6", + "@astrojs/sitemap": "3.2.0", "@playform/build": "0.1.7", "@playform/compress": "0.1.1", "@playform/format": "0.0.7", From 329806a8f6c668aa8a7e5a8ace0933d5fb35eff2 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 4 Oct 2024 01:29:11 +0000 Subject: [PATCH 081/112] Bump astro from 4.15.10 to 4.15.11 Bumps [astro](https://github.com/withastro/astro/tree/HEAD/packages/astro) from 4.15.10 to 4.15.11. - [Release notes](https://github.com/withastro/astro/releases) - [Changelog](https://github.com/withastro/astro/blob/main/packages/astro/CHANGELOG.md) - [Commits](https://github.com/withastro/astro/commits/astro@4.15.11/packages/astro) --- updated-dependencies: - dependency-name: astro dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 7c41c216..a5eb3a3b 100644 --- a/package.json +++ b/package.json @@ -36,7 +36,7 @@ "@tailwindcss/aspect-ratio": "0.4.2", "@tailwindcss/forms": "0.5.9", "@tailwindcss/typography": "0.5.15", - "astro": "4.15.10", + "astro": "4.15.11", "astro-capo": "0.0.1", "astrojs-service-worker": "2.0.0", "autoprefixer": "10.4.20", From b3b879b69f35a7293e9b8859f1973e44619a07e5 Mon Sep 17 00:00:00 2001 From: Nikola Hristov Date: Fri, 4 Oct 2024 14:49:30 +0300 Subject: [PATCH 082/112] --- LICENSE | 131 ++++++++++++++++++++++++++++++++++++++++-------- astro.config.ts | 4 +- 2 files changed, 113 insertions(+), 22 deletions(-) diff --git a/LICENSE b/LICENSE index f236d76d..80115952 100644 --- a/LICENSE +++ b/LICENSE @@ -1,20 +1,111 @@ -MIT License - -Copyright (c) 2023-2024 PlayForm - -Permission is hereby granted, free of charge, to any person obtaining a copy of -this software and associated documentation files (the "Software"), to deal in -the Software without restriction, including without limitation the rights to -use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of -the Software, and to permit persons to whom the Software is furnished to do so, -subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS -FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR -COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER -IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN -CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +Creative Commons Legal Code + +CC0 1.0 Universal + + CREATIVE COMMONS CORPORATION IS NOT A LAW FIRM AND DOES NOT PROVIDE + LEGAL SERVICES. DISTRIBUTION OF THIS DOCUMENT DOES NOT CREATE AN + ATTORNEY-CLIENT RELATIONSHIP. CREATIVE COMMONS PROVIDES THIS + INFORMATION ON AN "AS-IS" BASIS. CREATIVE COMMONS MAKES NO WARRANTIES + REGARDING THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS + PROVIDED HEREUNDER, AND DISCLAIMS LIABILITY FOR DAMAGES RESULTING FROM + THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS PROVIDED + HEREUNDER. + +Statement of Purpose + +The laws of most jurisdictions throughout the world automatically confer +exclusive Copyright and Related Rights (defined below) upon the creator and +subsequent owner(s) (each and all, an "owner") of an original work of authorship +and/or a database (each, a "Work"). + +Certain owners wish to permanently relinquish those rights to a Work for the +purpose of contributing to a commons of creative, cultural and scientific works +("Commons") that the public can reliably and without fear of later claims of +infringement build upon, modify, incorporate in other works, reuse and +redistribute as freely as possible in any form whatsoever and for any purposes, +including without limitation commercial purposes. These owners may contribute to +the Commons to promote the ideal of a free culture and the further production of +creative, cultural and scientific works, or to gain reputation or greater +distribution for their Work in part through the use and efforts of others. + +For these and/or other purposes and motivations, and without any expectation of +additional consideration or compensation, the person associating CC0 with a Work +(the "Affirmer"), to the extent that he or she is an owner of Copyright and +Related Rights in the Work, voluntarily elects to apply CC0 to the Work and +publicly distribute the Work under its terms, with knowledge of his or her +Copyright and Related Rights in the Work and the meaning and intended legal +effect of CC0 on those rights. + +1. Copyright and Related Rights. A Work made available under CC0 may be + protected by copyright and related or neighboring rights ("Copyright and + Related Rights"). Copyright and Related Rights include, but are not limited + to, the following: + +i. the right to reproduce, adapt, distribute, perform, display, communicate, and +translate a Work; ii. moral rights retained by the original author(s) and/or +performer(s); iii. publicity and privacy rights pertaining to a person's image +or likeness depicted in a Work; iv. rights protecting against unfair competition +in regards to a Work, subject to the limitations in paragraph 4(a), below; v. +rights protecting the extraction, dissemination, use and reuse of data in a +Work; vi. database rights (such as those arising under Directive 96/9/EC of the +European Parliament and of the Council of 11 March 1996 on the legal protection +of databases, and under any national implementation thereof, including any +amended or successor version of such directive); and vii. other similar, +equivalent or corresponding rights throughout the world based on applicable law +or treaty, and any national implementations thereof. + +2. Waiver. To the greatest extent permitted by, but not in contravention of, + applicable law, Affirmer hereby overtly, fully, permanently, irrevocably and + unconditionally waives, abandons, and surrenders all of Affirmer's Copyright + and Related Rights and associated claims and causes of action, whether now + known or unknown (including existing as well as future claims and causes of + action), in the Work (i) in all territories worldwide, (ii) for the maximum + duration provided by applicable law or treaty (including future time + extensions), (iii) in any current or future medium and for any number of + copies, and (iv) for any purpose whatsoever, including without limitation + commercial, advertising or promotional purposes (the "Waiver"). Affirmer + makes the Waiver for the benefit of each member of the public at large and to + the detriment of Affirmer's heirs and successors, fully intending that such + Waiver shall not be subject to revocation, rescission, cancellation, + termination, or any other legal or equitable action to disrupt the quiet + enjoyment of the Work by the public as contemplated by Affirmer's express + Statement of Purpose. + +3. Public License Fallback. Should any part of the Waiver for any reason be + judged legally invalid or ineffective under applicable law, then the Waiver + shall be preserved to the maximum extent permitted taking into account + Affirmer's express Statement of Purpose. In addition, to the extent the + Waiver is so judged Affirmer hereby grants to each affected person a + royalty-free, non transferable, non sublicensable, non exclusive, irrevocable + and unconditional license to exercise Affirmer's Copyright and Related Rights + in the Work (i) in all territories worldwide, (ii) for the maximum duration + provided by applicable law or treaty (including future time extensions), + (iii) in any current or future medium and for any number of copies, and (iv) + for any purpose whatsoever, including without limitation commercial, + advertising or promotional purposes (the "License"). The License shall be + deemed effective as of the date CC0 was applied by Affirmer to the Work. + Should any part of the License for any reason be judged legally invalid or + ineffective under applicable law, such partial invalidity or ineffectiveness + shall not invalidate the remainder of the License, and in such case Affirmer + hereby affirms that he or she will not (i) exercise any of his or her + remaining Copyright and Related Rights in the Work or (ii) assert any + associated claims and causes of action with respect to the Work, in either + case contrary to Affirmer's express Statement of Purpose. + +4. Limitations and Disclaimers. + +a. No trademark or patent rights held by Affirmer are waived, abandoned, +surrendered, licensed or otherwise affected by this document. b. Affirmer offers +the Work as-is and makes no representations or warranties of any kind concerning +the Work, express, implied, statutory or otherwise, including without limitation +warranties of title, merchantability, fitness for a particular purpose, non +infringement, or the absence of latent or other defects, accuracy, or the +present or absence of errors, whether or not discoverable, all to the greatest +extent permissible under applicable law. c. Affirmer disclaims responsibility +for clearing rights of other persons that may apply to the Work or any use +thereof, including without limitation any person's Copyright and Related Rights +in the Work. Further, Affirmer disclaims responsibility for obtaining any +necessary consents, permissions or other rights required for any use of the +Work. d. Affirmer understands and acknowledges that Creative Commons is not a +party to this document and has no duty or obligation with respect to this CC0 or +use of the Work. diff --git a/astro.config.ts b/astro.config.ts index e6042cb6..44a7c863 100644 --- a/astro.config.ts +++ b/astro.config.ts @@ -1,3 +1,5 @@ +import type { defineConfig } from "astro/config"; + export default (await import("astro/config")).defineConfig({ srcDir: "./Source", publicDir: "./Public", @@ -35,5 +37,3 @@ export default (await import("astro/config")).defineConfig({ }, }, }) as typeof defineConfig; - -import type { defineConfig } from "astro/config"; From 3b845799477693d889b08ba63be84df758db9e5c Mon Sep 17 00:00:00 2001 From: Nikola Hristov Date: Fri, 4 Oct 2024 20:49:26 +0300 Subject: [PATCH 083/112] --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 3f90bf5a..76eca28f 100644 --- a/package.json +++ b/package.json @@ -36,7 +36,7 @@ "@tailwindcss/aspect-ratio": "0.4.2", "@tailwindcss/forms": "0.5.9", "@tailwindcss/typography": "0.5.15", - "astro": "4.15.11", + "astro": "*", "astro-capo": "0.0.1", "astrojs-service-worker": "2.0.0", "autoprefixer": "10.4.20", From 173f4aa44042a8217313597e5914dfc2c982130b Mon Sep 17 00:00:00 2001 From: Nikola Hristov Date: Mon, 7 Oct 2024 20:23:53 +0300 Subject: [PATCH 084/112] --- LICENSE | 42 +++++++++++++++++++++++------------------- 1 file changed, 23 insertions(+), 19 deletions(-) diff --git a/LICENSE b/LICENSE index 80115952..97e19042 100644 --- a/LICENSE +++ b/LICENSE @@ -68,29 +68,27 @@ or treaty, and any national implementations thereof. the detriment of Affirmer's heirs and successors, fully intending that such Waiver shall not be subject to revocation, rescission, cancellation, termination, or any other legal or equitable action to disrupt the quiet - enjoyment of the Work by the public as contemplated by Affirmer's express - Statement of Purpose. + enjoyment of the Work by the public as contemplated by Affirmer's express . 3. Public License Fallback. Should any part of the Waiver for any reason be judged legally invalid or ineffective under applicable law, then the Waiver shall be preserved to the maximum extent permitted taking into account - Affirmer's express Statement of Purpose. In addition, to the extent the - Waiver is so judged Affirmer hereby grants to each affected person a - royalty-free, non transferable, non sublicensable, non exclusive, irrevocable - and unconditional license to exercise Affirmer's Copyright and Related Rights - in the Work (i) in all territories worldwide, (ii) for the maximum duration - provided by applicable law or treaty (including future time extensions), - (iii) in any current or future medium and for any number of copies, and (iv) - for any purpose whatsoever, including without limitation commercial, - advertising or promotional purposes (the "License"). The License shall be - deemed effective as of the date CC0 was applied by Affirmer to the Work. - Should any part of the License for any reason be judged legally invalid or - ineffective under applicable law, such partial invalidity or ineffectiveness - shall not invalidate the remainder of the License, and in such case Affirmer - hereby affirms that he or she will not (i) exercise any of his or her - remaining Copyright and Related Rights in the Work or (ii) assert any - associated claims and causes of action with respect to the Work, in either - case contrary to Affirmer's express Statement of Purpose. + Affirmer's express . In addition, to the extent the Waiver is so judged + Affirmer hereby grants to each affected person a royalty-free, non + transferable, non sublicensable, non exclusive, irrevocable and unconditional + license to exercise Affirmer's Copyright and Related Rights in the Work (i) + in all territories worldwide, (ii) for the maximum duration provided by + applicable law or treaty (including future time extensions), (iii) in any + current or future medium and for any number of copies, and (iv) for any + purpose whatsoever, including without limitation commercial, advertising or + promotional purposes (the "License"). The License shall be deemed effective + as of the date CC0 was applied by Affirmer to the Work. Should any part of + the License for any reason be judged legally invalid or ineffective under + applicable law, such partial invalidity or ineffectiveness shall not + invalidate the remainder of the License, and in such case Affirmer hereby + affirms that he or she will not (i) exercise any of his or her remaining + Copyright and Related Rights in the Work or (ii) assert any associated claims + and causes of action with respect to the Work, in either case contrary to 4. Limitations and Disclaimers. @@ -109,3 +107,9 @@ necessary consents, permissions or other rights required for any use of the Work. d. Affirmer understands and acknowledges that Creative Commons is not a party to this document and has no duty or obligation with respect to this CC0 or use of the Work. + +--- + +Note: The above license applies only to the modifications made by PlayForm to +the original work. The original work is licensed under the following licenses +and is subject to its terms and conditions: From 6233d9361068c7712ae14573abf5d4661a120794 Mon Sep 17 00:00:00 2001 From: Nikola Hristov Date: Mon, 7 Oct 2024 22:44:46 +0300 Subject: [PATCH 085/112] --- LICENSE | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/LICENSE b/LICENSE index 97e19042..b3e97606 100644 --- a/LICENSE +++ b/LICENSE @@ -112,4 +112,4 @@ use of the Work. Note: The above license applies only to the modifications made by PlayForm to the original work. The original work is licensed under the following licenses -and is subject to its terms and conditions: +and is subject to their terms and conditions: From dea0f7c9cee794bfc60e7d4b016df18abaaea014 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 8 Oct 2024 01:10:37 +0000 Subject: [PATCH 086/112] Bump actions/checkout from 4.2.0 to 4.2.1 Bumps [actions/checkout](https://github.com/actions/checkout) from 4.2.0 to 4.2.1. - [Release notes](https://github.com/actions/checkout/releases) - [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md) - [Commits](https://github.com/actions/checkout/compare/v4.2.0...v4.2.1) --- updated-dependencies: - dependency-name: actions/checkout dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- .github/workflows/NPM.yml | 2 +- .github/workflows/Node.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/NPM.yml b/.github/workflows/NPM.yml index 57b8f9a9..76ab61a0 100644 --- a/.github/workflows/NPM.yml +++ b/.github/workflows/NPM.yml @@ -57,7 +57,7 @@ jobs: id-token: write steps: - - uses: actions/checkout@v4.2.0 + - uses: actions/checkout@v4.2.1 - uses: actions/setup-node@v4.0.4 with: diff --git a/.github/workflows/Node.yml b/.github/workflows/Node.yml index eaefd27b..6a0cc3fa 100644 --- a/.github/workflows/Node.yml +++ b/.github/workflows/Node.yml @@ -59,7 +59,7 @@ jobs: node-version: [18, 19, 20] steps: - - uses: actions/checkout@v4.2.0 + - uses: actions/checkout@v4.2.1 - uses: pnpm/action-setup@v4.0.0 with: From bf075281bb77a04cab231654e236143ecf8c2f03 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 8 Oct 2024 01:26:08 +0000 Subject: [PATCH 087/112] Bump @playform/compress from 0.1.1 to 0.1.2 Bumps [@playform/compress](https://github.com/PlayForm/Compress) from 0.1.1 to 0.1.2. - [Release notes](https://github.com/PlayForm/Compress/releases) - [Changelog](https://github.com/PlayForm/Compress/blob/Current/CHANGELOG.md) - [Commits](https://github.com/PlayForm/Compress/compare/Compress/v0.1.1...Compress/v0.1.2) --- updated-dependencies: - dependency-name: "@playform/compress" dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 76eca28f..78971300 100644 --- a/package.json +++ b/package.json @@ -30,7 +30,7 @@ "dependencies": { "@astrojs/sitemap": "3.2.0", "@playform/build": "0.1.7", - "@playform/compress": "0.1.1", + "@playform/compress": "0.1.2", "@playform/format": "0.0.7", "@playform/inline": "0.1.0", "@tailwindcss/aspect-ratio": "0.4.2", From 45d9aa071ecc2821baf62946e00c0529524d5755 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 9 Oct 2024 01:38:22 +0000 Subject: [PATCH 088/112] Bump @playform/compress from 0.1.2 to 0.1.4 Bumps [@playform/compress](https://github.com/PlayForm/Compress) from 0.1.2 to 0.1.4. - [Release notes](https://github.com/PlayForm/Compress/releases) - [Changelog](https://github.com/PlayForm/Compress/blob/Current/CHANGELOG.md) - [Commits](https://github.com/PlayForm/Compress/compare/Compress/v0.1.2...Compress/v0.1.4) --- updated-dependencies: - dependency-name: "@playform/compress" dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 78971300..c29c1953 100644 --- a/package.json +++ b/package.json @@ -30,7 +30,7 @@ "dependencies": { "@astrojs/sitemap": "3.2.0", "@playform/build": "0.1.7", - "@playform/compress": "0.1.2", + "@playform/compress": "0.1.4", "@playform/format": "0.0.7", "@playform/inline": "0.1.0", "@tailwindcss/aspect-ratio": "0.4.2", From baa56c3396d37096de7932d56307fcdee7fd35fc Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 9 Oct 2024 01:38:38 +0000 Subject: [PATCH 089/112] Bump typescript from 5.6.2 to 5.6.3 Bumps [typescript](https://github.com/microsoft/TypeScript) from 5.6.2 to 5.6.3. - [Release notes](https://github.com/microsoft/TypeScript/releases) - [Changelog](https://github.com/microsoft/TypeScript/blob/main/azure-pipelines.release.yml) - [Commits](https://github.com/microsoft/TypeScript/commits) --- updated-dependencies: - dependency-name: typescript dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 78971300..04f2060e 100644 --- a/package.json +++ b/package.json @@ -51,7 +51,7 @@ "postcss-reporter": "7.1.0", "postcss-url": "10.1.3", "tailwindcss": "3.4.13", - "typescript": "5.6.2", + "typescript": "5.6.3", "zod": "3.23.8" }, "publishConfig": { From de2c51c06e603a5e6ba971bbaa104e9a15cdb26d Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 9 Oct 2024 01:53:08 +0000 Subject: [PATCH 090/112] Bump actions/upload-artifact from 4.4.0 to 4.4.2 Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) from 4.4.0 to 4.4.2. - [Release notes](https://github.com/actions/upload-artifact/releases) - [Commits](https://github.com/actions/upload-artifact/compare/v4.4.0...v4.4.2) --- updated-dependencies: - dependency-name: actions/upload-artifact dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- .github/workflows/Node.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/Node.yml b/.github/workflows/Node.yml index 6a0cc3fa..4ef04342 100644 --- a/.github/workflows/Node.yml +++ b/.github/workflows/Node.yml @@ -88,7 +88,7 @@ jobs: - run: pnpm run prepublishOnly working-directory: . - - uses: actions/upload-artifact@v4.4.0 + - uses: actions/upload-artifact@v4.4.2 with: name: .-Node-${{ matrix.node-version }}-Target path: ./Target From c6b64fce12ae886243af0cdb2c0c9a6fff3bca54 Mon Sep 17 00:00:00 2001 From: Nikola Hristov Date: Wed, 9 Oct 2024 14:16:43 +0300 Subject: [PATCH 091/112] --- .../Base.astro_astro_type_script_index_0_lang.D6vdTU4x.js | 2 ++ .../Base.astro_astro_type_script_index_0_lang.D6vdTU4x.js.map | 1 + .../Base.astro_astro_type_script_index_1_lang.D4DYKVOQ.js.map | 1 + ...ansitions.astro_astro_type_script_index_0_lang.B1miWnGX.js | 2 ++ ...tions.astro_astro_type_script_index_0_lang.B1miWnGX.js.map | 1 + Target/_astro/index.CrVg0Vl2.css | 1 + Target/_astro/index.esm.nUHfrO2F.js | 1 + Target/_astro/index.esm.nUHfrO2F.js.map | 1 + Target/chunks/astro/server_BZlw6gl8.mjs.map | 1 + Target/chunks/astro_C1zTttzl.mjs.map | 1 + Target/manifest_CbGw4IK0.mjs.map | 1 + package.json | 4 ++-- 12 files changed, 15 insertions(+), 2 deletions(-) create mode 100644 Target/_astro/Base.astro_astro_type_script_index_0_lang.D6vdTU4x.js create mode 100644 Target/_astro/Base.astro_astro_type_script_index_0_lang.D6vdTU4x.js.map create mode 100644 Target/_astro/Base.astro_astro_type_script_index_1_lang.D4DYKVOQ.js.map create mode 100644 Target/_astro/ViewTransitions.astro_astro_type_script_index_0_lang.B1miWnGX.js create mode 100644 Target/_astro/ViewTransitions.astro_astro_type_script_index_0_lang.B1miWnGX.js.map create mode 100644 Target/_astro/index.CrVg0Vl2.css create mode 100644 Target/_astro/index.esm.nUHfrO2F.js create mode 100644 Target/_astro/index.esm.nUHfrO2F.js.map create mode 100644 Target/chunks/astro/server_BZlw6gl8.mjs.map create mode 100644 Target/chunks/astro_C1zTttzl.mjs.map create mode 100644 Target/manifest_CbGw4IK0.mjs.map diff --git a/Target/_astro/Base.astro_astro_type_script_index_0_lang.D6vdTU4x.js b/Target/_astro/Base.astro_astro_type_script_index_0_lang.D6vdTU4x.js new file mode 100644 index 00000000..e57f607a --- /dev/null +++ b/Target/_astro/Base.astro_astro_type_script_index_0_lang.D6vdTU4x.js @@ -0,0 +1,2 @@ +const f="modulepreload",h=function(o){return"/"+o},l={},E=function(u,s,v){let a=Promise.resolve();if(s&&s.length>0){document.getElementsByTagName("link");const r=document.querySelector("meta[property=csp-nonce]"),e=r?.nonce||r?.getAttribute("nonce");a=Promise.allSettled(s.map(t=>{if(t=h(t),t in l)return;l[t]=!0;const i=t.endsWith(".css"),d=i?'[rel="stylesheet"]':"";if(document.querySelector(`link[href="${t}"]${d}`))return;const n=document.createElement("link");if(n.rel=i?"stylesheet":f,i||(n.as="script"),n.crossOrigin="",n.href=t,e&&n.setAttribute("nonce",e),document.head.appendChild(n),i)return new Promise((m,p)=>{n.addEventListener("load",m),n.addEventListener("error",()=>p(new Error(`Unable to preload CSS for ${t}`)))})}))}function c(r){const e=new Event("vite:preloadError",{cancelable:!0});if(e.payload=r,window.dispatchEvent(e),!e.defaultPrevented)throw r}return a.then(r=>{for(const e of r||[])e.status==="rejected"&&c(e.reason);return u().catch(c)})};(await E(async()=>{const{initializeApp:o}=await import("./index.esm.nUHfrO2F.js");return{initializeApp:o}},[])).initializeApp({apiKey:"",appId:"",authDomain:"",databaseURL:"",measurementId:"",messagingSenderId:"",projectId:"",storageBucket:""}); +//# sourceMappingURL=Base.astro_astro_type_script_index_0_lang.D6vdTU4x.js.map diff --git a/Target/_astro/Base.astro_astro_type_script_index_0_lang.D6vdTU4x.js.map b/Target/_astro/Base.astro_astro_type_script_index_0_lang.D6vdTU4x.js.map new file mode 100644 index 00000000..b3de8b1e --- /dev/null +++ b/Target/_astro/Base.astro_astro_type_script_index_0_lang.D6vdTU4x.js.map @@ -0,0 +1 @@ +{"version":3,"mappings":"08BAAgB,MAAMA,EAAA,8BAAAC,CAAA,eAAO,yBAAc,uBAAAA,CAAA,QAAG,cAAc,CAC3D,OAAQ,GACR,MAAO,GACP,WAAY,GACZ,YAAa,GACb,cAAe,GACf,kBAAmB,GACnB,UAAW,GACX,cAAe,EAChB,CAAC","names":["__vitePreload","initializeApp"],"ignoreList":[],"sources":["../../Source/Script/Firebase.ts"],"sourcesContent":["export default (await import(\"firebase/app\")).initializeApp({\n\tapiKey: \"\", // TODO Replace with your API key\n\tappId: \"\", // TODO Replace with your app ID\n\tauthDomain: \"\", // TODO Replace with your auth domain\n\tdatabaseURL: \"\", // TODO Replace with your database URL\n\tmeasurementId: \"\", // TODO Replace with your measurement ID\n\tmessagingSenderId: \"\", // TODO Replace with your messaging sender ID\n\tprojectId: \"\", // TODO Replace with your project ID\n\tstorageBucket: \"\", // TODO Replace with your storage bucket\n});\n"],"file":"_astro/Base.astro_astro_type_script_index_0_lang.D6vdTU4x.js"} \ No newline at end of file diff --git a/Target/_astro/Base.astro_astro_type_script_index_1_lang.D4DYKVOQ.js.map b/Target/_astro/Base.astro_astro_type_script_index_1_lang.D4DYKVOQ.js.map new file mode 100644 index 00000000..24a186b2 --- /dev/null +++ b/Target/_astro/Base.astro_astro_type_script_index_1_lang.D4DYKVOQ.js.map @@ -0,0 +1 @@ +{"version":3,"file":"Base.astro_astro_type_script_index_1_lang.D4DYKVOQ.js","sources":["../../Source/Layout/Base.astro?astro&type=script&index=1&lang.ts"],"sourcesContent":["\t\t\tdocument.documentElement.classList.remove(\"no-js\");\n\t\t\tdocument.documentElement.classList.add(\"js\");\n\t\t\n\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyAidmVyc2lvbiI6IDMsICJzb3VyY2VzIjogWyJEOi9EZXZlbG9wZXIvQXBwbGljYXRpb24vUGxheUZvcm0vTlBNL1N0YXJ0ZXIvU291cmNlL0xheW91dC9CYXNlLmFzdHJvIl0sICJzb3VyY2VzQ29udGVudCI6IFsiLS0tXG5pbXBvcnQgXCJAU3R5bGVzaGVldC9CYXNlLmNzc1wiO1xuXG4vLyBUT0RPIFBsYWNlIHlvdXIgdGl0bGUgYW5kIGRlc2NyaXB0aW9uIGhlcmVcbmNvbnN0IHsgVGl0bGUgPSBcIlwiLCBEZXNjcmlwdGlvbiA9IFwiXCIgfSA9IEFzdHJvLnByb3BzO1xuXG5pbnRlcmZhY2UgUHJvcHMge1xuXHRUaXRsZT86IHN0cmluZztcblx0RGVzY3JpcHRpb24/OiBzdHJpbmc7XG59XG5cbmltcG9ydCB7IEhlYWQgfSBmcm9tIFwiYXN0cm8tY2Fwb1wiO1xuaW1wb3J0IHsgVmlld1RyYW5zaXRpb25zIH0gZnJvbSBcImFzdHJvOnRyYW5zaXRpb25zXCI7XG4tLS1cblxuXHUwMDNjIWRvY3R5cGUgaHRtbFx1MDAzZVxuXHUwMDNjaHRtbCBsYW5nPVwiZW5cIiBjbGFzcz1cIm5vLWpzXCIgZGlyPVwibHRyXCJcdTAwM2Vcblx0XHUwMDNjSGVhZFx1MDAzZVxuXHRcdFx1MDAzY3NjcmlwdFx1MDAzZVxuXHRcdFx0ZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNsYXNzTGlzdC5yZW1vdmUoXCJuby1qc1wiKTtcblx0XHRcdGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5jbGFzc0xpc3QuYWRkKFwianNcIik7XG5cdFx0XHUwMDNjL3NjcmlwdFx1MDAzZVxuXG5cdFx0XHUwMDNjIS0tIE1ldGEgLS1cdTAwM2Vcblx0XHRcdTAwM2N0aXRsZVx1MDAzZXtUaXRsZX1cdTAwM2MvdGl0bGVcdTAwM2Vcblx0XHRcdTAwM2NtZXRhIGNoYXJzZXQ9XCJ1dGYtOFwiIC9cdTAwM2VcblxuXHRcdFx1MDAzY21ldGEgbmFtZT1cImRlc2NyaXB0aW9uXCIgY29udGVudD17RGVzY3JpcHRpb259IC9cdTAwM2Vcblx0XHRcdTAwM2NtZXRhIG5hbWU9XCJ2aWV3cG9ydFwiIGNvbnRlbnQ9XCJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MS4wXCIgL1x1MDAzZVxuXHRcdFx1MDAzYyEtLSBUT0RPIERlZmluZSB5b3VyIGNvbG9yIHRoZW1lIGluIGhleCBoZXJlIC0tXHUwMDNlXG5cdFx0XHUwMDNjbWV0YSBuYW1lPVwidGhlbWUtY29sb3JcIiBjb250ZW50PVwiXCIgL1x1MDAzZVxuXHRcdFx1MDAzY21ldGEgbmFtZT1cImZvcm1hdC1kZXRlY3Rpb25cIiBjb250ZW50PVwidGVsZXBob25lPW5vXCIgL1x1MDAzZVxuXHRcdFx1MDAzY21ldGEgbmFtZT1cInR3aXR0ZXI6ZG50XCIgY29udGVudD1cIm9uXCIgL1x1MDAzZVxuXG5cdFx0XHUwMDNjIS0tIExpbmtzIC0tXHUwMDNlXG5cdFx0XHUwMDNjbGlua1xuXHRcdFx0cmVsPVwicHJlY29ubmVjdFwiXG5cdFx0XHRocmVmPVwiaHR0cHM6Ly9mb250cy5nb29nbGVhcGlzLmNvbVwiXG5cdFx0XHRjcm9zc29yaWdpblxuXHRcdC9cdTAwM2Vcblx0XHRcdTAwM2NsaW5rIHJlbD1cInByZWNvbm5lY3RcIiBocmVmPVwiaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbVwiIGNyb3Nzb3JpZ2luIC9cdTAwM2Vcblx0XHRcdTAwM2NsaW5rXG5cdFx0XHRyZWw9XCJtYW5pZmVzdFwiXG5cdFx0XHRocmVmPVwiL3NpdGUud2VibWFuaWZlc3RcIlxuXHRcdFx0Y3Jvc3NvcmlnaW49XCJ1c2UtY3JlZGVudGlhbHNcIlxuXHRcdC9cdTAwM2VcblxuXHRcdFx1MDAzY3N0eWxlIGlzOmdsb2JhbFx1MDAzZVxuXHRcdFx0QGltcG9ydCBcIkBTdHlsZXNoZWV0L0dsb2JhbC5jc3NcIjtcblx0XHRcdTAwM2Mvc3R5bGVcdTAwM2VcblxuXHRcdFx1MDAzY3Nsb3QgbmFtZT1cInN0eWxlc1wiIC9cdTAwM2VcblxuXHRcdFx1MDAzY3Nsb3QgbmFtZT1cInNjcmlwdHNcIiAvXHUwMDNlXG5cblx0XHRcdTAwM2MhLS0gRmF2aWNvbiAtLVx1MDAzZVxuXHRcdFx1MDAzY1ZpZXdUcmFuc2l0aW9ucyAvXHUwMDNlXG5cdFx1MDAzYy9IZWFkXHUwMDNlXG5cdFx1MDAzY2JvZHlcdTAwM2Vcblx0XHRcdTAwM2NkaXYgY2xhc3M9XCJncm93XCJcdTAwM2Vcblx0XHRcdFx1MDAzY3Nsb3QgL1x1MDAzZVxuXHRcdFx1MDAzYy9kaXZcdTAwM2Vcblx0XHRcdTAwM2NzY3JpcHRcdTAwM2Vcblx0XHRcdGltcG9ydCBcIkBTY3JpcHQvRmlyZWJhc2VcIjtcblx0XHRcdTAwM2Mvc2NyaXB0XHUwMDNlXG5cdFx1MDAzYy9ib2R5XHUwMDNlXG5cdTAwM2MvaHRtbFx1MDAzZSJdLCAibWFwcGluZ3MiOiAiQUFtQkEsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDckQsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDL0M7QUFBQTsiLCAibmFtZXMiOiBbXSB9"],"names":[],"mappings":"AAmBG,SAAS,gBAAgB,UAAU,OAAO,OAAO,EACjD,SAAS,gBAAgB,UAAU,IAAI,IAAI"} \ No newline at end of file diff --git a/Target/_astro/ViewTransitions.astro_astro_type_script_index_0_lang.B1miWnGX.js b/Target/_astro/ViewTransitions.astro_astro_type_script_index_0_lang.B1miWnGX.js new file mode 100644 index 00000000..aa1f8fc1 --- /dev/null +++ b/Target/_astro/ViewTransitions.astro_astro_type_script_index_0_lang.B1miWnGX.js @@ -0,0 +1,2 @@ +import{i as q}from"./index.B1fp56SV.js";const y="data-astro-transition-persist";function U(t){for(const e of document.scripts)for(const n of t.scripts)if(!n.hasAttribute("data-astro-rerun")&&(!e.src&&e.textContent===n.textContent||e.src&&e.type===n.type&&e.src===n.src)){n.dataset.astroExec="";break}}function B(t){const e=document.documentElement,n=[...e.attributes].filter(({name:o})=>(e.removeAttribute(o),o.startsWith("data-astro-")));[...t.documentElement.attributes,...n].forEach(({name:o,value:r})=>e.setAttribute(o,r))}function W(t){for(const e of Array.from(document.head.children)){const n=j(e,t);n?n.remove():e.remove()}document.head.append(...t.head.children)}function V(t,e){e.replaceWith(t);for(const n of e.querySelectorAll(`[${y}]`)){const o=n.getAttribute(y),r=t.querySelector(`[${y}="${o}"]`);r&&(r.replaceWith(n),r.localName==="astro-island"&&G(n)&&!z(n,r)&&(n.setAttribute("ssr",""),n.setAttribute("props",r.getAttribute("props"))))}}const K=()=>{const t=document.activeElement;if(t?.closest(`[${y}]`)){if(t instanceof HTMLInputElement||t instanceof HTMLTextAreaElement){const e=t.selectionStart,n=t.selectionEnd;return()=>E({activeElement:t,start:e,end:n})}return()=>E({activeElement:t})}else return()=>E({activeElement:null})},E=({activeElement:t,start:e,end:n})=>{t&&(t.focus(),(t instanceof HTMLInputElement||t instanceof HTMLTextAreaElement)&&(typeof e=="number"&&(t.selectionStart=e),typeof n=="number"&&(t.selectionEnd=n)))},j=(t,e)=>{const n=t.getAttribute(y),o=n&&e.head.querySelector(`[${y}="${n}"]`);if(o)return o;if(t.matches("link[rel=stylesheet]")){const r=t.getAttribute("href");return e.head.querySelector(`link[rel=stylesheet][href="${r}"]`)}return null},G=t=>{const e=t.dataset.astroTransitionPersistProps;return e==null||e==="false"},z=(t,e)=>t.getAttribute("props")===e.getAttribute("props"),J=t=>{U(t),B(t),W(t);const e=K();V(t.body,document.body),e()},Q="astro:before-preparation",Z="astro:after-preparation",tt="astro:before-swap",et="astro:after-swap",nt=t=>document.dispatchEvent(new Event(t));class H extends Event{from;to;direction;navigationType;sourceElement;info;newDocument;signal;constructor(e,n,o,r,s,u,a,l,d,c){super(e,n),this.from=o,this.to=r,this.direction=s,this.navigationType=u,this.sourceElement=a,this.info=l,this.newDocument=d,this.signal=c,Object.defineProperties(this,{from:{enumerable:!0},to:{enumerable:!0,writable:!0},direction:{enumerable:!0,writable:!0},navigationType:{enumerable:!0},sourceElement:{enumerable:!0},info:{enumerable:!0},newDocument:{enumerable:!0,writable:!0},signal:{enumerable:!0}})}}class ot extends H{formData;loader;constructor(e,n,o,r,s,u,a,l,d,c){super(Q,{cancelable:!0},e,n,o,r,s,u,a,l),this.formData=d,this.loader=c.bind(this,this),Object.defineProperties(this,{formData:{enumerable:!0},loader:{enumerable:!0,writable:!0}})}}class rt extends H{direction;viewTransition;swap;constructor(e,n){super(tt,void 0,e.from,e.to,e.direction,e.navigationType,e.sourceElement,e.info,e.newDocument,e.signal),this.direction=e.direction,this.viewTransition=n,this.swap=()=>J(this.newDocument),Object.defineProperties(this,{direction:{enumerable:!0},viewTransition:{enumerable:!0},swap:{enumerable:!0,writable:!0}})}}async function it(t,e,n,o,r,s,u,a,l){const d=new ot(t,e,n,o,r,s,window.document,u,a,l);return document.dispatchEvent(d)&&(await d.loader(),d.defaultPrevented||(nt(Z),d.navigationType!=="traverse"&&R({scrollX,scrollY}))),d}function st(t,e){const n=new rt(t,e);return document.dispatchEvent(n),n.swap(),n}const at=history.pushState.bind(history),T=history.replaceState.bind(history),R=t=>{history.state&&(history.scrollRestoration="manual",T({...history.state,...t},""))},P=!!document.startViewTransition,x=()=>!!document.querySelector('[name="astro-view-transitions-enabled"]'),O=(t,e)=>t.pathname===e.pathname&&t.search===e.search;let f,b,A;const X=t=>document.dispatchEvent(new Event(t)),Y=()=>X("astro:page-load"),ct=()=>{let t=document.createElement("div");t.setAttribute("aria-live","assertive"),t.setAttribute("aria-atomic","true"),t.className="astro-route-announcer",document.body.append(t),setTimeout(()=>{let e=document.title||document.querySelector("h1")?.textContent||location.pathname;t.textContent=e},60)},D="data-astro-transition-persist",L="data-astro-transition",S="data-astro-transition-fallback";let k,g=0;history.state?(g=history.state.index,scrollTo({left:history.state.scrollX,top:history.state.scrollY})):x()&&(T({index:g,scrollX,scrollY},""),history.scrollRestoration="manual");async function lt(t,e){try{const n=await fetch(t,e),r=(n.headers.get("content-type")??"").split(";",1)[0].trim();return r!=="text/html"&&r!=="application/xhtml+xml"?null:{html:await n.text(),redirected:n.redirected?n.url:void 0,mediaType:r}}catch{return null}}function _(){const t=document.querySelector('[name="astro-view-transitions-fallback"]');return t?t.getAttribute("content"):"animate"}function ut(){let t=Promise.resolve();for(const e of Array.from(document.scripts)){if(e.dataset.astroExec==="")continue;const n=e.getAttribute("type");if(n&&n!=="module"&&n!=="text/javascript")continue;const o=document.createElement("script");o.innerHTML=e.innerHTML;for(const r of e.attributes){if(r.name==="src"){const s=new Promise(u=>{o.onload=o.onerror=u});t=t.then(()=>s)}o.setAttribute(r.name,r.value)}o.dataset.astroExec="",e.replaceWith(o)}return t}const C=(t,e,n,o,r)=>{const s=O(e,t),u=document.title;document.title=o;let a=!1;if(t.href!==location.href&&!r)if(n.history==="replace"){const l=history.state;T({...n.state,index:l.index,scrollX:l.scrollX,scrollY:l.scrollY},"",t.href)}else at({...n.state,index:++g,scrollX:0,scrollY:0},"",t.href);if(document.title=u,A=t,s||(scrollTo({left:0,top:0,behavior:"instant"}),a=!0),r)scrollTo(r.scrollX,r.scrollY);else{if(t.hash){history.scrollRestoration="auto";const l=history.state;location.href=t.href,history.state||(T(l,""),s&&window.dispatchEvent(new PopStateEvent("popstate")))}else a||scrollTo({left:0,top:0,behavior:"instant"});history.scrollRestoration="manual"}};function dt(t){const e=[];for(const n of t.querySelectorAll("head link[rel=stylesheet]"))if(!document.querySelector(`[${D}="${n.getAttribute(D)}"], link[rel=stylesheet][href="${n.getAttribute("href")}"]`)){const o=document.createElement("link");o.setAttribute("rel","preload"),o.setAttribute("as","style"),o.setAttribute("href",n.getAttribute("href")),e.push(new Promise(r=>{["load","error"].forEach(s=>o.addEventListener(s,r)),document.head.append(o)}))}return e}async function I(t,e,n,o,r){async function s(l){function d(h){const m=h.effect;return!m||!(m instanceof KeyframeEffect)||!m.target?!1:window.getComputedStyle(m.target,m.pseudoElement).animationIterationCount==="infinite"}const c=document.getAnimations();document.documentElement.setAttribute(S,l);const w=document.getAnimations().filter(h=>!c.includes(h)&&!d(h));return Promise.allSettled(w.map(h=>h.finished))}if(r==="animate"&&!n.transitionSkipped&&!t.signal.aborted)try{await s("old")}catch{}const u=document.title,a=st(t,n.viewTransition);C(a.to,a.from,e,u,o),X(et),r==="animate"&&(!n.transitionSkipped&&!a.signal.aborted?s("new").finally(()=>n.viewTransitionFinished()):n.viewTransitionFinished())}function ft(){return f?.controller.abort(),f={controller:new AbortController}}async function $(t,e,n,o,r){const s=ft();if(!x()||location.origin!==n.origin){s===f&&(f=void 0),location.href=n.href;return}const u=r?"traverse":o.history==="replace"?"replace":"push";if(u!=="traverse"&&R({scrollX,scrollY}),O(e,n)&&(t!=="back"&&n.hash||t==="back"&&e.hash)){C(n,e,o,document.title,r),s===f&&(f=void 0);return}const a=await it(e,n,t,u,o.sourceElement,o.info,s.controller.signal,o.formData,l);if(a.defaultPrevented||a.signal.aborted){s===f&&(f=void 0),a.signal.aborted||(location.href=n.href);return}async function l(i){const w=i.to.href,h={signal:i.signal};if(i.formData){h.method="POST";const p=i.sourceElement instanceof HTMLFormElement?i.sourceElement:i.sourceElement instanceof HTMLElement&&"form"in i.sourceElement?i.sourceElement.form:i.sourceElement?.closest("form");h.body=p?.attributes.getNamedItem("enctype")?.value==="application/x-www-form-urlencoded"?new URLSearchParams(i.formData):i.formData}const m=await lt(w,h);if(m===null){i.preventDefault();return}if(m.redirected){const p=new URL(m.redirected);if(p.origin!==i.to.origin){i.preventDefault();return}i.to=p}if(k??=new DOMParser,i.newDocument=k.parseFromString(m.html,m.mediaType),i.newDocument.querySelectorAll("noscript").forEach(p=>p.remove()),!i.newDocument.querySelector('[name="astro-view-transitions-enabled"]')&&!i.formData){i.preventDefault();return}const v=dt(i.newDocument);v.length&&!i.signal.aborted&&await Promise.all(v)}async function d(){if(b&&b.viewTransition){try{b.viewTransition.skipTransition()}catch{}try{await b.viewTransition.updateCallbackDone}catch{}}return b={transitionSkipped:!1}}const c=await d();if(a.signal.aborted){s===f&&(f=void 0);return}if(document.documentElement.setAttribute(L,a.direction),P)c.viewTransition=document.startViewTransition(async()=>await I(a,o,c,r));else{const i=(async()=>{await Promise.resolve(),await I(a,o,c,r,_())})();c.viewTransition={updateCallbackDone:i,ready:i,finished:new Promise(w=>c.viewTransitionFinished=w),skipTransition:()=>{c.transitionSkipped=!0,document.documentElement.removeAttribute(S)}}}c.viewTransition.updateCallbackDone.finally(async()=>{await ut(),Y(),ct()}),c.viewTransition.finished.finally(()=>{c.viewTransition=void 0,c===b&&(b=void 0),s===f&&(f=void 0),document.documentElement.removeAttribute(L),document.documentElement.removeAttribute(S)});try{await c.viewTransition.updateCallbackDone}catch(i){const w=i;console.log("[astro]",w.name,w.message,w.stack)}}async function M(t,e){await $("forward",A,new URL(t,location.href),e??{})}function mt(t){if(!x()&&t.state){location.reload();return}if(t.state===null)return;const e=history.state,n=e.index,o=n>g?"forward":"back";g=n,$(o,A,new URL(location.href),{},e)}const N=()=>{history.state&&(scrollX!==history.state.scrollX||scrollY!==history.state.scrollY)&&R({scrollX,scrollY})};{if(P||_()!=="none")if(A=new URL(location.href),addEventListener("popstate",mt),addEventListener("load",Y),"onscrollend"in window)addEventListener("scrollend",N);else{let t,e,n,o;const r=()=>{if(o!==history.state?.index){clearInterval(t),t=void 0;return}if(e===scrollY&&n===scrollX){clearInterval(t),t=void 0,N();return}else e=scrollY,n=scrollX};addEventListener("scroll",()=>{t===void 0&&(o=history.state.index,e=scrollY,n=scrollX,t=window.setInterval(r,50))},{passive:!0})}for(const t of document.scripts)t.dataset.astroExec=""}function ht(){const t=document.querySelector('[name="astro-view-transitions-fallback"]');return t?t.getAttribute("content"):"animate"}function F(t){return t.dataset.astroReload!==void 0}(P||ht()!=="none")&&(document.addEventListener("click",t=>{let e=t.target;if(t.composed&&(e=t.composedPath()[0]),e instanceof Element&&(e=e.closest("a, area")),!(e instanceof HTMLAnchorElement)&&!(e instanceof SVGAElement)&&!(e instanceof HTMLAreaElement))return;const n=e instanceof HTMLElement?e.target:e.target.baseVal,o=e instanceof HTMLElement?e.href:e.href.baseVal,r=new URL(o,location.href).origin;F(e)||e.hasAttribute("download")||!e.href||n&&n!=="_self"||r!==location.origin||t.button!==0||t.metaKey||t.ctrlKey||t.altKey||t.shiftKey||t.defaultPrevented||(t.preventDefault(),M(o,{history:e.dataset.astroHistory==="replace"?"replace":"auto",sourceElement:e}))}),document.addEventListener("submit",t=>{let e=t.target;if(e.tagName!=="FORM"||t.defaultPrevented||F(e))return;const n=e,o=t.submitter,r=new FormData(n,o),s=typeof n.action=="string"?n.action:n.getAttribute("action"),u=typeof n.method=="string"?n.method:n.getAttribute("method");let a=o?.getAttribute("formaction")??s??location.pathname;const l=o?.getAttribute("formmethod")??u??"get";if(l==="dialog"||location.origin!==new URL(a,location.href).origin)return;const d={sourceElement:o??n};if(l==="get"){const c=new URLSearchParams(r),i=new URL(a);i.search=c.toString(),a=i.toString()}else d.formData=r;t.preventDefault(),M(a,d)}),q({prefetchAll:!0})); +//# sourceMappingURL=ViewTransitions.astro_astro_type_script_index_0_lang.B1miWnGX.js.map diff --git a/Target/_astro/ViewTransitions.astro_astro_type_script_index_0_lang.B1miWnGX.js.map b/Target/_astro/ViewTransitions.astro_astro_type_script_index_0_lang.B1miWnGX.js.map new file mode 100644 index 00000000..c5202b7e --- /dev/null +++ b/Target/_astro/ViewTransitions.astro_astro_type_script_index_0_lang.B1miWnGX.js.map @@ -0,0 +1 @@ +{"version":3,"file":"ViewTransitions.astro_astro_type_script_index_0_lang.B1miWnGX.js","sources":["../../../../../../node_modules/astro/dist/transitions/swap-functions.js","../../../../../../node_modules/astro/dist/transitions/events.js","../../../../../../node_modules/astro/dist/transitions/router.js"],"sourcesContent":["const PERSIST_ATTR = \"data-astro-transition-persist\";\nfunction deselectScripts(doc) {\n for (const s1 of document.scripts) {\n for (const s2 of doc.scripts) {\n if (\n // Check if the script should be rerun regardless of it being the same\n !s2.hasAttribute(\"data-astro-rerun\") && // Inline\n (!s1.src && s1.textContent === s2.textContent || // External\n s1.src && s1.type === s2.type && s1.src === s2.src)\n ) {\n s2.dataset.astroExec = \"\";\n break;\n }\n }\n }\n}\nfunction swapRootAttributes(doc) {\n const html = document.documentElement;\n const astroAttributes = [...html.attributes].filter(\n ({ name }) => (html.removeAttribute(name), name.startsWith(\"data-astro-\"))\n );\n [...doc.documentElement.attributes, ...astroAttributes].forEach(\n ({ name, value }) => html.setAttribute(name, value)\n );\n}\nfunction swapHeadElements(doc) {\n for (const el of Array.from(document.head.children)) {\n const newEl = persistedHeadElement(el, doc);\n if (newEl) {\n newEl.remove();\n } else {\n el.remove();\n }\n }\n document.head.append(...doc.head.children);\n}\nfunction swapBodyElement(newElement, oldElement) {\n oldElement.replaceWith(newElement);\n for (const el of oldElement.querySelectorAll(`[${PERSIST_ATTR}]`)) {\n const id = el.getAttribute(PERSIST_ATTR);\n const newEl = newElement.querySelector(`[${PERSIST_ATTR}=\"${id}\"]`);\n if (newEl) {\n newEl.replaceWith(el);\n if (newEl.localName === \"astro-island\" && shouldCopyProps(el) && !isSameProps(el, newEl)) {\n el.setAttribute(\"ssr\", \"\");\n el.setAttribute(\"props\", newEl.getAttribute(\"props\"));\n }\n }\n }\n}\nconst saveFocus = () => {\n const activeElement = document.activeElement;\n if (activeElement?.closest(`[${PERSIST_ATTR}]`)) {\n if (activeElement instanceof HTMLInputElement || activeElement instanceof HTMLTextAreaElement) {\n const start = activeElement.selectionStart;\n const end = activeElement.selectionEnd;\n return () => restoreFocus({ activeElement, start, end });\n }\n return () => restoreFocus({ activeElement });\n } else {\n return () => restoreFocus({ activeElement: null });\n }\n};\nconst restoreFocus = ({ activeElement, start, end }) => {\n if (activeElement) {\n activeElement.focus();\n if (activeElement instanceof HTMLInputElement || activeElement instanceof HTMLTextAreaElement) {\n if (typeof start === \"number\") activeElement.selectionStart = start;\n if (typeof end === \"number\") activeElement.selectionEnd = end;\n }\n }\n};\nconst persistedHeadElement = (el, newDoc) => {\n const id = el.getAttribute(PERSIST_ATTR);\n const newEl = id && newDoc.head.querySelector(`[${PERSIST_ATTR}=\"${id}\"]`);\n if (newEl) {\n return newEl;\n }\n if (el.matches(\"link[rel=stylesheet]\")) {\n const href = el.getAttribute(\"href\");\n return newDoc.head.querySelector(`link[rel=stylesheet][href=\"${href}\"]`);\n }\n return null;\n};\nconst shouldCopyProps = (el) => {\n const persistProps = el.dataset.astroTransitionPersistProps;\n return persistProps == null || persistProps === \"false\";\n};\nconst isSameProps = (oldEl, newEl) => {\n return oldEl.getAttribute(\"props\") === newEl.getAttribute(\"props\");\n};\nconst swapFunctions = {\n deselectScripts,\n swapRootAttributes,\n swapHeadElements,\n swapBodyElement,\n saveFocus\n};\nconst swap = (doc) => {\n deselectScripts(doc);\n swapRootAttributes(doc);\n swapHeadElements(doc);\n const restoreFocusFunction = saveFocus();\n swapBodyElement(doc.body, document.body);\n restoreFocusFunction();\n};\nexport {\n deselectScripts,\n restoreFocus,\n saveFocus,\n swap,\n swapBodyElement,\n swapFunctions,\n swapHeadElements,\n swapRootAttributes\n};\n","import { updateScrollPosition } from \"./router.js\";\nimport { swap } from \"./swap-functions.js\";\nconst TRANSITION_BEFORE_PREPARATION = \"astro:before-preparation\";\nconst TRANSITION_AFTER_PREPARATION = \"astro:after-preparation\";\nconst TRANSITION_BEFORE_SWAP = \"astro:before-swap\";\nconst TRANSITION_AFTER_SWAP = \"astro:after-swap\";\nconst TRANSITION_PAGE_LOAD = \"astro:page-load\";\nconst triggerEvent = (name) => document.dispatchEvent(new Event(name));\nconst onPageLoad = () => triggerEvent(TRANSITION_PAGE_LOAD);\nclass BeforeEvent extends Event {\n from;\n to;\n direction;\n navigationType;\n sourceElement;\n info;\n newDocument;\n signal;\n constructor(type, eventInitDict, from, to, direction, navigationType, sourceElement, info, newDocument, signal) {\n super(type, eventInitDict);\n this.from = from;\n this.to = to;\n this.direction = direction;\n this.navigationType = navigationType;\n this.sourceElement = sourceElement;\n this.info = info;\n this.newDocument = newDocument;\n this.signal = signal;\n Object.defineProperties(this, {\n from: { enumerable: true },\n to: { enumerable: true, writable: true },\n direction: { enumerable: true, writable: true },\n navigationType: { enumerable: true },\n sourceElement: { enumerable: true },\n info: { enumerable: true },\n newDocument: { enumerable: true, writable: true },\n signal: { enumerable: true }\n });\n }\n}\nconst isTransitionBeforePreparationEvent = (value) => value.type === TRANSITION_BEFORE_PREPARATION;\nclass TransitionBeforePreparationEvent extends BeforeEvent {\n formData;\n loader;\n constructor(from, to, direction, navigationType, sourceElement, info, newDocument, signal, formData, loader) {\n super(\n TRANSITION_BEFORE_PREPARATION,\n { cancelable: true },\n from,\n to,\n direction,\n navigationType,\n sourceElement,\n info,\n newDocument,\n signal\n );\n this.formData = formData;\n this.loader = loader.bind(this, this);\n Object.defineProperties(this, {\n formData: { enumerable: true },\n loader: { enumerable: true, writable: true }\n });\n }\n}\nconst isTransitionBeforeSwapEvent = (value) => value.type === TRANSITION_BEFORE_SWAP;\nclass TransitionBeforeSwapEvent extends BeforeEvent {\n direction;\n viewTransition;\n swap;\n constructor(afterPreparation, viewTransition) {\n super(\n TRANSITION_BEFORE_SWAP,\n void 0,\n afterPreparation.from,\n afterPreparation.to,\n afterPreparation.direction,\n afterPreparation.navigationType,\n afterPreparation.sourceElement,\n afterPreparation.info,\n afterPreparation.newDocument,\n afterPreparation.signal\n );\n this.direction = afterPreparation.direction;\n this.viewTransition = viewTransition;\n this.swap = () => swap(this.newDocument);\n Object.defineProperties(this, {\n direction: { enumerable: true },\n viewTransition: { enumerable: true },\n swap: { enumerable: true, writable: true }\n });\n }\n}\nasync function doPreparation(from, to, direction, navigationType, sourceElement, info, signal, formData, defaultLoader) {\n const event = new TransitionBeforePreparationEvent(\n from,\n to,\n direction,\n navigationType,\n sourceElement,\n info,\n window.document,\n signal,\n formData,\n defaultLoader\n );\n if (document.dispatchEvent(event)) {\n await event.loader();\n if (!event.defaultPrevented) {\n triggerEvent(TRANSITION_AFTER_PREPARATION);\n if (event.navigationType !== \"traverse\") {\n updateScrollPosition({ scrollX, scrollY });\n }\n }\n }\n return event;\n}\nfunction doSwap(afterPreparation, viewTransition) {\n const event = new TransitionBeforeSwapEvent(afterPreparation, viewTransition);\n document.dispatchEvent(event);\n event.swap();\n return event;\n}\nexport {\n TRANSITION_AFTER_PREPARATION,\n TRANSITION_AFTER_SWAP,\n TRANSITION_BEFORE_PREPARATION,\n TRANSITION_BEFORE_SWAP,\n TRANSITION_PAGE_LOAD,\n TransitionBeforePreparationEvent,\n TransitionBeforeSwapEvent,\n doPreparation,\n doSwap,\n isTransitionBeforePreparationEvent,\n isTransitionBeforeSwapEvent,\n onPageLoad,\n triggerEvent\n};\n","import { TRANSITION_AFTER_SWAP, doPreparation, doSwap } from \"./events.js\";\nconst inBrowser = import.meta.env.SSR === false;\nconst pushState = inBrowser && history.pushState.bind(history);\nconst replaceState = inBrowser && history.replaceState.bind(history);\nconst updateScrollPosition = (positions) => {\n if (history.state) {\n history.scrollRestoration = \"manual\";\n replaceState({ ...history.state, ...positions }, \"\");\n }\n};\nconst supportsViewTransitions = inBrowser && !!document.startViewTransition;\nconst transitionEnabledOnThisPage = () => inBrowser && !!document.querySelector('[name=\"astro-view-transitions-enabled\"]');\nconst samePage = (thisLocation, otherLocation) => thisLocation.pathname === otherLocation.pathname && thisLocation.search === otherLocation.search;\nlet mostRecentNavigation;\nlet mostRecentTransition;\nlet originalLocation;\nconst triggerEvent = (name) => document.dispatchEvent(new Event(name));\nconst onPageLoad = () => triggerEvent(\"astro:page-load\");\nconst announce = () => {\n let div = document.createElement(\"div\");\n div.setAttribute(\"aria-live\", \"assertive\");\n div.setAttribute(\"aria-atomic\", \"true\");\n div.className = \"astro-route-announcer\";\n document.body.append(div);\n setTimeout(\n () => {\n let title = document.title || document.querySelector(\"h1\")?.textContent || location.pathname;\n div.textContent = title;\n },\n // Much thought went into this magic number; the gist is that screen readers\n // need to see that the element changed and might not do so if it happens\n // too quickly.\n 60\n );\n};\nconst PERSIST_ATTR = \"data-astro-transition-persist\";\nconst DIRECTION_ATTR = \"data-astro-transition\";\nconst OLD_NEW_ATTR = \"data-astro-transition-fallback\";\nconst VITE_ID = \"data-vite-dev-id\";\nlet parser;\nlet currentHistoryIndex = 0;\nif (inBrowser) {\n if (history.state) {\n currentHistoryIndex = history.state.index;\n scrollTo({ left: history.state.scrollX, top: history.state.scrollY });\n } else if (transitionEnabledOnThisPage()) {\n replaceState({ index: currentHistoryIndex, scrollX, scrollY }, \"\");\n history.scrollRestoration = \"manual\";\n }\n}\nasync function fetchHTML(href, init) {\n try {\n const res = await fetch(href, init);\n const contentType = res.headers.get(\"content-type\") ?? \"\";\n const mediaType = contentType.split(\";\", 1)[0].trim();\n if (mediaType !== \"text/html\" && mediaType !== \"application/xhtml+xml\") {\n return null;\n }\n const html = await res.text();\n return {\n html,\n redirected: res.redirected ? res.url : void 0,\n mediaType\n };\n } catch {\n return null;\n }\n}\nfunction getFallback() {\n const el = document.querySelector('[name=\"astro-view-transitions-fallback\"]');\n if (el) {\n return el.getAttribute(\"content\");\n }\n return \"animate\";\n}\nfunction runScripts() {\n let wait = Promise.resolve();\n for (const script of Array.from(document.scripts)) {\n if (script.dataset.astroExec === \"\") continue;\n const type = script.getAttribute(\"type\");\n if (type && type !== \"module\" && type !== \"text/javascript\") continue;\n const newScript = document.createElement(\"script\");\n newScript.innerHTML = script.innerHTML;\n for (const attr of script.attributes) {\n if (attr.name === \"src\") {\n const p = new Promise((r) => {\n newScript.onload = newScript.onerror = r;\n });\n wait = wait.then(() => p);\n }\n newScript.setAttribute(attr.name, attr.value);\n }\n newScript.dataset.astroExec = \"\";\n script.replaceWith(newScript);\n }\n return wait;\n}\nconst moveToLocation = (to, from, options, pageTitleForBrowserHistory, historyState) => {\n const intraPage = samePage(from, to);\n const targetPageTitle = document.title;\n document.title = pageTitleForBrowserHistory;\n let scrolledToTop = false;\n if (to.href !== location.href && !historyState) {\n if (options.history === \"replace\") {\n const current = history.state;\n replaceState(\n {\n ...options.state,\n index: current.index,\n scrollX: current.scrollX,\n scrollY: current.scrollY\n },\n \"\",\n to.href\n );\n } else {\n pushState(\n { ...options.state, index: ++currentHistoryIndex, scrollX: 0, scrollY: 0 },\n \"\",\n to.href\n );\n }\n }\n document.title = targetPageTitle;\n originalLocation = to;\n if (!intraPage) {\n scrollTo({ left: 0, top: 0, behavior: \"instant\" });\n scrolledToTop = true;\n }\n if (historyState) {\n scrollTo(historyState.scrollX, historyState.scrollY);\n } else {\n if (to.hash) {\n history.scrollRestoration = \"auto\";\n const savedState = history.state;\n location.href = to.href;\n if (!history.state) {\n replaceState(savedState, \"\");\n if (intraPage) {\n window.dispatchEvent(new PopStateEvent(\"popstate\"));\n }\n }\n } else {\n if (!scrolledToTop) {\n scrollTo({ left: 0, top: 0, behavior: \"instant\" });\n }\n }\n history.scrollRestoration = \"manual\";\n }\n};\nfunction preloadStyleLinks(newDocument) {\n const links = [];\n for (const el of newDocument.querySelectorAll(\"head link[rel=stylesheet]\")) {\n if (!document.querySelector(\n `[${PERSIST_ATTR}=\"${el.getAttribute(\n PERSIST_ATTR\n )}\"], link[rel=stylesheet][href=\"${el.getAttribute(\"href\")}\"]`\n )) {\n const c = document.createElement(\"link\");\n c.setAttribute(\"rel\", \"preload\");\n c.setAttribute(\"as\", \"style\");\n c.setAttribute(\"href\", el.getAttribute(\"href\"));\n links.push(\n new Promise((resolve) => {\n [\"load\", \"error\"].forEach((evName) => c.addEventListener(evName, resolve));\n document.head.append(c);\n })\n );\n }\n }\n return links;\n}\nasync function updateDOM(preparationEvent, options, currentTransition, historyState, fallback) {\n async function animate(phase) {\n function isInfinite(animation) {\n const effect = animation.effect;\n if (!effect || !(effect instanceof KeyframeEffect) || !effect.target) return false;\n const style = window.getComputedStyle(effect.target, effect.pseudoElement);\n return style.animationIterationCount === \"infinite\";\n }\n const currentAnimations = document.getAnimations();\n document.documentElement.setAttribute(OLD_NEW_ATTR, phase);\n const nextAnimations = document.getAnimations();\n const newAnimations = nextAnimations.filter(\n (a) => !currentAnimations.includes(a) && !isInfinite(a)\n );\n return Promise.allSettled(newAnimations.map((a) => a.finished));\n }\n if (fallback === \"animate\" && !currentTransition.transitionSkipped && !preparationEvent.signal.aborted) {\n try {\n await animate(\"old\");\n } catch {\n }\n }\n const pageTitleForBrowserHistory = document.title;\n const swapEvent = doSwap(preparationEvent, currentTransition.viewTransition);\n moveToLocation(swapEvent.to, swapEvent.from, options, pageTitleForBrowserHistory, historyState);\n triggerEvent(TRANSITION_AFTER_SWAP);\n if (fallback === \"animate\") {\n if (!currentTransition.transitionSkipped && !swapEvent.signal.aborted) {\n animate(\"new\").finally(() => currentTransition.viewTransitionFinished());\n } else {\n currentTransition.viewTransitionFinished();\n }\n }\n}\nfunction abortAndRecreateMostRecentNavigation() {\n mostRecentNavigation?.controller.abort();\n return mostRecentNavigation = {\n controller: new AbortController()\n };\n}\nasync function transition(direction, from, to, options, historyState) {\n const currentNavigation = abortAndRecreateMostRecentNavigation();\n if (!transitionEnabledOnThisPage() || location.origin !== to.origin) {\n if (currentNavigation === mostRecentNavigation) mostRecentNavigation = void 0;\n location.href = to.href;\n return;\n }\n const navigationType = historyState ? \"traverse\" : options.history === \"replace\" ? \"replace\" : \"push\";\n if (navigationType !== \"traverse\") {\n updateScrollPosition({ scrollX, scrollY });\n }\n if (samePage(from, to)) {\n if (direction !== \"back\" && to.hash || direction === \"back\" && from.hash) {\n moveToLocation(to, from, options, document.title, historyState);\n if (currentNavigation === mostRecentNavigation) mostRecentNavigation = void 0;\n return;\n }\n }\n const prepEvent = await doPreparation(\n from,\n to,\n direction,\n navigationType,\n options.sourceElement,\n options.info,\n currentNavigation.controller.signal,\n options.formData,\n defaultLoader\n );\n if (prepEvent.defaultPrevented || prepEvent.signal.aborted) {\n if (currentNavigation === mostRecentNavigation) mostRecentNavigation = void 0;\n if (!prepEvent.signal.aborted) {\n location.href = to.href;\n }\n return;\n }\n async function defaultLoader(preparationEvent) {\n const href = preparationEvent.to.href;\n const init = { signal: preparationEvent.signal };\n if (preparationEvent.formData) {\n init.method = \"POST\";\n const form = preparationEvent.sourceElement instanceof HTMLFormElement ? preparationEvent.sourceElement : preparationEvent.sourceElement instanceof HTMLElement && \"form\" in preparationEvent.sourceElement ? preparationEvent.sourceElement.form : preparationEvent.sourceElement?.closest(\"form\");\n init.body = form?.attributes.getNamedItem(\"enctype\")?.value === \"application/x-www-form-urlencoded\" ? new URLSearchParams(preparationEvent.formData) : preparationEvent.formData;\n }\n const response = await fetchHTML(href, init);\n if (response === null) {\n preparationEvent.preventDefault();\n return;\n }\n if (response.redirected) {\n const redirectedTo = new URL(response.redirected);\n if (redirectedTo.origin !== preparationEvent.to.origin) {\n preparationEvent.preventDefault();\n return;\n }\n preparationEvent.to = redirectedTo;\n }\n parser ??= new DOMParser();\n preparationEvent.newDocument = parser.parseFromString(response.html, response.mediaType);\n preparationEvent.newDocument.querySelectorAll(\"noscript\").forEach((el) => el.remove());\n if (!preparationEvent.newDocument.querySelector('[name=\"astro-view-transitions-enabled\"]') && !preparationEvent.formData) {\n preparationEvent.preventDefault();\n return;\n }\n const links = preloadStyleLinks(preparationEvent.newDocument);\n links.length && !preparationEvent.signal.aborted && await Promise.all(links);\n if (import.meta.env.DEV && !preparationEvent.signal.aborted)\n await prepareForClientOnlyComponents(\n preparationEvent.newDocument,\n preparationEvent.to,\n preparationEvent.signal\n );\n }\n async function abortAndRecreateMostRecentTransition() {\n if (mostRecentTransition) {\n if (mostRecentTransition.viewTransition) {\n try {\n mostRecentTransition.viewTransition.skipTransition();\n } catch {\n }\n try {\n await mostRecentTransition.viewTransition.updateCallbackDone;\n } catch {\n }\n }\n }\n return mostRecentTransition = { transitionSkipped: false };\n }\n const currentTransition = await abortAndRecreateMostRecentTransition();\n if (prepEvent.signal.aborted) {\n if (currentNavigation === mostRecentNavigation) mostRecentNavigation = void 0;\n return;\n }\n document.documentElement.setAttribute(DIRECTION_ATTR, prepEvent.direction);\n if (supportsViewTransitions) {\n currentTransition.viewTransition = document.startViewTransition(\n async () => await updateDOM(prepEvent, options, currentTransition, historyState)\n );\n } else {\n const updateDone = (async () => {\n await Promise.resolve();\n await updateDOM(prepEvent, options, currentTransition, historyState, getFallback());\n })();\n currentTransition.viewTransition = {\n updateCallbackDone: updateDone,\n // this is about correct\n ready: updateDone,\n // good enough\n // Finished promise could have been done better: finished rejects iff updateDone does.\n // Our simulation always resolves, never rejects.\n finished: new Promise((r) => currentTransition.viewTransitionFinished = r),\n // see end of updateDOM\n skipTransition: () => {\n currentTransition.transitionSkipped = true;\n document.documentElement.removeAttribute(OLD_NEW_ATTR);\n }\n };\n }\n currentTransition.viewTransition.updateCallbackDone.finally(async () => {\n await runScripts();\n onPageLoad();\n announce();\n });\n currentTransition.viewTransition.finished.finally(() => {\n currentTransition.viewTransition = void 0;\n if (currentTransition === mostRecentTransition) mostRecentTransition = void 0;\n if (currentNavigation === mostRecentNavigation) mostRecentNavigation = void 0;\n document.documentElement.removeAttribute(DIRECTION_ATTR);\n document.documentElement.removeAttribute(OLD_NEW_ATTR);\n });\n try {\n await currentTransition.viewTransition.updateCallbackDone;\n } catch (e) {\n const err = e;\n console.log(\"[astro]\", err.name, err.message, err.stack);\n }\n}\nlet navigateOnServerWarned = false;\nasync function navigate(href, options) {\n if (inBrowser === false) {\n if (!navigateOnServerWarned) {\n const warning = new Error(\n \"The view transitions client API was called during a server side render. This may be unintentional as the navigate() function is expected to be called in response to user interactions. Please make sure that your usage is correct.\"\n );\n warning.name = \"Warning\";\n console.warn(warning);\n navigateOnServerWarned = true;\n }\n return;\n }\n await transition(\"forward\", originalLocation, new URL(href, location.href), options ?? {});\n}\nfunction onPopState(ev) {\n if (!transitionEnabledOnThisPage() && ev.state) {\n location.reload();\n return;\n }\n if (ev.state === null) {\n return;\n }\n const state = history.state;\n const nextIndex = state.index;\n const direction = nextIndex > currentHistoryIndex ? \"forward\" : \"back\";\n currentHistoryIndex = nextIndex;\n transition(direction, originalLocation, new URL(location.href), {}, state);\n}\nconst onScrollEnd = () => {\n if (history.state && (scrollX !== history.state.scrollX || scrollY !== history.state.scrollY)) {\n updateScrollPosition({ scrollX, scrollY });\n }\n};\nif (inBrowser) {\n if (supportsViewTransitions || getFallback() !== \"none\") {\n originalLocation = new URL(location.href);\n addEventListener(\"popstate\", onPopState);\n addEventListener(\"load\", onPageLoad);\n if (\"onscrollend\" in window) addEventListener(\"scrollend\", onScrollEnd);\n else {\n let intervalId, lastY, lastX, lastIndex;\n const scrollInterval = () => {\n if (lastIndex !== history.state?.index) {\n clearInterval(intervalId);\n intervalId = void 0;\n return;\n }\n if (lastY === scrollY && lastX === scrollX) {\n clearInterval(intervalId);\n intervalId = void 0;\n onScrollEnd();\n return;\n } else {\n lastY = scrollY, lastX = scrollX;\n }\n };\n addEventListener(\n \"scroll\",\n () => {\n if (intervalId !== void 0) return;\n lastIndex = history.state.index, lastY = scrollY, lastX = scrollX;\n intervalId = window.setInterval(scrollInterval, 50);\n },\n { passive: true }\n );\n }\n }\n for (const script of document.scripts) {\n script.dataset.astroExec = \"\";\n }\n}\nasync function prepareForClientOnlyComponents(newDocument, toLocation, signal) {\n if (newDocument.body.querySelector(`astro-island[client='only']`)) {\n const nextPage = document.createElement(\"iframe\");\n nextPage.src = toLocation.href;\n nextPage.style.display = \"none\";\n document.body.append(nextPage);\n nextPage.contentWindow.console = Object.keys(console).reduce((acc, key) => {\n acc[key] = () => {\n };\n return acc;\n }, {});\n await hydrationDone(nextPage);\n const nextHead = nextPage.contentDocument?.head;\n if (nextHead) {\n const viteIds = [...nextHead.querySelectorAll(`style[${VITE_ID}]`)].map(\n (style) => style.getAttribute(VITE_ID)\n );\n viteIds.forEach((id) => {\n const style = nextHead.querySelector(`style[${VITE_ID}=\"${id}\"]`);\n if (style && !newDocument.head.querySelector(`style[${VITE_ID}=\"${id}\"]`)) {\n newDocument.head.appendChild(style.cloneNode(true));\n }\n });\n }\n async function hydrationDone(loadingPage) {\n if (!signal.aborted) {\n await new Promise(\n (r) => loadingPage.contentWindow?.addEventListener(\"load\", r, { once: true })\n );\n }\n return new Promise(async (r) => {\n for (let count = 0; count <= 20; ++count) {\n if (signal.aborted) break;\n if (!loadingPage.contentDocument.body.querySelector(\"astro-island[ssr]\")) break;\n await new Promise((r2) => setTimeout(r2, 50));\n }\n r();\n });\n }\n }\n}\nexport {\n getFallback,\n navigate,\n supportsViewTransitions,\n transitionEnabledOnThisPage,\n updateScrollPosition\n};\n"],"names":["PERSIST_ATTR","deselectScripts","doc","s1","s2","swapRootAttributes","html","astroAttributes","name","value","swapHeadElements","el","newEl","persistedHeadElement","swapBodyElement","newElement","oldElement","id","shouldCopyProps","isSameProps","saveFocus","activeElement","start","end","restoreFocus","newDoc","href","persistProps","oldEl","swap","restoreFocusFunction","TRANSITION_BEFORE_PREPARATION","TRANSITION_AFTER_PREPARATION","TRANSITION_BEFORE_SWAP","TRANSITION_AFTER_SWAP","triggerEvent","BeforeEvent","type","eventInitDict","from","to","direction","navigationType","sourceElement","info","newDocument","signal","TransitionBeforePreparationEvent","formData","loader","TransitionBeforeSwapEvent","afterPreparation","viewTransition","doPreparation","defaultLoader","event","updateScrollPosition","doSwap","pushState","replaceState","positions","supportsViewTransitions","transitionEnabledOnThisPage","samePage","thisLocation","otherLocation","mostRecentNavigation","mostRecentTransition","originalLocation","onPageLoad","announce","div","title","DIRECTION_ATTR","OLD_NEW_ATTR","parser","currentHistoryIndex","fetchHTML","init","res","mediaType","getFallback","runScripts","wait","script","newScript","attr","p","r","moveToLocation","options","pageTitleForBrowserHistory","historyState","intraPage","targetPageTitle","scrolledToTop","current","savedState","preloadStyleLinks","links","c","resolve","evName","updateDOM","preparationEvent","currentTransition","fallback","animate","phase","isInfinite","animation","effect","currentAnimations","newAnimations","a","swapEvent","abortAndRecreateMostRecentNavigation","transition","currentNavigation","prepEvent","form","response","redirectedTo","abortAndRecreateMostRecentTransition","updateDone","e","err","navigate","onPopState","ev","state","nextIndex","onScrollEnd","intervalId","lastY","lastX","lastIndex","scrollInterval"],"mappings":"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","x_google_ignoreList":[0,1,2]} \ No newline at end of file diff --git a/Target/_astro/index.CrVg0Vl2.css b/Target/_astro/index.CrVg0Vl2.css new file mode 100644 index 00000000..bf3ff2d6 --- /dev/null +++ b/Target/_astro/index.CrVg0Vl2.css @@ -0,0 +1 @@ +*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: ;border:0 solid #e5e7eb;box-sizing:border-box}::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }/*! tailwindcss v3.4.13 | MIT License | https://tailwindcss.com*/:after,:before{--tw-content:""}:host,html{line-height:1.5;-webkit-text-size-adjust:100%;font-family:Albert Sans,ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-feature-settings:normal;font-variation-settings:normal;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-tap-highlight-color:transparent}body{line-height:inherit;margin:0}hr{border-top-width:1px;color:inherit;height:0}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-size:1em;font-variation-settings:normal}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{border-collapse:collapse;border-color:inherit;text-indent:0}button,input,optgroup,select,textarea{color:inherit;font-family:inherit;font-feature-settings:inherit;font-size:100%;font-variation-settings:inherit;font-weight:inherit;letter-spacing:inherit;line-height:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{color:#6b7280;opacity:1}input::placeholder,textarea::placeholder{color:#6b7280;opacity:1}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{height:auto;max-width:100%}[hidden]{display:none}[multiple],[type=date],[type=datetime-local],[type=email],[type=month],[type=number],[type=password],[type=search],[type=tel],[type=text],[type=time],[type=url],[type=week],input:where(:not([type])),select,textarea{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:#fff;border-color:#6b7280;border-radius:0;border-width:1px;font-size:1rem;line-height:1.5rem;padding:.5rem .75rem;--tw-shadow:0 0 #0000}[multiple]:focus,[type=date]:focus,[type=datetime-local]:focus,[type=email]:focus,[type=month]:focus,[type=number]:focus,[type=password]:focus,[type=search]:focus,[type=tel]:focus,[type=text]:focus,[type=time]:focus,[type=url]:focus,[type=week]:focus,input:where(:not([type])):focus,select:focus,textarea:focus{outline:2px solid transparent;outline-offset:2px;--tw-ring-inset:var(--tw-empty, );--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#2563eb;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);border-color:#2563eb;box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-date-and-time-value{min-height:1.5em;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit,::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-meridiem-field,::-webkit-datetime-edit-millisecond-field,::-webkit-datetime-edit-minute-field,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-second-field,::-webkit-datetime-edit-year-field{padding-bottom:0;padding-top:0}select{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3E%3Cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m6 8 4 4 4-4'/%3E%3C/svg%3E");background-position:right .5rem center;background-repeat:no-repeat;background-size:1.5em 1.5em;padding-right:2.5rem;-webkit-print-color-adjust:exact;print-color-adjust:exact}[multiple],[size]:where(select:not([size="1"])){background-image:none;background-position:0 0;background-repeat:unset;background-size:initial;padding-right:.75rem;-webkit-print-color-adjust:unset;print-color-adjust:unset}[type=checkbox],[type=radio]{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:#fff;background-origin:border-box;border-color:#6b7280;border-width:1px;color:#2563eb;display:inline-block;flex-shrink:0;height:1rem;padding:0;-webkit-print-color-adjust:exact;print-color-adjust:exact;-webkit-user-select:none;-moz-user-select:none;user-select:none;vertical-align:middle;width:1rem;--tw-shadow:0 0 #0000}[type=checkbox]{border-radius:0}[type=radio]{border-radius:100%}[type=checkbox]:focus,[type=radio]:focus{outline:2px solid transparent;outline-offset:2px;--tw-ring-inset:var(--tw-empty, );--tw-ring-offset-width:2px;--tw-ring-offset-color:#fff;--tw-ring-color:#2563eb;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}[type=checkbox]:checked,[type=radio]:checked{background-color:currentColor;background-position:50%;background-repeat:no-repeat;background-size:100% 100%;border-color:transparent}[type=checkbox]:checked{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 16 16'%3E%3Cpath d='M12.207 4.793a1 1 0 0 1 0 1.414l-5 5a1 1 0 0 1-1.414 0l-2-2a1 1 0 0 1 1.414-1.414L6.5 9.086l4.293-4.293a1 1 0 0 1 1.414 0'/%3E%3C/svg%3E")}[type=radio]:checked{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 16 16'%3E%3Ccircle cx='8' cy='8' r='3'/%3E%3C/svg%3E")}[type=checkbox]:checked:focus,[type=checkbox]:checked:hover,[type=radio]:checked:focus,[type=radio]:checked:hover{background-color:currentColor;border-color:transparent}[type=checkbox]:indeterminate{background-color:currentColor;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 16 16'%3E%3Cpath stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M4 8h8'/%3E%3C/svg%3E");background-position:50%;background-repeat:no-repeat;background-size:100% 100%;border-color:transparent}[type=checkbox]:indeterminate:focus,[type=checkbox]:indeterminate:hover{background-color:currentColor;border-color:transparent}[type=file]{background:unset;border-color:inherit;border-radius:0;border-width:0;font-size:unset;line-height:inherit;padding:0}[type=file]:focus{outline:1px auto -webkit-focus-ring-color}:root{--background-light:#fff;--background-dark:#000}.grow{flex-grow:1}@media (forced-colors:active){[type=checkbox]:checked,[type=radio]:checked{-webkit-appearance:auto;-moz-appearance:auto;appearance:auto}[type=checkbox]:indeterminate{-webkit-appearance:auto;-moz-appearance:auto;appearance:auto}}.astro-route-announcer{left:0;position:absolute;top:0;clip:rect(0 0 0 0);clip-path:inset(50%);height:1px;overflow:hidden;white-space:nowrap;width:1px}html{-webkit-tap-highlight-color:transparent}body,html{height:100%;width:100%}body{display:flex;flex-direction:column;flex-grow:1;--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity));--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction);--tw-text-opacity:1;color:rgb(0 0 0/var(--tw-text-opacity));-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-variant-ligatures:no-common-ligatures}::-moz-selection{text-shadow:none;--tw-bg-opacity:1;background-color:rgb(251 191 36/var(--tw-bg-opacity));--tw-text-opacity:1;color:rgb(0 0 0/var(--tw-text-opacity))}::selection{text-shadow:none;--tw-bg-opacity:1;background-color:rgb(251 191 36/var(--tw-bg-opacity));--tw-text-opacity:1;color:rgb(0 0 0/var(--tw-text-opacity))}img{display:inline-block;outline:2px solid transparent;outline-offset:2px;-webkit-user-select:none;-moz-user-select:none;user-select:none;vertical-align:top}@media (min-width:640px){body{-webkit-font-smoothing:auto;-moz-osx-font-smoothing:auto}}@media (prefers-color-scheme:dark){body{--tw-bg-opacity:1;background-color:rgb(0 0 0/var(--tw-bg-opacity));--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}::-moz-selection{--tw-bg-opacity:1;background-color:rgb(251 146 60/var(--tw-bg-opacity));--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}::selection{--tw-bg-opacity:1;background-color:rgb(251 146 60/var(--tw-bg-opacity));--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}} diff --git a/Target/_astro/index.esm.nUHfrO2F.js b/Target/_astro/index.esm.nUHfrO2F.js new file mode 100644 index 00000000..6c28e909 --- /dev/null +++ b/Target/_astro/index.esm.nUHfrO2F.js @@ -0,0 +1 @@ +var L={};const W=function(e){const t=[];let r=0;for(let n=0;n>6|192,t[r++]=63&a|128):55296==(64512&a)&&n+1>18|240,t[r++]=a>>12&63|128,t[r++]=a>>6&63|128,t[r++]=63&a|128):(t[r++]=a>>12|224,t[r++]=a>>6&63|128,t[r++]=63&a|128)}return t},ee=function(e){const t=[];let r=0,n=0;for(;r191&&a<224){const i=e[r++];t[n++]=String.fromCharCode((31&a)<<6|63&i)}else if(a>239&&a<365){const i=((7&a)<<18|(63&e[r++])<<12|(63&e[r++])<<6|63&e[r++])-65536;t[n++]=String.fromCharCode(55296+(i>>10)),t[n++]=String.fromCharCode(56320+(1023&i))}else{const i=e[r++],s=e[r++];t[n++]=String.fromCharCode((15&a)<<12|(63&i)<<6|63&s)}}return t.join("")},G={byteToCharMap_:null,charToByteMap_:null,byteToCharMapWebSafe_:null,charToByteMapWebSafe_:null,ENCODED_VALS_BASE:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789",get ENCODED_VALS(){return this.ENCODED_VALS_BASE+"+/="},get ENCODED_VALS_WEBSAFE(){return this.ENCODED_VALS_BASE+"-_."},HAS_NATIVE_SUPPORT:"function"==typeof atob,encodeByteArray(e,t){if(!Array.isArray(e))throw Error("encodeByteArray takes an array as a parameter");this.init_();const r=t?this.byteToCharMapWebSafe_:this.byteToCharMap_,n=[];for(let t=0;t>2,l=(3&a)<<4|s>>4;let d=(15&s)<<2|c>>6,u=63&c;o||(u=64,i||(d=64)),n.push(r[h],r[l],r[d],r[u])}return n.join("")},encodeString(e,t){return this.HAS_NATIVE_SUPPORT&&!t?btoa(e):this.encodeByteArray(W(e),t)},decodeString(e,t){return this.HAS_NATIVE_SUPPORT&&!t?atob(e):ee(this.decodeStringToByteArray(e,t))},decodeStringToByteArray(e,t){this.init_();const r=t?this.charToByteMapWebSafe_:this.charToByteMap_,n=[];for(let t=0;t>4;if(n.push(c),64!==s){const e=i<<4&240|s>>2;if(n.push(e),64!==o){const e=s<<6&192|o;n.push(e)}}}return n},init_(){if(!this.byteToCharMap_){this.byteToCharMap_={},this.charToByteMap_={},this.byteToCharMapWebSafe_={},this.charToByteMapWebSafe_={};for(let e=0;e=this.ENCODED_VALS_BASE.length&&(this.charToByteMap_[this.ENCODED_VALS_WEBSAFE.charAt(e)]=e,this.charToByteMapWebSafe_[this.ENCODED_VALS.charAt(e)]=e)}}};class te extends Error{constructor(){super(...arguments),this.name="DecodeBase64StringError"}}const ne=function(e){const t=W(e);return G.encodeByteArray(t,!0)},J=function(e){return ne(e).replace(/\./g,"")},re=function(e){try{return G.decodeString(e,!0)}catch(e){console.error("base64Decode failed: ",e)}return null};function se(){if(typeof self<"u")return self;if(typeof window<"u")return window;if(typeof global<"u")return global;throw new Error("Unable to locate global object.")}const ae=()=>se().__FIREBASE_DEFAULTS__,ie=()=>{if(typeof process>"u"||typeof L>"u")return;const e=L.__FIREBASE_DEFAULTS__;return e?JSON.parse(e):void 0},oe=()=>{if(typeof document>"u")return;let e;try{e=document.cookie.match(/__FIREBASE_DEFAULTS__=([^;]+)/)}catch{return}const t=e&&re(e[1]);return t&&JSON.parse(t)},ce=()=>{try{return ae()||ie()||oe()}catch(e){return void console.info(`Unable to get __FIREBASE_DEFAULTS__ due to: ${e}`)}},he=()=>{var e;return null===(e=ce())||void 0===e?void 0:e.config};class le{constructor(){this.reject=()=>{},this.resolve=()=>{},this.promise=new Promise(((e,t)=>{this.resolve=e,this.reject=t}))}wrapCallback(e){return(t,r)=>{t?this.reject(t):this.resolve(r),"function"==typeof e&&(this.promise.catch((()=>{})),1===e.length?e(t):e(t,r))}}}function de(){try{return"object"==typeof indexedDB}catch{return!1}}function fe(){return new Promise(((e,t)=>{try{let r=!0;const n="validate-browser-context-for-indexeddb-analytics-module",a=self.indexedDB.open(n);a.onsuccess=()=>{a.result.close(),r||self.indexedDB.deleteDatabase(n),e(!0)},a.onupgradeneeded=()=>{r=!1},a.onerror=()=>{var e;t((null===(e=a.error)||void 0===e?void 0:e.message)||"")}}catch(e){t(e)}}))}const ue="FirebaseError";class b extends Error{constructor(e,t,r){super(t),this.code=e,this.customData=r,this.name=ue,Object.setPrototypeOf(this,b.prototype),Error.captureStackTrace&&Error.captureStackTrace(this,K.prototype.create)}}class K{constructor(e,t,r){this.service=e,this.serviceName=t,this.errors=r}create(e,...t){const r=t[0]||{},n=`${this.service}/${e}`,a=this.errors[e],i=a?pe(a,r):"Error",s=`${this.serviceName}: ${i} (${n}).`;return new b(n,s,r)}}function pe(e,t){return e.replace(me,((e,r)=>{const n=t[r];return null!=n?String(n):`<${r}?>`}))}const me=/\{\$([^}]+)}/g;function C(e,t){if(e===t)return!0;const r=Object.keys(e),n=Object.keys(t);for(const a of r){if(!n.includes(a))return!1;const r=e[a],i=t[a];if(H(r)&&H(i)){if(!C(r,i))return!1}else if(r!==i)return!1}for(const e of n)if(!r.includes(e))return!1;return!0}function H(e){return null!==e&&"object"==typeof e}class D{constructor(e,t,r){this.name=e,this.instanceFactory=t,this.type=r,this.multipleInstances=!1,this.serviceProps={},this.instantiationMode="LAZY",this.onInstanceCreated=null}setInstantiationMode(e){return this.instantiationMode=e,this}setMultipleInstances(e){return this.multipleInstances=e,this}setServiceProps(e){return this.serviceProps=e,this}setInstanceCreatedCallback(e){return this.onInstanceCreated=e,this}}const u="[DEFAULT]";class ge{constructor(e,t){this.name=e,this.container=t,this.component=null,this.instances=new Map,this.instancesDeferred=new Map,this.instancesOptions=new Map,this.onInitCallbacks=new Map}get(e){const t=this.normalizeInstanceIdentifier(e);if(!this.instancesDeferred.has(t)){const e=new le;if(this.instancesDeferred.set(t,e),this.isInitialized(t)||this.shouldAutoInitialize())try{const r=this.getOrInitializeService({instanceIdentifier:t});r&&e.resolve(r)}catch{}}return this.instancesDeferred.get(t).promise}getImmediate(e){var t;const r=this.normalizeInstanceIdentifier(e?.identifier),n=null!==(t=e?.optional)&&void 0!==t&&t;if(!this.isInitialized(r)&&!this.shouldAutoInitialize()){if(n)return null;throw Error(`Service ${this.name} is not available`)}try{return this.getOrInitializeService({instanceIdentifier:r})}catch(e){if(n)return null;throw e}}getComponent(){return this.component}setComponent(e){if(e.name!==this.name)throw Error(`Mismatching Component ${e.name} for Provider ${this.name}.`);if(this.component)throw Error(`Component for ${this.name} has already been provided`);if(this.component=e,this.shouldAutoInitialize()){if(_e(e))try{this.getOrInitializeService({instanceIdentifier:u})}catch{}for(const[e,t]of this.instancesDeferred.entries()){const r=this.normalizeInstanceIdentifier(e);try{const e=this.getOrInitializeService({instanceIdentifier:r});t.resolve(e)}catch{}}}}clearInstance(e=u){this.instancesDeferred.delete(e),this.instancesOptions.delete(e),this.instances.delete(e)}async delete(){const e=Array.from(this.instances.values());await Promise.all([...e.filter((e=>"INTERNAL"in e)).map((e=>e.INTERNAL.delete())),...e.filter((e=>"_delete"in e)).map((e=>e._delete()))])}isComponentSet(){return null!=this.component}isInitialized(e=u){return this.instances.has(e)}getOptions(e=u){return this.instancesOptions.get(e)||{}}initialize(e={}){const{options:t={}}=e,r=this.normalizeInstanceIdentifier(e.instanceIdentifier);if(this.isInitialized(r))throw Error(`${this.name}(${r}) has already been initialized`);if(!this.isComponentSet())throw Error(`Component ${this.name} has not been registered yet`);const n=this.getOrInitializeService({instanceIdentifier:r,options:t});for(const[e,t]of this.instancesDeferred.entries()){r===this.normalizeInstanceIdentifier(e)&&t.resolve(n)}return n}onInit(e,t){var r;const n=this.normalizeInstanceIdentifier(t),a=null!==(r=this.onInitCallbacks.get(n))&&void 0!==r?r:new Set;a.add(e),this.onInitCallbacks.set(n,a);const i=this.instances.get(n);return i&&e(i,n),()=>{a.delete(e)}}invokeOnInitCallbacks(e,t){const r=this.onInitCallbacks.get(t);if(r)for(const n of r)try{n(e,t)}catch{}}getOrInitializeService({instanceIdentifier:e,options:t={}}){let r=this.instances.get(e);if(!r&&this.component&&(r=this.component.instanceFactory(this.container,{instanceIdentifier:be(e),options:t}),this.instances.set(e,r),this.instancesOptions.set(e,t),this.invokeOnInitCallbacks(r,e),this.component.onInstanceCreated))try{this.component.onInstanceCreated(this.container,e,r)}catch{}return r||null}normalizeInstanceIdentifier(e=u){return this.component?this.component.multipleInstances?e:u:e}shouldAutoInitialize(){return!!this.component&&"EXPLICIT"!==this.component.instantiationMode}}function be(e){return e===u?void 0:e}function _e(e){return"EAGER"===e.instantiationMode}class Ee{constructor(e){this.name=e,this.providers=new Map}addComponent(e){const t=this.getProvider(e.name);if(t.isComponentSet())throw new Error(`Component ${e.name} has already been registered with ${this.name}`);t.setComponent(e)}addOrOverwriteComponent(e){this.getProvider(e.name).isComponentSet()&&this.providers.delete(e.name),this.addComponent(e)}getProvider(e){if(this.providers.has(e))return this.providers.get(e);const t=new ge(e,this);return this.providers.set(e,t),t}getProviders(){return Array.from(this.providers.values())}}var h;!function(e){e[e.DEBUG=0]="DEBUG",e[e.VERBOSE=1]="VERBOSE",e[e.INFO=2]="INFO",e[e.WARN=3]="WARN",e[e.ERROR=4]="ERROR",e[e.SILENT=5]="SILENT"}(h||(h={}));const ye={debug:h.DEBUG,verbose:h.VERBOSE,info:h.INFO,warn:h.WARN,error:h.ERROR,silent:h.SILENT},De=h.INFO,Ie={[h.DEBUG]:"log",[h.VERBOSE]:"log",[h.INFO]:"info",[h.WARN]:"warn",[h.ERROR]:"error"},ve=(e,t,...r)=>{if(tt.some((t=>e instanceof t));let P,F;function Ce(){return P||(P=[IDBDatabase,IDBObjectStore,IDBIndex,IDBCursor,IDBTransaction])}function Ae(){return F||(F=[IDBCursor.prototype.advance,IDBCursor.prototype.continue,IDBCursor.prototype.continuePrimaryKey])}const Y=new WeakMap,A=new WeakMap,X=new WeakMap,I=new WeakMap,N=new WeakMap;function Be(e){const t=new Promise(((t,r)=>{const n=()=>{e.removeEventListener("success",a),e.removeEventListener("error",i)},a=()=>{t(f(e.result)),n()},i=()=>{r(e.error),n()};e.addEventListener("success",a),e.addEventListener("error",i)}));return t.then((t=>{t instanceof IDBCursor&&Y.set(t,e)})).catch((()=>{})),N.set(t,e),t}function Oe(e){if(A.has(e))return;const t=new Promise(((t,r)=>{const n=()=>{e.removeEventListener("complete",a),e.removeEventListener("error",i),e.removeEventListener("abort",i)},a=()=>{t(),n()},i=()=>{r(e.error||new DOMException("AbortError","AbortError")),n()};e.addEventListener("complete",a),e.addEventListener("error",i),e.addEventListener("abort",i)}));A.set(e,t)}let B={get(e,t,r){if(e instanceof IDBTransaction){if("done"===t)return A.get(e);if("objectStoreNames"===t)return e.objectStoreNames||X.get(e);if("store"===t)return r.objectStoreNames[1]?void 0:r.objectStore(r.objectStoreNames[0])}return f(e[t])},set:(e,t,r)=>(e[t]=r,!0),has:(e,t)=>e instanceof IDBTransaction&&("done"===t||"store"===t)||t in e};function Te(e){B=e(B)}function Me(e){return e!==IDBDatabase.prototype.transaction||"objectStoreNames"in IDBTransaction.prototype?Ae().includes(e)?function(...t){return e.apply(v(this),t),f(Y.get(this))}:function(...t){return f(e.apply(v(this),t))}:function(t,...r){const n=e.call(v(this),t,...r);return X.set(n,t.sort?t.sort():[t]),f(n)}}function $e(e){return"function"==typeof e?Me(e):(e instanceof IDBTransaction&&Oe(e),Se(e,Ce())?new Proxy(e,B):e)}function f(e){if(e instanceof IDBRequest)return Be(e);if(I.has(e))return I.get(e);const t=$e(e);return t!==e&&(I.set(e,t),N.set(t,e)),t}const v=e=>N.get(e);function Ne(e,t,{blocked:r,upgrade:n,blocking:a,terminated:i}={}){const s=indexedDB.open(e,t),o=f(s);return n&&s.addEventListener("upgradeneeded",(e=>{n(f(s.result),e.oldVersion,e.newVersion,f(s.transaction),e)})),r&&s.addEventListener("blocked",(e=>r(e.oldVersion,e.newVersion,e))),o.then((e=>{i&&e.addEventListener("close",(()=>i())),a&&e.addEventListener("versionchange",(e=>a(e.oldVersion,e.newVersion,e)))})).catch((()=>{})),o}const Re=["get","getKey","getAll","getAllKeys","count"],Le=["put","add","delete","clear"],w=new Map;function x(e,t){if(!(e instanceof IDBDatabase)||t in e||"string"!=typeof t)return;if(w.get(t))return w.get(t);const r=t.replace(/FromIndex$/,""),n=t!==r,a=Le.includes(r);if(!(r in(n?IDBIndex:IDBObjectStore).prototype)||!a&&!Re.includes(r))return;const i=async function(e,...t){const i=this.transaction(e,a?"readwrite":"readonly");let s=i.store;return n&&(s=s.index(t.shift())),(await Promise.all([s[r](...t),a&&i.done]))[0]};return w.set(t,i),i}Te((e=>({...e,get:(t,r,n)=>x(t,r)||e.get(t,r,n),has:(t,r)=>!!x(t,r)||e.has(t,r)})));class He{constructor(e){this.container=e}getPlatformInfoString(){return this.container.getProviders().map((e=>{if(Pe(e)){const t=e.getImmediate();return`${t.library}/${t.version}`}return null})).filter((e=>e)).join(" ")}}function Pe(e){const t=e.getComponent();return"VERSION"===t?.type}const O="@firebase/app",V="0.10.11",d=new we("@firebase/app"),Fe="@firebase/app-compat",xe="@firebase/analytics-compat",Ve="@firebase/analytics",je="@firebase/app-check-compat",ke="@firebase/app-check",ze="@firebase/auth",Ue="@firebase/auth-compat",We="@firebase/database",Ge="@firebase/database-compat",Je="@firebase/functions",Ke="@firebase/functions-compat",Ye="@firebase/installations",Xe="@firebase/installations-compat",Ze="@firebase/messaging",qe="@firebase/messaging-compat",Qe="@firebase/performance",et="@firebase/performance-compat",tt="@firebase/remote-config",nt="@firebase/remote-config-compat",rt="@firebase/storage",st="@firebase/storage-compat",at="@firebase/firestore",it="@firebase/vertexai-preview",ot="@firebase/firestore-compat",ct="firebase",ht="[DEFAULT]",lt={[O]:"fire-core",[Fe]:"fire-core-compat",[Ve]:"fire-analytics",[xe]:"fire-analytics-compat",[ke]:"fire-app-check",[je]:"fire-app-check-compat",[ze]:"fire-auth",[Ue]:"fire-auth-compat",[We]:"fire-rtdb",[Ge]:"fire-rtdb-compat",[Je]:"fire-fn",[Ke]:"fire-fn-compat",[Ye]:"fire-iid",[Xe]:"fire-iid-compat",[Ze]:"fire-fcm",[qe]:"fire-fcm-compat",[Qe]:"fire-perf",[et]:"fire-perf-compat",[tt]:"fire-rc",[nt]:"fire-rc-compat",[rt]:"fire-gcs",[st]:"fire-gcs-compat",[at]:"fire-fst",[ot]:"fire-fst-compat",[it]:"fire-vertex","fire-js":"fire-js",[ct]:"fire-js-all"},T=new Map,dt=new Map,M=new Map;function j(e,t){try{e.container.addComponent(t)}catch(r){d.debug(`Component ${t.name} failed to register with FirebaseApp ${e.name}`,r)}}function $(e){const t=e.name;if(M.has(t))return d.debug(`There were multiple attempts to register component ${t}.`),!1;M.set(t,e);for(const t of T.values())j(t,e);for(const t of dt.values())j(t,e);return!0}const ft={"no-app":"No Firebase App '{$appName}' has been created - call initializeApp() first","bad-app-name":"Illegal App name: '{$appName}'","duplicate-app":"Firebase App named '{$appName}' already exists with different options or config","app-deleted":"Firebase App named '{$appName}' already deleted","server-app-deleted":"Firebase Server App has been deleted","no-options":"Need to provide options, when not being deployed to hosting via source.","invalid-app-argument":"firebase.{$appName}() takes either no argument or a Firebase App instance.","invalid-log-argument":"First argument to `onLog` must be null or a function.","idb-open":"Error thrown when opening IndexedDB. Original error: {$originalErrorMessage}.","idb-get":"Error thrown when reading from IndexedDB. Original error: {$originalErrorMessage}.","idb-set":"Error thrown when writing to IndexedDB. Original error: {$originalErrorMessage}.","idb-delete":"Error thrown when deleting from IndexedDB. Original error: {$originalErrorMessage}.","finalization-registry-not-supported":"FirebaseServerApp deleteOnDeref field defined but the JS runtime does not support FinalizationRegistry.","invalid-server-app-environment":"FirebaseServerApp is not for use in browser environments."},p=new K("app","Firebase",ft);class ut{constructor(e,t,r){this._isDeleted=!1,this._options=Object.assign({},e),this._config=Object.assign({},t),this._name=t.name,this._automaticDataCollectionEnabled=t.automaticDataCollectionEnabled,this._container=r,this.container.addComponent(new D("app",(()=>this),"PUBLIC"))}get automaticDataCollectionEnabled(){return this.checkDestroyed(),this._automaticDataCollectionEnabled}set automaticDataCollectionEnabled(e){this.checkDestroyed(),this._automaticDataCollectionEnabled=e}get name(){return this.checkDestroyed(),this._name}get options(){return this.checkDestroyed(),this._options}get config(){return this.checkDestroyed(),this._config}get container(){return this._container}get isDeleted(){return this._isDeleted}set isDeleted(e){this._isDeleted=e}checkDestroyed(){if(this.isDeleted)throw p.create("app-deleted",{appName:this._name})}}function St(e,t={}){let r=e;"object"!=typeof t&&(t={name:t});const n=Object.assign({name:ht,automaticDataCollectionEnabled:!1},t),a=n.name;if("string"!=typeof a||!a)throw p.create("bad-app-name",{appName:String(a)});if(r||(r=he()),!r)throw p.create("no-options");const i=T.get(a);if(i){if(C(r,i.options)&&C(n,i.config))return i;throw p.create("duplicate-app",{appName:a})}const s=new Ee(a);for(const e of M.values())s.addComponent(e);const o=new ut(r,n,s);return T.set(a,o),o}function y(e,t,r){var n;let a=null!==(n=lt[e])&&void 0!==n?n:e;r&&(a+=`-${r}`);const i=a.match(/\s|\//),s=t.match(/\s|\//);if(i||s){const e=[`Unable to register library "${a}" with version "${t}":`];return i&&e.push(`library name "${a}" contains illegal characters (whitespace or "/")`),i&&s&&e.push("and"),s&&e.push(`version name "${t}" contains illegal characters (whitespace or "/")`),void d.warn(e.join(" "))}$(new D(`${a}-version`,(()=>({library:a,version:t})),"VERSION"))}const pt="firebase-heartbeat-database",mt=1,g="firebase-heartbeat-store";let S=null;function Z(){return S||(S=Ne(pt,1,{upgrade:(e,t)=>{if(0===t)try{e.createObjectStore(g)}catch(e){console.warn(e)}}}).catch((e=>{throw p.create("idb-open",{originalErrorMessage:e.message})}))),S}async function gt(e){try{const t=(await Z()).transaction(g),r=await t.objectStore(g).get(q(e));return await t.done,r}catch(e){if(e instanceof b)d.warn(e.message);else{const t=p.create("idb-get",{originalErrorMessage:e?.message});d.warn(t.message)}}}async function k(e,t){try{const r=(await Z()).transaction(g,"readwrite");await r.objectStore(g).put(t,q(e)),await r.done}catch(e){if(e instanceof b)d.warn(e.message);else{const t=p.create("idb-set",{originalErrorMessage:e?.message});d.warn(t.message)}}}function q(e){return`${e.name}!${e.options.appId}`}const bt=1024,_t=2592e6;class Et{constructor(e){this.container=e,this._heartbeatsCache=null;const t=this.container.getProvider("app").getImmediate();this._storage=new Dt(t),this._heartbeatsCachePromise=this._storage.read().then((e=>(this._heartbeatsCache=e,e)))}async triggerHeartbeat(){var e,t;try{const r=this.container.getProvider("platform-logger").getImmediate().getPlatformInfoString(),n=z();return null==(null===(e=this._heartbeatsCache)||void 0===e?void 0:e.heartbeats)&&(this._heartbeatsCache=await this._heartbeatsCachePromise,null==(null===(t=this._heartbeatsCache)||void 0===t?void 0:t.heartbeats))||this._heartbeatsCache.lastSentHeartbeatDate===n||this._heartbeatsCache.heartbeats.some((e=>e.date===n))?void 0:(this._heartbeatsCache.heartbeats.push({date:n,agent:r}),this._heartbeatsCache.heartbeats=this._heartbeatsCache.heartbeats.filter((e=>{const t=new Date(e.date).valueOf();return Date.now()-t<=_t})),this._storage.overwrite(this._heartbeatsCache))}catch(e){d.warn(e)}}async getHeartbeatsHeader(){var e;try{if(null===this._heartbeatsCache&&await this._heartbeatsCachePromise,null==(null===(e=this._heartbeatsCache)||void 0===e?void 0:e.heartbeats)||0===this._heartbeatsCache.heartbeats.length)return"";const t=z(),{heartbeatsToSend:r,unsentEntries:n}=yt(this._heartbeatsCache.heartbeats),a=J(JSON.stringify({version:2,heartbeats:r}));return this._heartbeatsCache.lastSentHeartbeatDate=t,n.length>0?(this._heartbeatsCache.heartbeats=n,await this._storage.overwrite(this._heartbeatsCache)):(this._heartbeatsCache.heartbeats=[],this._storage.overwrite(this._heartbeatsCache)),a}catch(e){return d.warn(e),""}}}function z(){return(new Date).toISOString().substring(0,10)}function yt(e,t=bt){const r=[];let n=e.slice();for(const a of e){const e=r.find((e=>e.agent===a.agent));if(e){if(e.dates.push(a.date),U(r)>t){e.dates.pop();break}}else if(r.push({agent:a.agent,dates:[a.date]}),U(r)>t){r.pop();break}n=n.slice(1)}return{heartbeatsToSend:r,unsentEntries:n}}class Dt{constructor(e){this.app=e,this._canUseIndexedDBPromise=this.runIndexedDBEnvironmentCheck()}async runIndexedDBEnvironmentCheck(){return!!de()&&fe().then((()=>!0)).catch((()=>!1))}async read(){if(await this._canUseIndexedDBPromise){const e=await gt(this.app);return e?.heartbeats?e:{heartbeats:[]}}return{heartbeats:[]}}async overwrite(e){var t;if(await this._canUseIndexedDBPromise){const r=await this.read();return k(this.app,{lastSentHeartbeatDate:null!==(t=e.lastSentHeartbeatDate)&&void 0!==t?t:r.lastSentHeartbeatDate,heartbeats:e.heartbeats})}}async add(e){var t;if(await this._canUseIndexedDBPromise){const r=await this.read();return k(this.app,{lastSentHeartbeatDate:null!==(t=e.lastSentHeartbeatDate)&&void 0!==t?t:r.lastSentHeartbeatDate,heartbeats:[...r.heartbeats,...e.heartbeats]})}}}function U(e){return J(JSON.stringify({version:2,heartbeats:e})).length}function It(e){$(new D("platform-logger",(e=>new He(e)),"PRIVATE")),$(new D("heartbeat",(e=>new Et(e)),"PRIVATE")),y(O,V,e),y(O,V,"esm2017"),y("fire-js","")}It("");var vt="firebase",wt="10.13.2";y(vt,wt,"app");export{b as FirebaseError,ht as _DEFAULT_ENTRY_NAME,j as _addComponent,T as _apps,M as _components,$ as _registerComponent,dt as _serverApps,St as initializeApp,y as registerVersion}; \ No newline at end of file diff --git a/Target/_astro/index.esm.nUHfrO2F.js.map b/Target/_astro/index.esm.nUHfrO2F.js.map new file mode 100644 index 00000000..c0436476 --- /dev/null +++ b/Target/_astro/index.esm.nUHfrO2F.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.esm.nUHfrO2F.js","sources":["../../../../../../node_modules/@firebase/util/dist/index.esm2017.js","../../../../../../node_modules/@firebase/component/dist/esm/index.esm2017.js","../../../../../../node_modules/@firebase/logger/dist/esm/index.esm2017.js","../../../../../../node_modules/idb/build/wrap-idb-value.js","../../../../../../node_modules/idb/build/index.js","../../../../../../node_modules/@firebase/app/dist/esm/index.esm2017.js","../../../../../../node_modules/firebase/app/dist/esm/index.esm.js"],"sourcesContent":["/**\r\n * @license\r\n * Copyright 2017 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n/**\r\n * @fileoverview Firebase constants. Some of these (@defines) can be overridden at compile-time.\r\n */\r\nconst CONSTANTS = {\r\n /**\r\n * @define {boolean} Whether this is the client Node.js SDK.\r\n */\r\n NODE_CLIENT: false,\r\n /**\r\n * @define {boolean} Whether this is the Admin Node.js SDK.\r\n */\r\n NODE_ADMIN: false,\r\n /**\r\n * Firebase SDK Version\r\n */\r\n SDK_VERSION: '${JSCORE_VERSION}'\r\n};\n\n/**\r\n * @license\r\n * Copyright 2017 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n/**\r\n * Throws an error if the provided assertion is falsy\r\n */\r\nconst assert = function (assertion, message) {\r\n if (!assertion) {\r\n throw assertionError(message);\r\n }\r\n};\r\n/**\r\n * Returns an Error object suitable for throwing.\r\n */\r\nconst assertionError = function (message) {\r\n return new Error('Firebase Database (' +\r\n CONSTANTS.SDK_VERSION +\r\n ') INTERNAL ASSERT FAILED: ' +\r\n message);\r\n};\n\n/**\r\n * @license\r\n * Copyright 2017 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\nconst stringToByteArray$1 = function (str) {\r\n // TODO(user): Use native implementations if/when available\r\n const out = [];\r\n let p = 0;\r\n for (let i = 0; i < str.length; i++) {\r\n let c = str.charCodeAt(i);\r\n if (c < 128) {\r\n out[p++] = c;\r\n }\r\n else if (c < 2048) {\r\n out[p++] = (c >> 6) | 192;\r\n out[p++] = (c & 63) | 128;\r\n }\r\n else if ((c & 0xfc00) === 0xd800 &&\r\n i + 1 < str.length &&\r\n (str.charCodeAt(i + 1) & 0xfc00) === 0xdc00) {\r\n // Surrogate Pair\r\n c = 0x10000 + ((c & 0x03ff) << 10) + (str.charCodeAt(++i) & 0x03ff);\r\n out[p++] = (c >> 18) | 240;\r\n out[p++] = ((c >> 12) & 63) | 128;\r\n out[p++] = ((c >> 6) & 63) | 128;\r\n out[p++] = (c & 63) | 128;\r\n }\r\n else {\r\n out[p++] = (c >> 12) | 224;\r\n out[p++] = ((c >> 6) & 63) | 128;\r\n out[p++] = (c & 63) | 128;\r\n }\r\n }\r\n return out;\r\n};\r\n/**\r\n * Turns an array of numbers into the string given by the concatenation of the\r\n * characters to which the numbers correspond.\r\n * @param bytes Array of numbers representing characters.\r\n * @return Stringification of the array.\r\n */\r\nconst byteArrayToString = function (bytes) {\r\n // TODO(user): Use native implementations if/when available\r\n const out = [];\r\n let pos = 0, c = 0;\r\n while (pos < bytes.length) {\r\n const c1 = bytes[pos++];\r\n if (c1 < 128) {\r\n out[c++] = String.fromCharCode(c1);\r\n }\r\n else if (c1 > 191 && c1 < 224) {\r\n const c2 = bytes[pos++];\r\n out[c++] = String.fromCharCode(((c1 & 31) << 6) | (c2 & 63));\r\n }\r\n else if (c1 > 239 && c1 < 365) {\r\n // Surrogate Pair\r\n const c2 = bytes[pos++];\r\n const c3 = bytes[pos++];\r\n const c4 = bytes[pos++];\r\n const u = (((c1 & 7) << 18) | ((c2 & 63) << 12) | ((c3 & 63) << 6) | (c4 & 63)) -\r\n 0x10000;\r\n out[c++] = String.fromCharCode(0xd800 + (u >> 10));\r\n out[c++] = String.fromCharCode(0xdc00 + (u & 1023));\r\n }\r\n else {\r\n const c2 = bytes[pos++];\r\n const c3 = bytes[pos++];\r\n out[c++] = String.fromCharCode(((c1 & 15) << 12) | ((c2 & 63) << 6) | (c3 & 63));\r\n }\r\n }\r\n return out.join('');\r\n};\r\n// We define it as an object literal instead of a class because a class compiled down to es5 can't\r\n// be treeshaked. https://github.com/rollup/rollup/issues/1691\r\n// Static lookup maps, lazily populated by init_()\r\nconst base64 = {\r\n /**\r\n * Maps bytes to characters.\r\n */\r\n byteToCharMap_: null,\r\n /**\r\n * Maps characters to bytes.\r\n */\r\n charToByteMap_: null,\r\n /**\r\n * Maps bytes to websafe characters.\r\n * @private\r\n */\r\n byteToCharMapWebSafe_: null,\r\n /**\r\n * Maps websafe characters to bytes.\r\n * @private\r\n */\r\n charToByteMapWebSafe_: null,\r\n /**\r\n * Our default alphabet, shared between\r\n * ENCODED_VALS and ENCODED_VALS_WEBSAFE\r\n */\r\n ENCODED_VALS_BASE: 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' + 'abcdefghijklmnopqrstuvwxyz' + '0123456789',\r\n /**\r\n * Our default alphabet. Value 64 (=) is special; it means \"nothing.\"\r\n */\r\n get ENCODED_VALS() {\r\n return this.ENCODED_VALS_BASE + '+/=';\r\n },\r\n /**\r\n * Our websafe alphabet.\r\n */\r\n get ENCODED_VALS_WEBSAFE() {\r\n return this.ENCODED_VALS_BASE + '-_.';\r\n },\r\n /**\r\n * Whether this browser supports the atob and btoa functions. This extension\r\n * started at Mozilla but is now implemented by many browsers. We use the\r\n * ASSUME_* variables to avoid pulling in the full useragent detection library\r\n * but still allowing the standard per-browser compilations.\r\n *\r\n */\r\n HAS_NATIVE_SUPPORT: typeof atob === 'function',\r\n /**\r\n * Base64-encode an array of bytes.\r\n *\r\n * @param input An array of bytes (numbers with\r\n * value in [0, 255]) to encode.\r\n * @param webSafe Boolean indicating we should use the\r\n * alternative alphabet.\r\n * @return The base64 encoded string.\r\n */\r\n encodeByteArray(input, webSafe) {\r\n if (!Array.isArray(input)) {\r\n throw Error('encodeByteArray takes an array as a parameter');\r\n }\r\n this.init_();\r\n const byteToCharMap = webSafe\r\n ? this.byteToCharMapWebSafe_\r\n : this.byteToCharMap_;\r\n const output = [];\r\n for (let i = 0; i < input.length; i += 3) {\r\n const byte1 = input[i];\r\n const haveByte2 = i + 1 < input.length;\r\n const byte2 = haveByte2 ? input[i + 1] : 0;\r\n const haveByte3 = i + 2 < input.length;\r\n const byte3 = haveByte3 ? input[i + 2] : 0;\r\n const outByte1 = byte1 >> 2;\r\n const outByte2 = ((byte1 & 0x03) << 4) | (byte2 >> 4);\r\n let outByte3 = ((byte2 & 0x0f) << 2) | (byte3 >> 6);\r\n let outByte4 = byte3 & 0x3f;\r\n if (!haveByte3) {\r\n outByte4 = 64;\r\n if (!haveByte2) {\r\n outByte3 = 64;\r\n }\r\n }\r\n output.push(byteToCharMap[outByte1], byteToCharMap[outByte2], byteToCharMap[outByte3], byteToCharMap[outByte4]);\r\n }\r\n return output.join('');\r\n },\r\n /**\r\n * Base64-encode a string.\r\n *\r\n * @param input A string to encode.\r\n * @param webSafe If true, we should use the\r\n * alternative alphabet.\r\n * @return The base64 encoded string.\r\n */\r\n encodeString(input, webSafe) {\r\n // Shortcut for Mozilla browsers that implement\r\n // a native base64 encoder in the form of \"btoa/atob\"\r\n if (this.HAS_NATIVE_SUPPORT && !webSafe) {\r\n return btoa(input);\r\n }\r\n return this.encodeByteArray(stringToByteArray$1(input), webSafe);\r\n },\r\n /**\r\n * Base64-decode a string.\r\n *\r\n * @param input to decode.\r\n * @param webSafe True if we should use the\r\n * alternative alphabet.\r\n * @return string representing the decoded value.\r\n */\r\n decodeString(input, webSafe) {\r\n // Shortcut for Mozilla browsers that implement\r\n // a native base64 encoder in the form of \"btoa/atob\"\r\n if (this.HAS_NATIVE_SUPPORT && !webSafe) {\r\n return atob(input);\r\n }\r\n return byteArrayToString(this.decodeStringToByteArray(input, webSafe));\r\n },\r\n /**\r\n * Base64-decode a string.\r\n *\r\n * In base-64 decoding, groups of four characters are converted into three\r\n * bytes. If the encoder did not apply padding, the input length may not\r\n * be a multiple of 4.\r\n *\r\n * In this case, the last group will have fewer than 4 characters, and\r\n * padding will be inferred. If the group has one or two characters, it decodes\r\n * to one byte. If the group has three characters, it decodes to two bytes.\r\n *\r\n * @param input Input to decode.\r\n * @param webSafe True if we should use the web-safe alphabet.\r\n * @return bytes representing the decoded value.\r\n */\r\n decodeStringToByteArray(input, webSafe) {\r\n this.init_();\r\n const charToByteMap = webSafe\r\n ? this.charToByteMapWebSafe_\r\n : this.charToByteMap_;\r\n const output = [];\r\n for (let i = 0; i < input.length;) {\r\n const byte1 = charToByteMap[input.charAt(i++)];\r\n const haveByte2 = i < input.length;\r\n const byte2 = haveByte2 ? charToByteMap[input.charAt(i)] : 0;\r\n ++i;\r\n const haveByte3 = i < input.length;\r\n const byte3 = haveByte3 ? charToByteMap[input.charAt(i)] : 64;\r\n ++i;\r\n const haveByte4 = i < input.length;\r\n const byte4 = haveByte4 ? charToByteMap[input.charAt(i)] : 64;\r\n ++i;\r\n if (byte1 == null || byte2 == null || byte3 == null || byte4 == null) {\r\n throw new DecodeBase64StringError();\r\n }\r\n const outByte1 = (byte1 << 2) | (byte2 >> 4);\r\n output.push(outByte1);\r\n if (byte3 !== 64) {\r\n const outByte2 = ((byte2 << 4) & 0xf0) | (byte3 >> 2);\r\n output.push(outByte2);\r\n if (byte4 !== 64) {\r\n const outByte3 = ((byte3 << 6) & 0xc0) | byte4;\r\n output.push(outByte3);\r\n }\r\n }\r\n }\r\n return output;\r\n },\r\n /**\r\n * Lazy static initialization function. Called before\r\n * accessing any of the static map variables.\r\n * @private\r\n */\r\n init_() {\r\n if (!this.byteToCharMap_) {\r\n this.byteToCharMap_ = {};\r\n this.charToByteMap_ = {};\r\n this.byteToCharMapWebSafe_ = {};\r\n this.charToByteMapWebSafe_ = {};\r\n // We want quick mappings back and forth, so we precompute two maps.\r\n for (let i = 0; i < this.ENCODED_VALS.length; i++) {\r\n this.byteToCharMap_[i] = this.ENCODED_VALS.charAt(i);\r\n this.charToByteMap_[this.byteToCharMap_[i]] = i;\r\n this.byteToCharMapWebSafe_[i] = this.ENCODED_VALS_WEBSAFE.charAt(i);\r\n this.charToByteMapWebSafe_[this.byteToCharMapWebSafe_[i]] = i;\r\n // Be forgiving when decoding and correctly decode both encodings.\r\n if (i >= this.ENCODED_VALS_BASE.length) {\r\n this.charToByteMap_[this.ENCODED_VALS_WEBSAFE.charAt(i)] = i;\r\n this.charToByteMapWebSafe_[this.ENCODED_VALS.charAt(i)] = i;\r\n }\r\n }\r\n }\r\n }\r\n};\r\n/**\r\n * An error encountered while decoding base64 string.\r\n */\r\nclass DecodeBase64StringError extends Error {\r\n constructor() {\r\n super(...arguments);\r\n this.name = 'DecodeBase64StringError';\r\n }\r\n}\r\n/**\r\n * URL-safe base64 encoding\r\n */\r\nconst base64Encode = function (str) {\r\n const utf8Bytes = stringToByteArray$1(str);\r\n return base64.encodeByteArray(utf8Bytes, true);\r\n};\r\n/**\r\n * URL-safe base64 encoding (without \".\" padding in the end).\r\n * e.g. Used in JSON Web Token (JWT) parts.\r\n */\r\nconst base64urlEncodeWithoutPadding = function (str) {\r\n // Use base64url encoding and remove padding in the end (dot characters).\r\n return base64Encode(str).replace(/\\./g, '');\r\n};\r\n/**\r\n * URL-safe base64 decoding\r\n *\r\n * NOTE: DO NOT use the global atob() function - it does NOT support the\r\n * base64Url variant encoding.\r\n *\r\n * @param str To be decoded\r\n * @return Decoded result, if possible\r\n */\r\nconst base64Decode = function (str) {\r\n try {\r\n return base64.decodeString(str, true);\r\n }\r\n catch (e) {\r\n console.error('base64Decode failed: ', e);\r\n }\r\n return null;\r\n};\n\n/**\r\n * @license\r\n * Copyright 2017 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n/**\r\n * Do a deep-copy of basic JavaScript Objects or Arrays.\r\n */\r\nfunction deepCopy(value) {\r\n return deepExtend(undefined, value);\r\n}\r\n/**\r\n * Copy properties from source to target (recursively allows extension\r\n * of Objects and Arrays). Scalar values in the target are over-written.\r\n * If target is undefined, an object of the appropriate type will be created\r\n * (and returned).\r\n *\r\n * We recursively copy all child properties of plain Objects in the source- so\r\n * that namespace- like dictionaries are merged.\r\n *\r\n * Note that the target can be a function, in which case the properties in\r\n * the source Object are copied onto it as static properties of the Function.\r\n *\r\n * Note: we don't merge __proto__ to prevent prototype pollution\r\n */\r\nfunction deepExtend(target, source) {\r\n if (!(source instanceof Object)) {\r\n return source;\r\n }\r\n switch (source.constructor) {\r\n case Date:\r\n // Treat Dates like scalars; if the target date object had any child\r\n // properties - they will be lost!\r\n const dateValue = source;\r\n return new Date(dateValue.getTime());\r\n case Object:\r\n if (target === undefined) {\r\n target = {};\r\n }\r\n break;\r\n case Array:\r\n // Always copy the array source and overwrite the target.\r\n target = [];\r\n break;\r\n default:\r\n // Not a plain Object - treat it as a scalar.\r\n return source;\r\n }\r\n for (const prop in source) {\r\n // use isValidKey to guard against prototype pollution. See https://snyk.io/vuln/SNYK-JS-LODASH-450202\r\n if (!source.hasOwnProperty(prop) || !isValidKey(prop)) {\r\n continue;\r\n }\r\n target[prop] = deepExtend(target[prop], source[prop]);\r\n }\r\n return target;\r\n}\r\nfunction isValidKey(key) {\r\n return key !== '__proto__';\r\n}\n\n/**\r\n * @license\r\n * Copyright 2022 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n/**\r\n * Polyfill for `globalThis` object.\r\n * @returns the `globalThis` object for the given environment.\r\n * @public\r\n */\r\nfunction getGlobal() {\r\n if (typeof self !== 'undefined') {\r\n return self;\r\n }\r\n if (typeof window !== 'undefined') {\r\n return window;\r\n }\r\n if (typeof global !== 'undefined') {\r\n return global;\r\n }\r\n throw new Error('Unable to locate global object.');\r\n}\n\n/**\r\n * @license\r\n * Copyright 2022 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\nconst getDefaultsFromGlobal = () => getGlobal().__FIREBASE_DEFAULTS__;\r\n/**\r\n * Attempt to read defaults from a JSON string provided to\r\n * process(.)env(.)__FIREBASE_DEFAULTS__ or a JSON file whose path is in\r\n * process(.)env(.)__FIREBASE_DEFAULTS_PATH__\r\n * The dots are in parens because certain compilers (Vite?) cannot\r\n * handle seeing that variable in comments.\r\n * See https://github.com/firebase/firebase-js-sdk/issues/6838\r\n */\r\nconst getDefaultsFromEnvVariable = () => {\r\n if (typeof process === 'undefined' || typeof process.env === 'undefined') {\r\n return;\r\n }\r\n const defaultsJsonString = process.env.__FIREBASE_DEFAULTS__;\r\n if (defaultsJsonString) {\r\n return JSON.parse(defaultsJsonString);\r\n }\r\n};\r\nconst getDefaultsFromCookie = () => {\r\n if (typeof document === 'undefined') {\r\n return;\r\n }\r\n let match;\r\n try {\r\n match = document.cookie.match(/__FIREBASE_DEFAULTS__=([^;]+)/);\r\n }\r\n catch (e) {\r\n // Some environments such as Angular Universal SSR have a\r\n // `document` object but error on accessing `document.cookie`.\r\n return;\r\n }\r\n const decoded = match && base64Decode(match[1]);\r\n return decoded && JSON.parse(decoded);\r\n};\r\n/**\r\n * Get the __FIREBASE_DEFAULTS__ object. It checks in order:\r\n * (1) if such an object exists as a property of `globalThis`\r\n * (2) if such an object was provided on a shell environment variable\r\n * (3) if such an object exists in a cookie\r\n * @public\r\n */\r\nconst getDefaults = () => {\r\n try {\r\n return (getDefaultsFromGlobal() ||\r\n getDefaultsFromEnvVariable() ||\r\n getDefaultsFromCookie());\r\n }\r\n catch (e) {\r\n /**\r\n * Catch-all for being unable to get __FIREBASE_DEFAULTS__ due\r\n * to any environment case we have not accounted for. Log to\r\n * info instead of swallowing so we can find these unknown cases\r\n * and add paths for them if needed.\r\n */\r\n console.info(`Unable to get __FIREBASE_DEFAULTS__ due to: ${e}`);\r\n return;\r\n }\r\n};\r\n/**\r\n * Returns emulator host stored in the __FIREBASE_DEFAULTS__ object\r\n * for the given product.\r\n * @returns a URL host formatted like `127.0.0.1:9999` or `[::1]:4000` if available\r\n * @public\r\n */\r\nconst getDefaultEmulatorHost = (productName) => { var _a, _b; return (_b = (_a = getDefaults()) === null || _a === void 0 ? void 0 : _a.emulatorHosts) === null || _b === void 0 ? void 0 : _b[productName]; };\r\n/**\r\n * Returns emulator hostname and port stored in the __FIREBASE_DEFAULTS__ object\r\n * for the given product.\r\n * @returns a pair of hostname and port like `[\"::1\", 4000]` if available\r\n * @public\r\n */\r\nconst getDefaultEmulatorHostnameAndPort = (productName) => {\r\n const host = getDefaultEmulatorHost(productName);\r\n if (!host) {\r\n return undefined;\r\n }\r\n const separatorIndex = host.lastIndexOf(':'); // Finding the last since IPv6 addr also has colons.\r\n if (separatorIndex <= 0 || separatorIndex + 1 === host.length) {\r\n throw new Error(`Invalid host ${host} with no separate hostname and port!`);\r\n }\r\n // eslint-disable-next-line no-restricted-globals\r\n const port = parseInt(host.substring(separatorIndex + 1), 10);\r\n if (host[0] === '[') {\r\n // Bracket-quoted `[ipv6addr]:port` => return \"ipv6addr\" (without brackets).\r\n return [host.substring(1, separatorIndex - 1), port];\r\n }\r\n else {\r\n return [host.substring(0, separatorIndex), port];\r\n }\r\n};\r\n/**\r\n * Returns Firebase app config stored in the __FIREBASE_DEFAULTS__ object.\r\n * @public\r\n */\r\nconst getDefaultAppConfig = () => { var _a; return (_a = getDefaults()) === null || _a === void 0 ? void 0 : _a.config; };\r\n/**\r\n * Returns an experimental setting on the __FIREBASE_DEFAULTS__ object (properties\r\n * prefixed by \"_\")\r\n * @public\r\n */\r\nconst getExperimentalSetting = (name) => { var _a; return (_a = getDefaults()) === null || _a === void 0 ? void 0 : _a[`_${name}`]; };\n\n/**\r\n * @license\r\n * Copyright 2017 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\nclass Deferred {\r\n constructor() {\r\n this.reject = () => { };\r\n this.resolve = () => { };\r\n this.promise = new Promise((resolve, reject) => {\r\n this.resolve = resolve;\r\n this.reject = reject;\r\n });\r\n }\r\n /**\r\n * Our API internals are not promisified and cannot because our callback APIs have subtle expectations around\r\n * invoking promises inline, which Promises are forbidden to do. This method accepts an optional node-style callback\r\n * and returns a node-style callback which will resolve or reject the Deferred's promise.\r\n */\r\n wrapCallback(callback) {\r\n return (error, value) => {\r\n if (error) {\r\n this.reject(error);\r\n }\r\n else {\r\n this.resolve(value);\r\n }\r\n if (typeof callback === 'function') {\r\n // Attaching noop handler just in case developer wasn't expecting\r\n // promises\r\n this.promise.catch(() => { });\r\n // Some of our callbacks don't expect a value and our own tests\r\n // assert that the parameter length is 1\r\n if (callback.length === 1) {\r\n callback(error);\r\n }\r\n else {\r\n callback(error, value);\r\n }\r\n }\r\n };\r\n }\r\n}\n\n/**\r\n * @license\r\n * Copyright 2021 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\nfunction createMockUserToken(token, projectId) {\r\n if (token.uid) {\r\n throw new Error('The \"uid\" field is no longer supported by mockUserToken. Please use \"sub\" instead for Firebase Auth User ID.');\r\n }\r\n // Unsecured JWTs use \"none\" as the algorithm.\r\n const header = {\r\n alg: 'none',\r\n type: 'JWT'\r\n };\r\n const project = projectId || 'demo-project';\r\n const iat = token.iat || 0;\r\n const sub = token.sub || token.user_id;\r\n if (!sub) {\r\n throw new Error(\"mockUserToken must contain 'sub' or 'user_id' field!\");\r\n }\r\n const payload = Object.assign({ \r\n // Set all required fields to decent defaults\r\n iss: `https://securetoken.google.com/${project}`, aud: project, iat, exp: iat + 3600, auth_time: iat, sub, user_id: sub, firebase: {\r\n sign_in_provider: 'custom',\r\n identities: {}\r\n } }, token);\r\n // Unsecured JWTs use the empty string as a signature.\r\n const signature = '';\r\n return [\r\n base64urlEncodeWithoutPadding(JSON.stringify(header)),\r\n base64urlEncodeWithoutPadding(JSON.stringify(payload)),\r\n signature\r\n ].join('.');\r\n}\n\n/**\r\n * @license\r\n * Copyright 2017 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n/**\r\n * Returns navigator.userAgent string or '' if it's not defined.\r\n * @return user agent string\r\n */\r\nfunction getUA() {\r\n if (typeof navigator !== 'undefined' &&\r\n typeof navigator['userAgent'] === 'string') {\r\n return navigator['userAgent'];\r\n }\r\n else {\r\n return '';\r\n }\r\n}\r\n/**\r\n * Detect Cordova / PhoneGap / Ionic frameworks on a mobile device.\r\n *\r\n * Deliberately does not rely on checking `file://` URLs (as this fails PhoneGap\r\n * in the Ripple emulator) nor Cordova `onDeviceReady`, which would normally\r\n * wait for a callback.\r\n */\r\nfunction isMobileCordova() {\r\n return (typeof window !== 'undefined' &&\r\n // @ts-ignore Setting up an broadly applicable index signature for Window\r\n // just to deal with this case would probably be a bad idea.\r\n !!(window['cordova'] || window['phonegap'] || window['PhoneGap']) &&\r\n /ios|iphone|ipod|ipad|android|blackberry|iemobile/i.test(getUA()));\r\n}\r\n/**\r\n * Detect Node.js.\r\n *\r\n * @return true if Node.js environment is detected or specified.\r\n */\r\n// Node detection logic from: https://github.com/iliakan/detect-node/\r\nfunction isNode() {\r\n var _a;\r\n const forceEnvironment = (_a = getDefaults()) === null || _a === void 0 ? void 0 : _a.forceEnvironment;\r\n if (forceEnvironment === 'node') {\r\n return true;\r\n }\r\n else if (forceEnvironment === 'browser') {\r\n return false;\r\n }\r\n try {\r\n return (Object.prototype.toString.call(global.process) === '[object process]');\r\n }\r\n catch (e) {\r\n return false;\r\n }\r\n}\r\n/**\r\n * Detect Browser Environment.\r\n * Note: This will return true for certain test frameworks that are incompletely\r\n * mimicking a browser, and should not lead to assuming all browser APIs are\r\n * available.\r\n */\r\nfunction isBrowser() {\r\n return typeof window !== 'undefined' || isWebWorker();\r\n}\r\n/**\r\n * Detect Web Worker context.\r\n */\r\nfunction isWebWorker() {\r\n return (typeof WorkerGlobalScope !== 'undefined' &&\r\n typeof self !== 'undefined' &&\r\n self instanceof WorkerGlobalScope);\r\n}\r\n/**\r\n * Detect Cloudflare Worker context.\r\n */\r\nfunction isCloudflareWorker() {\r\n return (typeof navigator !== 'undefined' &&\r\n navigator.userAgent === 'Cloudflare-Workers');\r\n}\r\nfunction isBrowserExtension() {\r\n const runtime = typeof chrome === 'object'\r\n ? chrome.runtime\r\n : typeof browser === 'object'\r\n ? browser.runtime\r\n : undefined;\r\n return typeof runtime === 'object' && runtime.id !== undefined;\r\n}\r\n/**\r\n * Detect React Native.\r\n *\r\n * @return true if ReactNative environment is detected.\r\n */\r\nfunction isReactNative() {\r\n return (typeof navigator === 'object' && navigator['product'] === 'ReactNative');\r\n}\r\n/** Detects Electron apps. */\r\nfunction isElectron() {\r\n return getUA().indexOf('Electron/') >= 0;\r\n}\r\n/** Detects Internet Explorer. */\r\nfunction isIE() {\r\n const ua = getUA();\r\n return ua.indexOf('MSIE ') >= 0 || ua.indexOf('Trident/') >= 0;\r\n}\r\n/** Detects Universal Windows Platform apps. */\r\nfunction isUWP() {\r\n return getUA().indexOf('MSAppHost/') >= 0;\r\n}\r\n/**\r\n * Detect whether the current SDK build is the Node version.\r\n *\r\n * @return true if it's the Node SDK build.\r\n */\r\nfunction isNodeSdk() {\r\n return CONSTANTS.NODE_CLIENT === true || CONSTANTS.NODE_ADMIN === true;\r\n}\r\n/** Returns true if we are running in Safari. */\r\nfunction isSafari() {\r\n return (!isNode() &&\r\n !!navigator.userAgent &&\r\n navigator.userAgent.includes('Safari') &&\r\n !navigator.userAgent.includes('Chrome'));\r\n}\r\n/**\r\n * This method checks if indexedDB is supported by current browser/service worker context\r\n * @return true if indexedDB is supported by current browser/service worker context\r\n */\r\nfunction isIndexedDBAvailable() {\r\n try {\r\n return typeof indexedDB === 'object';\r\n }\r\n catch (e) {\r\n return false;\r\n }\r\n}\r\n/**\r\n * This method validates browser/sw context for indexedDB by opening a dummy indexedDB database and reject\r\n * if errors occur during the database open operation.\r\n *\r\n * @throws exception if current browser/sw context can't run idb.open (ex: Safari iframe, Firefox\r\n * private browsing)\r\n */\r\nfunction validateIndexedDBOpenable() {\r\n return new Promise((resolve, reject) => {\r\n try {\r\n let preExist = true;\r\n const DB_CHECK_NAME = 'validate-browser-context-for-indexeddb-analytics-module';\r\n const request = self.indexedDB.open(DB_CHECK_NAME);\r\n request.onsuccess = () => {\r\n request.result.close();\r\n // delete database only when it doesn't pre-exist\r\n if (!preExist) {\r\n self.indexedDB.deleteDatabase(DB_CHECK_NAME);\r\n }\r\n resolve(true);\r\n };\r\n request.onupgradeneeded = () => {\r\n preExist = false;\r\n };\r\n request.onerror = () => {\r\n var _a;\r\n reject(((_a = request.error) === null || _a === void 0 ? void 0 : _a.message) || '');\r\n };\r\n }\r\n catch (error) {\r\n reject(error);\r\n }\r\n });\r\n}\r\n/**\r\n *\r\n * This method checks whether cookie is enabled within current browser\r\n * @return true if cookie is enabled within current browser\r\n */\r\nfunction areCookiesEnabled() {\r\n if (typeof navigator === 'undefined' || !navigator.cookieEnabled) {\r\n return false;\r\n }\r\n return true;\r\n}\n\n/**\r\n * @license\r\n * Copyright 2017 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n/**\r\n * @fileoverview Standardized Firebase Error.\r\n *\r\n * Usage:\r\n *\r\n * // TypeScript string literals for type-safe codes\r\n * type Err =\r\n * 'unknown' |\r\n * 'object-not-found'\r\n * ;\r\n *\r\n * // Closure enum for type-safe error codes\r\n * // at-enum {string}\r\n * var Err = {\r\n * UNKNOWN: 'unknown',\r\n * OBJECT_NOT_FOUND: 'object-not-found',\r\n * }\r\n *\r\n * let errors: Map = {\r\n * 'generic-error': \"Unknown error\",\r\n * 'file-not-found': \"Could not find file: {$file}\",\r\n * };\r\n *\r\n * // Type-safe function - must pass a valid error code as param.\r\n * let error = new ErrorFactory('service', 'Service', errors);\r\n *\r\n * ...\r\n * throw error.create(Err.GENERIC);\r\n * ...\r\n * throw error.create(Err.FILE_NOT_FOUND, {'file': fileName});\r\n * ...\r\n * // Service: Could not file file: foo.txt (service/file-not-found).\r\n *\r\n * catch (e) {\r\n * assert(e.message === \"Could not find file: foo.txt.\");\r\n * if ((e as FirebaseError)?.code === 'service/file-not-found') {\r\n * console.log(\"Could not read file: \" + e['file']);\r\n * }\r\n * }\r\n */\r\nconst ERROR_NAME = 'FirebaseError';\r\n// Based on code from:\r\n// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Error#Custom_Error_Types\r\nclass FirebaseError extends Error {\r\n constructor(\r\n /** The error code for this error. */\r\n code, message, \r\n /** Custom data for this error. */\r\n customData) {\r\n super(message);\r\n this.code = code;\r\n this.customData = customData;\r\n /** The custom name for all FirebaseErrors. */\r\n this.name = ERROR_NAME;\r\n // Fix For ES5\r\n // https://github.com/Microsoft/TypeScript-wiki/blob/master/Breaking-Changes.md#extending-built-ins-like-error-array-and-map-may-no-longer-work\r\n Object.setPrototypeOf(this, FirebaseError.prototype);\r\n // Maintains proper stack trace for where our error was thrown.\r\n // Only available on V8.\r\n if (Error.captureStackTrace) {\r\n Error.captureStackTrace(this, ErrorFactory.prototype.create);\r\n }\r\n }\r\n}\r\nclass ErrorFactory {\r\n constructor(service, serviceName, errors) {\r\n this.service = service;\r\n this.serviceName = serviceName;\r\n this.errors = errors;\r\n }\r\n create(code, ...data) {\r\n const customData = data[0] || {};\r\n const fullCode = `${this.service}/${code}`;\r\n const template = this.errors[code];\r\n const message = template ? replaceTemplate(template, customData) : 'Error';\r\n // Service Name: Error message (service/code).\r\n const fullMessage = `${this.serviceName}: ${message} (${fullCode}).`;\r\n const error = new FirebaseError(fullCode, fullMessage, customData);\r\n return error;\r\n }\r\n}\r\nfunction replaceTemplate(template, data) {\r\n return template.replace(PATTERN, (_, key) => {\r\n const value = data[key];\r\n return value != null ? String(value) : `<${key}?>`;\r\n });\r\n}\r\nconst PATTERN = /\\{\\$([^}]+)}/g;\n\n/**\r\n * @license\r\n * Copyright 2017 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n/**\r\n * Evaluates a JSON string into a javascript object.\r\n *\r\n * @param {string} str A string containing JSON.\r\n * @return {*} The javascript object representing the specified JSON.\r\n */\r\nfunction jsonEval(str) {\r\n return JSON.parse(str);\r\n}\r\n/**\r\n * Returns JSON representing a javascript object.\r\n * @param {*} data JavaScript object to be stringified.\r\n * @return {string} The JSON contents of the object.\r\n */\r\nfunction stringify(data) {\r\n return JSON.stringify(data);\r\n}\n\n/**\r\n * @license\r\n * Copyright 2017 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n/**\r\n * Decodes a Firebase auth. token into constituent parts.\r\n *\r\n * Notes:\r\n * - May return with invalid / incomplete claims if there's no native base64 decoding support.\r\n * - Doesn't check if the token is actually valid.\r\n */\r\nconst decode = function (token) {\r\n let header = {}, claims = {}, data = {}, signature = '';\r\n try {\r\n const parts = token.split('.');\r\n header = jsonEval(base64Decode(parts[0]) || '');\r\n claims = jsonEval(base64Decode(parts[1]) || '');\r\n signature = parts[2];\r\n data = claims['d'] || {};\r\n delete claims['d'];\r\n }\r\n catch (e) { }\r\n return {\r\n header,\r\n claims,\r\n data,\r\n signature\r\n };\r\n};\r\n/**\r\n * Decodes a Firebase auth. token and checks the validity of its time-based claims. Will return true if the\r\n * token is within the time window authorized by the 'nbf' (not-before) and 'iat' (issued-at) claims.\r\n *\r\n * Notes:\r\n * - May return a false negative if there's no native base64 decoding support.\r\n * - Doesn't check if the token is actually valid.\r\n */\r\nconst isValidTimestamp = function (token) {\r\n const claims = decode(token).claims;\r\n const now = Math.floor(new Date().getTime() / 1000);\r\n let validSince = 0, validUntil = 0;\r\n if (typeof claims === 'object') {\r\n if (claims.hasOwnProperty('nbf')) {\r\n validSince = claims['nbf'];\r\n }\r\n else if (claims.hasOwnProperty('iat')) {\r\n validSince = claims['iat'];\r\n }\r\n if (claims.hasOwnProperty('exp')) {\r\n validUntil = claims['exp'];\r\n }\r\n else {\r\n // token will expire after 24h by default\r\n validUntil = validSince + 86400;\r\n }\r\n }\r\n return (!!now &&\r\n !!validSince &&\r\n !!validUntil &&\r\n now >= validSince &&\r\n now <= validUntil);\r\n};\r\n/**\r\n * Decodes a Firebase auth. token and returns its issued at time if valid, null otherwise.\r\n *\r\n * Notes:\r\n * - May return null if there's no native base64 decoding support.\r\n * - Doesn't check if the token is actually valid.\r\n */\r\nconst issuedAtTime = function (token) {\r\n const claims = decode(token).claims;\r\n if (typeof claims === 'object' && claims.hasOwnProperty('iat')) {\r\n return claims['iat'];\r\n }\r\n return null;\r\n};\r\n/**\r\n * Decodes a Firebase auth. token and checks the validity of its format. Expects a valid issued-at time.\r\n *\r\n * Notes:\r\n * - May return a false negative if there's no native base64 decoding support.\r\n * - Doesn't check if the token is actually valid.\r\n */\r\nconst isValidFormat = function (token) {\r\n const decoded = decode(token), claims = decoded.claims;\r\n return !!claims && typeof claims === 'object' && claims.hasOwnProperty('iat');\r\n};\r\n/**\r\n * Attempts to peer into an auth token and determine if it's an admin auth token by looking at the claims portion.\r\n *\r\n * Notes:\r\n * - May return a false negative if there's no native base64 decoding support.\r\n * - Doesn't check if the token is actually valid.\r\n */\r\nconst isAdmin = function (token) {\r\n const claims = decode(token).claims;\r\n return typeof claims === 'object' && claims['admin'] === true;\r\n};\n\n/**\r\n * @license\r\n * Copyright 2017 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\nfunction contains(obj, key) {\r\n return Object.prototype.hasOwnProperty.call(obj, key);\r\n}\r\nfunction safeGet(obj, key) {\r\n if (Object.prototype.hasOwnProperty.call(obj, key)) {\r\n return obj[key];\r\n }\r\n else {\r\n return undefined;\r\n }\r\n}\r\nfunction isEmpty(obj) {\r\n for (const key in obj) {\r\n if (Object.prototype.hasOwnProperty.call(obj, key)) {\r\n return false;\r\n }\r\n }\r\n return true;\r\n}\r\nfunction map(obj, fn, contextObj) {\r\n const res = {};\r\n for (const key in obj) {\r\n if (Object.prototype.hasOwnProperty.call(obj, key)) {\r\n res[key] = fn.call(contextObj, obj[key], key, obj);\r\n }\r\n }\r\n return res;\r\n}\r\n/**\r\n * Deep equal two objects. Support Arrays and Objects.\r\n */\r\nfunction deepEqual(a, b) {\r\n if (a === b) {\r\n return true;\r\n }\r\n const aKeys = Object.keys(a);\r\n const bKeys = Object.keys(b);\r\n for (const k of aKeys) {\r\n if (!bKeys.includes(k)) {\r\n return false;\r\n }\r\n const aProp = a[k];\r\n const bProp = b[k];\r\n if (isObject(aProp) && isObject(bProp)) {\r\n if (!deepEqual(aProp, bProp)) {\r\n return false;\r\n }\r\n }\r\n else if (aProp !== bProp) {\r\n return false;\r\n }\r\n }\r\n for (const k of bKeys) {\r\n if (!aKeys.includes(k)) {\r\n return false;\r\n }\r\n }\r\n return true;\r\n}\r\nfunction isObject(thing) {\r\n return thing !== null && typeof thing === 'object';\r\n}\n\n/**\r\n * @license\r\n * Copyright 2022 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n/**\r\n * Rejects if the given promise doesn't resolve in timeInMS milliseconds.\r\n * @internal\r\n */\r\nfunction promiseWithTimeout(promise, timeInMS = 2000) {\r\n const deferredPromise = new Deferred();\r\n setTimeout(() => deferredPromise.reject('timeout!'), timeInMS);\r\n promise.then(deferredPromise.resolve, deferredPromise.reject);\r\n return deferredPromise.promise;\r\n}\n\n/**\r\n * @license\r\n * Copyright 2017 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n/**\r\n * Returns a querystring-formatted string (e.g. &arg=val&arg2=val2) from a\r\n * params object (e.g. {arg: 'val', arg2: 'val2'})\r\n * Note: You must prepend it with ? when adding it to a URL.\r\n */\r\nfunction querystring(querystringParams) {\r\n const params = [];\r\n for (const [key, value] of Object.entries(querystringParams)) {\r\n if (Array.isArray(value)) {\r\n value.forEach(arrayVal => {\r\n params.push(encodeURIComponent(key) + '=' + encodeURIComponent(arrayVal));\r\n });\r\n }\r\n else {\r\n params.push(encodeURIComponent(key) + '=' + encodeURIComponent(value));\r\n }\r\n }\r\n return params.length ? '&' + params.join('&') : '';\r\n}\r\n/**\r\n * Decodes a querystring (e.g. ?arg=val&arg2=val2) into a params object\r\n * (e.g. {arg: 'val', arg2: 'val2'})\r\n */\r\nfunction querystringDecode(querystring) {\r\n const obj = {};\r\n const tokens = querystring.replace(/^\\?/, '').split('&');\r\n tokens.forEach(token => {\r\n if (token) {\r\n const [key, value] = token.split('=');\r\n obj[decodeURIComponent(key)] = decodeURIComponent(value);\r\n }\r\n });\r\n return obj;\r\n}\r\n/**\r\n * Extract the query string part of a URL, including the leading question mark (if present).\r\n */\r\nfunction extractQuerystring(url) {\r\n const queryStart = url.indexOf('?');\r\n if (!queryStart) {\r\n return '';\r\n }\r\n const fragmentStart = url.indexOf('#', queryStart);\r\n return url.substring(queryStart, fragmentStart > 0 ? fragmentStart : undefined);\r\n}\n\n/**\r\n * @license\r\n * Copyright 2017 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n/**\r\n * @fileoverview SHA-1 cryptographic hash.\r\n * Variable names follow the notation in FIPS PUB 180-3:\r\n * http://csrc.nist.gov/publications/fips/fips180-3/fips180-3_final.pdf.\r\n *\r\n * Usage:\r\n * var sha1 = new sha1();\r\n * sha1.update(bytes);\r\n * var hash = sha1.digest();\r\n *\r\n * Performance:\r\n * Chrome 23: ~400 Mbit/s\r\n * Firefox 16: ~250 Mbit/s\r\n *\r\n */\r\n/**\r\n * SHA-1 cryptographic hash constructor.\r\n *\r\n * The properties declared here are discussed in the above algorithm document.\r\n * @constructor\r\n * @final\r\n * @struct\r\n */\r\nclass Sha1 {\r\n constructor() {\r\n /**\r\n * Holds the previous values of accumulated variables a-e in the compress_\r\n * function.\r\n * @private\r\n */\r\n this.chain_ = [];\r\n /**\r\n * A buffer holding the partially computed hash result.\r\n * @private\r\n */\r\n this.buf_ = [];\r\n /**\r\n * An array of 80 bytes, each a part of the message to be hashed. Referred to\r\n * as the message schedule in the docs.\r\n * @private\r\n */\r\n this.W_ = [];\r\n /**\r\n * Contains data needed to pad messages less than 64 bytes.\r\n * @private\r\n */\r\n this.pad_ = [];\r\n /**\r\n * @private {number}\r\n */\r\n this.inbuf_ = 0;\r\n /**\r\n * @private {number}\r\n */\r\n this.total_ = 0;\r\n this.blockSize = 512 / 8;\r\n this.pad_[0] = 128;\r\n for (let i = 1; i < this.blockSize; ++i) {\r\n this.pad_[i] = 0;\r\n }\r\n this.reset();\r\n }\r\n reset() {\r\n this.chain_[0] = 0x67452301;\r\n this.chain_[1] = 0xefcdab89;\r\n this.chain_[2] = 0x98badcfe;\r\n this.chain_[3] = 0x10325476;\r\n this.chain_[4] = 0xc3d2e1f0;\r\n this.inbuf_ = 0;\r\n this.total_ = 0;\r\n }\r\n /**\r\n * Internal compress helper function.\r\n * @param buf Block to compress.\r\n * @param offset Offset of the block in the buffer.\r\n * @private\r\n */\r\n compress_(buf, offset) {\r\n if (!offset) {\r\n offset = 0;\r\n }\r\n const W = this.W_;\r\n // get 16 big endian words\r\n if (typeof buf === 'string') {\r\n for (let i = 0; i < 16; i++) {\r\n // TODO(user): [bug 8140122] Recent versions of Safari for Mac OS and iOS\r\n // have a bug that turns the post-increment ++ operator into pre-increment\r\n // during JIT compilation. We have code that depends heavily on SHA-1 for\r\n // correctness and which is affected by this bug, so I've removed all uses\r\n // of post-increment ++ in which the result value is used. We can revert\r\n // this change once the Safari bug\r\n // (https://bugs.webkit.org/show_bug.cgi?id=109036) has been fixed and\r\n // most clients have been updated.\r\n W[i] =\r\n (buf.charCodeAt(offset) << 24) |\r\n (buf.charCodeAt(offset + 1) << 16) |\r\n (buf.charCodeAt(offset + 2) << 8) |\r\n buf.charCodeAt(offset + 3);\r\n offset += 4;\r\n }\r\n }\r\n else {\r\n for (let i = 0; i < 16; i++) {\r\n W[i] =\r\n (buf[offset] << 24) |\r\n (buf[offset + 1] << 16) |\r\n (buf[offset + 2] << 8) |\r\n buf[offset + 3];\r\n offset += 4;\r\n }\r\n }\r\n // expand to 80 words\r\n for (let i = 16; i < 80; i++) {\r\n const t = W[i - 3] ^ W[i - 8] ^ W[i - 14] ^ W[i - 16];\r\n W[i] = ((t << 1) | (t >>> 31)) & 0xffffffff;\r\n }\r\n let a = this.chain_[0];\r\n let b = this.chain_[1];\r\n let c = this.chain_[2];\r\n let d = this.chain_[3];\r\n let e = this.chain_[4];\r\n let f, k;\r\n // TODO(user): Try to unroll this loop to speed up the computation.\r\n for (let i = 0; i < 80; i++) {\r\n if (i < 40) {\r\n if (i < 20) {\r\n f = d ^ (b & (c ^ d));\r\n k = 0x5a827999;\r\n }\r\n else {\r\n f = b ^ c ^ d;\r\n k = 0x6ed9eba1;\r\n }\r\n }\r\n else {\r\n if (i < 60) {\r\n f = (b & c) | (d & (b | c));\r\n k = 0x8f1bbcdc;\r\n }\r\n else {\r\n f = b ^ c ^ d;\r\n k = 0xca62c1d6;\r\n }\r\n }\r\n const t = (((a << 5) | (a >>> 27)) + f + e + k + W[i]) & 0xffffffff;\r\n e = d;\r\n d = c;\r\n c = ((b << 30) | (b >>> 2)) & 0xffffffff;\r\n b = a;\r\n a = t;\r\n }\r\n this.chain_[0] = (this.chain_[0] + a) & 0xffffffff;\r\n this.chain_[1] = (this.chain_[1] + b) & 0xffffffff;\r\n this.chain_[2] = (this.chain_[2] + c) & 0xffffffff;\r\n this.chain_[3] = (this.chain_[3] + d) & 0xffffffff;\r\n this.chain_[4] = (this.chain_[4] + e) & 0xffffffff;\r\n }\r\n update(bytes, length) {\r\n // TODO(johnlenz): tighten the function signature and remove this check\r\n if (bytes == null) {\r\n return;\r\n }\r\n if (length === undefined) {\r\n length = bytes.length;\r\n }\r\n const lengthMinusBlock = length - this.blockSize;\r\n let n = 0;\r\n // Using local instead of member variables gives ~5% speedup on Firefox 16.\r\n const buf = this.buf_;\r\n let inbuf = this.inbuf_;\r\n // The outer while loop should execute at most twice.\r\n while (n < length) {\r\n // When we have no data in the block to top up, we can directly process the\r\n // input buffer (assuming it contains sufficient data). This gives ~25%\r\n // speedup on Chrome 23 and ~15% speedup on Firefox 16, but requires that\r\n // the data is provided in large chunks (or in multiples of 64 bytes).\r\n if (inbuf === 0) {\r\n while (n <= lengthMinusBlock) {\r\n this.compress_(bytes, n);\r\n n += this.blockSize;\r\n }\r\n }\r\n if (typeof bytes === 'string') {\r\n while (n < length) {\r\n buf[inbuf] = bytes.charCodeAt(n);\r\n ++inbuf;\r\n ++n;\r\n if (inbuf === this.blockSize) {\r\n this.compress_(buf);\r\n inbuf = 0;\r\n // Jump to the outer loop so we use the full-block optimization.\r\n break;\r\n }\r\n }\r\n }\r\n else {\r\n while (n < length) {\r\n buf[inbuf] = bytes[n];\r\n ++inbuf;\r\n ++n;\r\n if (inbuf === this.blockSize) {\r\n this.compress_(buf);\r\n inbuf = 0;\r\n // Jump to the outer loop so we use the full-block optimization.\r\n break;\r\n }\r\n }\r\n }\r\n }\r\n this.inbuf_ = inbuf;\r\n this.total_ += length;\r\n }\r\n /** @override */\r\n digest() {\r\n const digest = [];\r\n let totalBits = this.total_ * 8;\r\n // Add pad 0x80 0x00*.\r\n if (this.inbuf_ < 56) {\r\n this.update(this.pad_, 56 - this.inbuf_);\r\n }\r\n else {\r\n this.update(this.pad_, this.blockSize - (this.inbuf_ - 56));\r\n }\r\n // Add # bits.\r\n for (let i = this.blockSize - 1; i >= 56; i--) {\r\n this.buf_[i] = totalBits & 255;\r\n totalBits /= 256; // Don't use bit-shifting here!\r\n }\r\n this.compress_(this.buf_);\r\n let n = 0;\r\n for (let i = 0; i < 5; i++) {\r\n for (let j = 24; j >= 0; j -= 8) {\r\n digest[n] = (this.chain_[i] >> j) & 255;\r\n ++n;\r\n }\r\n }\r\n return digest;\r\n }\r\n}\n\n/**\r\n * Helper to make a Subscribe function (just like Promise helps make a\r\n * Thenable).\r\n *\r\n * @param executor Function which can make calls to a single Observer\r\n * as a proxy.\r\n * @param onNoObservers Callback when count of Observers goes to zero.\r\n */\r\nfunction createSubscribe(executor, onNoObservers) {\r\n const proxy = new ObserverProxy(executor, onNoObservers);\r\n return proxy.subscribe.bind(proxy);\r\n}\r\n/**\r\n * Implement fan-out for any number of Observers attached via a subscribe\r\n * function.\r\n */\r\nclass ObserverProxy {\r\n /**\r\n * @param executor Function which can make calls to a single Observer\r\n * as a proxy.\r\n * @param onNoObservers Callback when count of Observers goes to zero.\r\n */\r\n constructor(executor, onNoObservers) {\r\n this.observers = [];\r\n this.unsubscribes = [];\r\n this.observerCount = 0;\r\n // Micro-task scheduling by calling task.then().\r\n this.task = Promise.resolve();\r\n this.finalized = false;\r\n this.onNoObservers = onNoObservers;\r\n // Call the executor asynchronously so subscribers that are called\r\n // synchronously after the creation of the subscribe function\r\n // can still receive the very first value generated in the executor.\r\n this.task\r\n .then(() => {\r\n executor(this);\r\n })\r\n .catch(e => {\r\n this.error(e);\r\n });\r\n }\r\n next(value) {\r\n this.forEachObserver((observer) => {\r\n observer.next(value);\r\n });\r\n }\r\n error(error) {\r\n this.forEachObserver((observer) => {\r\n observer.error(error);\r\n });\r\n this.close(error);\r\n }\r\n complete() {\r\n this.forEachObserver((observer) => {\r\n observer.complete();\r\n });\r\n this.close();\r\n }\r\n /**\r\n * Subscribe function that can be used to add an Observer to the fan-out list.\r\n *\r\n * - We require that no event is sent to a subscriber synchronously to their\r\n * call to subscribe().\r\n */\r\n subscribe(nextOrObserver, error, complete) {\r\n let observer;\r\n if (nextOrObserver === undefined &&\r\n error === undefined &&\r\n complete === undefined) {\r\n throw new Error('Missing Observer.');\r\n }\r\n // Assemble an Observer object when passed as callback functions.\r\n if (implementsAnyMethods(nextOrObserver, [\r\n 'next',\r\n 'error',\r\n 'complete'\r\n ])) {\r\n observer = nextOrObserver;\r\n }\r\n else {\r\n observer = {\r\n next: nextOrObserver,\r\n error,\r\n complete\r\n };\r\n }\r\n if (observer.next === undefined) {\r\n observer.next = noop;\r\n }\r\n if (observer.error === undefined) {\r\n observer.error = noop;\r\n }\r\n if (observer.complete === undefined) {\r\n observer.complete = noop;\r\n }\r\n const unsub = this.unsubscribeOne.bind(this, this.observers.length);\r\n // Attempt to subscribe to a terminated Observable - we\r\n // just respond to the Observer with the final error or complete\r\n // event.\r\n if (this.finalized) {\r\n // eslint-disable-next-line @typescript-eslint/no-floating-promises\r\n this.task.then(() => {\r\n try {\r\n if (this.finalError) {\r\n observer.error(this.finalError);\r\n }\r\n else {\r\n observer.complete();\r\n }\r\n }\r\n catch (e) {\r\n // nothing\r\n }\r\n return;\r\n });\r\n }\r\n this.observers.push(observer);\r\n return unsub;\r\n }\r\n // Unsubscribe is synchronous - we guarantee that no events are sent to\r\n // any unsubscribed Observer.\r\n unsubscribeOne(i) {\r\n if (this.observers === undefined || this.observers[i] === undefined) {\r\n return;\r\n }\r\n delete this.observers[i];\r\n this.observerCount -= 1;\r\n if (this.observerCount === 0 && this.onNoObservers !== undefined) {\r\n this.onNoObservers(this);\r\n }\r\n }\r\n forEachObserver(fn) {\r\n if (this.finalized) {\r\n // Already closed by previous event....just eat the additional values.\r\n return;\r\n }\r\n // Since sendOne calls asynchronously - there is no chance that\r\n // this.observers will become undefined.\r\n for (let i = 0; i < this.observers.length; i++) {\r\n this.sendOne(i, fn);\r\n }\r\n }\r\n // Call the Observer via one of it's callback function. We are careful to\r\n // confirm that the observe has not been unsubscribed since this asynchronous\r\n // function had been queued.\r\n sendOne(i, fn) {\r\n // Execute the callback asynchronously\r\n // eslint-disable-next-line @typescript-eslint/no-floating-promises\r\n this.task.then(() => {\r\n if (this.observers !== undefined && this.observers[i] !== undefined) {\r\n try {\r\n fn(this.observers[i]);\r\n }\r\n catch (e) {\r\n // Ignore exceptions raised in Observers or missing methods of an\r\n // Observer.\r\n // Log error to console. b/31404806\r\n if (typeof console !== 'undefined' && console.error) {\r\n console.error(e);\r\n }\r\n }\r\n }\r\n });\r\n }\r\n close(err) {\r\n if (this.finalized) {\r\n return;\r\n }\r\n this.finalized = true;\r\n if (err !== undefined) {\r\n this.finalError = err;\r\n }\r\n // Proxy is no longer needed - garbage collect references\r\n // eslint-disable-next-line @typescript-eslint/no-floating-promises\r\n this.task.then(() => {\r\n this.observers = undefined;\r\n this.onNoObservers = undefined;\r\n });\r\n }\r\n}\r\n/** Turn synchronous function into one called asynchronously. */\r\n// eslint-disable-next-line @typescript-eslint/ban-types\r\nfunction async(fn, onError) {\r\n return (...args) => {\r\n Promise.resolve(true)\r\n .then(() => {\r\n fn(...args);\r\n })\r\n .catch((error) => {\r\n if (onError) {\r\n onError(error);\r\n }\r\n });\r\n };\r\n}\r\n/**\r\n * Return true if the object passed in implements any of the named methods.\r\n */\r\nfunction implementsAnyMethods(obj, methods) {\r\n if (typeof obj !== 'object' || obj === null) {\r\n return false;\r\n }\r\n for (const method of methods) {\r\n if (method in obj && typeof obj[method] === 'function') {\r\n return true;\r\n }\r\n }\r\n return false;\r\n}\r\nfunction noop() {\r\n // do nothing\r\n}\n\n/**\r\n * @license\r\n * Copyright 2017 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n/**\r\n * Check to make sure the appropriate number of arguments are provided for a public function.\r\n * Throws an error if it fails.\r\n *\r\n * @param fnName The function name\r\n * @param minCount The minimum number of arguments to allow for the function call\r\n * @param maxCount The maximum number of argument to allow for the function call\r\n * @param argCount The actual number of arguments provided.\r\n */\r\nconst validateArgCount = function (fnName, minCount, maxCount, argCount) {\r\n let argError;\r\n if (argCount < minCount) {\r\n argError = 'at least ' + minCount;\r\n }\r\n else if (argCount > maxCount) {\r\n argError = maxCount === 0 ? 'none' : 'no more than ' + maxCount;\r\n }\r\n if (argError) {\r\n const error = fnName +\r\n ' failed: Was called with ' +\r\n argCount +\r\n (argCount === 1 ? ' argument.' : ' arguments.') +\r\n ' Expects ' +\r\n argError +\r\n '.';\r\n throw new Error(error);\r\n }\r\n};\r\n/**\r\n * Generates a string to prefix an error message about failed argument validation\r\n *\r\n * @param fnName The function name\r\n * @param argName The name of the argument\r\n * @return The prefix to add to the error thrown for validation.\r\n */\r\nfunction errorPrefix(fnName, argName) {\r\n return `${fnName} failed: ${argName} argument `;\r\n}\r\n/**\r\n * @param fnName\r\n * @param argumentNumber\r\n * @param namespace\r\n * @param optional\r\n */\r\nfunction validateNamespace(fnName, namespace, optional) {\r\n if (optional && !namespace) {\r\n return;\r\n }\r\n if (typeof namespace !== 'string') {\r\n //TODO: I should do more validation here. We only allow certain chars in namespaces.\r\n throw new Error(errorPrefix(fnName, 'namespace') + 'must be a valid firebase namespace.');\r\n }\r\n}\r\nfunction validateCallback(fnName, argumentName, \r\n// eslint-disable-next-line @typescript-eslint/ban-types\r\ncallback, optional) {\r\n if (optional && !callback) {\r\n return;\r\n }\r\n if (typeof callback !== 'function') {\r\n throw new Error(errorPrefix(fnName, argumentName) + 'must be a valid function.');\r\n }\r\n}\r\nfunction validateContextObject(fnName, argumentName, context, optional) {\r\n if (optional && !context) {\r\n return;\r\n }\r\n if (typeof context !== 'object' || context === null) {\r\n throw new Error(errorPrefix(fnName, argumentName) + 'must be a valid context object.');\r\n }\r\n}\n\n/**\r\n * @license\r\n * Copyright 2017 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n// Code originally came from goog.crypt.stringToUtf8ByteArray, but for some reason they\r\n// automatically replaced '\\r\\n' with '\\n', and they didn't handle surrogate pairs,\r\n// so it's been modified.\r\n// Note that not all Unicode characters appear as single characters in JavaScript strings.\r\n// fromCharCode returns the UTF-16 encoding of a character - so some Unicode characters\r\n// use 2 characters in JavaScript. All 4-byte UTF-8 characters begin with a first\r\n// character in the range 0xD800 - 0xDBFF (the first character of a so-called surrogate\r\n// pair).\r\n// See http://www.ecma-international.org/ecma-262/5.1/#sec-15.1.3\r\n/**\r\n * @param {string} str\r\n * @return {Array}\r\n */\r\nconst stringToByteArray = function (str) {\r\n const out = [];\r\n let p = 0;\r\n for (let i = 0; i < str.length; i++) {\r\n let c = str.charCodeAt(i);\r\n // Is this the lead surrogate in a surrogate pair?\r\n if (c >= 0xd800 && c <= 0xdbff) {\r\n const high = c - 0xd800; // the high 10 bits.\r\n i++;\r\n assert(i < str.length, 'Surrogate pair missing trail surrogate.');\r\n const low = str.charCodeAt(i) - 0xdc00; // the low 10 bits.\r\n c = 0x10000 + (high << 10) + low;\r\n }\r\n if (c < 128) {\r\n out[p++] = c;\r\n }\r\n else if (c < 2048) {\r\n out[p++] = (c >> 6) | 192;\r\n out[p++] = (c & 63) | 128;\r\n }\r\n else if (c < 65536) {\r\n out[p++] = (c >> 12) | 224;\r\n out[p++] = ((c >> 6) & 63) | 128;\r\n out[p++] = (c & 63) | 128;\r\n }\r\n else {\r\n out[p++] = (c >> 18) | 240;\r\n out[p++] = ((c >> 12) & 63) | 128;\r\n out[p++] = ((c >> 6) & 63) | 128;\r\n out[p++] = (c & 63) | 128;\r\n }\r\n }\r\n return out;\r\n};\r\n/**\r\n * Calculate length without actually converting; useful for doing cheaper validation.\r\n * @param {string} str\r\n * @return {number}\r\n */\r\nconst stringLength = function (str) {\r\n let p = 0;\r\n for (let i = 0; i < str.length; i++) {\r\n const c = str.charCodeAt(i);\r\n if (c < 128) {\r\n p++;\r\n }\r\n else if (c < 2048) {\r\n p += 2;\r\n }\r\n else if (c >= 0xd800 && c <= 0xdbff) {\r\n // Lead surrogate of a surrogate pair. The pair together will take 4 bytes to represent.\r\n p += 4;\r\n i++; // skip trail surrogate.\r\n }\r\n else {\r\n p += 3;\r\n }\r\n }\r\n return p;\r\n};\n\n/**\r\n * @license\r\n * Copyright 2022 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n/**\r\n * Copied from https://stackoverflow.com/a/2117523\r\n * Generates a new uuid.\r\n * @public\r\n */\r\nconst uuidv4 = function () {\r\n return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, c => {\r\n const r = (Math.random() * 16) | 0, v = c === 'x' ? r : (r & 0x3) | 0x8;\r\n return v.toString(16);\r\n });\r\n};\n\n/**\r\n * @license\r\n * Copyright 2019 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n/**\r\n * The amount of milliseconds to exponentially increase.\r\n */\r\nconst DEFAULT_INTERVAL_MILLIS = 1000;\r\n/**\r\n * The factor to backoff by.\r\n * Should be a number greater than 1.\r\n */\r\nconst DEFAULT_BACKOFF_FACTOR = 2;\r\n/**\r\n * The maximum milliseconds to increase to.\r\n *\r\n *

Visible for testing\r\n */\r\nconst MAX_VALUE_MILLIS = 4 * 60 * 60 * 1000; // Four hours, like iOS and Android.\r\n/**\r\n * The percentage of backoff time to randomize by.\r\n * See\r\n * http://go/safe-client-behavior#step-1-determine-the-appropriate-retry-interval-to-handle-spike-traffic\r\n * for context.\r\n *\r\n *

Visible for testing\r\n */\r\nconst RANDOM_FACTOR = 0.5;\r\n/**\r\n * Based on the backoff method from\r\n * https://github.com/google/closure-library/blob/master/closure/goog/math/exponentialbackoff.js.\r\n * Extracted here so we don't need to pass metadata and a stateful ExponentialBackoff object around.\r\n */\r\nfunction calculateBackoffMillis(backoffCount, intervalMillis = DEFAULT_INTERVAL_MILLIS, backoffFactor = DEFAULT_BACKOFF_FACTOR) {\r\n // Calculates an exponentially increasing value.\r\n // Deviation: calculates value from count and a constant interval, so we only need to save value\r\n // and count to restore state.\r\n const currBaseValue = intervalMillis * Math.pow(backoffFactor, backoffCount);\r\n // A random \"fuzz\" to avoid waves of retries.\r\n // Deviation: randomFactor is required.\r\n const randomWait = Math.round(\r\n // A fraction of the backoff value to add/subtract.\r\n // Deviation: changes multiplication order to improve readability.\r\n RANDOM_FACTOR *\r\n currBaseValue *\r\n // A random float (rounded to int by Math.round above) in the range [-1, 1]. Determines\r\n // if we add or subtract.\r\n (Math.random() - 0.5) *\r\n 2);\r\n // Limits backoff to max to avoid effectively permanent backoff.\r\n return Math.min(MAX_VALUE_MILLIS, currBaseValue + randomWait);\r\n}\n\n/**\r\n * @license\r\n * Copyright 2020 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n/**\r\n * Provide English ordinal letters after a number\r\n */\r\nfunction ordinal(i) {\r\n if (!Number.isFinite(i)) {\r\n return `${i}`;\r\n }\r\n return i + indicator(i);\r\n}\r\nfunction indicator(i) {\r\n i = Math.abs(i);\r\n const cent = i % 100;\r\n if (cent >= 10 && cent <= 20) {\r\n return 'th';\r\n }\r\n const dec = i % 10;\r\n if (dec === 1) {\r\n return 'st';\r\n }\r\n if (dec === 2) {\r\n return 'nd';\r\n }\r\n if (dec === 3) {\r\n return 'rd';\r\n }\r\n return 'th';\r\n}\n\n/**\r\n * @license\r\n * Copyright 2021 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\nfunction getModularInstance(service) {\r\n if (service && service._delegate) {\r\n return service._delegate;\r\n }\r\n else {\r\n return service;\r\n }\r\n}\n\nexport { CONSTANTS, DecodeBase64StringError, Deferred, ErrorFactory, FirebaseError, MAX_VALUE_MILLIS, RANDOM_FACTOR, Sha1, areCookiesEnabled, assert, assertionError, async, base64, base64Decode, base64Encode, base64urlEncodeWithoutPadding, calculateBackoffMillis, contains, createMockUserToken, createSubscribe, decode, deepCopy, deepEqual, deepExtend, errorPrefix, extractQuerystring, getDefaultAppConfig, getDefaultEmulatorHost, getDefaultEmulatorHostnameAndPort, getDefaults, getExperimentalSetting, getGlobal, getModularInstance, getUA, isAdmin, isBrowser, isBrowserExtension, isCloudflareWorker, isElectron, isEmpty, isIE, isIndexedDBAvailable, isMobileCordova, isNode, isNodeSdk, isReactNative, isSafari, isUWP, isValidFormat, isValidTimestamp, isWebWorker, issuedAtTime, jsonEval, map, ordinal, promiseWithTimeout, querystring, querystringDecode, safeGet, stringLength, stringToByteArray, stringify, uuidv4, validateArgCount, validateCallback, validateContextObject, validateIndexedDBOpenable, validateNamespace };\n//# sourceMappingURL=index.esm2017.js.map\n","import { Deferred } from '@firebase/util';\n\n/**\r\n * Component for service name T, e.g. `auth`, `auth-internal`\r\n */\r\nclass Component {\r\n /**\r\n *\r\n * @param name The public service name, e.g. app, auth, firestore, database\r\n * @param instanceFactory Service factory responsible for creating the public interface\r\n * @param type whether the service provided by the component is public or private\r\n */\r\n constructor(name, instanceFactory, type) {\r\n this.name = name;\r\n this.instanceFactory = instanceFactory;\r\n this.type = type;\r\n this.multipleInstances = false;\r\n /**\r\n * Properties to be added to the service namespace\r\n */\r\n this.serviceProps = {};\r\n this.instantiationMode = \"LAZY\" /* InstantiationMode.LAZY */;\r\n this.onInstanceCreated = null;\r\n }\r\n setInstantiationMode(mode) {\r\n this.instantiationMode = mode;\r\n return this;\r\n }\r\n setMultipleInstances(multipleInstances) {\r\n this.multipleInstances = multipleInstances;\r\n return this;\r\n }\r\n setServiceProps(props) {\r\n this.serviceProps = props;\r\n return this;\r\n }\r\n setInstanceCreatedCallback(callback) {\r\n this.onInstanceCreated = callback;\r\n return this;\r\n }\r\n}\n\n/**\r\n * @license\r\n * Copyright 2019 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\nconst DEFAULT_ENTRY_NAME = '[DEFAULT]';\n\n/**\r\n * @license\r\n * Copyright 2019 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n/**\r\n * Provider for instance for service name T, e.g. 'auth', 'auth-internal'\r\n * NameServiceMapping[T] is an alias for the type of the instance\r\n */\r\nclass Provider {\r\n constructor(name, container) {\r\n this.name = name;\r\n this.container = container;\r\n this.component = null;\r\n this.instances = new Map();\r\n this.instancesDeferred = new Map();\r\n this.instancesOptions = new Map();\r\n this.onInitCallbacks = new Map();\r\n }\r\n /**\r\n * @param identifier A provider can provide multiple instances of a service\r\n * if this.component.multipleInstances is true.\r\n */\r\n get(identifier) {\r\n // if multipleInstances is not supported, use the default name\r\n const normalizedIdentifier = this.normalizeInstanceIdentifier(identifier);\r\n if (!this.instancesDeferred.has(normalizedIdentifier)) {\r\n const deferred = new Deferred();\r\n this.instancesDeferred.set(normalizedIdentifier, deferred);\r\n if (this.isInitialized(normalizedIdentifier) ||\r\n this.shouldAutoInitialize()) {\r\n // initialize the service if it can be auto-initialized\r\n try {\r\n const instance = this.getOrInitializeService({\r\n instanceIdentifier: normalizedIdentifier\r\n });\r\n if (instance) {\r\n deferred.resolve(instance);\r\n }\r\n }\r\n catch (e) {\r\n // when the instance factory throws an exception during get(), it should not cause\r\n // a fatal error. We just return the unresolved promise in this case.\r\n }\r\n }\r\n }\r\n return this.instancesDeferred.get(normalizedIdentifier).promise;\r\n }\r\n getImmediate(options) {\r\n var _a;\r\n // if multipleInstances is not supported, use the default name\r\n const normalizedIdentifier = this.normalizeInstanceIdentifier(options === null || options === void 0 ? void 0 : options.identifier);\r\n const optional = (_a = options === null || options === void 0 ? void 0 : options.optional) !== null && _a !== void 0 ? _a : false;\r\n if (this.isInitialized(normalizedIdentifier) ||\r\n this.shouldAutoInitialize()) {\r\n try {\r\n return this.getOrInitializeService({\r\n instanceIdentifier: normalizedIdentifier\r\n });\r\n }\r\n catch (e) {\r\n if (optional) {\r\n return null;\r\n }\r\n else {\r\n throw e;\r\n }\r\n }\r\n }\r\n else {\r\n // In case a component is not initialized and should/cannot be auto-initialized at the moment, return null if the optional flag is set, or throw\r\n if (optional) {\r\n return null;\r\n }\r\n else {\r\n throw Error(`Service ${this.name} is not available`);\r\n }\r\n }\r\n }\r\n getComponent() {\r\n return this.component;\r\n }\r\n setComponent(component) {\r\n if (component.name !== this.name) {\r\n throw Error(`Mismatching Component ${component.name} for Provider ${this.name}.`);\r\n }\r\n if (this.component) {\r\n throw Error(`Component for ${this.name} has already been provided`);\r\n }\r\n this.component = component;\r\n // return early without attempting to initialize the component if the component requires explicit initialization (calling `Provider.initialize()`)\r\n if (!this.shouldAutoInitialize()) {\r\n return;\r\n }\r\n // if the service is eager, initialize the default instance\r\n if (isComponentEager(component)) {\r\n try {\r\n this.getOrInitializeService({ instanceIdentifier: DEFAULT_ENTRY_NAME });\r\n }\r\n catch (e) {\r\n // when the instance factory for an eager Component throws an exception during the eager\r\n // initialization, it should not cause a fatal error.\r\n // TODO: Investigate if we need to make it configurable, because some component may want to cause\r\n // a fatal error in this case?\r\n }\r\n }\r\n // Create service instances for the pending promises and resolve them\r\n // NOTE: if this.multipleInstances is false, only the default instance will be created\r\n // and all promises with resolve with it regardless of the identifier.\r\n for (const [instanceIdentifier, instanceDeferred] of this.instancesDeferred.entries()) {\r\n const normalizedIdentifier = this.normalizeInstanceIdentifier(instanceIdentifier);\r\n try {\r\n // `getOrInitializeService()` should always return a valid instance since a component is guaranteed. use ! to make typescript happy.\r\n const instance = this.getOrInitializeService({\r\n instanceIdentifier: normalizedIdentifier\r\n });\r\n instanceDeferred.resolve(instance);\r\n }\r\n catch (e) {\r\n // when the instance factory throws an exception, it should not cause\r\n // a fatal error. We just leave the promise unresolved.\r\n }\r\n }\r\n }\r\n clearInstance(identifier = DEFAULT_ENTRY_NAME) {\r\n this.instancesDeferred.delete(identifier);\r\n this.instancesOptions.delete(identifier);\r\n this.instances.delete(identifier);\r\n }\r\n // app.delete() will call this method on every provider to delete the services\r\n // TODO: should we mark the provider as deleted?\r\n async delete() {\r\n const services = Array.from(this.instances.values());\r\n await Promise.all([\r\n ...services\r\n .filter(service => 'INTERNAL' in service) // legacy services\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n .map(service => service.INTERNAL.delete()),\r\n ...services\r\n .filter(service => '_delete' in service) // modularized services\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n .map(service => service._delete())\r\n ]);\r\n }\r\n isComponentSet() {\r\n return this.component != null;\r\n }\r\n isInitialized(identifier = DEFAULT_ENTRY_NAME) {\r\n return this.instances.has(identifier);\r\n }\r\n getOptions(identifier = DEFAULT_ENTRY_NAME) {\r\n return this.instancesOptions.get(identifier) || {};\r\n }\r\n initialize(opts = {}) {\r\n const { options = {} } = opts;\r\n const normalizedIdentifier = this.normalizeInstanceIdentifier(opts.instanceIdentifier);\r\n if (this.isInitialized(normalizedIdentifier)) {\r\n throw Error(`${this.name}(${normalizedIdentifier}) has already been initialized`);\r\n }\r\n if (!this.isComponentSet()) {\r\n throw Error(`Component ${this.name} has not been registered yet`);\r\n }\r\n const instance = this.getOrInitializeService({\r\n instanceIdentifier: normalizedIdentifier,\r\n options\r\n });\r\n // resolve any pending promise waiting for the service instance\r\n for (const [instanceIdentifier, instanceDeferred] of this.instancesDeferred.entries()) {\r\n const normalizedDeferredIdentifier = this.normalizeInstanceIdentifier(instanceIdentifier);\r\n if (normalizedIdentifier === normalizedDeferredIdentifier) {\r\n instanceDeferred.resolve(instance);\r\n }\r\n }\r\n return instance;\r\n }\r\n /**\r\n *\r\n * @param callback - a function that will be invoked after the provider has been initialized by calling provider.initialize().\r\n * The function is invoked SYNCHRONOUSLY, so it should not execute any longrunning tasks in order to not block the program.\r\n *\r\n * @param identifier An optional instance identifier\r\n * @returns a function to unregister the callback\r\n */\r\n onInit(callback, identifier) {\r\n var _a;\r\n const normalizedIdentifier = this.normalizeInstanceIdentifier(identifier);\r\n const existingCallbacks = (_a = this.onInitCallbacks.get(normalizedIdentifier)) !== null && _a !== void 0 ? _a : new Set();\r\n existingCallbacks.add(callback);\r\n this.onInitCallbacks.set(normalizedIdentifier, existingCallbacks);\r\n const existingInstance = this.instances.get(normalizedIdentifier);\r\n if (existingInstance) {\r\n callback(existingInstance, normalizedIdentifier);\r\n }\r\n return () => {\r\n existingCallbacks.delete(callback);\r\n };\r\n }\r\n /**\r\n * Invoke onInit callbacks synchronously\r\n * @param instance the service instance`\r\n */\r\n invokeOnInitCallbacks(instance, identifier) {\r\n const callbacks = this.onInitCallbacks.get(identifier);\r\n if (!callbacks) {\r\n return;\r\n }\r\n for (const callback of callbacks) {\r\n try {\r\n callback(instance, identifier);\r\n }\r\n catch (_a) {\r\n // ignore errors in the onInit callback\r\n }\r\n }\r\n }\r\n getOrInitializeService({ instanceIdentifier, options = {} }) {\r\n let instance = this.instances.get(instanceIdentifier);\r\n if (!instance && this.component) {\r\n instance = this.component.instanceFactory(this.container, {\r\n instanceIdentifier: normalizeIdentifierForFactory(instanceIdentifier),\r\n options\r\n });\r\n this.instances.set(instanceIdentifier, instance);\r\n this.instancesOptions.set(instanceIdentifier, options);\r\n /**\r\n * Invoke onInit listeners.\r\n * Note this.component.onInstanceCreated is different, which is used by the component creator,\r\n * while onInit listeners are registered by consumers of the provider.\r\n */\r\n this.invokeOnInitCallbacks(instance, instanceIdentifier);\r\n /**\r\n * Order is important\r\n * onInstanceCreated() should be called after this.instances.set(instanceIdentifier, instance); which\r\n * makes `isInitialized()` return true.\r\n */\r\n if (this.component.onInstanceCreated) {\r\n try {\r\n this.component.onInstanceCreated(this.container, instanceIdentifier, instance);\r\n }\r\n catch (_a) {\r\n // ignore errors in the onInstanceCreatedCallback\r\n }\r\n }\r\n }\r\n return instance || null;\r\n }\r\n normalizeInstanceIdentifier(identifier = DEFAULT_ENTRY_NAME) {\r\n if (this.component) {\r\n return this.component.multipleInstances ? identifier : DEFAULT_ENTRY_NAME;\r\n }\r\n else {\r\n return identifier; // assume multiple instances are supported before the component is provided.\r\n }\r\n }\r\n shouldAutoInitialize() {\r\n return (!!this.component &&\r\n this.component.instantiationMode !== \"EXPLICIT\" /* InstantiationMode.EXPLICIT */);\r\n }\r\n}\r\n// undefined should be passed to the service factory for the default instance\r\nfunction normalizeIdentifierForFactory(identifier) {\r\n return identifier === DEFAULT_ENTRY_NAME ? undefined : identifier;\r\n}\r\nfunction isComponentEager(component) {\r\n return component.instantiationMode === \"EAGER\" /* InstantiationMode.EAGER */;\r\n}\n\n/**\r\n * @license\r\n * Copyright 2019 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n/**\r\n * ComponentContainer that provides Providers for service name T, e.g. `auth`, `auth-internal`\r\n */\r\nclass ComponentContainer {\r\n constructor(name) {\r\n this.name = name;\r\n this.providers = new Map();\r\n }\r\n /**\r\n *\r\n * @param component Component being added\r\n * @param overwrite When a component with the same name has already been registered,\r\n * if overwrite is true: overwrite the existing component with the new component and create a new\r\n * provider with the new component. It can be useful in tests where you want to use different mocks\r\n * for different tests.\r\n * if overwrite is false: throw an exception\r\n */\r\n addComponent(component) {\r\n const provider = this.getProvider(component.name);\r\n if (provider.isComponentSet()) {\r\n throw new Error(`Component ${component.name} has already been registered with ${this.name}`);\r\n }\r\n provider.setComponent(component);\r\n }\r\n addOrOverwriteComponent(component) {\r\n const provider = this.getProvider(component.name);\r\n if (provider.isComponentSet()) {\r\n // delete the existing provider from the container, so we can register the new component\r\n this.providers.delete(component.name);\r\n }\r\n this.addComponent(component);\r\n }\r\n /**\r\n * getProvider provides a type safe interface where it can only be called with a field name\r\n * present in NameServiceMapping interface.\r\n *\r\n * Firebase SDKs providing services should extend NameServiceMapping interface to register\r\n * themselves.\r\n */\r\n getProvider(name) {\r\n if (this.providers.has(name)) {\r\n return this.providers.get(name);\r\n }\r\n // create a Provider for a service that hasn't registered with Firebase\r\n const provider = new Provider(name, this);\r\n this.providers.set(name, provider);\r\n return provider;\r\n }\r\n getProviders() {\r\n return Array.from(this.providers.values());\r\n }\r\n}\n\nexport { Component, ComponentContainer, Provider };\n//# sourceMappingURL=index.esm2017.js.map\n","/**\r\n * @license\r\n * Copyright 2017 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n/**\r\n * A container for all of the Logger instances\r\n */\r\nconst instances = [];\r\n/**\r\n * The JS SDK supports 5 log levels and also allows a user the ability to\r\n * silence the logs altogether.\r\n *\r\n * The order is a follows:\r\n * DEBUG < VERBOSE < INFO < WARN < ERROR\r\n *\r\n * All of the log types above the current log level will be captured (i.e. if\r\n * you set the log level to `INFO`, errors will still be logged, but `DEBUG` and\r\n * `VERBOSE` logs will not)\r\n */\r\nvar LogLevel;\r\n(function (LogLevel) {\r\n LogLevel[LogLevel[\"DEBUG\"] = 0] = \"DEBUG\";\r\n LogLevel[LogLevel[\"VERBOSE\"] = 1] = \"VERBOSE\";\r\n LogLevel[LogLevel[\"INFO\"] = 2] = \"INFO\";\r\n LogLevel[LogLevel[\"WARN\"] = 3] = \"WARN\";\r\n LogLevel[LogLevel[\"ERROR\"] = 4] = \"ERROR\";\r\n LogLevel[LogLevel[\"SILENT\"] = 5] = \"SILENT\";\r\n})(LogLevel || (LogLevel = {}));\r\nconst levelStringToEnum = {\r\n 'debug': LogLevel.DEBUG,\r\n 'verbose': LogLevel.VERBOSE,\r\n 'info': LogLevel.INFO,\r\n 'warn': LogLevel.WARN,\r\n 'error': LogLevel.ERROR,\r\n 'silent': LogLevel.SILENT\r\n};\r\n/**\r\n * The default log level\r\n */\r\nconst defaultLogLevel = LogLevel.INFO;\r\n/**\r\n * By default, `console.debug` is not displayed in the developer console (in\r\n * chrome). To avoid forcing users to have to opt-in to these logs twice\r\n * (i.e. once for firebase, and once in the console), we are sending `DEBUG`\r\n * logs to the `console.log` function.\r\n */\r\nconst ConsoleMethod = {\r\n [LogLevel.DEBUG]: 'log',\r\n [LogLevel.VERBOSE]: 'log',\r\n [LogLevel.INFO]: 'info',\r\n [LogLevel.WARN]: 'warn',\r\n [LogLevel.ERROR]: 'error'\r\n};\r\n/**\r\n * The default log handler will forward DEBUG, VERBOSE, INFO, WARN, and ERROR\r\n * messages on to their corresponding console counterparts (if the log method\r\n * is supported by the current log level)\r\n */\r\nconst defaultLogHandler = (instance, logType, ...args) => {\r\n if (logType < instance.logLevel) {\r\n return;\r\n }\r\n const now = new Date().toISOString();\r\n const method = ConsoleMethod[logType];\r\n if (method) {\r\n console[method](`[${now}] ${instance.name}:`, ...args);\r\n }\r\n else {\r\n throw new Error(`Attempted to log a message with an invalid logType (value: ${logType})`);\r\n }\r\n};\r\nclass Logger {\r\n /**\r\n * Gives you an instance of a Logger to capture messages according to\r\n * Firebase's logging scheme.\r\n *\r\n * @param name The name that the logs will be associated with\r\n */\r\n constructor(name) {\r\n this.name = name;\r\n /**\r\n * The log level of the given Logger instance.\r\n */\r\n this._logLevel = defaultLogLevel;\r\n /**\r\n * The main (internal) log handler for the Logger instance.\r\n * Can be set to a new function in internal package code but not by user.\r\n */\r\n this._logHandler = defaultLogHandler;\r\n /**\r\n * The optional, additional, user-defined log handler for the Logger instance.\r\n */\r\n this._userLogHandler = null;\r\n /**\r\n * Capture the current instance for later use\r\n */\r\n instances.push(this);\r\n }\r\n get logLevel() {\r\n return this._logLevel;\r\n }\r\n set logLevel(val) {\r\n if (!(val in LogLevel)) {\r\n throw new TypeError(`Invalid value \"${val}\" assigned to \\`logLevel\\``);\r\n }\r\n this._logLevel = val;\r\n }\r\n // Workaround for setter/getter having to be the same type.\r\n setLogLevel(val) {\r\n this._logLevel = typeof val === 'string' ? levelStringToEnum[val] : val;\r\n }\r\n get logHandler() {\r\n return this._logHandler;\r\n }\r\n set logHandler(val) {\r\n if (typeof val !== 'function') {\r\n throw new TypeError('Value assigned to `logHandler` must be a function');\r\n }\r\n this._logHandler = val;\r\n }\r\n get userLogHandler() {\r\n return this._userLogHandler;\r\n }\r\n set userLogHandler(val) {\r\n this._userLogHandler = val;\r\n }\r\n /**\r\n * The functions below are all based on the `console` interface\r\n */\r\n debug(...args) {\r\n this._userLogHandler && this._userLogHandler(this, LogLevel.DEBUG, ...args);\r\n this._logHandler(this, LogLevel.DEBUG, ...args);\r\n }\r\n log(...args) {\r\n this._userLogHandler &&\r\n this._userLogHandler(this, LogLevel.VERBOSE, ...args);\r\n this._logHandler(this, LogLevel.VERBOSE, ...args);\r\n }\r\n info(...args) {\r\n this._userLogHandler && this._userLogHandler(this, LogLevel.INFO, ...args);\r\n this._logHandler(this, LogLevel.INFO, ...args);\r\n }\r\n warn(...args) {\r\n this._userLogHandler && this._userLogHandler(this, LogLevel.WARN, ...args);\r\n this._logHandler(this, LogLevel.WARN, ...args);\r\n }\r\n error(...args) {\r\n this._userLogHandler && this._userLogHandler(this, LogLevel.ERROR, ...args);\r\n this._logHandler(this, LogLevel.ERROR, ...args);\r\n }\r\n}\r\nfunction setLogLevel(level) {\r\n instances.forEach(inst => {\r\n inst.setLogLevel(level);\r\n });\r\n}\r\nfunction setUserLogHandler(logCallback, options) {\r\n for (const instance of instances) {\r\n let customLogLevel = null;\r\n if (options && options.level) {\r\n customLogLevel = levelStringToEnum[options.level];\r\n }\r\n if (logCallback === null) {\r\n instance.userLogHandler = null;\r\n }\r\n else {\r\n instance.userLogHandler = (instance, level, ...args) => {\r\n const message = args\r\n .map(arg => {\r\n if (arg == null) {\r\n return null;\r\n }\r\n else if (typeof arg === 'string') {\r\n return arg;\r\n }\r\n else if (typeof arg === 'number' || typeof arg === 'boolean') {\r\n return arg.toString();\r\n }\r\n else if (arg instanceof Error) {\r\n return arg.message;\r\n }\r\n else {\r\n try {\r\n return JSON.stringify(arg);\r\n }\r\n catch (ignored) {\r\n return null;\r\n }\r\n }\r\n })\r\n .filter(arg => arg)\r\n .join(' ');\r\n if (level >= (customLogLevel !== null && customLogLevel !== void 0 ? customLogLevel : instance.logLevel)) {\r\n logCallback({\r\n level: LogLevel[level].toLowerCase(),\r\n message,\r\n args,\r\n type: instance.name\r\n });\r\n }\r\n };\r\n }\r\n }\r\n}\n\nexport { LogLevel, Logger, setLogLevel, setUserLogHandler };\n//# sourceMappingURL=index.esm2017.js.map\n","const instanceOfAny = (object, constructors) => constructors.some((c) => object instanceof c);\n\nlet idbProxyableTypes;\nlet cursorAdvanceMethods;\n// This is a function to prevent it throwing up in node environments.\nfunction getIdbProxyableTypes() {\n return (idbProxyableTypes ||\n (idbProxyableTypes = [\n IDBDatabase,\n IDBObjectStore,\n IDBIndex,\n IDBCursor,\n IDBTransaction,\n ]));\n}\n// This is a function to prevent it throwing up in node environments.\nfunction getCursorAdvanceMethods() {\n return (cursorAdvanceMethods ||\n (cursorAdvanceMethods = [\n IDBCursor.prototype.advance,\n IDBCursor.prototype.continue,\n IDBCursor.prototype.continuePrimaryKey,\n ]));\n}\nconst cursorRequestMap = new WeakMap();\nconst transactionDoneMap = new WeakMap();\nconst transactionStoreNamesMap = new WeakMap();\nconst transformCache = new WeakMap();\nconst reverseTransformCache = new WeakMap();\nfunction promisifyRequest(request) {\n const promise = new Promise((resolve, reject) => {\n const unlisten = () => {\n request.removeEventListener('success', success);\n request.removeEventListener('error', error);\n };\n const success = () => {\n resolve(wrap(request.result));\n unlisten();\n };\n const error = () => {\n reject(request.error);\n unlisten();\n };\n request.addEventListener('success', success);\n request.addEventListener('error', error);\n });\n promise\n .then((value) => {\n // Since cursoring reuses the IDBRequest (*sigh*), we cache it for later retrieval\n // (see wrapFunction).\n if (value instanceof IDBCursor) {\n cursorRequestMap.set(value, request);\n }\n // Catching to avoid \"Uncaught Promise exceptions\"\n })\n .catch(() => { });\n // This mapping exists in reverseTransformCache but doesn't doesn't exist in transformCache. This\n // is because we create many promises from a single IDBRequest.\n reverseTransformCache.set(promise, request);\n return promise;\n}\nfunction cacheDonePromiseForTransaction(tx) {\n // Early bail if we've already created a done promise for this transaction.\n if (transactionDoneMap.has(tx))\n return;\n const done = new Promise((resolve, reject) => {\n const unlisten = () => {\n tx.removeEventListener('complete', complete);\n tx.removeEventListener('error', error);\n tx.removeEventListener('abort', error);\n };\n const complete = () => {\n resolve();\n unlisten();\n };\n const error = () => {\n reject(tx.error || new DOMException('AbortError', 'AbortError'));\n unlisten();\n };\n tx.addEventListener('complete', complete);\n tx.addEventListener('error', error);\n tx.addEventListener('abort', error);\n });\n // Cache it for later retrieval.\n transactionDoneMap.set(tx, done);\n}\nlet idbProxyTraps = {\n get(target, prop, receiver) {\n if (target instanceof IDBTransaction) {\n // Special handling for transaction.done.\n if (prop === 'done')\n return transactionDoneMap.get(target);\n // Polyfill for objectStoreNames because of Edge.\n if (prop === 'objectStoreNames') {\n return target.objectStoreNames || transactionStoreNamesMap.get(target);\n }\n // Make tx.store return the only store in the transaction, or undefined if there are many.\n if (prop === 'store') {\n return receiver.objectStoreNames[1]\n ? undefined\n : receiver.objectStore(receiver.objectStoreNames[0]);\n }\n }\n // Else transform whatever we get back.\n return wrap(target[prop]);\n },\n set(target, prop, value) {\n target[prop] = value;\n return true;\n },\n has(target, prop) {\n if (target instanceof IDBTransaction &&\n (prop === 'done' || prop === 'store')) {\n return true;\n }\n return prop in target;\n },\n};\nfunction replaceTraps(callback) {\n idbProxyTraps = callback(idbProxyTraps);\n}\nfunction wrapFunction(func) {\n // Due to expected object equality (which is enforced by the caching in `wrap`), we\n // only create one new func per func.\n // Edge doesn't support objectStoreNames (booo), so we polyfill it here.\n if (func === IDBDatabase.prototype.transaction &&\n !('objectStoreNames' in IDBTransaction.prototype)) {\n return function (storeNames, ...args) {\n const tx = func.call(unwrap(this), storeNames, ...args);\n transactionStoreNamesMap.set(tx, storeNames.sort ? storeNames.sort() : [storeNames]);\n return wrap(tx);\n };\n }\n // Cursor methods are special, as the behaviour is a little more different to standard IDB. In\n // IDB, you advance the cursor and wait for a new 'success' on the IDBRequest that gave you the\n // cursor. It's kinda like a promise that can resolve with many values. That doesn't make sense\n // with real promises, so each advance methods returns a new promise for the cursor object, or\n // undefined if the end of the cursor has been reached.\n if (getCursorAdvanceMethods().includes(func)) {\n return function (...args) {\n // Calling the original function with the proxy as 'this' causes ILLEGAL INVOCATION, so we use\n // the original object.\n func.apply(unwrap(this), args);\n return wrap(cursorRequestMap.get(this));\n };\n }\n return function (...args) {\n // Calling the original function with the proxy as 'this' causes ILLEGAL INVOCATION, so we use\n // the original object.\n return wrap(func.apply(unwrap(this), args));\n };\n}\nfunction transformCachableValue(value) {\n if (typeof value === 'function')\n return wrapFunction(value);\n // This doesn't return, it just creates a 'done' promise for the transaction,\n // which is later returned for transaction.done (see idbObjectHandler).\n if (value instanceof IDBTransaction)\n cacheDonePromiseForTransaction(value);\n if (instanceOfAny(value, getIdbProxyableTypes()))\n return new Proxy(value, idbProxyTraps);\n // Return the same value back if we're not going to transform it.\n return value;\n}\nfunction wrap(value) {\n // We sometimes generate multiple promises from a single IDBRequest (eg when cursoring), because\n // IDB is weird and a single IDBRequest can yield many responses, so these can't be cached.\n if (value instanceof IDBRequest)\n return promisifyRequest(value);\n // If we've already transformed this value before, reuse the transformed value.\n // This is faster, but it also provides object equality.\n if (transformCache.has(value))\n return transformCache.get(value);\n const newValue = transformCachableValue(value);\n // Not all types are transformed.\n // These may be primitive types, so they can't be WeakMap keys.\n if (newValue !== value) {\n transformCache.set(value, newValue);\n reverseTransformCache.set(newValue, value);\n }\n return newValue;\n}\nconst unwrap = (value) => reverseTransformCache.get(value);\n\nexport { reverseTransformCache as a, instanceOfAny as i, replaceTraps as r, unwrap as u, wrap as w };\n","import { w as wrap, r as replaceTraps } from './wrap-idb-value.js';\nexport { u as unwrap, w as wrap } from './wrap-idb-value.js';\n\n/**\n * Open a database.\n *\n * @param name Name of the database.\n * @param version Schema version.\n * @param callbacks Additional callbacks.\n */\nfunction openDB(name, version, { blocked, upgrade, blocking, terminated } = {}) {\n const request = indexedDB.open(name, version);\n const openPromise = wrap(request);\n if (upgrade) {\n request.addEventListener('upgradeneeded', (event) => {\n upgrade(wrap(request.result), event.oldVersion, event.newVersion, wrap(request.transaction), event);\n });\n }\n if (blocked) {\n request.addEventListener('blocked', (event) => blocked(\n // Casting due to https://github.com/microsoft/TypeScript-DOM-lib-generator/pull/1405\n event.oldVersion, event.newVersion, event));\n }\n openPromise\n .then((db) => {\n if (terminated)\n db.addEventListener('close', () => terminated());\n if (blocking) {\n db.addEventListener('versionchange', (event) => blocking(event.oldVersion, event.newVersion, event));\n }\n })\n .catch(() => { });\n return openPromise;\n}\n/**\n * Delete a database.\n *\n * @param name Name of the database.\n */\nfunction deleteDB(name, { blocked } = {}) {\n const request = indexedDB.deleteDatabase(name);\n if (blocked) {\n request.addEventListener('blocked', (event) => blocked(\n // Casting due to https://github.com/microsoft/TypeScript-DOM-lib-generator/pull/1405\n event.oldVersion, event));\n }\n return wrap(request).then(() => undefined);\n}\n\nconst readMethods = ['get', 'getKey', 'getAll', 'getAllKeys', 'count'];\nconst writeMethods = ['put', 'add', 'delete', 'clear'];\nconst cachedMethods = new Map();\nfunction getMethod(target, prop) {\n if (!(target instanceof IDBDatabase &&\n !(prop in target) &&\n typeof prop === 'string')) {\n return;\n }\n if (cachedMethods.get(prop))\n return cachedMethods.get(prop);\n const targetFuncName = prop.replace(/FromIndex$/, '');\n const useIndex = prop !== targetFuncName;\n const isWrite = writeMethods.includes(targetFuncName);\n if (\n // Bail if the target doesn't exist on the target. Eg, getAll isn't in Edge.\n !(targetFuncName in (useIndex ? IDBIndex : IDBObjectStore).prototype) ||\n !(isWrite || readMethods.includes(targetFuncName))) {\n return;\n }\n const method = async function (storeName, ...args) {\n // isWrite ? 'readwrite' : undefined gzipps better, but fails in Edge :(\n const tx = this.transaction(storeName, isWrite ? 'readwrite' : 'readonly');\n let target = tx.store;\n if (useIndex)\n target = target.index(args.shift());\n // Must reject if op rejects.\n // If it's a write operation, must reject if tx.done rejects.\n // Must reject with op rejection first.\n // Must resolve with op value.\n // Must handle both promises (no unhandled rejections)\n return (await Promise.all([\n target[targetFuncName](...args),\n isWrite && tx.done,\n ]))[0];\n };\n cachedMethods.set(prop, method);\n return method;\n}\nreplaceTraps((oldTraps) => ({\n ...oldTraps,\n get: (target, prop, receiver) => getMethod(target, prop) || oldTraps.get(target, prop, receiver),\n has: (target, prop) => !!getMethod(target, prop) || oldTraps.has(target, prop),\n}));\n\nexport { deleteDB, openDB };\n","import { Component, ComponentContainer } from '@firebase/component';\nimport { Logger, setUserLogHandler, setLogLevel as setLogLevel$1 } from '@firebase/logger';\nimport { ErrorFactory, getDefaultAppConfig, deepEqual, isBrowser, isWebWorker, FirebaseError, base64urlEncodeWithoutPadding, isIndexedDBAvailable, validateIndexedDBOpenable } from '@firebase/util';\nexport { FirebaseError } from '@firebase/util';\nimport { openDB } from 'idb';\n\n/**\r\n * @license\r\n * Copyright 2019 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\nclass PlatformLoggerServiceImpl {\r\n constructor(container) {\r\n this.container = container;\r\n }\r\n // In initial implementation, this will be called by installations on\r\n // auth token refresh, and installations will send this string.\r\n getPlatformInfoString() {\r\n const providers = this.container.getProviders();\r\n // Loop through providers and get library/version pairs from any that are\r\n // version components.\r\n return providers\r\n .map(provider => {\r\n if (isVersionServiceProvider(provider)) {\r\n const service = provider.getImmediate();\r\n return `${service.library}/${service.version}`;\r\n }\r\n else {\r\n return null;\r\n }\r\n })\r\n .filter(logString => logString)\r\n .join(' ');\r\n }\r\n}\r\n/**\r\n *\r\n * @param provider check if this provider provides a VersionService\r\n *\r\n * NOTE: Using Provider<'app-version'> is a hack to indicate that the provider\r\n * provides VersionService. The provider is not necessarily a 'app-version'\r\n * provider.\r\n */\r\nfunction isVersionServiceProvider(provider) {\r\n const component = provider.getComponent();\r\n return (component === null || component === void 0 ? void 0 : component.type) === \"VERSION\" /* ComponentType.VERSION */;\r\n}\n\nconst name$p = \"@firebase/app\";\nconst version$1 = \"0.10.11\";\n\n/**\r\n * @license\r\n * Copyright 2019 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\nconst logger = new Logger('@firebase/app');\n\nconst name$o = \"@firebase/app-compat\";\n\nconst name$n = \"@firebase/analytics-compat\";\n\nconst name$m = \"@firebase/analytics\";\n\nconst name$l = \"@firebase/app-check-compat\";\n\nconst name$k = \"@firebase/app-check\";\n\nconst name$j = \"@firebase/auth\";\n\nconst name$i = \"@firebase/auth-compat\";\n\nconst name$h = \"@firebase/database\";\n\nconst name$g = \"@firebase/database-compat\";\n\nconst name$f = \"@firebase/functions\";\n\nconst name$e = \"@firebase/functions-compat\";\n\nconst name$d = \"@firebase/installations\";\n\nconst name$c = \"@firebase/installations-compat\";\n\nconst name$b = \"@firebase/messaging\";\n\nconst name$a = \"@firebase/messaging-compat\";\n\nconst name$9 = \"@firebase/performance\";\n\nconst name$8 = \"@firebase/performance-compat\";\n\nconst name$7 = \"@firebase/remote-config\";\n\nconst name$6 = \"@firebase/remote-config-compat\";\n\nconst name$5 = \"@firebase/storage\";\n\nconst name$4 = \"@firebase/storage-compat\";\n\nconst name$3 = \"@firebase/firestore\";\n\nconst name$2 = \"@firebase/vertexai-preview\";\n\nconst name$1 = \"@firebase/firestore-compat\";\n\nconst name = \"firebase\";\nconst version = \"10.13.2\";\n\n/**\r\n * @license\r\n * Copyright 2019 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n/**\r\n * The default app name\r\n *\r\n * @internal\r\n */\r\nconst DEFAULT_ENTRY_NAME = '[DEFAULT]';\r\nconst PLATFORM_LOG_STRING = {\r\n [name$p]: 'fire-core',\r\n [name$o]: 'fire-core-compat',\r\n [name$m]: 'fire-analytics',\r\n [name$n]: 'fire-analytics-compat',\r\n [name$k]: 'fire-app-check',\r\n [name$l]: 'fire-app-check-compat',\r\n [name$j]: 'fire-auth',\r\n [name$i]: 'fire-auth-compat',\r\n [name$h]: 'fire-rtdb',\r\n [name$g]: 'fire-rtdb-compat',\r\n [name$f]: 'fire-fn',\r\n [name$e]: 'fire-fn-compat',\r\n [name$d]: 'fire-iid',\r\n [name$c]: 'fire-iid-compat',\r\n [name$b]: 'fire-fcm',\r\n [name$a]: 'fire-fcm-compat',\r\n [name$9]: 'fire-perf',\r\n [name$8]: 'fire-perf-compat',\r\n [name$7]: 'fire-rc',\r\n [name$6]: 'fire-rc-compat',\r\n [name$5]: 'fire-gcs',\r\n [name$4]: 'fire-gcs-compat',\r\n [name$3]: 'fire-fst',\r\n [name$1]: 'fire-fst-compat',\r\n [name$2]: 'fire-vertex',\r\n 'fire-js': 'fire-js',\r\n [name]: 'fire-js-all'\r\n};\n\n/**\r\n * @license\r\n * Copyright 2019 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n/**\r\n * @internal\r\n */\r\nconst _apps = new Map();\r\n/**\r\n * @internal\r\n */\r\nconst _serverApps = new Map();\r\n/**\r\n * Registered components.\r\n *\r\n * @internal\r\n */\r\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\r\nconst _components = new Map();\r\n/**\r\n * @param component - the component being added to this app's container\r\n *\r\n * @internal\r\n */\r\nfunction _addComponent(app, component) {\r\n try {\r\n app.container.addComponent(component);\r\n }\r\n catch (e) {\r\n logger.debug(`Component ${component.name} failed to register with FirebaseApp ${app.name}`, e);\r\n }\r\n}\r\n/**\r\n *\r\n * @internal\r\n */\r\nfunction _addOrOverwriteComponent(app, component) {\r\n app.container.addOrOverwriteComponent(component);\r\n}\r\n/**\r\n *\r\n * @param component - the component to register\r\n * @returns whether or not the component is registered successfully\r\n *\r\n * @internal\r\n */\r\nfunction _registerComponent(component) {\r\n const componentName = component.name;\r\n if (_components.has(componentName)) {\r\n logger.debug(`There were multiple attempts to register component ${componentName}.`);\r\n return false;\r\n }\r\n _components.set(componentName, component);\r\n // add the component to existing app instances\r\n for (const app of _apps.values()) {\r\n _addComponent(app, component);\r\n }\r\n for (const serverApp of _serverApps.values()) {\r\n _addComponent(serverApp, component);\r\n }\r\n return true;\r\n}\r\n/**\r\n *\r\n * @param app - FirebaseApp instance\r\n * @param name - service name\r\n *\r\n * @returns the provider for the service with the matching name\r\n *\r\n * @internal\r\n */\r\nfunction _getProvider(app, name) {\r\n const heartbeatController = app.container\r\n .getProvider('heartbeat')\r\n .getImmediate({ optional: true });\r\n if (heartbeatController) {\r\n void heartbeatController.triggerHeartbeat();\r\n }\r\n return app.container.getProvider(name);\r\n}\r\n/**\r\n *\r\n * @param app - FirebaseApp instance\r\n * @param name - service name\r\n * @param instanceIdentifier - service instance identifier in case the service supports multiple instances\r\n *\r\n * @internal\r\n */\r\nfunction _removeServiceInstance(app, name, instanceIdentifier = DEFAULT_ENTRY_NAME) {\r\n _getProvider(app, name).clearInstance(instanceIdentifier);\r\n}\r\n/**\r\n *\r\n * @param obj - an object of type FirebaseApp or FirebaseOptions.\r\n *\r\n * @returns true if the provide object is of type FirebaseApp.\r\n *\r\n * @internal\r\n */\r\nfunction _isFirebaseApp(obj) {\r\n return obj.options !== undefined;\r\n}\r\n/**\r\n *\r\n * @param obj - an object of type FirebaseApp.\r\n *\r\n * @returns true if the provided object is of type FirebaseServerAppImpl.\r\n *\r\n * @internal\r\n */\r\nfunction _isFirebaseServerApp(obj) {\r\n return obj.settings !== undefined;\r\n}\r\n/**\r\n * Test only\r\n *\r\n * @internal\r\n */\r\nfunction _clearComponents() {\r\n _components.clear();\r\n}\n\n/**\r\n * @license\r\n * Copyright 2019 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\nconst ERRORS = {\r\n [\"no-app\" /* AppError.NO_APP */]: \"No Firebase App '{$appName}' has been created - \" +\r\n 'call initializeApp() first',\r\n [\"bad-app-name\" /* AppError.BAD_APP_NAME */]: \"Illegal App name: '{$appName}'\",\r\n [\"duplicate-app\" /* AppError.DUPLICATE_APP */]: \"Firebase App named '{$appName}' already exists with different options or config\",\r\n [\"app-deleted\" /* AppError.APP_DELETED */]: \"Firebase App named '{$appName}' already deleted\",\r\n [\"server-app-deleted\" /* AppError.SERVER_APP_DELETED */]: 'Firebase Server App has been deleted',\r\n [\"no-options\" /* AppError.NO_OPTIONS */]: 'Need to provide options, when not being deployed to hosting via source.',\r\n [\"invalid-app-argument\" /* AppError.INVALID_APP_ARGUMENT */]: 'firebase.{$appName}() takes either no argument or a ' +\r\n 'Firebase App instance.',\r\n [\"invalid-log-argument\" /* AppError.INVALID_LOG_ARGUMENT */]: 'First argument to `onLog` must be null or a function.',\r\n [\"idb-open\" /* AppError.IDB_OPEN */]: 'Error thrown when opening IndexedDB. Original error: {$originalErrorMessage}.',\r\n [\"idb-get\" /* AppError.IDB_GET */]: 'Error thrown when reading from IndexedDB. Original error: {$originalErrorMessage}.',\r\n [\"idb-set\" /* AppError.IDB_WRITE */]: 'Error thrown when writing to IndexedDB. Original error: {$originalErrorMessage}.',\r\n [\"idb-delete\" /* AppError.IDB_DELETE */]: 'Error thrown when deleting from IndexedDB. Original error: {$originalErrorMessage}.',\r\n [\"finalization-registry-not-supported\" /* AppError.FINALIZATION_REGISTRY_NOT_SUPPORTED */]: 'FirebaseServerApp deleteOnDeref field defined but the JS runtime does not support FinalizationRegistry.',\r\n [\"invalid-server-app-environment\" /* AppError.INVALID_SERVER_APP_ENVIRONMENT */]: 'FirebaseServerApp is not for use in browser environments.'\r\n};\r\nconst ERROR_FACTORY = new ErrorFactory('app', 'Firebase', ERRORS);\n\n/**\r\n * @license\r\n * Copyright 2019 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\nclass FirebaseAppImpl {\r\n constructor(options, config, container) {\r\n this._isDeleted = false;\r\n this._options = Object.assign({}, options);\r\n this._config = Object.assign({}, config);\r\n this._name = config.name;\r\n this._automaticDataCollectionEnabled =\r\n config.automaticDataCollectionEnabled;\r\n this._container = container;\r\n this.container.addComponent(new Component('app', () => this, \"PUBLIC\" /* ComponentType.PUBLIC */));\r\n }\r\n get automaticDataCollectionEnabled() {\r\n this.checkDestroyed();\r\n return this._automaticDataCollectionEnabled;\r\n }\r\n set automaticDataCollectionEnabled(val) {\r\n this.checkDestroyed();\r\n this._automaticDataCollectionEnabled = val;\r\n }\r\n get name() {\r\n this.checkDestroyed();\r\n return this._name;\r\n }\r\n get options() {\r\n this.checkDestroyed();\r\n return this._options;\r\n }\r\n get config() {\r\n this.checkDestroyed();\r\n return this._config;\r\n }\r\n get container() {\r\n return this._container;\r\n }\r\n get isDeleted() {\r\n return this._isDeleted;\r\n }\r\n set isDeleted(val) {\r\n this._isDeleted = val;\r\n }\r\n /**\r\n * This function will throw an Error if the App has already been deleted -\r\n * use before performing API actions on the App.\r\n */\r\n checkDestroyed() {\r\n if (this.isDeleted) {\r\n throw ERROR_FACTORY.create(\"app-deleted\" /* AppError.APP_DELETED */, { appName: this._name });\r\n }\r\n }\r\n}\n\n/**\r\n * @license\r\n * Copyright 2023 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\nclass FirebaseServerAppImpl extends FirebaseAppImpl {\r\n constructor(options, serverConfig, name, container) {\r\n // Build configuration parameters for the FirebaseAppImpl base class.\r\n const automaticDataCollectionEnabled = serverConfig.automaticDataCollectionEnabled !== undefined\r\n ? serverConfig.automaticDataCollectionEnabled\r\n : false;\r\n // Create the FirebaseAppSettings object for the FirebaseAppImp constructor.\r\n const config = {\r\n name,\r\n automaticDataCollectionEnabled\r\n };\r\n if (options.apiKey !== undefined) {\r\n // Construct the parent FirebaseAppImp object.\r\n super(options, config, container);\r\n }\r\n else {\r\n const appImpl = options;\r\n super(appImpl.options, config, container);\r\n }\r\n // Now construct the data for the FirebaseServerAppImpl.\r\n this._serverConfig = Object.assign({ automaticDataCollectionEnabled }, serverConfig);\r\n this._finalizationRegistry = null;\r\n if (typeof FinalizationRegistry !== 'undefined') {\r\n this._finalizationRegistry = new FinalizationRegistry(() => {\r\n this.automaticCleanup();\r\n });\r\n }\r\n this._refCount = 0;\r\n this.incRefCount(this._serverConfig.releaseOnDeref);\r\n // Do not retain a hard reference to the dref object, otherwise the FinalizationRegistry\r\n // will never trigger.\r\n this._serverConfig.releaseOnDeref = undefined;\r\n serverConfig.releaseOnDeref = undefined;\r\n registerVersion(name$p, version$1, 'serverapp');\r\n }\r\n toJSON() {\r\n return undefined;\r\n }\r\n get refCount() {\r\n return this._refCount;\r\n }\r\n // Increment the reference count of this server app. If an object is provided, register it\r\n // with the finalization registry.\r\n incRefCount(obj) {\r\n if (this.isDeleted) {\r\n return;\r\n }\r\n this._refCount++;\r\n if (obj !== undefined && this._finalizationRegistry !== null) {\r\n this._finalizationRegistry.register(obj, this);\r\n }\r\n }\r\n // Decrement the reference count.\r\n decRefCount() {\r\n if (this.isDeleted) {\r\n return 0;\r\n }\r\n return --this._refCount;\r\n }\r\n // Invoked by the FinalizationRegistry callback to note that this app should go through its\r\n // reference counts and delete itself if no reference count remain. The coordinating logic that\r\n // handles this is in deleteApp(...).\r\n automaticCleanup() {\r\n void deleteApp(this);\r\n }\r\n get settings() {\r\n this.checkDestroyed();\r\n return this._serverConfig;\r\n }\r\n /**\r\n * This function will throw an Error if the App has already been deleted -\r\n * use before performing API actions on the App.\r\n */\r\n checkDestroyed() {\r\n if (this.isDeleted) {\r\n throw ERROR_FACTORY.create(\"server-app-deleted\" /* AppError.SERVER_APP_DELETED */);\r\n }\r\n }\r\n}\n\n/**\r\n * @license\r\n * Copyright 2019 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n/**\r\n * The current SDK version.\r\n *\r\n * @public\r\n */\r\nconst SDK_VERSION = version;\r\nfunction initializeApp(_options, rawConfig = {}) {\r\n let options = _options;\r\n if (typeof rawConfig !== 'object') {\r\n const name = rawConfig;\r\n rawConfig = { name };\r\n }\r\n const config = Object.assign({ name: DEFAULT_ENTRY_NAME, automaticDataCollectionEnabled: false }, rawConfig);\r\n const name = config.name;\r\n if (typeof name !== 'string' || !name) {\r\n throw ERROR_FACTORY.create(\"bad-app-name\" /* AppError.BAD_APP_NAME */, {\r\n appName: String(name)\r\n });\r\n }\r\n options || (options = getDefaultAppConfig());\r\n if (!options) {\r\n throw ERROR_FACTORY.create(\"no-options\" /* AppError.NO_OPTIONS */);\r\n }\r\n const existingApp = _apps.get(name);\r\n if (existingApp) {\r\n // return the existing app if options and config deep equal the ones in the existing app.\r\n if (deepEqual(options, existingApp.options) &&\r\n deepEqual(config, existingApp.config)) {\r\n return existingApp;\r\n }\r\n else {\r\n throw ERROR_FACTORY.create(\"duplicate-app\" /* AppError.DUPLICATE_APP */, { appName: name });\r\n }\r\n }\r\n const container = new ComponentContainer(name);\r\n for (const component of _components.values()) {\r\n container.addComponent(component);\r\n }\r\n const newApp = new FirebaseAppImpl(options, config, container);\r\n _apps.set(name, newApp);\r\n return newApp;\r\n}\r\nfunction initializeServerApp(_options, _serverAppConfig) {\r\n if (isBrowser() && !isWebWorker()) {\r\n // FirebaseServerApp isn't designed to be run in browsers.\r\n throw ERROR_FACTORY.create(\"invalid-server-app-environment\" /* AppError.INVALID_SERVER_APP_ENVIRONMENT */);\r\n }\r\n if (_serverAppConfig.automaticDataCollectionEnabled === undefined) {\r\n _serverAppConfig.automaticDataCollectionEnabled = false;\r\n }\r\n let appOptions;\r\n if (_isFirebaseApp(_options)) {\r\n appOptions = _options.options;\r\n }\r\n else {\r\n appOptions = _options;\r\n }\r\n // Build an app name based on a hash of the configuration options.\r\n const nameObj = Object.assign(Object.assign({}, _serverAppConfig), appOptions);\r\n // However, Do not mangle the name based on releaseOnDeref, since it will vary between the\r\n // construction of FirebaseServerApp instances. For example, if the object is the request headers.\r\n if (nameObj.releaseOnDeref !== undefined) {\r\n delete nameObj.releaseOnDeref;\r\n }\r\n const hashCode = (s) => {\r\n return [...s].reduce((hash, c) => (Math.imul(31, hash) + c.charCodeAt(0)) | 0, 0);\r\n };\r\n if (_serverAppConfig.releaseOnDeref !== undefined) {\r\n if (typeof FinalizationRegistry === 'undefined') {\r\n throw ERROR_FACTORY.create(\"finalization-registry-not-supported\" /* AppError.FINALIZATION_REGISTRY_NOT_SUPPORTED */, {});\r\n }\r\n }\r\n const nameString = '' + hashCode(JSON.stringify(nameObj));\r\n const existingApp = _serverApps.get(nameString);\r\n if (existingApp) {\r\n existingApp.incRefCount(_serverAppConfig.releaseOnDeref);\r\n return existingApp;\r\n }\r\n const container = new ComponentContainer(nameString);\r\n for (const component of _components.values()) {\r\n container.addComponent(component);\r\n }\r\n const newApp = new FirebaseServerAppImpl(appOptions, _serverAppConfig, nameString, container);\r\n _serverApps.set(nameString, newApp);\r\n return newApp;\r\n}\r\n/**\r\n * Retrieves a {@link @firebase/app#FirebaseApp} instance.\r\n *\r\n * When called with no arguments, the default app is returned. When an app name\r\n * is provided, the app corresponding to that name is returned.\r\n *\r\n * An exception is thrown if the app being retrieved has not yet been\r\n * initialized.\r\n *\r\n * @example\r\n * ```javascript\r\n * // Return the default app\r\n * const app = getApp();\r\n * ```\r\n *\r\n * @example\r\n * ```javascript\r\n * // Return a named app\r\n * const otherApp = getApp(\"otherApp\");\r\n * ```\r\n *\r\n * @param name - Optional name of the app to return. If no name is\r\n * provided, the default is `\"[DEFAULT]\"`.\r\n *\r\n * @returns The app corresponding to the provided app name.\r\n * If no app name is provided, the default app is returned.\r\n *\r\n * @public\r\n */\r\nfunction getApp(name = DEFAULT_ENTRY_NAME) {\r\n const app = _apps.get(name);\r\n if (!app && name === DEFAULT_ENTRY_NAME && getDefaultAppConfig()) {\r\n return initializeApp();\r\n }\r\n if (!app) {\r\n throw ERROR_FACTORY.create(\"no-app\" /* AppError.NO_APP */, { appName: name });\r\n }\r\n return app;\r\n}\r\n/**\r\n * A (read-only) array of all initialized apps.\r\n * @public\r\n */\r\nfunction getApps() {\r\n return Array.from(_apps.values());\r\n}\r\n/**\r\n * Renders this app unusable and frees the resources of all associated\r\n * services.\r\n *\r\n * @example\r\n * ```javascript\r\n * deleteApp(app)\r\n * .then(function() {\r\n * console.log(\"App deleted successfully\");\r\n * })\r\n * .catch(function(error) {\r\n * console.log(\"Error deleting app:\", error);\r\n * });\r\n * ```\r\n *\r\n * @public\r\n */\r\nasync function deleteApp(app) {\r\n let cleanupProviders = false;\r\n const name = app.name;\r\n if (_apps.has(name)) {\r\n cleanupProviders = true;\r\n _apps.delete(name);\r\n }\r\n else if (_serverApps.has(name)) {\r\n const firebaseServerApp = app;\r\n if (firebaseServerApp.decRefCount() <= 0) {\r\n _serverApps.delete(name);\r\n cleanupProviders = true;\r\n }\r\n }\r\n if (cleanupProviders) {\r\n await Promise.all(app.container\r\n .getProviders()\r\n .map(provider => provider.delete()));\r\n app.isDeleted = true;\r\n }\r\n}\r\n/**\r\n * Registers a library's name and version for platform logging purposes.\r\n * @param library - Name of 1p or 3p library (e.g. firestore, angularfire)\r\n * @param version - Current version of that library.\r\n * @param variant - Bundle variant, e.g., node, rn, etc.\r\n *\r\n * @public\r\n */\r\nfunction registerVersion(libraryKeyOrName, version, variant) {\r\n var _a;\r\n // TODO: We can use this check to whitelist strings when/if we set up\r\n // a good whitelist system.\r\n let library = (_a = PLATFORM_LOG_STRING[libraryKeyOrName]) !== null && _a !== void 0 ? _a : libraryKeyOrName;\r\n if (variant) {\r\n library += `-${variant}`;\r\n }\r\n const libraryMismatch = library.match(/\\s|\\//);\r\n const versionMismatch = version.match(/\\s|\\//);\r\n if (libraryMismatch || versionMismatch) {\r\n const warning = [\r\n `Unable to register library \"${library}\" with version \"${version}\":`\r\n ];\r\n if (libraryMismatch) {\r\n warning.push(`library name \"${library}\" contains illegal characters (whitespace or \"/\")`);\r\n }\r\n if (libraryMismatch && versionMismatch) {\r\n warning.push('and');\r\n }\r\n if (versionMismatch) {\r\n warning.push(`version name \"${version}\" contains illegal characters (whitespace or \"/\")`);\r\n }\r\n logger.warn(warning.join(' '));\r\n return;\r\n }\r\n _registerComponent(new Component(`${library}-version`, () => ({ library, version }), \"VERSION\" /* ComponentType.VERSION */));\r\n}\r\n/**\r\n * Sets log handler for all Firebase SDKs.\r\n * @param logCallback - An optional custom log handler that executes user code whenever\r\n * the Firebase SDK makes a logging call.\r\n *\r\n * @public\r\n */\r\nfunction onLog(logCallback, options) {\r\n if (logCallback !== null && typeof logCallback !== 'function') {\r\n throw ERROR_FACTORY.create(\"invalid-log-argument\" /* AppError.INVALID_LOG_ARGUMENT */);\r\n }\r\n setUserLogHandler(logCallback, options);\r\n}\r\n/**\r\n * Sets log level for all Firebase SDKs.\r\n *\r\n * All of the log types above the current log level are captured (i.e. if\r\n * you set the log level to `info`, errors are logged, but `debug` and\r\n * `verbose` logs are not).\r\n *\r\n * @public\r\n */\r\nfunction setLogLevel(logLevel) {\r\n setLogLevel$1(logLevel);\r\n}\n\n/**\r\n * @license\r\n * Copyright 2021 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\nconst DB_NAME = 'firebase-heartbeat-database';\r\nconst DB_VERSION = 1;\r\nconst STORE_NAME = 'firebase-heartbeat-store';\r\nlet dbPromise = null;\r\nfunction getDbPromise() {\r\n if (!dbPromise) {\r\n dbPromise = openDB(DB_NAME, DB_VERSION, {\r\n upgrade: (db, oldVersion) => {\r\n // We don't use 'break' in this switch statement, the fall-through\r\n // behavior is what we want, because if there are multiple versions between\r\n // the old version and the current version, we want ALL the migrations\r\n // that correspond to those versions to run, not only the last one.\r\n // eslint-disable-next-line default-case\r\n switch (oldVersion) {\r\n case 0:\r\n try {\r\n db.createObjectStore(STORE_NAME);\r\n }\r\n catch (e) {\r\n // Safari/iOS browsers throw occasional exceptions on\r\n // db.createObjectStore() that may be a bug. Avoid blocking\r\n // the rest of the app functionality.\r\n console.warn(e);\r\n }\r\n }\r\n }\r\n }).catch(e => {\r\n throw ERROR_FACTORY.create(\"idb-open\" /* AppError.IDB_OPEN */, {\r\n originalErrorMessage: e.message\r\n });\r\n });\r\n }\r\n return dbPromise;\r\n}\r\nasync function readHeartbeatsFromIndexedDB(app) {\r\n try {\r\n const db = await getDbPromise();\r\n const tx = db.transaction(STORE_NAME);\r\n const result = await tx.objectStore(STORE_NAME).get(computeKey(app));\r\n // We already have the value but tx.done can throw,\r\n // so we need to await it here to catch errors\r\n await tx.done;\r\n return result;\r\n }\r\n catch (e) {\r\n if (e instanceof FirebaseError) {\r\n logger.warn(e.message);\r\n }\r\n else {\r\n const idbGetError = ERROR_FACTORY.create(\"idb-get\" /* AppError.IDB_GET */, {\r\n originalErrorMessage: e === null || e === void 0 ? void 0 : e.message\r\n });\r\n logger.warn(idbGetError.message);\r\n }\r\n }\r\n}\r\nasync function writeHeartbeatsToIndexedDB(app, heartbeatObject) {\r\n try {\r\n const db = await getDbPromise();\r\n const tx = db.transaction(STORE_NAME, 'readwrite');\r\n const objectStore = tx.objectStore(STORE_NAME);\r\n await objectStore.put(heartbeatObject, computeKey(app));\r\n await tx.done;\r\n }\r\n catch (e) {\r\n if (e instanceof FirebaseError) {\r\n logger.warn(e.message);\r\n }\r\n else {\r\n const idbGetError = ERROR_FACTORY.create(\"idb-set\" /* AppError.IDB_WRITE */, {\r\n originalErrorMessage: e === null || e === void 0 ? void 0 : e.message\r\n });\r\n logger.warn(idbGetError.message);\r\n }\r\n }\r\n}\r\nfunction computeKey(app) {\r\n return `${app.name}!${app.options.appId}`;\r\n}\n\n/**\r\n * @license\r\n * Copyright 2021 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\nconst MAX_HEADER_BYTES = 1024;\r\n// 30 days\r\nconst STORED_HEARTBEAT_RETENTION_MAX_MILLIS = 30 * 24 * 60 * 60 * 1000;\r\nclass HeartbeatServiceImpl {\r\n constructor(container) {\r\n this.container = container;\r\n /**\r\n * In-memory cache for heartbeats, used by getHeartbeatsHeader() to generate\r\n * the header string.\r\n * Stores one record per date. This will be consolidated into the standard\r\n * format of one record per user agent string before being sent as a header.\r\n * Populated from indexedDB when the controller is instantiated and should\r\n * be kept in sync with indexedDB.\r\n * Leave public for easier testing.\r\n */\r\n this._heartbeatsCache = null;\r\n const app = this.container.getProvider('app').getImmediate();\r\n this._storage = new HeartbeatStorageImpl(app);\r\n this._heartbeatsCachePromise = this._storage.read().then(result => {\r\n this._heartbeatsCache = result;\r\n return result;\r\n });\r\n }\r\n /**\r\n * Called to report a heartbeat. The function will generate\r\n * a HeartbeatsByUserAgent object, update heartbeatsCache, and persist it\r\n * to IndexedDB.\r\n * Note that we only store one heartbeat per day. So if a heartbeat for today is\r\n * already logged, subsequent calls to this function in the same day will be ignored.\r\n */\r\n async triggerHeartbeat() {\r\n var _a, _b;\r\n try {\r\n const platformLogger = this.container\r\n .getProvider('platform-logger')\r\n .getImmediate();\r\n // This is the \"Firebase user agent\" string from the platform logger\r\n // service, not the browser user agent.\r\n const agent = platformLogger.getPlatformInfoString();\r\n const date = getUTCDateString();\r\n if (((_a = this._heartbeatsCache) === null || _a === void 0 ? void 0 : _a.heartbeats) == null) {\r\n this._heartbeatsCache = await this._heartbeatsCachePromise;\r\n // If we failed to construct a heartbeats cache, then return immediately.\r\n if (((_b = this._heartbeatsCache) === null || _b === void 0 ? void 0 : _b.heartbeats) == null) {\r\n return;\r\n }\r\n }\r\n // Do not store a heartbeat if one is already stored for this day\r\n // or if a header has already been sent today.\r\n if (this._heartbeatsCache.lastSentHeartbeatDate === date ||\r\n this._heartbeatsCache.heartbeats.some(singleDateHeartbeat => singleDateHeartbeat.date === date)) {\r\n return;\r\n }\r\n else {\r\n // There is no entry for this date. Create one.\r\n this._heartbeatsCache.heartbeats.push({ date, agent });\r\n }\r\n // Remove entries older than 30 days.\r\n this._heartbeatsCache.heartbeats =\r\n this._heartbeatsCache.heartbeats.filter(singleDateHeartbeat => {\r\n const hbTimestamp = new Date(singleDateHeartbeat.date).valueOf();\r\n const now = Date.now();\r\n return now - hbTimestamp <= STORED_HEARTBEAT_RETENTION_MAX_MILLIS;\r\n });\r\n return this._storage.overwrite(this._heartbeatsCache);\r\n }\r\n catch (e) {\r\n logger.warn(e);\r\n }\r\n }\r\n /**\r\n * Returns a base64 encoded string which can be attached to the heartbeat-specific header directly.\r\n * It also clears all heartbeats from memory as well as in IndexedDB.\r\n *\r\n * NOTE: Consuming product SDKs should not send the header if this method\r\n * returns an empty string.\r\n */\r\n async getHeartbeatsHeader() {\r\n var _a;\r\n try {\r\n if (this._heartbeatsCache === null) {\r\n await this._heartbeatsCachePromise;\r\n }\r\n // If it's still null or the array is empty, there is no data to send.\r\n if (((_a = this._heartbeatsCache) === null || _a === void 0 ? void 0 : _a.heartbeats) == null ||\r\n this._heartbeatsCache.heartbeats.length === 0) {\r\n return '';\r\n }\r\n const date = getUTCDateString();\r\n // Extract as many heartbeats from the cache as will fit under the size limit.\r\n const { heartbeatsToSend, unsentEntries } = extractHeartbeatsForHeader(this._heartbeatsCache.heartbeats);\r\n const headerString = base64urlEncodeWithoutPadding(JSON.stringify({ version: 2, heartbeats: heartbeatsToSend }));\r\n // Store last sent date to prevent another being logged/sent for the same day.\r\n this._heartbeatsCache.lastSentHeartbeatDate = date;\r\n if (unsentEntries.length > 0) {\r\n // Store any unsent entries if they exist.\r\n this._heartbeatsCache.heartbeats = unsentEntries;\r\n // This seems more likely than emptying the array (below) to lead to some odd state\r\n // since the cache isn't empty and this will be called again on the next request,\r\n // and is probably safest if we await it.\r\n await this._storage.overwrite(this._heartbeatsCache);\r\n }\r\n else {\r\n this._heartbeatsCache.heartbeats = [];\r\n // Do not wait for this, to reduce latency.\r\n void this._storage.overwrite(this._heartbeatsCache);\r\n }\r\n return headerString;\r\n }\r\n catch (e) {\r\n logger.warn(e);\r\n return '';\r\n }\r\n }\r\n}\r\nfunction getUTCDateString() {\r\n const today = new Date();\r\n // Returns date format 'YYYY-MM-DD'\r\n return today.toISOString().substring(0, 10);\r\n}\r\nfunction extractHeartbeatsForHeader(heartbeatsCache, maxSize = MAX_HEADER_BYTES) {\r\n // Heartbeats grouped by user agent in the standard format to be sent in\r\n // the header.\r\n const heartbeatsToSend = [];\r\n // Single date format heartbeats that are not sent.\r\n let unsentEntries = heartbeatsCache.slice();\r\n for (const singleDateHeartbeat of heartbeatsCache) {\r\n // Look for an existing entry with the same user agent.\r\n const heartbeatEntry = heartbeatsToSend.find(hb => hb.agent === singleDateHeartbeat.agent);\r\n if (!heartbeatEntry) {\r\n // If no entry for this user agent exists, create one.\r\n heartbeatsToSend.push({\r\n agent: singleDateHeartbeat.agent,\r\n dates: [singleDateHeartbeat.date]\r\n });\r\n if (countBytes(heartbeatsToSend) > maxSize) {\r\n // If the header would exceed max size, remove the added heartbeat\r\n // entry and stop adding to the header.\r\n heartbeatsToSend.pop();\r\n break;\r\n }\r\n }\r\n else {\r\n heartbeatEntry.dates.push(singleDateHeartbeat.date);\r\n // If the header would exceed max size, remove the added date\r\n // and stop adding to the header.\r\n if (countBytes(heartbeatsToSend) > maxSize) {\r\n heartbeatEntry.dates.pop();\r\n break;\r\n }\r\n }\r\n // Pop unsent entry from queue. (Skipped if adding the entry exceeded\r\n // quota and the loop breaks early.)\r\n unsentEntries = unsentEntries.slice(1);\r\n }\r\n return {\r\n heartbeatsToSend,\r\n unsentEntries\r\n };\r\n}\r\nclass HeartbeatStorageImpl {\r\n constructor(app) {\r\n this.app = app;\r\n this._canUseIndexedDBPromise = this.runIndexedDBEnvironmentCheck();\r\n }\r\n async runIndexedDBEnvironmentCheck() {\r\n if (!isIndexedDBAvailable()) {\r\n return false;\r\n }\r\n else {\r\n return validateIndexedDBOpenable()\r\n .then(() => true)\r\n .catch(() => false);\r\n }\r\n }\r\n /**\r\n * Read all heartbeats.\r\n */\r\n async read() {\r\n const canUseIndexedDB = await this._canUseIndexedDBPromise;\r\n if (!canUseIndexedDB) {\r\n return { heartbeats: [] };\r\n }\r\n else {\r\n const idbHeartbeatObject = await readHeartbeatsFromIndexedDB(this.app);\r\n if (idbHeartbeatObject === null || idbHeartbeatObject === void 0 ? void 0 : idbHeartbeatObject.heartbeats) {\r\n return idbHeartbeatObject;\r\n }\r\n else {\r\n return { heartbeats: [] };\r\n }\r\n }\r\n }\r\n // overwrite the storage with the provided heartbeats\r\n async overwrite(heartbeatsObject) {\r\n var _a;\r\n const canUseIndexedDB = await this._canUseIndexedDBPromise;\r\n if (!canUseIndexedDB) {\r\n return;\r\n }\r\n else {\r\n const existingHeartbeatsObject = await this.read();\r\n return writeHeartbeatsToIndexedDB(this.app, {\r\n lastSentHeartbeatDate: (_a = heartbeatsObject.lastSentHeartbeatDate) !== null && _a !== void 0 ? _a : existingHeartbeatsObject.lastSentHeartbeatDate,\r\n heartbeats: heartbeatsObject.heartbeats\r\n });\r\n }\r\n }\r\n // add heartbeats\r\n async add(heartbeatsObject) {\r\n var _a;\r\n const canUseIndexedDB = await this._canUseIndexedDBPromise;\r\n if (!canUseIndexedDB) {\r\n return;\r\n }\r\n else {\r\n const existingHeartbeatsObject = await this.read();\r\n return writeHeartbeatsToIndexedDB(this.app, {\r\n lastSentHeartbeatDate: (_a = heartbeatsObject.lastSentHeartbeatDate) !== null && _a !== void 0 ? _a : existingHeartbeatsObject.lastSentHeartbeatDate,\r\n heartbeats: [\r\n ...existingHeartbeatsObject.heartbeats,\r\n ...heartbeatsObject.heartbeats\r\n ]\r\n });\r\n }\r\n }\r\n}\r\n/**\r\n * Calculate bytes of a HeartbeatsByUserAgent array after being wrapped\r\n * in a platform logging header JSON object, stringified, and converted\r\n * to base 64.\r\n */\r\nfunction countBytes(heartbeatsCache) {\r\n // base64 has a restricted set of characters, all of which should be 1 byte.\r\n return base64urlEncodeWithoutPadding(\r\n // heartbeatsCache wrapper properties\r\n JSON.stringify({ version: 2, heartbeats: heartbeatsCache })).length;\r\n}\n\n/**\r\n * @license\r\n * Copyright 2019 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\nfunction registerCoreComponents(variant) {\r\n _registerComponent(new Component('platform-logger', container => new PlatformLoggerServiceImpl(container), \"PRIVATE\" /* ComponentType.PRIVATE */));\r\n _registerComponent(new Component('heartbeat', container => new HeartbeatServiceImpl(container), \"PRIVATE\" /* ComponentType.PRIVATE */));\r\n // Register `app` package.\r\n registerVersion(name$p, version$1, variant);\r\n // BUILD_TARGET will be replaced by values like esm5, esm2017, cjs5, etc during the compilation\r\n registerVersion(name$p, version$1, 'esm2017');\r\n // Register platform SDK identifier (no version).\r\n registerVersion('fire-js', '');\r\n}\n\n/**\r\n * Firebase App\r\n *\r\n * @remarks This package coordinates the communication between the different Firebase components\r\n * @packageDocumentation\r\n */\r\nregisterCoreComponents('');\n\nexport { SDK_VERSION, DEFAULT_ENTRY_NAME as _DEFAULT_ENTRY_NAME, _addComponent, _addOrOverwriteComponent, _apps, _clearComponents, _components, _getProvider, _isFirebaseApp, _isFirebaseServerApp, _registerComponent, _removeServiceInstance, _serverApps, deleteApp, getApp, getApps, initializeApp, initializeServerApp, onLog, registerVersion, setLogLevel };\n//# sourceMappingURL=index.esm2017.js.map\n","import { registerVersion } from '@firebase/app';\nexport * from '@firebase/app';\n\nvar name = \"firebase\";\nvar version = \"10.13.2\";\n\n/**\r\n * @license\r\n * Copyright 2020 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\nregisterVersion(name, version, 'app');\n//# sourceMappingURL=index.esm.js.map\n"],"names":["stringToByteArray$1","str","out","p","i","c","byteArrayToString","bytes","pos","c1","c2","c3","c4","u","base64","input","webSafe","byteToCharMap","output","byte1","haveByte2","byte2","haveByte3","byte3","outByte1","outByte2","outByte3","outByte4","charToByteMap","byte4","DecodeBase64StringError","base64Encode","utf8Bytes","base64urlEncodeWithoutPadding","base64Decode","getGlobal","getDefaultsFromGlobal","getDefaultsFromEnvVariable","define_process_env_default","defaultsJsonString","getDefaultsFromCookie","match","decoded","getDefaults","e","getDefaultAppConfig","_a","Deferred","resolve","reject","callback","error","value","isIndexedDBAvailable","validateIndexedDBOpenable","preExist","DB_CHECK_NAME","request","ERROR_NAME","FirebaseError","code","message","customData","ErrorFactory","service","serviceName","errors","data","fullCode","template","replaceTemplate","fullMessage","PATTERN","_","key","deepEqual","a","b","aKeys","bKeys","k","aProp","bProp","isObject","thing","Component","name","instanceFactory","type","mode","multipleInstances","props","DEFAULT_ENTRY_NAME","Provider","container","identifier","normalizedIdentifier","deferred","instance","options","optional","component","isComponentEager","instanceIdentifier","instanceDeferred","services","opts","normalizedDeferredIdentifier","existingCallbacks","existingInstance","callbacks","normalizeIdentifierForFactory","ComponentContainer","provider","LogLevel","levelStringToEnum","defaultLogLevel","ConsoleMethod","defaultLogHandler","logType","args","now","method","Logger","val","instanceOfAny","object","constructors","idbProxyableTypes","cursorAdvanceMethods","getIdbProxyableTypes","getCursorAdvanceMethods","cursorRequestMap","transactionDoneMap","transactionStoreNamesMap","transformCache","reverseTransformCache","promisifyRequest","promise","unlisten","success","wrap","cacheDonePromiseForTransaction","tx","done","complete","idbProxyTraps","target","prop","receiver","replaceTraps","wrapFunction","func","storeNames","unwrap","transformCachableValue","newValue","openDB","version","blocked","upgrade","blocking","terminated","openPromise","event","db","readMethods","writeMethods","cachedMethods","getMethod","targetFuncName","useIndex","isWrite","storeName","oldTraps","PlatformLoggerServiceImpl","isVersionServiceProvider","logString","name$p","version$1","logger","name$o","name$n","name$m","name$l","name$k","name$j","name$i","name$h","name$g","name$f","name$e","name$d","name$c","name$b","name$a","name$9","name$8","name$7","name$6","name$5","name$4","name$3","name$2","name$1","PLATFORM_LOG_STRING","_apps","_serverApps","_components","_addComponent","app","_registerComponent","componentName","serverApp","ERRORS","ERROR_FACTORY","FirebaseAppImpl","config","initializeApp","_options","rawConfig","existingApp","newApp","registerVersion","libraryKeyOrName","variant","library","libraryMismatch","versionMismatch","warning","DB_NAME","DB_VERSION","STORE_NAME","dbPromise","getDbPromise","oldVersion","readHeartbeatsFromIndexedDB","result","computeKey","idbGetError","writeHeartbeatsToIndexedDB","heartbeatObject","MAX_HEADER_BYTES","STORED_HEARTBEAT_RETENTION_MAX_MILLIS","HeartbeatServiceImpl","HeartbeatStorageImpl","_b","agent","date","getUTCDateString","singleDateHeartbeat","hbTimestamp","heartbeatsToSend","unsentEntries","extractHeartbeatsForHeader","headerString","heartbeatsCache","maxSize","heartbeatEntry","hb","countBytes","idbHeartbeatObject","heartbeatsObject","existingHeartbeatsObject","registerCoreComponents"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,5,6]} \ No newline at end of file diff --git a/Target/chunks/astro/server_BZlw6gl8.mjs.map b/Target/chunks/astro/server_BZlw6gl8.mjs.map new file mode 100644 index 00000000..f49b40c4 --- /dev/null +++ b/Target/chunks/astro/server_BZlw6gl8.mjs.map @@ -0,0 +1 @@ +{"version":3,"file":"server_BZlw6gl8.mjs","sources":["../../../../../../../node_modules/astro/dist/core/errors/errors-data.js","../../../../../../../node_modules/astro/dist/core/errors/utils.js","../../../../../../../node_modules/astro/dist/core/errors/printer.js","../../../../../../../node_modules/astro/dist/core/errors/errors.js","../../../../../../../node_modules/astro/dist/runtime/server/astro-component.js","../../../../../../../node_modules/astro/dist/core/constants.js","../../../../../../../node_modules/astro/dist/runtime/server/astro-global.js","../../../../../../../node_modules/astro/dist/runtime/server/util.js","../../../../../../../node_modules/astro/dist/runtime/server/escape.js","../../../../../../../node_modules/astro/dist/runtime/server/render/instruction.js","../../../../../../../node_modules/astro/dist/runtime/server/serialize.js","../../../../../../../node_modules/astro/dist/runtime/server/hydration.js","../../../../../../../node_modules/astro/dist/runtime/server/shorthash.js","../../../../../../../node_modules/astro/dist/runtime/server/render/astro/factory.js","../../../../../../../node_modules/astro/dist/runtime/server/render/astro/head-and-content.js","../../../../../../../node_modules/astro/dist/runtime/server/astro-island.prebuilt-dev.js","../../../../../../../node_modules/astro/dist/runtime/server/astro-island.prebuilt.js","../../../../../../../node_modules/astro/dist/runtime/server/scripts.js","../../../../../../../node_modules/astro/dist/runtime/server/render/util.js","../../../../../../../node_modules/astro/dist/runtime/server/render/head.js","../../../../../../../node_modules/astro/dist/runtime/server/render/astro/render-template.js","../../../../../../../node_modules/astro/dist/runtime/server/render/slot.js","../../../../../../../node_modules/astro/dist/runtime/server/render/common.js","../../../../../../../node_modules/astro/dist/runtime/server/render/any.js","../../../../../../../node_modules/astro/dist/runtime/server/render/astro/instance.js","../../../../../../../node_modules/astro/dist/runtime/server/render/dom.js","../../../../../../../node_modules/astro/dist/core/encryption.js","../../../../../../../node_modules/astro/dist/runtime/server/render/server-islands.js","../../../../../../../node_modules/astro/dist/runtime/server/render/component.js","../../../../../../../node_modules/astro/dist/runtime/server/render/script.js","../../../../../../../node_modules/astro/dist/runtime/server/transition.js","../../../../../../../node_modules/astro/dist/runtime/server/index.js"],"sourcesContent":["const UnknownCompilerError = {\n name: \"UnknownCompilerError\",\n title: \"Unknown compiler error.\",\n hint: \"This is almost always a problem with the Astro compiler, not your code. Please open an issue at https://astro.build/issues/compiler.\"\n};\nconst ClientAddressNotAvailable = {\n name: \"ClientAddressNotAvailable\",\n title: \"`Astro.clientAddress` is not available in current adapter.\",\n message: (adapterName) => `\\`Astro.clientAddress\\` is not available in the \\`${adapterName}\\` adapter. File an issue with the adapter to add support.`\n};\nconst PrerenderClientAddressNotAvailable = {\n name: \"PrerenderClientAddressNotAvailable\",\n title: \"`Astro.clientAddress` cannot be used inside prerendered routes.\",\n message: `\\`Astro.clientAddress\\` cannot be used inside prerendered routes`\n};\nconst StaticClientAddressNotAvailable = {\n name: \"StaticClientAddressNotAvailable\",\n title: \"`Astro.clientAddress` is not available in static mode.\",\n message: \"`Astro.clientAddress` is only available when using `output: 'server'` or `output: 'hybrid'`. Update your Astro config if you need SSR features.\",\n hint: \"See https://docs.astro.build/en/guides/server-side-rendering/ for more information on how to enable SSR.\"\n};\nconst NoMatchingStaticPathFound = {\n name: \"NoMatchingStaticPathFound\",\n title: \"No static path found for requested path.\",\n message: (pathName) => `A \\`getStaticPaths()\\` route pattern was matched, but no matching static path was found for requested path \\`${pathName}\\`.`,\n hint: (possibleRoutes) => `Possible dynamic routes being matched: ${possibleRoutes.join(\", \")}.`\n};\nconst OnlyResponseCanBeReturned = {\n name: \"OnlyResponseCanBeReturned\",\n title: \"Invalid type returned by Astro page.\",\n message: (route, returnedValue) => `Route \\`${route ? route : \"\"}\\` returned a \\`${returnedValue}\\`. Only a [Response](https://developer.mozilla.org/en-US/docs/Web/API/Response) can be returned from Astro files.`,\n hint: \"See https://docs.astro.build/en/guides/server-side-rendering/#response for more information.\"\n};\nconst MissingMediaQueryDirective = {\n name: \"MissingMediaQueryDirective\",\n title: \"Missing value for `client:media` directive.\",\n message: 'Media query not provided for `client:media` directive. A media query similar to `client:media=\"(max-width: 600px)\"` must be provided'\n};\nconst NoMatchingRenderer = {\n name: \"NoMatchingRenderer\",\n title: \"No matching renderer found.\",\n message: (componentName, componentExtension, plural, validRenderersCount) => `Unable to render \\`${componentName}\\`.\n\n${validRenderersCount > 0 ? `There ${plural ? \"are\" : \"is\"} ${validRenderersCount} renderer${plural ? \"s\" : \"\"} configured in your \\`astro.config.mjs\\` file,\nbut ${plural ? \"none were\" : \"it was not\"} able to server-side render \\`${componentName}\\`.` : `No valid renderer was found ${componentExtension ? `for the \\`.${componentExtension}\\` file extension.` : `for this file extension.`}`}`,\n hint: (probableRenderers) => `Did you mean to enable the ${probableRenderers} integration?\n\nSee https://docs.astro.build/en/guides/framework-components/ for more information on how to install and configure integrations.`\n};\nconst NoClientEntrypoint = {\n name: \"NoClientEntrypoint\",\n title: \"No client entrypoint specified in renderer.\",\n message: (componentName, clientDirective, rendererName) => `\\`${componentName}\\` component has a \\`client:${clientDirective}\\` directive, but no client entrypoint was provided by \\`${rendererName}\\`.`,\n hint: \"See https://docs.astro.build/en/reference/integrations-reference/#addrenderer-option for more information on how to configure your renderer.\"\n};\nconst NoClientOnlyHint = {\n name: \"NoClientOnlyHint\",\n title: \"Missing hint on client:only directive.\",\n message: (componentName) => `Unable to render \\`${componentName}\\`. When using the \\`client:only\\` hydration strategy, Astro needs a hint to use the correct renderer.`,\n hint: (probableRenderers) => `Did you mean to pass \\`client:only=\"${probableRenderers}\"\\`? See https://docs.astro.build/en/reference/directives-reference/#clientonly for more information on client:only`\n};\nconst InvalidGetStaticPathParam = {\n name: \"InvalidGetStaticPathParam\",\n title: \"Invalid value returned by a `getStaticPaths` path.\",\n message: (paramType) => `Invalid params given to \\`getStaticPaths\\` path. Expected an \\`object\\`, got \\`${paramType}\\``,\n hint: \"See https://docs.astro.build/en/reference/api-reference/#getstaticpaths for more information on getStaticPaths.\"\n};\nconst InvalidGetStaticPathsEntry = {\n name: \"InvalidGetStaticPathsEntry\",\n title: \"Invalid entry inside getStaticPath's return value\",\n message: (entryType) => `Invalid entry returned by getStaticPaths. Expected an object, got \\`${entryType}\\``,\n hint: \"If you're using a `.map` call, you might be looking for `.flatMap()` instead. See https://docs.astro.build/en/reference/api-reference/#getstaticpaths for more information on getStaticPaths.\"\n};\nconst InvalidGetStaticPathsReturn = {\n name: \"InvalidGetStaticPathsReturn\",\n title: \"Invalid value returned by getStaticPaths.\",\n message: (returnType) => `Invalid type returned by \\`getStaticPaths\\`. Expected an \\`array\\`, got \\`${returnType}\\``,\n hint: \"See https://docs.astro.build/en/reference/api-reference/#getstaticpaths for more information on getStaticPaths.\"\n};\nconst GetStaticPathsExpectedParams = {\n name: \"GetStaticPathsExpectedParams\",\n title: \"Missing params property on `getStaticPaths` route.\",\n message: \"Missing or empty required `params` property on `getStaticPaths` route.\",\n hint: \"See https://docs.astro.build/en/reference/api-reference/#getstaticpaths for more information on getStaticPaths.\"\n};\nconst GetStaticPathsInvalidRouteParam = {\n name: \"GetStaticPathsInvalidRouteParam\",\n title: \"Invalid value for `getStaticPaths` route parameter.\",\n message: (key, value, valueType) => `Invalid getStaticPaths route parameter for \\`${key}\\`. Expected undefined, a string or a number, received \\`${valueType}\\` (\\`${value}\\`)`,\n hint: \"See https://docs.astro.build/en/reference/api-reference/#getstaticpaths for more information on getStaticPaths.\"\n};\nconst GetStaticPathsRequired = {\n name: \"GetStaticPathsRequired\",\n title: \"`getStaticPaths()` function required for dynamic routes.\",\n message: \"`getStaticPaths()` function is required for dynamic routes. Make sure that you `export` a `getStaticPaths` function from your dynamic route.\",\n hint: `See https://docs.astro.build/en/guides/routing/#dynamic-routes for more information on dynamic routes.\n\nAlternatively, set \\`output: \"server\"\\` or \\`output: \"hybrid\"\\` in your Astro config file to switch to a non-static server build. This error can also occur if using \\`export const prerender = true;\\`.\nSee https://docs.astro.build/en/guides/server-side-rendering/ for more information on non-static rendering.`\n};\nconst ReservedSlotName = {\n name: \"ReservedSlotName\",\n title: \"Invalid slot name.\",\n message: (slotName) => `Unable to create a slot named \\`${slotName}\\`. \\`${slotName}\\` is a reserved slot name. Please update the name of this slot.`\n};\nconst NoAdapterInstalled = {\n name: \"NoAdapterInstalled\",\n title: \"Cannot use Server-side Rendering without an adapter.\",\n message: `Cannot use \\`output: 'server'\\` or \\`output: 'hybrid'\\` without an adapter. Please install and configure the appropriate server adapter for your final deployment.`,\n hint: \"See https://docs.astro.build/en/guides/server-side-rendering/ for more information.\"\n};\nconst NoMatchingImport = {\n name: \"NoMatchingImport\",\n title: \"No import found for component.\",\n message: (componentName) => `Could not render \\`${componentName}\\`. No matching import has been found for \\`${componentName}\\`.`,\n hint: \"Please make sure the component is properly imported.\"\n};\nconst InvalidPrerenderExport = {\n name: \"InvalidPrerenderExport\",\n title: \"Invalid prerender export.\",\n message(prefix, suffix, isHydridOutput) {\n const defaultExpectedValue = isHydridOutput ? \"false\" : \"true\";\n let msg = `A \\`prerender\\` export has been detected, but its value cannot be statically analyzed.`;\n if (prefix !== \"const\") msg += `\nExpected \\`const\\` declaration but got \\`${prefix}\\`.`;\n if (suffix !== \"true\")\n msg += `\nExpected \\`${defaultExpectedValue}\\` value but got \\`${suffix}\\`.`;\n return msg;\n },\n hint: \"Mutable values declared at runtime are not supported. Please make sure to use exactly `export const prerender = true`.\"\n};\nconst InvalidComponentArgs = {\n name: \"InvalidComponentArgs\",\n title: \"Invalid component arguments.\",\n message: (name) => `Invalid arguments passed to${name ? ` <${name}>` : \"\"} component.`,\n hint: \"Astro components cannot be rendered directly via function call, such as `Component()` or `{items.map(Component)}`.\"\n};\nconst PageNumberParamNotFound = {\n name: \"PageNumberParamNotFound\",\n title: \"Page number param not found.\",\n message: (paramName) => `[paginate()] page number param \\`${paramName}\\` not found in your filepath.`,\n hint: \"Rename your file to `[page].astro` or `[...page].astro`.\"\n};\nconst ImageMissingAlt = {\n name: \"ImageMissingAlt\",\n title: 'Image missing required \"alt\" property.',\n message: 'Image missing \"alt\" property. \"alt\" text is required to describe important images on the page.',\n hint: 'Use an empty string (\"\") for decorative images.'\n};\nconst InvalidImageService = {\n name: \"InvalidImageService\",\n title: \"Error while loading image service.\",\n message: \"There was an error loading the configured image service. Please see the stack trace for more information.\"\n};\nconst MissingImageDimension = {\n name: \"MissingImageDimension\",\n title: \"Missing image dimensions\",\n message: (missingDimension, imageURL) => `Missing ${missingDimension === \"both\" ? \"width and height attributes\" : `${missingDimension} attribute`} for ${imageURL}. When using remote images, both dimensions are required in order to avoid CLS.`,\n hint: \"If your image is inside your `src` folder, you probably meant to import it instead. See [the Imports guide for more information](https://docs.astro.build/en/guides/imports/#other-assets). You can also use `inferSize={true}` for remote images to get the original dimensions.\"\n};\nconst FailedToFetchRemoteImageDimensions = {\n name: \"FailedToFetchRemoteImageDimensions\",\n title: \"Failed to retrieve remote image dimensions\",\n message: (imageURL) => `Failed to get the dimensions for ${imageURL}.`,\n hint: \"Verify your remote image URL is accurate, and that you are not using `inferSize` with a file located in your `public/` folder.\"\n};\nconst UnsupportedImageFormat = {\n name: \"UnsupportedImageFormat\",\n title: \"Unsupported image format\",\n message: (format, imagePath, supportedFormats) => `Received unsupported format \\`${format}\\` from \\`${imagePath}\\`. Currently only ${supportedFormats.join(\n \", \"\n )} are supported by our image services.`,\n hint: \"Using an `img` tag directly instead of the `Image` component might be what you're looking for.\"\n};\nconst UnsupportedImageConversion = {\n name: \"UnsupportedImageConversion\",\n title: \"Unsupported image conversion\",\n message: \"Converting between vector (such as SVGs) and raster (such as PNGs and JPEGs) images is not currently supported.\"\n};\nconst PrerenderDynamicEndpointPathCollide = {\n name: \"PrerenderDynamicEndpointPathCollide\",\n title: \"Prerendered dynamic endpoint has path collision.\",\n message: (pathname) => `Could not render \\`${pathname}\\` with an \\`undefined\\` param as the generated path will collide during prerendering. Prevent passing \\`undefined\\` as \\`params\\` for the endpoint's \\`getStaticPaths()\\` function, or add an additional extension to the endpoint's filename.`,\n hint: (filename) => `Rename \\`${filename}\\` to \\`${filename.replace(/\\.(?:js|ts)/, (m) => `.json` + m)}\\``\n};\nconst ExpectedImage = {\n name: \"ExpectedImage\",\n title: \"Expected src to be an image.\",\n message: (src, typeofOptions, fullOptions) => `Expected \\`src\\` property for \\`getImage\\` or \\`\\` to be either an ESM imported image or a string with the path of a remote image. Received \\`${src}\\` (type: \\`${typeofOptions}\\`).\n\nFull serialized options received: \\`${fullOptions}\\`.`,\n hint: \"This error can often happen because of a wrong path. Make sure the path to your image is correct. If you're passing an async function, make sure to call and await it.\"\n};\nconst ExpectedImageOptions = {\n name: \"ExpectedImageOptions\",\n title: \"Expected image options.\",\n message: (options) => `Expected getImage() parameter to be an object. Received \\`${options}\\`.`\n};\nconst ExpectedNotESMImage = {\n name: \"ExpectedNotESMImage\",\n title: \"Expected image options, not an ESM-imported image.\",\n message: \"An ESM-imported image cannot be passed directly to `getImage()`. Instead, pass an object with the image in the `src` property.\",\n hint: \"Try changing `getImage(myImage)` to `getImage({ src: myImage })`\"\n};\nconst IncompatibleDescriptorOptions = {\n name: \"IncompatibleDescriptorOptions\",\n title: \"Cannot set both `densities` and `widths`\",\n message: \"Only one of `densities` or `widths` can be specified. In most cases, you'll probably want to use only `widths` if you require specific widths.\",\n hint: \"Those attributes are used to construct a `srcset` attribute, which cannot have both `x` and `w` descriptors.\"\n};\nconst ImageNotFound = {\n name: \"ImageNotFound\",\n title: \"Image not found.\",\n message: (imagePath) => `Could not find requested image \\`${imagePath}\\`. Does it exist?`,\n hint: \"This is often caused by a typo in the image path. Please make sure the file exists, and is spelled correctly.\"\n};\nconst NoImageMetadata = {\n name: \"NoImageMetadata\",\n title: \"Could not process image metadata.\",\n message: (imagePath) => `Could not process image metadata${imagePath ? ` for \\`${imagePath}\\`` : \"\"}.`,\n hint: \"This is often caused by a corrupted or malformed image. Re-exporting the image from your image editor may fix this issue.\"\n};\nconst CouldNotTransformImage = {\n name: \"CouldNotTransformImage\",\n title: \"Could not transform image.\",\n message: (imagePath) => `Could not transform image \\`${imagePath}\\`. See the stack trace for more information.`,\n hint: \"This is often caused by a corrupted or malformed image. Re-exporting the image from your image editor may fix this issue.\"\n};\nconst ResponseSentError = {\n name: \"ResponseSentError\",\n title: \"Unable to set response.\",\n message: \"The response has already been sent to the browser and cannot be altered.\"\n};\nconst MiddlewareNoDataOrNextCalled = {\n name: \"MiddlewareNoDataOrNextCalled\",\n title: \"The middleware didn't return a `Response`.\",\n message: \"Make sure your middleware returns a `Response` object, either directly or by returning the `Response` from calling the `next` function.\"\n};\nconst MiddlewareNotAResponse = {\n name: \"MiddlewareNotAResponse\",\n title: \"The middleware returned something that is not a `Response` object.\",\n message: \"Any data returned from middleware must be a valid `Response` object.\"\n};\nconst EndpointDidNotReturnAResponse = {\n name: \"EndpointDidNotReturnAResponse\",\n title: \"The endpoint did not return a `Response`.\",\n message: \"An endpoint must return either a `Response`, or a `Promise` that resolves with a `Response`.\"\n};\nconst LocalsNotAnObject = {\n name: \"LocalsNotAnObject\",\n title: \"Value assigned to `locals` is not accepted.\",\n message: \"`locals` can only be assigned to an object. Other values like numbers, strings, etc. are not accepted.\",\n hint: \"If you tried to remove some information from the `locals` object, try to use `delete` or set the property to `undefined`.\"\n};\nconst AstroResponseHeadersReassigned = {\n name: \"AstroResponseHeadersReassigned\",\n title: \"`Astro.response.headers` must not be reassigned.\",\n message: \"Individual headers can be added to and removed from `Astro.response.headers`, but it must not be replaced with another instance of `Headers` altogether.\",\n hint: \"Consider using `Astro.response.headers.add()`, and `Astro.response.headers.delete()`.\"\n};\nconst MiddlewareCantBeLoaded = {\n name: \"MiddlewareCantBeLoaded\",\n title: \"Can't load the middleware.\",\n message: \"An unknown error was thrown while loading your middleware.\"\n};\nconst LocalImageUsedWrongly = {\n name: \"LocalImageUsedWrongly\",\n title: \"Local images must be imported.\",\n message: (imageFilePath) => `\\`Image\\`'s and \\`getImage\\`'s \\`src\\` parameter must be an imported image or an URL, it cannot be a string filepath. Received \\`${imageFilePath}\\`.`,\n hint: \"If you want to use an image from your `src` folder, you need to either import it or if the image is coming from a content collection, use the [image() schema helper](https://docs.astro.build/en/guides/images/#images-in-content-collections). See https://docs.astro.build/en/guides/images/#src-required for more information on the `src` property.\"\n};\nconst AstroGlobUsedOutside = {\n name: \"AstroGlobUsedOutside\",\n title: \"Astro.glob() used outside of an Astro file.\",\n message: (globStr) => `\\`Astro.glob(${globStr})\\` can only be used in \\`.astro\\` files. \\`import.meta.glob(${globStr})\\` can be used instead to achieve a similar result.`,\n hint: \"See Vite's documentation on `import.meta.glob` for more information: https://vitejs.dev/guide/features.html#glob-import\"\n};\nconst AstroGlobNoMatch = {\n name: \"AstroGlobNoMatch\",\n title: \"Astro.glob() did not match any files.\",\n message: (globStr) => `\\`Astro.glob(${globStr})\\` did not return any matching files.`,\n hint: \"Check the pattern for typos.\"\n};\nconst RedirectWithNoLocation = {\n name: \"RedirectWithNoLocation\",\n title: \"A redirect must be given a location with the `Location` header.\"\n};\nconst InvalidDynamicRoute = {\n name: \"InvalidDynamicRoute\",\n title: \"Invalid dynamic route.\",\n message: (route, invalidParam, received) => `The ${invalidParam} param for route ${route} is invalid. Received **${received}**.`\n};\nconst MissingSharp = {\n name: \"MissingSharp\",\n title: \"Could not find Sharp.\",\n message: \"Could not find Sharp. Please install Sharp (`sharp`) manually into your project or migrate to another image service.\",\n hint: \"See Sharp's installation instructions for more information: https://sharp.pixelplumbing.com/install. If you are not relying on `astro:assets` to optimize, transform, or process any images, you can configure a passthrough image service instead of installing Sharp. See https://docs.astro.build/en/reference/errors/missing-sharp for more information.\\n\\nSee https://docs.astro.build/en/guides/images/#default-image-service for more information on how to migrate to another image service.\"\n};\nconst UnknownViteError = {\n name: \"UnknownViteError\",\n title: \"Unknown Vite Error.\"\n};\nconst FailedToLoadModuleSSR = {\n name: \"FailedToLoadModuleSSR\",\n title: \"Could not import file.\",\n message: (importName) => `Could not import \\`${importName}\\`.`,\n hint: \"This is often caused by a typo in the import path. Please make sure the file exists.\"\n};\nconst InvalidGlob = {\n name: \"InvalidGlob\",\n title: \"Invalid glob pattern.\",\n message: (globPattern) => `Invalid glob pattern: \\`${globPattern}\\`. Glob patterns must start with './', '../' or '/'.`,\n hint: \"See https://docs.astro.build/en/guides/imports/#glob-patterns for more information on supported glob patterns.\"\n};\nconst FailedToFindPageMapSSR = {\n name: \"FailedToFindPageMapSSR\",\n title: \"Astro couldn't find the correct page to render\",\n message: \"Astro couldn't find the correct page to render, probably because it wasn't correctly mapped for SSR usage. This is an internal error. Please file an issue.\"\n};\nconst MissingLocale = {\n name: \"MissingLocaleError\",\n title: \"The provided locale does not exist.\",\n message: (locale) => `The locale/path \\`${locale}\\` does not exist in the configured \\`i18n.locales\\`.`\n};\nconst MissingIndexForInternationalization = {\n name: \"MissingIndexForInternationalizationError\",\n title: \"Index page not found.\",\n message: (defaultLocale) => `Could not find index page. A root index page is required in order to create a redirect to the index URL of the default locale. (\\`/${defaultLocale}\\`)`,\n hint: (src) => `Create an index page (\\`index.astro, index.md, etc.\\`) in \\`${src}\\`.`\n};\nconst IncorrectStrategyForI18n = {\n name: \"IncorrectStrategyForI18n\",\n title: \"You can't use the current function with the current strategy\",\n message: (functionName) => `The function \\`${functionName}\\` can only be used when the \\`i18n.routing.strategy\\` is set to \\`\"manual\"\\`.`\n};\nconst NoPrerenderedRoutesWithDomains = {\n name: \"NoPrerenderedRoutesWithDomains\",\n title: \"Prerendered routes aren't supported when internationalization domains are enabled.\",\n message: (component) => `Static pages aren't yet supported with multiple domains. To enable this feature, you must disable prerendering for the page ${component}`\n};\nconst MissingMiddlewareForInternationalization = {\n name: \"MissingMiddlewareForInternationalization\",\n title: \"Enabled manual internationalization routing without having a middleware.\",\n message: \"Your configuration setting `i18n.routing: 'manual'` requires you to provide your own i18n `middleware` file.\"\n};\nconst CantRenderPage = {\n name: \"CantRenderPage\",\n title: \"Astro can't render the route.\",\n message: \"Astro cannot find any content to render for this route. There is no file or redirect associated with this route.\",\n hint: \"If you expect to find a route here, this may be an Astro bug. Please file an issue/restart the dev server\"\n};\nconst UnhandledRejection = {\n name: \"UnhandledRejection\",\n title: \"Unhandled rejection\",\n message: (stack) => `Astro detected an unhandled rejection. Here's the stack trace:\n${stack}`,\n hint: \"Make sure your promises all have an `await` or a `.catch()` handler.\"\n};\nconst i18nNotEnabled = {\n name: \"i18nNotEnabled\",\n title: \"i18n Not Enabled\",\n message: \"The `astro:i18n` module can not be used without enabling i18n in your Astro config.\",\n hint: \"See https://docs.astro.build/en/guides/internationalization for a guide on setting up i18n.\"\n};\nconst i18nNoLocaleFoundInPath = {\n name: \"i18nNoLocaleFoundInPath\",\n title: \"The path doesn't contain any locale\",\n message: \"You tried to use an i18n utility on a path that doesn't contain any locale. You can use `pathHasLocale` first to determine if the path has a locale.\"\n};\nconst RouteNotFound = {\n name: \"RouteNotFound\",\n title: \"Route not found.\",\n message: `Astro could not find a route that matches the one you requested.`\n};\nconst EnvInvalidVariables = {\n name: \"EnvInvalidVariables\",\n title: \"Invalid Environment Variables\",\n message: (errors) => `The following environment variables defined in \\`experimental.env.schema\\` are invalid:\n\n${errors.map((err) => `- ${err}`).join(\"\\n\")}\n`\n};\nconst EnvUnsupportedGetSecret = {\n name: \"EnvUnsupportedGetSecret\",\n title: \"Unsupported astro:env getSecret\",\n message: \"`astro:env/server` exported function `getSecret` is not supported by your adapter.\"\n};\nconst ServerOnlyModule = {\n name: \"ServerOnlyModule\",\n title: \"Module is only available server-side\",\n message: (name) => `The \"${name}\" module is only available server-side.`\n};\nconst RewriteWithBodyUsed = {\n name: \"RewriteWithBodyUsed\",\n title: \"Cannot use Astro.rewrite after the request body has been read\",\n message: \"Astro.rewrite() cannot be used if the request body has already been read. If you need to read the body, first clone the request.\"\n};\nconst UnknownFilesystemError = {\n name: \"UnknownFilesystemError\",\n title: \"An unknown error occurred while reading or writing files to disk.\",\n hint: \"It can be caused by many things, eg. missing permissions or a file not existing we attempt to read. Check the error cause for more details.\"\n};\nconst UnknownCSSError = {\n name: \"UnknownCSSError\",\n title: \"Unknown CSS Error.\"\n};\nconst CSSSyntaxError = {\n name: \"CSSSyntaxError\",\n title: \"CSS Syntax Error.\"\n};\nconst UnknownMarkdownError = {\n name: \"UnknownMarkdownError\",\n title: \"Unknown Markdown Error.\"\n};\nconst MarkdownFrontmatterParseError = {\n name: \"MarkdownFrontmatterParseError\",\n title: \"Failed to parse Markdown frontmatter.\"\n};\nconst InvalidFrontmatterInjectionError = {\n name: \"InvalidFrontmatterInjectionError\",\n title: \"Invalid frontmatter injection.\",\n message: 'A remark or rehype plugin attempted to inject invalid frontmatter. Ensure \"astro.frontmatter\" is set to a valid JSON object that is not `null` or `undefined`.',\n hint: \"See the frontmatter injection docs https://docs.astro.build/en/guides/markdown-content/#modifying-frontmatter-programmatically for more information.\"\n};\nconst MdxIntegrationMissingError = {\n name: \"MdxIntegrationMissingError\",\n title: \"MDX integration missing.\",\n message: (file) => `Unable to render ${file}. Ensure that the \\`@astrojs/mdx\\` integration is installed.`,\n hint: \"See the MDX integration docs for installation and usage instructions: https://docs.astro.build/en/guides/integrations-guide/mdx/\"\n};\nconst UnknownConfigError = {\n name: \"UnknownConfigError\",\n title: \"Unknown configuration error.\"\n};\nconst ConfigNotFound = {\n name: \"ConfigNotFound\",\n title: \"Specified configuration file not found.\",\n message: (configFile) => `Unable to resolve \\`--config \"${configFile}\"\\`. Does the file exist?`\n};\nconst ConfigLegacyKey = {\n name: \"ConfigLegacyKey\",\n title: \"Legacy configuration detected.\",\n message: (legacyConfigKey) => `Legacy configuration detected: \\`${legacyConfigKey}\\`.`,\n hint: \"Please update your configuration to the new format.\\nSee https://astro.build/config for more information.\"\n};\nconst UnknownCLIError = {\n name: \"UnknownCLIError\",\n title: \"Unknown CLI Error.\"\n};\nconst GenerateContentTypesError = {\n name: \"GenerateContentTypesError\",\n title: \"Failed to generate content types.\",\n message: (errorMessage) => `\\`astro sync\\` command failed to generate content collection types: ${errorMessage}`,\n hint: \"Check your `src/content/config.*` file for typos.\"\n};\nconst UnknownContentCollectionError = {\n name: \"UnknownContentCollectionError\",\n title: \"Unknown Content Collection Error.\"\n};\nconst GetEntryDeprecationError = {\n name: \"GetEntryDeprecationError\",\n title: \"Invalid use of `getDataEntryById` or `getEntryBySlug` function.\",\n message: (collection, method) => `The \\`${method}\\` function is deprecated and cannot be used to query the \"${collection}\" collection. Use \\`getEntry\\` instead.`,\n hint: \"Use the `getEntry` or `getCollection` functions to query content layer collections.\"\n};\nconst InvalidContentEntryFrontmatterError = {\n name: \"InvalidContentEntryFrontmatterError\",\n title: \"Content entry frontmatter does not match schema.\",\n message(collection, entryId, error) {\n return [\n `**${String(collection)} \\u2192 ${String(\n entryId\n )}** frontmatter does not match collection schema.`,\n ...error.errors.map((zodError) => zodError.message)\n ].join(\"\\n\");\n },\n hint: \"See https://docs.astro.build/en/guides/content-collections/ for more information on content schemas.\"\n};\nconst InvalidContentEntrySlugError = {\n name: \"InvalidContentEntrySlugError\",\n title: \"Invalid content entry slug.\",\n message(collection, entryId) {\n return `${String(collection)} \\u2192 ${String(\n entryId\n )} has an invalid slug. \\`slug\\` must be a string.`;\n },\n hint: \"See https://docs.astro.build/en/guides/content-collections/ for more on the `slug` field.\"\n};\nconst ContentSchemaContainsSlugError = {\n name: \"ContentSchemaContainsSlugError\",\n title: \"Content Schema should not contain `slug`.\",\n message: (collectionName) => `A content collection schema should not contain \\`slug\\` since it is reserved for slug generation. Remove this from your ${collectionName} collection schema.`,\n hint: \"See https://docs.astro.build/en/guides/content-collections/ for more on the `slug` field.\"\n};\nconst MixedContentDataCollectionError = {\n name: \"MixedContentDataCollectionError\",\n title: \"Content and data cannot be in same collection.\",\n message: (collectionName) => `**${collectionName}** contains a mix of content and data entries. All entries must be of the same type.`,\n hint: \"Store data entries in a new collection separate from your content collection.\"\n};\nconst ContentCollectionTypeMismatchError = {\n name: \"ContentCollectionTypeMismatchError\",\n title: \"Collection contains entries of a different type.\",\n message: (collection, expectedType, actualType) => `${collection} contains ${expectedType} entries, but is configured as a ${actualType} collection.`\n};\nconst DataCollectionEntryParseError = {\n name: \"DataCollectionEntryParseError\",\n title: \"Data collection entry failed to parse.\",\n message(entryId, errorMessage) {\n return `**${entryId}** failed to parse: ${errorMessage}`;\n },\n hint: \"Ensure your data entry is an object with valid JSON (for `.json` entries) or YAML (for `.yaml` entries).\"\n};\nconst DuplicateContentEntrySlugError = {\n name: \"DuplicateContentEntrySlugError\",\n title: \"Duplicate content entry slug.\",\n message(collection, slug, preExisting, alsoFound) {\n return `**${collection}** contains multiple entries with the same slug: \\`${slug}\\`. Slugs must be unique.\n\nEntries: \n- ${preExisting}\n- ${alsoFound}`;\n }\n};\nconst UnsupportedConfigTransformError = {\n name: \"UnsupportedConfigTransformError\",\n title: \"Unsupported transform in content config.\",\n message: (parseError) => `\\`transform()\\` functions in your content config must return valid JSON, or data types compatible with the devalue library (including Dates, Maps, and Sets).\nFull error: ${parseError}`,\n hint: \"See the devalue library for all supported types: https://github.com/rich-harris/devalue\"\n};\nconst ActionsWithoutServerOutputError = {\n name: \"ActionsWithoutServerOutputError\",\n title: \"Actions must be used with server output.\",\n message: \"Actions enabled without setting a server build output. A server is required to create callable backend functions. To deploy routes to a server, add a server adapter to your astro config.\",\n hint: \"Learn about on-demand rendering: https://docs.astro.build/en/basics/rendering-modes/#on-demand-rendered\"\n};\nconst ActionsReturnedInvalidDataError = {\n name: \"ActionsReturnedInvalidDataError\",\n title: \"Action handler returned invalid data.\",\n message: (error) => `Action handler returned invalid data. Handlers should return serializable data types like objects, arrays, strings, and numbers. Parse error: ${error}`,\n hint: \"See the devalue library for all supported types: https://github.com/rich-harris/devalue\"\n};\nconst ActionNotFoundError = {\n name: \"ActionNotFoundError\",\n title: \"Action not found.\",\n message: (actionName) => `The server received a request for an action named \\`${actionName}\\` but could not find a match. If you renamed an action, check that you've updated your \\`actions/index\\` file and your calling code to match.`,\n hint: \"You can run `astro check` to detect type errors caused by mismatched action names.\"\n};\nconst ActionCalledFromServerError = {\n name: \"ActionCalledFromServerError\",\n title: \"Action unexpected called from the server.\",\n message: \"Action called from a server page or endpoint without using `Astro.callAction()`. This wrapper must be used to call actions from server code.\",\n hint: \"See the `Astro.callAction()` reference for usage examples: https://docs.astro.build/en/reference/api-reference/#astrocallaction\"\n};\nconst UnknownError = { name: \"UnknownError\", title: \"Unknown Error.\" };\nexport {\n ActionCalledFromServerError,\n ActionNotFoundError,\n ActionsReturnedInvalidDataError,\n ActionsWithoutServerOutputError,\n AstroGlobNoMatch,\n AstroGlobUsedOutside,\n AstroResponseHeadersReassigned,\n CSSSyntaxError,\n CantRenderPage,\n ClientAddressNotAvailable,\n ConfigLegacyKey,\n ConfigNotFound,\n ContentCollectionTypeMismatchError,\n ContentSchemaContainsSlugError,\n CouldNotTransformImage,\n DataCollectionEntryParseError,\n DuplicateContentEntrySlugError,\n EndpointDidNotReturnAResponse,\n EnvInvalidVariables,\n EnvUnsupportedGetSecret,\n ExpectedImage,\n ExpectedImageOptions,\n ExpectedNotESMImage,\n FailedToFetchRemoteImageDimensions,\n FailedToFindPageMapSSR,\n FailedToLoadModuleSSR,\n GenerateContentTypesError,\n GetEntryDeprecationError,\n GetStaticPathsExpectedParams,\n GetStaticPathsInvalidRouteParam,\n GetStaticPathsRequired,\n ImageMissingAlt,\n ImageNotFound,\n IncompatibleDescriptorOptions,\n IncorrectStrategyForI18n,\n InvalidComponentArgs,\n InvalidContentEntryFrontmatterError,\n InvalidContentEntrySlugError,\n InvalidDynamicRoute,\n InvalidFrontmatterInjectionError,\n InvalidGetStaticPathParam,\n InvalidGetStaticPathsEntry,\n InvalidGetStaticPathsReturn,\n InvalidGlob,\n InvalidImageService,\n InvalidPrerenderExport,\n LocalImageUsedWrongly,\n LocalsNotAnObject,\n MarkdownFrontmatterParseError,\n MdxIntegrationMissingError,\n MiddlewareCantBeLoaded,\n MiddlewareNoDataOrNextCalled,\n MiddlewareNotAResponse,\n MissingImageDimension,\n MissingIndexForInternationalization,\n MissingLocale,\n MissingMediaQueryDirective,\n MissingMiddlewareForInternationalization,\n MissingSharp,\n MixedContentDataCollectionError,\n NoAdapterInstalled,\n NoClientEntrypoint,\n NoClientOnlyHint,\n NoImageMetadata,\n NoMatchingImport,\n NoMatchingRenderer,\n NoMatchingStaticPathFound,\n NoPrerenderedRoutesWithDomains,\n OnlyResponseCanBeReturned,\n PageNumberParamNotFound,\n PrerenderClientAddressNotAvailable,\n PrerenderDynamicEndpointPathCollide,\n RedirectWithNoLocation,\n ReservedSlotName,\n ResponseSentError,\n RewriteWithBodyUsed,\n RouteNotFound,\n ServerOnlyModule,\n StaticClientAddressNotAvailable,\n UnhandledRejection,\n UnknownCLIError,\n UnknownCSSError,\n UnknownCompilerError,\n UnknownConfigError,\n UnknownContentCollectionError,\n UnknownError,\n UnknownFilesystemError,\n UnknownMarkdownError,\n UnknownViteError,\n UnsupportedConfigTransformError,\n UnsupportedImageConversion,\n UnsupportedImageFormat,\n i18nNoLocaleFoundInPath,\n i18nNotEnabled\n};\n","function positionAt(offset, text) {\n const lineOffsets = getLineOffsets(text);\n offset = Math.max(0, Math.min(text.length, offset));\n let low = 0;\n let high = lineOffsets.length;\n if (high === 0) {\n return {\n line: 0,\n column: offset\n };\n }\n while (low <= high) {\n const mid = Math.floor((low + high) / 2);\n const lineOffset = lineOffsets[mid];\n if (lineOffset === offset) {\n return {\n line: mid,\n column: 0\n };\n } else if (offset > lineOffset) {\n low = mid + 1;\n } else {\n high = mid - 1;\n }\n }\n const line = low - 1;\n return { line, column: offset - lineOffsets[line] };\n}\nfunction getLineOffsets(text) {\n const lineOffsets = [];\n let isLineStart = true;\n for (let i = 0; i < text.length; i++) {\n if (isLineStart) {\n lineOffsets.push(i);\n isLineStart = false;\n }\n const ch = text.charAt(i);\n isLineStart = ch === \"\\r\" || ch === \"\\n\";\n if (ch === \"\\r\" && i + 1 < text.length && text.charAt(i + 1) === \"\\n\") {\n i++;\n }\n }\n if (isLineStart && text.length > 0) {\n lineOffsets.push(text.length);\n }\n return lineOffsets;\n}\nfunction isYAMLException(err) {\n return err instanceof Error && err.name === \"YAMLException\";\n}\nfunction formatYAMLException(e) {\n return {\n name: e.name,\n id: e.mark.name,\n loc: { file: e.mark.name, line: e.mark.line + 1, column: e.mark.column },\n message: e.reason,\n stack: e.stack ?? \"\"\n };\n}\nfunction createSafeError(err) {\n if (err instanceof Error || err?.name && err.message) {\n return err;\n } else {\n const error = new Error(JSON.stringify(err));\n error.hint = `To get as much information as possible from your errors, make sure to throw Error objects instead of \\`${typeof err}\\`. See https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Error for more information.`;\n return error;\n }\n}\nfunction normalizeLF(code) {\n return code.replace(/\\r\\n|\\r(?!\\n)|\\n/g, \"\\n\");\n}\nexport {\n createSafeError,\n formatYAMLException,\n isYAMLException,\n normalizeLF,\n positionAt\n};\n","import { normalizeLF } from \"./utils.js\";\nfunction codeFrame(src, loc) {\n if (!loc || loc.line === void 0 || loc.column === void 0) {\n return \"\";\n }\n const lines = normalizeLF(src).split(\"\\n\").map((ln) => ln.replace(/\\t/g, \" \"));\n const visibleLines = [];\n for (let n = -2; n <= 2; n++) {\n if (lines[loc.line + n]) visibleLines.push(loc.line + n);\n }\n let gutterWidth = 0;\n for (const lineNo of visibleLines) {\n let w = `> ${lineNo}`;\n if (w.length > gutterWidth) gutterWidth = w.length;\n }\n let output = \"\";\n for (const lineNo of visibleLines) {\n const isFocusedLine = lineNo === loc.line - 1;\n output += isFocusedLine ? \"> \" : \" \";\n output += `${lineNo + 1} | ${lines[lineNo]}\n`;\n if (isFocusedLine)\n output += `${Array.from({ length: gutterWidth }).join(\" \")} | ${Array.from({\n length: loc.column\n }).join(\" \")}^\n`;\n }\n return output;\n}\nexport {\n codeFrame\n};\n","import { codeFrame } from \"./printer.js\";\nfunction isAstroError(e) {\n return e instanceof AstroError;\n}\nclass AstroError extends Error {\n loc;\n title;\n hint;\n frame;\n type = \"AstroError\";\n constructor(props, options) {\n const { name, title, message, stack, location, hint, frame } = props;\n super(message, options);\n this.title = title;\n this.name = name;\n if (message) this.message = message;\n this.stack = stack ? stack : this.stack;\n this.loc = location;\n this.hint = hint;\n this.frame = frame;\n }\n setLocation(location) {\n this.loc = location;\n }\n setName(name) {\n this.name = name;\n }\n setMessage(message) {\n this.message = message;\n }\n setHint(hint) {\n this.hint = hint;\n }\n setFrame(source, location) {\n this.frame = codeFrame(source, location);\n }\n static is(err) {\n return err.type === \"AstroError\";\n }\n}\nclass CompilerError extends AstroError {\n type = \"CompilerError\";\n constructor(props, options) {\n super(props, options);\n }\n static is(err) {\n return err.type === \"CompilerError\";\n }\n}\nclass CSSError extends AstroError {\n type = \"CSSError\";\n static is(err) {\n return err.type === \"CSSError\";\n }\n}\nclass MarkdownError extends AstroError {\n type = \"MarkdownError\";\n static is(err) {\n return err.type === \"MarkdownError\";\n }\n}\nclass InternalError extends AstroError {\n type = \"InternalError\";\n static is(err) {\n return err.type === \"InternalError\";\n }\n}\nclass AggregateError extends AstroError {\n type = \"AggregateError\";\n errors;\n // Despite being a collection of errors, AggregateError still needs to have a main error attached to it\n // This is because Vite expects every thrown errors handled during HMR to be, well, Error and have a message\n constructor(props, options) {\n super(props, options);\n this.errors = props.errors;\n }\n static is(err) {\n return err.type === \"AggregateError\";\n }\n}\nconst astroConfigZodErrors = /* @__PURE__ */ new WeakSet();\nfunction isAstroConfigZodError(error) {\n return astroConfigZodErrors.has(error);\n}\nfunction trackAstroConfigZodError(error) {\n astroConfigZodErrors.add(error);\n}\nclass AstroUserError extends Error {\n type = \"AstroUserError\";\n /**\n * A message that explains to the user how they can fix the error.\n */\n hint;\n name = \"AstroUserError\";\n constructor(message, hint) {\n super();\n this.message = message;\n this.hint = hint;\n }\n static is(err) {\n return err.type === \"AstroUserError\";\n }\n}\nexport {\n AggregateError,\n AstroError,\n AstroUserError,\n CSSError,\n CompilerError,\n InternalError,\n MarkdownError,\n isAstroConfigZodError,\n isAstroError,\n trackAstroConfigZodError\n};\n","import { AstroError, AstroErrorData } from \"../../core/errors/index.js\";\nfunction validateArgs(args) {\n if (args.length !== 3) return false;\n if (!args[0] || typeof args[0] !== \"object\") return false;\n return true;\n}\nfunction baseCreateComponent(cb, moduleId, propagation) {\n const name = moduleId?.split(\"/\").pop()?.replace(\".astro\", \"\") ?? \"\";\n const fn = (...args) => {\n if (!validateArgs(args)) {\n throw new AstroError({\n ...AstroErrorData.InvalidComponentArgs,\n message: AstroErrorData.InvalidComponentArgs.message(name)\n });\n }\n return cb(...args);\n };\n Object.defineProperty(fn, \"name\", { value: name, writable: false });\n fn.isAstroComponentFactory = true;\n fn.moduleId = moduleId;\n fn.propagation = propagation;\n return fn;\n}\nfunction createComponentWithOptions(opts) {\n const cb = baseCreateComponent(opts.factory, opts.moduleId, opts.propagation);\n return cb;\n}\nfunction createComponent(arg1, moduleId, propagation) {\n if (typeof arg1 === \"function\") {\n return baseCreateComponent(arg1, moduleId, propagation);\n } else {\n return createComponentWithOptions(arg1);\n }\n}\nexport {\n createComponent\n};\n","const ASTRO_VERSION = \"4.15.9\";\nconst REROUTE_DIRECTIVE_HEADER = \"X-Astro-Reroute\";\nconst REWRITE_DIRECTIVE_HEADER_KEY = \"X-Astro-Rewrite\";\nconst REWRITE_DIRECTIVE_HEADER_VALUE = \"yes\";\nconst ROUTE_TYPE_HEADER = \"X-Astro-Route-Type\";\nconst DEFAULT_404_COMPONENT = \"astro-default-404.astro\";\nconst DEFAULT_500_COMPONENT = \"astro-default-500.astro\";\nconst REDIRECT_STATUS_CODES = [301, 302, 303, 307, 308, 300, 304];\nconst REROUTABLE_STATUS_CODES = [404, 500];\nconst clientAddressSymbol = Symbol.for(\"astro.clientAddress\");\nconst clientLocalsSymbol = Symbol.for(\"astro.locals\");\nconst responseSentSymbol = Symbol.for(\"astro.responseSent\");\nconst SUPPORTED_MARKDOWN_FILE_EXTENSIONS = [\n \".markdown\",\n \".mdown\",\n \".mkdn\",\n \".mkd\",\n \".mdwn\",\n \".md\"\n];\nconst MIDDLEWARE_PATH_SEGMENT_NAME = \"middleware\";\nexport {\n ASTRO_VERSION,\n DEFAULT_404_COMPONENT,\n DEFAULT_500_COMPONENT,\n MIDDLEWARE_PATH_SEGMENT_NAME,\n REDIRECT_STATUS_CODES,\n REROUTABLE_STATUS_CODES,\n REROUTE_DIRECTIVE_HEADER,\n REWRITE_DIRECTIVE_HEADER_KEY,\n REWRITE_DIRECTIVE_HEADER_VALUE,\n ROUTE_TYPE_HEADER,\n SUPPORTED_MARKDOWN_FILE_EXTENSIONS,\n clientAddressSymbol,\n clientLocalsSymbol,\n responseSentSymbol\n};\n","import { ASTRO_VERSION } from \"../../core/constants.js\";\nimport { AstroError, AstroErrorData } from \"../../core/errors/index.js\";\nfunction createAstroGlobFn() {\n const globHandler = (importMetaGlobResult) => {\n if (typeof importMetaGlobResult === \"string\") {\n throw new AstroError({\n ...AstroErrorData.AstroGlobUsedOutside,\n message: AstroErrorData.AstroGlobUsedOutside.message(JSON.stringify(importMetaGlobResult))\n });\n }\n let allEntries = [...Object.values(importMetaGlobResult)];\n if (allEntries.length === 0) {\n throw new AstroError({\n ...AstroErrorData.AstroGlobNoMatch,\n message: AstroErrorData.AstroGlobNoMatch.message(JSON.stringify(importMetaGlobResult))\n });\n }\n return Promise.all(allEntries.map((fn) => fn()));\n };\n return globHandler;\n}\nfunction createAstro(site) {\n return {\n // TODO: this is no longer necessary for `Astro.site`\n // but it somehow allows working around caching issues in content collections for some tests\n site: site ? new URL(site) : void 0,\n generator: `Astro v${ASTRO_VERSION}`,\n glob: createAstroGlobFn()\n };\n}\nexport {\n createAstro\n};\n","function isPromise(value) {\n return !!value && typeof value === \"object\" && \"then\" in value && typeof value.then === \"function\";\n}\nasync function* streamAsyncIterator(stream) {\n const reader = stream.getReader();\n try {\n while (true) {\n const { done, value } = await reader.read();\n if (done) return;\n yield value;\n }\n } finally {\n reader.releaseLock();\n }\n}\nexport {\n isPromise,\n streamAsyncIterator\n};\n","import { escape } from \"html-escaper\";\nimport { streamAsyncIterator } from \"./util.js\";\nconst escapeHTML = escape;\nclass HTMLBytes extends Uint8Array {\n}\nObject.defineProperty(HTMLBytes.prototype, Symbol.toStringTag, {\n get() {\n return \"HTMLBytes\";\n }\n});\nclass HTMLString extends String {\n get [Symbol.toStringTag]() {\n return \"HTMLString\";\n }\n}\nconst markHTMLString = (value) => {\n if (value instanceof HTMLString) {\n return value;\n }\n if (typeof value === \"string\") {\n return new HTMLString(value);\n }\n return value;\n};\nfunction isHTMLString(value) {\n return Object.prototype.toString.call(value) === \"[object HTMLString]\";\n}\nfunction markHTMLBytes(bytes) {\n return new HTMLBytes(bytes);\n}\nfunction isHTMLBytes(value) {\n return Object.prototype.toString.call(value) === \"[object HTMLBytes]\";\n}\nfunction hasGetReader(obj) {\n return typeof obj.getReader === \"function\";\n}\nasync function* unescapeChunksAsync(iterable) {\n if (hasGetReader(iterable)) {\n for await (const chunk of streamAsyncIterator(iterable)) {\n yield unescapeHTML(chunk);\n }\n } else {\n for await (const chunk of iterable) {\n yield unescapeHTML(chunk);\n }\n }\n}\nfunction* unescapeChunks(iterable) {\n for (const chunk of iterable) {\n yield unescapeHTML(chunk);\n }\n}\nfunction unescapeHTML(str) {\n if (!!str && typeof str === \"object\") {\n if (str instanceof Uint8Array) {\n return markHTMLBytes(str);\n } else if (str instanceof Response && str.body) {\n const body = str.body;\n return unescapeChunksAsync(body);\n } else if (typeof str.then === \"function\") {\n return Promise.resolve(str).then((value) => {\n return unescapeHTML(value);\n });\n } else if (str[Symbol.for(\"astro:slot-string\")]) {\n return str;\n } else if (Symbol.iterator in str) {\n return unescapeChunks(str);\n } else if (Symbol.asyncIterator in str || hasGetReader(str)) {\n return unescapeChunksAsync(str);\n }\n }\n return markHTMLString(str);\n}\nexport {\n HTMLBytes,\n HTMLString,\n escapeHTML,\n isHTMLBytes,\n isHTMLString,\n markHTMLString,\n unescapeHTML\n};\n","const RenderInstructionSymbol = Symbol.for(\"astro:render\");\nfunction createRenderInstruction(instruction) {\n return Object.defineProperty(instruction, RenderInstructionSymbol, {\n value: true\n });\n}\nfunction isRenderInstruction(chunk) {\n return chunk && typeof chunk === \"object\" && chunk[RenderInstructionSymbol];\n}\nexport {\n createRenderInstruction,\n isRenderInstruction\n};\n","const PROP_TYPE = {\n Value: 0,\n JSON: 1,\n // Actually means Array\n RegExp: 2,\n Date: 3,\n Map: 4,\n Set: 5,\n BigInt: 6,\n URL: 7,\n Uint8Array: 8,\n Uint16Array: 9,\n Uint32Array: 10\n};\nfunction serializeArray(value, metadata = {}, parents = /* @__PURE__ */ new WeakSet()) {\n if (parents.has(value)) {\n throw new Error(`Cyclic reference detected while serializing props for <${metadata.displayName} client:${metadata.hydrate}>!\n\nCyclic references cannot be safely serialized for client-side usage. Please remove the cyclic reference.`);\n }\n parents.add(value);\n const serialized = value.map((v) => {\n return convertToSerializedForm(v, metadata, parents);\n });\n parents.delete(value);\n return serialized;\n}\nfunction serializeObject(value, metadata = {}, parents = /* @__PURE__ */ new WeakSet()) {\n if (parents.has(value)) {\n throw new Error(`Cyclic reference detected while serializing props for <${metadata.displayName} client:${metadata.hydrate}>!\n\nCyclic references cannot be safely serialized for client-side usage. Please remove the cyclic reference.`);\n }\n parents.add(value);\n const serialized = Object.fromEntries(\n Object.entries(value).map(([k, v]) => {\n return [k, convertToSerializedForm(v, metadata, parents)];\n })\n );\n parents.delete(value);\n return serialized;\n}\nfunction convertToSerializedForm(value, metadata = {}, parents = /* @__PURE__ */ new WeakSet()) {\n const tag = Object.prototype.toString.call(value);\n switch (tag) {\n case \"[object Date]\": {\n return [PROP_TYPE.Date, value.toISOString()];\n }\n case \"[object RegExp]\": {\n return [PROP_TYPE.RegExp, value.source];\n }\n case \"[object Map]\": {\n return [PROP_TYPE.Map, serializeArray(Array.from(value), metadata, parents)];\n }\n case \"[object Set]\": {\n return [PROP_TYPE.Set, serializeArray(Array.from(value), metadata, parents)];\n }\n case \"[object BigInt]\": {\n return [PROP_TYPE.BigInt, value.toString()];\n }\n case \"[object URL]\": {\n return [PROP_TYPE.URL, value.toString()];\n }\n case \"[object Array]\": {\n return [PROP_TYPE.JSON, serializeArray(value, metadata, parents)];\n }\n case \"[object Uint8Array]\": {\n return [PROP_TYPE.Uint8Array, Array.from(value)];\n }\n case \"[object Uint16Array]\": {\n return [PROP_TYPE.Uint16Array, Array.from(value)];\n }\n case \"[object Uint32Array]\": {\n return [PROP_TYPE.Uint32Array, Array.from(value)];\n }\n default: {\n if (value !== null && typeof value === \"object\") {\n return [PROP_TYPE.Value, serializeObject(value, metadata, parents)];\n } else if (value === void 0) {\n return [PROP_TYPE.Value];\n } else {\n return [PROP_TYPE.Value, value];\n }\n }\n }\n}\nfunction serializeProps(props, metadata) {\n const serialized = JSON.stringify(serializeObject(props, metadata));\n return serialized;\n}\nexport {\n serializeProps\n};\n","import { AstroError, AstroErrorData } from \"../../core/errors/index.js\";\nimport { escapeHTML } from \"./escape.js\";\nimport { serializeProps } from \"./serialize.js\";\nconst transitionDirectivesToCopyOnIsland = Object.freeze([\n \"data-astro-transition-scope\",\n \"data-astro-transition-persist\",\n \"data-astro-transition-persist-props\"\n]);\nfunction extractDirectives(inputProps, clientDirectives) {\n let extracted = {\n isPage: false,\n hydration: null,\n props: {},\n propsWithoutTransitionAttributes: {}\n };\n for (const [key, value] of Object.entries(inputProps)) {\n if (key.startsWith(\"server:\")) {\n if (key === \"server:root\") {\n extracted.isPage = true;\n }\n }\n if (key.startsWith(\"client:\")) {\n if (!extracted.hydration) {\n extracted.hydration = {\n directive: \"\",\n value: \"\",\n componentUrl: \"\",\n componentExport: { value: \"\" }\n };\n }\n switch (key) {\n case \"client:component-path\": {\n extracted.hydration.componentUrl = value;\n break;\n }\n case \"client:component-export\": {\n extracted.hydration.componentExport.value = value;\n break;\n }\n case \"client:component-hydration\": {\n break;\n }\n case \"client:display-name\": {\n break;\n }\n default: {\n extracted.hydration.directive = key.split(\":\")[1];\n extracted.hydration.value = value;\n if (!clientDirectives.has(extracted.hydration.directive)) {\n const hydrationMethods = Array.from(clientDirectives.keys()).map((d) => `client:${d}`).join(\", \");\n throw new Error(\n `Error: invalid hydration directive \"${key}\". Supported hydration methods: ${hydrationMethods}`\n );\n }\n if (extracted.hydration.directive === \"media\" && typeof extracted.hydration.value !== \"string\") {\n throw new AstroError(AstroErrorData.MissingMediaQueryDirective);\n }\n break;\n }\n }\n } else {\n extracted.props[key] = value;\n if (!transitionDirectivesToCopyOnIsland.includes(key)) {\n extracted.propsWithoutTransitionAttributes[key] = value;\n }\n }\n }\n for (const sym of Object.getOwnPropertySymbols(inputProps)) {\n extracted.props[sym] = inputProps[sym];\n extracted.propsWithoutTransitionAttributes[sym] = inputProps[sym];\n }\n return extracted;\n}\nasync function generateHydrateScript(scriptOptions, metadata) {\n const { renderer, result, astroId, props, attrs } = scriptOptions;\n const { hydrate, componentUrl, componentExport } = metadata;\n if (!componentExport.value) {\n throw new AstroError({\n ...AstroErrorData.NoMatchingImport,\n message: AstroErrorData.NoMatchingImport.message(metadata.displayName)\n });\n }\n const island = {\n children: \"\",\n props: {\n // This is for HMR, probably can avoid it in prod\n uid: astroId\n }\n };\n if (attrs) {\n for (const [key, value] of Object.entries(attrs)) {\n island.props[key] = escapeHTML(value);\n }\n }\n island.props[\"component-url\"] = await result.resolve(decodeURI(componentUrl));\n if (renderer.clientEntrypoint) {\n island.props[\"component-export\"] = componentExport.value;\n island.props[\"renderer-url\"] = await result.resolve(decodeURI(renderer.clientEntrypoint));\n island.props[\"props\"] = escapeHTML(serializeProps(props, metadata));\n }\n island.props[\"ssr\"] = \"\";\n island.props[\"client\"] = hydrate;\n let beforeHydrationUrl = await result.resolve(\"astro:scripts/before-hydration.js\");\n if (beforeHydrationUrl.length) {\n island.props[\"before-hydration-url\"] = beforeHydrationUrl;\n }\n island.props[\"opts\"] = escapeHTML(\n JSON.stringify({\n name: metadata.displayName,\n value: metadata.hydrateArgs || \"\"\n })\n );\n transitionDirectivesToCopyOnIsland.forEach((name) => {\n if (typeof props[name] !== \"undefined\") {\n island.props[name] = props[name];\n }\n });\n return island;\n}\nexport {\n extractDirectives,\n generateHydrateScript\n};\n","/**\n * shortdash - https://github.com/bibig/node-shorthash\n *\n * @license\n *\n * (The MIT License)\n *\n * Copyright (c) 2013 Bibig \n *\n * Permission is hereby granted, free of charge, to any person\n * obtaining a copy of this software and associated documentation\n * files (the \"Software\"), to deal in the Software without\n * restriction, including without limitation the rights to use,\n * copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the\n * Software is furnished to do so, subject to the following\n * conditions:\n *\n * The above copyright notice and this permission notice shall be\n * included in all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\n * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES\n * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\n * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT\n * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,\n * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING\n * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR\n * OTHER DEALINGS IN THE SOFTWARE.\n */\nconst dictionary = \"0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXY\";\nconst binary = dictionary.length;\nfunction bitwise(str) {\n let hash = 0;\n if (str.length === 0) return hash;\n for (let i = 0; i < str.length; i++) {\n const ch = str.charCodeAt(i);\n hash = (hash << 5) - hash + ch;\n hash = hash & hash;\n }\n return hash;\n}\nfunction shorthash(text) {\n let num;\n let result = \"\";\n let integer = bitwise(text);\n const sign = integer < 0 ? \"Z\" : \"\";\n integer = Math.abs(integer);\n while (integer >= binary) {\n num = integer % binary;\n integer = Math.floor(integer / binary);\n result = dictionary[num] + result;\n }\n if (integer > 0) {\n result = dictionary[integer] + result;\n }\n return sign + result;\n}\nexport {\n shorthash\n};\n","function isAstroComponentFactory(obj) {\n return obj == null ? false : obj.isAstroComponentFactory === true;\n}\nfunction isAPropagatingComponent(result, factory) {\n let hint = factory.propagation || \"none\";\n if (factory.moduleId && result.componentMetadata.has(factory.moduleId) && hint === \"none\") {\n hint = result.componentMetadata.get(factory.moduleId).propagation;\n }\n return hint === \"in-tree\" || hint === \"self\";\n}\nexport {\n isAPropagatingComponent,\n isAstroComponentFactory\n};\n","const headAndContentSym = Symbol.for(\"astro.headAndContent\");\nfunction isHeadAndContent(obj) {\n return typeof obj === \"object\" && !!obj[headAndContentSym];\n}\nfunction createHeadAndContent(head, content) {\n return {\n [headAndContentSym]: true,\n head,\n content\n };\n}\nexport {\n createHeadAndContent,\n isHeadAndContent\n};\n","var astro_island_prebuilt_dev_default = `(()=>{var A=Object.defineProperty;var g=(i,o,a)=>o in i?A(i,o,{enumerable:!0,configurable:!0,writable:!0,value:a}):i[o]=a;var l=(i,o,a)=>g(i,typeof o!=\"symbol\"?o+\"\":o,a);{let i={0:t=>y(t),1:t=>a(t),2:t=>new RegExp(t),3:t=>new Date(t),4:t=>new Map(a(t)),5:t=>new Set(a(t)),6:t=>BigInt(t),7:t=>new URL(t),8:t=>new Uint8Array(t),9:t=>new Uint16Array(t),10:t=>new Uint32Array(t)},o=t=>{let[h,e]=t;return h in i?i[h](e):void 0},a=t=>t.map(o),y=t=>typeof t!=\"object\"||t===null?t:Object.fromEntries(Object.entries(t).map(([h,e])=>[h,o(e)]));class f extends HTMLElement{constructor(){super(...arguments);l(this,\"Component\");l(this,\"hydrator\");l(this,\"hydrate\",async()=>{var b;if(!this.hydrator||!this.isConnected)return;let e=(b=this.parentElement)==null?void 0:b.closest(\"astro-island[ssr]\");if(e){e.addEventListener(\"astro:hydrate\",this.hydrate,{once:!0});return}let c=this.querySelectorAll(\"astro-slot\"),n={},p=this.querySelectorAll(\"template[data-astro-template]\");for(let r of p){let s=r.closest(this.tagName);s!=null&&s.isSameNode(this)&&(n[r.getAttribute(\"data-astro-template\")||\"default\"]=r.innerHTML,r.remove())}for(let r of c){let s=r.closest(this.tagName);s!=null&&s.isSameNode(this)&&(n[r.getAttribute(\"name\")||\"default\"]=r.innerHTML)}let u;try{u=this.hasAttribute(\"props\")?y(JSON.parse(this.getAttribute(\"props\"))):{}}catch(r){let s=this.getAttribute(\"component-url\")||\"\",v=this.getAttribute(\"component-export\");throw v&&(s+=\\` (export \\${v})\\`),console.error(\\`[hydrate] Error parsing props for component \\${s}\\`,this.getAttribute(\"props\"),r),r}let d,m=this.hydrator(this);d=performance.now(),await m(this.Component,u,n,{client:this.getAttribute(\"client\")}),d&&this.setAttribute(\"client-render-time\",(performance.now()-d).toString()),this.removeAttribute(\"ssr\"),this.dispatchEvent(new CustomEvent(\"astro:hydrate\"))});l(this,\"unmount\",()=>{this.isConnected||this.dispatchEvent(new CustomEvent(\"astro:unmount\"))})}disconnectedCallback(){document.removeEventListener(\"astro:after-swap\",this.unmount),document.addEventListener(\"astro:after-swap\",this.unmount,{once:!0})}connectedCallback(){if(!this.hasAttribute(\"await-children\")||document.readyState===\"interactive\"||document.readyState===\"complete\")this.childrenConnectedCallback();else{let e=()=>{document.removeEventListener(\"DOMContentLoaded\",e),c.disconnect(),this.childrenConnectedCallback()},c=new MutationObserver(()=>{var n;((n=this.lastChild)==null?void 0:n.nodeType)===Node.COMMENT_NODE&&this.lastChild.nodeValue===\"astro:end\"&&(this.lastChild.remove(),e())});c.observe(this,{childList:!0}),document.addEventListener(\"DOMContentLoaded\",e)}}async childrenConnectedCallback(){let e=this.getAttribute(\"before-hydration-url\");e&&await import(e),this.start()}async start(){let e=JSON.parse(this.getAttribute(\"opts\")),c=this.getAttribute(\"client\");if(Astro[c]===void 0){window.addEventListener(\\`astro:\\${c}\\`,()=>this.start(),{once:!0});return}try{await Astro[c](async()=>{let n=this.getAttribute(\"renderer-url\"),[p,{default:u}]=await Promise.all([import(this.getAttribute(\"component-url\")),n?import(n):()=>()=>{}]),d=this.getAttribute(\"component-export\")||\"default\";if(!d.includes(\".\"))this.Component=p[d];else{this.Component=p;for(let m of d.split(\".\"))this.Component=this.Component[m]}return this.hydrator=u,this.hydrate},e,this)}catch(n){console.error(\\`[astro-island] Error hydrating \\${this.getAttribute(\"component-url\")}\\`,n)}}attributeChangedCallback(){this.hydrate()}}l(f,\"observedAttributes\",[\"props\"]),customElements.get(\"astro-island\")||customElements.define(\"astro-island\",f)}})();`;\nexport {\n astro_island_prebuilt_dev_default as default\n};\n","var astro_island_prebuilt_default = `(()=>{var A=Object.defineProperty;var g=(i,o,a)=>o in i?A(i,o,{enumerable:!0,configurable:!0,writable:!0,value:a}):i[o]=a;var d=(i,o,a)=>g(i,typeof o!=\"symbol\"?o+\"\":o,a);{let i={0:t=>m(t),1:t=>a(t),2:t=>new RegExp(t),3:t=>new Date(t),4:t=>new Map(a(t)),5:t=>new Set(a(t)),6:t=>BigInt(t),7:t=>new URL(t),8:t=>new Uint8Array(t),9:t=>new Uint16Array(t),10:t=>new Uint32Array(t)},o=t=>{let[l,e]=t;return l in i?i[l](e):void 0},a=t=>t.map(o),m=t=>typeof t!=\"object\"||t===null?t:Object.fromEntries(Object.entries(t).map(([l,e])=>[l,o(e)]));class y extends HTMLElement{constructor(){super(...arguments);d(this,\"Component\");d(this,\"hydrator\");d(this,\"hydrate\",async()=>{var b;if(!this.hydrator||!this.isConnected)return;let e=(b=this.parentElement)==null?void 0:b.closest(\"astro-island[ssr]\");if(e){e.addEventListener(\"astro:hydrate\",this.hydrate,{once:!0});return}let c=this.querySelectorAll(\"astro-slot\"),n={},h=this.querySelectorAll(\"template[data-astro-template]\");for(let r of h){let s=r.closest(this.tagName);s!=null&&s.isSameNode(this)&&(n[r.getAttribute(\"data-astro-template\")||\"default\"]=r.innerHTML,r.remove())}for(let r of c){let s=r.closest(this.tagName);s!=null&&s.isSameNode(this)&&(n[r.getAttribute(\"name\")||\"default\"]=r.innerHTML)}let p;try{p=this.hasAttribute(\"props\")?m(JSON.parse(this.getAttribute(\"props\"))):{}}catch(r){let s=this.getAttribute(\"component-url\")||\"\",v=this.getAttribute(\"component-export\");throw v&&(s+=\\` (export \\${v})\\`),console.error(\\`[hydrate] Error parsing props for component \\${s}\\`,this.getAttribute(\"props\"),r),r}let u;await this.hydrator(this)(this.Component,p,n,{client:this.getAttribute(\"client\")}),this.removeAttribute(\"ssr\"),this.dispatchEvent(new CustomEvent(\"astro:hydrate\"))});d(this,\"unmount\",()=>{this.isConnected||this.dispatchEvent(new CustomEvent(\"astro:unmount\"))})}disconnectedCallback(){document.removeEventListener(\"astro:after-swap\",this.unmount),document.addEventListener(\"astro:after-swap\",this.unmount,{once:!0})}connectedCallback(){if(!this.hasAttribute(\"await-children\")||document.readyState===\"interactive\"||document.readyState===\"complete\")this.childrenConnectedCallback();else{let e=()=>{document.removeEventListener(\"DOMContentLoaded\",e),c.disconnect(),this.childrenConnectedCallback()},c=new MutationObserver(()=>{var n;((n=this.lastChild)==null?void 0:n.nodeType)===Node.COMMENT_NODE&&this.lastChild.nodeValue===\"astro:end\"&&(this.lastChild.remove(),e())});c.observe(this,{childList:!0}),document.addEventListener(\"DOMContentLoaded\",e)}}async childrenConnectedCallback(){let e=this.getAttribute(\"before-hydration-url\");e&&await import(e),this.start()}async start(){let e=JSON.parse(this.getAttribute(\"opts\")),c=this.getAttribute(\"client\");if(Astro[c]===void 0){window.addEventListener(\\`astro:\\${c}\\`,()=>this.start(),{once:!0});return}try{await Astro[c](async()=>{let n=this.getAttribute(\"renderer-url\"),[h,{default:p}]=await Promise.all([import(this.getAttribute(\"component-url\")),n?import(n):()=>()=>{}]),u=this.getAttribute(\"component-export\")||\"default\";if(!u.includes(\".\"))this.Component=h[u];else{this.Component=h;for(let f of u.split(\".\"))this.Component=this.Component[f]}return this.hydrator=p,this.hydrate},e,this)}catch(n){console.error(\\`[astro-island] Error hydrating \\${this.getAttribute(\"component-url\")}\\`,n)}}attributeChangedCallback(){this.hydrate()}}d(y,\"observedAttributes\",[\"props\"]),customElements.get(\"astro-island\")||customElements.define(\"astro-island\",y)}})();`;\nexport {\n astro_island_prebuilt_default as default\n};\n","import islandScriptDev from \"./astro-island.prebuilt-dev.js\";\nimport islandScript from \"./astro-island.prebuilt.js\";\nconst ISLAND_STYLES = ``;\nfunction determineIfNeedsHydrationScript(result) {\n if (result._metadata.hasHydrationScript) {\n return false;\n }\n return result._metadata.hasHydrationScript = true;\n}\nfunction determinesIfNeedsDirectiveScript(result, directive) {\n if (result._metadata.hasDirectives.has(directive)) {\n return false;\n }\n result._metadata.hasDirectives.add(directive);\n return true;\n}\nfunction getDirectiveScriptText(result, directive) {\n const clientDirectives = result.clientDirectives;\n const clientDirective = clientDirectives.get(directive);\n if (!clientDirective) {\n throw new Error(`Unknown directive: ${directive}`);\n }\n return clientDirective;\n}\nfunction getPrescripts(result, type, directive) {\n switch (type) {\n case \"both\":\n return `${ISLAND_STYLES}`;\n case \"directive\":\n return ``;\n case null:\n break;\n }\n return \"\";\n}\nexport {\n determineIfNeedsHydrationScript,\n determinesIfNeedsDirectiveScript,\n getPrescripts\n};\n","import { clsx } from \"clsx\";\nimport { HTMLString, markHTMLString } from \"../escape.js\";\nconst voidElementNames = /^(area|base|br|col|command|embed|hr|img|input|keygen|link|meta|param|source|track|wbr)$/i;\nconst htmlBooleanAttributes = /^(?:allowfullscreen|async|autofocus|autoplay|controls|default|defer|disabled|disablepictureinpicture|disableremoteplayback|formnovalidate|hidden|loop|nomodule|novalidate|open|playsinline|readonly|required|reversed|scoped|seamless|selected|itemscope)$/i;\nconst htmlEnumAttributes = /^(?:contenteditable|draggable|spellcheck|value)$/i;\nconst svgEnumAttributes = /^(?:autoReverse|externalResourcesRequired|focusable|preserveAlpha)$/i;\nconst AMPERSAND_REGEX = /&/g;\nconst DOUBLE_QUOTE_REGEX = /\"/g;\nconst STATIC_DIRECTIVES = /* @__PURE__ */ new Set([\"set:html\", \"set:text\"]);\nconst toIdent = (k) => k.trim().replace(/(?!^)\\b\\w|\\s+|\\W+/g, (match, index) => {\n if (/\\W/.test(match)) return \"\";\n return index === 0 ? match : match.toUpperCase();\n});\nconst toAttributeString = (value, shouldEscape = true) => shouldEscape ? String(value).replace(AMPERSAND_REGEX, \"&\").replace(DOUBLE_QUOTE_REGEX, \""\") : value;\nconst kebab = (k) => k.toLowerCase() === k ? k : k.replace(/[A-Z]/g, (match) => `-${match.toLowerCase()}`);\nconst toStyleString = (obj) => Object.entries(obj).filter(([_, v]) => typeof v === \"string\" && v.trim() || typeof v === \"number\").map(([k, v]) => {\n if (k[0] !== \"-\" && k[1] !== \"-\") return `${kebab(k)}:${v}`;\n return `${k}:${v}`;\n}).join(\";\");\nfunction defineScriptVars(vars) {\n let output = \"\";\n for (const [key, value] of Object.entries(vars)) {\n output += `const ${toIdent(key)} = ${JSON.stringify(value)?.replace(\n /<\\/script>/g,\n \"\\\\x3C/script>\"\n )};\n`;\n }\n return markHTMLString(output);\n}\nfunction formatList(values) {\n if (values.length === 1) {\n return values[0];\n }\n return `${values.slice(0, -1).join(\", \")} or ${values[values.length - 1]}`;\n}\nfunction addAttribute(value, key, shouldEscape = true) {\n if (value == null) {\n return \"\";\n }\n if (value === false) {\n if (htmlEnumAttributes.test(key) || svgEnumAttributes.test(key)) {\n return markHTMLString(` ${key}=\"false\"`);\n }\n return \"\";\n }\n if (STATIC_DIRECTIVES.has(key)) {\n console.warn(`[astro] The \"${key}\" directive cannot be applied dynamically at runtime. It will not be rendered as an attribute.\n\nMake sure to use the static attribute syntax (\\`${key}={value}\\`) instead of the dynamic spread syntax (\\`{...{ \"${key}\": value }}\\`).`);\n return \"\";\n }\n if (key === \"class:list\") {\n const listValue = toAttributeString(clsx(value), shouldEscape);\n if (listValue === \"\") {\n return \"\";\n }\n return markHTMLString(` ${key.slice(0, -5)}=\"${listValue}\"`);\n }\n if (key === \"style\" && !(value instanceof HTMLString)) {\n if (Array.isArray(value) && value.length === 2) {\n return markHTMLString(\n ` ${key}=\"${toAttributeString(`${toStyleString(value[0])};${value[1]}`, shouldEscape)}\"`\n );\n }\n if (typeof value === \"object\") {\n return markHTMLString(` ${key}=\"${toAttributeString(toStyleString(value), shouldEscape)}\"`);\n }\n }\n if (key === \"className\") {\n return markHTMLString(` class=\"${toAttributeString(value, shouldEscape)}\"`);\n }\n if (typeof value === \"string\" && value.includes(\"&\") && isHttpUrl(value)) {\n return markHTMLString(` ${key}=\"${toAttributeString(value, false)}\"`);\n }\n if (value === true && (key.startsWith(\"data-\") || htmlBooleanAttributes.test(key))) {\n return markHTMLString(` ${key}`);\n } else {\n return markHTMLString(` ${key}=\"${toAttributeString(value, shouldEscape)}\"`);\n }\n}\nfunction internalSpreadAttributes(values, shouldEscape = true) {\n let output = \"\";\n for (const [key, value] of Object.entries(values)) {\n output += addAttribute(value, key, shouldEscape);\n }\n return markHTMLString(output);\n}\nfunction renderElement(name, { props: _props, children = \"\" }, shouldEscape = true) {\n const { lang: _, \"data-astro-id\": astroId, \"define:vars\": defineVars, ...props } = _props;\n if (defineVars) {\n if (name === \"style\") {\n delete props[\"is:global\"];\n delete props[\"is:scoped\"];\n }\n if (name === \"script\") {\n delete props.hoist;\n children = defineScriptVars(defineVars) + \"\\n\" + children;\n }\n }\n if ((children == null || children == \"\") && voidElementNames.test(name)) {\n return `<${name}${internalSpreadAttributes(props, shouldEscape)}>`;\n }\n return `<${name}${internalSpreadAttributes(props, shouldEscape)}>${children}`;\n}\nconst noop = () => {\n};\nclass BufferedRenderer {\n chunks = [];\n renderPromise;\n destination;\n constructor(bufferRenderFunction) {\n this.renderPromise = bufferRenderFunction(this);\n Promise.resolve(this.renderPromise).catch(noop);\n }\n write(chunk) {\n if (this.destination) {\n this.destination.write(chunk);\n } else {\n this.chunks.push(chunk);\n }\n }\n async renderToFinalDestination(destination) {\n for (const chunk of this.chunks) {\n destination.write(chunk);\n }\n this.destination = destination;\n await this.renderPromise;\n }\n}\nfunction renderToBufferDestination(bufferRenderFunction) {\n const renderer = new BufferedRenderer(bufferRenderFunction);\n return renderer;\n}\nconst isNode = typeof process !== \"undefined\" && Object.prototype.toString.call(process) === \"[object process]\";\nconst isDeno = typeof Deno !== \"undefined\";\nfunction promiseWithResolvers() {\n let resolve, reject;\n const promise = new Promise((_resolve, _reject) => {\n resolve = _resolve;\n reject = _reject;\n });\n return {\n promise,\n resolve,\n reject\n };\n}\nconst VALID_PROTOCOLS = [\"http:\", \"https:\"];\nfunction isHttpUrl(url) {\n try {\n const parsedUrl = new URL(url);\n return VALID_PROTOCOLS.includes(parsedUrl.protocol);\n } catch {\n return false;\n }\n}\nexport {\n addAttribute,\n defineScriptVars,\n formatList,\n internalSpreadAttributes,\n isDeno,\n isNode,\n promiseWithResolvers,\n renderElement,\n renderToBufferDestination,\n toAttributeString,\n voidElementNames\n};\n","import { markHTMLString } from \"../escape.js\";\nimport { createRenderInstruction } from \"./instruction.js\";\nimport { renderElement } from \"./util.js\";\nconst uniqueElements = (item, index, all) => {\n const props = JSON.stringify(item.props);\n const children = item.children;\n return index === all.findIndex((i) => JSON.stringify(i.props) === props && i.children == children);\n};\nfunction renderAllHeadContent(result) {\n result._metadata.hasRenderedHead = true;\n const styles = Array.from(result.styles).filter(uniqueElements).map(\n (style) => style.props.rel === \"stylesheet\" ? renderElement(\"link\", style) : renderElement(\"style\", style)\n );\n result.styles.clear();\n const scripts = Array.from(result.scripts).filter(uniqueElements).map((script) => {\n return renderElement(\"script\", script, false);\n });\n const links = Array.from(result.links).filter(uniqueElements).map((link) => renderElement(\"link\", link, false));\n let content = styles.join(\"\\n\") + links.join(\"\\n\") + scripts.join(\"\\n\");\n if (result._metadata.extraHead.length > 0) {\n for (const part of result._metadata.extraHead) {\n content += part;\n }\n }\n return markHTMLString(content);\n}\nfunction renderHead() {\n return createRenderInstruction({ type: \"head\" });\n}\nfunction maybeRenderHead() {\n return createRenderInstruction({ type: \"maybe-head\" });\n}\nexport {\n maybeRenderHead,\n renderAllHeadContent,\n renderHead\n};\n","import { markHTMLString } from \"../../escape.js\";\nimport { isPromise } from \"../../util.js\";\nimport { renderChild } from \"../any.js\";\nimport { renderToBufferDestination } from \"../util.js\";\nconst renderTemplateResultSym = Symbol.for(\"astro.renderTemplateResult\");\nclass RenderTemplateResult {\n [renderTemplateResultSym] = true;\n htmlParts;\n expressions;\n error;\n constructor(htmlParts, expressions) {\n this.htmlParts = htmlParts;\n this.error = void 0;\n this.expressions = expressions.map((expression) => {\n if (isPromise(expression)) {\n return Promise.resolve(expression).catch((err) => {\n if (!this.error) {\n this.error = err;\n throw err;\n }\n });\n }\n return expression;\n });\n }\n async render(destination) {\n const expRenders = this.expressions.map((exp) => {\n return renderToBufferDestination((bufferDestination) => {\n if (exp || exp === 0) {\n return renderChild(bufferDestination, exp);\n }\n });\n });\n for (let i = 0; i < this.htmlParts.length; i++) {\n const html = this.htmlParts[i];\n const expRender = expRenders[i];\n destination.write(markHTMLString(html));\n if (expRender) {\n await expRender.renderToFinalDestination(destination);\n }\n }\n }\n}\nfunction isRenderTemplateResult(obj) {\n return typeof obj === \"object\" && !!obj[renderTemplateResultSym];\n}\nfunction renderTemplate(htmlParts, ...expressions) {\n return new RenderTemplateResult(htmlParts, expressions);\n}\nexport {\n RenderTemplateResult,\n isRenderTemplateResult,\n renderTemplate\n};\n","import { renderTemplate } from \"./astro/render-template.js\";\nimport { HTMLString, markHTMLString, unescapeHTML } from \"../escape.js\";\nimport { renderChild } from \"./any.js\";\nimport { chunkToString } from \"./common.js\";\nconst slotString = Symbol.for(\"astro:slot-string\");\nclass SlotString extends HTMLString {\n instructions;\n [slotString];\n constructor(content, instructions) {\n super(content);\n this.instructions = instructions;\n this[slotString] = true;\n }\n}\nfunction isSlotString(str) {\n return !!str[slotString];\n}\nfunction renderSlot(result, slotted, fallback) {\n if (!slotted && fallback) {\n return renderSlot(result, fallback);\n }\n return {\n async render(destination) {\n await renderChild(destination, typeof slotted === \"function\" ? slotted(result) : slotted);\n }\n };\n}\nasync function renderSlotToString(result, slotted, fallback) {\n let content = \"\";\n let instructions = null;\n const temporaryDestination = {\n write(chunk) {\n if (chunk instanceof SlotString) {\n content += chunk;\n if (chunk.instructions) {\n instructions ??= [];\n instructions.push(...chunk.instructions);\n }\n } else if (chunk instanceof Response) return;\n else if (typeof chunk === \"object\" && \"type\" in chunk && typeof chunk.type === \"string\") {\n if (instructions === null) {\n instructions = [];\n }\n instructions.push(chunk);\n } else {\n content += chunkToString(result, chunk);\n }\n }\n };\n const renderInstance = renderSlot(result, slotted, fallback);\n await renderInstance.render(temporaryDestination);\n return markHTMLString(new SlotString(content, instructions));\n}\nasync function renderSlots(result, slots = {}) {\n let slotInstructions = null;\n let children = {};\n if (slots) {\n await Promise.all(\n Object.entries(slots).map(\n ([key, value]) => renderSlotToString(result, value).then((output) => {\n if (output.instructions) {\n if (slotInstructions === null) {\n slotInstructions = [];\n }\n slotInstructions.push(...output.instructions);\n }\n children[key] = output;\n })\n )\n );\n }\n return { slotInstructions, children };\n}\nfunction createSlotValueFromString(content) {\n return function() {\n return renderTemplate`${unescapeHTML(content)}`;\n };\n}\nexport {\n SlotString,\n createSlotValueFromString,\n isSlotString,\n renderSlot,\n renderSlotToString,\n renderSlots\n};\n","import { markHTMLString } from \"../escape.js\";\nimport {\n determineIfNeedsHydrationScript,\n determinesIfNeedsDirectiveScript,\n getPrescripts\n} from \"../scripts.js\";\nimport { renderAllHeadContent } from \"./head.js\";\nimport { isRenderInstruction } from \"./instruction.js\";\nimport { isSlotString } from \"./slot.js\";\nconst Fragment = Symbol.for(\"astro:fragment\");\nconst Renderer = Symbol.for(\"astro:renderer\");\nconst encoder = new TextEncoder();\nconst decoder = new TextDecoder();\nfunction stringifyChunk(result, chunk) {\n if (isRenderInstruction(chunk)) {\n const instruction = chunk;\n switch (instruction.type) {\n case \"directive\": {\n const { hydration } = instruction;\n let needsHydrationScript = hydration && determineIfNeedsHydrationScript(result);\n let needsDirectiveScript = hydration && determinesIfNeedsDirectiveScript(result, hydration.directive);\n let prescriptType = needsHydrationScript ? \"both\" : needsDirectiveScript ? \"directive\" : null;\n if (prescriptType) {\n let prescripts = getPrescripts(result, prescriptType, hydration.directive);\n return markHTMLString(prescripts);\n } else {\n return \"\";\n }\n }\n case \"head\": {\n if (result._metadata.hasRenderedHead || result.partial) {\n return \"\";\n }\n return renderAllHeadContent(result);\n }\n case \"maybe-head\": {\n if (result._metadata.hasRenderedHead || result._metadata.headInTree || result.partial) {\n return \"\";\n }\n return renderAllHeadContent(result);\n }\n case \"renderer-hydration-script\": {\n const { rendererSpecificHydrationScripts } = result._metadata;\n const { rendererName } = instruction;\n if (!rendererSpecificHydrationScripts.has(rendererName)) {\n rendererSpecificHydrationScripts.add(rendererName);\n return instruction.render();\n }\n return \"\";\n }\n default: {\n throw new Error(`Unknown chunk type: ${chunk.type}`);\n }\n }\n } else if (chunk instanceof Response) {\n return \"\";\n } else if (isSlotString(chunk)) {\n let out = \"\";\n const c = chunk;\n if (c.instructions) {\n for (const instr of c.instructions) {\n out += stringifyChunk(result, instr);\n }\n }\n out += chunk.toString();\n return out;\n }\n return chunk.toString();\n}\nfunction chunkToString(result, chunk) {\n if (ArrayBuffer.isView(chunk)) {\n return decoder.decode(chunk);\n } else {\n return stringifyChunk(result, chunk);\n }\n}\nfunction chunkToByteArray(result, chunk) {\n if (ArrayBuffer.isView(chunk)) {\n return chunk;\n } else {\n const stringified = stringifyChunk(result, chunk);\n return encoder.encode(stringified.toString());\n }\n}\nfunction isRenderInstance(obj) {\n return !!obj && typeof obj === \"object\" && \"render\" in obj && typeof obj.render === \"function\";\n}\nexport {\n Fragment,\n Renderer,\n chunkToByteArray,\n chunkToString,\n decoder,\n encoder,\n isRenderInstance\n};\n","import { escapeHTML, isHTMLString, markHTMLString } from \"../escape.js\";\nimport { isPromise } from \"../util.js\";\nimport { isAstroComponentInstance, isRenderTemplateResult } from \"./astro/index.js\";\nimport { isRenderInstance } from \"./common.js\";\nimport { SlotString } from \"./slot.js\";\nimport { renderToBufferDestination } from \"./util.js\";\nasync function renderChild(destination, child) {\n if (isPromise(child)) {\n child = await child;\n }\n if (child instanceof SlotString) {\n destination.write(child);\n } else if (isHTMLString(child)) {\n destination.write(child);\n } else if (Array.isArray(child)) {\n const childRenders = child.map((c) => {\n return renderToBufferDestination((bufferDestination) => {\n return renderChild(bufferDestination, c);\n });\n });\n for (const childRender of childRenders) {\n if (!childRender) continue;\n await childRender.renderToFinalDestination(destination);\n }\n } else if (typeof child === \"function\") {\n await renderChild(destination, child());\n } else if (typeof child === \"string\") {\n destination.write(markHTMLString(escapeHTML(child)));\n } else if (!child && child !== 0) {\n } else if (isRenderInstance(child)) {\n await child.render(destination);\n } else if (isRenderTemplateResult(child)) {\n await child.render(destination);\n } else if (isAstroComponentInstance(child)) {\n await child.render(destination);\n } else if (ArrayBuffer.isView(child)) {\n destination.write(child);\n } else if (typeof child === \"object\" && (Symbol.asyncIterator in child || Symbol.iterator in child)) {\n for await (const value of child) {\n await renderChild(destination, value);\n }\n } else {\n destination.write(child);\n }\n}\nexport {\n renderChild\n};\n","import { isPromise } from \"../../util.js\";\nimport { renderChild } from \"../any.js\";\nimport { isAPropagatingComponent } from \"./factory.js\";\nimport { isHeadAndContent } from \"./head-and-content.js\";\nconst astroComponentInstanceSym = Symbol.for(\"astro.componentInstance\");\nclass AstroComponentInstance {\n [astroComponentInstanceSym] = true;\n result;\n props;\n slotValues;\n factory;\n returnValue;\n constructor(result, props, slots, factory) {\n this.result = result;\n this.props = props;\n this.factory = factory;\n this.slotValues = {};\n for (const name in slots) {\n let didRender = false;\n let value = slots[name](result);\n this.slotValues[name] = () => {\n if (!didRender) {\n didRender = true;\n return value;\n }\n return slots[name](result);\n };\n }\n }\n async init(result) {\n if (this.returnValue !== void 0) return this.returnValue;\n this.returnValue = this.factory(result, this.props, this.slotValues);\n if (isPromise(this.returnValue)) {\n this.returnValue.then((resolved) => {\n this.returnValue = resolved;\n }).catch(() => {\n });\n }\n return this.returnValue;\n }\n async render(destination) {\n const returnValue = await this.init(this.result);\n if (isHeadAndContent(returnValue)) {\n await returnValue.content.render(destination);\n } else {\n await renderChild(destination, returnValue);\n }\n }\n}\nfunction validateComponentProps(props, displayName) {\n if (props != null) {\n for (const prop of Object.keys(props)) {\n if (prop.startsWith(\"client:\")) {\n console.warn(\n `You are attempting to render <${displayName} ${prop} />, but ${displayName} is an Astro component. Astro components do not render in the client and should not have a hydration directive. Please use a framework component for client rendering.`\n );\n }\n }\n }\n}\nfunction createAstroComponentInstance(result, displayName, factory, props, slots = {}) {\n validateComponentProps(props, displayName);\n const instance = new AstroComponentInstance(result, props, slots, factory);\n if (isAPropagatingComponent(result, factory)) {\n result._metadata.propagators.add(instance);\n }\n return instance;\n}\nfunction isAstroComponentInstance(obj) {\n return typeof obj === \"object\" && !!obj[astroComponentInstanceSym];\n}\nexport {\n AstroComponentInstance,\n createAstroComponentInstance,\n isAstroComponentInstance\n};\n","import { markHTMLString } from \"../escape.js\";\nimport { renderSlotToString } from \"./slot.js\";\nimport { toAttributeString } from \"./util.js\";\nfunction componentIsHTMLElement(Component) {\n return typeof HTMLElement !== \"undefined\" && HTMLElement.isPrototypeOf(Component);\n}\nasync function renderHTMLElement(result, constructor, props, slots) {\n const name = getHTMLElementName(constructor);\n let attrHTML = \"\";\n for (const attr in props) {\n attrHTML += ` ${attr}=\"${toAttributeString(await props[attr])}\"`;\n }\n return markHTMLString(\n `<${name}${attrHTML}>${await renderSlotToString(result, slots?.default)}`\n );\n}\nfunction getHTMLElementName(constructor) {\n const definedName = customElements.getName(constructor);\n if (definedName) return definedName;\n const assignedName = constructor.name.replace(/^HTML|Element$/g, \"\").replace(/[A-Z]/g, \"-$&\").toLowerCase().replace(/^-/, \"html-\");\n return assignedName;\n}\nexport {\n componentIsHTMLElement,\n renderHTMLElement\n};\n","import { decodeBase64, decodeHex, encodeBase64, encodeHexUpperCase } from \"@oslojs/encoding\";\nconst ALGORITHM = \"AES-GCM\";\nasync function createKey() {\n const key = await crypto.subtle.generateKey(\n {\n name: ALGORITHM,\n length: 256\n },\n true,\n [\"encrypt\", \"decrypt\"]\n );\n return key;\n}\nconst ENVIRONMENT_KEY_NAME = \"ASTRO_KEY\";\nfunction getEncodedEnvironmentKey() {\n return process.env[ENVIRONMENT_KEY_NAME] || \"\";\n}\nfunction hasEnvironmentKey() {\n return getEncodedEnvironmentKey() !== \"\";\n}\nasync function getEnvironmentKey() {\n if (!hasEnvironmentKey()) {\n throw new Error(\n `There is no environment key defined. If you see this error there is a bug in Astro.`\n );\n }\n const encodedKey = getEncodedEnvironmentKey();\n return decodeKey(encodedKey);\n}\nasync function importKey(bytes) {\n const key = await crypto.subtle.importKey(\"raw\", bytes, ALGORITHM, true, [\"encrypt\", \"decrypt\"]);\n return key;\n}\nasync function encodeKey(key) {\n const exported = await crypto.subtle.exportKey(\"raw\", key);\n const encodedKey = encodeBase64(new Uint8Array(exported));\n return encodedKey;\n}\nasync function decodeKey(encoded) {\n const bytes = decodeBase64(encoded);\n return crypto.subtle.importKey(\"raw\", bytes, ALGORITHM, true, [\"encrypt\", \"decrypt\"]);\n}\nconst encoder = new TextEncoder();\nconst decoder = new TextDecoder();\nconst IV_LENGTH = 24;\nasync function encryptString(key, raw) {\n const iv = crypto.getRandomValues(new Uint8Array(IV_LENGTH / 2));\n const data = encoder.encode(raw);\n const buffer = await crypto.subtle.encrypt(\n {\n name: ALGORITHM,\n iv\n },\n key,\n data\n );\n return encodeHexUpperCase(iv) + encodeBase64(new Uint8Array(buffer));\n}\nasync function decryptString(key, encoded) {\n const iv = decodeHex(encoded.slice(0, IV_LENGTH));\n const dataArray = decodeBase64(encoded.slice(IV_LENGTH));\n const decryptedBuffer = await crypto.subtle.decrypt(\n {\n name: ALGORITHM,\n iv\n },\n key,\n dataArray\n );\n const decryptedString = decoder.decode(decryptedBuffer);\n return decryptedString;\n}\nexport {\n createKey,\n decodeKey,\n decryptString,\n encodeKey,\n encryptString,\n getEncodedEnvironmentKey,\n getEnvironmentKey,\n hasEnvironmentKey,\n importKey\n};\n","import { encryptString } from \"../../../core/encryption.js\";\nimport { renderChild } from \"./any.js\";\nimport { renderSlotToString } from \"./slot.js\";\nconst internalProps = /* @__PURE__ */ new Set([\n \"server:component-path\",\n \"server:component-export\",\n \"server:component-directive\",\n \"server:defer\"\n]);\nfunction containsServerDirective(props) {\n return \"server:component-directive\" in props;\n}\nfunction safeJsonStringify(obj) {\n return JSON.stringify(obj).replace(/\\u2028/g, \"\\\\u2028\").replace(/\\u2029/g, \"\\\\u2029\").replace(//g, \"\\\\u003e\").replace(/\\//g, \"\\\\u002f\");\n}\nfunction renderServerIsland(result, _displayName, props, slots) {\n return {\n async render(destination) {\n const componentPath = props[\"server:component-path\"];\n const componentExport = props[\"server:component-export\"];\n const componentId = result.serverIslandNameMap.get(componentPath);\n if (!componentId) {\n throw new Error(`Could not find server component name`);\n }\n for (const key2 of Object.keys(props)) {\n if (internalProps.has(key2)) {\n delete props[key2];\n }\n }\n destination.write(\"\");\n const renderedSlots = {};\n for (const name in slots) {\n if (name !== \"fallback\") {\n const content = await renderSlotToString(result, slots[name]);\n renderedSlots[name] = content.toString();\n } else {\n await renderChild(destination, slots.fallback(result));\n }\n }\n const key = await result.key;\n const propsEncrypted = await encryptString(key, JSON.stringify(props));\n const hostId = crypto.randomUUID();\n const slash = result.base.endsWith(\"/\") ? \"\" : \"/\";\n const serverIslandUrl = `${result.base}${slash}_server-islands/${componentId}${result.trailingSlash === \"always\" ? \"/\" : \"\"}`;\n destination.write(``);\n }\n };\n}\nexport {\n containsServerDirective,\n renderServerIsland\n};\n","import { createRenderInstruction } from \"./instruction.js\";\nimport { clsx } from \"clsx\";\nimport { AstroError, AstroErrorData } from \"../../../core/errors/index.js\";\nimport { markHTMLString } from \"../escape.js\";\nimport { extractDirectives, generateHydrateScript } from \"../hydration.js\";\nimport { serializeProps } from \"../serialize.js\";\nimport { shorthash } from \"../shorthash.js\";\nimport { isPromise } from \"../util.js\";\nimport { isAstroComponentFactory } from \"./astro/factory.js\";\nimport { renderTemplate } from \"./astro/index.js\";\nimport { createAstroComponentInstance } from \"./astro/instance.js\";\nimport {\n Fragment,\n Renderer,\n chunkToString\n} from \"./common.js\";\nimport { componentIsHTMLElement, renderHTMLElement } from \"./dom.js\";\nimport { maybeRenderHead } from \"./head.js\";\nimport { containsServerDirective, renderServerIsland } from \"./server-islands.js\";\nimport { renderSlotToString, renderSlots } from \"./slot.js\";\nimport { formatList, internalSpreadAttributes, renderElement, voidElementNames } from \"./util.js\";\nconst needsHeadRenderingSymbol = Symbol.for(\"astro.needsHeadRendering\");\nconst rendererAliases = /* @__PURE__ */ new Map([[\"solid\", \"solid-js\"]]);\nconst clientOnlyValues = /* @__PURE__ */ new Set([\"solid-js\", \"react\", \"preact\", \"vue\", \"svelte\", \"lit\"]);\nfunction guessRenderers(componentUrl) {\n const extname = componentUrl?.split(\".\").pop();\n switch (extname) {\n case \"svelte\":\n return [\"@astrojs/svelte\"];\n case \"vue\":\n return [\"@astrojs/vue\"];\n case \"jsx\":\n case \"tsx\":\n return [\"@astrojs/react\", \"@astrojs/preact\", \"@astrojs/solid-js\", \"@astrojs/vue (jsx)\"];\n default:\n return [\n \"@astrojs/react\",\n \"@astrojs/preact\",\n \"@astrojs/solid-js\",\n \"@astrojs/vue\",\n \"@astrojs/svelte\",\n \"@astrojs/lit\"\n ];\n }\n}\nfunction isFragmentComponent(Component) {\n return Component === Fragment;\n}\nfunction isHTMLComponent(Component) {\n return Component && Component[\"astro:html\"] === true;\n}\nconst ASTRO_SLOT_EXP = /<\\/?astro-slot\\b[^>]*>/g;\nconst ASTRO_STATIC_SLOT_EXP = /<\\/?astro-static-slot\\b[^>]*>/g;\nfunction removeStaticAstroSlot(html, supportsAstroStaticSlot = true) {\n const exp = supportsAstroStaticSlot ? ASTRO_STATIC_SLOT_EXP : ASTRO_SLOT_EXP;\n return html.replace(exp, \"\");\n}\nasync function renderFrameworkComponent(result, displayName, Component, _props, slots = {}) {\n if (!Component && \"client:only\" in _props === false) {\n throw new Error(\n `Unable to render ${displayName} because it is ${Component}!\nDid you forget to import the component or is it possible there is a typo?`\n );\n }\n const { renderers, clientDirectives } = result;\n const metadata = {\n astroStaticSlot: true,\n displayName\n };\n const { hydration, isPage, props, propsWithoutTransitionAttributes } = extractDirectives(\n _props,\n clientDirectives\n );\n let html = \"\";\n let attrs = void 0;\n if (hydration) {\n metadata.hydrate = hydration.directive;\n metadata.hydrateArgs = hydration.value;\n metadata.componentExport = hydration.componentExport;\n metadata.componentUrl = hydration.componentUrl;\n }\n const probableRendererNames = guessRenderers(metadata.componentUrl);\n const validRenderers = renderers.filter((r) => r.name !== \"astro:jsx\");\n const { children, slotInstructions } = await renderSlots(result, slots);\n let renderer;\n if (metadata.hydrate !== \"only\") {\n let isTagged = false;\n try {\n isTagged = Component && Component[Renderer];\n } catch {\n }\n if (isTagged) {\n const rendererName = Component[Renderer];\n renderer = renderers.find(({ name }) => name === rendererName);\n }\n if (!renderer) {\n let error;\n for (const r of renderers) {\n try {\n if (await r.ssr.check.call({ result }, Component, props, children)) {\n renderer = r;\n break;\n }\n } catch (e) {\n error ??= e;\n }\n }\n if (!renderer && error) {\n throw error;\n }\n }\n if (!renderer && typeof HTMLElement === \"function\" && componentIsHTMLElement(Component)) {\n const output = await renderHTMLElement(\n result,\n Component,\n _props,\n slots\n );\n return {\n render(destination) {\n destination.write(output);\n }\n };\n }\n } else {\n if (metadata.hydrateArgs) {\n const rendererName = rendererAliases.has(metadata.hydrateArgs) ? rendererAliases.get(metadata.hydrateArgs) : metadata.hydrateArgs;\n if (clientOnlyValues.has(rendererName)) {\n renderer = renderers.find(\n ({ name }) => name === `@astrojs/${rendererName}` || name === rendererName\n );\n }\n }\n if (!renderer && validRenderers.length === 1) {\n renderer = validRenderers[0];\n }\n if (!renderer) {\n const extname = metadata.componentUrl?.split(\".\").pop();\n renderer = renderers.find(({ name }) => name === `@astrojs/${extname}` || name === extname);\n }\n }\n let componentServerRenderEndTime;\n if (!renderer) {\n if (metadata.hydrate === \"only\") {\n const rendererName = rendererAliases.has(metadata.hydrateArgs) ? rendererAliases.get(metadata.hydrateArgs) : metadata.hydrateArgs;\n if (clientOnlyValues.has(rendererName)) {\n const plural = validRenderers.length > 1;\n throw new AstroError({\n ...AstroErrorData.NoMatchingRenderer,\n message: AstroErrorData.NoMatchingRenderer.message(\n metadata.displayName,\n metadata?.componentUrl?.split(\".\").pop(),\n plural,\n validRenderers.length\n ),\n hint: AstroErrorData.NoMatchingRenderer.hint(\n formatList(probableRendererNames.map((r) => \"`\" + r + \"`\"))\n )\n });\n } else {\n throw new AstroError({\n ...AstroErrorData.NoClientOnlyHint,\n message: AstroErrorData.NoClientOnlyHint.message(metadata.displayName),\n hint: AstroErrorData.NoClientOnlyHint.hint(\n probableRendererNames.map((r) => r.replace(\"@astrojs/\", \"\")).join(\"|\")\n )\n });\n }\n } else if (typeof Component !== \"string\") {\n const matchingRenderers = validRenderers.filter(\n (r) => probableRendererNames.includes(r.name)\n );\n const plural = validRenderers.length > 1;\n if (matchingRenderers.length === 0) {\n throw new AstroError({\n ...AstroErrorData.NoMatchingRenderer,\n message: AstroErrorData.NoMatchingRenderer.message(\n metadata.displayName,\n metadata?.componentUrl?.split(\".\").pop(),\n plural,\n validRenderers.length\n ),\n hint: AstroErrorData.NoMatchingRenderer.hint(\n formatList(probableRendererNames.map((r) => \"`\" + r + \"`\"))\n )\n });\n } else if (matchingRenderers.length === 1) {\n renderer = matchingRenderers[0];\n ({ html, attrs } = await renderer.ssr.renderToStaticMarkup.call(\n { result },\n Component,\n propsWithoutTransitionAttributes,\n children,\n metadata\n ));\n } else {\n throw new Error(`Unable to render ${metadata.displayName}!\n\nThis component likely uses ${formatList(probableRendererNames)},\nbut Astro encountered an error during server-side rendering.\n\nPlease ensure that ${metadata.displayName}:\n1. Does not unconditionally access browser-specific globals like \\`window\\` or \\`document\\`.\n If this is unavoidable, use the \\`client:only\\` hydration directive.\n2. Does not conditionally return \\`null\\` or \\`undefined\\` when rendered on the server.\n\nIf you're still stuck, please open an issue on GitHub or join us at https://astro.build/chat.`);\n }\n }\n } else {\n if (metadata.hydrate === \"only\") {\n const rendererName = rendererAliases.has(metadata.hydrateArgs) ? rendererAliases.get(metadata.hydrateArgs) : metadata.hydrateArgs;\n if (!clientOnlyValues.has(rendererName)) {\n console.warn(\n `The client:only directive for ${metadata.displayName} is not recognized. The renderer ${renderer.name} will be used. If you intended to use a different renderer, please provide a valid client:only directive.`\n );\n }\n html = await renderSlotToString(result, slots?.fallback);\n } else {\n const componentRenderStartTime = performance.now();\n ({ html, attrs } = await renderer.ssr.renderToStaticMarkup.call(\n { result },\n Component,\n propsWithoutTransitionAttributes,\n children,\n metadata\n ));\n if (process.env.NODE_ENV === \"development\")\n componentServerRenderEndTime = performance.now() - componentRenderStartTime;\n }\n }\n if (renderer && !renderer.clientEntrypoint && renderer.name !== \"@astrojs/lit\" && metadata.hydrate) {\n throw new AstroError({\n ...AstroErrorData.NoClientEntrypoint,\n message: AstroErrorData.NoClientEntrypoint.message(\n displayName,\n metadata.hydrate,\n renderer.name\n )\n });\n }\n if (!html && typeof Component === \"string\") {\n const Tag = sanitizeElementName(Component);\n const childSlots = Object.values(children).join(\"\");\n const renderTemplateResult = renderTemplate`<${Tag}${internalSpreadAttributes(\n props\n )}${markHTMLString(\n childSlots === \"\" && voidElementNames.test(Tag) ? `/>` : `>${childSlots}`\n )}`;\n html = \"\";\n const destination = {\n write(chunk) {\n if (chunk instanceof Response) return;\n html += chunkToString(result, chunk);\n }\n };\n await renderTemplateResult.render(destination);\n }\n if (!hydration) {\n return {\n render(destination) {\n if (slotInstructions) {\n for (const instruction of slotInstructions) {\n destination.write(instruction);\n }\n }\n if (isPage || renderer?.name === \"astro:jsx\") {\n destination.write(html);\n } else if (html && html.length > 0) {\n destination.write(\n markHTMLString(removeStaticAstroSlot(html, renderer?.ssr?.supportsAstroStaticSlot))\n );\n }\n }\n };\n }\n const astroId = shorthash(\n `\n${html}\n${serializeProps(\n props,\n metadata\n )}`\n );\n const island = await generateHydrateScript(\n { renderer, result, astroId, props, attrs },\n metadata\n );\n if (componentServerRenderEndTime && process.env.NODE_ENV === \"development\")\n island.props[\"server-render-time\"] = componentServerRenderEndTime;\n let unrenderedSlots = [];\n if (html) {\n if (Object.keys(children).length > 0) {\n for (const key of Object.keys(children)) {\n let tagName = renderer?.ssr?.supportsAstroStaticSlot ? !!metadata.hydrate ? \"astro-slot\" : \"astro-static-slot\" : \"astro-slot\";\n let expectedHTML = key === \"default\" ? `<${tagName}>` : `<${tagName} name=\"${key}\">`;\n if (!html.includes(expectedHTML)) {\n unrenderedSlots.push(key);\n }\n }\n }\n } else {\n unrenderedSlots = Object.keys(children);\n }\n const template = unrenderedSlots.length > 0 ? unrenderedSlots.map(\n (key) => ``\n ).join(\"\") : \"\";\n island.children = `${html ?? \"\"}${template}`;\n if (island.children) {\n island.props[\"await-children\"] = \"\";\n island.children += ``;\n }\n return {\n render(destination) {\n if (slotInstructions) {\n for (const instruction of slotInstructions) {\n destination.write(instruction);\n }\n }\n destination.write(createRenderInstruction({ type: \"directive\", hydration }));\n if (hydration.directive !== \"only\" && renderer?.ssr.renderHydrationScript) {\n destination.write(\n createRenderInstruction({\n type: \"renderer-hydration-script\",\n rendererName: renderer.name,\n render: renderer.ssr.renderHydrationScript\n })\n );\n }\n const renderedElement = renderElement(\"astro-island\", island, false);\n destination.write(markHTMLString(renderedElement));\n }\n };\n}\nfunction sanitizeElementName(tag) {\n const unsafe = /[&<>'\"\\s]+/;\n if (!unsafe.test(tag)) return tag;\n return tag.trim().split(unsafe)[0].trim();\n}\nasync function renderFragmentComponent(result, slots = {}) {\n const children = await renderSlotToString(result, slots?.default);\n return {\n render(destination) {\n if (children == null) return;\n destination.write(children);\n }\n };\n}\nasync function renderHTMLComponent(result, Component, _props, slots = {}) {\n const { slotInstructions, children } = await renderSlots(result, slots);\n const html = Component({ slots: children });\n const hydrationHtml = slotInstructions ? slotInstructions.map((instr) => chunkToString(result, instr)).join(\"\") : \"\";\n return {\n render(destination) {\n destination.write(markHTMLString(hydrationHtml + html));\n }\n };\n}\nfunction renderAstroComponent(result, displayName, Component, props, slots = {}) {\n if (containsServerDirective(props)) {\n return renderServerIsland(result, displayName, props, slots);\n }\n const instance = createAstroComponentInstance(result, displayName, Component, props, slots);\n return {\n async render(destination) {\n await instance.render(destination);\n }\n };\n}\nasync function renderComponent(result, displayName, Component, props, slots = {}) {\n if (isPromise(Component)) {\n Component = await Component.catch(handleCancellation);\n }\n if (isFragmentComponent(Component)) {\n return await renderFragmentComponent(result, slots).catch(handleCancellation);\n }\n props = normalizeProps(props);\n if (isHTMLComponent(Component)) {\n return await renderHTMLComponent(result, Component, props, slots).catch(handleCancellation);\n }\n if (isAstroComponentFactory(Component)) {\n return renderAstroComponent(result, displayName, Component, props, slots);\n }\n return await renderFrameworkComponent(result, displayName, Component, props, slots).catch(\n handleCancellation\n );\n function handleCancellation(e) {\n if (result.cancelled)\n return {\n render() {\n }\n };\n throw e;\n }\n}\nfunction normalizeProps(props) {\n if (props[\"class:list\"] !== void 0) {\n const value = props[\"class:list\"];\n delete props[\"class:list\"];\n props[\"class\"] = clsx(props[\"class\"], value);\n if (props[\"class\"] === \"\") {\n delete props[\"class\"];\n }\n }\n return props;\n}\nasync function renderComponentToString(result, displayName, Component, props, slots = {}, isPage = false, route) {\n let str = \"\";\n let renderedFirstPageChunk = false;\n let head = \"\";\n if (isPage && !result.partial && nonAstroPageNeedsHeadInjection(Component)) {\n head += chunkToString(result, maybeRenderHead());\n }\n try {\n const destination = {\n write(chunk) {\n if (isPage && !result.partial && !renderedFirstPageChunk) {\n renderedFirstPageChunk = true;\n if (!/\" : \"\\n\";\n str += doctype + head;\n }\n }\n if (chunk instanceof Response) return;\n str += chunkToString(result, chunk);\n }\n };\n const renderInstance = await renderComponent(result, displayName, Component, props, slots);\n await renderInstance.render(destination);\n } catch (e) {\n if (AstroError.is(e) && !e.loc) {\n e.setLocation({\n file: route?.component\n });\n }\n throw e;\n }\n return str;\n}\nfunction nonAstroPageNeedsHeadInjection(pageComponent) {\n return !!pageComponent?.[needsHeadRenderingSymbol];\n}\nexport {\n renderComponent,\n renderComponentToString\n};\n","import { markHTMLString } from \"../escape.js\";\nasync function renderScript(result, id) {\n if (result._metadata.renderedScripts.has(id)) return;\n result._metadata.renderedScripts.add(id);\n const inlined = result.inlinedScripts.get(id);\n if (inlined != null) {\n if (inlined) {\n return markHTMLString(``);\n } else {\n return \"\";\n }\n }\n const resolved = await result.resolve(id);\n return markHTMLString(``);\n}\nexport {\n renderScript\n};\n","import cssesc from \"cssesc\";\nimport { fade, slide } from \"../../transitions/index.js\";\nimport { markHTMLString } from \"./escape.js\";\nconst transitionNameMap = /* @__PURE__ */ new WeakMap();\nfunction incrementTransitionNumber(result) {\n let num = 1;\n if (transitionNameMap.has(result)) {\n num = transitionNameMap.get(result) + 1;\n }\n transitionNameMap.set(result, num);\n return num;\n}\nfunction createTransitionScope(result, hash) {\n const num = incrementTransitionNumber(result);\n return `astro-${hash}-${num}`;\n}\nconst getAnimations = (name) => {\n if (name === \"fade\") return fade();\n if (name === \"slide\") return slide();\n if (typeof name === \"object\") return name;\n};\nconst addPairs = (animations, stylesheet) => {\n for (const [direction, images] of Object.entries(animations)) {\n for (const [image, rules] of Object.entries(images)) {\n stylesheet.addAnimationPair(direction, image, rules);\n }\n }\n};\nconst reEncodeValidChars = \"0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ-_\".split(\"\").reduce((v, c) => (v[c.charCodeAt(0)] = c, v), []);\nconst reEncodeInValidStart = \"-0123456789_\".split(\"\").reduce((v, c) => (v[c.charCodeAt(0)] = c, v), []);\nfunction reEncode(s) {\n let result = \"\";\n let codepoint;\n for (let i = 0; i < s.length; i += (codepoint ?? 0) > 65535 ? 2 : 1) {\n codepoint = s.codePointAt(i);\n if (codepoint !== void 0) {\n result += codepoint < 128 ? codepoint === 95 ? \"__\" : reEncodeValidChars[codepoint] ?? \"_\" + codepoint.toString(16).padStart(2, \"0\") : String.fromCodePoint(codepoint);\n }\n }\n return reEncodeInValidStart[result.codePointAt(0) ?? 0] ? \"_\" + result : result;\n}\nfunction renderTransition(result, hash, animationName, transitionName) {\n if (typeof (transitionName ?? \"\") !== \"string\") {\n throw new Error(`Invalid transition name {${transitionName}}`);\n }\n if (!animationName) animationName = \"fade\";\n const scope = createTransitionScope(result, hash);\n const name = transitionName ? cssesc(reEncode(transitionName), { isIdentifier: true }) : scope;\n const sheet = new ViewTransitionStyleSheet(scope, name);\n const animations = getAnimations(animationName);\n if (animations) {\n addPairs(animations, sheet);\n } else if (animationName === \"none\") {\n sheet.addFallback(\"old\", \"animation: none; mix-blend-mode: normal;\");\n sheet.addModern(\"old\", \"animation: none; opacity: 0; mix-blend-mode: normal;\");\n sheet.addAnimationRaw(\"new\", \"animation: none; mix-blend-mode: normal;\");\n sheet.addModern(\"group\", \"animation: none\");\n }\n result._metadata.extraHead.push(markHTMLString(``));\n return scope;\n}\nfunction createAnimationScope(transitionName, animations) {\n const hash = Math.random().toString(36).slice(2, 8);\n const scope = `astro-${hash}`;\n const sheet = new ViewTransitionStyleSheet(scope, transitionName);\n addPairs(animations, sheet);\n return { scope, styles: sheet.toString().replaceAll('\"', \"\") };\n}\nclass ViewTransitionStyleSheet {\n constructor(scope, name) {\n this.scope = scope;\n this.name = name;\n }\n modern = [];\n fallback = [];\n toString() {\n const { scope, name } = this;\n const [modern, fallback] = [this.modern, this.fallback].map((rules) => rules.join(\"\"));\n return [\n `[data-astro-transition-scope=\"${scope}\"] { view-transition-name: ${name}; }`,\n this.layer(modern),\n fallback\n ].join(\"\");\n }\n layer(cssText) {\n return cssText ? `@layer astro { ${cssText} }` : \"\";\n }\n addRule(target, cssText) {\n this[target].push(cssText);\n }\n addAnimationRaw(image, animation) {\n this.addModern(image, animation);\n this.addFallback(image, animation);\n }\n addModern(image, animation) {\n const { name } = this;\n this.addRule(\"modern\", `::view-transition-${image}(${name}) { ${animation} }`);\n }\n addFallback(image, animation) {\n const { scope } = this;\n this.addRule(\n \"fallback\",\n // Two selectors here, the second in case there is an animation on the root.\n `[data-astro-transition-fallback=\"${image}\"] [data-astro-transition-scope=\"${scope}\"],\n\t\t\t[data-astro-transition-fallback=\"${image}\"][data-astro-transition-scope=\"${scope}\"] { ${animation} }`\n );\n }\n addAnimationPair(direction, image, rules) {\n const { scope, name } = this;\n const animation = stringifyAnimation(rules);\n const prefix = direction === \"backwards\" ? `[data-astro-transition=back]` : direction === \"forwards\" ? \"\" : `[data-astro-transition=${direction}]`;\n this.addRule(\"modern\", `${prefix}::view-transition-${image}(${name}) { ${animation} }`);\n this.addRule(\n \"fallback\",\n `${prefix}[data-astro-transition-fallback=\"${image}\"] [data-astro-transition-scope=\"${scope}\"],\n\t\t\t${prefix}[data-astro-transition-fallback=\"${image}\"][data-astro-transition-scope=\"${scope}\"] { ${animation} }`\n );\n }\n}\nfunction addAnimationProperty(builder, prop, value) {\n let arr = builder[prop];\n if (Array.isArray(arr)) {\n arr.push(value.toString());\n } else {\n builder[prop] = [value.toString()];\n }\n}\nfunction animationBuilder() {\n return {\n toString() {\n let out = \"\";\n for (let k in this) {\n let value = this[k];\n if (Array.isArray(value)) {\n out += `\n\t${k}: ${value.join(\", \")};`;\n }\n }\n return out;\n }\n };\n}\nfunction stringifyAnimation(anim) {\n if (Array.isArray(anim)) {\n return stringifyAnimations(anim);\n } else {\n return stringifyAnimations([anim]);\n }\n}\nfunction stringifyAnimations(anims) {\n const builder = animationBuilder();\n for (const anim of anims) {\n if (anim.duration) {\n addAnimationProperty(builder, \"animation-duration\", toTimeValue(anim.duration));\n }\n if (anim.easing) {\n addAnimationProperty(builder, \"animation-timing-function\", anim.easing);\n }\n if (anim.direction) {\n addAnimationProperty(builder, \"animation-direction\", anim.direction);\n }\n if (anim.delay) {\n addAnimationProperty(builder, \"animation-delay\", anim.delay);\n }\n if (anim.fillMode) {\n addAnimationProperty(builder, \"animation-fill-mode\", anim.fillMode);\n }\n addAnimationProperty(builder, \"animation-name\", anim.name);\n }\n return builder.toString();\n}\nfunction toTimeValue(num) {\n return typeof num === \"number\" ? num + \"ms\" : num;\n}\nexport {\n createAnimationScope,\n createTransitionScope,\n renderTransition\n};\n","import { createComponent } from \"./astro-component.js\";\nimport { createAstro } from \"./astro-global.js\";\nimport { renderEndpoint } from \"./endpoint.js\";\nimport {\n escapeHTML,\n HTMLBytes,\n HTMLString,\n isHTMLString,\n markHTMLString,\n unescapeHTML\n} from \"./escape.js\";\nimport { renderJSX } from \"./jsx.js\";\nimport {\n addAttribute,\n createHeadAndContent,\n defineScriptVars,\n Fragment,\n maybeRenderHead,\n renderTemplate,\n renderComponent,\n Renderer,\n renderHead,\n renderHTMLElement,\n renderPage,\n renderScript,\n renderScriptElement,\n renderSlot,\n renderSlotToString,\n renderTemplate as renderTemplate2,\n renderToString,\n renderUniqueStylesheet,\n voidElementNames\n} from \"./render/index.js\";\nimport { createTransitionScope, renderTransition } from \"./transition.js\";\nimport { markHTMLString as markHTMLString2 } from \"./escape.js\";\nimport { Renderer as Renderer2, addAttribute as addAttribute2 } from \"./render/index.js\";\nfunction mergeSlots(...slotted) {\n const slots = {};\n for (const slot of slotted) {\n if (!slot) continue;\n if (typeof slot === \"object\") {\n Object.assign(slots, slot);\n } else if (typeof slot === \"function\") {\n Object.assign(slots, mergeSlots(slot()));\n }\n }\n return slots;\n}\nfunction __astro_tag_component__(Component, rendererName) {\n if (!Component) return;\n if (typeof Component !== \"function\") return;\n Object.defineProperty(Component, Renderer2, {\n value: rendererName,\n enumerable: false,\n writable: false\n });\n}\nfunction spreadAttributes(values = {}, _name, { class: scopedClassName } = {}) {\n let output = \"\";\n if (scopedClassName) {\n if (typeof values.class !== \"undefined\") {\n values.class += ` ${scopedClassName}`;\n } else if (typeof values[\"class:list\"] !== \"undefined\") {\n values[\"class:list\"] = [values[\"class:list\"], scopedClassName];\n } else {\n values.class = scopedClassName;\n }\n }\n for (const [key, value] of Object.entries(values)) {\n output += addAttribute2(value, key, true);\n }\n return markHTMLString2(output);\n}\nfunction defineStyleVars(defs) {\n let output = \"\";\n let arr = !Array.isArray(defs) ? [defs] : defs;\n for (const vars of arr) {\n for (const [key, value] of Object.entries(vars)) {\n if (value || value === 0) {\n output += `--${key}: ${value};`;\n }\n }\n }\n return markHTMLString2(output);\n}\nexport {\n Fragment,\n HTMLBytes,\n HTMLString,\n Renderer,\n __astro_tag_component__,\n addAttribute,\n createAstro,\n createComponent,\n createHeadAndContent,\n createTransitionScope,\n defineScriptVars,\n defineStyleVars,\n escapeHTML,\n isHTMLString,\n markHTMLString,\n maybeRenderHead,\n mergeSlots,\n renderTemplate as render,\n renderComponent,\n renderEndpoint,\n renderHTMLElement,\n renderHead,\n renderJSX,\n renderPage,\n renderScript,\n renderScriptElement,\n renderSlot,\n renderSlotToString,\n renderTemplate2 as renderTemplate,\n renderToString,\n renderTransition,\n renderUniqueStylesheet,\n spreadAttributes,\n unescapeHTML,\n voidElementNames\n};\n"],"names":["AstroErrorData.InvalidComponentArgs","AstroErrorData.AstroGlobUsedOutside","AstroErrorData.AstroGlobNoMatch","AstroErrorData.MissingMediaQueryDirective","AstroErrorData.NoMatchingImport","islandScriptDev","islandScript","AstroErrorData.NoMatchingRenderer","AstroErrorData.NoClientOnlyHint","AstroErrorData.NoClientEntrypoint","addAttribute2","markHTMLString2"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31]} \ No newline at end of file diff --git a/Target/chunks/astro_C1zTttzl.mjs.map b/Target/chunks/astro_C1zTttzl.mjs.map new file mode 100644 index 00000000..45036870 --- /dev/null +++ b/Target/chunks/astro_C1zTttzl.mjs.map @@ -0,0 +1 @@ +{"version":3,"file":"astro_C1zTttzl.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;"} \ No newline at end of file diff --git a/Target/manifest_CbGw4IK0.mjs.map b/Target/manifest_CbGw4IK0.mjs.map new file mode 100644 index 00000000..9e8fdb07 --- /dev/null +++ b/Target/manifest_CbGw4IK0.mjs.map @@ -0,0 +1 @@ +{"version":3,"file":"manifest_CbGw4IK0.mjs","sources":["../../../../../node_modules/astro/dist/core/middleware/noop-middleware.js","../../../../../node_modules/astro/dist/actions/runtime/virtual/shared.js","../../../../../node_modules/astro/dist/core/routing/manifest/generator.js","../../../../../node_modules/astro/dist/core/routing/manifest/serialization.js","../../../../../node_modules/astro/dist/core/app/common.js"],"sourcesContent":["const NOOP_MIDDLEWARE_FN = (_, next) => next();\nexport {\n NOOP_MIDDLEWARE_FN\n};\n","import { parse as devalueParse, stringify as devalueStringify } from \"devalue\";\nimport { REDIRECT_STATUS_CODES } from \"../../../core/constants.js\";\nimport { ActionsReturnedInvalidDataError } from \"../../../core/errors/errors-data.js\";\nimport { AstroError } from \"../../../core/errors/errors.js\";\nimport { ACTION_QUERY_PARAMS as _ACTION_QUERY_PARAMS } from \"../../consts.js\";\nconst ACTION_QUERY_PARAMS = _ACTION_QUERY_PARAMS;\nconst ACTION_ERROR_CODES = [\n \"BAD_REQUEST\",\n \"UNAUTHORIZED\",\n \"FORBIDDEN\",\n \"NOT_FOUND\",\n \"TIMEOUT\",\n \"CONFLICT\",\n \"PRECONDITION_FAILED\",\n \"PAYLOAD_TOO_LARGE\",\n \"UNSUPPORTED_MEDIA_TYPE\",\n \"UNPROCESSABLE_CONTENT\",\n \"TOO_MANY_REQUESTS\",\n \"CLIENT_CLOSED_REQUEST\",\n \"INTERNAL_SERVER_ERROR\"\n];\nconst codeToStatusMap = {\n // Implemented from tRPC error code table\n // https://trpc.io/docs/server/error-handling#error-codes\n BAD_REQUEST: 400,\n UNAUTHORIZED: 401,\n FORBIDDEN: 403,\n NOT_FOUND: 404,\n TIMEOUT: 405,\n CONFLICT: 409,\n PRECONDITION_FAILED: 412,\n PAYLOAD_TOO_LARGE: 413,\n UNSUPPORTED_MEDIA_TYPE: 415,\n UNPROCESSABLE_CONTENT: 422,\n TOO_MANY_REQUESTS: 429,\n CLIENT_CLOSED_REQUEST: 499,\n INTERNAL_SERVER_ERROR: 500\n};\nconst statusToCodeMap = Object.entries(codeToStatusMap).reduce(\n // reverse the key-value pairs\n (acc, [key, value]) => ({ ...acc, [value]: key }),\n {}\n);\nclass ActionError extends Error {\n type = \"AstroActionError\";\n code = \"INTERNAL_SERVER_ERROR\";\n status = 500;\n constructor(params) {\n super(params.message);\n this.code = params.code;\n this.status = ActionError.codeToStatus(params.code);\n if (params.stack) {\n this.stack = params.stack;\n }\n }\n static codeToStatus(code) {\n return codeToStatusMap[code];\n }\n static statusToCode(status) {\n return statusToCodeMap[status] ?? \"INTERNAL_SERVER_ERROR\";\n }\n static fromJson(body) {\n if (isInputError(body)) {\n return new ActionInputError(body.issues);\n }\n if (isActionError(body)) {\n return new ActionError(body);\n }\n return new ActionError({\n code: \"INTERNAL_SERVER_ERROR\"\n });\n }\n}\nfunction isActionError(error) {\n return typeof error === \"object\" && error != null && \"type\" in error && error.type === \"AstroActionError\";\n}\nfunction isInputError(error) {\n return typeof error === \"object\" && error != null && \"type\" in error && error.type === \"AstroActionInputError\" && \"issues\" in error && Array.isArray(error.issues);\n}\nclass ActionInputError extends ActionError {\n type = \"AstroActionInputError\";\n // We don't expose all ZodError properties.\n // Not all properties will serialize from server to client,\n // and we don't want to import the full ZodError object into the client.\n issues;\n fields;\n constructor(issues) {\n super({\n message: `Failed to validate: ${JSON.stringify(issues, null, 2)}`,\n code: \"BAD_REQUEST\"\n });\n this.issues = issues;\n this.fields = {};\n for (const issue of issues) {\n if (issue.path.length > 0) {\n const key = issue.path[0].toString();\n this.fields[key] ??= [];\n this.fields[key]?.push(issue.message);\n }\n }\n }\n}\nasync function callSafely(handler) {\n try {\n const data = await handler();\n return { data, error: void 0 };\n } catch (e) {\n if (e instanceof ActionError) {\n return { data: void 0, error: e };\n }\n return {\n data: void 0,\n error: new ActionError({\n message: e instanceof Error ? e.message : \"Unknown error\",\n code: \"INTERNAL_SERVER_ERROR\"\n })\n };\n }\n}\nfunction getActionQueryString(name) {\n const searchParams = new URLSearchParams({ [_ACTION_QUERY_PARAMS.actionName]: name });\n return `?${searchParams.toString()}`;\n}\nfunction serializeActionResult(res) {\n if (res.error) {\n if (import.meta.env?.DEV) {\n actionResultErrorStack.set(res.error.stack);\n }\n return {\n type: \"error\",\n status: res.error.status,\n contentType: \"application/json\",\n body: JSON.stringify({\n ...res.error,\n message: res.error.message\n })\n };\n }\n if (res.data === void 0) {\n return {\n type: \"empty\",\n status: 204\n };\n }\n let body;\n try {\n body = devalueStringify(res.data, {\n // Add support for URL objects\n URL: (value) => value instanceof URL && value.href\n });\n } catch (e) {\n let hint = ActionsReturnedInvalidDataError.hint;\n if (res.data instanceof Response) {\n hint = REDIRECT_STATUS_CODES.includes(res.data.status) ? \"If you need to redirect when the action succeeds, trigger a redirect where the action is called. See the Actions guide for server and client redirect examples: https://docs.astro.build/en/guides/actions.\" : \"If you need to return a Response object, try using a server endpoint instead. See https://docs.astro.build/en/guides/endpoints/#server-endpoints-api-routes\";\n }\n throw new AstroError({\n ...ActionsReturnedInvalidDataError,\n message: ActionsReturnedInvalidDataError.message(String(e)),\n hint\n });\n }\n return {\n type: \"data\",\n status: 200,\n contentType: \"application/json+devalue\",\n body\n };\n}\nfunction deserializeActionResult(res) {\n if (res.type === \"error\") {\n let json;\n try {\n json = JSON.parse(res.body);\n } catch {\n return {\n data: void 0,\n error: new ActionError({\n message: res.body,\n code: \"INTERNAL_SERVER_ERROR\"\n })\n };\n }\n if (import.meta.env?.PROD) {\n return { error: ActionError.fromJson(json), data: void 0 };\n } else {\n const error = ActionError.fromJson(json);\n error.stack = actionResultErrorStack.get();\n return {\n error,\n data: void 0\n };\n }\n }\n if (res.type === \"empty\") {\n return { data: void 0, error: void 0 };\n }\n return {\n data: devalueParse(res.body, {\n URL: (href) => new URL(href)\n }),\n error: void 0\n };\n}\nconst actionResultErrorStack = /* @__PURE__ */ function actionResultErrorStackFn() {\n let errorStack;\n return {\n set(stack) {\n errorStack = stack;\n },\n get() {\n return errorStack;\n }\n };\n}();\nexport {\n ACTION_ERROR_CODES,\n ACTION_QUERY_PARAMS,\n ActionError,\n ActionInputError,\n callSafely,\n deserializeActionResult,\n getActionQueryString,\n isActionError,\n isInputError,\n serializeActionResult\n};\n","function sanitizeParams(params) {\n return Object.fromEntries(\n Object.entries(params).map(([key, value]) => {\n if (typeof value === \"string\") {\n return [key, value.normalize().replace(/#/g, \"%23\").replace(/\\?/g, \"%3F\")];\n }\n return [key, value];\n })\n );\n}\nfunction getParameter(part, params) {\n if (part.spread) {\n return params[part.content.slice(3)] || \"\";\n }\n if (part.dynamic) {\n if (!params[part.content]) {\n throw new TypeError(`Missing parameter: ${part.content}`);\n }\n return params[part.content];\n }\n return part.content.normalize().replace(/\\?/g, \"%3F\").replace(/#/g, \"%23\").replace(/%5B/g, \"[\").replace(/%5D/g, \"]\");\n}\nfunction getSegment(segment, params) {\n const segmentPath = segment.map((part) => getParameter(part, params)).join(\"\");\n return segmentPath ? \"/\" + segmentPath : \"\";\n}\nfunction getRouteGenerator(segments, addTrailingSlash) {\n return (params) => {\n const sanitizedParams = sanitizeParams(params);\n let trailing = \"\";\n if (addTrailingSlash === \"always\" && segments.length) {\n trailing = \"/\";\n }\n const path = segments.map((segment) => getSegment(segment, sanitizedParams)).join(\"\") + trailing;\n return path || \"/\";\n };\n}\nexport {\n getRouteGenerator\n};\n","import { getRouteGenerator } from \"./generator.js\";\nfunction serializeRouteData(routeData, trailingSlash) {\n return {\n ...routeData,\n generate: void 0,\n pattern: routeData.pattern.source,\n redirectRoute: routeData.redirectRoute ? serializeRouteData(routeData.redirectRoute, trailingSlash) : void 0,\n fallbackRoutes: routeData.fallbackRoutes.map((fallbackRoute) => {\n return serializeRouteData(fallbackRoute, trailingSlash);\n }),\n _meta: { trailingSlash }\n };\n}\nfunction deserializeRouteData(rawRouteData) {\n return {\n route: rawRouteData.route,\n type: rawRouteData.type,\n pattern: new RegExp(rawRouteData.pattern),\n params: rawRouteData.params,\n component: rawRouteData.component,\n generate: getRouteGenerator(rawRouteData.segments, rawRouteData._meta.trailingSlash),\n pathname: rawRouteData.pathname || void 0,\n segments: rawRouteData.segments,\n prerender: rawRouteData.prerender,\n redirect: rawRouteData.redirect,\n redirectRoute: rawRouteData.redirectRoute ? deserializeRouteData(rawRouteData.redirectRoute) : void 0,\n fallbackRoutes: rawRouteData.fallbackRoutes.map((fallback) => {\n return deserializeRouteData(fallback);\n }),\n isIndex: rawRouteData.isIndex\n };\n}\nexport {\n deserializeRouteData,\n serializeRouteData\n};\n","import { decodeKey } from \"../encryption.js\";\nimport { NOOP_MIDDLEWARE_FN } from \"../middleware/noop-middleware.js\";\nimport { deserializeRouteData } from \"../routing/manifest/serialization.js\";\nfunction deserializeManifest(serializedManifest) {\n const routes = [];\n for (const serializedRoute of serializedManifest.routes) {\n routes.push({\n ...serializedRoute,\n routeData: deserializeRouteData(serializedRoute.routeData)\n });\n const route = serializedRoute;\n route.routeData = deserializeRouteData(serializedRoute.routeData);\n }\n const assets = new Set(serializedManifest.assets);\n const componentMetadata = new Map(serializedManifest.componentMetadata);\n const inlinedScripts = new Map(serializedManifest.inlinedScripts);\n const clientDirectives = new Map(serializedManifest.clientDirectives);\n const serverIslandNameMap = new Map(serializedManifest.serverIslandNameMap);\n const key = decodeKey(serializedManifest.key);\n return {\n // in case user middleware exists, this no-op middleware will be reassigned (see plugin-ssr.ts)\n middleware() {\n return { onRequest: NOOP_MIDDLEWARE_FN };\n },\n ...serializedManifest,\n assets,\n componentMetadata,\n inlinedScripts,\n clientDirectives,\n routes,\n serverIslandNameMap,\n key\n };\n}\nexport {\n deserializeManifest\n};\n"],"names":[],"mappings":"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","x_google_ignoreList":[0,1,2,3,4]} \ No newline at end of file diff --git a/package.json b/package.json index 78971300..aa640594 100644 --- a/package.json +++ b/package.json @@ -30,7 +30,7 @@ "dependencies": { "@astrojs/sitemap": "3.2.0", "@playform/build": "0.1.7", - "@playform/compress": "0.1.2", + "@playform/compress": "0.1.4", "@playform/format": "0.0.7", "@playform/inline": "0.1.0", "@tailwindcss/aspect-ratio": "0.4.2", @@ -51,7 +51,7 @@ "postcss-reporter": "7.1.0", "postcss-url": "10.1.3", "tailwindcss": "3.4.13", - "typescript": "5.6.2", + "typescript": "5.6.3", "zod": "3.23.8" }, "publishConfig": { From 7b83cb88c0c04feeda17667b310b68d710ab59e6 Mon Sep 17 00:00:00 2001 From: Nikola Hristov Date: Wed, 9 Oct 2024 16:59:12 +0300 Subject: [PATCH 092/112] --- LICENSE | 6 ------ 1 file changed, 6 deletions(-) diff --git a/LICENSE b/LICENSE index b3e97606..292ebd07 100644 --- a/LICENSE +++ b/LICENSE @@ -107,9 +107,3 @@ necessary consents, permissions or other rights required for any use of the Work. d. Affirmer understands and acknowledges that Creative Commons is not a party to this document and has no duty or obligation with respect to this CC0 or use of the Work. - ---- - -Note: The above license applies only to the modifications made by PlayForm to -the original work. The original work is licensed under the following licenses -and is subject to their terms and conditions: From 9bcd32449458ee126412e7e166e6d3153c66e1f9 Mon Sep 17 00:00:00 2001 From: Nikola Hristov Date: Thu, 10 Oct 2024 00:19:30 +0300 Subject: [PATCH 093/112] --- package.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/package.json b/package.json index aa640594..f8d7cf8f 100644 --- a/package.json +++ b/package.json @@ -54,11 +54,11 @@ "typescript": "5.6.3", "zod": "3.23.8" }, + "devDependencies": { + "@astrojs/ts-plugin": "1.10.2" + }, "publishConfig": { "access": "restricted", "provenance": true - }, - "devDependencies": { - "@astrojs/ts-plugin": "1.10.2" } } From ebbddfa7ef6dc19ac02ed5e7d0b0141257e4739c Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 10 Oct 2024 01:53:49 +0000 Subject: [PATCH 094/112] Bump actions/upload-artifact from 4.4.2 to 4.4.3 Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) from 4.4.2 to 4.4.3. - [Release notes](https://github.com/actions/upload-artifact/releases) - [Commits](https://github.com/actions/upload-artifact/compare/v4.4.2...v4.4.3) --- updated-dependencies: - dependency-name: actions/upload-artifact dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- .github/workflows/Node.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/Node.yml b/.github/workflows/Node.yml index 4ef04342..83274f86 100644 --- a/.github/workflows/Node.yml +++ b/.github/workflows/Node.yml @@ -88,7 +88,7 @@ jobs: - run: pnpm run prepublishOnly working-directory: . - - uses: actions/upload-artifact@v4.4.2 + - uses: actions/upload-artifact@v4.4.3 with: name: .-Node-${{ matrix.node-version }}-Target path: ./Target From 661e15fbffdebc2d707aa1bda1bda70981f13342 Mon Sep 17 00:00:00 2001 From: Nikola Hristov Date: Thu, 10 Oct 2024 19:38:01 +0300 Subject: [PATCH 095/112] --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index f8d7cf8f..3094c986 100644 --- a/package.json +++ b/package.json @@ -43,7 +43,7 @@ "cssnano": "7.0.6", "cssnano-preset-advanced": "7.0.6", "dotenv": "16.4.5", - "firebase": "10.14.0", + "firebase": "10.14.1", "postcss": "8.4.47", "postcss-combine-duplicated-selectors": "10.0.3", "postcss-combine-media-query": "1.0.1", From 5873b217e411192c8ecf4cfa70a5fc994fb0a3ac Mon Sep 17 00:00:00 2001 From: Nikola Hristov Date: Thu, 10 Oct 2024 20:09:00 +0300 Subject: [PATCH 096/112] --- astro.config.ts | 3 +++ 1 file changed, 3 insertions(+) diff --git a/astro.config.ts b/astro.config.ts index 44a7c863..3202309e 100644 --- a/astro.config.ts +++ b/astro.config.ts @@ -8,6 +8,9 @@ export default (await import("astro/config")).defineConfig({ // site: "", compressHTML: true, prefetch: true, + build: { + concurrency: 9999 + }, integrations: [ // @ts-ignore import.meta.env.MODE === "production" From 353dc201afd909665031c6007ecb4d246b4deb07 Mon Sep 17 00:00:00 2001 From: Nikola Hristov Date: Sun, 13 Oct 2024 20:01:09 +0300 Subject: [PATCH 097/112] --- astro.config.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/astro.config.ts b/astro.config.ts index 3202309e..6669e5ab 100644 --- a/astro.config.ts +++ b/astro.config.ts @@ -9,7 +9,7 @@ export default (await import("astro/config")).defineConfig({ compressHTML: true, prefetch: true, build: { - concurrency: 9999 + concurrency: 9999, }, integrations: [ // @ts-ignore From c233b600f50aa42e992c739cda524e7daf71e13f Mon Sep 17 00:00:00 2001 From: Nikola Hristov Date: Mon, 14 Oct 2024 06:49:15 +0300 Subject: [PATCH 098/112] --- CODE_OF_CONDUCT.md | 8 +- CONTRIBUTING.md | 8 +- docs/.nojekyll | 1 + docs/assets/custom.css | 54 + docs/assets/highlight.css | 22 + docs/assets/icons.js | 18 + docs/assets/icons.svg | 1 + docs/assets/main.js | 60 + docs/assets/navigation.js | 1 + docs/assets/search.js | 1 + docs/assets/style.css | 1448 ++++++++++++++++++ docs/index.html | 19 + docs/modules/Script_Firebase.html | 2 + docs/modules/env.html | 1 + docs/variables/Script_Firebase.firebase.html | 1 + 15 files changed, 1637 insertions(+), 8 deletions(-) create mode 100644 docs/.nojekyll create mode 100644 docs/assets/custom.css create mode 100644 docs/assets/highlight.css create mode 100644 docs/assets/icons.js create mode 100644 docs/assets/icons.svg create mode 100644 docs/assets/main.js create mode 100644 docs/assets/navigation.js create mode 100644 docs/assets/search.js create mode 100644 docs/assets/style.css create mode 100644 docs/index.html create mode 100644 docs/modules/Script_Firebase.html create mode 100644 docs/modules/env.html create mode 100644 docs/variables/Script_Firebase.firebase.html diff --git a/CODE_OF_CONDUCT.md b/CODE_OF_CONDUCT.md index 01e92b54..b223ad59 100644 --- a/CODE_OF_CONDUCT.md +++ b/CODE_OF_CONDUCT.md @@ -126,15 +126,15 @@ community. ## Attribution -This Code of Conduct is adapted from the [Contributor Covenant][homepage], +This Code of Conduct is adapted from the [`Contributor Covenant`][homepage], version 2.1, available at -[https://www.contributor-covenant.org/version/2/1/code_of_conduct.html][v2.1]. +[`https://www.contributor-covenant.org/version/2/1/code_of_conduct.html`][v2.1]. Community Impact Guidelines were inspired by [Mozilla's code of conduct enforcement ladder][Mozilla CoC]. For answers to common questions about this code of conduct, see the FAQ at -[https://www.contributor-covenant.org/faq][FAQ]. Translations are available at -[https://www.contributor-covenant.org/translations][translations]. +[`https://www.contributor-covenant.org/faq`][FAQ]. Translations are available at +[`https://www.contributor-covenant.org/translations`][translations]. [homepage]: HTTPS://www.contributor-covenant.org [v2.1]: HTTPS://www.contributor-covenant.org/version/2/1/code_of_conduct.html diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index c390eaea..00c2531b 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -114,15 +114,15 @@ community. ## Attribution -This Code of Conduct is adapted from the [Contributor Covenant][homepage], +This Code of Conduct is adapted from the [`Contributor Covenant`][homepage], version 2.1, available at -[https://www.contributor-covenant.org/version/2/1/code_of_conduct.html][v2.1]. +[`https://www.contributor-covenant.org/version/2/1/code_of_conduct.html`][v2.1]. Community Impact Guidelines were inspired by [Mozilla's code of conduct enforcement ladder][Mozilla CoC]. For answers to common questions about this code of conduct, see the FAQ at -[https://www.contributor-covenant.org/faq][FAQ]. Translations are available at -[https://www.contributor-covenant.org/translations][translations]. +[`https://www.contributor-covenant.org/faq`][FAQ]. Translations are available at +[`https://www.contributor-covenant.org/translations`][translations]. [homepage]: HTTPS://www.contributor-covenant.org [v2.1]: HTTPS://www.contributor-covenant.org/version/2/1/code_of_conduct.html diff --git a/docs/.nojekyll b/docs/.nojekyll new file mode 100644 index 00000000..e2ac6616 --- /dev/null +++ b/docs/.nojekyll @@ -0,0 +1 @@ +TypeDoc added this file to prevent GitHub Pages from using Jekyll. You can turn off this behavior by setting the `githubPages` option to false. \ No newline at end of file diff --git a/docs/assets/custom.css b/docs/assets/custom.css new file mode 100644 index 00000000..e360ec98 --- /dev/null +++ b/docs/assets/custom.css @@ -0,0 +1,54 @@ +:root { + --dark-color-background: #000; + --dark-color-background-secondary: #000; + --dark-code-background: #040404; + --color-accent: #2463eb; + --light-hl-0: #b58900; + --light-hl-1: #d33682; + --light-hl-2: #dc322f; + --light-hl-3: #2aa198; + --light-hl-4: #859900; + --dark-hl-0: #ffdd00; + --dark-hl-1: #ff66ff; + --dark-hl-2: #ff4444; + --dark-hl-3: #44ffff; + --dark-hl-4: #44ff44; +} + +body #tsd-search .field label { + left: 50%; + margin-left: -20px; + z-index: 1; + text-align: center; +} + +body #tsd-search.has-focus .field label { + display: none; +} + +body #tsd-search .field input { + z-index: 2; +} + +body pre, +body .tsd-page-toolbar, +body .tsd-generator { + border: none; +} + +body .tsd-navigation a, +body .tsd-navigation summary > span, +body .tsd-page-navigation a { + padding: 0.5rem; + border-radius: 8px; +} + +body .tsd-description .tsd-signatures .tsd-signature, +body .tsd-signature, +body .tsd-signatures .tsd-signature, +body .tsd-typography td, +body .tsd-typography th, +body code.tsd-tag { + border-radius: 12px; + border-width: 2px; +} diff --git a/docs/assets/highlight.css b/docs/assets/highlight.css new file mode 100644 index 00000000..5674cf39 --- /dev/null +++ b/docs/assets/highlight.css @@ -0,0 +1,22 @@ +:root { + --light-code-background: #FFFFFF; + --dark-code-background: #1E1E1E; +} + +@media (prefers-color-scheme: light) { :root { + --code-background: var(--light-code-background); +} } + +@media (prefers-color-scheme: dark) { :root { + --code-background: var(--dark-code-background); +} } + +:root[data-theme='light'] { + --code-background: var(--light-code-background); +} + +:root[data-theme='dark'] { + --code-background: var(--dark-code-background); +} + +pre, code { background: var(--code-background); } diff --git a/docs/assets/icons.js b/docs/assets/icons.js new file mode 100644 index 00000000..e88e8ca7 --- /dev/null +++ b/docs/assets/icons.js @@ -0,0 +1,18 @@ +(function() { + addIcons(); + function addIcons() { + if (document.readyState === "loading") return document.addEventListener("DOMContentLoaded", addIcons); + const svg = document.body.appendChild(document.createElementNS("http://www.w3.org/2000/svg", "svg")); + svg.innerHTML = `""`; + svg.style.display = "none"; + if (location.protocol === "file:") updateUseElements(); + } + + function updateUseElements() { + document.querySelectorAll("use").forEach(el => { + if (el.getAttribute("href").includes("#icon-")) { + el.setAttribute("href", el.getAttribute("href").replace(/.*#/, "#")); + } + }); + } +})() \ No newline at end of file diff --git a/docs/assets/icons.svg b/docs/assets/icons.svg new file mode 100644 index 00000000..e371b8b5 --- /dev/null +++ b/docs/assets/icons.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/docs/assets/main.js b/docs/assets/main.js new file mode 100644 index 00000000..21a5d74d --- /dev/null +++ b/docs/assets/main.js @@ -0,0 +1,60 @@ +"use strict"; +window.translations={"copy":"Copy","copied":"Copied!","normally_hidden":"This member is normally hidden due to your filter settings."}; +"use strict";(()=>{var Pe=Object.create;var ie=Object.defineProperty;var Oe=Object.getOwnPropertyDescriptor;var _e=Object.getOwnPropertyNames;var Re=Object.getPrototypeOf,Me=Object.prototype.hasOwnProperty;var Fe=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports);var De=(t,e,n,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of _e(e))!Me.call(t,i)&&i!==n&&ie(t,i,{get:()=>e[i],enumerable:!(r=Oe(e,i))||r.enumerable});return t};var Ae=(t,e,n)=>(n=t!=null?Pe(Re(t)):{},De(e||!t||!t.__esModule?ie(n,"default",{value:t,enumerable:!0}):n,t));var ue=Fe((ae,le)=>{(function(){var t=function(e){var n=new t.Builder;return n.pipeline.add(t.trimmer,t.stopWordFilter,t.stemmer),n.searchPipeline.add(t.stemmer),e.call(n,n),n.build()};t.version="2.3.9";t.utils={},t.utils.warn=function(e){return function(n){e.console&&console.warn&&console.warn(n)}}(this),t.utils.asString=function(e){return e==null?"":e.toString()},t.utils.clone=function(e){if(e==null)return e;for(var n=Object.create(null),r=Object.keys(e),i=0;i0){var d=t.utils.clone(n)||{};d.position=[a,u],d.index=s.length,s.push(new t.Token(r.slice(a,o),d))}a=o+1}}return s},t.tokenizer.separator=/[\s\-]+/;t.Pipeline=function(){this._stack=[]},t.Pipeline.registeredFunctions=Object.create(null),t.Pipeline.registerFunction=function(e,n){n in this.registeredFunctions&&t.utils.warn("Overwriting existing registered function: "+n),e.label=n,t.Pipeline.registeredFunctions[e.label]=e},t.Pipeline.warnIfFunctionNotRegistered=function(e){var n=e.label&&e.label in this.registeredFunctions;n||t.utils.warn(`Function is not registered with pipeline. This may cause problems when serialising the index. +`,e)},t.Pipeline.load=function(e){var n=new t.Pipeline;return e.forEach(function(r){var i=t.Pipeline.registeredFunctions[r];if(i)n.add(i);else throw new Error("Cannot load unregistered function: "+r)}),n},t.Pipeline.prototype.add=function(){var e=Array.prototype.slice.call(arguments);e.forEach(function(n){t.Pipeline.warnIfFunctionNotRegistered(n),this._stack.push(n)},this)},t.Pipeline.prototype.after=function(e,n){t.Pipeline.warnIfFunctionNotRegistered(n);var r=this._stack.indexOf(e);if(r==-1)throw new Error("Cannot find existingFn");r=r+1,this._stack.splice(r,0,n)},t.Pipeline.prototype.before=function(e,n){t.Pipeline.warnIfFunctionNotRegistered(n);var r=this._stack.indexOf(e);if(r==-1)throw new Error("Cannot find existingFn");this._stack.splice(r,0,n)},t.Pipeline.prototype.remove=function(e){var n=this._stack.indexOf(e);n!=-1&&this._stack.splice(n,1)},t.Pipeline.prototype.run=function(e){for(var n=this._stack.length,r=0;r1&&(oe&&(r=s),o!=e);)i=r-n,s=n+Math.floor(i/2),o=this.elements[s*2];if(o==e||o>e)return s*2;if(ol?d+=2:a==l&&(n+=r[u+1]*i[d+1],u+=2,d+=2);return n},t.Vector.prototype.similarity=function(e){return this.dot(e)/this.magnitude()||0},t.Vector.prototype.toArray=function(){for(var e=new Array(this.elements.length/2),n=1,r=0;n0){var o=s.str.charAt(0),a;o in s.node.edges?a=s.node.edges[o]:(a=new t.TokenSet,s.node.edges[o]=a),s.str.length==1&&(a.final=!0),i.push({node:a,editsRemaining:s.editsRemaining,str:s.str.slice(1)})}if(s.editsRemaining!=0){if("*"in s.node.edges)var l=s.node.edges["*"];else{var l=new t.TokenSet;s.node.edges["*"]=l}if(s.str.length==0&&(l.final=!0),i.push({node:l,editsRemaining:s.editsRemaining-1,str:s.str}),s.str.length>1&&i.push({node:s.node,editsRemaining:s.editsRemaining-1,str:s.str.slice(1)}),s.str.length==1&&(s.node.final=!0),s.str.length>=1){if("*"in s.node.edges)var u=s.node.edges["*"];else{var u=new t.TokenSet;s.node.edges["*"]=u}s.str.length==1&&(u.final=!0),i.push({node:u,editsRemaining:s.editsRemaining-1,str:s.str.slice(1)})}if(s.str.length>1){var d=s.str.charAt(0),m=s.str.charAt(1),p;m in s.node.edges?p=s.node.edges[m]:(p=new t.TokenSet,s.node.edges[m]=p),s.str.length==1&&(p.final=!0),i.push({node:p,editsRemaining:s.editsRemaining-1,str:d+s.str.slice(2)})}}}return r},t.TokenSet.fromString=function(e){for(var n=new t.TokenSet,r=n,i=0,s=e.length;i=e;n--){var r=this.uncheckedNodes[n],i=r.child.toString();i in this.minimizedNodes?r.parent.edges[r.char]=this.minimizedNodes[i]:(r.child._str=i,this.minimizedNodes[i]=r.child),this.uncheckedNodes.pop()}};t.Index=function(e){this.invertedIndex=e.invertedIndex,this.fieldVectors=e.fieldVectors,this.tokenSet=e.tokenSet,this.fields=e.fields,this.pipeline=e.pipeline},t.Index.prototype.search=function(e){return this.query(function(n){var r=new t.QueryParser(e,n);r.parse()})},t.Index.prototype.query=function(e){for(var n=new t.Query(this.fields),r=Object.create(null),i=Object.create(null),s=Object.create(null),o=Object.create(null),a=Object.create(null),l=0;l1?this._b=1:this._b=e},t.Builder.prototype.k1=function(e){this._k1=e},t.Builder.prototype.add=function(e,n){var r=e[this._ref],i=Object.keys(this._fields);this._documents[r]=n||{},this.documentCount+=1;for(var s=0;s=this.length)return t.QueryLexer.EOS;var e=this.str.charAt(this.pos);return this.pos+=1,e},t.QueryLexer.prototype.width=function(){return this.pos-this.start},t.QueryLexer.prototype.ignore=function(){this.start==this.pos&&(this.pos+=1),this.start=this.pos},t.QueryLexer.prototype.backup=function(){this.pos-=1},t.QueryLexer.prototype.acceptDigitRun=function(){var e,n;do e=this.next(),n=e.charCodeAt(0);while(n>47&&n<58);e!=t.QueryLexer.EOS&&this.backup()},t.QueryLexer.prototype.more=function(){return this.pos1&&(e.backup(),e.emit(t.QueryLexer.TERM)),e.ignore(),e.more())return t.QueryLexer.lexText},t.QueryLexer.lexEditDistance=function(e){return e.ignore(),e.acceptDigitRun(),e.emit(t.QueryLexer.EDIT_DISTANCE),t.QueryLexer.lexText},t.QueryLexer.lexBoost=function(e){return e.ignore(),e.acceptDigitRun(),e.emit(t.QueryLexer.BOOST),t.QueryLexer.lexText},t.QueryLexer.lexEOS=function(e){e.width()>0&&e.emit(t.QueryLexer.TERM)},t.QueryLexer.termSeparator=t.tokenizer.separator,t.QueryLexer.lexText=function(e){for(;;){var n=e.next();if(n==t.QueryLexer.EOS)return t.QueryLexer.lexEOS;if(n.charCodeAt(0)==92){e.escapeCharacter();continue}if(n==":")return t.QueryLexer.lexField;if(n=="~")return e.backup(),e.width()>0&&e.emit(t.QueryLexer.TERM),t.QueryLexer.lexEditDistance;if(n=="^")return e.backup(),e.width()>0&&e.emit(t.QueryLexer.TERM),t.QueryLexer.lexBoost;if(n=="+"&&e.width()===1||n=="-"&&e.width()===1)return e.emit(t.QueryLexer.PRESENCE),t.QueryLexer.lexText;if(n.match(t.QueryLexer.termSeparator))return t.QueryLexer.lexTerm}},t.QueryParser=function(e,n){this.lexer=new t.QueryLexer(e),this.query=n,this.currentClause={},this.lexemeIdx=0},t.QueryParser.prototype.parse=function(){this.lexer.run(),this.lexemes=this.lexer.lexemes;for(var e=t.QueryParser.parseClause;e;)e=e(this);return this.query},t.QueryParser.prototype.peekLexeme=function(){return this.lexemes[this.lexemeIdx]},t.QueryParser.prototype.consumeLexeme=function(){var e=this.peekLexeme();return this.lexemeIdx+=1,e},t.QueryParser.prototype.nextClause=function(){var e=this.currentClause;this.query.clause(e),this.currentClause={}},t.QueryParser.parseClause=function(e){var n=e.peekLexeme();if(n!=null)switch(n.type){case t.QueryLexer.PRESENCE:return t.QueryParser.parsePresence;case t.QueryLexer.FIELD:return t.QueryParser.parseField;case t.QueryLexer.TERM:return t.QueryParser.parseTerm;default:var r="expected either a field or a term, found "+n.type;throw n.str.length>=1&&(r+=" with value '"+n.str+"'"),new t.QueryParseError(r,n.start,n.end)}},t.QueryParser.parsePresence=function(e){var n=e.consumeLexeme();if(n!=null){switch(n.str){case"-":e.currentClause.presence=t.Query.presence.PROHIBITED;break;case"+":e.currentClause.presence=t.Query.presence.REQUIRED;break;default:var r="unrecognised presence operator'"+n.str+"'";throw new t.QueryParseError(r,n.start,n.end)}var i=e.peekLexeme();if(i==null){var r="expecting term or field, found nothing";throw new t.QueryParseError(r,n.start,n.end)}switch(i.type){case t.QueryLexer.FIELD:return t.QueryParser.parseField;case t.QueryLexer.TERM:return t.QueryParser.parseTerm;default:var r="expecting term or field, found '"+i.type+"'";throw new t.QueryParseError(r,i.start,i.end)}}},t.QueryParser.parseField=function(e){var n=e.consumeLexeme();if(n!=null){if(e.query.allFields.indexOf(n.str)==-1){var r=e.query.allFields.map(function(o){return"'"+o+"'"}).join(", "),i="unrecognised field '"+n.str+"', possible fields: "+r;throw new t.QueryParseError(i,n.start,n.end)}e.currentClause.fields=[n.str];var s=e.peekLexeme();if(s==null){var i="expecting term, found nothing";throw new t.QueryParseError(i,n.start,n.end)}switch(s.type){case t.QueryLexer.TERM:return t.QueryParser.parseTerm;default:var i="expecting term, found '"+s.type+"'";throw new t.QueryParseError(i,s.start,s.end)}}},t.QueryParser.parseTerm=function(e){var n=e.consumeLexeme();if(n!=null){e.currentClause.term=n.str.toLowerCase(),n.str.indexOf("*")!=-1&&(e.currentClause.usePipeline=!1);var r=e.peekLexeme();if(r==null){e.nextClause();return}switch(r.type){case t.QueryLexer.TERM:return e.nextClause(),t.QueryParser.parseTerm;case t.QueryLexer.FIELD:return e.nextClause(),t.QueryParser.parseField;case t.QueryLexer.EDIT_DISTANCE:return t.QueryParser.parseEditDistance;case t.QueryLexer.BOOST:return t.QueryParser.parseBoost;case t.QueryLexer.PRESENCE:return e.nextClause(),t.QueryParser.parsePresence;default:var i="Unexpected lexeme type '"+r.type+"'";throw new t.QueryParseError(i,r.start,r.end)}}},t.QueryParser.parseEditDistance=function(e){var n=e.consumeLexeme();if(n!=null){var r=parseInt(n.str,10);if(isNaN(r)){var i="edit distance must be numeric";throw new t.QueryParseError(i,n.start,n.end)}e.currentClause.editDistance=r;var s=e.peekLexeme();if(s==null){e.nextClause();return}switch(s.type){case t.QueryLexer.TERM:return e.nextClause(),t.QueryParser.parseTerm;case t.QueryLexer.FIELD:return e.nextClause(),t.QueryParser.parseField;case t.QueryLexer.EDIT_DISTANCE:return t.QueryParser.parseEditDistance;case t.QueryLexer.BOOST:return t.QueryParser.parseBoost;case t.QueryLexer.PRESENCE:return e.nextClause(),t.QueryParser.parsePresence;default:var i="Unexpected lexeme type '"+s.type+"'";throw new t.QueryParseError(i,s.start,s.end)}}},t.QueryParser.parseBoost=function(e){var n=e.consumeLexeme();if(n!=null){var r=parseInt(n.str,10);if(isNaN(r)){var i="boost must be numeric";throw new t.QueryParseError(i,n.start,n.end)}e.currentClause.boost=r;var s=e.peekLexeme();if(s==null){e.nextClause();return}switch(s.type){case t.QueryLexer.TERM:return e.nextClause(),t.QueryParser.parseTerm;case t.QueryLexer.FIELD:return e.nextClause(),t.QueryParser.parseField;case t.QueryLexer.EDIT_DISTANCE:return t.QueryParser.parseEditDistance;case t.QueryLexer.BOOST:return t.QueryParser.parseBoost;case t.QueryLexer.PRESENCE:return e.nextClause(),t.QueryParser.parsePresence;default:var i="Unexpected lexeme type '"+s.type+"'";throw new t.QueryParseError(i,s.start,s.end)}}},function(e,n){typeof define=="function"&&define.amd?define(n):typeof ae=="object"?le.exports=n():e.lunr=n()}(this,function(){return t})})()});var se=[];function G(t,e){se.push({selector:e,constructor:t})}var U=class{constructor(){this.alwaysVisibleMember=null;this.createComponents(document.body),this.ensureFocusedElementVisible(),this.listenForCodeCopies(),window.addEventListener("hashchange",()=>this.ensureFocusedElementVisible()),document.body.style.display||(this.ensureFocusedElementVisible(),this.updateIndexVisibility(),this.scrollToHash())}createComponents(e){se.forEach(n=>{e.querySelectorAll(n.selector).forEach(r=>{r.dataset.hasInstance||(new n.constructor({el:r,app:this}),r.dataset.hasInstance=String(!0))})})}filterChanged(){this.ensureFocusedElementVisible()}showPage(){document.body.style.display&&(document.body.style.removeProperty("display"),this.ensureFocusedElementVisible(),this.updateIndexVisibility(),this.scrollToHash())}scrollToHash(){if(location.hash){let e=document.getElementById(location.hash.substring(1));if(!e)return;e.scrollIntoView({behavior:"instant",block:"start"})}}ensureActivePageVisible(){let e=document.querySelector(".tsd-navigation .current"),n=e?.parentElement;for(;n&&!n.classList.contains(".tsd-navigation");)n instanceof HTMLDetailsElement&&(n.open=!0),n=n.parentElement;if(e&&!Ve(e)){let r=e.getBoundingClientRect().top-document.documentElement.clientHeight/4;document.querySelector(".site-menu").scrollTop=r,document.querySelector(".col-sidebar").scrollTop=r}}updateIndexVisibility(){let e=document.querySelector(".tsd-index-content"),n=e?.open;e&&(e.open=!0),document.querySelectorAll(".tsd-index-section").forEach(r=>{r.style.display="block";let i=Array.from(r.querySelectorAll(".tsd-index-link")).every(s=>s.offsetParent==null);r.style.display=i?"none":"block"}),e&&(e.open=n)}ensureFocusedElementVisible(){if(this.alwaysVisibleMember&&(this.alwaysVisibleMember.classList.remove("always-visible"),this.alwaysVisibleMember.firstElementChild.remove(),this.alwaysVisibleMember=null),!location.hash)return;let e=document.getElementById(location.hash.substring(1));if(!e)return;let n=e.parentElement;for(;n&&n.tagName!=="SECTION";)n=n.parentElement;if(!n)return;let r=n.offsetParent==null,i=n;for(;i!==document.body;)i instanceof HTMLDetailsElement&&(i.open=!0),i=i.parentElement;if(n.offsetParent==null){this.alwaysVisibleMember=n,n.classList.add("always-visible");let s=document.createElement("p");s.classList.add("warning"),s.textContent=window.translations.normally_hidden,n.prepend(s)}r&&e.scrollIntoView()}listenForCodeCopies(){document.querySelectorAll("pre > button").forEach(e=>{let n;e.addEventListener("click",()=>{e.previousElementSibling instanceof HTMLElement&&navigator.clipboard.writeText(e.previousElementSibling.innerText.trim()),e.textContent=window.translations.copied,e.classList.add("visible"),clearTimeout(n),n=setTimeout(()=>{e.classList.remove("visible"),n=setTimeout(()=>{e.textContent=window.translations.copy},100)},1e3)})})}};function Ve(t){let e=t.getBoundingClientRect(),n=Math.max(document.documentElement.clientHeight,window.innerHeight);return!(e.bottom<0||e.top-n>=0)}var oe=(t,e=100)=>{let n;return()=>{clearTimeout(n),n=setTimeout(()=>t(),e)}};var pe=Ae(ue());async function ce(t,e){if(!window.searchData)return;let n=await fetch(window.searchData),r=new Blob([await n.arrayBuffer()]).stream().pipeThrough(new DecompressionStream("gzip")),i=await new Response(r).json();t.data=i,t.index=pe.Index.load(i.index),e.classList.remove("loading"),e.classList.add("ready")}function fe(){let t=document.getElementById("tsd-search");if(!t)return;let e={base:t.dataset.base+"/"},n=document.getElementById("tsd-search-script");t.classList.add("loading"),n&&(n.addEventListener("error",()=>{t.classList.remove("loading"),t.classList.add("failure")}),n.addEventListener("load",()=>{ce(e,t)}),ce(e,t));let r=document.querySelector("#tsd-search input"),i=document.querySelector("#tsd-search .results");if(!r||!i)throw new Error("The input field or the result list wrapper was not found");i.addEventListener("mouseup",()=>{te(t)}),r.addEventListener("focus",()=>t.classList.add("has-focus")),He(t,i,r,e)}function He(t,e,n,r){n.addEventListener("input",oe(()=>{Ne(t,e,n,r)},200)),n.addEventListener("keydown",i=>{i.key=="Enter"?Be(e,t):i.key=="ArrowUp"?(de(e,n,-1),i.preventDefault()):i.key==="ArrowDown"&&(de(e,n,1),i.preventDefault())}),document.body.addEventListener("keypress",i=>{i.altKey||i.ctrlKey||i.metaKey||!n.matches(":focus")&&i.key==="/"&&(i.preventDefault(),n.focus())}),document.body.addEventListener("keyup",i=>{t.classList.contains("has-focus")&&(i.key==="Escape"||!e.matches(":focus-within")&&!n.matches(":focus"))&&(n.blur(),te(t))})}function te(t){t.classList.remove("has-focus")}function Ne(t,e,n,r){if(!r.index||!r.data)return;e.textContent="";let i=n.value.trim(),s;if(i){let o=i.split(" ").map(a=>a.length?`*${a}*`:"").join(" ");s=r.index.search(o)}else s=[];for(let o=0;oa.score-o.score);for(let o=0,a=Math.min(10,s.length);o`,d=he(l.name,i);globalThis.DEBUG_SEARCH_WEIGHTS&&(d+=` (score: ${s[o].score.toFixed(2)})`),l.parent&&(d=` + ${he(l.parent,i)}.${d}`);let m=document.createElement("li");m.classList.value=l.classes??"";let p=document.createElement("a");p.href=r.base+l.url,p.innerHTML=u+d,m.append(p),p.addEventListener("focus",()=>{e.querySelector(".current")?.classList.remove("current"),m.classList.add("current")}),e.appendChild(m)}}function de(t,e,n){let r=t.querySelector(".current");if(!r)r=t.querySelector(n==1?"li:first-child":"li:last-child"),r&&r.classList.add("current");else{let i=r;if(n===1)do i=i.nextElementSibling??void 0;while(i instanceof HTMLElement&&i.offsetParent==null);else do i=i.previousElementSibling??void 0;while(i instanceof HTMLElement&&i.offsetParent==null);i?(r.classList.remove("current"),i.classList.add("current")):n===-1&&(r.classList.remove("current"),e.focus())}}function Be(t,e){let n=t.querySelector(".current");if(n||(n=t.querySelector("li:first-child")),n){let r=n.querySelector("a");r&&(window.location.href=r.href),te(e)}}function he(t,e){if(e==="")return t;let n=t.toLocaleLowerCase(),r=e.toLocaleLowerCase(),i=[],s=0,o=n.indexOf(r);for(;o!=-1;)i.push(ee(t.substring(s,o)),`${ee(t.substring(o,o+r.length))}`),s=o+r.length,o=n.indexOf(r,s);return i.push(ee(t.substring(s))),i.join("")}var je={"&":"&","<":"<",">":">","'":"'",'"':"""};function ee(t){return t.replace(/[&<>"'"]/g,e=>je[e])}var I=class{constructor(e){this.el=e.el,this.app=e.app}};var F="mousedown",ye="mousemove",N="mouseup",J={x:0,y:0},me=!1,ne=!1,qe=!1,D=!1,ve=/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent);document.documentElement.classList.add(ve?"is-mobile":"not-mobile");ve&&"ontouchstart"in document.documentElement&&(qe=!0,F="touchstart",ye="touchmove",N="touchend");document.addEventListener(F,t=>{ne=!0,D=!1;let e=F=="touchstart"?t.targetTouches[0]:t;J.y=e.pageY||0,J.x=e.pageX||0});document.addEventListener(ye,t=>{if(ne&&!D){let e=F=="touchstart"?t.targetTouches[0]:t,n=J.x-(e.pageX||0),r=J.y-(e.pageY||0);D=Math.sqrt(n*n+r*r)>10}});document.addEventListener(N,()=>{ne=!1});document.addEventListener("click",t=>{me&&(t.preventDefault(),t.stopImmediatePropagation(),me=!1)});var X=class extends I{constructor(e){super(e),this.className=this.el.dataset.toggle||"",this.el.addEventListener(N,n=>this.onPointerUp(n)),this.el.addEventListener("click",n=>n.preventDefault()),document.addEventListener(F,n=>this.onDocumentPointerDown(n)),document.addEventListener(N,n=>this.onDocumentPointerUp(n))}setActive(e){if(this.active==e)return;this.active=e,document.documentElement.classList.toggle("has-"+this.className,e),this.el.classList.toggle("active",e);let n=(this.active?"to-has-":"from-has-")+this.className;document.documentElement.classList.add(n),setTimeout(()=>document.documentElement.classList.remove(n),500)}onPointerUp(e){D||(this.setActive(!0),e.preventDefault())}onDocumentPointerDown(e){if(this.active){if(e.target.closest(".col-sidebar, .tsd-filter-group"))return;this.setActive(!1)}}onDocumentPointerUp(e){if(!D&&this.active&&e.target.closest(".col-sidebar")){let n=e.target.closest("a");if(n){let r=window.location.href;r.indexOf("#")!=-1&&(r=r.substring(0,r.indexOf("#"))),n.href.substring(0,r.length)==r&&setTimeout(()=>this.setActive(!1),250)}}}};var re;try{re=localStorage}catch{re={getItem(){return null},setItem(){}}}var Q=re;var ge=document.head.appendChild(document.createElement("style"));ge.dataset.for="filters";var Y=class extends I{constructor(e){super(e),this.key=`filter-${this.el.name}`,this.value=this.el.checked,this.el.addEventListener("change",()=>{this.setLocalStorage(this.el.checked)}),this.setLocalStorage(this.fromLocalStorage()),ge.innerHTML+=`html:not(.${this.key}) .tsd-is-${this.el.name} { display: none; } +`,this.app.updateIndexVisibility()}fromLocalStorage(){let e=Q.getItem(this.key);return e?e==="true":this.el.checked}setLocalStorage(e){Q.setItem(this.key,e.toString()),this.value=e,this.handleValueChange()}handleValueChange(){this.el.checked=this.value,document.documentElement.classList.toggle(this.key,this.value),this.app.filterChanged(),this.app.updateIndexVisibility()}};var Z=class extends I{constructor(e){super(e),this.summary=this.el.querySelector(".tsd-accordion-summary"),this.icon=this.summary.querySelector("svg"),this.key=`tsd-accordion-${this.summary.dataset.key??this.summary.textContent.trim().replace(/\s+/g,"-").toLowerCase()}`;let n=Q.getItem(this.key);this.el.open=n?n==="true":this.el.open,this.el.addEventListener("toggle",()=>this.update());let r=this.summary.querySelector("a");r&&r.addEventListener("click",()=>{location.assign(r.href)}),this.update()}update(){this.icon.style.transform=`rotate(${this.el.open?0:-90}deg)`,Q.setItem(this.key,this.el.open.toString())}};function Ee(t){let e=Q.getItem("tsd-theme")||"os";t.value=e,xe(e),t.addEventListener("change",()=>{Q.setItem("tsd-theme",t.value),xe(t.value)})}function xe(t){document.documentElement.dataset.theme=t}var K;function we(){let t=document.getElementById("tsd-nav-script");t&&(t.addEventListener("load",Le),Le())}async function Le(){let t=document.getElementById("tsd-nav-container");if(!t||!window.navigationData)return;let n=await(await fetch(window.navigationData)).arrayBuffer(),r=new Blob([n]).stream().pipeThrough(new DecompressionStream("gzip")),i=await new Response(r).json();K=t.dataset.base,K.endsWith("/")||(K+="/"),t.innerHTML="";for(let s of i)Se(s,t,[]);window.app.createComponents(t),window.app.showPage(),window.app.ensureActivePageVisible()}function Se(t,e,n){let r=e.appendChild(document.createElement("li"));if(t.children){let i=[...n,t.text],s=r.appendChild(document.createElement("details"));s.className=t.class?`${t.class} tsd-accordion`:"tsd-accordion";let o=s.appendChild(document.createElement("summary"));o.className="tsd-accordion-summary",o.dataset.key=i.join("$"),o.innerHTML='',be(t,o);let a=s.appendChild(document.createElement("div"));a.className="tsd-accordion-details";let l=a.appendChild(document.createElement("ul"));l.className="tsd-nested-navigation";for(let u of t.children)Se(u,l,i)}else be(t,r,t.class)}function be(t,e,n){if(t.path){let r=e.appendChild(document.createElement("a"));r.href=K+t.path,n&&(r.className=n),location.pathname===r.pathname&&!r.href.includes("#")&&r.classList.add("current"),t.kind&&(r.innerHTML=``),r.appendChild(document.createElement("span")).textContent=t.text}else e.appendChild(document.createElement("span")).textContent=t.text}G(X,"a[data-toggle]");G(Z,".tsd-accordion");G(Y,".tsd-filter-item input[type=checkbox]");var Te=document.getElementById("tsd-theme");Te&&Ee(Te);var $e=new U;Object.defineProperty(window,"app",{value:$e});fe();we();})(); +/*! Bundled license information: + +lunr/lunr.js: + (** + * lunr - http://lunrjs.com - A bit like Solr, but much smaller and not as bright - 2.3.9 + * Copyright (C) 2020 Oliver Nightingale + * @license MIT + *) + (*! + * lunr.utils + * Copyright (C) 2020 Oliver Nightingale + *) + (*! + * lunr.Set + * Copyright (C) 2020 Oliver Nightingale + *) + (*! + * lunr.tokenizer + * Copyright (C) 2020 Oliver Nightingale + *) + (*! + * lunr.Pipeline + * Copyright (C) 2020 Oliver Nightingale + *) + (*! + * lunr.Vector + * Copyright (C) 2020 Oliver Nightingale + *) + (*! + * lunr.stemmer + * Copyright (C) 2020 Oliver Nightingale + * Includes code from - http://tartarus.org/~martin/PorterStemmer/js.txt + *) + (*! + * lunr.stopWordFilter + * Copyright (C) 2020 Oliver Nightingale + *) + (*! + * lunr.trimmer + * Copyright (C) 2020 Oliver Nightingale + *) + (*! + * lunr.TokenSet + * Copyright (C) 2020 Oliver Nightingale + *) + (*! + * lunr.Index + * Copyright (C) 2020 Oliver Nightingale + *) + (*! + * lunr.Builder + * Copyright (C) 2020 Oliver Nightingale + *) +*/ diff --git a/docs/assets/navigation.js b/docs/assets/navigation.js new file mode 100644 index 00000000..586f5d8c --- /dev/null +++ b/docs/assets/navigation.js @@ -0,0 +1 @@ +window.navigationData = "data:application/octet-stream;base64,H4sIAAAAAAAACm3MMQqEMBBG4bv8dVDQLgfwAluKSDQjGYxR4hgWltzdYlmL1f69r/1A6C3QoJCgsBlx0FhWe3jaSwqpcLJ4KMwcLHSV1XW8xsiblA1HGsxO9/sb9L/gT1IYHXsbKUC3FzrdtGQim+HJmx7huspd7k5d4/3f2QAAAA==" \ No newline at end of file diff --git a/docs/assets/search.js b/docs/assets/search.js new file mode 100644 index 00000000..80bcb460 --- /dev/null +++ b/docs/assets/search.js @@ -0,0 +1 @@ +window.searchData = "data:application/octet-stream;base64,H4sIAAAAAAAACo2R3WqEMBCF3+VcD/7tzW4eoNDrQm+CLK6ONFSjJGoLwXcvmrVpq6W9CzNzvjk542C6NwshHV6VriAygi5ahsBTaVQ/xA/K8K2wDMJoGgi0XTU2bGPfv2796GVoGxDKprCWLQQw00Y9BWz9kzcVRhW3I2L9O5rQF4b1cOAzbA1LWU87/6ynI885QemK3yEcJjZWdRoCWXSKLiDUiptqycuTCWXXtosPQtWV4/rM72PPXA6dWYb9dJyAZEKX6Jyc85zkpl3ra2FDhMqqS0EyPdClO136TZeBZHagy3Y6X1m/PrEZuHr0EUjpo3O43kP5zNQhg3DzHCIQbv6SwtJbdoR7B0gaIOm/INbf+IiVBFbyNysn9KrnRmmGkPk8fwDSvOorAQMAAA=="; \ No newline at end of file diff --git a/docs/assets/style.css b/docs/assets/style.css new file mode 100644 index 00000000..9d619a64 --- /dev/null +++ b/docs/assets/style.css @@ -0,0 +1,1448 @@ +:root { + /* Light */ + --light-color-background: #f2f4f8; + --light-color-background-secondary: #eff0f1; + --light-color-warning-text: #222; + --light-color-background-warning: #e6e600; + --light-color-icon-background: var(--light-color-background); + --light-color-accent: #c5c7c9; + --light-color-active-menu-item: var(--light-color-accent); + --light-color-text: #222; + --light-color-text-aside: #6e6e6e; + --light-color-link: #1f70c2; + --light-color-focus-outline: #3584e4; + + --light-color-ts-keyword: #056bd6; + --light-color-ts-project: #b111c9; + --light-color-ts-module: var(--light-color-ts-project); + --light-color-ts-namespace: var(--light-color-ts-project); + --light-color-ts-enum: #7e6f15; + --light-color-ts-enum-member: var(--light-color-ts-enum); + --light-color-ts-variable: #4760ec; + --light-color-ts-function: #572be7; + --light-color-ts-class: #1f70c2; + --light-color-ts-interface: #108024; + --light-color-ts-constructor: var(--light-color-ts-class); + --light-color-ts-property: var(--light-color-ts-variable); + --light-color-ts-method: var(--light-color-ts-function); + --light-color-ts-call-signature: var(--light-color-ts-method); + --light-color-ts-index-signature: var(--light-color-ts-property); + --light-color-ts-constructor-signature: var(--light-color-ts-constructor); + --light-color-ts-parameter: var(--light-color-ts-variable); + /* type literal not included as links will never be generated to it */ + --light-color-ts-type-parameter: #a55c0e; + --light-color-ts-accessor: var(--light-color-ts-property); + --light-color-ts-get-signature: var(--light-color-ts-accessor); + --light-color-ts-set-signature: var(--light-color-ts-accessor); + --light-color-ts-type-alias: #d51270; + /* reference not included as links will be colored with the kind that it points to */ + --light-color-document: #000000; + + --light-external-icon: url("data:image/svg+xml;utf8,"); + --light-color-scheme: light; + + /* Dark */ + --dark-color-background: #2b2e33; + --dark-color-background-secondary: #1e2024; + --dark-color-background-warning: #bebe00; + --dark-color-warning-text: #222; + --dark-color-icon-background: var(--dark-color-background-secondary); + --dark-color-accent: #9096a2; + --dark-color-active-menu-item: #5d5d6a; + --dark-color-text: #f5f5f5; + --dark-color-text-aside: #dddddd; + --dark-color-link: #00aff4; + --dark-color-focus-outline: #4c97f2; + + --dark-color-ts-keyword: #3399ff; + --dark-color-ts-project: #e358ff; + --dark-color-ts-module: var(--dark-color-ts-project); + --dark-color-ts-namespace: var(--dark-color-ts-project); + --dark-color-ts-enum: #f4d93e; + --dark-color-ts-enum-member: var(--dark-color-ts-enum); + --dark-color-ts-variable: #798dff; + --dark-color-ts-function: #a280ff; + --dark-color-ts-class: #8ac4ff; + --dark-color-ts-interface: #6cff87; + --dark-color-ts-constructor: var(--dark-color-ts-class); + --dark-color-ts-property: var(--dark-color-ts-variable); + --dark-color-ts-method: var(--dark-color-ts-function); + --dark-color-ts-call-signature: var(--dark-color-ts-method); + --dark-color-ts-index-signature: var(--dark-color-ts-property); + --dark-color-ts-constructor-signature: var(--dark-color-ts-constructor); + --dark-color-ts-parameter: var(--dark-color-ts-variable); + /* type literal not included as links will never be generated to it */ + --dark-color-ts-type-parameter: #e07d13; + --dark-color-ts-accessor: var(--dark-color-ts-property); + --dark-color-ts-get-signature: var(--dark-color-ts-accessor); + --dark-color-ts-set-signature: var(--dark-color-ts-accessor); + --dark-color-ts-type-alias: #ff6492; + /* reference not included as links will be colored with the kind that it points to */ + --dark-color-document: #ffffff; + + --dark-external-icon: url("data:image/svg+xml;utf8,"); + --dark-color-scheme: dark; +} + +@media (prefers-color-scheme: light) { + :root { + --color-background: var(--light-color-background); + --color-background-secondary: var(--light-color-background-secondary); + --color-background-warning: var(--light-color-background-warning); + --color-warning-text: var(--light-color-warning-text); + --color-icon-background: var(--light-color-icon-background); + --color-accent: var(--light-color-accent); + --color-active-menu-item: var(--light-color-active-menu-item); + --color-text: var(--light-color-text); + --color-text-aside: var(--light-color-text-aside); + --color-link: var(--light-color-link); + --color-focus-outline: var(--light-color-focus-outline); + + --color-ts-keyword: var(--light-color-ts-keyword); + --color-ts-module: var(--light-color-ts-module); + --color-ts-namespace: var(--light-color-ts-namespace); + --color-ts-enum: var(--light-color-ts-enum); + --color-ts-enum-member: var(--light-color-ts-enum-member); + --color-ts-variable: var(--light-color-ts-variable); + --color-ts-function: var(--light-color-ts-function); + --color-ts-class: var(--light-color-ts-class); + --color-ts-interface: var(--light-color-ts-interface); + --color-ts-constructor: var(--light-color-ts-constructor); + --color-ts-property: var(--light-color-ts-property); + --color-ts-method: var(--light-color-ts-method); + --color-ts-call-signature: var(--light-color-ts-call-signature); + --color-ts-index-signature: var(--light-color-ts-index-signature); + --color-ts-constructor-signature: var( + --light-color-ts-constructor-signature + ); + --color-ts-parameter: var(--light-color-ts-parameter); + --color-ts-type-parameter: var(--light-color-ts-type-parameter); + --color-ts-accessor: var(--light-color-ts-accessor); + --color-ts-get-signature: var(--light-color-ts-get-signature); + --color-ts-set-signature: var(--light-color-ts-set-signature); + --color-ts-type-alias: var(--light-color-ts-type-alias); + --color-document: var(--light-color-document); + + --external-icon: var(--light-external-icon); + --color-scheme: var(--light-color-scheme); + } +} + +@media (prefers-color-scheme: dark) { + :root { + --color-background: var(--dark-color-background); + --color-background-secondary: var(--dark-color-background-secondary); + --color-background-warning: var(--dark-color-background-warning); + --color-warning-text: var(--dark-color-warning-text); + --color-icon-background: var(--dark-color-icon-background); + --color-accent: var(--dark-color-accent); + --color-active-menu-item: var(--dark-color-active-menu-item); + --color-text: var(--dark-color-text); + --color-text-aside: var(--dark-color-text-aside); + --color-link: var(--dark-color-link); + --color-focus-outline: var(--dark-color-focus-outline); + + --color-ts-keyword: var(--dark-color-ts-keyword); + --color-ts-module: var(--dark-color-ts-module); + --color-ts-namespace: var(--dark-color-ts-namespace); + --color-ts-enum: var(--dark-color-ts-enum); + --color-ts-enum-member: var(--dark-color-ts-enum-member); + --color-ts-variable: var(--dark-color-ts-variable); + --color-ts-function: var(--dark-color-ts-function); + --color-ts-class: var(--dark-color-ts-class); + --color-ts-interface: var(--dark-color-ts-interface); + --color-ts-constructor: var(--dark-color-ts-constructor); + --color-ts-property: var(--dark-color-ts-property); + --color-ts-method: var(--dark-color-ts-method); + --color-ts-call-signature: var(--dark-color-ts-call-signature); + --color-ts-index-signature: var(--dark-color-ts-index-signature); + --color-ts-constructor-signature: var( + --dark-color-ts-constructor-signature + ); + --color-ts-parameter: var(--dark-color-ts-parameter); + --color-ts-type-parameter: var(--dark-color-ts-type-parameter); + --color-ts-accessor: var(--dark-color-ts-accessor); + --color-ts-get-signature: var(--dark-color-ts-get-signature); + --color-ts-set-signature: var(--dark-color-ts-set-signature); + --color-ts-type-alias: var(--dark-color-ts-type-alias); + --color-document: var(--dark-color-document); + + --external-icon: var(--dark-external-icon); + --color-scheme: var(--dark-color-scheme); + } +} + +html { + color-scheme: var(--color-scheme); +} + +body { + margin: 0; +} + +:root[data-theme="light"] { + --color-background: var(--light-color-background); + --color-background-secondary: var(--light-color-background-secondary); + --color-background-warning: var(--light-color-background-warning); + --color-warning-text: var(--light-color-warning-text); + --color-icon-background: var(--light-color-icon-background); + --color-accent: var(--light-color-accent); + --color-active-menu-item: var(--light-color-active-menu-item); + --color-text: var(--light-color-text); + --color-text-aside: var(--light-color-text-aside); + --color-link: var(--light-color-link); + --color-focus-outline: var(--light-color-focus-outline); + + --color-ts-keyword: var(--light-color-ts-keyword); + --color-ts-module: var(--light-color-ts-module); + --color-ts-namespace: var(--light-color-ts-namespace); + --color-ts-enum: var(--light-color-ts-enum); + --color-ts-enum-member: var(--light-color-ts-enum-member); + --color-ts-variable: var(--light-color-ts-variable); + --color-ts-function: var(--light-color-ts-function); + --color-ts-class: var(--light-color-ts-class); + --color-ts-interface: var(--light-color-ts-interface); + --color-ts-constructor: var(--light-color-ts-constructor); + --color-ts-property: var(--light-color-ts-property); + --color-ts-method: var(--light-color-ts-method); + --color-ts-call-signature: var(--light-color-ts-call-signature); + --color-ts-index-signature: var(--light-color-ts-index-signature); + --color-ts-constructor-signature: var( + --light-color-ts-constructor-signature + ); + --color-ts-parameter: var(--light-color-ts-parameter); + --color-ts-type-parameter: var(--light-color-ts-type-parameter); + --color-ts-accessor: var(--light-color-ts-accessor); + --color-ts-get-signature: var(--light-color-ts-get-signature); + --color-ts-set-signature: var(--light-color-ts-set-signature); + --color-ts-type-alias: var(--light-color-ts-type-alias); + --color-document: var(--light-color-document); + + --external-icon: var(--light-external-icon); + --color-scheme: var(--light-color-scheme); +} + +:root[data-theme="dark"] { + --color-background: var(--dark-color-background); + --color-background-secondary: var(--dark-color-background-secondary); + --color-background-warning: var(--dark-color-background-warning); + --color-warning-text: var(--dark-color-warning-text); + --color-icon-background: var(--dark-color-icon-background); + --color-accent: var(--dark-color-accent); + --color-active-menu-item: var(--dark-color-active-menu-item); + --color-text: var(--dark-color-text); + --color-text-aside: var(--dark-color-text-aside); + --color-link: var(--dark-color-link); + --color-focus-outline: var(--dark-color-focus-outline); + + --color-ts-keyword: var(--dark-color-ts-keyword); + --color-ts-module: var(--dark-color-ts-module); + --color-ts-namespace: var(--dark-color-ts-namespace); + --color-ts-enum: var(--dark-color-ts-enum); + --color-ts-enum-member: var(--dark-color-ts-enum-member); + --color-ts-variable: var(--dark-color-ts-variable); + --color-ts-function: var(--dark-color-ts-function); + --color-ts-class: var(--dark-color-ts-class); + --color-ts-interface: var(--dark-color-ts-interface); + --color-ts-constructor: var(--dark-color-ts-constructor); + --color-ts-property: var(--dark-color-ts-property); + --color-ts-method: var(--dark-color-ts-method); + --color-ts-call-signature: var(--dark-color-ts-call-signature); + --color-ts-index-signature: var(--dark-color-ts-index-signature); + --color-ts-constructor-signature: var( + --dark-color-ts-constructor-signature + ); + --color-ts-parameter: var(--dark-color-ts-parameter); + --color-ts-type-parameter: var(--dark-color-ts-type-parameter); + --color-ts-accessor: var(--dark-color-ts-accessor); + --color-ts-get-signature: var(--dark-color-ts-get-signature); + --color-ts-set-signature: var(--dark-color-ts-set-signature); + --color-ts-type-alias: var(--dark-color-ts-type-alias); + --color-document: var(--dark-color-document); + + --external-icon: var(--dark-external-icon); + --color-scheme: var(--dark-color-scheme); +} + +*:focus-visible, +.tsd-accordion-summary:focus-visible svg { + outline: 2px solid var(--color-focus-outline); +} + +.always-visible, +.always-visible .tsd-signatures { + display: inherit !important; +} + +h1, +h2, +h3, +h4, +h5, +h6 { + line-height: 1.2; +} + +h1 { + font-size: 1.875rem; + margin: 0.67rem 0; +} + +h2 { + font-size: 1.5rem; + margin: 0.83rem 0; +} + +h3 { + font-size: 1.25rem; + margin: 1rem 0; +} + +h4 { + font-size: 1.05rem; + margin: 1.33rem 0; +} + +h5 { + font-size: 1rem; + margin: 1.5rem 0; +} + +h6 { + font-size: 0.875rem; + margin: 2.33rem 0; +} + +dl, +menu, +ol, +ul { + margin: 1em 0; +} + +dd { + margin: 0 0 0 40px; +} + +.container { + max-width: 1700px; + padding: 0 2rem; +} + +/* Footer */ +footer { + border-top: 1px solid var(--color-accent); + padding-top: 1rem; + padding-bottom: 1rem; + max-height: 3.5rem; +} +footer > p { + margin: 0 1em; +} + +.container-main { + margin: 0 auto; + /* toolbar, footer, margin */ + min-height: calc(100vh - 41px - 56px - 4rem); +} + +@keyframes fade-in { + from { + opacity: 0; + } + to { + opacity: 1; + } +} +@keyframes fade-out { + from { + opacity: 1; + visibility: visible; + } + to { + opacity: 0; + } +} +@keyframes fade-in-delayed { + 0% { + opacity: 0; + } + 33% { + opacity: 0; + } + 100% { + opacity: 1; + } +} +@keyframes fade-out-delayed { + 0% { + opacity: 1; + visibility: visible; + } + 66% { + opacity: 0; + } + 100% { + opacity: 0; + } +} +@keyframes pop-in-from-right { + from { + transform: translate(100%, 0); + } + to { + transform: translate(0, 0); + } +} +@keyframes pop-out-to-right { + from { + transform: translate(0, 0); + visibility: visible; + } + to { + transform: translate(100%, 0); + } +} +body { + background: var(--color-background); + font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Noto Sans", + Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji"; + font-size: 16px; + color: var(--color-text); +} + +a { + color: var(--color-link); + text-decoration: none; +} +a:hover { + text-decoration: underline; +} +a.external[target="_blank"] { + background-image: var(--external-icon); + background-position: top 3px right; + background-repeat: no-repeat; + padding-right: 13px; +} +a.tsd-anchor-link { + color: var(--color-text); +} + +code, +pre { + font-family: Menlo, Monaco, Consolas, "Courier New", monospace; + padding: 0.2em; + margin: 0; + font-size: 0.875rem; + border-radius: 0.8em; +} + +pre { + position: relative; + white-space: pre; + white-space: pre-wrap; + word-wrap: break-word; + padding: 10px; + border: 1px solid var(--color-accent); +} +pre code { + padding: 0; + font-size: 100%; +} +pre > button { + position: absolute; + top: 10px; + right: 10px; + opacity: 0; + transition: opacity 0.1s; + box-sizing: border-box; +} +pre:hover > button, +pre > button.visible { + opacity: 1; +} + +blockquote { + margin: 1em 0; + padding-left: 1em; + border-left: 4px solid gray; +} + +.tsd-typography { + line-height: 1.333em; +} +.tsd-typography ul { + list-style: square; + padding: 0 0 0 20px; + margin: 0; +} +.tsd-typography .tsd-index-panel h3, +.tsd-index-panel .tsd-typography h3, +.tsd-typography h4, +.tsd-typography h5, +.tsd-typography h6 { + font-size: 1em; +} +.tsd-typography h5, +.tsd-typography h6 { + font-weight: normal; +} +.tsd-typography p, +.tsd-typography ul, +.tsd-typography ol { + margin: 1em 0; +} +.tsd-typography table { + border-collapse: collapse; + border: none; +} +.tsd-typography td, +.tsd-typography th { + padding: 6px 13px; + border: 1px solid var(--color-accent); +} +.tsd-typography thead, +.tsd-typography tr:nth-child(even) { + background-color: var(--color-background-secondary); +} + +.tsd-breadcrumb { + margin: 0; + padding: 0; + color: var(--color-text-aside); +} +.tsd-breadcrumb a { + color: var(--color-text-aside); + text-decoration: none; +} +.tsd-breadcrumb a:hover { + text-decoration: underline; +} +.tsd-breadcrumb li { + display: inline; +} +.tsd-breadcrumb li:after { + content: " / "; +} + +.tsd-comment-tags { + display: flex; + flex-direction: column; +} +dl.tsd-comment-tag-group { + display: flex; + align-items: center; + overflow: hidden; + margin: 0.5em 0; +} +dl.tsd-comment-tag-group dt { + display: flex; + margin-right: 0.5em; + font-size: 0.875em; + font-weight: normal; +} +dl.tsd-comment-tag-group dd { + margin: 0; +} +code.tsd-tag { + padding: 0.25em 0.4em; + border: 0.1em solid var(--color-accent); + margin-right: 0.25em; + font-size: 70%; +} +h1 code.tsd-tag:first-of-type { + margin-left: 0.25em; +} + +dl.tsd-comment-tag-group dd:before, +dl.tsd-comment-tag-group dd:after { + content: " "; +} +dl.tsd-comment-tag-group dd pre, +dl.tsd-comment-tag-group dd:after { + clear: both; +} +dl.tsd-comment-tag-group p { + margin: 0; +} + +.tsd-panel.tsd-comment .lead { + font-size: 1.1em; + line-height: 1.333em; + margin-bottom: 2em; +} +.tsd-panel.tsd-comment .lead:last-child { + margin-bottom: 0; +} + +.tsd-filter-visibility h4 { + font-size: 1rem; + padding-top: 0.75rem; + padding-bottom: 0.5rem; + margin: 0; +} +.tsd-filter-item:not(:last-child) { + margin-bottom: 0.5rem; +} +.tsd-filter-input { + display: flex; + width: -moz-fit-content; + width: fit-content; + align-items: center; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + cursor: pointer; +} +.tsd-filter-input input[type="checkbox"] { + cursor: pointer; + position: absolute; + width: 1.5em; + height: 1.5em; + opacity: 0; +} +.tsd-filter-input input[type="checkbox"]:disabled { + pointer-events: none; +} +.tsd-filter-input svg { + cursor: pointer; + width: 1.5em; + height: 1.5em; + margin-right: 0.5em; + border-radius: 0.33em; + /* Leaving this at full opacity breaks event listeners on Firefox. + Don't remove unless you know what you're doing. */ + opacity: 0.99; +} +.tsd-filter-input input[type="checkbox"]:focus-visible + svg { + outline: 2px solid var(--color-focus-outline); +} +.tsd-checkbox-background { + fill: var(--color-accent); +} +input[type="checkbox"]:checked ~ svg .tsd-checkbox-checkmark { + stroke: var(--color-text); +} +.tsd-filter-input input:disabled ~ svg > .tsd-checkbox-background { + fill: var(--color-background); + stroke: var(--color-accent); + stroke-width: 0.25rem; +} +.tsd-filter-input input:disabled ~ svg > .tsd-checkbox-checkmark { + stroke: var(--color-accent); +} + +.settings-label { + font-weight: bold; + text-transform: uppercase; + display: inline-block; +} + +.tsd-filter-visibility .settings-label { + margin: 0.75rem 0 0.5rem 0; +} + +.tsd-theme-toggle .settings-label { + margin: 0.75rem 0.75rem 0 0; +} + +.tsd-hierarchy { + list-style: square; + margin: 0; +} +.tsd-hierarchy .target { + font-weight: bold; +} + +.tsd-full-hierarchy:not(:last-child) { + margin-bottom: 1em; + padding-bottom: 1em; + border-bottom: 1px solid var(--color-accent); +} +.tsd-full-hierarchy, +.tsd-full-hierarchy ul { + list-style: none; + margin: 0; + padding: 0; +} +.tsd-full-hierarchy ul { + padding-left: 1.5rem; +} +.tsd-full-hierarchy a { + padding: 0.25rem 0 !important; + font-size: 1rem; + display: inline-flex; + align-items: center; + color: var(--color-text); +} + +.tsd-panel-group.tsd-index-group { + margin-bottom: 0; +} +.tsd-index-panel .tsd-index-list { + list-style: none; + line-height: 1.333em; + margin: 0; + padding: 0.25rem 0 0 0; + overflow: hidden; + display: grid; + grid-template-columns: repeat(3, 1fr); + column-gap: 1rem; + grid-template-rows: auto; +} +@media (max-width: 1024px) { + .tsd-index-panel .tsd-index-list { + grid-template-columns: repeat(2, 1fr); + } +} +@media (max-width: 768px) { + .tsd-index-panel .tsd-index-list { + grid-template-columns: repeat(1, 1fr); + } +} +.tsd-index-panel .tsd-index-list li { + -webkit-page-break-inside: avoid; + -moz-page-break-inside: avoid; + -ms-page-break-inside: avoid; + -o-page-break-inside: avoid; + page-break-inside: avoid; +} + +.tsd-flag { + display: inline-block; + padding: 0.25em 0.4em; + border-radius: 4px; + color: var(--color-comment-tag-text); + background-color: var(--color-comment-tag); + text-indent: 0; + font-size: 75%; + line-height: 1; + font-weight: normal; +} + +.tsd-anchor { + position: relative; + top: -100px; +} + +.tsd-member { + position: relative; +} +.tsd-member .tsd-anchor + h3 { + display: flex; + align-items: center; + margin-top: 0; + margin-bottom: 0; + border-bottom: none; +} + +.tsd-navigation.settings { + margin: 1rem 0; +} +.tsd-navigation > a, +.tsd-navigation .tsd-accordion-summary { + width: calc(100% - 0.25rem); + display: flex; + align-items: center; +} +.tsd-navigation a, +.tsd-navigation summary > span, +.tsd-page-navigation a { + display: flex; + width: calc(100% - 0.25rem); + align-items: center; + padding: 0.25rem; + color: var(--color-text); + text-decoration: none; + box-sizing: border-box; +} +.tsd-navigation a.current, +.tsd-page-navigation a.current { + background: var(--color-active-menu-item); +} +.tsd-navigation a:hover, +.tsd-page-navigation a:hover { + text-decoration: underline; +} +.tsd-navigation ul, +.tsd-page-navigation ul { + margin-top: 0; + margin-bottom: 0; + padding: 0; + list-style: none; +} +.tsd-navigation li, +.tsd-page-navigation li { + padding: 0; + max-width: 100%; +} +.tsd-navigation .tsd-nav-link { + display: none; +} +.tsd-nested-navigation { + margin-left: 3rem; +} +.tsd-nested-navigation > li > details { + margin-left: -1.5rem; +} +.tsd-small-nested-navigation { + margin-left: 1.5rem; +} +.tsd-small-nested-navigation > li > details { + margin-left: -1.5rem; +} + +.tsd-page-navigation-section { + margin-left: 10px; +} +.tsd-page-navigation-section > summary { + padding: 0.25rem; +} +.tsd-page-navigation-section > div { + margin-left: 20px; +} +.tsd-page-navigation ul { + padding-left: 1.75rem; +} + +#tsd-sidebar-links a { + margin-top: 0; + margin-bottom: 0.5rem; + line-height: 1.25rem; +} +#tsd-sidebar-links a:last-of-type { + margin-bottom: 0; +} + +a.tsd-index-link { + padding: 0.25rem 0 !important; + font-size: 1rem; + line-height: 1.25rem; + display: inline-flex; + align-items: center; + color: var(--color-text); +} +.tsd-accordion-summary { + list-style-type: none; /* hide marker on non-safari */ + outline: none; /* broken on safari, so just hide it */ +} +.tsd-accordion-summary::-webkit-details-marker { + display: none; /* hide marker on safari */ +} +.tsd-accordion-summary, +.tsd-accordion-summary a { + -moz-user-select: none; + -webkit-user-select: none; + -ms-user-select: none; + user-select: none; + + cursor: pointer; +} +.tsd-accordion-summary a { + width: calc(100% - 1.5rem); +} +.tsd-accordion-summary > * { + margin-top: 0; + margin-bottom: 0; + padding-top: 0; + padding-bottom: 0; +} +.tsd-accordion .tsd-accordion-summary > svg { + margin-left: 0.25rem; + vertical-align: text-top; +} +.tsd-index-content > :not(:first-child) { + margin-top: 0.75rem; +} +.tsd-index-heading { + margin-top: 1.5rem; + margin-bottom: 0.75rem; +} + +.tsd-kind-icon { + margin-right: 0.5rem; + width: 1.25rem; + height: 1.25rem; + min-width: 1.25rem; + min-height: 1.25rem; +} +.tsd-kind-icon path { + transform-origin: center; + transform: scale(1.1); +} +.tsd-signature > .tsd-kind-icon { + margin-right: 0.8rem; +} + +.tsd-panel { + margin-bottom: 2.5rem; +} +.tsd-panel.tsd-member { + margin-bottom: 4rem; +} +.tsd-panel:empty { + display: none; +} +.tsd-panel > h1, +.tsd-panel > h2, +.tsd-panel > h3 { + margin: 1.5rem -1.5rem 0.75rem -1.5rem; + padding: 0 1.5rem 0.75rem 1.5rem; +} +.tsd-panel > h1.tsd-before-signature, +.tsd-panel > h2.tsd-before-signature, +.tsd-panel > h3.tsd-before-signature { + margin-bottom: 0; + border-bottom: none; +} + +.tsd-panel-group { + margin: 2rem 0; +} +.tsd-panel-group.tsd-index-group { + margin: 2rem 0; +} +.tsd-panel-group.tsd-index-group details { + margin: 2rem 0; +} +.tsd-panel-group > .tsd-accordion-summary { + margin-bottom: 1rem; +} + +#tsd-search { + transition: background-color 0.2s; +} +#tsd-search .title { + position: relative; + z-index: 2; +} +#tsd-search .field { + position: absolute; + left: 0; + top: 0; + right: 2.5rem; + height: 100%; +} +#tsd-search .field input { + box-sizing: border-box; + position: relative; + top: -50px; + z-index: 1; + width: 100%; + padding: 0 10px; + opacity: 0; + outline: 0; + border: 0; + background: transparent; + color: var(--color-text); +} +#tsd-search .field label { + position: absolute; + overflow: hidden; + right: -40px; +} +#tsd-search .field input, +#tsd-search .title, +#tsd-toolbar-links a { + transition: opacity 0.2s; +} +#tsd-search .results { + position: absolute; + visibility: hidden; + top: 40px; + width: 100%; + margin: 0; + padding: 0; + list-style: none; + box-shadow: 0 0 4px rgba(0, 0, 0, 0.25); +} +#tsd-search .results li { + background-color: var(--color-background); + line-height: initial; + padding: 4px; +} +#tsd-search .results li:nth-child(even) { + background-color: var(--color-background-secondary); +} +#tsd-search .results li.state { + display: none; +} +#tsd-search .results li.current:not(.no-results), +#tsd-search .results li:hover:not(.no-results) { + background-color: var(--color-accent); +} +#tsd-search .results a { + display: flex; + align-items: center; + padding: 0.25rem; + box-sizing: border-box; +} +#tsd-search .results a:before { + top: 10px; +} +#tsd-search .results span.parent { + color: var(--color-text-aside); + font-weight: normal; +} +#tsd-search.has-focus { + background-color: var(--color-accent); +} +#tsd-search.has-focus .field input { + top: 0; + opacity: 1; +} +#tsd-search.has-focus .title, +#tsd-search.has-focus #tsd-toolbar-links a { + z-index: 0; + opacity: 0; +} +#tsd-search.has-focus .results { + visibility: visible; +} +#tsd-search.loading .results li.state.loading { + display: block; +} +#tsd-search.failure .results li.state.failure { + display: block; +} + +#tsd-toolbar-links { + position: absolute; + top: 0; + right: 2rem; + height: 100%; + display: flex; + align-items: center; + justify-content: flex-end; +} +#tsd-toolbar-links a { + margin-left: 1.5rem; +} +#tsd-toolbar-links a:hover { + text-decoration: underline; +} + +.tsd-signature { + margin: 0 0 1rem 0; + padding: 1rem 0.5rem; + border: 1px solid var(--color-accent); + font-family: Menlo, Monaco, Consolas, "Courier New", monospace; + font-size: 14px; + overflow-x: auto; +} + +.tsd-signature-keyword { + color: var(--color-ts-keyword); + font-weight: normal; +} + +.tsd-signature-symbol { + color: var(--color-text-aside); + font-weight: normal; +} + +.tsd-signature-type { + font-style: italic; + font-weight: normal; +} + +.tsd-signatures { + padding: 0; + margin: 0 0 1em 0; + list-style-type: none; +} +.tsd-signatures .tsd-signature { + margin: 0; + border-color: var(--color-accent); + border-width: 1px 0; + transition: background-color 0.1s; +} +.tsd-signatures .tsd-index-signature:not(:last-child) { + margin-bottom: 1em; +} +.tsd-signatures .tsd-index-signature .tsd-signature { + border-width: 1px; +} +.tsd-description .tsd-signatures .tsd-signature { + border-width: 1px; +} + +ul.tsd-parameter-list, +ul.tsd-type-parameter-list { + list-style: square; + margin: 0; + padding-left: 20px; +} +ul.tsd-parameter-list > li.tsd-parameter-signature, +ul.tsd-type-parameter-list > li.tsd-parameter-signature { + list-style: none; + margin-left: -20px; +} +ul.tsd-parameter-list h5, +ul.tsd-type-parameter-list h5 { + font-size: 16px; + margin: 1em 0 0.5em 0; +} +.tsd-sources { + margin-top: 1rem; + font-size: 0.875em; +} +.tsd-sources a { + color: var(--color-text-aside); + text-decoration: underline; +} +.tsd-sources ul { + list-style: none; + padding: 0; +} + +.tsd-page-toolbar { + position: sticky; + z-index: 1; + top: 0; + left: 0; + width: 100%; + color: var(--color-text); + background: var(--color-background-secondary); + border-bottom: 1px var(--color-accent) solid; + transition: transform 0.3s ease-in-out; +} +.tsd-page-toolbar a { + color: var(--color-text); + text-decoration: none; +} +.tsd-page-toolbar a.title { + font-weight: bold; +} +.tsd-page-toolbar a.title:hover { + text-decoration: underline; +} +.tsd-page-toolbar .tsd-toolbar-contents { + display: flex; + justify-content: space-between; + height: 2.5rem; + margin: 0 auto; +} +.tsd-page-toolbar .table-cell { + position: relative; + white-space: nowrap; + line-height: 40px; +} +.tsd-page-toolbar .table-cell:first-child { + width: 100%; +} +.tsd-page-toolbar .tsd-toolbar-icon { + box-sizing: border-box; + line-height: 0; + padding: 12px 0; +} + +.tsd-widget { + display: inline-block; + overflow: hidden; + opacity: 0.8; + height: 40px; + transition: + opacity 0.1s, + background-color 0.2s; + vertical-align: bottom; + cursor: pointer; +} +.tsd-widget:hover { + opacity: 0.9; +} +.tsd-widget.active { + opacity: 1; + background-color: var(--color-accent); +} +.tsd-widget.no-caption { + width: 40px; +} +.tsd-widget.no-caption:before { + margin: 0; +} + +.tsd-widget.options, +.tsd-widget.menu { + display: none; +} +input[type="checkbox"] + .tsd-widget:before { + background-position: -120px 0; +} +input[type="checkbox"]:checked + .tsd-widget:before { + background-position: -160px 0; +} + +img { + max-width: 100%; +} + +.tsd-anchor-icon { + display: inline-flex; + align-items: center; + margin-left: 0.5rem; + vertical-align: middle; + color: var(--color-text); +} + +.tsd-anchor-icon svg { + width: 1em; + height: 1em; + visibility: hidden; +} + +.tsd-anchor-link:hover > .tsd-anchor-icon svg { + visibility: visible; +} + +.deprecated { + text-decoration: line-through !important; +} + +.warning { + padding: 1rem; + color: var(--color-warning-text); + background: var(--color-background-warning); +} + +.tsd-kind-project { + color: var(--color-ts-project); +} +.tsd-kind-module { + color: var(--color-ts-module); +} +.tsd-kind-namespace { + color: var(--color-ts-namespace); +} +.tsd-kind-enum { + color: var(--color-ts-enum); +} +.tsd-kind-enum-member { + color: var(--color-ts-enum-member); +} +.tsd-kind-variable { + color: var(--color-ts-variable); +} +.tsd-kind-function { + color: var(--color-ts-function); +} +.tsd-kind-class { + color: var(--color-ts-class); +} +.tsd-kind-interface { + color: var(--color-ts-interface); +} +.tsd-kind-constructor { + color: var(--color-ts-constructor); +} +.tsd-kind-property { + color: var(--color-ts-property); +} +.tsd-kind-method { + color: var(--color-ts-method); +} +.tsd-kind-call-signature { + color: var(--color-ts-call-signature); +} +.tsd-kind-index-signature { + color: var(--color-ts-index-signature); +} +.tsd-kind-constructor-signature { + color: var(--color-ts-constructor-signature); +} +.tsd-kind-parameter { + color: var(--color-ts-parameter); +} +.tsd-kind-type-literal { + color: var(--color-ts-type-literal); +} +.tsd-kind-type-parameter { + color: var(--color-ts-type-parameter); +} +.tsd-kind-accessor { + color: var(--color-ts-accessor); +} +.tsd-kind-get-signature { + color: var(--color-ts-get-signature); +} +.tsd-kind-set-signature { + color: var(--color-ts-set-signature); +} +.tsd-kind-type-alias { + color: var(--color-ts-type-alias); +} + +/* if we have a kind icon, don't color the text by kind */ +.tsd-kind-icon ~ span { + color: var(--color-text); +} + +* { + scrollbar-width: thin; + scrollbar-color: var(--color-accent) var(--color-icon-background); +} + +*::-webkit-scrollbar { + width: 0.75rem; +} + +*::-webkit-scrollbar-track { + background: var(--color-icon-background); +} + +*::-webkit-scrollbar-thumb { + background-color: var(--color-accent); + border-radius: 999rem; + border: 0.25rem solid var(--color-icon-background); +} + +/* mobile */ +@media (max-width: 769px) { + .tsd-widget.options, + .tsd-widget.menu { + display: inline-block; + } + + .container-main { + display: flex; + } + html .col-content { + float: none; + max-width: 100%; + width: 100%; + } + html .col-sidebar { + position: fixed !important; + overflow-y: auto; + -webkit-overflow-scrolling: touch; + z-index: 1024; + top: 0 !important; + bottom: 0 !important; + left: auto !important; + right: 0 !important; + padding: 1.5rem 1.5rem 0 0; + width: 75vw; + visibility: hidden; + background-color: var(--color-background); + transform: translate(100%, 0); + } + html .col-sidebar > *:last-child { + padding-bottom: 20px; + } + html .overlay { + content: ""; + display: block; + position: fixed; + z-index: 1023; + top: 0; + left: 0; + right: 0; + bottom: 0; + background-color: rgba(0, 0, 0, 0.75); + visibility: hidden; + } + + .to-has-menu .overlay { + animation: fade-in 0.4s; + } + + .to-has-menu .col-sidebar { + animation: pop-in-from-right 0.4s; + } + + .from-has-menu .overlay { + animation: fade-out 0.4s; + } + + .from-has-menu .col-sidebar { + animation: pop-out-to-right 0.4s; + } + + .has-menu body { + overflow: hidden; + } + .has-menu .overlay { + visibility: visible; + } + .has-menu .col-sidebar { + visibility: visible; + transform: translate(0, 0); + display: flex; + flex-direction: column; + gap: 1.5rem; + max-height: 100vh; + padding: 1rem 2rem; + } + .has-menu .tsd-navigation { + max-height: 100%; + } + #tsd-toolbar-links { + display: none; + } + .tsd-navigation .tsd-nav-link { + display: flex; + } +} + +/* one sidebar */ +@media (min-width: 770px) { + .container-main { + display: grid; + grid-template-columns: minmax(0, 1fr) minmax(0, 2fr); + grid-template-areas: "sidebar content"; + margin: 2rem auto; + } + + .col-sidebar { + grid-area: sidebar; + } + .col-content { + grid-area: content; + padding: 0 1rem; + } +} +@media (min-width: 770px) and (max-width: 1399px) { + .col-sidebar { + max-height: calc(100vh - 2rem - 42px); + overflow: auto; + position: sticky; + top: 42px; + padding-top: 1rem; + } + .site-menu { + margin-top: 1rem; + } +} + +/* two sidebars */ +@media (min-width: 1200px) { + .container-main { + grid-template-columns: minmax(0, 1fr) minmax(0, 2.5fr) minmax(0, 20rem); + grid-template-areas: "sidebar content toc"; + } + + .col-sidebar { + display: contents; + } + + .page-menu { + grid-area: toc; + padding-left: 1rem; + } + .site-menu { + grid-area: sidebar; + } + + .site-menu { + margin-top: 1rem 0; + } + + .page-menu, + .site-menu { + max-height: calc(100vh - 2rem - 42px); + overflow: auto; + position: sticky; + top: 42px; + } +} diff --git a/docs/index.html b/docs/index.html new file mode 100644 index 00000000..1b9db8dd --- /dev/null +++ b/docs/index.html @@ -0,0 +1,19 @@ +@playform/starter - v0.0.1

@playform/starter - v0.0.1

📄 Starter —

A simple skeleton with TailwindCSS, PostCSS.

+ + + + + +
+ + + + TailwindCSS Logo + + + + + PostCSS Logo + +
+
diff --git a/docs/modules/Script_Firebase.html b/docs/modules/Script_Firebase.html new file mode 100644 index 00000000..eeca09b6 --- /dev/null +++ b/docs/modules/Script_Firebase.html @@ -0,0 +1,2 @@ +Script/Firebase | @playform/starter - v0.0.1

Module Script/Firebase

Index

Variables

diff --git a/docs/modules/env.html b/docs/modules/env.html new file mode 100644 index 00000000..b4d72a7b --- /dev/null +++ b/docs/modules/env.html @@ -0,0 +1 @@ +env | @playform/starter - v0.0.1
diff --git a/docs/variables/Script_Firebase.firebase.html b/docs/variables/Script_Firebase.firebase.html new file mode 100644 index 00000000..a171139d --- /dev/null +++ b/docs/variables/Script_Firebase.firebase.html @@ -0,0 +1 @@ +firebase | @playform/starter - v0.0.1
firebase: FirebaseApp
From b2fd13e7491b450cc19286ee11c408da1ee3631b Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 16 Oct 2024 01:57:14 +0000 Subject: [PATCH 099/112] Bump tailwindcss from 3.4.13 to 3.4.14 Bumps [tailwindcss](https://github.com/tailwindlabs/tailwindcss) from 3.4.13 to 3.4.14. - [Release notes](https://github.com/tailwindlabs/tailwindcss/releases) - [Changelog](https://github.com/tailwindlabs/tailwindcss/blob/v3.4.14/CHANGELOG.md) - [Commits](https://github.com/tailwindlabs/tailwindcss/compare/v3.4.13...v3.4.14) --- updated-dependencies: - dependency-name: tailwindcss dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 3094c986..c9ffd859 100644 --- a/package.json +++ b/package.json @@ -50,7 +50,7 @@ "postcss-import": "16.1.0", "postcss-reporter": "7.1.0", "postcss-url": "10.1.3", - "tailwindcss": "3.4.13", + "tailwindcss": "3.4.14", "typescript": "5.6.3", "zod": "3.23.8" }, From af00ec0bf3b8c244d6817a9465904b2afb0f354f Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 16 Oct 2024 01:57:39 +0000 Subject: [PATCH 100/112] Bump @astrojs/sitemap from 3.2.0 to 3.2.1 Bumps [@astrojs/sitemap](https://github.com/withastro/astro/tree/HEAD/packages/integrations/sitemap) from 3.2.0 to 3.2.1. - [Release notes](https://github.com/withastro/astro/releases) - [Changelog](https://github.com/withastro/astro/blob/main/packages/integrations/sitemap/CHANGELOG.md) - [Commits](https://github.com/withastro/astro/commits/@astrojs/sitemap@3.2.1/packages/integrations/sitemap) --- updated-dependencies: - dependency-name: "@astrojs/sitemap" dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 3094c986..3e4efa0e 100644 --- a/package.json +++ b/package.json @@ -28,7 +28,7 @@ "prepublishOnly": "astro build" }, "dependencies": { - "@astrojs/sitemap": "3.2.0", + "@astrojs/sitemap": "3.2.1", "@playform/build": "0.1.7", "@playform/compress": "0.1.4", "@playform/format": "0.0.7", From 68a12c0fa0cef0ecb55d73a6b5f6a969a777654c Mon Sep 17 00:00:00 2001 From: Nikola Hristov Date: Wed, 16 Oct 2024 19:25:20 +0300 Subject: [PATCH 101/112] --- package.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/package.json b/package.json index 3094c986..7ab5cebe 100644 --- a/package.json +++ b/package.json @@ -28,7 +28,7 @@ "prepublishOnly": "astro build" }, "dependencies": { - "@astrojs/sitemap": "3.2.0", + "@astrojs/sitemap": "3.2.1", "@playform/build": "0.1.7", "@playform/compress": "0.1.4", "@playform/format": "0.0.7", @@ -50,7 +50,7 @@ "postcss-import": "16.1.0", "postcss-reporter": "7.1.0", "postcss-url": "10.1.3", - "tailwindcss": "3.4.13", + "tailwindcss": "3.4.14", "typescript": "5.6.3", "zod": "3.23.8" }, From 88ded7b382d4f011f569292a94c2a72d0de98a54 Mon Sep 17 00:00:00 2001 From: Nikola Hristov Date: Thu, 17 Oct 2024 18:24:42 +0300 Subject: [PATCH 102/112] --- astro.config.ts | 4 +--- package.json | 2 +- 2 files changed, 2 insertions(+), 4 deletions(-) diff --git a/astro.config.ts b/astro.config.ts index 6669e5ab..7b19d090 100644 --- a/astro.config.ts +++ b/astro.config.ts @@ -22,10 +22,8 @@ export default (await import("astro/config")).defineConfig({ (await import("@playform/compress")).default({ Logger: 1 }), ], experimental: { - directRenderScript: true, clientPrerender: true, - globalRoutePriority: true, - serverIslands: true, + contentIntellisense: true, }, vite: { build: { diff --git a/package.json b/package.json index 7ab5cebe..af046e8a 100644 --- a/package.json +++ b/package.json @@ -55,7 +55,7 @@ "zod": "3.23.8" }, "devDependencies": { - "@astrojs/ts-plugin": "1.10.2" + "@astrojs/ts-plugin": "1.10.3" }, "publishConfig": { "access": "restricted", From 568d03a1806dccda90f694e356020113d958d2ec Mon Sep 17 00:00:00 2001 From: Nikola Hristov Date: Fri, 18 Oct 2024 00:26:28 +0300 Subject: [PATCH 103/112] --- Source/Layout/Base.astro | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Source/Layout/Base.astro b/Source/Layout/Base.astro index 0b6cacc6..629f0c59 100644 --- a/Source/Layout/Base.astro +++ b/Source/Layout/Base.astro @@ -2,7 +2,7 @@ import "@Stylesheet/Base.css"; import { Head } from "astro-capo"; -import { ViewTransitions } from "astro:transitions"; +import { ClientRouter } from "astro:transitions"; // TODO Place your title and description here const { Title = "", Description = "" } = Astro.props; @@ -52,7 +52,7 @@ interface Props { - +
From c51187357517e817a682c9c7b165e88f65a8d325 Mon Sep 17 00:00:00 2001 From: Nikola Hristov Date: Fri, 18 Oct 2024 01:42:48 +0300 Subject: [PATCH 104/112] --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index af046e8a..0897761c 100644 --- a/package.json +++ b/package.json @@ -36,7 +36,7 @@ "@tailwindcss/aspect-ratio": "0.4.2", "@tailwindcss/forms": "0.5.9", "@tailwindcss/typography": "0.5.15", - "astro": "*", + "astro": "5.0.0-beta.5", "astro-capo": "0.0.1", "astrojs-service-worker": "2.0.0", "autoprefixer": "10.4.20", From b180a618d284bda73a404beb7bcd53a675ed8fe9 Mon Sep 17 00:00:00 2001 From: Nikola Hristov Date: Tue, 22 Oct 2024 04:49:54 +0300 Subject: [PATCH 105/112] --- package.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/package.json b/package.json index 0897761c..0373c30d 100644 --- a/package.json +++ b/package.json @@ -29,7 +29,7 @@ }, "dependencies": { "@astrojs/sitemap": "3.2.1", - "@playform/build": "0.1.7", + "@playform/build": "0.1.8", "@playform/compress": "0.1.4", "@playform/format": "0.0.7", "@playform/inline": "0.1.0", @@ -43,7 +43,7 @@ "cssnano": "7.0.6", "cssnano-preset-advanced": "7.0.6", "dotenv": "16.4.5", - "firebase": "10.14.1", + "firebase": "11.0.0", "postcss": "8.4.47", "postcss-combine-duplicated-selectors": "10.0.3", "postcss-combine-media-query": "1.0.1", From a1fbfca7b500691630e027f9974303e2c886b1e1 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 23 Oct 2024 02:01:35 +0000 Subject: [PATCH 106/112] Bump firebase from 11.0.0 to 11.0.1 Bumps [firebase](https://github.com/firebase/firebase-js-sdk) from 11.0.0 to 11.0.1. - [Release notes](https://github.com/firebase/firebase-js-sdk/releases) - [Changelog](https://github.com/firebase/firebase-js-sdk/blob/main/CHANGELOG.md) - [Commits](https://github.com/firebase/firebase-js-sdk/compare/firebase@11.0.0...firebase@11.0.1) --- updated-dependencies: - dependency-name: firebase dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 0373c30d..a4ae7d78 100644 --- a/package.json +++ b/package.json @@ -43,7 +43,7 @@ "cssnano": "7.0.6", "cssnano-preset-advanced": "7.0.6", "dotenv": "16.4.5", - "firebase": "11.0.0", + "firebase": "11.0.1", "postcss": "8.4.47", "postcss-combine-duplicated-selectors": "10.0.3", "postcss-combine-media-query": "1.0.1", From 292f6a5c7350f8e0ddddc3dd3216ad82dfa5e2b5 Mon Sep 17 00:00:00 2001 From: Nikola Hristov Date: Wed, 23 Oct 2024 08:26:29 +0300 Subject: [PATCH 107/112] --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index a4ae7d78..e4255f11 100644 --- a/package.json +++ b/package.json @@ -30,7 +30,7 @@ "dependencies": { "@astrojs/sitemap": "3.2.1", "@playform/build": "0.1.8", - "@playform/compress": "0.1.4", + "@playform/compress": "0.1.5", "@playform/format": "0.0.7", "@playform/inline": "0.1.0", "@tailwindcss/aspect-ratio": "0.4.2", From adc93342a2b49106af2d1f7f22b4208017bcd9cd Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 24 Oct 2024 01:14:12 +0000 Subject: [PATCH 108/112] Bump actions/checkout from 4.2.1 to 4.2.2 Bumps [actions/checkout](https://github.com/actions/checkout) from 4.2.1 to 4.2.2. - [Release notes](https://github.com/actions/checkout/releases) - [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md) - [Commits](https://github.com/actions/checkout/compare/v4.2.1...v4.2.2) --- updated-dependencies: - dependency-name: actions/checkout dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- .github/workflows/NPM.yml | 2 +- .github/workflows/Node.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/NPM.yml b/.github/workflows/NPM.yml index 76ab61a0..323e4fb0 100644 --- a/.github/workflows/NPM.yml +++ b/.github/workflows/NPM.yml @@ -57,7 +57,7 @@ jobs: id-token: write steps: - - uses: actions/checkout@v4.2.1 + - uses: actions/checkout@v4.2.2 - uses: actions/setup-node@v4.0.4 with: diff --git a/.github/workflows/Node.yml b/.github/workflows/Node.yml index 83274f86..d8efc19a 100644 --- a/.github/workflows/Node.yml +++ b/.github/workflows/Node.yml @@ -59,7 +59,7 @@ jobs: node-version: [18, 19, 20] steps: - - uses: actions/checkout@v4.2.1 + - uses: actions/checkout@v4.2.2 - uses: pnpm/action-setup@v4.0.0 with: From 67876f3d6018ec2c07941d56e91d9ff667b89256 Mon Sep 17 00:00:00 2001 From: Nikola Hristov Date: Thu, 24 Oct 2024 06:40:58 +0300 Subject: [PATCH 109/112] --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index e4255f11..34440b4c 100644 --- a/package.json +++ b/package.json @@ -30,7 +30,7 @@ "dependencies": { "@astrojs/sitemap": "3.2.1", "@playform/build": "0.1.8", - "@playform/compress": "0.1.5", + "@playform/compress": "0.1.6", "@playform/format": "0.0.7", "@playform/inline": "0.1.0", "@tailwindcss/aspect-ratio": "0.4.2", From 53805f6e175bc134c6e6e308cca60b9ef01ad3bb Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 25 Oct 2024 01:47:51 +0000 Subject: [PATCH 110/112] Bump actions/setup-node from 4.0.4 to 4.1.0 Bumps [actions/setup-node](https://github.com/actions/setup-node) from 4.0.4 to 4.1.0. - [Release notes](https://github.com/actions/setup-node/releases) - [Commits](https://github.com/actions/setup-node/compare/v4.0.4...v4.1.0) --- updated-dependencies: - dependency-name: actions/setup-node dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- .github/workflows/NPM.yml | 2 +- .github/workflows/Node.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/NPM.yml b/.github/workflows/NPM.yml index 323e4fb0..490dcaa4 100644 --- a/.github/workflows/NPM.yml +++ b/.github/workflows/NPM.yml @@ -59,7 +59,7 @@ jobs: steps: - uses: actions/checkout@v4.2.2 - - uses: actions/setup-node@v4.0.4 + - uses: actions/setup-node@v4.1.0 with: node-version: "18" registry-url: "https://registry.npmjs.org" diff --git a/.github/workflows/Node.yml b/.github/workflows/Node.yml index d8efc19a..055fa35b 100644 --- a/.github/workflows/Node.yml +++ b/.github/workflows/Node.yml @@ -76,7 +76,7 @@ jobs: --unsafe-perm=true ] - - uses: actions/setup-node@v4.0.4 + - uses: actions/setup-node@v4.1.0 with: node-version: ${{ matrix.node-version }} cache: "pnpm" From 612dbea171e4b7a4781c6df2635d18aea1adbaaa Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 28 Oct 2024 01:08:49 +0000 Subject: [PATCH 111/112] Bump @astrojs/ts-plugin from 1.10.3 to 1.10.4 Bumps [@astrojs/ts-plugin](https://github.com/withastro/language-tools/tree/HEAD/packages/ts-plugin) from 1.10.3 to 1.10.4. - [Release notes](https://github.com/withastro/language-tools/releases) - [Changelog](https://github.com/withastro/language-tools/blob/main/packages/ts-plugin/CHANGELOG.md) - [Commits](https://github.com/withastro/language-tools/commits/@astrojs/ts-plugin@1.10.4/packages/ts-plugin) --- updated-dependencies: - dependency-name: "@astrojs/ts-plugin" dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 34440b4c..24287781 100644 --- a/package.json +++ b/package.json @@ -55,7 +55,7 @@ "zod": "3.23.8" }, "devDependencies": { - "@astrojs/ts-plugin": "1.10.3" + "@astrojs/ts-plugin": "1.10.4" }, "publishConfig": { "access": "restricted", From 7f1604dd45064fef2e3352eaf60c84379e3152dc Mon Sep 17 00:00:00 2001 From: Nikola Hristov Date: Mon, 28 Oct 2024 11:34:34 +0200 Subject: [PATCH 112/112] --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 34440b4c..24287781 100644 --- a/package.json +++ b/package.json @@ -55,7 +55,7 @@ "zod": "3.23.8" }, "devDependencies": { - "@astrojs/ts-plugin": "1.10.3" + "@astrojs/ts-plugin": "1.10.4" }, "publishConfig": { "access": "restricted",