@mdn/fred 2.9.0 → 2.9.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.nvmrc +1 -1
- package/CHANGELOG.md +14 -0
- package/components/blog/utils.js +1 -1
- package/components/compat-table/element.js +2 -2
- package/components/latest-news/server.js +1 -1
- package/components/live-sample-result/element.js +1 -1
- package/components/navigation/hook.js +1 -1
- package/components/observatory-form/element.js +3 -3
- package/components/placement-bottom/element.js +1 -1
- package/components/placement-hp-main/element.js +1 -1
- package/components/placement-sidebar/element.js +1 -1
- package/components/placement-top/element.js +1 -1
- package/components/play-console/utils.js +2 -2
- package/components/recent-contributions/server.js +1 -1
- package/components/recently-visited/index.js +1 -2
- package/components/sidebar-filter/sidebar-filterer.js +1 -1
- package/components/survey/element.js +3 -1
- package/components/translation-banner/server.js +1 -1
- package/components/writer-reload/element.js +1 -1
- package/out/service-worker.js +1 -1
- package/out/service-worker.js.map +1 -1
- package/out/static/client/{1672.aef594997e95d362.js → 1672.d66704179bcd69ee.js} +2 -2
- package/out/static/client/{1672.aef594997e95d362.js.map → 1672.d66704179bcd69ee.js.map} +1 -1
- package/out/static/client/{169.71c8bb45e4bcc0b1.js → 169.ab4227448e206e0d.js} +2 -2
- package/out/static/client/169.ab4227448e206e0d.js.map +1 -0
- package/out/static/client/{2173.a812d7b499aeb899.js → 2173.a1ead47e2d458f50.js} +2 -2
- package/out/static/client/{2173.a812d7b499aeb899.js.map → 2173.a1ead47e2d458f50.js.map} +1 -1
- package/out/static/client/3818.8819a9d779da3429.js.map +1 -1
- package/out/static/client/{4060.b5edd2eca5be7d2b.js → 4060.687b98e9db2bc493.js} +2 -2
- package/out/static/client/{4060.b5edd2eca5be7d2b.js.map → 4060.687b98e9db2bc493.js.map} +1 -1
- package/out/static/client/4366.80589277ea3ce36d.js +4 -0
- package/out/static/client/4366.80589277ea3ce36d.js.map +1 -0
- package/out/static/client/{4759.5c1f42f6042d6457.js → 4759.f58bb90e314ae9c1.js} +2 -2
- package/out/static/client/{4759.5c1f42f6042d6457.js.map → 4759.f58bb90e314ae9c1.js.map} +1 -1
- package/out/static/client/{5196.a890e2f848933898.js → 5196.635f7f8d7984bead.js} +2 -2
- package/out/static/client/{5196.a890e2f848933898.js.map → 5196.635f7f8d7984bead.js.map} +1 -1
- package/out/static/client/5562.3cfad67583264655.js +2 -0
- package/out/static/client/5562.3cfad67583264655.js.map +1 -0
- package/out/static/client/{8067.2861f05611862516.js → 8067.e21835e06833480e.js} +2 -2
- package/out/static/client/{8067.2861f05611862516.js.map → 8067.e21835e06833480e.js.map} +1 -1
- package/out/static/client/8233.1b63aaa17c6d19cd.js +2 -0
- package/out/static/client/8233.1b63aaa17c6d19cd.js.map +1 -0
- package/out/static/client/{8401.adf96abc27ac7387.js → 8401.c754c2baea3818c1.js} +7 -7
- package/out/static/client/8401.c754c2baea3818c1.js.map +1 -0
- package/out/static/client/{9204.30fc8791c7c95e43.js → 9204.6b8c65e2852a256e.js} +2 -2
- package/out/static/client/{9204.30fc8791c7c95e43.js.map → 9204.6b8c65e2852a256e.js.map} +1 -1
- package/out/static/client/{index.65c98247c2b54259.js → index.f16f7d58914f3c7b.js} +3 -3
- package/out/static/client/index.f16f7d58914f3c7b.js.map +1 -0
- package/out/static/client/{runtime.9057bb25edbe1b53.js → runtime.000fbab5674b8a62.js} +2 -2
- package/out/static/client/{runtime.9057bb25edbe1b53.js.map → runtime.000fbab5674b8a62.js.map} +1 -1
- package/out/static/client/stats.json +432 -432
- package/out/static/client/watify_bg.9e17afb2a5a4c03f.wasm +0 -0
- package/out/static/legacy/7555.d2dbf4d88e2a043e.js +2 -0
- package/out/static/legacy/7555.d2dbf4d88e2a043e.js.map +1 -0
- package/out/static/legacy/8233.1b63aaa17c6d19cd.js +2 -0
- package/out/static/legacy/8233.1b63aaa17c6d19cd.js.map +1 -0
- package/out/static/legacy/asset-manifest.json +46 -46
- package/out/static/legacy/{index.a19bd45b9f39af81.html → index.0842dd30e67d6569.html} +1 -1
- package/out/static/legacy/{index.66c601d9bee5c979.js → index.3076cec4f319e633.js} +4 -4
- package/out/static/legacy/{index.66c601d9bee5c979.js.map → index.3076cec4f319e633.js.map} +1 -1
- package/out/static/legacy/stats.json +16 -16
- package/out/static/legacy/watify_bg.9e17afb2a5a4c03f.wasm +0 -0
- package/out/static/legacy/{yari.fabca254fad42bcc.js → yari.c83d87c429dcda1f.js} +4 -4
- package/out/static/legacy/{yari.fabca254fad42bcc.js.map → yari.c83d87c429dcda1f.js.map} +1 -1
- package/out/static/ssr/8233.js +1 -1
- package/out/static/ssr/8233.js.map +1 -1
- package/out/static/ssr/index.js +14 -14
- package/out/static/ssr/index.js.map +1 -1
- package/out/static/ssr/stats.json +4 -4
- package/out/static/ssr/watify_bg.9e17afb2a5a4c03f.wasm +0 -0
- package/package.json +31 -18
- package/utils/mdn-url2breadcrumb.js +1 -1
- package/out/static/client/169.71c8bb45e4bcc0b1.js.map +0 -1
- package/out/static/client/4366.c631051400430846.js +0 -4
- package/out/static/client/4366.c631051400430846.js.map +0 -1
- package/out/static/client/5562.6cc078ec59eb355d.js +0 -2
- package/out/static/client/5562.6cc078ec59eb355d.js.map +0 -1
- package/out/static/client/8233.270639ccdecf7be1.js +0 -2
- package/out/static/client/8233.270639ccdecf7be1.js.map +0 -1
- package/out/static/client/8401.adf96abc27ac7387.js.map +0 -1
- package/out/static/client/index.65c98247c2b54259.js.map +0 -1
- package/out/static/client/watify_bg.e3ab88fab7f71ec6.wasm +0 -0
- package/out/static/legacy/7555.332ebfc3a6b0147d.js +0 -2
- package/out/static/legacy/7555.332ebfc3a6b0147d.js.map +0 -1
- package/out/static/legacy/8233.270639ccdecf7be1.js +0 -2
- package/out/static/legacy/8233.270639ccdecf7be1.js.map +0 -1
- package/out/static/legacy/watify_bg.e3ab88fab7f71ec6.wasm +0 -0
- package/out/static/ssr/watify_bg.e3ab88fab7f71ec6.wasm +0 -0
- /package/out/static/client/{8401.adf96abc27ac7387.js.LICENSE.txt → 8401.c754c2baea3818c1.js.LICENSE.txt} +0 -0
- /package/out/static/client/{index.65c98247c2b54259.js.LICENSE.txt → index.f16f7d58914f3c7b.js.LICENSE.txt} +0 -0
- /package/out/static/legacy/{index.66c601d9bee5c979.js.LICENSE.txt → index.3076cec4f319e633.js.LICENSE.txt} +0 -0
- /package/out/static/legacy/{yari.fabca254fad42bcc.js.LICENSE.txt → yari.c83d87c429dcda1f.js.LICENSE.txt} +0 -0
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.65c98247c2b54259.js","sources":["webpack://@mdn/fred/./l10n/locales/en-US.ftl","webpack://@mdn/fred/./components/button/element.css","webpack://@mdn/fred/./components/search-modal/element.css","webpack://@mdn/fred/./components/icon/cancel.svg","webpack://@mdn/fred/./components|lazy|/^\\.\\/.*\\/element\\.js$/|groupOptions: {}|strict namespace object|importPhase: evaluation","webpack://@mdn/fred/./l10n/locales|lazy|/^\\.\\/.*\\.ftl$/|referencedExports: default|groupOptions: {}|strict namespace object|importPhase: evaluation","webpack://@mdn/fred/./components/button/server.css?11bb","webpack://@mdn/fred/./components/visually-hidden/global.css?1da4","webpack://@mdn/fred/./components/baseline-indicator/hook.js","webpack://@mdn/fred/./components/button/element.js","webpack://@mdn/fred/./components/button/pure.js","webpack://@mdn/fred/./components/env/runtime.js","webpack://@mdn/fred/./components/env/utils.js","webpack://@mdn/fred/./components/env/index.js","webpack://@mdn/fred/./components/navigation/hook.js","webpack://@mdn/fred/./components/search-modal/element.js","webpack://@mdn/fred/./components/user/context.js","webpack://@mdn/fred/./components/utils/index.js","webpack://@mdn/fred/./components/viewed-controller/viewed-observer.js","webpack://@mdn/fred/./hooks/code-examples.js","webpack://@mdn/fred/./hooks/dialog-closedby.js","webpack://@mdn/fred/./hooks/glean-init.js","webpack://@mdn/fred/./utils/telemetry-opt-out.js","webpack://@mdn/fred/./hooks/live-samples.js","webpack://@mdn/fred/./hooks/load-elements.js","webpack://@mdn/fred/./hooks/sidebar-scroll-to-current.js","webpack://@mdn/fred/./hooks/skip-to-search.js","webpack://@mdn/fred/./hooks/toc-highlight.js","webpack://@mdn/fred/./hooks/user-ping.js","webpack://@mdn/fred/./l10n/fluent.js","webpack://@mdn/fred/./l10n/hook.js","webpack://@mdn/fred/./l10n/mixin.js","webpack://@mdn/fred/./symmetric-context/both.js","webpack://@mdn/fred/./symmetric-context/client.js","webpack://@mdn/fred/./utils/glean.js","webpack://@mdn/fred/./utils/mdn-url2breadcrumb.js"],"sourcesContent":["export default `# WARNING: don't use this file as a source for strings requiring l10n, use ../template.ftl instead:\n# this file only contains manually added strings, not ones inlined in code. See ../README.md for more details.\n\n# TODO Use comments, see: https://firefox-source-docs.mozilla.org/l10n/fluent/review.html#comments\n# TODO Consider using terms, see: https://firefox-source-docs.mozilla.org/l10n/fluent/review.html#terms and https://projectfluent.org/fluent/guide/references.html#message-references\n\narticle-footer-last-modified = This page was last modified on <time data-l10n-name=\"date\">{ \\$date }</time> by <a data-l10n-name=\"contributors\">MDN contributors</a>.\narticle-footer-source-title = Folder: { \\$folder } (Opens in a new tab)\n\nbaseline-asterisk = Some parts of this feature may have varying levels of support.\nbaseline-high-extra = This feature is well established and works across many devices and browser versions. It’s been available across browsers since { \\$date }.\nbaseline-low-extra = Since { \\$date }, this feature works across the latest devices and browser versions. This feature might not work in older devices or browsers.\nbaseline-not-extra = This feature is not Baseline because it does not work in some of the most widely-used browsers.\nbaseline-supported-in = Supported in { \\$browsers }\nbaseline-unsupported-in = Not widely supported in { \\$browsers }\nbaseline-supported-and-unsupported-in = Supported in { \\$supported }, but not widely supported in { \\$unsupported }\nbaseline-signals = Want more browser support for this feature? <a data-l10n-name=\"link\">Tell us why.</a>\n\nhomepage-hero-title = Resources for Developers,<br> by Developers\n\nplayground-user-shared-warning = This is a user-shared playground.<br>Always inspect the code before running it.\nhomepage-hero-description = Documenting <a data-l10n-name=\"css\">CSS</a>, <a data-l10n-name=\"html\">HTML</a>, and <a data-l10n-name=\"js\">JavaScript</a>, since 2005.\n\nnot-found-title = Page not found\nnot-found-description = Sorry, the page <code data-l10n-name=\"url\">{ \\$url }</code> could not be found.\nnot-found-fallback-english = <strong data-l10n-name=\"strong\">Good news:</strong> The page you requested exists in <em data-l10n-name=\"em\">English</em>.\nnot-found-fallback-search = The page you requested doesn't exist, but you could try a site search for:\nnot-found-back = Go back to the home page\n\nreference-toc-header = In this article\n\nfooter-copyright = Portions of this content are ©1998–{ \\$year } by individual mozilla.org contributors. Content available under <a data-l10n-name=\"cc\">a Creative Commons license</a>.\n\nsearch-modal-site-search = Site search for <em>{ \\$query }</em>\n\nsearch-modal-results-status = { \\$results ->\n [0] No results found.\n [one] { \\$results } result available.\n *[other] { \\$results } results available.\n}\n\nsite-search-search-stats = Found { \\$results } documents.\nsite-search-suggestion-matches = { \\$relation ->\n [gt] more than { \\$matches ->\n [one] { \\$matches } match\n *[other] { \\$matches } matches\n }\n *[eq] { \\$matches ->\n [one] { \\$matches } match\n *[other] { \\$matches } matches\n }\n}\n\nblog-time-to-read = { \\$minutes ->\n [one] { \\$minutes } minute read\n *[other] { \\$minutes } minutes read\n}\nblog-post-not-found = Blog post not found.\n\nblog-previous = Previous post\nblog-next = Next post\n\n-brand-name-obs = HTTP Observatory\nobs-report = Report\nobs-title = { -brand-name-obs }\nobs-landing-intro = Launched in 2016, the { -brand-name-obs } enhances web security by analyzing compliance with best security practices. It has provided insights to over 6.9 million websites through 47 million scans.\nobs-assessment = Developed by Mozilla, the { -brand-name-obs } performs an in-depth assessment of a site’s HTTP headers and other key security configurations.\nobs-scanning = Its automated scanning process provides developers and website administrators with detailed, actionable feedback, focusing on identifying and addressing potential security vulnerabilities.\nobs-security = The tool is instrumental in helping developers and website administrators strengthen their sites against common security threats in a constantly advancing digital environment.\nobs-mdn = The { -brand-name-obs } provides effective security insights, guided by Mozilla's expertise and commitment to a safer and more secure internet and based on well-established trends and guidelines.\n\n\ncompat-loading = Loading…\ncompat-js-required = Enable JavaScript to view this browser compatibility table.\n\ncompat-browser-version-date = { \\$browser } { \\$version } – Release date: { \\$date }\ncompat-browser-version-released = Release date: { \\$date }\n\ncompat-link-report-issue = Report problems with this compatibility data\ncompat-link-report-issue-title = Report an issue with this compatibility data\ncompat-link-report-missing-title = Report missing compatibility data\ncompat-link-report-missing = Report this issue\ncompat-link-source = View data on GitHub\ncompat-link-source-title = File: { \\$filename }\n\ncompat-deprecated = Deprecated\ncompat-experimental = Experimental\ncompat-nonstandard = Non-standard\ncompat-no = No\n\ncompat-support-full = Full support\ncompat-support-partial = Partial support\ncompat-support-no = No support\ncompat-support-unknown = Support unknown\ncompat-branch-prefix = Prefix: <code data-l10n-name=\"prefix\">{ \\$prefix }</code>\ncompat-branch-altname = Alternate name: <code data-l10n-name=\"altname\">{ \\$altname }</code>\ncompat-branch-prefix-altname = Prefix: <code data-l10n-name=\"prefix\">{ \\$prefix }</code>, alternate name: <code data-l10n-name=\"altname\">{ \\$altname }</code>\ncompat-support-removed = Removed in { \\$version } and later\ncompat-support-see-impl-url = See <a data-l10n-name=\"impl_url\">{ \\$label }</a>\ncompat-support-flag-range =\n { \\$version_range ->\n [range] From version { \\$version_added } until { \\$version_last }, users\n [from] From version { \\$version_added }, users\n [until] Until { \\$version_last }, users\n *[none] Users\n } must explicitly set the <code data-l10n-name=\"name\">{ \\$flag_name }</code> { \\$flag_type ->\n *[preference] preference\n [runtime_flag] runtime flag\n }{ \\$has_value ->\n [1] { \" \" }to <code data-l10n-name=\"value\">{ \\$flag_value }</code>\n *[0] { \"\" }\n }.{ \\$has_pref_url ->\n [1]\n { \\$flag_type ->\n [preference] { \" \" }To change preferences in { \\$browser_name }, visit { \\$browser_pref_url }.\n *[other] { \"\" }\n }\n *[0] { \"\" }\n }\ncompat-legend = Legend\ncompat-legend-tip = Tip: you can click/tap on a cell for more information.\ncompat-legend-yes = { compat-support-full }\ncompat-legend-partial = { compat-support-partial }\ncompat-legend-preview = In development. Supported in a pre-release version.\ncompat-legend-no = { compat-support-no }\ncompat-legend-unknown = Compatibility unknown\ncompat-legend-experimental = { compat-experimental }. Expect behavior to change in the future.\ncompat-legend-nonstandard = { compat-nonstandard }. Check cross-browser support before using.\ncompat-legend-deprecated = { compat-deprecated }. Not for use in new websites.\ncompat-legend-footnote = See implementation notes.\ncompat-legend-disabled = User must explicitly enable this feature.\ncompat-legend-altname = Uses a non-standard name.\ncompat-legend-prefix = Requires a vendor prefix or different name for use.\ncompat-legend-more = Has more compatibility info.\n\nplacement-note = Ad\nplacement-no = Don't want to see ads?\n\npagination-next = Next page\npagination-prev = Previous page\npagination-current = Current page\npagination-goto = Go to page { \\$page }\n\nlogout = Sign out\nlogin = Log in\n\nexample-play-button-label = Play\nexample-play-button-title = Run example in MDN Playground (opens in new tab)\n\ncontent-feedback-question = Was this page helpful to you?\ncontent-feedback-reason = Why was this page not helpful to you?\ncontent-feedback-thanks = Thank you for your feedback!\n\nwriter-reload-polling = Polling every { \\$seconds }s\n`;","import { css } from \"lit\";\n// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../node_modules/css-loader/dist/runtime/api.js\";\nimport ___CSS_LOADER_AT_RULE_IMPORT_0___ from \"-!../../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[4].use[1]!../../build/loaders/fix-light-dark.js!../../node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[4].use[3]!./server.css\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `:host{display:inline-flex;vertical-align:middle}.button{box-sizing:border-box;height:100%;width:100%}`, \"\"]);\n// Exports\nexport default css([___CSS_LOADER_EXPORT___.toString()]);\n","import { css } from \"lit\";\n// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../node_modules/css-loader/dist/runtime/api.js\";\nimport ___CSS_LOADER_AT_RULE_IMPORT_0___ from \"-!../../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[4].use[1]!../../build/loaders/fix-light-dark.js!../../node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[4].use[3]!../visually-hidden/global.css\";\nimport ___CSS_LOADER_GET_URL_IMPORT___ from \"../../node_modules/css-loader/dist/runtime/getUrl.js\";\nvar ___CSS_LOADER_URL_IMPORT_0___ = new URL(\"../icon/search.svg\", import.meta.url);\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___);\nvar ___CSS_LOADER_URL_REPLACEMENT_0___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_0___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `*,:after,:before{box-sizing:border-box}dialog{border:0;overscroll-behavior:contain;padding:0}@media (width > 1044px){dialog{background-color:var(--color-background-primary);border:1px solid var(--color-border-primary);border-radius:.5rem;font-size:var(--font-size-large);margin:calc(var(--sticky-header-height) + 1rem) auto 1rem;max-height:calc(100% - var(--sticky-header-height) - 2rem);width:calc(var(--layout-content-max) + 1rem)}dialog::backdrop{--csstools-light-dark-toggle-dee8eb9e-0:var(--csstools-color-scheme--light) var(--color-black-alpha-75);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background-color:var(--csstools-light-dark-toggle-dee8eb9e-0,var(--color-white-alpha-75))}@supports (color:light-dark(red,red)){dialog::backdrop{background-color:light-dark(var(--color-white-alpha-75),var(--color-black-alpha-75))}}}@media (width <= 1044px){dialog{font-size:var(--font-size-normal);height:100%;margin:0;max-height:100%;max-width:100%;width:100%}}dialog[open]{display:flex;flex-direction:column}progress{flex-shrink:0;margin:0 1rem .5rem}@media (width <= 1044px){progress{margin-inline:.3rem}}.header{align-items:center;display:flex;flex-shrink:0;height:var(--navigation-height)}.close{font-size:1.37rem}@media (width > 1044px){.close{display:none}}form{display:grid;flex:1;gap:.5rem;grid-template-columns:min-content 1fr;padding:1rem;place-items:center}@media (width <= 1044px){form{align-self:center;background-color:var(--color-background-primary);border:1px solid var(--color-border-primary);border-radius:.5rem;margin-left:.3rem;padding:.5rem}}form:before{background-color:var(--color-border-secondary);content:\"\";height:1em;mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_0___});mask-size:contain;width:1em}input{background-color:initial;border:none;font-size:inherit;margin:0;outline:none;padding:0;width:100%}input::placeholder{color:var(--color-text-secondary)}ul{margin:0;overflow:auto;padding:0}ul:has(li){border-top:1px solid var(--color-border-primary)}li[data-selected]{background:var(--color-background-blue);border-color:var(--color-blue-50)}li{border-inline-start:2px solid #0000;list-style-type:none}li:not([data-selected]):hover{background-color:var(--color-background-secondary)}li>*{padding:.5rem 1.5rem;width:100%}a{color:var(--color-link-normal);display:grid;-webkit-text-decoration:none;text-decoration:none}a:visited{color:var(--color-link-visited)}.slug{color:var(--color-text-secondary);font-size:var(--font-size-small)}mark{background-color:var(--color-background-yellow);color:var(--color-text-primary)}`, \"\"]);\n// Exports\nexport default css([___CSS_LOADER_EXPORT___.toString()]);\n","import { svg } from \"lit\"; export default svg`<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" viewBox=\"0 0 24 24\"><path d=\"M18 6 6 18M6 6l12 12\"/></svg>`;","var map = {\n \"./code-example/element.js\": [\n \"84352\",\n [\n 7489,\n 1861,\n 1598,\n 7065\n ]\n ],\n \"./dropdown/element.js\": [\n \"58623\",\n [\n 2868\n ]\n ],\n \"./live-sample-result/element.js\": [\n \"47849\",\n [\n 7489,\n 3708,\n 5950,\n 4098,\n 1861,\n 8401\n ]\n ],\n \"./observatory-tests-and-scores/element.js\": [\n \"56538\",\n [\n 6407\n ]\n ],\n \"./play-runner/element.js\": [\n \"63657\",\n [\n 7489,\n 5950,\n 4098,\n 1721\n ]\n ],\n \"./search-button/element.js\": [\n \"23745\",\n [\n 3690\n ]\n ],\n \"./survey/element.js\": [\n \"10423\",\n [\n 7489,\n 8121,\n 5196\n ]\n ],\n \"./ix-tab-wrapper/element.js\": [\n \"49979\",\n [\n 2568\n ]\n ],\n \"./placement-sidebar/element.js\": [\n \"57468\",\n [\n 7489,\n 3708,\n 8280,\n 1477,\n 4249,\n 2173\n ]\n ],\n \"./placement-hp-main/element.js\": [\n \"44394\",\n [\n 7489,\n 3708,\n 8280,\n 1477,\n 4249,\n 4759\n ]\n ],\n \"./record-visit/element.js\": [\n \"55237\",\n [\n 5562,\n 3094\n ]\n ],\n \"./toggle-sidebar/element.js\": [\n \"39337\",\n [\n 9234\n ]\n ],\n \"./user-menu/element.js\": [\n \"74354\",\n [\n 2868,\n 8121,\n 3711\n ]\n ],\n \"./interactive-example/element.js\": [\n \"79879\",\n [\n 7489,\n 749,\n 8520,\n 3649,\n 6216,\n 2080,\n 640,\n 9515,\n 2135,\n 5950,\n 4098,\n 3818,\n 3047,\n 1861,\n 2448,\n 1598,\n 4419,\n 7065,\n 2568,\n 5338,\n 9404\n ]\n ],\n \"./copy-button/element.js\": [\n \"65517\",\n [\n 1598\n ]\n ],\n \"./observatory-comparison-table/element.js\": [\n \"50117\",\n [\n 8160,\n 2006\n ]\n ],\n \"./sidebar-filter/element.js\": [\n \"50128\",\n [\n 169\n ]\n ],\n \"./issues-table/element.js\": [\n \"37511\",\n [\n 4204\n ]\n ],\n \"./scrim-inline/element.js\": [\n \"33878\",\n [\n 7489,\n 3708,\n 1691\n ]\n ],\n \"./switch/element.js\": [\n \"41798\",\n [\n 9099\n ]\n ],\n \"./collection-save-button/element.js\": [\n \"1355\",\n [\n 3980,\n 4920\n ]\n ],\n \"./contributor-list/element.js\": [\n \"23082\",\n [\n 9127\n ]\n ],\n \"./button/element.js\": [\n \"35268\",\n []\n ],\n \"./homepage-search/element.js\": [\n \"27373\",\n [\n 7678\n ]\n ],\n \"./modal/element.js\": [\n \"14903\",\n [\n 3980\n ]\n ],\n \"./color-theme/element.js\": [\n \"55269\",\n [\n 2868,\n 5542\n ]\n ],\n \"./about-team-member/element.js\": [\n \"612\",\n [\n 8981\n ]\n ],\n \"./content-feedback/element.js\": [\n \"65929\",\n [\n 7938\n ]\n ],\n \"./play-console/element.js\": [\n \"56369\",\n [\n 3818\n ]\n ],\n \"./ix-tab/element.js\": [\n \"18977\",\n [\n 4419,\n 5338\n ]\n ],\n \"./observatory-header-link/element.js\": [\n \"1879\",\n [\n 8160,\n 3676\n ]\n ],\n \"./curriculum-tabs/element.js\": [\n \"52500\",\n [\n 9717\n ]\n ],\n \"./placement-bottom/element.js\": [\n \"7895\",\n [\n 7489,\n 3708,\n 8280,\n 1477,\n 4249,\n 4060\n ]\n ],\n \"./image-history/element.js\": [\n \"47706\",\n [\n 1975\n ]\n ],\n \"./not-found/element.js\": [\n \"2622\",\n [\n 8926,\n 3555\n ]\n ],\n \"./placement-note/element.js\": [\n \"47764\",\n [\n 1477\n ]\n ],\n \"./compat-table-lazy/element.js\": [\n \"96678\",\n [\n 7489,\n 8121,\n 8067,\n 251\n ]\n ],\n \"./site-search/element.js\": [\n \"53163\",\n [\n 9784\n ]\n ],\n \"./placement-no/element.js\": [\n \"13755\",\n [\n 8280\n ]\n ],\n \"./play-controller/element.js\": [\n \"23731\",\n [\n 2448\n ]\n ],\n \"./placement-top/element.js\": [\n \"9951\",\n [\n 7489,\n 3708,\n 8280,\n 1477,\n 4249,\n 9204\n ]\n ],\n \"./observatory-form/element.js\": [\n \"17547\",\n [\n 7489,\n 6110,\n 1672\n ]\n ],\n \"./observatory-results/element.js\": [\n \"23247\",\n [\n 2868,\n 8160,\n 6110,\n 2006,\n 3676,\n 921,\n 4070,\n 9764\n ]\n ],\n \"./about-tabs/element.js\": [\n \"54842\",\n [\n 7047\n ]\n ],\n \"./observatory-human-duration/element.js\": [\n \"37077\",\n [\n 8160,\n 4070\n ]\n ],\n \"./playground/element.js\": [\n \"28940\",\n [\n 7489,\n 749,\n 8520,\n 3649,\n 6216,\n 2080,\n 640,\n 9515,\n 5950,\n 4098,\n 3818,\n 3047,\n 2448,\n 3980,\n 3416\n ]\n ],\n \"./ix-tab-panel/element.js\": [\n \"89854\",\n [\n 4419\n ]\n ],\n \"./play-editor/element.js\": [\n \"63386\",\n [\n 749,\n 8520,\n 3649,\n 6216,\n 2080,\n 640,\n 9515,\n 5950,\n 3047\n ]\n ],\n \"./themed-image/element.js\": [\n \"48125\",\n [\n 5102\n ]\n ],\n \"./writer-open-editor/element.js\": [\n \"51310\",\n [\n 1315\n ]\n ],\n \"./progress-bar/element.js\": [\n \"20141\",\n [\n 6110\n ]\n ],\n \"./compat-table/element.js\": [\n \"7086\",\n [\n 7489,\n 8121,\n 8067\n ]\n ],\n \"./login-button/element.js\": [\n \"70242\",\n [\n 6319\n ]\n ],\n \"./observatory-rescan-button/element.js\": [\n \"14416\",\n [\n 921,\n 3140\n ]\n ],\n \"./recently-visited/element.js\": [\n \"95821\",\n [\n 5562,\n 5246\n ]\n ],\n \"./language-always-redirect-button/element.js\": [\n \"77108\",\n [\n 9647,\n 5685\n ]\n ],\n \"./language-switcher/element.js\": [\n \"48423\",\n [\n 2868,\n 9099,\n 9647,\n 8926,\n 1996\n ]\n ],\n \"./search-modal/element.js\": [\n \"97154\",\n []\n ],\n \"./writer-reload/element.js\": [\n \"14925\",\n [\n 4366\n ]\n ]\n};\nfunction __rspack_async_context(req) {\n if(!__webpack_require__.o(map, req)) {\n return Promise.resolve().then(() => {\nvar e = new Error(\"Cannot find module '\" + req + \"'\");\ne.code = 'MODULE_NOT_FOUND';\nthrow e;\n});\n }\n\n var ids = map[req], id = ids[0];\n return Promise.all(ids[1].map(function(chunkId) { return __webpack_require__.e(chunkId); })).then(() => (__webpack_require__(id)));\n}\n\n__rspack_async_context.keys = () => (Object.keys(map));\n__rspack_async_context.id = 95061;\nmodule.exports = __rspack_async_context;\n","var map = {\n \"./en-US.ftl\": [\n \"537\",\n []\n ],\n \"./es.ftl\": [\n \"59137\",\n [\n 7898\n ]\n ],\n \"./de.ftl\": [\n \"89516\",\n [\n 6333\n ]\n ],\n \"./pt-BR.ftl\": [\n \"27146\",\n [\n 8839\n ]\n ],\n \"./ja.ftl\": [\n \"68942\",\n [\n 7027\n ]\n ],\n \"./zh-TW.ftl\": [\n \"81023\",\n [\n 8964\n ]\n ],\n \"./fr.ftl\": [\n \"23293\",\n [\n 1550\n ]\n ],\n \"./ru.ftl\": [\n \"40730\",\n [\n 3255\n ]\n ],\n \"./zh-CN.ftl\": [\n \"39555\",\n [\n 9456\n ]\n ],\n \"./ko.ftl\": [\n \"45687\",\n [\n 8604\n ]\n ]\n};\nfunction __rspack_async_context(req) {\n if(!__webpack_require__.o(map, req)) {\n return Promise.resolve().then(() => {\nvar e = new Error(\"Cannot find module '\" + req + \"'\");\ne.code = 'MODULE_NOT_FOUND';\nthrow e;\n});\n }\n\n var ids = map[req], id = ids[0];\n return Promise.all(ids[1].map(function(chunkId) { return __webpack_require__.e(chunkId); })).then(() => (__webpack_require__(id)));\n}\n\n__rspack_async_context.keys = () => (Object.keys(map));\n__rspack_async_context.id = 91369;\nmodule.exports = __rspack_async_context;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.button{align-items:center;background-color:initial;border:1px solid #0000;border-radius:.25rem;color:var(--color-text-primary);column-gap:.3125em;cursor:pointer;display:inline-flex;font-family:var(--font-family-text);font-size:.875em;font-weight:450;justify-content:center;line-height:var(--font-line-ui);margin:0;padding:.5em;-webkit-text-decoration:none;text-decoration:none;vertical-align:middle}.button[data-variant=primary]{--csstools-light-dark-toggle-4dae8a1e-0:var(--csstools-color-scheme--light) var(--color-black);color:var(--csstools-light-dark-toggle-4dae8a1e-0,var(--color-white));--csstools-light-dark-toggle-4dae8a1e-1:var(--csstools-color-scheme--light) var(--color-white);background-color:var(--csstools-light-dark-toggle-4dae8a1e-1,var(--color-black))}@supports (color:light-dark(red,red)){.button[data-variant=primary]{background-color:light-dark(var(--color-black),var(--color-white));color:light-dark(var(--color-white),var(--color-black))}}.button[data-variant=primary]:hover{--csstools-light-dark-toggle-4dae8a1e-2:var(--csstools-color-scheme--light) var(--color-gray-60);background-color:var(--csstools-light-dark-toggle-4dae8a1e-2,var(--color-gray-40))}@supports (color:light-dark(red,red)){.button[data-variant=primary]:hover{background-color:light-dark(var(--color-gray-40),var(--color-gray-60))}}.button[data-variant=primary][data-action=positive]{color:var(--color-white);--csstools-light-dark-toggle-4dae8a1e-3:var(--csstools-color-scheme--light) var(--color-green-20);background-color:var(--csstools-light-dark-toggle-4dae8a1e-3,var(--color-green-50))}@supports (color:light-dark(red,red)){.button[data-variant=primary][data-action=positive]{background-color:light-dark(var(--color-green-50),var(--color-green-20))}}.button[data-variant=primary][data-action=positive]:hover{--csstools-light-dark-toggle-4dae8a1e-4:var(--csstools-color-scheme--light) var(--color-green-50);background-color:var(--csstools-light-dark-toggle-4dae8a1e-4,var(--color-green-20))}@supports (color:light-dark(red,red)){.button[data-variant=primary][data-action=positive]:hover{background-color:light-dark(var(--color-green-20),var(--color-green-50))}}.button[data-variant=primary][data-action=negative]{color:var(--color-white);--csstools-light-dark-toggle-4dae8a1e-5:var(--csstools-color-scheme--light) var(--color-red-20);background-color:var(--csstools-light-dark-toggle-4dae8a1e-5,var(--color-red-50))}@supports (color:light-dark(red,red)){.button[data-variant=primary][data-action=negative]{background-color:light-dark(var(--color-red-50),var(--color-red-20))}}.button[data-variant=primary][data-action=negative]:hover{--csstools-light-dark-toggle-4dae8a1e-6:var(--csstools-color-scheme--light) var(--color-red-50);background-color:var(--csstools-light-dark-toggle-4dae8a1e-6,var(--color-red-20))}@supports (color:light-dark(red,red)){.button[data-variant=primary][data-action=negative]:hover{background-color:light-dark(var(--color-red-20),var(--color-red-50))}}.button[data-variant=secondary]{border-color:currentcolor}.button[data-variant=secondary]:hover{--csstools-light-dark-toggle-4dae8a1e-7:var(--csstools-color-scheme--light) var(--color-gray-40);background-color:var(--csstools-light-dark-toggle-4dae8a1e-7,var(--color-gray-80))}@supports (color:light-dark(red,red)){.button[data-variant=secondary]:hover{background-color:light-dark(var(--color-gray-80),var(--color-gray-40))}}.button[data-variant=secondary][data-action=positive]{--csstools-light-dark-toggle-4dae8a1e-8:var(--csstools-color-scheme--light) var(--color-green-80);color:var(--csstools-light-dark-toggle-4dae8a1e-8,var(--color-green-20))}@supports (color:light-dark(red,red)){.button[data-variant=secondary][data-action=positive]{color:light-dark(var(--color-green-20),var(--color-green-80))}}.button[data-variant=secondary][data-action=positive]:hover{--csstools-light-dark-toggle-4dae8a1e-9:var(--csstools-color-scheme--light) var(--color-green-20);background-color:var(--csstools-light-dark-toggle-4dae8a1e-9,var(--color-green-90))}@supports (color:light-dark(red,red)){.button[data-variant=secondary][data-action=positive]:hover{background-color:light-dark(var(--color-green-90),var(--color-green-20))}}.button[data-variant=secondary][data-action=negative]{--csstools-light-dark-toggle-4dae8a1e-10:var(--csstools-color-scheme--light) var(--color-red-80);color:var(--csstools-light-dark-toggle-4dae8a1e-10,var(--color-red-50))}@supports (color:light-dark(red,red)){.button[data-variant=secondary][data-action=negative]{color:light-dark(var(--color-red-50),var(--color-red-80))}}.button[data-variant=secondary][data-action=negative]:hover{--csstools-light-dark-toggle-4dae8a1e-11:var(--csstools-color-scheme--light) var(--color-red-80);color:var(--csstools-light-dark-toggle-4dae8a1e-11,var(--color-red-20));--csstools-light-dark-toggle-4dae8a1e-12:var(--csstools-color-scheme--light) var(--color-red-10);background-color:var(--csstools-light-dark-toggle-4dae8a1e-12,var(--color-red-90))}@supports (color:light-dark(red,red)){.button[data-variant=secondary][data-action=negative]:hover{background-color:light-dark(var(--color-red-90),var(--color-red-10));color:light-dark(var(--color-red-20),var(--color-red-80))}}.button[data-variant=plain]:hover{--csstools-light-dark-toggle-4dae8a1e-13:var(--csstools-color-scheme--light) var(--color-gray-40);background-color:var(--csstools-light-dark-toggle-4dae8a1e-13,var(--color-gray-80))}@supports (color:light-dark(red,red)){.button[data-variant=plain]:hover{background-color:light-dark(var(--color-gray-80),var(--color-gray-40))}}.button[data-variant=plain][data-action=positive]{--csstools-light-dark-toggle-4dae8a1e-14:var(--csstools-color-scheme--light) var(--color-green-80);color:var(--csstools-light-dark-toggle-4dae8a1e-14,var(--color-green-20))}@supports (color:light-dark(red,red)){.button[data-variant=plain][data-action=positive]{color:light-dark(var(--color-green-20),var(--color-green-80))}}.button[data-variant=plain][data-action=positive]:hover{--csstools-light-dark-toggle-4dae8a1e-15:var(--csstools-color-scheme--light) var(--color-green-20);background-color:var(--csstools-light-dark-toggle-4dae8a1e-15,var(--color-green-90))}@supports (color:light-dark(red,red)){.button[data-variant=plain][data-action=positive]:hover{background-color:light-dark(var(--color-green-90),var(--color-green-20))}}.button[data-variant=plain][data-action=negative]{--csstools-light-dark-toggle-4dae8a1e-16:var(--csstools-color-scheme--light) var(--color-red-80);color:var(--csstools-light-dark-toggle-4dae8a1e-16,var(--color-red-50))}@supports (color:light-dark(red,red)){.button[data-variant=plain][data-action=negative]{color:light-dark(var(--color-red-50),var(--color-red-80))}}.button[data-variant=plain][data-action=negative]:hover{--csstools-light-dark-toggle-4dae8a1e-17:var(--csstools-color-scheme--light) var(--color-red-80);color:var(--csstools-light-dark-toggle-4dae8a1e-17,var(--color-red-20));--csstools-light-dark-toggle-4dae8a1e-18:var(--csstools-color-scheme--light) var(--color-red-10);background-color:var(--csstools-light-dark-toggle-4dae8a1e-18,var(--color-red-90))}@supports (color:light-dark(red,red)){.button[data-variant=plain][data-action=negative]:hover{background-color:light-dark(var(--color-red-90),var(--color-red-10));color:light-dark(var(--color-red-20),var(--color-red-80))}}.button[aria-disabled=true],.button[disabled]{--csstools-light-dark-toggle-4dae8a1e-19:var(--csstools-color-scheme--light) var(--color-gray-60)!important;color:var(--csstools-light-dark-toggle-4dae8a1e-19,var(--color-gray-40))!important;cursor:not-allowed;--csstools-light-dark-toggle-4dae8a1e-20:var(--csstools-color-scheme--light) var(--color-gray-20)!important;background-color:var(--csstools-light-dark-toggle-4dae8a1e-20,var(--color-gray-80))!important;border-color:#0000}@supports (color:light-dark(red,red)){.button[aria-disabled=true],.button[disabled]{background-color:light-dark(var(--color-gray-80),var(--color-gray-20))!important;color:light-dark(var(--color-gray-40),var(--color-gray-60))!important}}.button .icon{display:flex}.button svg{height:1.25em;width:1.25em}.button .label{padding-block:.125em;padding-inline:.0625em}`, \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.visually-hidden{border:0!important;clip-path:inset(50%)!important;height:1px!important;margin:-1px!important;overflow:hidden!important;padding:0!important;position:absolute!important;white-space:nowrap!important;width:1px!important}`, \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___.toString();\n","try {\n const indicator = document.querySelector(\".baseline-indicator\");\n if (indicator instanceof HTMLDetailsElement) {\n const { openByDefault } = indicator.dataset;\n if (openByDefault === undefined) {\n indicator.addEventListener(\"toggle\", () => {\n saveState(indicator.open);\n });\n saveState(indicator.open);\n }\n }\n\n /**\n * @param {boolean} open\n */\n function saveState(open) {\n if (open) {\n localStorage.setItem(\"baseline-indicator\", \"open\");\n } else {\n localStorage.removeItem(\"baseline-indicator\");\n }\n }\n} catch (error) {\n console.warn(\"Unable to attach to baseline indicator\", error);\n}\n","import { LitElement, html } from \"lit\";\n\nimport styles from \"./element.css?lit\";\nimport Button from \"./pure.js\";\n\nexport class MDNButton extends LitElement {\n static styles = styles;\n\n static get properties() {\n return {\n disabled: { type: Boolean },\n disabledReason: { type: String, attribute: \"disabled-reason\" },\n variant: { type: String },\n action: { type: String },\n icon: { state: true },\n iconOnly: { type: Boolean, attribute: \"icon-only\" },\n iconPosition: { type: String, attribute: \"icon-position\" },\n href: { type: String },\n target: { type: String },\n rel: { type: String },\n };\n }\n\n constructor() {\n super();\n this.disabled = false;\n this.disabledReason = \"\";\n /** @type {import(\"@lit\").TemplateResult | undefined} */\n this.icon = undefined;\n this.iconOnly = false;\n /** @type {import(\"./types.js\").ButtonIconPositions} */\n this.iconPosition = \"before\";\n /** @type {import(\"./types.js\").ButtonVariants} */\n this.variant = \"primary\";\n /** @type {import(\"./types.js\").ButtonActions} */\n this.action = undefined;\n /** @type {string | undefined} */\n this.href = undefined;\n /** @type {string | undefined} */\n this.target = undefined;\n /** @type {string | undefined} */\n this.rel = undefined;\n }\n\n /**\n * @param {MouseEvent} event\n */\n #click(event) {\n if (!this.href && this.disabled && this.disabledReason) {\n event.preventDefault();\n event.stopImmediatePropagation();\n }\n }\n\n connectedCallback() {\n super.connectedCallback();\n this.addEventListener(\"click\", this.#click, { capture: true });\n }\n\n disconnectedCallback() {\n super.disconnectedCallback();\n this.removeEventListener(\"click\", this.#click, { capture: true });\n }\n\n render() {\n const title =\n !this.href && this.disabled && this.disabledReason\n ? this.disabledReason\n : undefined;\n return Button({\n label: html`<slot></slot>`,\n disabled: this.disabledReason ? false : this.disabled,\n ariaDisabled: this.disabledReason ? this.disabled : undefined,\n ariaDescription: title,\n title,\n icon: this.icon,\n iconOnly: this.iconOnly,\n iconPosition: this.iconPosition,\n variant: this.variant,\n action: this.action,\n href: this.href,\n target: this.target,\n rel: this.rel,\n });\n }\n}\n\ncustomElements.define(\"mdn-button\", MDNButton);\n","import { html, nothing } from \"lit\";\nimport { ifDefined } from \"lit/directives/if-defined.js\";\n\nimport { randomIdString } from \"../utils/index.js\";\n\n/**\n * @param {object} options\n * @param {string | import(\"@lit\").TemplateResult} options.label\n * @param {import(\"@lit\").TemplateResult} [options.icon]\n * @param {boolean} [options.iconOnly]\n * @param {import(\"./types.js\").ButtonIconPositions} [options.iconPosition]\n * @param {boolean} [options.disabled]\n * @param {boolean} [options.ariaDisabled]\n * @param {string} [options.ariaDescription]\n * @param {string} [options.title]\n * @param {string} [options.href]\n * @param {string} [options.target]\n * @param {string} [options.rel]\n * @param {import(\"./types.js\").ButtonVariants} [options.variant]\n * @param {import(\"./types.js\").ButtonActions} [options.action]\n */\nexport default function Button({\n label,\n icon,\n iconOnly,\n iconPosition,\n disabled = false,\n ariaDisabled = false,\n ariaDescription,\n title,\n href,\n target,\n rel,\n variant = \"primary\",\n action,\n}) {\n const labelId = randomIdString(\"label-\");\n const iconElement = icon\n ? html`<span class=\"icon\" part=\"icon\">${icon}</span>`\n : nothing;\n const labelElement = html`\n <span id=${labelId} class=\"label\" ?hidden=${iconOnly} part=\"label\"\n >${label}</span\n >\n `;\n\n const inner =\n iconPosition === \"after\"\n ? [labelElement, iconElement]\n : [iconElement, labelElement];\n\n return href\n ? html`\n <a\n class=\"button\"\n href=${href}\n target=${ifDefined(target)}\n rel=${ifDefined(rel)}\n aria-labelledby=${labelId}\n aria-description=${ifDefined(ariaDescription)}\n title=${ifDefined(title)}\n data-variant=${ifDefined(variant)}\n data-action=${ifDefined(action)}\n part=\"button\"\n >\n ${inner}\n </a>\n `\n : html`\n <button\n class=\"button\"\n aria-labelledby=${labelId}\n ?disabled=${disabled}\n aria-disabled=${ariaDisabled ? \"true\" : nothing}\n aria-description=${ifDefined(ariaDescription)}\n title=${ifDefined(title)}\n data-variant=${ifDefined(variant)}\n data-action=${ifDefined(action)}\n part=\"button\"\n >\n ${inner}\n </button>\n `;\n}\n","import { parseBool } from \"./utils.js\";\n\n/** @type {string[]} */\nexport const runtimeVariables = [];\n/** Overriden to prod default (false) in rspack config, set to true so it works in dev server by default. */\nexport const RUNTIME_ENV = parseBool(\"RUNTIME_ENV\", true);\n","import { RUNTIME_ENV, runtimeVariables } from \"./runtime.js\";\n\n/**\n * @typedef {object} Options\n * @property {boolean} [runtime] Allow setting this value at runtime\n */\n\n/**\n * @param {string} name\n * @param {boolean} fallback\n * @param {Options} [options]\n */\nexport function parseBool(name, fallback, options) {\n try {\n return Boolean(\n JSON.parse(getEnv(name, options) || JSON.stringify(fallback)),\n );\n } catch {\n return fallback;\n }\n}\n\n/**\n * @param {string} name\n * @param {number} fallback\n * @param {Options} [options]\n */\nexport function parseInt(name, fallback, options) {\n const stringValue = getEnv(name, options);\n const numberValue = stringValue ? Number.parseInt(stringValue, 10) : fallback;\n return Number.isNaN(numberValue) ? fallback : numberValue;\n}\n\n/**\n * @param {string} name\n * @param {string} fallback\n * @param {Options} [options]\n */\nexport function parseString(name, fallback, options) {\n return getEnv(name, options) || fallback;\n}\n\n/**\n * @param {string} name\n * @param {Options} [options]\n * @returns {string | undefined}\n */\nfunction getEnv(name, options = {}) {\n const { runtime } = { runtime: false, ...options };\n const fullName = `FRED_${name}`;\n if (runtime && RUNTIME_ENV) {\n runtimeVariables.push(fullName);\n // safely navigate if process is not defined\n return globalThis.process?.env[fullName] || getEnv(name);\n }\n return globalThis.__MDNEnv?.[fullName];\n}\n","import { parseBool, parseInt, parseString } from \"./utils.js\";\n\nexport const PLAYGROUND_BASE_HOST = parseString(\n \"PLAYGROUND_BASE_HOST\",\n \"mdnplay.dev\",\n);\nexport const PLAYGROUND_LOCAL = parseBool(\"PLAYGROUND_LOCAL\", false, {\n runtime: true,\n});\nexport const PORT = parseInt(\"PORT\", 3000, { runtime: true });\nexport const OPEN_BROWSER_ON_START = parseBool(\"OPEN_BROWSER_ON_START\", false, {\n runtime: true,\n});\nexport const PLAYGROUND_PORT = parseInt(\"PLAYGROUND_PORT\", 3001, {\n runtime: true,\n});\n\nexport const FXA_SIGNIN_URL = parseString(\n \"FXA_SIGNIN_URL\",\n \"/users/fxa/login/authenticate/\",\n);\nexport const FXA_SIGNOUT_URL = parseString(\n \"FXA_SIGNOUT_URL\",\n \"/users/fxa/login/logout/\",\n);\n\n/** Set to non-prod default, because we don't want glean to run without explicitly enabling. */\nexport const GLEAN_ENABLED = parseBool(\"GLEAN_ENABLED\", false);\n/** Set to non-prod default, because we don't want glean to run without explicitly enabling. */\nexport const GLEAN_CHANNEL = parseString(\"GLEAN_CHANNEL\", \"dev\");\nexport const GLEAN_DEBUG = parseBool(\"GLEAN_DEBUG\", false);\n\n/**\n * While there is a risk from not including the `noindex` meta tag on stage etc, we have a\n * `robots.txt` in place, and the effect of accidentally including it on prod is far worse:\n * so this must be the prod default.\n */\nexport const ROBOTS_GLOBAL_ALLOW = parseBool(\"ROBOTS_GLOBAL_ALLOW\", true);\n\nexport const WRITER_MODE = parseBool(\"WRITER_MODE\", false, { runtime: true });\n\nexport const BCD_BASE_URL = parseString(\n \"BCD_BASE_URL\",\n \"https://bcd.developer.mozilla.org\",\n);\n\nexport const OBSERVATORY_API_URL = parseString(\n \"OBSERVATORY_API_URL\",\n \"https://observatory-api.mdn.mozilla.net\",\n);\n\n// Transcend Consent Management - https://docs.transcend.io/docs/consent\nexport const TRANSCEND_AIRGAP_URL = parseString(\"TRANSCEND_AIRGAP_URL\", \"\");\n","const button = document.querySelector(`[aria-controls=\"navigation__popup\"]`);\nconst navigation = document.querySelector(\".navigation\");\nif (button instanceof HTMLElement && navigation instanceof HTMLElement) {\n button.addEventListener(\"click\", () => {\n const open = (!(navigation.dataset.open === \"true\")).toString();\n navigation.dataset.open = open;\n button.setAttribute(\"aria-expanded\", open);\n });\n}\n","import { Task, TaskStatus } from \"@lit/task\";\nimport { LitElement, html, nothing } from \"lit\";\n\nimport { L10nMixin } from \"../../l10n/mixin.js\";\n\nimport { gleanClick } from \"../../utils/glean.js\";\nimport { mdnUrl2Breadcrumb } from \"../../utils/mdn-url2breadcrumb.js\";\n\nimport exitIcon from \"../icon/cancel.svg?lit\";\n\nimport styles from \"./element.css?lit\";\n\nimport \"../button/element.js\";\n\nexport class MDNSearchModal extends L10nMixin(LitElement) {\n static ssr = false;\n static styles = styles;\n\n static get properties() {\n return {\n _index: { state: true },\n _query: { state: true },\n _selected: { state: true },\n _shiftFocus: { state: true },\n };\n }\n\n constructor() {\n super();\n /** @type {Promise<import(\"./types.js\").SearchIndex> | undefined} */\n this._index = undefined;\n this._query = \"\";\n this._selected = 0;\n this._shiftFocus = false;\n /** Capture whether user has engaged with the search. */\n this._hasEngaged = false;\n }\n\n async _loadIndex() {\n if (this._index) {\n return;\n }\n\n this._index = this._fetchIndex();\n }\n\n async _fetchIndex() {\n const res = await fetch(`/${this.locale}/search-index.json`);\n /** @type {import(\"./types.js\").SearchIndexItem[]} */\n const items = await res.json();\n /** @type {import(\"./types.js\").SearchIndexFlexItem[]} */\n const flex = items.map(({ title, url }, index) => ({\n index,\n title: title.toLowerCase(),\n slugTail: url.split(\"/\").pop()?.toLowerCase() || \"\",\n }));\n\n return {\n flex,\n items,\n };\n }\n\n showModal() {\n this._loadIndex();\n this.shadowRoot?.querySelector(\"dialog\")?.showModal();\n this.shadowRoot?.querySelector(\"input\")?.select();\n }\n\n /** @param {InputEvent} event */\n _input({ inputType, target }) {\n if (target instanceof HTMLInputElement) {\n this._query = target.value;\n this._selected = 0;\n if (!this._hasEngaged && inputType.startsWith(\"insert\")) {\n this._hasEngaged = true;\n gleanClick(\n `quick-search-change: ${inputType === \"insertFromPaste\" ? \"paste\" : \"type\"}`,\n );\n }\n }\n }\n\n /** @param {KeyboardEvent} event */\n _keydown(event) {\n switch (event.key) {\n case \"ArrowUp\": {\n event.preventDefault();\n this._select(this._selected - 1);\n break;\n }\n case \"ArrowDown\":\n event.preventDefault();\n this._select(this._selected + 1);\n break;\n\n case \"Enter\": {\n const { ctrlKey, shiftKey, altKey, metaKey } = event;\n const item = this._getSelectedItem();\n if (item instanceof HTMLElement) {\n event.preventDefault();\n item.dispatchEvent(\n new MouseEvent(\"click\", {\n bubbles: true,\n composed: true,\n // we attempt to pass modifier keys through\n // but browser support is incredibly varied:\n ctrlKey,\n shiftKey,\n altKey,\n metaKey,\n }),\n );\n }\n break;\n }\n\n default:\n return;\n }\n }\n\n /** @returns {HTMLElement|null} */\n _getSelectedItem() {\n return this.shadowRoot?.querySelector(\"[data-selected] a\") ?? null;\n }\n\n /** @param {number} index */\n _select(index) {\n const results = (this._queryIndex.value?.length || 0) + 1;\n const value = index % results;\n this._selected = value < 0 ? results + index : value;\n setTimeout(() => {\n const item = this._getSelectedItem();\n if (item instanceof HTMLElement) {\n item.scrollIntoView({\n behavior: \"smooth\",\n block: \"nearest\",\n });\n }\n }, 0);\n }\n\n /** @param {SubmitEvent} event */\n _submit(event) {\n event.preventDefault();\n const item = this._getSelectedItem();\n if (item instanceof HTMLElement) {\n item.click();\n }\n }\n\n /** @param {FocusEvent} event */\n _focus({ target }) {\n if (target instanceof HTMLElement) {\n const focused = target.closest(\"[data-result]\");\n if (focused instanceof HTMLElement) {\n const index = Number.parseInt(focused.dataset.result || \"NaN\", 10);\n if (!Number.isNaN(index)) {\n this._selected = index;\n this._shiftFocus = true;\n }\n } else {\n this._shiftFocus = false;\n }\n }\n }\n\n /** @param {KeyboardEvent} event */\n _globalKeydown(event) {\n const target = event.composedPath()?.[0] || event.target;\n const isTextField =\n target instanceof HTMLElement &&\n ([\"TEXTAREA\", \"INPUT\"].includes(target.tagName) ||\n target.isContentEditable);\n\n if (isTextField) {\n return;\n }\n\n const selection = globalThis.getSelection()?.toString();\n const keyPressed = event.key;\n const ctrlOrMetaPressed = event.ctrlKey || event.metaKey;\n const isSlash = keyPressed === \"/\" && !ctrlOrMetaPressed;\n const isCtrlK = keyPressed === \"k\" && ctrlOrMetaPressed && !event.shiftKey;\n\n if (isSlash || isCtrlK) {\n event.preventDefault();\n gleanClick(\n `quick-search-open: keyboard -> ${isSlash ? \"slash\" : \"ctrl-k\"}`,\n );\n this.showModal();\n if (selection) {\n this._query = selection;\n if (!this._hasEngaged) {\n this._hasEngaged = true;\n gleanClick(\"quick-search-change: selection\");\n }\n }\n }\n }\n\n _queryIndex = new Task(this, {\n args: () => [this._index, this._query],\n task: async ([index, query]) => {\n if (!index || !query) {\n return;\n }\n return quickSearch(query, await index);\n },\n });\n\n _close() {\n this.shadowRoot?.querySelector(\"dialog\")?.close();\n }\n\n /** @param {ToggleEvent} event */\n _toggle({ newState }) {\n document.documentElement.classList.toggle(\n \"search-modal-open\",\n newState === \"open\",\n );\n }\n\n connectedCallback() {\n super.connectedCallback();\n this._globalKeydown = this._globalKeydown.bind(this);\n document.addEventListener(\"keydown\", this._globalKeydown);\n this._loadIndex = this._loadIndex.bind(this);\n this.renderRoot.addEventListener(\"mouseover\", this._loadIndex);\n }\n\n disconnectedCallback() {\n super.disconnectedCallback();\n this.renderRoot.removeEventListener(\"mouseover\", this._loadIndex);\n document.removeEventListener(\"keydown\", this._globalKeydown);\n document.documentElement.classList.remove(\"search-modal-open\");\n }\n\n _renderLoadingSearchIndex() {\n return html`<progress\n aria-label=${this.l10n(\n \"search-modal-loading-search-index\",\n )`Loading search index…`}\n ></progress>`;\n }\n\n render() {\n const siteSearchIndex = this._queryIndex.value?.length || 0;\n const searchUrl = this._query\n ? `/${this.locale}/search?${new URLSearchParams({ q: this._query })}`\n : null;\n const searchComplete =\n Boolean(this._query) && this._queryIndex.status === TaskStatus.COMPLETE;\n const resultsStatus = searchComplete\n ? this.l10n.raw({\n id: \"search-modal-results-status\",\n args: { results: siteSearchIndex },\n })\n : \"\";\n return html`\n <dialog\n @keydown=${this._keydown}\n @focusin=${this._focus}\n @toggle=${this._toggle}\n closedby=\"any\"\n >\n <div class=\"header\">\n <form\n method=\"get\"\n action=${`/${this.locale}/search`}\n @submit=${this._submit}\n >\n <input\n type=\"search\"\n name=\"q\"\n .value=${this._query}\n autocomplete=\"off\"\n autofocus\n @input=${this._input}\n placeholder=${this.l10n(\"search-modal-search\")`Search`}\n aria-label=${this.l10n(\"search-modal-search\")`Search`}\n role=\"combobox\"\n aria-autocomplete=\"list\"\n aria-controls=\"search-modal-listbox\"\n aria-expanded=${this._query ? \"true\" : \"false\"}\n aria-activedescendant=${\n this._query ? `search-modal-result-${this._selected}` : nothing\n }\n />\n </form>\n <div class=\"visually-hidden\" role=\"status\">${resultsStatus}</div>\n <mdn-button\n class=\"close\"\n variant=\"plain\"\n icon-only\n .icon=${exitIcon}\n @click=${this._close}\n >${this.l10n(\"search-modal-exit-search\")`Exit search`}</mdn-button\n >\n </div>\n ${this._queryIndex.render({\n initial: this._renderLoadingSearchIndex.bind(this),\n pending: this._renderLoadingSearchIndex.bind(this),\n })}\n <ul\n id=\"search-modal-listbox\"\n role=\"listbox\"\n aria-label=${this.l10n(\"search-modal-results-label\")`Search results`}\n >\n ${this._queryIndex.render({\n complete: (results) =>\n results?.map(\n ({ title, url }, i) => html`\n <li\n id=\"search-modal-result-${i}\"\n role=\"option\"\n aria-selected=${this._selected === i ? \"true\" : \"false\"}\n ?data-selected=${this._selected === i}\n data-result=${i}\n >\n <a\n href=${url}\n data-glean-id=${`quick-search: results[${1 + i}] -> ${this._query} -> ${url}`}\n ><span class=\"slug\"\n >${mdnUrl2Breadcrumb(url, this.locale)}</span\n >\n <span class=\"title\"\n >${HighlightMatch(title, this._query)}</span\n ></a\n >\n </li>\n `,\n ),\n })}\n ${\n searchUrl\n ? html`<li\n id=\"search-modal-result-${siteSearchIndex}\"\n role=\"option\"\n aria-selected=${\n this._selected === siteSearchIndex ? \"true\" : \"false\"\n }\n ?data-selected=${this._selected === siteSearchIndex}\n data-result=${siteSearchIndex}\n >\n <a\n href=${searchUrl}\n data-glean-id=${`quick-search: site-search -> ${this._query}`}\n ><span class=\"title\"\n >${this.l10n.raw({\n id: \"search-modal-site-search\",\n args: {\n query: this._query,\n },\n elements: {\n query: { tag: \"code\" },\n },\n })}</span\n ></a\n >\n </li>`\n : nothing\n }\n </ul>\n </dialog>\n `;\n }\n\n updated() {\n if (this._shiftFocus) {\n const selected = this._getSelectedItem();\n if (selected instanceof HTMLElement) {\n selected.focus();\n }\n }\n }\n}\n\ncustomElements.define(\"mdn-search-modal\", MDNSearchModal);\n\n/**\n * @param {string} input\n * @param {import(\"./types.js\").SearchIndex} index\n * @returns {import(\"./types.js\").SearchResultItem[]}\n */\nfunction quickSearch(input, index) {\n const inputValueLC = input.toLowerCase().trim();\n const q = splitQuery(input);\n const indexResults = index.flex\n .filter(({ title }) => q.every((q) => title.includes(q)))\n .map(({ index, title, slugTail }) => {\n const exact = Number([title, slugTail].includes(inputValueLC));\n return /** @type {const} */ ([exact, index]);\n })\n .sort(([aExact], [bExact]) => bExact - aExact) // Boost exact matches.\n .map(([_, i]) => i)\n .slice(0, 10);\n\n return indexResults\n .map((i) => (index.items || [])[i])\n .filter((item) => item !== undefined);\n}\n\n/**\n * Used by quicksearch and sidebar filters.\n * @param {string} term\n * @returns {string[]}\n */\nexport function splitQuery(term) {\n term = term.trim().toLowerCase();\n return term.startsWith(\".\") || term.endsWith(\".\")\n ? // Dot is probably meaningful.\n term.split(/[ ,]+/)\n : // Dot is probably just a word separator.\n term.split(/[ ,.]+/);\n}\n\n/**\n * @param {string} title\n * @param {string} query\n */\nfunction HighlightMatch(title, query) {\n // Split on highlight term and include term into parts, ignore case.\n const words = splitQuery(query);\n // $& means the whole matched string\n const regexWords = words.map((s) =>\n s.replaceAll(/[.*+?^${}()|[\\]\\\\]/g, String.raw`\\$&`),\n );\n const regex = regexWords.map((word) => `(${word})`).join(\"|\");\n const parts = title.split(new RegExp(regex, \"gi\"));\n return parts\n .filter(Boolean)\n .map((part) =>\n words.includes(part.toLowerCase()) ? html`<mark>${part}</mark>` : part,\n );\n}\n","/**\n * @import * as User from \"../user/types.js\";\n */\n\nimport { WRITER_MODE } from \"../env/index.js\";\n\nconst DEFAULT_GEO = { country: \"United States\", country_iso: \"US\" };\n\n/**\n * @type {User.User}\n */\nconst DEFAULT_USER = {\n username: null,\n isAuthenticated: false,\n avatarUrl: null,\n isSubscriber: false,\n subscriptionType: null,\n email: null,\n geo: DEFAULT_GEO,\n settings: null,\n};\n\n/**\n * @type {Promise<User.User> | undefined}\n */\nlet USER;\n\n/**\n *\n * @returns {Promise<User.User>}\n */\nexport function globalUser() {\n if (WRITER_MODE) {\n return new Promise(() => {});\n }\n if (!USER) {\n USER = fetchUserData().catch((error) => {\n console.error(error);\n return DEFAULT_USER;\n });\n }\n return USER;\n}\n\n/**\n *\n * @returns {Promise<User.User>}\n */\nasync function fetchUserData() {\n const response = await fetch(\"/api/v1/whoami\");\n if (!response.ok) {\n throw new Error(response.statusText);\n }\n\n try {\n /**\n * @type {User.WhoamiResponse}\n */\n const data = await response.json();\n const settings = data?.settings\n ? {\n aiHelpHistory:\n typeof data.settings?.ai_help_history === \"boolean\"\n ? data.settings.ai_help_history\n : null,\n noAds: data.settings?.no_ads ?? null,\n }\n : DEFAULT_USER.settings;\n Settings.noAds = settings?.noAds || false;\n return {\n username: data.username ?? DEFAULT_USER.username,\n isAuthenticated: data.is_authenticated ?? DEFAULT_USER.isAuthenticated,\n avatarUrl: data.avatar_url ?? DEFAULT_USER.avatarUrl,\n isSubscriber: data.is_subscriber ?? DEFAULT_USER.isSubscriber,\n subscriptionType:\n data.subscription_type === \"core\"\n ? \"mdn_core\"\n : (data.subscription_type ?? DEFAULT_USER.subscriptionType),\n email: data.email ?? DEFAULT_USER.email,\n geo: {\n country: (data.geo && data.geo.country) ?? DEFAULT_GEO.country,\n country_iso:\n (data.geo && data.geo.country_iso) ?? DEFAULT_GEO.country_iso,\n },\n settings,\n };\n } catch {\n throw new Error(response.statusText);\n }\n}\n\nexport const Settings = {\n set noAds(value) {\n if (value) {\n globalThis.localStorage.setItem(\"nop\", \"yes\");\n } else {\n globalThis.localStorage.removeItem(\"nop\");\n }\n },\n\n get noAds() {\n return globalThis.localStorage?.getItem?.(\"nop\") === \"yes\";\n },\n};\n","/**\n * Used to generate a random element id by combining a prefix with a random string.\n *\n * @param {string} prefix\n * @returns {string}\n */\nexport function randomIdString(prefix = \"id-\") {\n return Math.random().toString(36).replace(\"0.\", prefix);\n}\n","const OPTIONS = {\n threshold: 0.5,\n};\n\nexport class ViewedObserver {\n #element;\n #callback;\n #options;\n\n /** @type {IntersectionObserver | null} */\n #observer = null;\n /** @type {ReturnType<typeof setTimeout> | null} */\n #timer = null;\n #hasViewed = false;\n #visible = !globalThis.document?.hidden;\n #onVisibilityChange = this.#handleVisibilityChange.bind(this);\n\n /**\n * @param {Element} element\n * @param {() => void} callback\n * @param {IntersectionObserverInit} [options]\n */\n constructor(element, callback, options = OPTIONS) {\n this.#element = element;\n this.#callback = callback;\n this.#options = options;\n }\n\n connect() {\n document.addEventListener(\"visibilitychange\", this.#onVisibilityChange);\n this.#observer = new IntersectionObserver((entries) => {\n for (const entry of entries) {\n this.#checkAndSetTimer(entry.isIntersecting);\n }\n }, this.#options);\n this.#observer.observe(this.#element);\n }\n\n disconnect() {\n if (this.#observer) {\n this.#observer.disconnect();\n this.#observer = null;\n }\n if (this.#timer !== null) {\n clearTimeout(this.#timer);\n this.#timer = null;\n }\n document.removeEventListener(\"visibilitychange\", this.#onVisibilityChange);\n }\n\n #handleVisibilityChange() {\n this.#visible = !document.hidden;\n this.#checkAndSetTimer();\n }\n\n /**\n * If the page is visible and the element is intersecting, start a 1-second timer\n * to dispatch the \"view\" event.\n *\n * If conditions are not met before the timer fires, clear the timer.\n *\n * @param {boolean} isIntersecting\n */\n #checkAndSetTimer(isIntersecting = false) {\n if (!this.#hasViewed && this.#visible && isIntersecting) {\n if (this.#timer === null) {\n this.#timer = globalThis.setTimeout(() => {\n this.#hasViewed = true;\n this.#callback();\n }, 1000);\n }\n } else {\n if (this.#timer !== null) {\n clearTimeout(this.#timer);\n this.#timer = null;\n }\n }\n }\n}\n","for (const pre of document.querySelectorAll(\n `div.code-example pre:not(.hidden):not([class*=\"live-sample\"]):not([class*=\"interactive-example\"])`,\n)) {\n const { upgradePre } = await import(\"../components/code-example/element.js\");\n upgradePre(pre);\n}\n","/**\n * dialog closedby polyfill based on https://github.com/tak-dcxi/dialog-closedby-polyfill\n *\n * @license MIT\n *\n * Copyright (c) 2025 Takahiro Arai\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\n\nif (!(\"closedBy\" in HTMLDialogElement.prototype)) {\n addEventListener(\"click\", (event) => {\n const source = event.composedPath()[0];\n if (\n source instanceof HTMLDialogElement &&\n source.getAttribute(\"closedby\") === \"any\"\n ) {\n const rect = source.getBoundingClientRect();\n const { clientX: x, clientY: y } = event;\n const inside =\n rect.top <= y && y <= rect.bottom && rect.left <= x && x <= rect.right;\n\n if (!inside) source.close();\n }\n });\n}\n","import Glean from \"@mozilla/glean/web\";\n\nimport {\n GLEAN_CHANNEL,\n GLEAN_DEBUG,\n GLEAN_ENABLED,\n} from \"../components/env/index.js\";\nimport { ViewedObserver } from \"../components/viewed-controller/viewed-observer.js\";\nimport { gleanClick } from \"../utils/glean.js\";\nimport { userIsOptedOut } from \"../utils/telemetry-opt-out.js\";\n\nconst GLEAN_APP_ID = \"mdn-fred\";\n\nconst uploadEnabled = !userIsOptedOut() && GLEAN_ENABLED;\n\nif (GLEAN_DEBUG) {\n Glean.setDebugViewTag(\"mdn-dev\");\n Glean.setLogPings(true);\n}\n\nGlean.initialize(GLEAN_APP_ID, uploadEnabled, {\n enableAutoPageLoadEvents: true,\n enableAutoElementClickEvents: true,\n channel: GLEAN_CHANNEL,\n});\n\n// data-glean-toggle-open\ndocument.addEventListener(\"toggle\", (event) => {\n const composedPath = event.composedPath();\n for (const el of composedPath) {\n if (\n el instanceof HTMLElement &&\n typeof el.dataset.gleanToggleOpen === \"string\" &&\n \"open\" in el &&\n el.open\n ) {\n gleanClick(el.dataset.gleanToggleOpen);\n }\n }\n});\n\n// data-glean-view\nfor (const element of /** @type {NodeListOf<HTMLElement>} */ (\n document.querySelectorAll(\"[data-glean-view]\")\n)) {\n // Excludes shadow DOM, and elements added after page load.\n // For custom elements, use `ViewedController()` instead.\n const gleanId = element.dataset.gleanView;\n if (gleanId) {\n const observer = new ViewedObserver(element, () => {\n gleanClick(gleanId);\n observer.disconnect();\n });\n observer.connect();\n }\n}\n\n// data-glean-id\ndocument.addEventListener(\"click\", (event) => {\n const composedPath = event.composedPath();\n const composedTarget = composedPath?.[0];\n if (composedTarget !== event.target && composedTarget instanceof Element) {\n // Workaround for automatic click events in shadow DOM.\n // See: https://bugzil.la/1988206\n\n // Measure click for all `data-glean-id`s along the path.\n for (const el of composedPath) {\n if (el instanceof HTMLElement && typeof el.dataset.gleanId === \"string\") {\n gleanClick(el.dataset.gleanId);\n }\n }\n }\n\n const target = composedTarget ?? event.target;\n if (target instanceof Element) {\n // External link measurement.\n const anchor = target.closest(\"a\");\n if (\n anchor instanceof HTMLAnchorElement &&\n anchor.href &&\n anchor.origin &&\n anchor.origin !== document.location.origin\n ) {\n gleanClick(`external-link: ${anchor.href}`);\n }\n\n // Sidebar click measurement.\n if (anchor instanceof HTMLAnchorElement && anchor.href) {\n const sidebar = anchor.closest(\".left-sidebar\");\n if (sidebar) {\n const href = anchor.getAttribute(\"href\") || anchor.href;\n gleanClick(`sidebar_click: sidebar ${href}`);\n }\n }\n }\n});\n","const FIRST_PARTY_DATA_OPT_OUT_COOKIE_NAME = \"moz-1st-party-data-opt-out\";\n\n/**\n * Checks if user has opted out of first-party data collection.\n * @param {string} [cookie] - An optional mock cookie string to ease unit testing.\n * @returns {boolean} True if user has opted out, false otherwise\n */\nexport function userIsOptedOut(cookie) {\n return (cookie || document.cookie)\n .split(\"; \")\n .includes(`${FIRST_PARTY_DATA_OPT_OUT_COOKIE_NAME}=true`);\n}\n","/**\n * @import { MDNCodeExample } from \"../components/code-example/element.js\";\n */\n\nfor (const iframe of document.querySelectorAll(\"iframe[data-live-id]\")) {\n if (iframe instanceof HTMLIFrameElement) {\n const { liveId, livePath } = iframe.dataset;\n if (liveId) {\n /** @type {Record<string, string>} */\n const liveSampleCode = {};\n /** @type {MDNCodeExample[]} */\n const codeExamples = [];\n\n const escapedId = liveId.replaceAll(\".\", String.raw`\\.`);\n for (const element of document.querySelectorAll(\n `.live-sample___${escapedId}, .live-sample---${escapedId}`,\n )) {\n const { MDNCodeExample, upgradePre } =\n await import(\"../components/code-example/element.js\");\n const codeExample =\n element instanceof MDNCodeExample ? element : upgradePre(element);\n if (codeExample) {\n codeExamples.push(codeExample);\n const { language, code } = codeExample;\n if (liveSampleCode[language]) {\n liveSampleCode[language] += code;\n } else {\n liveSampleCode[language] = code;\n }\n }\n }\n\n await import(\"../components/live-sample-result/element.js\");\n const result = document.createElement(\"mdn-live-sample-result\");\n result.liveId = liveId;\n result.code = liveSampleCode;\n result.srcPrefix = livePath;\n result.allow = iframe.allow || undefined;\n result.sandbox = iframe.sandbox.toString();\n result.height = iframe.height;\n iframe.closest(\".code-example\")?.replaceWith(result);\n\n for (const codeExample of codeExamples) {\n codeExample.liveSample ||= result;\n }\n }\n }\n}\n","const loaded = new Set();\nfor (const element of document.querySelectorAll(\"*\")) {\n const tag = element.tagName.toLowerCase();\n if (tag.startsWith(\"mdn-\") || tag === \"interactive-example\") {\n const component = tag.replace(\"mdn-\", \"\");\n if (!loaded.has(component)) {\n loaded.add(component);\n // we don't want to await, because we want these to load in parallel\n // eslint-disable-next-line unicorn/prefer-top-level-await\n import(`../components/${component}/element.js`).catch((error) => {\n console.error(\n `couldn't load code for <${component}>: does the element's code not match the naming schema?`,\n error,\n );\n });\n }\n }\n}\n","const sidebar = document.querySelector(\"#main-sidebar\");\nconst current = sidebar?.querySelector('[aria-current=\"page\"]');\nif (sidebar && current instanceof HTMLElement) {\n sidebar.scrollTo({\n top: current.offsetTop - window.innerHeight / 4,\n });\n}\n","import { MDNSearchModal } from \"../components/search-modal/element.js\";\n\nconst skipToSearch = document.querySelector(`.a11y-menu a[href=\"#search\"]`);\n\nif (skipToSearch instanceof HTMLAnchorElement) {\n const search = document.querySelector(\"#search\");\n\n if (search instanceof MDNSearchModal) {\n skipToSearch.addEventListener(\"click\", (event) => {\n const { target } = event;\n\n if (target instanceof HTMLElement) {\n target.blur();\n event.preventDefault();\n }\n\n search.showModal();\n });\n } else {\n console.error(\"MDNSearchModal not found!\");\n skipToSearch.hidden = true;\n }\n}\n","/**\n * @param {HTMLElement} toc\n * @returns {void}\n */\nfunction highlightTOC(toc) {\n // 1. Collect TOC items\n const tocItems = [...toc.querySelectorAll(\"a\")];\n\n // 2. Map sections to TOC item\n /** @type {Map<HTMLElement, HTMLAnchorElement>} */\n const tocItemBySection = new Map();\n for (const item of tocItems.reverse()) {\n const target = document.querySelector(\n `[id=\"${CSS.escape(decodeURIComponent(item.hash).slice(1))}\"]`,\n );\n\n if (!target) {\n continue;\n }\n\n /** @type {Element|null} */\n let section = target.closest(\"section\");\n\n while (\n section &&\n section instanceof HTMLElement &&\n !tocItemBySection.has(section)\n ) {\n tocItemBySection.set(section, item);\n const next = section.nextElementSibling;\n section = next;\n }\n }\n\n /** @type {WeakMap<HTMLElement,number>} */\n const visibleSectionsByItem = new WeakMap();\n\n /** @type {Set<HTMLElement>} */\n const everVisibleSections = new Set();\n\n // 3. Handle visibility transitions\n const onIntersect = (/** @type {IntersectionObserverEntry[]} */ entries) => {\n for (const { target, isIntersecting } of entries) {\n if (!(target instanceof HTMLElement)) {\n continue;\n }\n\n if (!everVisibleSections.has(target)) {\n if (isIntersecting) {\n everVisibleSections.add(target);\n } else {\n continue;\n }\n }\n\n const item = tocItemBySection.get(target);\n\n if (!item) {\n continue;\n }\n\n const visibleCount =\n (visibleSectionsByItem.get(item) ?? 0) + (isIntersecting ? 1 : -1);\n\n item.ariaCurrent = visibleCount > 0 ? \"true\" : null;\n visibleSectionsByItem.set(item, visibleCount);\n }\n };\n\n // 5. Determine options.\n /** @type {IntersectionObserverInit} */\n const options = {\n threshold: 0,\n };\n const header = document.querySelector(\"header\");\n if (header instanceof HTMLElement) {\n options.rootMargin = `-${header.clientHeight}px 0px 0px 0px`;\n }\n\n // 5. Init observer.\n const observer = new IntersectionObserver(onIntersect, options);\n\n // 6. Observe sections.\n for (const section of tocItemBySection.keys()) {\n observer.observe(section);\n }\n}\n\nfor (const toc of document.querySelectorAll(\n \".generic-toc, .reference-toc, .document-toc, .blog-toc\",\n)) {\n if (toc instanceof HTMLElement) {\n highlightTOC(toc);\n }\n}\n","import { globalUser } from \"../components/user/context.js\";\n\ntry {\n const user = await globalUser();\n const nextPing = new Date(localStorage.getItem(\"next-ping\") || 0);\n if (navigator.sendBeacon && user.isAuthenticated && nextPing < new Date()) {\n const params = new URLSearchParams();\n\n navigator.sendBeacon(\"/api/v1/ping\", params);\n\n const newNextPing = new Date();\n newNextPing.setUTCDate(newNextPing.getUTCDate() + 1);\n newNextPing.setUTCHours(0);\n newNextPing.setUTCMinutes(0);\n newNextPing.setUTCSeconds(0);\n newNextPing.setUTCMilliseconds(0);\n localStorage.setItem(\"next-ping\", newNextPing.toISOString());\n }\n} catch (error) {\n console.error(\"Failed to send ping\", error);\n}\n","import { FluentBundle, FluentResource } from \"@fluent/bundle\";\nimport insane from \"insane\";\nimport { unsafeHTML } from \"lit/directives/unsafe-html.js\";\n\nimport enUS_ftl from \"./locales/en-US.ftl\";\n\n/**\n * @import { FluentVariable } from \"@fluent/bundle\"\n * @import { AllowedTags } from \"insane\"\n */\n\n/** @type {Record<string, string>} */\nconst ftlMap = {\n \"en-US\": enUS_ftl,\n};\n\nconst ALLOWED_TAGS = new Set([\"i\", \"strong\", \"br\", \"em\"]);\nconst ALLOWED_ATTRIBUTES = [\"title\", \"aria-label\"];\n\nexport class Fluent {\n /**\n * @param {string} locale\n * @param {string[]} resources\n */\n constructor(locale = \"en-US\", resources = []) {\n this.locale = locale;\n\n this.usBundle = Fluent.constructBundle(\n new FluentBundle(locale, { useIsolating: false }),\n [enUS_ftl],\n );\n\n if (resources.length > 0) {\n this.bundle = Fluent.constructBundle(\n new FluentBundle(locale, { useIsolating: false }),\n [enUS_ftl, ...resources],\n );\n }\n }\n\n /**\n * @param {FluentBundle} bundle\n * @param {string[]} resources\n */\n static constructBundle(bundle, resources = []) {\n for (const r of resources) {\n const errors = bundle.addResource(new FluentResource(r), {\n allowOverrides: true,\n });\n if (errors.length > 0) {\n console.error(errors);\n }\n }\n return bundle;\n }\n\n /**\n * @param {string} id\n * @param {string} [attr]\n * @param {Record<string, FluentVariable | undefined>} [args]\n * @param {Record<string, import(\"../types/fluent.js\").Element>} [elements]\n * @returns {string | ReturnType<typeof unsafeHTML> | undefined}\n */\n get(id, attr, args, elements) {\n const message = this.getMessage(id, attr, args);\n if (!message) {\n return;\n }\n return Fluent.sanitize(message, elements);\n }\n\n /**\n * @param {string} message\n * @param {Record<string, import(\"../types/fluent.js\").Element>} [elements]\n * @returns {string | ReturnType<typeof unsafeHTML>}\n */\n static sanitize(message, elements = {}) {\n /** @type { Record<string, string[]> } */\n const allowedAttributes = {};\n for (const t of Object.values(elements)) {\n allowedAttributes[t.tag] = [\n ...Object.keys(t).filter((x) => x !== \"tag\"),\n ...ALLOWED_ATTRIBUTES,\n ];\n }\n\n const allowedTags = [\n ...Object.values(elements).map((t) => t.tag),\n ...ALLOWED_TAGS,\n ];\n\n let safe = true;\n const sanitized = insane(\n message,\n {\n allowedAttributes,\n allowedTags: /** @type {AllowedTags[]} */ (allowedTags),\n allowedSchemes: [\"http\", \"https\", \"mailto\"],\n filter(token) {\n // TODO: use element names directly\n const name = token.attrs[\"data-l10n-name\"];\n if (name) {\n for (const [k, v] of Object.entries(elements[name] || {})) {\n token.attrs[k] = v;\n }\n }\n if (\n ALLOWED_TAGS.has(token.tag) ||\n (name &&\n Object.keys(elements).includes(name) &&\n elements[name]?.tag === token.tag)\n ) {\n safe = false;\n return true;\n }\n return false;\n },\n },\n true,\n );\n return safe ? sanitized : unsafeHTML(sanitized);\n }\n\n /**\n * @param {string} id\n * @param {string} [attr]\n * @param {Record<string, FluentVariable | undefined>} [args]\n * @param {FluentBundle | undefined} [bundle]\n * @param {boolean} [us]\n * @returns {string | undefined}\n */\n getMessage(id, attr, args = {}, bundle = this.bundle, us = false) {\n const parentMessage = bundle ? bundle.getMessage(id) : undefined;\n let message;\n\n if (this.locale === \"qai\") {\n return `[${id}${attr ? `.${attr}` : \"\"}]`;\n }\n\n if (!parentMessage) {\n if (us) {\n // console.error(`string ${id} doesn't exist`);\n // return `[${id}${attr ? `.${attr}` : \"\"}]`;\n return;\n }\n return this.getMessage(id, attr, args, this.usBundle, true);\n }\n\n if (attr) {\n message = parentMessage.attributes[attr];\n if (!message) {\n if (us) {\n // console.error(`string ${id} with ${attr} attribute doesn't exist`);\n // return `[${id}.${attr}]`;\n return;\n }\n return this.getMessage(id, attr, args, this.usBundle, true);\n }\n } else if (parentMessage.value) {\n message = parentMessage.value;\n }\n\n if (!message || !bundle) {\n return \"\";\n }\n\n /** @type {Error[]} */\n const errors = [];\n const formatted = bundle?.formatPattern(message, escapeArgs(args), errors);\n if (errors.length > 0) {\n console.error(errors);\n }\n return formatted;\n }\n}\n\n/**\n * HTML-escape string-valued args so that variable substitution can't inject\n * tags that confuse the downstream sanitizer. Only string values are touched\n * so that Number/Date selectors keep working.\n *\n * @param {Record<string, FluentVariable | undefined>} args\n * @returns {Record<string, FluentVariable>}\n */\nfunction escapeArgs(args) {\n /** @type {Record<string, FluentVariable>} */\n const out = {};\n for (const [k, v] of Object.entries(args)) {\n if (v !== undefined) {\n out[k] = typeof v === \"string\" ? escapeHtml(v) : v;\n }\n }\n return out;\n}\n\n/**\n * @param {string} s\n */\nfunction escapeHtml(s) {\n return s\n .replaceAll(\"&\", \"&\")\n .replaceAll(\"<\", \"<\")\n .replaceAll(\">\", \">\");\n}\n\n/** @type {Map<string, Fluent>} */\nconst fluent = new Map();\n\n/**\n * @param {string} [locale]\n */\nfunction getLocale(locale) {\n if (!locale) {\n return;\n }\n if (!fluent.has(locale)) {\n const ftl = ftlMap[locale];\n if (!ftl) {\n return new Fluent(locale);\n }\n const localeF = new Fluent(locale, [ftl]);\n fluent.set(locale, localeF);\n }\n return fluent.get(locale);\n}\n\n/**\n * @param {string} locale\n */\nexport async function loadFluentFile(locale) {\n if (locale !== \"qai\" && !ftlMap[locale]) {\n try {\n const { default: localeStrings } = await import(\n `./locales/${locale}.ftl`\n );\n ftlMap[locale] = localeStrings;\n } catch (error) {\n console.error(error);\n }\n }\n}\n\n/**\n * @param {string} locale\n */\nexport default function getFluentContext(locale) {\n /**\n * @param {string} id\n * @param {string} [_comment]\n * @returns {import(\"../types/fluent.js\").L10nTag}\n */\n function l10n(id, _comment) {\n // called as a function, returning a template tag:\n // l10n(\"foobar\")`Foobar`\n const localizedStringOrHtml = getLocale(locale)?.get(id);\n // if fluent has returned a lit html template, discard it\n const localizedString =\n typeof localizedStringOrHtml === \"string\"\n ? localizedStringOrHtml\n : undefined;\n const fallbackString = `[${id}]`;\n /** @type {import(\"../types/fluent.js\").L10nTag} */\n const tag = (strings) => {\n // we don't currently support any expressions in the template string\n // we might in the future, if we use l10n.raw a lot\n const templateString = strings[0];\n return localizedString || templateString || fallbackString;\n };\n tag.toString = () => {\n // called as a function, used as a function:\n // ${l10n(\"foobar\")}\n return localizedString || fallbackString;\n };\n return tag;\n }\n\n /**\n * @param {{ id: string, attr?: string, args?: Record<string, FluentVariable | undefined>, elements?: Record<string, import(\"../types/fluent.js\").Element> }} param0\n */\n l10n.raw = function ({ id, attr, args, elements }) {\n const fluent = getLocale(locale);\n if (fluent) {\n return fluent.get(id, attr, args, elements);\n }\n return `[${id}]`;\n };\n\n return l10n;\n}\n\n// const l10n = getFluentContext(\"en-US\");\n\n// console.log(l10n`Hello`);\n// console.log(l10n(\"hello\")`Hello`);\n// console.log(l10n(\"hello\", \"a greeting to the user\")`Hello`);\n// console.log(l10n.raw({ id: \"hello\" }));\n// console.log(`${l10n(\"hello\")}`);\n\n// should show error:\n// l10n(\"hello\")`Hello ${\"world\"}`;\n","import { getSymmetricContext } from \"../symmetric-context/both.js\";\n\nimport { loadFluentFile } from \"./fluent.js\";\n\nconst locale = getSymmetricContext().locale;\nif (locale) await loadFluentFile(locale);\n","import { getSymmetricContext } from \"../symmetric-context/both.js\";\n\nimport getFluentContext from \"./fluent.js\";\n\n/**\n * @import { LitElement } from \"lit\";\n */\n\n/* eslint-disable jsdoc/reject-any-type -- TS mixin constructors require `any[]` (error TS2545) */\n/**\n * @template {new (...args: any[]) => LitElement} TBase\n * @param {TBase} Base\n */\n/* eslint-enable jsdoc/reject-any-type */\nexport const L10nMixin = (Base) =>\n class LocalizedElement extends Base {\n /* eslint-disable jsdoc/reject-any-type -- TS mixin constructors require `any[]` (error TS2545) */\n /**\n * @param {...any} args\n */\n /* eslint-enable jsdoc/reject-any-type */\n constructor(...args) {\n super(...args);\n const context = getSymmetricContext();\n this.locale = context.locale;\n this.l10n = getFluentContext(this.locale);\n }\n };\n","/**\n * Runs on either client or server,\n * and returns the client or server context respectively\n * @returns {import(\"./types.js\").SymmetricContext}\n */\nexport function getSymmetricContext() {\n const serverStore = globalThis.__MDNServerContext?.getStore();\n const clientStore = globalThis.__MDNClientContext;\n return serverStore || clientStore;\n}\n","/**\n * The client-derived values of the symmetric context:\n * this will run within a user's web browser\n * @type {import(\"./types.js\").SymmetricContext}\n */\nglobalThis.__MDNClientContext = {\n locale: globalThis.location.pathname.split(\"/\", 2)[1] || \"en-US\",\n};\n","import GleanMetrics from \"@mozilla/glean/metrics\";\n\n/**\n * Records a click event.\n *\n * Use only if automatic click events are not an option.\n * See: https://mozilla.github.io/glean.js/automatic_instrumentation/click_events/\n *\n * @param {string} source\n */\nexport function gleanClick(source) {\n GleanMetrics.recordElementClick({\n id: source,\n url: globalThis.location.href,\n referrer: document.referrer,\n title: document.title,\n });\n}\n","/**\n * Returns an MDN URL into a Breadcrumb-like string representation.\n *\n * @param {string} url - the full MDN URL (e.g. \"/en-US/docs/Web/HTML/Reference/Elements/a\").\n * @param {string} locale - the locale (to omit)\n * @returns {string} the breadcrumb-like string for the URL.\n */\nexport function mdnUrl2Breadcrumb(url, locale) {\n let parents = url\n .replaceAll(\"_\", \" \")\n .split(\"/\")\n .filter((p) => ![\"\", \"docs\"].includes(p));\n\n const urlLocale = parents.shift();\n const prefix = urlLocale === locale ? [] : [urlLocale];\n\n // Replace \"API\" for clarity.\n if (parents.at(0) === \"Web\" && parents.at(1) === \"API\") {\n parents[1] = \"Web APIs\";\n }\n\n if (parents.length > 1 && parents.at(0) === \"Web\") {\n // Remove virtual \"Web\" path.\n parents.splice(0, 1);\n }\n\n if (parents.length > 1) {\n // Remove current item.\n parents.splice(-1, 1);\n }\n\n return [...prefix, ...parents].join(\" / \");\n}\n"],"names":["Promise","Error","Object","document","HTMLDetailsElement","o","localStorage","e","console","MDNButton","Boolean","String","h","customElements","JSON","Number","globalThis","HTMLElement","MDNSearchModal","fetch","t","HTMLInputElement","a","MouseEvent","setTimeout","URLSearchParams","RegExp","Math","ViewedObserver","IntersectionObserver","clearTimeout","HTMLDialogElement","addEventListener","Element","HTMLAnchorElement","HTMLIFrameElement","Set","window","Map","CSS","decodeURIComponent","WeakMap","Date","navigator","Fluent","s","g"],"mappings":";oHAAA,MAAe,CAAC;AAChB;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;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;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,CAAC,uGCrJG,EAA0B,IAA4B,KAC1D,EAAwB,CAAC,CAAC,GAAiC,EAE3D,EAAwB,IAAI,CAAC,CAAC,EAAO,EAAE,CAAE,wGAAyG,GAAG,EAErJ,MAAe,SAAI,CAAC,EAAwB,QAAQ,GAAG,oHCJnD,EAAgC,kBAChC,EAA0B,IAA4B,KAC1D,EAAwB,CAAC,CAAC,GAAiC,EAC3D,IAAI,EAAqC,IAAgC,GAEzE,EAAwB,IAAI,CAAC,CAAC,EAAO,EAAE,CAAE,CAAC,0oDAA0oD,EAAE,EAAmC,i1BAAi1B,CAAC,CAAE,GAAG,EAEhjF,MAAe,SAAI,CAAC,EAAwB,QAAQ,GAAG,+CCb5B,MAAe,QAAG,CAAC,2NAA2N,CAAC,+BCA1Q,IAAI,EAAM,CACR,4BAA6B,CAC3B,QACA,CACE,KACA,KACA,KACA,KACD,CACF,CACD,wBAAyB,CACvB,QACA,CACE,KACD,CACF,CACD,kCAAmC,CACjC,QACA,CACE,KACA,KACA,KACA,KACA,KACA,KACD,CACF,CACD,4CAA6C,CAC3C,QACA,CACE,KACD,CACF,CACD,2BAA4B,CAC1B,QACA,CACE,KACA,KACA,KACA,KACD,CACF,CACD,6BAA8B,CAC5B,QACA,CACE,KACD,CACF,CACD,sBAAuB,CACrB,QACA,CACE,KACA,KACA,KACD,CACF,CACD,8BAA+B,CAC7B,QACA,CACE,KACD,CACF,CACD,iCAAkC,CAChC,QACA,CACE,KACA,KACA,KACA,KACA,KACA,KACD,CACF,CACD,iCAAkC,CAChC,QACA,CACE,KACA,KACA,KACA,KACA,KACA,KACD,CACF,CACD,4BAA6B,CAC3B,QACA,CACE,KACA,KACD,CACF,CACD,8BAA+B,CAC7B,QACA,CACE,KACD,CACF,CACD,yBAA0B,CACxB,QACA,CACE,KACA,KACA,KACD,CACF,CACD,mCAAoC,CAClC,QACA,CACE,KACA,IACA,KACA,KACA,KACA,KACA,IACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACD,CACF,CACD,2BAA4B,CAC1B,QACA,CACE,KACD,CACF,CACD,4CAA6C,CAC3C,QACA,CACE,KACA,KACD,CACF,CACD,8BAA+B,CAC7B,QACA,CACE,IACD,CACF,CACD,4BAA6B,CAC3B,QACA,CACE,KACD,CACF,CACD,4BAA6B,CAC3B,QACA,CACE,KACA,KACA,KACD,CACF,CACD,sBAAuB,CACrB,QACA,CACE,KACD,CACF,CACD,sCAAuC,CACrC,OACA,CACE,KACA,KACD,CACF,CACD,gCAAiC,CAC/B,QACA,CACE,KACD,CACF,CACD,sBAAuB,CACrB,QACA,EAAE,CACH,CACD,+BAAgC,CAC9B,QACA,CACE,KACD,CACF,CACD,qBAAsB,CACpB,QACA,CACE,KACD,CACF,CACD,2BAA4B,CAC1B,QACA,CACE,KACA,KACD,CACF,CACD,iCAAkC,CAChC,MACA,CACE,KACD,CACF,CACD,gCAAiC,CAC/B,QACA,CACE,KACD,CACF,CACD,4BAA6B,CAC3B,QACA,CACE,KACD,CACF,CACD,sBAAuB,CACrB,QACA,CACE,KACA,KACD,CACF,CACD,uCAAwC,CACtC,OACA,CACE,KACA,KACD,CACF,CACD,+BAAgC,CAC9B,QACA,CACE,KACD,CACF,CACD,gCAAiC,CAC/B,OACA,CACE,KACA,KACA,KACA,KACA,KACA,KACD,CACF,CACD,6BAA8B,CAC5B,QACA,CACE,KACD,CACF,CACD,yBAA0B,CACxB,OACA,CACE,KACA,KACD,CACF,CACD,8BAA+B,CAC7B,QACA,CACE,KACD,CACF,CACD,iCAAkC,CAChC,QACA,CACE,KACA,KACA,KACA,IACD,CACF,CACD,2BAA4B,CAC1B,QACA,CACE,KACD,CACF,CACD,4BAA6B,CAC3B,QACA,CACE,KACD,CACF,CACD,+BAAgC,CAC9B,QACA,CACE,KACD,CACF,CACD,6BAA8B,CAC5B,OACA,CACE,KACA,KACA,KACA,KACA,KACA,KACD,CACF,CACD,gCAAiC,CAC/B,QACA,CACE,KACA,KACA,KACD,CACF,CACD,mCAAoC,CAClC,QACA,CACE,KACA,KACA,KACA,KACA,KACA,IACA,KACA,KACD,CACF,CACD,0BAA2B,CACzB,QACA,CACE,KACD,CACF,CACD,0CAA2C,CACzC,QACA,CACE,KACA,KACD,CACF,CACD,0BAA2B,CACzB,QACA,CACE,KACA,IACA,KACA,KACA,KACA,KACA,IACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACD,CACF,CACD,4BAA6B,CAC3B,QACA,CACE,KACD,CACF,CACD,2BAA4B,CAC1B,QACA,CACE,IACA,KACA,KACA,KACA,KACA,IACA,KACA,KACA,KACD,CACF,CACD,4BAA6B,CAC3B,QACA,CACE,KACD,CACF,CACD,kCAAmC,CACjC,QACA,CACE,KACD,CACF,CACD,4BAA6B,CAC3B,QACA,CACE,KACD,CACF,CACD,4BAA6B,CAC3B,OACA,CACE,KACA,KACA,KACD,CACF,CACD,4BAA6B,CAC3B,QACA,CACE,KACD,C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"}
|
|
Binary file
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
export const __rspack_esm_id=7555;export const __rspack_esm_ids=[7555];export const __webpack_modules__={23744(e,t,n){e.exports=function(){var e=function(t,n){return(e=Object.setPrototypeOf||(({__proto__:[]})instanceof Array?function(e,t){e.__proto__=t}:function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])}))(t,n)},t=function(){return(t=Object.assign||function(e){for(var t,n=1,r=arguments.length;n<r;n++)for(var i in t=arguments[n])Object.prototype.hasOwnProperty.call(t,i)&&(e[i]=t[i]);return e}).apply(this,arguments)};function r(e,t,n){if(n||2==arguments.length)for(var r,i=0,o=t.length;i<o;i++)!r&&i in t||((r=r||Array.prototype.slice.call(t,0,i))[i]=t[i]);return e.concat(r||Array.prototype.slice.call(t))}var i="u">typeof globalThis?globalThis:"u">typeof self?self:"u">typeof window?window:n.g,o=Object.keys,a=Array.isArray;function u(e,t){return"object"==typeof t&&o(t).forEach(function(n){e[n]=t[n]}),e}"u"<typeof Promise||i.Promise||(i.Promise=Promise);var s=Object.getPrototypeOf,c={}.hasOwnProperty;function l(e,t){return c.call(e,t)}function f(e,t){"function"==typeof t&&(t=t(s(e))),("u"<typeof Reflect?o:Reflect.ownKeys)(t).forEach(function(n){d(e,n,t[n])})}var h=Object.defineProperty;function d(e,t,n,r){h(e,t,u(n&&l(n,"get")&&"function"==typeof n.get?{get:n.get,set:n.set,configurable:!0}:{value:n,configurable:!0,writable:!0},r))}function p(e){return{from:function(t){return e.prototype=Object.create(t.prototype),d(e.prototype,"constructor",e),{extend:f.bind(null,e.prototype)}}}}var y=Object.getOwnPropertyDescriptor,v=[].slice;function m(e,t,n){return v.call(e,t,n)}function b(e,t){return t(e)}function g(e){if(!e)throw Error("Assertion Failed")}function w(e){i.setImmediate?setImmediate(e):setTimeout(e,0)}function _(e,t){if("string"==typeof t&&l(e,t))return e[t];if(!t)return e;if("string"!=typeof t){for(var n=[],r=0,i=t.length;r<i;++r){var o=_(e,t[r]);n.push(o)}return n}var a,u=t.indexOf(".");return -1===u||null==(a=e[t.substr(0,u)])?void 0:_(a,t.substr(u+1))}function k(e,t,n){if(e&&void 0!==t&&!("isFrozen"in Object&&Object.isFrozen(e)))if("string"!=typeof t&&"length"in t){g("string"!=typeof n&&"length"in n);for(var r=0,i=t.length;r<i;++r)k(e,t[r],n[r])}else{var o=t.indexOf(".");if(-1!==o){var u=t.substr(0,o),o=t.substr(o+1);if(""===o)void 0===n?a(e)&&!isNaN(parseInt(u))?e.splice(u,1):delete e[u]:e[u]=n;else{var s=e[u];if(!s||!l(e,u)){if(void 0===n)return;s=e[u]={}}k(s,o,n)}}else void 0===n?a(e)&&!isNaN(parseInt(t))?e.splice(t,1):delete e[t]:e[t]=n}}function x(e){var t,n={};for(t in e)l(e,t)&&(n[t]=e[t]);return n}var O=[].concat;function P(e){return O.apply([],e)}var S="BigUint64Array,BigInt64Array,Array,Boolean,String,Date,RegExp,Blob,File,FileList,FileSystemFileHandle,FileSystemDirectoryHandle,ArrayBuffer,DataView,Uint8ClampedArray,ImageBitmap,ImageData,Map,Set,CryptoKey".split(",").concat(P([8,16,32,64].map(function(e){return["Int","Uint","Float"].map(function(t){return t+e+"Array"})}))).filter(function(e){return i[e]}),E=new Set(S.map(function(e){return i[e]})),K=null;function A(e){return K=new WeakMap,e=function e(t){if(!t||"object"!=typeof t)return t;var n=K.get(t);if(n)return n;if(a(t)){n=[],K.set(t,n);for(var r=0,i=t.length;r<i;++r)n.push(e(t[r]))}else if(E.has(t.constructor))n=t;else{var o,u=s(t);for(o in n=u===Object.prototype?{}:Object.create(u),K.set(t,n),t)l(t,o)&&(n[o]=e(t[o]))}return n}(e),K=null,e}var C={}.toString;function j(e){return C.call(e).slice(8,-1)}var D="u">typeof Symbol?Symbol.iterator:"@@iterator",T="symbol"==typeof D?function(e){var t;return null!=e&&(t=e[D])&&t.apply(e)}:function(){return null};function I(e,t){0<=(t=e.indexOf(t))&&e.splice(t,1)}var q={};function R(e){var t,n,r,i;if(1==arguments.length){if(a(e))return e.slice();if(this===q&&"string"==typeof e)return[e];if(i=T(e))for(n=[];!(r=i.next()).done;)n.push(r.value);else{if(null==e||"number"!=typeof(t=e.length))return[e];for(n=Array(t);t--;)n[t]=e[t]}}else for(t=arguments.length,n=Array(t);t--;)n[t]=arguments[t];return n}var B="u">typeof Symbol?function(e){return"AsyncFunction"===e[Symbol.toStringTag]}:function(){return!1},S=["Unknown","Constraint","Data","TransactionInactive","ReadOnly","Version","NotFound","InvalidState","InvalidAccess","Abort","Timeout","QuotaExceeded","Syntax","DataClone"],M=["Modify","Bulk","OpenFailed","VersionChange","Schema","Upgrade","InvalidTable","MissingAPI","NoSuchDatabase","InvalidArgument","SubTransaction","Unsupported","Internal","DatabaseClosed","PrematureCommit","ForeignAwait"].concat(S),N={VersionChanged:"Database version changed by other database connection",DatabaseClosed:"Database has been closed",Abort:"Transaction aborted",TransactionInactive:"Transaction has already completed or failed",MissingAPI:"IndexedDB API missing. Please visit https://tinyurl.com/y2uuvskb"};function F(e,t){this.name=e,this.message=t}function W(e,t){return e+". Errors: "+Object.keys(t).map(function(e){return t[e].toString()}).filter(function(e,t,n){return n.indexOf(e)===t}).join("\n")}function U(e,t,n,r){this.failures=t,this.failedKeys=r,this.successCount=n,this.message=W(e,t)}function L(e,t){this.name="BulkError",this.failures=Object.keys(t).map(function(e){return t[e]}),this.failuresByPos=t,this.message=W(e,this.failures)}p(F).from(Error).extend({toString:function(){return this.name+": "+this.message}}),p(U).from(F),p(L).from(F);var V=M.reduce(function(e,t){return e[t]=t+"Error",e},{}),z=M.reduce(function(e,t){var n=t+"Error";function r(e,r){this.name=n,e?"string"==typeof e?(this.message="".concat(e).concat(r?"\n "+r:""),this.inner=r||null):"object"==typeof e&&(this.message="".concat(e.name," ").concat(e.message),this.inner=e):(this.message=N[t]||n,this.inner=null)}return p(r).from(F),e[t]=r,e},{}),Y=(z.Syntax=SyntaxError,z.Type=TypeError,z.Range=RangeError,S.reduce(function(e,t){return e[t+"Error"]=z[t],e},{}));function $(){}function H(e){return e}function G(e,t){return null==e||e===H?t:function(n){return t(e(n))}}function Q(e,t){return function(){e.apply(this,arguments),t.apply(this,arguments)}}function X(e,t){return e===$?t:function(){var n=e.apply(this,arguments),r=(void 0!==n&&(arguments[0]=n),this.onsuccess),i=this.onerror,o=(this.onsuccess=null,this.onerror=null,t.apply(this,arguments));return r&&(this.onsuccess=this.onsuccess?Q(r,this.onsuccess):r),i&&(this.onerror=this.onerror?Q(i,this.onerror):i),void 0!==o?o:n}}function J(e,t){return e===$?t:function(){e.apply(this,arguments);var n=this.onsuccess,r=this.onerror;this.onsuccess=this.onerror=null,t.apply(this,arguments),n&&(this.onsuccess=this.onsuccess?Q(n,this.onsuccess):n),r&&(this.onerror=this.onerror?Q(r,this.onerror):r)}}function Z(e,t){return e===$?t:function(n){var r=e.apply(this,arguments),n=(u(n,r),this.onsuccess),i=this.onerror,o=(this.onsuccess=null,this.onerror=null,t.apply(this,arguments));return n&&(this.onsuccess=this.onsuccess?Q(n,this.onsuccess):n),i&&(this.onerror=this.onerror?Q(i,this.onerror):i),void 0===r?void 0===o?void 0:o:u(r,o)}}function ee(e,t){return e===$?t:function(){return!1!==t.apply(this,arguments)&&e.apply(this,arguments)}}function et(e,t){return e===$?t:function(){var n=e.apply(this,arguments);if(n&&"function"==typeof n.then){for(var r=this,i=arguments.length,o=Array(i);i--;)o[i]=arguments[i];return n.then(function(){return t.apply(r,o)})}return t.apply(this,arguments)}}(S=M.reduce(function(e,t){return -1===["Syntax","Type","Range"].indexOf(t)&&(e[t+"Error"]=z[t]),e},{})).ModifyError=U,S.DexieError=F,S.BulkError=L;var en="u">typeof location&&/^(http|https):\/\/(localhost|127\.0\.0\.1)/.test(location.href),er={},ei="u"<typeof Promise?[]:(M=Promise.resolve(),"u">typeof crypto&&crypto.subtle?[ei=crypto.subtle.digest("SHA-512",new Uint8Array([0])),s(ei),M]:[M,s(M),M]),M=ei[0],eo=ei[1],eo=eo&&eo.then,ea=M&&M.constructor,eu=!!ei[2],es=function(e,t){ev.push([e,t]),el&&(queueMicrotask(eS),el=!1)},ec=!0,el=!0,ef=[],eh=[],ed=H,ep={id:"global",global:!0,ref:0,unhandleds:[],onunhandled:$,pgp:!1,env:{},finalize:$},ey=ep,ev=[],em=0,eb=[];function eg(e){if("object"!=typeof this)throw TypeError("Promises must be constructed via new");this._listeners=[],this._lib=!1;var t=this._PSD=ey;if("function"!=typeof e){if(e!==er)throw TypeError("Not a function");this._state=arguments[1],this._value=arguments[2],!1===this._state&&ek(this,this._value)}else this._state=null,this._value=null,++t.ref,function e(t,n){try{n(function(n){if(null===t._state){if(n===t)throw TypeError("A promise cannot be resolved with itself.");var r=t._lib&&eE();n&&"function"==typeof n.then?e(t,function(e,t){n instanceof eg?n._then(e,t):n.then(e,t)}):(t._state=!0,t._value=n,ex(t)),r&&eK()}},ek.bind(null,t))}catch(e){ek(t,e)}}(this,e)}var ew={get:function(){var e=ey,t=eR;function n(n,r){var i=this,o=!e.global&&(e!==ey||t!==eR),a=o&&!eF(),u=new eg(function(t,u){eO(i,new e_(eY(n,e,o,a),eY(r,e,o,a),t,u,e))});return this._consoleTask&&(u._consoleTask=this._consoleTask),u}return n.prototype=er,n},set:function(e){d(this,"then",e&&e.prototype===er?ew:{get:function(){return e},set:ew.set})}};function e_(e,t,n,r,i){this.onFulfilled="function"==typeof e?e:null,this.onRejected="function"==typeof t?t:null,this.resolve=n,this.reject=r,this.psd=i}function ek(e,t){var n;eh.push(t),null===e._state&&(n=e._lib&&eE(),t=ed(t),e._state=!1,e._value=t,ef.some(function(t){return t._value===e._value})||ef.push(e),ex(e),n)&&eK()}function ex(e){var t=e._listeners;e._listeners=[];for(var n=0,r=t.length;n<r;++n)eO(e,t[n]);var i=e._PSD;--i.ref||i.finalize(),0===em&&(++em,es(function(){0==--em&&eA()},[]))}function eO(e,t){if(null===e._state)e._listeners.push(t);else{var n=e._state?t.onFulfilled:t.onRejected;if(null===n)return(e._state?t.resolve:t.reject)(e._value);++t.psd.ref,++em,es(eP,[n,e,t])}}function eP(e,t,n){try{var r,i=t._value;!t._state&&eh.length&&(eh=[]),r=en&&t._consoleTask?t._consoleTask.run(function(){return e(i)}):e(i),t._state||-1!==eh.indexOf(i)||(e=>{for(var t=ef.length;t;)if(ef[--t]._value===e._value)return ef.splice(t,1)})(t),n.resolve(r)}catch(e){n.reject(e)}finally{0==--em&&eA(),--n.psd.ref||n.psd.finalize()}}function eS(){ez(ep,function(){eE()&&eK()})}function eE(){var e=ec;return el=ec=!1,e}function eK(){var e,t,n;do for(;0<ev.length;)for(e=ev,ev=[],n=e.length,t=0;t<n;++t){var r=e[t];r[0].apply(null,r[1])}while(0<ev.length)el=ec=!0}function eA(){for(var e=ef,t=(ef=[],e.forEach(function(e){e._PSD.onunhandled.call(null,e._value,e)}),eb.slice(0)),n=t.length;n;)t[--n]()}function eC(e){return new eg(er,!1,e)}function ej(e,t){var n=ey;return function(){var r=eE(),i=ey;try{return eL(n,!0),e.apply(this,arguments)}catch(e){t&&t(e)}finally{eL(i,!1),r&&eK()}}}f(eg.prototype,{then:ew,_then:function(e,t){eO(this,new e_(null,null,e,t,ey))},catch:function(e){var t;return 1==arguments.length?this.then(null,e):(t=arguments[1],"function"==typeof e?this.then(null,function(n){return(n instanceof e?t:eC)(n)}):this.then(null,function(n){return(n&&n.name===e?t:eC)(n)}))},finally:function(e){return this.then(function(t){return eg.resolve(e()).then(function(){return t})},function(t){return eg.resolve(e()).then(function(){return eC(t)})})},timeout:function(e,t){var n=this;return e<1/0?new eg(function(r,i){var o=setTimeout(function(){return i(new z.Timeout(t))},e);n.then(r,i).finally(clearTimeout.bind(null,o))}):this}}),"u">typeof Symbol&&Symbol.toStringTag&&d(eg.prototype,Symbol.toStringTag,"Dexie.Promise"),ep.env=eV(),f(eg,{all:function(){var e=R.apply(null,arguments).map(eW);return new eg(function(t,n){0===e.length&&t([]);var r=e.length;e.forEach(function(i,o){return eg.resolve(i).then(function(n){e[o]=n,--r||t(e)},n)})})},resolve:function(e){return e instanceof eg?e:e&&"function"==typeof e.then?new eg(function(t,n){e.then(t,n)}):new eg(er,!0,e)},reject:eC,race:function(){var e=R.apply(null,arguments).map(eW);return new eg(function(t,n){e.map(function(e){return eg.resolve(e).then(t,n)})})},PSD:{get:function(){return ey},set:function(e){return ey=e}},totalEchoes:{get:function(){return eR}},newPSD:eM,usePSD:ez,scheduler:{get:function(){return es},set:function(e){es=e}},rejectionMapper:{get:function(){return ed},set:function(e){ed=e}},follow:function(e,t){return new eg(function(n,r){return eM(function(t,n){var r=ey;r.unhandleds=[],r.onunhandled=n,r.finalize=Q(function(){var e,r=this;e=function(){0===r.unhandleds.length?t():n(r.unhandleds[0])},eb.push(function t(){e(),eb.splice(eb.indexOf(t),1)}),++em,es(function(){0==--em&&eA()},[])},r.finalize),e()},t,n,r)})}}),ea&&(ea.allSettled&&d(eg,"allSettled",function(){var e=R.apply(null,arguments).map(eW);return new eg(function(t){0===e.length&&t([]);var n=e.length,r=Array(n);e.forEach(function(e,i){return eg.resolve(e).then(function(e){return r[i]={status:"fulfilled",value:e}},function(e){return r[i]={status:"rejected",reason:e}}).then(function(){return--n||t(r)})})})}),ea.any&&"u">typeof AggregateError&&d(eg,"any",function(){var e=R.apply(null,arguments).map(eW);return new eg(function(t,n){0===e.length&&n(AggregateError([]));var r=e.length,i=Array(r);e.forEach(function(e,o){return eg.resolve(e).then(function(e){return t(e)},function(e){i[o]=e,--r||n(AggregateError(i))})})})}),ea.withResolvers)&&(eg.withResolvers=ea.withResolvers);var eD={awaits:0,echoes:0,id:0},eT=0,eI=[],eq=0,eR=0,eB=0;function eM(e,t,n,r){var i=ey,o=Object.create(i),t=(o.parent=i,o.ref=0,o.global=!1,o.id=++eB,ep.env,o.env=eu?{Promise:eg,PromiseProp:{value:eg,configurable:!0,writable:!0},all:eg.all,race:eg.race,allSettled:eg.allSettled,any:eg.any,resolve:eg.resolve,reject:eg.reject}:{},t&&u(o,t),++i.ref,o.finalize=function(){--this.parent.ref||this.parent.finalize()},ez(o,e,n,r));return 0===o.ref&&o.finalize(),t}function eN(){return eD.id||(eD.id=++eT),++eD.awaits,eD.echoes+=100,eD.id}function eF(){return!!eD.awaits&&(0==--eD.awaits&&(eD.id=0),eD.echoes=100*eD.awaits,!0)}function eW(e){return eD.echoes&&e&&e.constructor===ea?(eN(),e.then(function(e){return eF(),e},function(e){return eF(),eH(e)})):e}function eU(){var e=eI[eI.length-1];eI.pop(),eL(e,!1)}function eL(e,t){var n,r,o=ey;(t?!eD.echoes||eq++&&e===ey:!eq||--eq&&e===ey)||queueMicrotask(t?(function(e){++eR,eD.echoes&&0!=--eD.echoes||(eD.echoes=eD.awaits=eD.id=0),eI.push(ey),eL(e,!0)}).bind(null,e):eU),e!==ey&&(ey=e,o===ep&&(ep.env=eV()),eu)&&(n=ep.env.Promise,r=e.env,o.global||e.global)&&(Object.defineProperty(i,"Promise",r.PromiseProp),n.all=r.all,n.race=r.race,n.resolve=r.resolve,n.reject=r.reject,r.allSettled&&(n.allSettled=r.allSettled),r.any)&&(n.any=r.any)}function eV(){var e=i.Promise;return eu?{Promise:e,PromiseProp:Object.getOwnPropertyDescriptor(i,"Promise"),all:e.all,race:e.race,allSettled:e.allSettled,any:e.any,resolve:e.resolve,reject:e.reject}:{}}function ez(e,t,n,r,i){var o=ey;try{return eL(e,!0),t(n,r,i)}finally{eL(o,!1)}}function eY(e,t,n,r){return"function"!=typeof e?e:function(){var i=ey;n&&eN(),eL(t,!0);try{return e.apply(this,arguments)}finally{eL(i,!1),r&&queueMicrotask(eF)}}}function e$(e){Promise===ea&&0===eD.echoes?0===eq?e():enqueueNativeMicroTask(e):setTimeout(e,0)}-1===(""+eo).indexOf("[native code]")&&(eN=eF=$);var eH=eg.reject,eG=String.fromCharCode(65535),eQ="Invalid key provided. Keys must be of type string, number, Date or Array<string | number | Date>.",eX="String expected.",eJ="__dbnames",eZ="readonly",e0="readwrite";function e1(e,t){return e?t?function(){return e.apply(this,arguments)&&t.apply(this,arguments)}:e:t}var e3={type:3,lower:-1/0,lowerOpen:!1,upper:[[]],upperOpen:!1};function e2(e){return"string"!=typeof e||/\./.test(e)?function(e){return e}:function(t){return void 0===t[e]&&e in t&&delete(t=A(t))[e],t}}function e4(){throw z.Type("Entity instances must never be new:ed. Instances are generated by the framework bypassing the constructor.")}function e5(e,t){try{var n=e8(e),r=e8(t);if(n!==r)return"Array"===n?1:"Array"===r?-1:"binary"===n?1:"binary"===r?-1:"string"===n?1:"string"===r?-1:"Date"===n?1:"Date"!==r?0/0:-1;switch(n){case"number":case"Date":case"string":return t<e?1:e<t?-1:0;case"binary":for(var i=e6(e),o=e6(t),a=i.length,u=o.length,s=a<u?a:u,c=0;c<s;++c)if(i[c]!==o[c])return i[c]<o[c]?-1:1;return a===u?0:a<u?-1:1;case"Array":for(var l=e.length,f=t.length,h=l<f?l:f,d=0;d<h;++d){var p=e5(e[d],t[d]);if(0!==p)return p}return l===f?0:l<f?-1:1}}catch(e){}return 0/0}function e8(e){var t=typeof e;return"object"==t&&(ArrayBuffer.isView(e)||"ArrayBuffer"===(t=j(e)))?"binary":t}function e6(e){return e instanceof Uint8Array?e:ArrayBuffer.isView(e)?new Uint8Array(e.buffer,e.byteOffset,e.byteLength):new Uint8Array(e)}function e7(e,t,n){var r=e.schema.yProps;return r?(t&&0<n.numFailures&&(t=t.filter(function(e,t){return!n.failures[t]})),Promise.all(r.map(function(n){return n=n.updatesTable,t?e.db.table(n).where("k").anyOf(t).delete():e.db.table(n).clear()})).then(function(){return n})):n}function e9(e){this["@@propmod"]=e}function te(e,t){for(var n=o(t),r=n.length,i=!1,a=0;a<r;++a){var u=n[a],s=t[u],c=_(e,u);s instanceof e9?(k(e,u,s.execute(c)),i=!0):c!==s&&(k(e,u,s),i=!0)}return i}function tt(){}function tn(e){function t(t,r){if(r){for(var i=arguments.length,o=Array(i-1);--i;)o[i-1]=arguments[i];return n[t].subscribe.apply(null,o),e}if("string"==typeof t)return n[t]}var n={};t.addEventType=u;for(var r=1,i=arguments.length;r<i;++r)u(arguments[r]);return t;function u(e,r,i){var s;if("object"!=typeof e)return r=r||ee,s={subscribers:[],fire:i=i||$,subscribe:function(e){-1===s.subscribers.indexOf(e)&&(s.subscribers.push(e),s.fire=r(s.fire,e))},unsubscribe:function(e){s.subscribers=s.subscribers.filter(function(t){return t!==e}),s.fire=s.subscribers.reduce(r,i)}},n[e]=t[e]=s;o(e).forEach(function(t){var n=e[t];if(a(n))u(t,e[t][0],e[t][1]);else{if("asap"!==n)throw new z.InvalidArgument("Invalid event config");var r=u(t,H,function(){for(var e=arguments.length,t=Array(e);e--;)t[e]=arguments[e];r.subscribers.forEach(function(e){w(function(){e.apply(null,t)})})})}})}}function tr(e,t){return p(t).from({prototype:e}),t}function ti(e,t){return!(e.filter||e.algorithm||e.or)&&(t?e.justLimit:!e.replayFilter)}function to(e,t){e.filter=e1(e.filter,t)}function ta(e,t,n){var r=e.replayFilter;e.replayFilter=r?function(){return e1(r(),t())}:t,e.justLimit=n&&!r}function tu(e,t){if(e.isPrimKey)return t.primaryKey;var n=t.getIndexByKeyPath(e.index);if(n)return n;throw new z.Schema("KeyPath "+e.index+" on object store "+t.name+" is not indexed")}function ts(e,t,n){var r=tu(e,t.schema);return t.openCursor({trans:n,values:!e.keysOnly,reverse:"prev"===e.dir,unique:!!e.unique,query:{index:r,range:e.range}})}function tc(e,t,n,r){var i,o,a=e.replayFilter?e1(e.filter,e.replayFilter()):e.filter;return e.or?(i={},o=function(e,n,r){var o,u;a&&!a(n,r,function(e){return n.stop(e)},function(e){return n.fail(e)})||("[object ArrayBuffer]"==(u=""+(o=n.primaryKey))&&(u=""+new Uint8Array(o)),l(i,u))||(i[u]=!0,t(e,n,r))},Promise.all([e.or._iterate(o,n),tl(ts(e,r,n),e.algorithm,o,!e.keysOnly&&e.valueMapper)])):tl(ts(e,r,n),e1(e.algorithm,a),t,!e.keysOnly&&e.valueMapper)}function tl(e,t,n,r){var i=ej(r?function(e,t,i){return n(r(e),t,i)}:n);return e.then(function(e){if(e)return e.start(function(){var n=function(){return e.continue()};t&&!t(e,function(e){return n=e},function(t){e.stop(t),n=$},function(t){e.fail(t),n=$})||i(e.value,e,function(e){return n=e}),n()})})}function tf(){}e9.prototype.execute=function(e){var t=this["@@propmod"];if(void 0!==t.add){var n=t.add;if(a(n))return r(r([],a(e)?e:[],!0),n,!0).sort();if("number"==typeof n)return(Number(e)||0)+n;if("bigint"==typeof n)try{return BigInt(e)+n}catch(e){return BigInt(0)+n}throw TypeError("Invalid term ".concat(n))}if(void 0!==t.remove){var i=t.remove;if(a(i))return a(e)?e.filter(function(e){return!i.includes(e)}).sort():[];if("number"==typeof i)return Number(e)-i;if("bigint"==typeof i)try{return BigInt(e)-i}catch(e){return BigInt(0)-i}throw TypeError("Invalid subtrahend ".concat(i))}return(n=null==(n=t.replacePrefix)?void 0:n[0])&&"string"==typeof e&&e.startsWith(n)?t.replacePrefix[1]+e.substring(n.length):e},tt.prototype._trans=function(e,t,n){var r=this._tx||ey.trans,i=this.name,o=en&&"u">typeof console&&console.createTask&&console.createTask("Dexie: ".concat("readonly"===e?"read":"write"," ").concat(this.name));function a(e,n,r){if(r.schema[i])return t(r.idbtrans,r);throw new z.NotFound("Table "+i+" not part of transaction")}var u=eE();try{var s=r&&r.db._novip===this.db._novip?r===ey.trans?r._promise(e,a,n):eM(function(){return r._promise(e,a,n)},{trans:r,transless:ey.transless||ey}):function e(t,n,r,i){if(t.idbdb&&(t._state.openComplete||ey.letThrough||t._vip)){var o=t._createTransaction(n,r,t._dbSchema);try{o.create(),t._state.PR1398_maxLoop=3}catch(o){return o.name===V.InvalidState&&t.isOpen()&&0<--t._state.PR1398_maxLoop?(console.warn("Dexie: Need to reopen db"),t.close({disableAutoOpen:!1}),t.open().then(function(){return e(t,n,r,i)})):eH(o)}return o._promise(n,function(e,t){return eM(function(){return ey.trans=o,i(e,t,o)})}).then(function(e){if("readwrite"===n)try{o.idbtrans.commit()}catch(e){}return"readonly"===n?e:o._completion.then(function(){return e})})}if(t._state.openComplete)return eH(new z.DatabaseClosed(t._state.dbOpenError));if(!t._state.isBeingOpened){if(!t._state.autoOpen)return eH(new z.DatabaseClosed);t.open().catch($)}return t._state.dbReadyPromise.then(function(){return e(t,n,r,i)})}(this.db,e,[this.name],a);return o&&(s._consoleTask=o,s=s.catch(function(e){return console.trace(e),eH(e)})),s}finally{u&&eK()}},tt.prototype.get=function(e,t){var n=this;return e&&e.constructor===Object?this.where(e).first(t):null==e?eH(new z.Type("Invalid argument to Table.get()")):this._trans("readonly",function(t){return n.core.get({trans:t,key:e}).then(function(e){return n.hook.reading.fire(e)})}).then(t)},tt.prototype.where=function(e){if("string"==typeof e)return new this.db.WhereClause(this,e);if(a(e))return new this.db.WhereClause(this,"[".concat(e.join("+"),"]"));var t=o(e);if(1===t.length)return this.where(t[0]).equals(e[t[0]]);var n=this.schema.indexes.concat(this.schema.primKey).filter(function(e){if(e.compound&&t.every(function(t){return 0<=e.keyPath.indexOf(t)})){for(var n=0;n<t.length;++n)if(-1===t.indexOf(e.keyPath[n]))return!1;return!0}return!1}).sort(function(e,t){return e.keyPath.length-t.keyPath.length})[0];if(n&&this.db._maxKey!==eG)return i=n.keyPath.slice(0,t.length),this.where(i).equals(i.map(function(t){return e[t]}));!n&&en&&console.warn("The query ".concat(JSON.stringify(e)," on ").concat(this.name," would benefit from a ")+"compound index [".concat(t.join("+"),"]"));var r=this.schema.idxByName,i=t.reduce(function(t,n){var i=t[0],t=t[1],o=r[n],u=e[n];return[i||o,i||!o?e1(t,o&&o.multi?function(e){return a(e=_(e,n))&&e.some(function(e){return 0===e5(u,e)})}:function(e){return 0===e5(u,_(e,n))}):t]},[null,null]),u=i[0],i=i[1];return u?this.where(u.name).equals(e[u.keyPath]).filter(i):n?this.filter(i):this.where(t).equals("")},tt.prototype.filter=function(e){return this.toCollection().and(e)},tt.prototype.count=function(e){return this.toCollection().count(e)},tt.prototype.offset=function(e){return this.toCollection().offset(e)},tt.prototype.limit=function(e){return this.toCollection().limit(e)},tt.prototype.each=function(e){return this.toCollection().each(e)},tt.prototype.toArray=function(e){return this.toCollection().toArray(e)},tt.prototype.toCollection=function(){return new this.db.Collection(new this.db.WhereClause(this))},tt.prototype.orderBy=function(e){return new this.db.Collection(new this.db.WhereClause(this,a(e)?"[".concat(e.join("+"),"]"):e))},tt.prototype.reverse=function(){return this.toCollection().reverse()},tt.prototype.mapToClass=function(t){for(var n=this.db,r=this.name,i=((this.schema.mappedClass=t).prototype instanceof e4&&(t=(t=>{if("function"!=typeof t&&null!==t)throw TypeError("Class extends value "+String(t)+" is not a constructor or null");function i(){this.constructor=o}function o(){return null!==t&&t.apply(this,arguments)||this}return e(o,t),o.prototype=null===t?Object.create(t):(i.prototype=t.prototype,new i),Object.defineProperty(o.prototype,"db",{get:function(){return n},enumerable:!1,configurable:!0}),o.prototype.table=function(){return r},o})(t)),new Set),o=t.prototype;o;o=s(o))Object.getOwnPropertyNames(o).forEach(function(e){return i.add(e)});function a(e){if(!e)return e;var n,r=Object.create(t.prototype);for(n in e)if(!i.has(n))try{r[n]=e[n]}catch(e){}return r}return this.schema.readHook&&this.hook.reading.unsubscribe(this.schema.readHook),this.schema.readHook=a,this.hook("reading",a),t},tt.prototype.defineClass=function(){return this.mapToClass(function(e){u(this,e)})},tt.prototype.add=function(e,t){var n=this,r=this.schema.primKey,i=r.auto,o=r.keyPath,a=e;return o&&i&&(a=e2(o)(e)),this._trans("readwrite",function(e){return n.core.mutate({trans:e,type:"add",keys:null!=t?[t]:null,values:[a]})}).then(function(e){return e.numFailures?eg.reject(e.failures[0]):e.lastResult}).then(function(t){if(o)try{k(e,o,t)}catch(e){}return t})},tt.prototype.upsert=function(e,t){var n=this,r=this.schema.primKey.keyPath;return this._trans("readwrite",function(i){return n.core.get({trans:i,key:e}).then(function(o){var a=null!=o?o:{};return te(a,t),r&&k(a,r,e),n.core.mutate({trans:i,type:"put",values:[a],keys:[e],upsert:!0,updates:{keys:[e],changeSpecs:[t]}}).then(function(e){return e.numFailures?eg.reject(e.failures[0]):!!o})})})},tt.prototype.update=function(e,t){return"object"!=typeof e||a(e)?this.where(":id").equals(e).modify(t):void 0===(e=_(e,this.schema.primKey.keyPath))?eH(new z.InvalidArgument("Given object does not contain its primary key")):this.where(":id").equals(e).modify(t)},tt.prototype.put=function(e,t){var n=this,r=this.schema.primKey,i=r.auto,o=r.keyPath,a=e;return o&&i&&(a=e2(o)(e)),this._trans("readwrite",function(e){return n.core.mutate({trans:e,type:"put",values:[a],keys:null!=t?[t]:null})}).then(function(e){return e.numFailures?eg.reject(e.failures[0]):e.lastResult}).then(function(t){if(o)try{k(e,o,t)}catch(e){}return t})},tt.prototype.delete=function(e){var t=this;return this._trans("readwrite",function(n){return t.core.mutate({trans:n,type:"delete",keys:[e]}).then(function(n){return e7(t,[e],n)}).then(function(e){return e.numFailures?eg.reject(e.failures[0]):void 0})})},tt.prototype.clear=function(){var e=this;return this._trans("readwrite",function(t){return e.core.mutate({trans:t,type:"deleteRange",range:e3}).then(function(t){return e7(e,null,t)})}).then(function(e){return e.numFailures?eg.reject(e.failures[0]):void 0})},tt.prototype.bulkGet=function(e){var t=this;return this._trans("readonly",function(n){return t.core.getMany({keys:e,trans:n}).then(function(e){return e.map(function(e){return t.hook.reading.fire(e)})})})},tt.prototype.bulkAdd=function(e,t,n){var r=this,i=Array.isArray(t)?t:void 0,o=(n=n||(i?void 0:t))?n.allKeys:void 0;return this._trans("readwrite",function(t){var n=r.schema.primKey,a=n.auto,n=n.keyPath;if(n&&i)throw new z.InvalidArgument("bulkAdd(): keys argument invalid on tables with inbound keys");if(i&&i.length!==e.length)throw new z.InvalidArgument("Arguments objects and keys must have the same length");var u=e.length,a=n&&a?e.map(e2(n)):e;return r.core.mutate({trans:t,type:"add",keys:i,values:a,wantResults:o}).then(function(e){var t=e.numFailures,n=e.failures;if(0===t)return o?e.results:e.lastResult;throw new L("".concat(r.name,".bulkAdd(): ").concat(t," of ").concat(u," operations failed"),n)})})},tt.prototype.bulkPut=function(e,t,n){var r=this,i=Array.isArray(t)?t:void 0,o=(n=n||(i?void 0:t))?n.allKeys:void 0;return this._trans("readwrite",function(t){var n=r.schema.primKey,a=n.auto,n=n.keyPath;if(n&&i)throw new z.InvalidArgument("bulkPut(): keys argument invalid on tables with inbound keys");if(i&&i.length!==e.length)throw new z.InvalidArgument("Arguments objects and keys must have the same length");var u=e.length,a=n&&a?e.map(e2(n)):e;return r.core.mutate({trans:t,type:"put",keys:i,values:a,wantResults:o}).then(function(e){var t=e.numFailures,n=e.failures;if(0===t)return o?e.results:e.lastResult;throw new L("".concat(r.name,".bulkPut(): ").concat(t," of ").concat(u," operations failed"),n)})})},tt.prototype.bulkUpdate=function(e){var t=this,n=this.core,r=e.map(function(e){return e.key}),i=e.map(function(e){return e.changes}),o=[];return this._trans("readwrite",function(a){return n.getMany({trans:a,keys:r,cache:"clone"}).then(function(u){var s=[],c=[],l=(e.forEach(function(e,n){var r=e.key,i=e.changes,a=u[n];if(a){for(var l=0,f=Object.keys(i);l<f.length;l++){var h=f[l],d=i[h];if(h===t.schema.primKey.keyPath){if(0!==e5(d,r))throw new z.Constraint("Cannot update primary key in bulkUpdate()")}else k(a,h,d)}o.push(n),s.push(r),c.push(a)}}),s.length);return n.mutate({trans:a,type:"put",keys:s,values:c,updates:{keys:r,changeSpecs:i}}).then(function(e){var n=e.numFailures,r=e.failures;if(0===n)return l;for(var i=0,a=Object.keys(r);i<a.length;i++){var u,s=a[i],c=o[Number(s)];null!=c&&(u=r[s],delete r[s],r[c]=u)}throw new L("".concat(t.name,".bulkUpdate(): ").concat(n," of ").concat(l," operations failed"),r)})})})},tt.prototype.bulkDelete=function(e){var t=this,n=e.length;return this._trans("readwrite",function(n){return t.core.mutate({trans:n,type:"delete",keys:e}).then(function(n){return e7(t,e,n)})}).then(function(e){var r=e.numFailures,i=e.failures;if(0===r)return e.lastResult;throw new L("".concat(t.name,".bulkDelete(): ").concat(r," of ").concat(n," operations failed"),i)})},tf.prototype._read=function(e,t){var n=this._ctx;return n.error?n.table._trans(null,eH.bind(null,n.error)):n.table._trans("readonly",e).then(t)},tf.prototype._write=function(e){var t=this._ctx;return t.error?t.table._trans(null,eH.bind(null,t.error)):t.table._trans("readwrite",e,"locked")},tf.prototype._addAlgorithm=function(e){var t=this._ctx;t.algorithm=e1(t.algorithm,e)},tf.prototype._iterate=function(e,t){return tc(this._ctx,e,t,this._ctx.table.core)},tf.prototype.clone=function(e){var t=Object.create(this.constructor.prototype),n=Object.create(this._ctx);return e&&u(n,e),t._ctx=n,t},tf.prototype.raw=function(){return this._ctx.valueMapper=null,this},tf.prototype.each=function(e){var t=this._ctx;return this._read(function(n){return tc(t,e,n,t.table.core)})},tf.prototype.count=function(e){var t=this;return this._read(function(e){var n,r=t._ctx,i=r.table.core;return ti(r,!0)?i.count({trans:e,query:{index:tu(r,i.schema),range:r.range}}).then(function(e){return Math.min(e,r.limit)}):(n=0,tc(r,function(){return++n,!1},e,i).then(function(){return n}))}).then(e)},tf.prototype.sortBy=function(e,t){var n=e.split(".").reverse(),r=n[0],i=n.length-1;function o(e,t){return t?o(e[n[t]],t-1):e[r]}var a="next"===this._ctx.dir?1:-1;function u(e,t){return e5(o(e,i),o(t,i))*a}return this.toArray(function(e){return e.slice().sort(u)}).then(t)},tf.prototype.toArray=function(e){var t=this;return this._read(function(e){var n,r,i,o=t._ctx;return ti(o,!0)&&0<o.limit?(n=o.valueMapper,r=tu(o,o.table.core.schema),o.table.core.query({trans:e,limit:o.limit,values:!0,direction:"prev"===o.dir?"prev":void 0,query:{index:r,range:o.range}}).then(function(e){return e=e.result,n?e.map(n):e})):(i=[],tc(o,function(e){return i.push(e)},e,o.table.core).then(function(){return i}))},e)},tf.prototype.offset=function(e){var t=this._ctx;return e<=0||(t.offset+=e,ti(t)?ta(t,function(){var t=e;return function(e,n){return 0===t||(1===t?--t:n(function(){e.advance(t),t=0}),!1)}}):ta(t,function(){var t=e;return function(){return--t<0}})),this},tf.prototype.limit=function(e){return this._ctx.limit=Math.min(this._ctx.limit,e),ta(this._ctx,function(){var t=e;return function(e,n,r){return--t<=0&&n(r),0<=t}},!0),this},tf.prototype.until=function(e,t){return to(this._ctx,function(n,r,i){return!e(n.value)||(r(i),t)}),this},tf.prototype.first=function(e){return this.limit(1).toArray(function(e){return e[0]}).then(e)},tf.prototype.last=function(e){return this.reverse().first(e)},tf.prototype.filter=function(e){var t;return to(this._ctx,function(t){return e(t.value)}),(t=this._ctx).isMatch=e1(t.isMatch,e),this},tf.prototype.and=function(e){return this.filter(e)},tf.prototype.or=function(e){return new this.db.WhereClause(this._ctx.table,e,this)},tf.prototype.reverse=function(){return this._ctx.dir="prev"===this._ctx.dir?"next":"prev",this._ondirectionchange&&this._ondirectionchange(this._ctx.dir),this},tf.prototype.desc=function(){return this.reverse()},tf.prototype.eachKey=function(e){var t=this._ctx;return t.keysOnly=!t.isMatch,this.each(function(t,n){e(n.key,n)})},tf.prototype.eachUniqueKey=function(e){return this._ctx.unique="unique",this.eachKey(e)},tf.prototype.eachPrimaryKey=function(e){var t=this._ctx;return t.keysOnly=!t.isMatch,this.each(function(t,n){e(n.primaryKey,n)})},tf.prototype.keys=function(e){var t=this._ctx,n=(t.keysOnly=!t.isMatch,[]);return this.each(function(e,t){n.push(t.key)}).then(function(){return n}).then(e)},tf.prototype.primaryKeys=function(e){var t=this._ctx;if(ti(t,!0)&&0<t.limit)return this._read(function(e){var n=tu(t,t.table.core.schema);return t.table.core.query({trans:e,values:!1,limit:t.limit,direction:"prev"===t.dir?"prev":void 0,query:{index:n,range:t.range}})}).then(function(e){return e.result}).then(e);t.keysOnly=!t.isMatch;var n=[];return this.each(function(e,t){n.push(t.primaryKey)}).then(function(){return n}).then(e)},tf.prototype.uniqueKeys=function(e){return this._ctx.unique="unique",this.keys(e)},tf.prototype.firstKey=function(e){return this.limit(1).keys(function(e){return e[0]}).then(e)},tf.prototype.lastKey=function(e){return this.reverse().firstKey(e)},tf.prototype.distinct=function(){var e,t=this._ctx,t=t.index&&t.table.schema.idxByName[t.index];return t&&t.multi&&(e={},to(this._ctx,function(t){var t=t.primaryKey.toString(),n=l(e,t);return e[t]=!0,!n})),this},tf.prototype.modify=function(e){var t=this,n=this._ctx;return this._write(function(r){function i(e,t){var n=t.failures;d+=e-t.numFailures;for(var r=0,i=o(n);r<i.length;r++){var a=i[r];h.push(n[a])}}var a="function"==typeof e?e:function(t){return te(t,e)},u=n.table.core,s=u.schema.primaryKey,c=s.outbound,l=s.extractKey,f=200,s=t.db._options.modifyChunkSize,h=(s&&(f="object"==typeof s?s[u.name]||s["*"]||200:s),[]),d=0,p=[],y=e===th;return t.clone().primaryKeys().then(function(t){var o=ti(n)&&1/0===n.limit&&("function"!=typeof e||y)&&{index:n.index,range:n.range};return(function s(h){var d=Math.min(f,t.length-h),p=t.slice(h,h+d);return(y?Promise.resolve([]):u.getMany({trans:r,keys:p,cache:"immutable"})).then(function(v){var m=[],b=[],g=c?[]:null,w=y?p:[];if(!y)for(var _=0;_<d;++_){var k=v[_],x={value:A(k),primKey:t[h+_]};!1!==a.call(x,x.value,x)&&(null==x.value?w.push(t[h+_]):c||0===e5(l(k),l(x.value))?(b.push(x.value),c&&g.push(t[h+_])):(w.push(t[h+_]),m.push(x.value)))}return Promise.resolve(0<m.length&&u.mutate({trans:r,type:"add",values:m}).then(function(e){for(var t in e.failures)w.splice(parseInt(t),1);i(m.length,e)})).then(function(){return(0<b.length||o&&"object"==typeof e)&&u.mutate({trans:r,type:"put",keys:g,values:b,criteria:o,changeSpec:"function"!=typeof e&&e,isAdditionalChunk:0<h}).then(function(e){return i(b.length,e)})}).then(function(){return(0<w.length||o&&y)&&u.mutate({trans:r,type:"delete",keys:w,criteria:o,isAdditionalChunk:0<h}).then(function(e){return e7(n.table,w,e)}).then(function(e){return i(w.length,e)})}).then(function(){return t.length>h+d&&s(h+f)})})})(0).then(function(){if(0<h.length)throw new U("Error modifying one or more objects",h,d,p);return t.length})})})},tf.prototype.delete=function(){var e=this._ctx,t=e.range;return ti(e)&&!e.table.schema.yProps&&(e.isPrimKey||3===t.type)?this._write(function(n){var r=e.table.core.schema.primaryKey;return e.table.core.count({trans:n,query:{index:r,range:t}}).then(function(r){return e.table.core.mutate({trans:n,type:"deleteRange",range:t}).then(function(e){var t=e.failures,e=e.numFailures;if(e)throw new U("Could not delete some values",Object.keys(t).map(function(e){return t[e]}),r-e);return r-e})})}):this.modify(th)};var th=function(e,t){return t.value=null};function td(e,t){return e<t?-1:+(e!==t)}function tp(e,t){return t<e?-1:+(e!==t)}function ty(e,t,n){return(e=e instanceof tw?new e.Collection(e):e)._ctx.error=new(n||TypeError)(t),e}function tv(e){return new e.Collection(e,function(){return tg("")}).limit(0)}function tm(e,t,n,r){var i,o,a,u,s,c,l,f=n.length;if(!n.every(function(e){return"string"==typeof e}))return ty(e,eX);function h(e){i="next"===e?function(e){return e.toUpperCase()}:function(e){return e.toLowerCase()},o="next"===e?function(e){return e.toLowerCase()}:function(e){return e.toUpperCase()},a="next"===e?td:tp;var t=n.map(function(e){return{lower:o(e),upper:i(e)}}).sort(function(e,t){return a(e.lower,t.lower)});u=t.map(function(e){return e.upper}),s=t.map(function(e){return e.lower}),l="next"===(c=e)?"":r}h("next");var e=new e.Collection(e,function(){return tb(u[0],s[f-1]+r)}),d=(e._ondirectionchange=function(e){h(e)},0);return e._addAlgorithm(function(e,n,r){var i=e.key;if("string"==typeof i){var h=o(i);if(t(h,s,d))return!0;for(var p=null,y=d;y<f;++y){var v=((e,t,n,r,i,o)=>{for(var a=Math.min(e.length,r.length),u=-1,s=0;s<a;++s){var c=t[s];if(c!==r[s])return 0>i(e[s],n[s])?e.substr(0,s)+n[s]+n.substr(s+1):0>i(e[s],r[s])?e.substr(0,s)+r[s]+n.substr(s+1):0<=u?e.substr(0,u)+t[u]+n.substr(u+1):null;0>i(e[s],c)&&(u=s)}return a<r.length&&"next"===o?e+n.substr(e.length):a<e.length&&"prev"===o?e.substr(0,n.length):u<0?null:e.substr(0,u)+r[u]+n.substr(u+1)})(i,h,u[y],s[y],a,c);null===v&&null===p?d=y+1:(null===p||0<a(p,v))&&(p=v)}n(null!==p?function(){e.continue(p+l)}:r)}return!1}),e}function tb(e,t,n,r){return{type:2,lower:e,upper:t,lowerOpen:n,upperOpen:r}}function tg(e){return{type:1,lower:e,upper:e}}Object.defineProperty(t_.prototype,"Collection",{get:function(){return this._ctx.table.db.Collection},enumerable:!1,configurable:!0}),t_.prototype.between=function(e,t,n,r){n=!1!==n,r=!0===r;try{return 0<this._cmp(e,t)||0===this._cmp(e,t)&&(n||r)&&(!n||!r)?tv(this):new this.Collection(this,function(){return tb(e,t,!n,!r)})}catch(e){return ty(this,eQ)}},t_.prototype.equals=function(e){return null==e?ty(this,eQ):new this.Collection(this,function(){return tg(e)})},t_.prototype.above=function(e){return null==e?ty(this,eQ):new this.Collection(this,function(){return tb(e,void 0,!0)})},t_.prototype.aboveOrEqual=function(e){return null==e?ty(this,eQ):new this.Collection(this,function(){return tb(e,void 0,!1)})},t_.prototype.below=function(e){return null==e?ty(this,eQ):new this.Collection(this,function(){return tb(void 0,e,!1,!0)})},t_.prototype.belowOrEqual=function(e){return null==e?ty(this,eQ):new this.Collection(this,function(){return tb(void 0,e)})},t_.prototype.startsWith=function(e){return"string"!=typeof e?ty(this,eX):this.between(e,e+eG,!0,!0)},t_.prototype.startsWithIgnoreCase=function(e){return""===e?this.startsWith(e):tm(this,function(e,t){return 0===e.indexOf(t[0])},[e],eG)},t_.prototype.equalsIgnoreCase=function(e){return tm(this,function(e,t){return e===t[0]},[e],"")},t_.prototype.anyOfIgnoreCase=function(){var e=R.apply(q,arguments);return 0===e.length?tv(this):tm(this,function(e,t){return -1!==t.indexOf(e)},e,"")},t_.prototype.startsWithAnyOfIgnoreCase=function(){var e=R.apply(q,arguments);return 0===e.length?tv(this):tm(this,function(e,t){return t.some(function(t){return 0===e.indexOf(t)})},e,eG)},t_.prototype.anyOf=function(){var e,t,n=this,r=R.apply(q,arguments),i=this._cmp;try{r.sort(i)}catch(e){return ty(this,eQ)}return 0===r.length?tv(this):((e=new this.Collection(this,function(){return tb(r[0],r[r.length-1])}))._ondirectionchange=function(e){i="next"===e?n._ascending:n._descending,r.sort(i)},t=0,e._addAlgorithm(function(e,n,o){for(var a=e.key;0<i(a,r[t]);)if(++t===r.length)return n(o),!1;return 0===i(a,r[t])||(n(function(){e.continue(r[t])}),!1)}),e)},t_.prototype.notEqual=function(e){return this.inAnyRange([[-1/0,e],[e,this.db._maxKey]],{includeLowers:!1,includeUppers:!1})},t_.prototype.noneOf=function(){var e=R.apply(q,arguments);if(0===e.length)return new this.Collection(this);try{e.sort(this._ascending)}catch(e){return ty(this,eQ)}var t=e.reduce(function(e,t){return e?e.concat([[e[e.length-1][1],t]]):[[-1/0,t]]},null);return t.push([e[e.length-1],this.db._maxKey]),this.inAnyRange(t,{includeLowers:!1,includeUppers:!1})},t_.prototype.inAnyRange=function(e,t){var n=this,r=this._cmp,i=this._ascending,o=this._descending,a=this._min,u=this._max;if(0===e.length)return tv(this);if(!e.every(function(e){return void 0!==e[0]&&void 0!==e[1]&&0>=i(e[0],e[1])}))return ty(this,"First argument to inAnyRange() must be an Array of two-value Arrays [lower,upper] where upper must not be lower than lower",z.InvalidArgument);var s,c=!t||!1!==t.includeLowers,l=t&&!0===t.includeUppers,f=i;function h(e,t){return f(e[0],t[0])}try{(s=e.reduce(function(e,t){for(var n=0,i=e.length;n<i;++n){var o=e[n];if(0>r(t[0],o[1])&&0<r(t[1],o[0])){o[0]=a(o[0],t[0]),o[1]=u(o[1],t[1]);break}}return n===i&&e.push(t),e},[])).sort(h)}catch(e){return ty(this,eQ)}var d=0,p=l?function(e){return 0<i(e,s[d][1])}:function(e){return 0<=i(e,s[d][1])},y=c?function(e){return 0<o(e,s[d][0])}:function(e){return 0<=o(e,s[d][0])},v=p,t=new this.Collection(this,function(){return tb(s[0][0],s[s.length-1][1],!c,!l)});return t._ondirectionchange=function(e){f="next"===e?(v=p,i):(v=y,o),s.sort(h)},t._addAlgorithm(function(e,t,r){for(var o=e.key;v(o);)if(++d===s.length)return t(r),!1;return!p(o)&&!y(o)||(0===n._cmp(o,s[d][1])||0===n._cmp(o,s[d][0])||t(function(){f===i?e.continue(s[d][0]):e.continue(s[d][1])}),!1)}),t},t_.prototype.startsWithAnyOf=function(){var e=R.apply(q,arguments);return e.every(function(e){return"string"==typeof e})?0===e.length?tv(this):this.inAnyRange(e.map(function(e){return[e,e+eG]})):ty(this,"startsWithAnyOf() only works with strings")};var tw=t_;function t_(){}function tk(e){return ej(function(t){return tx(t),e(t.target.error),!1})}function tx(e){e.stopPropagation&&e.stopPropagation(),e.preventDefault&&e.preventDefault()}var tO="storagemutated",tP="x-storagemutated-1",tS=tn(null,tO),tE=(tK.prototype._lock=function(){return g(!ey.global),++this._reculock,1!==this._reculock||ey.global||(ey.lockOwnerFor=this),this},tK.prototype._unlock=function(){if(g(!ey.global),0==--this._reculock)for(ey.global||(ey.lockOwnerFor=null);0<this._blockedFuncs.length&&!this._locked();){var e=this._blockedFuncs.shift();try{ez(e[1],e[0])}catch(e){}}return this},tK.prototype._locked=function(){return this._reculock&&ey.lockOwnerFor!==this},tK.prototype.create=function(e){var t=this;if(this.mode){var n=this.db.idbdb,r=this.db._state.dbOpenError;if(g(!this.idbtrans),!e&&!n)switch(r&&r.name){case"DatabaseClosedError":throw new z.DatabaseClosed(r);case"MissingAPIError":throw new z.MissingAPI(r.message,r);default:throw new z.OpenFailed(r)}if(!this.active)throw new z.TransactionInactive;g(null===this._completion._state),(e=this.idbtrans=e||(this.db.core||n).transaction(this.storeNames,this.mode,{durability:this.chromeTransactionDurability})).onerror=ej(function(n){tx(n),t._reject(e.error)}),e.onabort=ej(function(n){tx(n),t.active&&t._reject(new z.Abort(e.error)),t.active=!1,t.on("abort").fire(n)}),e.oncomplete=ej(function(){t.active=!1,t._resolve(),"mutatedParts"in e&&tS.storagemutated.fire(e.mutatedParts)})}return this},tK.prototype._promise=function(e,t,n){var r,i=this;return"readwrite"===e&&"readwrite"!==this.mode?eH(new z.ReadOnly("Transaction is readonly")):this.active?this._locked()?new eg(function(r,o){i._blockedFuncs.push([function(){i._promise(e,t,n).then(r,o)},ey])}):n?eM(function(){var e=new eg(function(e,n){i._lock();var r=t(e,n,i);r&&r.then&&r.then(e,n)});return e.finally(function(){return i._unlock()}),e._lib=!0,e}):((r=new eg(function(e,n){var r=t(e,n,i);r&&r.then&&r.then(e,n)}))._lib=!0,r):eH(new z.TransactionInactive)},tK.prototype._root=function(){return this.parent?this.parent._root():this},tK.prototype.waitFor=function(e){var t,n=this._root(),r=eg.resolve(e),i=(n._waitingFor?n._waitingFor=n._waitingFor.then(function(){return r}):(n._waitingFor=r,n._waitingQueue=[],t=n.idbtrans.objectStore(n.storeNames[0]),function e(){for(++n._spinCount;n._waitingQueue.length;)n._waitingQueue.shift()();n._waitingFor&&(t.get(-1/0).onsuccess=e)}()),n._waitingFor);return new eg(function(e,t){r.then(function(t){return n._waitingQueue.push(ej(e.bind(null,t)))},function(e){return n._waitingQueue.push(ej(t.bind(null,e)))}).finally(function(){n._waitingFor===i&&(n._waitingFor=null)})})},tK.prototype.abort=function(){this.active&&(this.active=!1,this.idbtrans&&this.idbtrans.abort(),this._reject(new z.Abort))},tK.prototype.table=function(e){var t=this._memoizedTables||(this._memoizedTables={});if(l(t,e))return t[e];var n=this.schema[e];if(n)return(n=new this.db.Table(e,n,this)).core=this.db.core.table(e),t[e]=n;throw new z.NotFound("Table "+e+" not part of transaction")},tK);function tK(){}function tA(e,t,n,r,i,o,a,u){return{name:e,keyPath:t,unique:n,multi:r,auto:i,compound:o,src:(n&&!a?"&":"")+(r?"*":"")+(i?"++":"")+tC(t),type:u}}function tC(e){return"string"==typeof e?e:e?"["+[].join.call(e,"+")+"]":""}function tj(e,t,n){var r;return{name:e,primKey:t,indexes:n,mappedClass:null,idxByName:(r=function(e){return[e.name,e]},n.reduce(function(e,t,n){return(t=r(t))&&(e[t[0]]=t[1]),e},{}))}}var tD=function(e){try{return e.only([[]]),tD=function(){return[[]]},[[]]}catch(e){return tD=function(){return eG},eG}};function tT(e){return null==e?function(){}:"string"==typeof e?1===e.split(".").length?function(t){return t[e]}:function(t){return _(t,e)}:function(t){return _(t,e)}}function tI(e){return[].slice.call(e)}var tq=0;function tR(e){return null==e?":id":"string"==typeof e?e:"[".concat(e.join("+"),"]")}function tB(e,n){var r,i,o,u=n.db,u=(r=e._middlewares,i=u,o=e._deps,i=function(e,t,n){function r(e){if(3===e.type)return null;if(4===e.type)throw Error("Cannot convert never type to IDBKeyRange");var n=e.lower,r=e.upper,i=e.lowerOpen,e=e.upperOpen;return void 0===n?void 0===r?null:t.upperBound(r,!!e):void 0===r?t.lowerBound(n,!!i):t.bound(n,r,!!i,!!e)}i=n,c=0<(o=tI((n=e).objectStoreNames)).length?i.objectStore(o[0]):{};var i,n={schema:{name:n.name,tables:o.map(function(e){return i.objectStore(e)}).map(function(e){var t=e.keyPath,n=e.autoIncrement,r=a(t),i={},r={name:e.name,primaryKey:{name:null,isPrimaryKey:!0,outbound:null==t,compound:r,keyPath:t,autoIncrement:n,unique:!0,extractKey:tT(t)},indexes:tI(e.indexNames).map(function(t){return e.index(t)}).map(function(e){var t=e.name,n=e.unique,r=e.multiEntry,e=e.keyPath,t={name:t,compound:a(e),keyPath:e,unique:n,multiEntry:r,extractKey:tT(e)};return i[tR(e)]=t}),getIndexByKeyPath:function(e){return i[tR(e)]}};return i[":id"]=r.primaryKey,null!=t&&(i[tR(t)]=r.primaryKey),r})},hasGetAll:0<o.length&&"getAll"in c&&!("u">typeof navigator&&/Safari/.test(navigator.userAgent)&&!/(Chrome\/|Edge\/)/.test(navigator.userAgent)&&[].concat(navigator.userAgent.match(/Safari\/(\d*)/))[1]<604),hasIdb3Features:"getAllRecords"in c},o=n.schema,u=n.hasGetAll,s=n.hasIdb3Features,c=o.tables.map(function(e){var t=e.name;return{name:t,schema:e,mutate:function(e){var n=e.trans,i=e.type,o=e.keys,a=e.values,u=e.range;return new Promise(function(e,s){e=ej(e);var c=n.objectStore(t),l=null==c.keyPath,f="put"===i||"add"===i;if(!f&&"delete"!==i&&"deleteRange"!==i)throw Error("Invalid operation type: "+i);var h,d=(o||a||{length:1}).length;if(o&&a&&o.length!==a.length)throw Error("Given keys array must have same length as given values array.");if(0===d)return e({numFailures:0,failures:{},results:[],lastResult:void 0});function p(e){++m,tx(e)}var y=[],v=[],m=0;if("deleteRange"===i){if(4===u.type)return e({numFailures:m,failures:v,results:[],lastResult:void 0});3===u.type?y.push(h=c.clear()):y.push(h=c.delete(r(u)))}else{var l=f?l?[a,o]:[a,null]:[o,null],b=l[0],g=l[1];if(f)for(var w=0;w<d;++w)y.push(h=g&&void 0!==g[w]?c[i](b[w],g[w]):c[i](b[w])),h.onerror=p;else for(w=0;w<d;++w)y.push(h=c[i](b[w])),h.onerror=p}function _(t){t=t.target.result,y.forEach(function(e,t){return null!=e.error&&(v[t]=e.error)}),e({numFailures:m,failures:v,results:"delete"===i?o:y.map(function(e){return e.result}),lastResult:t})}h.onerror=function(e){p(e),_(e)},h.onsuccess=_})},getMany:function(e){var n=e.trans,r=e.keys;return new Promise(function(e,i){e=ej(e);for(var o,a=n.objectStore(t),u=r.length,s=Array(u),c=0,l=0,f=function(t){s[(t=t.target)._pos]=t.result,++l===c&&e(s)},h=tk(i),d=0;d<u;++d)null!=r[d]&&((o=a.get(r[d]))._pos=d,o.onsuccess=f,o.onerror=h,++c);0===c&&e(s)})},get:function(e){var n=e.trans,r=e.key;return new Promise(function(e,i){e=ej(e);var o=n.objectStore(t).get(r);o.onsuccess=function(t){return e(t.target.result)},o.onerror=tk(i)})},query:function(e){return new Promise(function(n,i){n=ej(n);var o,a,c,l,f=e.trans,h=e.values,d=e.limit,p=e.query,y=null!=(y=e.direction)?y:"next",v=1/0===d?void 0:d,m=p.index,p=p.range,f=f.objectStore(t),f=m.isPrimaryKey?f:f.index(m.name),m=r(p);if(0===d)return n({result:[]});s?(p={query:m,count:v,direction:y},(o=h?f.getAll(p):f.getAllKeys(p)).onsuccess=function(e){return n({result:e.target.result})},o.onerror=tk(i)):u&&"next"===y?((o=h?f.getAll(m,v):f.getAllKeys(m,v)).onsuccess=function(e){return n({result:e.target.result})},o.onerror=tk(i)):(a=0,c=!h&&"openKeyCursor"in f?f.openKeyCursor(m,y):f.openCursor(m,y),l=[],c.onsuccess=function(){var e=c.result;return e&&(l.push(h?e.value:e.primaryKey),++a!==d)?void e.continue():n({result:l})},c.onerror=tk(i))})},openCursor:function(e){var n=e.trans,i=e.values,o=e.query,a=e.reverse,u=e.unique;return new Promise(function(e,s){e=ej(e);var c=o.index,l=o.range,f=n.objectStore(t),f=c.isPrimaryKey?f:f.index(c.name),c=a?u?"prevunique":"prev":u?"nextunique":"next",h=!i&&"openKeyCursor"in f?f.openKeyCursor(r(l),c):f.openCursor(r(l),c);h.onerror=tk(s),h.onsuccess=ej(function(t){var r,i,o,a,u=h.result;u?(u.___id=++tq,u.done=!1,r=u.continue.bind(u),i=(i=u.continuePrimaryKey)&&i.bind(u),o=u.advance.bind(u),a=function(){throw Error("Cursor not stopped")},u.trans=n,u.stop=u.continue=u.continuePrimaryKey=u.advance=function(){throw Error("Cursor not started")},u.fail=ej(s),u.next=function(){var e=this,t=1;return this.start(function(){return t--?e.continue():e.stop()}).then(function(){return e})},u.start=function(e){function t(){if(h.result)try{e()}catch(e){u.fail(e)}else u.done=!0,u.start=function(){throw Error("Cursor behind last entry")},u.stop()}var n=new Promise(function(e,t){e=ej(e),h.onerror=tk(t),u.fail=t,u.stop=function(t){u.stop=u.continue=u.continuePrimaryKey=u.advance=a,e(t)}});return h.onsuccess=ej(function(e){h.onsuccess=t,t()}),u.continue=r,u.continuePrimaryKey=i,u.advance=o,t(),n},e(u)):e(null)},s)})},count:function(e){var n=e.query,i=e.trans,o=n.index,a=n.range;return new Promise(function(e,n){var u=i.objectStore(t),u=o.isPrimaryKey?u:u.index(o.name),s=r(a),s=s?u.count(s):u.count();s.onsuccess=ej(function(t){return e(t.target.result)}),s.onerror=tk(n)})}}}),l={};return c.forEach(function(e){return l[e.name]=e}),{stack:"dbcore",transaction:e.transaction.bind(e),table:function(e){if(l[e])return l[e];throw Error("Table '".concat(e,"' not found"))},MIN_KEY:-1/0,MAX_KEY:tD(t),schema:o}}(i,o=o.IDBKeyRange,n),{dbcore:r.dbcore.reduce(function(e,n){return n=n.create,t(t({},e),n(e))},i)});e.core=u.dbcore,e.tables.forEach(function(t){var n=t.name;e.core.schema.tables.some(function(e){return e.name===n})&&(t.core=e.core.table(n),e[n]instanceof e.Table)&&(e[n].core=t.core)})}function tM(e,t,n,r){n.forEach(function(n){var i=r[n];t.forEach(function(t){var r=function e(t,n){return y(t,n)||(t=s(t))&&e(t,n)}(t,n);(!r||"value"in r&&void 0===r.value)&&(t===e.Transaction.prototype||t instanceof e.Transaction?d(t,n,{get:function(){return this.table(n)},set:function(e){h(this,n,{value:e,writable:!0,configurable:!0,enumerable:!0})}}):t[n]=new e.Table(n,i))})})}function tN(e,t){t.forEach(function(t){for(var n in t)t[n]instanceof e.Table&&delete t[n]})}function tF(e,t){return e._cfg.version-t._cfg.version}function tW(e,t){var n,r={del:[],add:[],change:[]};for(n in e)t[n]||r.del.push(n);for(n in t){var i=e[n],o=t[n];if(i){var a={name:n,def:o,recreate:!1,del:[],add:[],change:[]};if(""+(i.primKey.keyPath||"")!=""+(o.primKey.keyPath||"")||i.primKey.auto!==o.primKey.auto)a.recreate=!0,r.change.push(a);else{var u=i.idxByName,s=o.idxByName,c=void 0;for(c in u)s[c]||a.del.push(c);for(c in s){var l=u[c],f=s[c];l?l.src!==f.src&&a.change.push(f):a.add.push(f)}(0<a.del.length||0<a.add.length||0<a.change.length)&&r.change.push(a)}}else r.add.push([n,o])}return r}function tU(e,t,n,r){var i=e.db.createObjectStore(t,n.keyPath?{keyPath:n.keyPath,autoIncrement:n.auto}:{autoIncrement:n.auto});r.forEach(function(e){return tV(i,e)})}function tL(e,t){o(e).forEach(function(n){t.db.objectStoreNames.contains(n)||(en&&console.debug("Dexie: Creating missing table",n),tU(t,n,e[n].primKey,e[n].indexes))})}function tV(e,t){e.createIndex(t.name,t.keyPath,{unique:t.unique,multiEntry:t.multi})}function tz(e,t,n){var r={};return m(t.objectStoreNames,0).forEach(function(e){for(var t=n.objectStore(e),i=tA(tC(s=t.keyPath),s||"",!0,!1,!!t.autoIncrement,s&&"string"!=typeof s,!0),o=[],a=0;a<t.indexNames.length;++a){var u=t.index(t.indexNames[a]),s=u.keyPath,u=tA(u.name,s,!!u.unique,!!u.multiEntry,!1,s&&"string"!=typeof s,!1);o.push(u)}r[e]=tj(e,i,o)}),r}function tY(e,t,n){for(var r=n.db.objectStoreNames,o=0;o<r.length;++o){var a=r[o],u=n.objectStore(a);e._hasGetAll="getAll"in u;for(var s=0;s<u.indexNames.length;++s){var c,l=u.indexNames[s],f=u.index(l).keyPath,f="string"==typeof f?f:"["+m(f).join("+")+"]";t[a]&&(c=t[a].idxByName[f])&&(c.name=l,delete t[a].idxByName[f],t[a].idxByName[l]=c)}}"u">typeof navigator&&/Safari/.test(navigator.userAgent)&&!/(Chrome\/|Edge\/)/.test(navigator.userAgent)&&i.WorkerGlobalScope&&i instanceof i.WorkerGlobalScope&&[].concat(navigator.userAgent.match(/Safari\/(\d*)/))[1]<604&&(e._hasGetAll=!1)}function t$(e){return e.split(",").map(function(e,t){var n=e.split(":"),r=null==(r=n[1])?void 0:r.trim(),n=(e=n[0].trim()).replace(/([&*]|\+\+)/g,""),i=/^\[/.test(n)?n.match(/^\[(.*)\]$/)[1].split("+"):n;return tA(n,i||null,/\&/.test(e),/\*/.test(e),/\+\+/.test(e),a(i),0===t,r)})}function tH(){}tH.prototype._createTableSchema=tj,tH.prototype._parseIndexSyntax=t$,tH.prototype._parseStoresSpec=function(e,t){var n=this;o(e).forEach(function(r){if(null!==e[r]){var i=n._parseIndexSyntax(e[r]),o=i.shift();if(!o)throw new z.Schema("Invalid schema for table "+r+": "+e[r]);if(o.unique=!0,o.multi)throw new z.Schema("Primary key cannot be multiEntry*");i.forEach(function(e){if(e.auto)throw new z.Schema("Only primary key can be marked as autoIncrement (++)");if(!e.keyPath)throw new z.Schema("Index must have a name and cannot be an empty string")}),o=n._createTableSchema(r,o,i),t[r]=o}})},tH.prototype.stores=function(e){var t=this.db,e=(this._cfg.storesSource=this._cfg.storesSource?u(this._cfg.storesSource,e):e,t._versions),n={},r={};return e.forEach(function(e){u(n,e._cfg.storesSource),r=e._cfg.dbschema={},e._parseStoresSpec(n,r)}),t._dbSchema=r,tN(t,[t._allTables,t,t.Transaction.prototype]),tM(t,[t._allTables,t,t.Transaction.prototype,this._cfg.tables],o(r),r),t._storeNames=o(r),this},tH.prototype.upgrade=function(e){return this._cfg.contentUpgrade=et(this._cfg.contentUpgrade||$,e),this};var tG="u">typeof FinalizationRegistry&&"u">typeof WeakRef?(nO=new Set,nP=new FinalizationRegistry(function(e){nO.delete(e)}),{toArray:function(){return Array.from(nO).map(function(e){return e.deref()}).filter(function(e){return void 0!==e})},add:function(e){var t=new WeakRef(e._novip);nO.add(t),nP.register(e._novip,t,t),nO.size>e._options.maxConnections&&(t=nO.values().next().value,nO.delete(t),nP.unregister(t))},remove:function(e){if(e)for(var t=nO.values(),n=t.next();!n.done;){var r=n.value;if(r.deref()===e._novip)return nO.delete(r),void nP.unregister(r);n=t.next()}}}):(nS=[],{toArray:function(){return nS},add:function(e){nS.push(e._novip)},remove:function(e){e&&-1!==(e=nS.indexOf(e._novip))&&nS.splice(e,1)}});function tQ(e,t){var n=e._dbNamesDB;return n||(n=e._dbNamesDB=new nk(eJ,{addons:[],indexedDB:e,IDBKeyRange:t})).version(1).stores({dbnames:"name"}),n.table("dbnames")}function tX(e){return e&&"function"==typeof e.databases}function tJ(e){return eM(function(){return ey.letThrough=!0,e()})}function tZ(e){return!("from"in e)}var t0=function(e,t){var n;if(!this)return n=new t0,e&&"d"in e&&u(n,e),n;u(this,arguments.length?{d:1,from:e,to:1<arguments.length?t:e}:{d:0})};function t1(e,t,n){var r=e5(t,n);if(!isNaN(r)){if(0<r)throw RangeError();if(tZ(e))return u(e,{from:t,to:n,d:1});var r=e.l,i=e.r;if(0>e5(n,e.from))return r?t1(r,t,n):e.l={from:t,to:n,d:1,l:null,r:null},t5(e);if(0<e5(t,e.to))return i?t1(i,t,n):e.r={from:t,to:n,d:1,l:null,r:null},t5(e);0>e5(t,e.from)&&(e.from=t,e.l=null,e.d=i?i.d+1:1),0<e5(n,e.to)&&(e.to=n,e.r=null,e.d=e.l?e.l.d+1:1),t=!e.r,r&&!e.l&&t3(e,r),i&&t&&t3(e,i)}}function t3(e,t){tZ(t)||function e(t,n){var r=n.from,i=n.l,o=n.r;t1(t,r,n.to),i&&e(t,i),o&&e(t,o)}(e,t)}function t2(e,t){var n=t4(t),r=n.next();if(!r.done)for(var i=r.value,o=t4(e),a=o.next(i.from),u=a.value;!r.done&&!a.done;){if(0>=e5(u.from,i.to)&&0<=e5(u.to,i.from))return!0;0>e5(i.from,u.from)?i=(r=n.next(u.from)).value:u=(a=o.next(i.from)).value}return!1}function t4(e){var t=tZ(e)?null:{s:0,n:e};return{next:function(e){for(var n=0<arguments.length;t;)switch(t.s){case 0:if(t.s=1,n)for(;t.n.l&&0>e5(e,t.n.from);)t={up:t,n:t.n.l,s:1};else for(;t.n.l;)t={up:t,n:t.n.l,s:1};case 1:if(t.s=2,!n||0>=e5(e,t.n.to))return{value:t.n,done:!1};case 2:if(t.n.r){t.s=3,t={up:t,n:t.n.r,s:0};continue}case 3:t=t.up}return{done:!0}}}}function t5(e){var n,r,i,o=((null==(o=e.r)?void 0:o.d)||0)-((null==(o=e.l)?void 0:o.d)||0),o=1<o?"r":o<-1?"l":"";o&&(n="r"==o?"l":"r",r=t({},e),i=e[o],e.from=i.from,e.to=i.to,e[o]=i[o],r[o]=i[n],(e[n]=r).d=t8(r)),e.d=t8(e)}function t8(e){var t=e.r,e=e.l;return(t?e?Math.max(t.d,e.d):t.d:e?e.d:0)+1}function t6(e,t){return o(t).forEach(function(n){e[n]?t3(e[n],t[n]):e[n]=function e(t){var n,r,i={};for(n in t)l(t,n)&&(r=t[n],i[n]=!r||"object"!=typeof r||E.has(r.constructor)?r:e(r));return i}(t[n])}),e}function t7(e,t){return e.all||t.all||Object.keys(e).some(function(n){return t[n]&&t2(t[n],e[n])})}f(t0.prototype,((M={add:function(e){return t3(this,e),this},addKey:function(e){return t1(this,e,e),this},addKeys:function(e){var t=this;return e.forEach(function(e){return t1(t,e,e)}),this},hasKey:function(e){var t=t4(this).next(e).value;return t&&0>=e5(t.from,e)&&0<=e5(t.to,e)}})[D]=function(){return t4(this)},M));var t9={},ne={},nt=!1;function nn(e){t6(ne,e),nt||(nt=!0,setTimeout(function(){nt=!1,nr(ne,(ne={},!1))},0))}function nr(e,t){void 0===t&&(t=!1);var n=new Set;if(e.all)for(var r=0,i=Object.values(t9);r<i.length;r++)ni(u=i[r],e,n,t);else for(var o in e){var a,u,o=/^idb\:\/\/(.*)\/(.*)\//.exec(o);o&&(a=o[1],o=o[2],u=t9["idb://".concat(a,"/").concat(o)])&&ni(u,e,n,t)}n.forEach(function(e){return e()})}function ni(e,t,n,r){for(var i=[],o=0,a=Object.entries(e.queries.query);o<a.length;o++){for(var u=a[o],s=u[0],c=[],l=0,f=u[1];l<f.length;l++){var h=f[l];t7(t,h.obsSet)?h.subscribers.forEach(function(e){return n.add(e)}):r&&c.push(h)}r&&i.push([s,c])}if(r)for(var d=0;d<i.length;d++){var p=i[d],s=p[0],c=p[1];e.queries.query[s]=c}}function no(e){function t(t){return e.next(t)}var n=i(t),r=i(function(t){return e.throw(t)});function i(e){return function(t){var t=e(t),i=t.value;return t.done?i:i&&"function"==typeof i.then?i.then(n,r):a(i)?Promise.all(i).then(n,r):n(i)}}return i(t)()}function na(e,t,n){for(var r=a(e)?e.slice():[e],i=0;i<n;++i)r.push(t);return r}var nu={stack:"dbcore",name:"VirtualIndexMiddleware",level:1,create:function(e){return t(t({},e),{table:function(n){var r=e.table(n),n=r.schema,i=Object.create(null),o=[];function a(e,n,r){var u=tR(e),s=i[u]=i[u]||[],c=null==e?0:"string"==typeof e?1:e.length,l=0<n,u=t(t({},r),{name:l?"".concat(u,"(virtual-from:").concat(r.name,")"):r.name,lowLevelIndex:r,isVirtual:l,keyTail:n,keyLength:c,extractKey:tT(e),unique:!l&&r.unique});return s.push(u),u.isPrimaryKey||o.push(u),1<c&&a(2===c?e[0]:e.slice(0,c-1),n+1,r),s.sort(function(e,t){return e.keyTail-t.keyTail}),u}var u=a(n.primaryKey.keyPath,0,n.primaryKey);i[":id"]=[u];for(var s=0,c=n.indexes;s<c.length;s++){var l=c[s];a(l.keyPath,0,l)}function f(n){var r,i=n.query.index;return i.isVirtual?t(t({},n),{query:{index:i.lowLevelIndex,range:(r=n.query.range,i=i.keyTail,{type:1===r.type?2:r.type,lower:na(r.lower,r.lowerOpen?e.MAX_KEY:e.MIN_KEY,i),lowerOpen:!0,upper:na(r.upper,r.upperOpen?e.MIN_KEY:e.MAX_KEY,i),upperOpen:!0})}}):n}return t(t({},r),{schema:t(t({},n),{primaryKey:u,indexes:o,getIndexByKeyPath:function(e){return(e=i[tR(e)])&&e[0]}}),count:function(e){return r.count(f(e))},query:function(e){return r.query(f(e))},openCursor:function(t){var n=t.query.index,i=n.keyTail,o=n.keyLength;return n.isVirtual?r.openCursor(f(t)).then(function(n){var r;return n&&Object.create(r=n,{continue:{value:function(n){null!=n?r.continue(na(n,t.reverse?e.MAX_KEY:e.MIN_KEY,i)):t.unique?r.continue(r.key.slice(0,o).concat(t.reverse?e.MIN_KEY:e.MAX_KEY,i)):r.continue()}},continuePrimaryKey:{value:function(t,n){r.continuePrimaryKey(na(t,e.MAX_KEY,i),n)}},primaryKey:{get:function(){return r.primaryKey}},key:{get:function(){var e=r.key;return 1===o?e[0]:e.slice(0,o)}},value:{get:function(){return r.value}}})}):r.openCursor(t)}})}})}};function ns(e,t,n,r){return n=n||{},r=r||"",o(e).forEach(function(i){var o,a,u;l(t,i)?(o=e[i],a=t[i],"object"==typeof o&&"object"==typeof a&&o&&a?(u=j(o))!==j(a)?n[r+i]=t[i]:"Object"===u?ns(o,a,n,r+i+"."):o!==a&&(n[r+i]=t[i]):o!==a&&(n[r+i]=t[i])):n[r+i]=void 0}),o(t).forEach(function(i){l(e,i)||(n[r+i]=t[i])}),n}function nc(e,t){return"delete"===t.type?t.keys:t.keys||t.values.map(e.extractKey)}var nl={stack:"dbcore",name:"HooksMiddleware",level:2,create:function(e){return t(t({},e),{table:function(n){var i=e.table(n),o=i.schema.primaryKey;return t(t({},i),{mutate:function(e){var a=ey.trans,u=a.table(n).hook,s=u.deleting,c=u.creating,f=u.updating;switch(e.type){case"add":if(c.fire===$)break;return a._promise("readwrite",function(){return h(e)},!0);case"put":if(c.fire===$&&f.fire===$)break;return a._promise("readwrite",function(){return h(e)},!0);case"delete":if(s.fire===$)break;return a._promise("readwrite",function(){return h(e)},!0);case"deleteRange":if(s.fire===$)break;return a._promise("readwrite",function(){return function e(n,r,a){return i.query({trans:n,values:!1,query:{index:o,range:r},limit:a}).then(function(i){var o=i.result;return h({type:"delete",keys:o,trans:n}).then(function(i){return 0<i.numFailures?Promise.reject(i.failures[0]):o.length<a?{failures:[],numFailures:0,lastResult:void 0}:e(n,t(t({},r),{lower:o[o.length-1],lowerOpen:!0}),a)})})}(e.trans,e.range,1e4)},!0)}return i.mutate(e);function h(e){var n,a=ey.trans,u=e.keys||nc(o,e);if(u)return"delete"!==(e="add"===e.type||"put"===e.type?t(t({},e),{keys:u}):t({},e)).type&&(e.values=r([],e.values,!0)),e.keys&&(e.keys=r([],e.keys,!0)),("add"===(n=e).type?Promise.resolve([]):i.getMany({trans:n.trans,keys:u,cache:"immutable"})).then(function(t){var n=u.map(function(n,r){var i,u,h,d=t[r],p={onerror:null,onsuccess:null};return"delete"===e.type?s.fire.call(p,n,d,a):"add"===e.type||void 0===d?(i=c.fire.call(p,n,e.values[r],a),null==n&&null!=i&&(e.keys[r]=n=i,o.outbound||k(e.values[r],o.keyPath,n))):(i=ns(d,e.values[r]),(u=f.fire.call(p,i,n,d,a))&&(h=e.values[r],Object.keys(u).forEach(function(e){l(h,e)?h[e]=u[e]:k(h,e,u[e])}))),p});return i.mutate(e).then(function(r){for(var i=r.failures,o=r.results,a=r.numFailures,r=r.lastResult,s=0;s<u.length;++s){var c=(o||u)[s],l=n[s];null==c?l.onerror&&l.onerror(i[s]):l.onsuccess&&l.onsuccess("put"===e.type&&t[s]?e.values[s]:c)}return{failures:i,results:o,numFailures:a,lastResult:r}}).catch(function(e){return n.forEach(function(t){return t.onerror&&t.onerror(e)}),Promise.reject(e)})});throw Error("Keys missing")}}})}})}};function nf(e,t,n){try{if(!t||t.keys.length<e.length)return null;for(var r=[],i=0,o=0;i<t.keys.length&&o<e.length;++i)0===e5(t.keys[i],e[o])&&(r.push(n?A(t.values[i]):t.values[i]),++o);return r.length===e.length?r:null}catch(e){return null}}var nh={stack:"dbcore",level:-1,create:function(e){return{table:function(n){var r=e.table(n);return t(t({},r),{getMany:function(e){var t;return e.cache?(t=nf(e.keys,e.trans._cache,"clone"===e.cache))?eg.resolve(t):r.getMany(e).then(function(t){return e.trans._cache={keys:e.keys,values:"clone"===e.cache?A(t):t},t}):r.getMany(e)},mutate:function(e){return"add"!==e.type&&(e.trans._cache=null),r.mutate(e)}})}}}};function nd(e,t){return"readonly"===e.trans.mode&&!!e.subscr&&!e.trans.explicit&&"disabled"!==e.trans.db._options.cache&&!t.schema.primaryKey.outbound}function np(e,t){switch(e){case"query":return t.values&&!t.unique;case"get":case"getMany":case"count":case"openCursor":return!1}}var ny={stack:"dbcore",level:0,name:"Observability",create:function(e){var n=e.schema.name,r=new t0(e.MIN_KEY,e.MAX_KEY);return t(t({},e),{transaction:function(t,n,r){if(ey.subscr&&"readonly"!==n)throw new z.ReadOnly("Readwrite transaction in liveQuery context. Querier source: ".concat(ey.querier));return e.transaction(t,n,r)},table:function(i){function u(t){var n,t=t.query;return[n=t.index,new t0(null!=(n=(t=t.range).lower)?n:e.MIN_KEY,null!=(n=t.upper)?n:e.MAX_KEY)]}var s=e.table(i),c=s.schema,l=c.primaryKey,f=c.indexes,h=l.extractKey,d=l.outbound,p=l.autoIncrement&&f.filter(function(e){return e.compound&&e.keyPath.includes(l.keyPath)}),y=t(t({},s),{mutate:function(t){function o(e){return d[e="idb://".concat(n,"/").concat(i,"/").concat(e)]||(d[e]=new t0)}var u,f,h=t.trans,d=t.mutatedParts||(t.mutatedParts={}),y=o(""),v=o(":dels"),m=t.type,b="deleteRange"===t.type?[t.range]:"delete"===t.type?[t.keys]:t.values.length<50?[nc(l,t).filter(function(e){return e}),t.values]:[],g=b[0],b=b[1],w=t.trans._cache;return a(g)?(y.addKeys(g),(m="delete"===m||g.length===b.length?nf(g,w):null)||v.addKeys(g),(m||b)&&(u=m,f=b,c.indexes.forEach(function(e){var t=o(e.name||"");function n(t){return null!=t?e.extractKey(t):null}function r(n){e.multiEntry&&a(n)?n.forEach(function(e){return t.addKey(e)}):t.addKey(n)}(u||f).forEach(function(e,t){var i=u&&n(u[t]),t=f&&n(f[t]);0!==e5(i,t)&&(null!=i&&r(i),null!=t)&&r(t)})}))):g?(b={from:null!=(w=g.lower)?w:e.MIN_KEY,to:null!=(m=g.upper)?m:e.MAX_KEY},v.add(b),y.add(b)):(y.add(r),v.add(r),c.indexes.forEach(function(e){return o(e.name).add(r)})),s.mutate(t).then(function(e){return!g||"add"!==t.type&&"put"!==t.type||(y.addKeys(e.results),p&&p.forEach(function(n){for(var r=t.values.map(function(e){return n.extractKey(e)}),i=n.keyPath.findIndex(function(e){return e===l.keyPath}),a=0,u=e.results.length;a<u;++a)r[a][i]=e.results[a];o(n.name).addKeys(r)})),h.mutatedParts=t6(h.mutatedParts||{},d),e})}}),v={get:function(e){return[l,new t0(e.key)]},getMany:function(e){return[l,(new t0).addKeys(e.keys)]},count:u,query:u,openCursor:u};return o(v).forEach(function(e){y[e]=function(o){var a=ey.subscr,u=!!a,c=nd(ey,s)&&np(e,o)?o.obsSet={}:a;if(u){var l,a=function(e){return c[e="idb://".concat(n,"/").concat(i,"/").concat(e)]||(c[e]=new t0)},f=a(""),p=a(":dels"),u=v[e](o),y=u[0],u=u[1];if(("query"===e&&y.isPrimaryKey&&!o.values?p:a(y.name||"")).add(u),!y.isPrimaryKey){if("count"!==e)return l="query"===e&&d&&o.values&&s.query(t(t({},o),{values:!1})),s[e].apply(this,arguments).then(function(t){if("query"===e){if(d&&o.values)return l.then(function(e){return e=e.result,f.addKeys(e),t});var n,r=o.values?t.result.map(h):t.result;(o.values?f:p).addKeys(r)}else if("openCursor"===e)return n=o.values,t&&Object.create(t,{key:{get:function(){return p.addKey(t.primaryKey),t.key}},primaryKey:{get:function(){var e=t.primaryKey;return p.addKey(e),e}},value:{get:function(){return n&&f.addKey(t.primaryKey),t.value}}});return t});p.add(r)}}return s[e].apply(this,arguments)}}),y}})}};function nv(e,n,r){var i;return 0===r.numFailures?n:"deleteRange"===n.type||(i=n.keys?n.keys.length:"values"in n&&n.values?n.values.length:1,r.numFailures===i)?null:(a((i=t({},n)).keys)&&(i.keys=i.keys.filter(function(e,t){return!(t in r.failures)})),"values"in i&&a(i.values)&&(i.values=i.values.filter(function(e,t){return!(t in r.failures)})),i)}function nm(e,t){var n,r;return n=e,(void 0===(r=t).lower||(r.lowerOpen?0<e5(n,r.lower):0<=e5(n,r.lower)))&&(n=e,void 0===(r=t).upper||(r.upperOpen?0>e5(n,r.upper):0>=e5(n,r.upper)))}function nb(e,t,n,r,i,o){var u,s,c,l,f,h,d;return n&&0!==n.length&&(s=(u=t.query.index).multiEntry,c=t.query.range,l=r.schema.primaryKey.extractKey,f=u.extractKey,h=(u.lowLevelIndex||u).extractKey,(r=n.reduce(function(e,n){var r=e,i=[];if("add"===n.type||"put"===n.type)for(var o=new t0,u=n.values.length-1;0<=u;--u){var h,d=n.values[u],p=l(d);!o.hasKey(p)&&(h=f(d),s&&a(h)?h.some(function(e){return nm(e,c)}):nm(h,c))&&(o.addKey(p),i.push(d))}switch(n.type){case"add":var y=(new t0).addKeys(t.values?e.map(function(e){return l(e)}):e),r=e.concat(t.values?i.filter(function(e){return e=l(e),!y.hasKey(e)&&(y.addKey(e),!0)}):i.map(function(e){return l(e)}).filter(function(e){return!y.hasKey(e)&&(y.addKey(e),!0)}));break;case"put":var v=(new t0).addKeys(n.values.map(function(e){return l(e)}));r=e.filter(function(e){return!v.hasKey(t.values?l(e):e)}).concat(t.values?i:i.map(function(e){return l(e)}));break;case"delete":var m=(new t0).addKeys(n.keys);r=e.filter(function(e){return!m.hasKey(t.values?l(e):e)});break;case"deleteRange":var b=n.range;r=e.filter(function(e){return!nm(l(e),b)})}return r},e))!==e)?(d=function(e,t){return e5(h(e),h(t))||e5(l(e),l(t))},r.sort("prev"===t.direction||"prevunique"===t.direction?function(e,t){return d(t,e)}:d),t.limit&&t.limit<1/0&&(r.length>t.limit?r.length=t.limit:e.length===t.limit&&r.length<t.limit&&(i.dirty=!0)),o?Object.freeze(r):r):e}function ng(e,t){return 0===e5(e.lower,t.lower)&&0===e5(e.upper,t.upper)&&!!e.lowerOpen==!!t.lowerOpen&&!!e.upperOpen==!!t.upperOpen}var nw={stack:"dbcore",level:0,name:"Cache",create:function(e){var n=e.schema.name;return t(t({},e),{transaction:function(t,r,i){var o,a,u=e.transaction(t,r,i);return"readwrite"===r&&(i=(o=new AbortController).signal,u.addEventListener("abort",(a=function(i){return function(){if(o.abort(),"readwrite"===r){for(var a=new Set,s=0;s<t.length;s++){var c=t[s],l=t9["idb://".concat(n,"/").concat(c)];if(l){var f=e.table(c),h=l.optimisticOps.filter(function(e){return e.trans===u});if(u._explicit&&i&&u.mutatedParts)for(var d=0,p=Object.values(l.queries.query);d<p.length;d++)for(var y=0,v=(g=p[d]).slice();y<v.length;y++)t7((w=v[y]).obsSet,u.mutatedParts)&&(I(g,w),w.subscribers.forEach(function(e){return a.add(e)}));else if(0<h.length){l.optimisticOps=l.optimisticOps.filter(function(e){return e.trans!==u});for(var m=0,b=Object.values(l.queries.query);m<b.length;m++)for(var g,w,_,k=0,x=(g=b[m]).slice();k<x.length;k++)null!=(w=x[k]).res&&u.mutatedParts&&(i&&!w.dirty?(_=Object.isFrozen(w.res),_=nb(w.res,w.req,h,f,w,_),w.dirty?(I(g,w),w.subscribers.forEach(function(e){return a.add(e)})):_!==w.res&&(w.res=_,w.promise=eg.resolve({result:_}))):(w.dirty&&I(g,w),w.subscribers.forEach(function(e){return a.add(e)})))}}}a.forEach(function(e){return e()})}}})(!1),{signal:i}),u.addEventListener("error",a(!1),{signal:i}),u.addEventListener("complete",a(!0),{signal:i})),u},table:function(r){var i=e.table(r),o=i.schema.primaryKey;return t(t({},i),{mutate:function(e){var a,u=ey.trans;return!o.outbound&&"disabled"!==u.db._options.cache&&!u.explicit&&"readwrite"===u.idbtrans.mode&&(a=t9["idb://".concat(n,"/").concat(r)])?(u=i.mutate(e),("add"===e.type||"put"===e.type)&&(50<=e.values.length||nc(o,e).some(function(e){return null==e}))?u.then(function(n){var r=nv(0,t(t({},e),{values:e.values.map(function(e,r){var i;return n.failures[r]?e:(k(i=null!=(i=o.keyPath)&&i.includes(".")?A(e):t({},e),o.keyPath,n.results[r]),i)})}),n);a.optimisticOps.push(r),queueMicrotask(function(){return e.mutatedParts&&nn(e.mutatedParts)})}):(a.optimisticOps.push(e),e.mutatedParts&&nn(e.mutatedParts),u.then(function(t){0<t.numFailures&&(I(a.optimisticOps,e),(t=nv(0,e,t))&&a.optimisticOps.push(t),e.mutatedParts)&&nn(e.mutatedParts)}),u.catch(function(){I(a.optimisticOps,e),e.mutatedParts&&nn(e.mutatedParts)})),u):i.mutate(e)},query:function(e){var t,o,a,u,s,c,l,f,h,d;return nd(ey,i)&&np("query",e)?(t="immutable"===(null==(a=ey.trans)?void 0:a.db._options.cache),o=(a=ey).requery,a=a.signal,l=(c=((e,t,n,r)=>{var i=t9["idb://".concat(e,"/").concat(t)];if(!i)return[];if(!(e=i.queries[n]))return[null,!1,i,null];var o=e[(r.query?r.query.index.name:null)||""];if(!o)return[null,!1,i,null];switch(n){case"query":var a=null!=(u=r.direction)?u:"next",u=o.find(function(e){var t;return e.req.limit===r.limit&&e.req.values===r.values&&(null!=(t=e.req.direction)?t:"next")===a&&ng(e.req.query.range,r.query.range)});return u?[u,!0,i,o]:[o.find(function(e){var t,n,i;return("limit"in e.req?e.req.limit:1/0)>=r.limit&&(null!=(t=e.req.direction)?t:"next")===a&&(!r.values||e.req.values)&&(n=e.req.query.range,i=r.query.range,0>=((e,t,n,r)=>{if(void 0===e)return void 0!==t?-1:0;if(void 0===t)return 1;if(0===(e=e5(e,t))){if(n&&r)return 0;if(n)return 1;if(r)return -1}return e})(n.lower,i.lower,n.lowerOpen,i.lowerOpen)&&0<=((e,t,n,r)=>{if(void 0===e)return+(void 0!==t);if(void 0===t)return -1;if(0===(e=e5(e,t))){if(n&&r)return 0;if(n)return -1;if(r)return 1}return e})(n.upper,i.upper,n.upperOpen,i.upperOpen))}),!1,i,o];case"count":return[u=o.find(function(e){return ng(e.req.query.range,r.query.range)}),!!u,i,o]}})(n,r,"query",e))[0],u=c[2],s=c[3],l&&c[1]?l.obsSet=e.obsSet:(c=i.query(e).then(function(e){var n=e.result;if(l&&(l.res=n),t){for(var r=0,i=n.length;r<i;++r)Object.freeze(n[r]);Object.freeze(n)}return e}).catch(function(e){return s&&l&&I(s,l),Promise.reject(e)}),l={obsSet:e.obsSet,promise:c,subscribers:new Set,type:"query",req:e,dirty:!1},s?s.push(l):(s=[l],(u=u||(t9["idb://".concat(n,"/").concat(r)]={queries:{query:{},count:{}},objs:new Map,optimisticOps:[],unsignaledParts:{}})).queries.query[e.query.index.name||""]=s)),f=l,h=s,d=a,f.subscribers.add(o),d.addEventListener("abort",function(){f.subscribers.delete(o),0===f.subscribers.size&&setTimeout(function(){0===f.subscribers.size&&I(h,f)},3e3)}),l.promise.then(function(n){return n=nb(n.result,e,null==u?void 0:u.optimisticOps,i,l,t),{result:t?n:A(n)}})):i.query(e)}})}})}};function n_(e,t){return new Proxy(e,{get:function(e,n,r){return"db"===n?t:Reflect.get(e,n,r)}})}nx.prototype.version=function(e){if(isNaN(e)||e<.1)throw new z.Type("Given version is not a positive number");if(e=Math.round(10*e)/10,this.idbdb||this._state.isBeingOpened)throw new z.Schema("Cannot add version when database is open");this.verno=Math.max(this.verno,e);var t=this._versions,n=t.filter(function(t){return t._cfg.version===e})[0];return n||(n=new this.Version(e),t.push(n),t.sort(tF),n.stores({}),this._state.autoSchema=!1),n},nx.prototype._whenReady=function(e){var t=this;return this.idbdb&&(this._state.openComplete||ey.letThrough||this._vip)?e():new eg(function(e,n){if(t._state.openComplete)return n(new z.DatabaseClosed(t._state.dbOpenError));if(!t._state.isBeingOpened){if(!t._state.autoOpen)return void n(new z.DatabaseClosed);t.open().catch($)}t._state.dbReadyPromise.then(e,n)}).then(e)},nx.prototype.use=function(e){var t=e.stack,n=e.create,r=e.level,e=e.name,i=(e&&this.unuse({stack:t,name:e}),this._middlewares[t]||(this._middlewares[t]=[]));return i.push({stack:t,create:n,level:null==r?10:r,name:e}),i.sort(function(e,t){return e.level-t.level}),this},nx.prototype.unuse=function(e){var t=e.stack,n=e.name,r=e.create;return t&&this._middlewares[t]&&(this._middlewares[t]=this._middlewares[t].filter(function(e){return r?e.create!==r:!!n&&e.name!==n})),this},nx.prototype.open=function(){var e=this;return ez(ep,function(){return function(e){var t=e._state,n=e._deps.indexedDB;if(t.isBeingOpened||e.idbdb)return t.dbReadyPromise.then(function(){return t.dbOpenError?eH(t.dbOpenError):e});t.isBeingOpened=!0,t.dbOpenError=null,t.openComplete=!1;var r=t.openCanceller,i=Math.round(10*e.verno),a=!1;function u(){if(t.openCanceller!==r)throw new z.DatabaseClosed("db.open() was cancelled")}var s,c=t.dbReadyResolve,l=null,f=!1;return eg.race([r,("u"<typeof navigator?eg.resolve():!navigator.userAgentData&&/Safari\//.test(navigator.userAgent)&&!/Chrom(e|ium)\//.test(navigator.userAgent)&&indexedDB.databases?new Promise(function(e){function t(){return indexedDB.databases().finally(e)}s=setInterval(t,100),t()}).finally(function(){return clearInterval(s)}):Promise.resolve()).then(function r(){return new eg(function(s,c){if(u(),!n)throw new z.MissingAPI;var h=e.name,d=t.autoSchema||!i?n.open(h):n.open(h,i);if(!d)throw new z.MissingAPI;d.onerror=tk(c),d.onblocked=ej(e._fireOnBlocked),d.onupgradeneeded=ej(function(r){var i,u,s,p,y,v,m;l=d.transaction,t.autoSchema&&!e._options.allowEmptyDB?(d.onerror=tx,l.abort(),d.result.close(),(i=n.deleteDatabase(h)).onsuccess=i.onerror=ej(function(){c(new z.NoSuchDatabase("Database ".concat(h," doesnt exist")))})):(l.onerror=tk(c),f=(i=r.oldVersion>0x4000000000000000?0:r.oldVersion)<1,e.idbdb=d.result,a&&function(e,t){tL(e._dbSchema,t),t.db.version%10!=0||t.objectStoreNames.contains("$meta")||t.db.createObjectStore("$meta").add(Math.ceil(t.db.version/10-1),"version");var n=tz(0,e.idbdb,t);tY(e,e._dbSchema,t);for(var r=0,i=tW(n,e._dbSchema).change;r<i.length;r++){var o=(e=>{if(e.change.length||e.recreate)return console.warn("Unable to patch indexes of table ".concat(e.name," because it has changes on the type of index or primary key.")),{value:void 0};var n=t.objectStore(e.name);e.add.forEach(function(t){en&&console.debug("Dexie upgrade patch: Creating missing index ".concat(e.name,".").concat(t.src)),tV(n,t)})})(i[r]);if("object"==typeof o)return o.value}}(e,l),u=i/10,s=l,p=e._dbSchema,(s.objectStoreNames.contains("$meta")&&!p.$meta&&(p.$meta=tj("$meta",t$("")[0],[]),e._storeNames.push("$meta")),y=e._createTransaction("readwrite",e._storeNames,p)).create(s),y._completion.catch(c),v=y._reject.bind(y),m=ey.transless||ey,eM(function(){if(ey.trans=y,ey.transless=m,0!==u)return tB(e,s),(y.storeNames.includes("$meta")?y.table("$meta").get("version").then(function(e){return null!=e?e:u}):eg.resolve(u)).then(function(t){var n=t,r=[],t=e._versions,i=e._dbSchema=tz(0,e.idbdb,s);return 0===(t=t.filter(function(e){return e._cfg.version>=n})).length?eg.resolve():(t.forEach(function(t){r.push(function(){var r,a,u,c=i,l=t._cfg.dbschema,f=(tY(e,c,s),tY(e,l,s),i=e._dbSchema=l,tW(c,l)),h=(f.add.forEach(function(e){tU(s,e[0],e[1].primKey,e[1].indexes)}),f.change.forEach(function(e){if(e.recreate)throw new z.Upgrade("Not yet support for changing primary key");var t=s.objectStore(e.name);e.add.forEach(function(e){return tV(t,e)}),e.change.forEach(function(e){t.deleteIndex(e.name),tV(t,e)}),e.del.forEach(function(e){return t.deleteIndex(e)})}),t._cfg.contentUpgrade);if(h&&t._cfg.version>n)return tB(e,s),y._memoizedTables={},r=x(l),f.del.forEach(function(e){r[e]=c[e]}),tN(e,[e.Transaction.prototype]),tM(e,[e.Transaction.prototype],o(r),r),y.schema=r,(a=B(h))&&eN(),l=eg.follow(function(){var e;(u=h(y))&&a&&(e=eF.bind(null,null),u.then(e,e))}),u&&"function"==typeof u.then?eg.resolve(u):l.then(function(){return u})}),r.push(function(n){var r=t._cfg.dbschema;[].slice.call(n.db.objectStoreNames).forEach(function(e){return null==r[e]&&n.db.deleteObjectStore(e)}),tN(e,[e.Transaction.prototype]),tM(e,[e.Transaction.prototype],e._storeNames,e._dbSchema),y.schema=e._dbSchema}),r.push(function(n){e.idbdb.objectStoreNames.contains("$meta")&&(Math.ceil(e.idbdb.version/10)===t._cfg.version?(e.idbdb.deleteObjectStore("$meta"),delete e._dbSchema.$meta,e._storeNames=e._storeNames.filter(function(e){return"$meta"!==e})):n.objectStore("$meta").put(t._cfg.version,"version"))})}),(function e(){return r.length?eg.resolve(r.shift()(y.idbtrans)).then(e):eg.resolve()})().then(function(){tL(i,s)}))}).catch(v);o(p).forEach(function(e){tU(s,e,p[e].primKey,p[e].indexes)}),tB(e,s),eg.follow(function(){return e.on.populate.fire(y)}).catch(v)}))},c),d.onsuccess=ej(function(){l=null;var n,u,c,p,y=e.idbdb=d.result,v=m(y.objectStoreNames);if(0<v.length)try{var b=y.transaction(1===(c=v).length?c[0]:c,"readonly");if(t.autoSchema)p=y,u=b,e.verno=p.version/10,u=e._dbSchema=tz(0,p,u),e._storeNames=m(p.objectStoreNames,0),tM(e,[e._allTables],o(u),u);else if(tY(e,e._dbSchema,b),n=b,((n=tW(tz(0,e.idbdb,n),e._dbSchema)).add.length||n.change.some(function(e){return e.add.length||e.change.length}))&&!a)return console.warn("Dexie SchemaDiff: Schema was extended without increasing the number passed to db.version(). Dexie will add missing parts and increment native version number to workaround this."),y.close(),i=y.version+1,a=!0,s(r());tB(e,b)}catch(e){}tG.add(e),y.onversionchange=ej(function(n){t.vcFired=!0,e.on("versionchange").fire(n)}),y.onclose=ej(function(){e.close({disableAutoOpen:!1})}),f&&(v=e._deps,c=h,tX(p=v.indexedDB)||c===eJ||tQ(p,v.IDBKeyRange).put({name:c}).catch($)),s()},c)}).catch(function(e){switch(null==e?void 0:e.name){case"UnknownError":if(0<t.PR1398_maxLoop)return t.PR1398_maxLoop--,console.warn("Dexie: Workaround for Chrome UnknownError on open()"),r();break;case"VersionError":if(0<i)return i=0,r()}return eg.reject(e)})})]).then(function(){return u(),t.onReadyBeingFired=[],eg.resolve(tJ(function(){return e.on.ready.fire(e.vip)})).then(function n(){var r;if(0<t.onReadyBeingFired.length)return r=t.onReadyBeingFired.reduce(et,$),t.onReadyBeingFired=[],eg.resolve(tJ(function(){return r(e.vip)})).then(n)})}).finally(function(){t.openCanceller===r&&(t.onReadyBeingFired=null,t.isBeingOpened=!1)}).catch(function(n){t.dbOpenError=n;try{l&&l.abort()}catch(e){}return r===t.openCanceller&&e._close(),eH(n)}).finally(function(){t.openComplete=!0,c()}).then(function(){var t;return f&&(t={},e.tables.forEach(function(n){n.schema.indexes.forEach(function(r){r.name&&(t["idb://".concat(e.name,"/").concat(n.name,"/").concat(r.name)]=new t0(-1/0,[[[]]]))}),t["idb://".concat(e.name,"/").concat(n.name,"/")]=t["idb://".concat(e.name,"/").concat(n.name,"/:dels")]=new t0(-1/0,[[[]]])}),tS(tO).fire(t),nr(t,!0)),e})}(e)})},nx.prototype._close=function(){this.on.close.fire(new CustomEvent("close"));var e=this._state;if(tG.remove(this),this.idbdb){try{this.idbdb.close()}catch(e){}this.idbdb=null}e.isBeingOpened||(e.dbReadyPromise=new eg(function(t){e.dbReadyResolve=t}),e.openCanceller=new eg(function(t,n){e.cancelOpen=n}))},nx.prototype.close=function(e){var e=(void 0===e?{disableAutoOpen:!0}:e).disableAutoOpen,t=this._state;e?(t.isBeingOpened&&t.cancelOpen(new z.DatabaseClosed),this._close(),t.autoOpen=!1,t.dbOpenError=new z.DatabaseClosed):(this._close(),t.autoOpen=this._options.autoOpen||t.isBeingOpened,t.openComplete=!1,t.dbOpenError=null)},nx.prototype.delete=function(e){var t=this,n=(void 0===e&&(e={disableAutoOpen:!0}),0<arguments.length&&"object"!=typeof arguments[0]),r=this._state;return new eg(function(i,o){function a(){t.close(e);var n=t._deps.indexedDB.deleteDatabase(t.name);n.onsuccess=ej(function(){var e,n,r;e=t._deps,n=t.name,tX(r=e.indexedDB)||n===eJ||tQ(r,e.IDBKeyRange).delete(n).catch($),i()}),n.onerror=tk(o),n.onblocked=t._fireOnBlocked}if(n)throw new z.InvalidArgument("Invalid closeOptions argument to db.delete()");r.isBeingOpened?r.dbReadyPromise.then(a):a()})},nx.prototype.backendDB=function(){return this.idbdb},nx.prototype.isOpen=function(){return null!==this.idbdb},nx.prototype.hasBeenClosed=function(){var e=this._state.dbOpenError;return e&&"DatabaseClosed"===e.name},nx.prototype.hasFailed=function(){return null!==this._state.dbOpenError},nx.prototype.dynamicallyOpened=function(){return this._state.autoSchema},Object.defineProperty(nx.prototype,"tables",{get:function(){var e=this;return o(this._allTables).map(function(t){return e._allTables[t]})},enumerable:!1,configurable:!0}),nx.prototype.transaction=function(){var e=(function(e,t,n){var r=arguments.length;if(r<2)throw new z.InvalidArgument("Too few arguments");for(var i=Array(r-1);--r;)i[r-1]=arguments[r];return n=i.pop(),[e,P(i),n]}).apply(this,arguments);return this._transaction.apply(this,e)},nx.prototype._transaction=function(e,t,n){var r,i,o=this,a=ey.trans,u=(a&&a.db===this&&-1===e.indexOf("!")||(a=null),-1!==e.indexOf("?"));e=e.replace("!","").replace("?","");try{if(i=t.map(function(e){if(e=e instanceof o.Table?e.name:e,"string"!=typeof e)throw TypeError("Invalid table argument to Dexie.transaction(). Only Table or String are allowed");return e}),"r"==e||e===eZ)r=eZ;else{if("rw"!=e&&e!=e0)throw new z.InvalidArgument("Invalid transaction mode: "+e);r=e0}if(a){if(a.mode===eZ&&r===e0){if(!u)throw new z.SubTransaction("Cannot enter a sub-transaction with READWRITE mode when parent transaction is READONLY");a=null}a&&i.forEach(function(e){if(a&&-1===a.storeNames.indexOf(e)){if(!u)throw new z.SubTransaction("Table "+e+" not included in parent transaction.");a=null}}),u&&a&&!a.active&&(a=null)}}catch(e){return a?a._promise(null,function(t,n){n(e)}):eH(e)}var s=(function e(t,n,r,i,o){return eg.resolve().then(function(){var a=ey.transless||ey,u=t._createTransaction(n,r,t._dbSchema,i),a=(u.explicit=!0,{trans:u,transless:a});if(i)u.idbtrans=i.idbtrans;else try{u.create(),u.idbtrans._explicit=!0,t._state.PR1398_maxLoop=3}catch(i){return i.name===V.InvalidState&&t.isOpen()&&0<--t._state.PR1398_maxLoop?(console.warn("Dexie: Need to reopen db"),t.close({disableAutoOpen:!1}),t.open().then(function(){return e(t,n,r,null,o)})):eH(i)}var s,c=B(o),a=(c&&eN(),eg.follow(function(){var e;(s=o.call(u,u))&&(c?(e=eF.bind(null,null),s.then(e,e)):"function"==typeof s.next&&"function"==typeof s.throw&&(s=no(s)))},a));return(s&&"function"==typeof s.then?eg.resolve(s).then(function(e){return u.active?e:eH(new z.PrematureCommit("Transaction committed too early. See http://bit.ly/2kdckMn"))}):a.then(function(){return s})).then(function(e){return i&&u._resolve(),u._completion.then(function(){return e})}).catch(function(e){return u._reject(e),eH(e)})})}).bind(null,this,r,i,a,n);return a?a._promise(r,s,"lock"):ey.trans?ez(ey.transless,function(){return o._whenReady(s)}):this._whenReady(s)},nx.prototype.table=function(e){if(l(this._allTables,e))return this._allTables[e];throw new z.InvalidTable("Table ".concat(e," does not exist"))};var nk=nx;function nx(e,n){var r,i,o,a,u,s=this,c=(this._middlewares={},this.verno=0,nx.dependencies),c=(this._options=n=t({addons:nx.addons,autoOpen:!0,indexedDB:c.indexedDB,IDBKeyRange:c.IDBKeyRange,cache:"cloned",maxConnections:1e3},n),this._deps={indexedDB:n.indexedDB,IDBKeyRange:n.IDBKeyRange},n.addons),l=(this._dbSchema={},this._versions=[],this._storeNames=[],this._allTables={},this.idbdb=null,this._novip=this,{dbOpenError:null,isBeingOpened:!1,onReadyBeingFired:null,openComplete:!1,dbReadyResolve:$,dbReadyPromise:null,cancelOpen:$,openCanceller:null,autoSchema:!0,PR1398_maxLoop:3,autoOpen:n.autoOpen}),f=(l.dbReadyPromise=new eg(function(e){l.dbReadyResolve=e}),l.openCanceller=new eg(function(e,t){l.cancelOpen=t}),this._state=l,this.name=e,this.on=tn(this,"populate","blocked","versionchange","close",{ready:[et,$]}),this.once=function(e,t){var n=function(){for(var r=[],i=0;i<arguments.length;i++)r[i]=arguments[i];s.on(e).unsubscribe(n),t.apply(s,r)};return s.on(e,n)},this.on.ready.subscribe=b(this.on.ready.subscribe,function(e){return function(t,n){nx.vip(function(){var r=s._state;r.openComplete?(r.dbOpenError||eg.resolve().then(t),n&&e(t)):r.onReadyBeingFired?(r.onReadyBeingFired.push(t),n&&e(t)):(e(t),n||e(function e(){s.on.ready.unsubscribe(t),s.on.ready.unsubscribe(e)}))})}}),this.Collection=(r=this,tr(tf.prototype,function(e,t){this.db=r;var n=e3,i=null;if(t)try{n=t()}catch(e){i=e}var t=e._ctx,e=t.table,o=e.hook.reading.fire;this._ctx={table:e,index:t.index,isPrimKey:!t.index||e.schema.primKey.keyPath&&t.index===e.schema.primKey.name,range:n,keysOnly:!1,dir:"next",unique:"",algorithm:null,filter:null,replayFilter:null,justLimit:!0,isMatch:null,offset:0,limit:1/0,error:i,or:t.or,valueMapper:o!==H?o:null}})),this.Table=(i=this,tr(tt.prototype,function(e,t,n){this.db=i,this._tx=n,this.name=e,this.schema=t,this.hook=i._allTables[e]?i._allTables[e].hook:tn(null,{creating:[X,$],reading:[G,H],updating:[Z,$],deleting:[J,$]})})),this.Transaction=(o=this,tr(tE.prototype,function(e,t,n,r,i){var a=this;"readonly"!==e&&t.forEach(function(e){(e=null==(e=n[e])?void 0:e.yProps)&&(t=t.concat(e.map(function(e){return e.updatesTable})))}),this.db=o,this.mode=e,this.storeNames=t,this.schema=n,this.chromeTransactionDurability=r,this.idbtrans=null,this.on=tn(this,"complete","error","abort"),this.parent=i||null,this.active=!0,this._reculock=0,this._blockedFuncs=[],this._resolve=null,this._reject=null,this._waitingFor=null,this._waitingQueue=null,this._spinCount=0,this._completion=new eg(function(e,t){a._resolve=e,a._reject=t}),this._completion.then(function(){a.active=!1,a.on.complete.fire()},function(e){var t=a.active;return a.active=!1,a.on.error.fire(e),a.parent?a.parent._reject(e):t&&a.idbtrans&&a.idbtrans.abort(),eH(e)})})),this.Version=(a=this,tr(tH.prototype,function(e){this.db=a,this._cfg={version:e,storesSource:null,dbschema:{},tables:{},contentUpgrade:null}})),this.WhereClause=(u=this,tr(tw.prototype,function(e,t,n){if(this.db=u,this._ctx={table:e,index:":id"===t?null:t,or:n},this._cmp=this._ascending=e5,this._descending=function(e,t){return e5(t,e)},this._max=function(e,t){return 0<e5(e,t)?e:t},this._min=function(e,t){return 0>e5(e,t)?e:t},this._IDBKeyRange=u._deps.IDBKeyRange,!this._IDBKeyRange)throw new z.MissingAPI})),this.on("versionchange",function(e){0<e.newVersion?console.warn("Another connection wants to upgrade database '".concat(s.name,"'. Closing db now to resume the upgrade.")):console.warn("Another connection wants to delete database '".concat(s.name,"'. Closing db now to resume the delete request.")),s.close({disableAutoOpen:!1})}),this.on("blocked",function(e){!e.newVersion||e.newVersion<e.oldVersion?console.warn("Dexie.delete('".concat(s.name,"') was blocked")):console.warn("Upgrade '".concat(s.name,"' blocked by other connection holding version ").concat(e.oldVersion/10))}),this._maxKey=tD(n.IDBKeyRange),this._createTransaction=function(e,t,n,r){return new s.Transaction(e,t,n,s._options.chromeTransactionDurability,r)},this._fireOnBlocked=function(e){s.on("blocked").fire(e),tG.toArray().filter(function(e){return e.name===s.name&&e!==s&&!e._state.vcFired}).map(function(t){return t.on("versionchange").fire(e)})},this.use(nh),this.use(nw),this.use(ny),this.use(nu),this.use(nl),new Proxy(this,{get:function(e,t,n){var r;return"_vip"===t||("table"===t?function(e){return n_(s.table(e),f)}:(r=Reflect.get(e,t,n))instanceof tt?n_(r,f):"tables"===t?r.map(function(e){return n_(e,f)}):"_createTransaction"===t?function(){return n_(r.apply(this,arguments),f)}:r)}}));this.vip=f,c.forEach(function(e){return e(s)})}var nO,nP,nS,nE,eo="u">typeof Symbol&&"observable"in Symbol?Symbol.observable:"@@observable",nK=(nA.prototype.subscribe=function(e,t,n){return this._subscribe(e&&"function"!=typeof e?e:{next:e,error:t,complete:n})},nA.prototype[eo]=function(){return this},nA);function nA(e){this._subscribe=e}try{nE={indexedDB:i.indexedDB||i.mozIndexedDB||i.webkitIndexedDB||i.msIndexedDB,IDBKeyRange:i.IDBKeyRange||i.webkitIDBKeyRange}}catch(e){nE={indexedDB:null,IDBKeyRange:null}}function nC(e){var t,n=!1,r=new nK(function(r){var i,o=B(e),a=!1,u={},s={},c={get closed(){return a},unsubscribe:function(){a||(a=!0,i&&i.abort(),l&&tS.storagemutated.unsubscribe(h))}},l=(r.start&&r.start(c),!1),f=function(){return e$(d)},h=function(e){t6(u,e),t7(s,u)&&f()},d=function(){var c,d,p;!a&&nE.indexedDB&&(u={},c={},i&&i.abort(),p=(t=>{var n=eE();try{o&&eN();var r=eM(e,t);return r=o?r.finally(eF):r}finally{n&&eK()}})(d={subscr:c,signal:(i=new AbortController).signal,requery:f,querier:e,trans:null}),l||(tS.storagemutated.subscribe(h),l=!0),Promise.resolve(p).then(function(e){n=!0,t=e,a||d.signal.aborted||(t7(s,u)||t7(s=c,u)?f():(u={},e$(function(){return!a&&r.next&&r.next(e)})))},function(e){n=!1,["DatabaseClosedError","AbortError"].includes(null==e?void 0:e.name)||a||e$(function(){a||r.error&&r.error(e)})}))};return setTimeout(f,0),c});return r.hasValue=function(){return n},r.getValue=function(){return t},r}function nj(e){var t=nT;try{nT=!0,tS.storagemutated.fire(e),nr(e,!0)}finally{nT=t}}f(nk,t(t({},S),{delete:function(e){return new nk(e,{addons:[]}).delete()},exists:function(e){return new nk(e,{addons:[]}).open().then(function(e){return e.close(),!0}).catch("NoSuchDatabaseError",function(){return!1})},getDatabaseNames:function(e){var t,n;try{return t=(n=nk.dependencies).indexedDB,n=n.IDBKeyRange,(tX(t)?Promise.resolve(t.databases()).then(function(e){return e.map(function(e){return e.name}).filter(function(e){return e!==eJ})}):tQ(t,n).toCollection().primaryKeys()).then(e)}catch(e){return eH(new z.MissingAPI)}},defineClass:function(){return function(e){u(this,e)}},ignoreTransaction:function(e){return ey.trans?ez(ey.transless||ep,e):e()},vip:tJ,async:function(e){return function(){try{var t=no(e.apply(this,arguments));return t&&"function"==typeof t.then?t:eg.resolve(t)}catch(e){return eH(e)}}},spawn:function(e,t,n){try{var r=no(e.apply(n,t||[]));return r&&"function"==typeof r.then?r:eg.resolve(r)}catch(e){return eH(e)}},currentTransaction:{get:function(){return ey.trans||null}},waitFor:function(e,t){return e=eg.resolve("function"==typeof e?nk.ignoreTransaction(e):e).timeout(t||6e4),ey.trans?ey.trans.waitFor(e):e},Promise:eg,debug:{get:function(){return en},set:function(e){en=e}},derive:p,extend:u,props:f,override:b,Events:tn,on:tS,liveQuery:nC,extendObservabilitySet:t6,getByKeyPath:_,setByKeyPath:k,delByKeyPath:function(e,t){"string"==typeof t?k(e,t,void 0):"length"in t&&[].map.call(t,function(t){k(e,t,void 0)})},shallowClone:x,deepClone:A,getObjectDiff:ns,cmp:e5,asap:w,minKey:-1/0,addons:[],connections:{get:tG.toArray},errnames:V,dependencies:nE,cache:t9,semVer:"4.4.5",version:"4.4.5".split(".").map(function(e){return parseInt(e)}).reduce(function(e,t,n){return e+t/Math.pow(10,2*n)})})),nk.maxKey=tD(nk.dependencies.IDBKeyRange),"u">typeof dispatchEvent&&"u">typeof addEventListener&&(tS(tO,function(e){nT||(e=new CustomEvent(tP,{detail:e}),nT=!0,dispatchEvent(e),nT=!1)}),addEventListener(tP,function(e){e=e.detail,nT||nj(e)}));var nD,nT=!1,nI=function(){};return"u">typeof BroadcastChannel&&((nI=function(){(nD=new BroadcastChannel(tP)).onmessage=function(e){return e.data&&nj(e.data)}})(),"function"==typeof nD.unref&&nD.unref(),tS(tO,function(e){nT||nD.postMessage(e)})),"u">typeof addEventListener&&(addEventListener("pagehide",function(e){if(!nk.disableBfCache&&e.persisted){en&&console.debug("Dexie: handling persisted pagehide"),null!=nD&&nD.close();for(var t=0,n=tG.toArray();t<n.length;t++)n[t].close({disableAutoOpen:!1})}}),addEventListener("pageshow",function(e){!nk.disableBfCache&&e.persisted&&(en&&console.debug("Dexie: handling persisted pageshow"),nI(),nj({all:new t0(-1/0,[[]])}))})),eg.rejectionMapper=function(e,t){return!e||e instanceof F||e instanceof TypeError||e instanceof SyntaxError||!e.name||!Y[e.name]?e:(t=new Y[e.name](t||e.message,e),"stack"in e&&d(t,"stack",{get:function(){return this.inner.stack}}),t)},t(nk,Object.freeze({__proto__:null,DEFAULT_MAX_CONNECTIONS:1e3,Dexie:nk,Entity:e4,PropModification:e9,RangeSet:t0,add:function(e){return new e9({add:e})},cmp:e5,default:nk,liveQuery:nC,mergeRanges:t3,rangesOverlap:t2,remove:function(e){return new e9({remove:e})},replacePrefix:function(e,t){return new e9({replacePrefix:[e,t]})}}),{default:nk}),nk}()},7246(e,t,n){var r=n(85743),i=n(22580);let MDNWorker=class MDNWorker{settings;registered;timeout;keepAlive;constructor(){this.settings=this.offlineSettings(),this.registered=!1,this.timeout=null,this.keepAlive=null,this.settings.autoUpdates&&this.autoUpdate(),this.settings.offline?this.enableServiceWorker(this.settings.preferOnline?i.Rh.PreferOnline:i.Rh.PreferOffline):this.disableServiceWorker()}autoUpdate(){console.log("running auto update"),this.timeout&&(clearTimeout(this.timeout),this.timeout=null),this.update(),this.timeout=setTimeout(()=>this.autoUpdate(),36e5)}messageHandler(e){"pong"===e.data.type?console.log("pong"):console.log("unknown message")}controller(){return navigator.serviceWorker.controller}checkForUpdate(){this.controller()?.postMessage({type:"checkForUpdate"})}update(){this.controller()?.postMessage({type:"update"})}swName(e=null){return`/service-worker.js?type=${e??i.Rh.PreferOnline}`}registerMessageHandler(){navigator.serviceWorker.addEventListener("message",e=>this.messageHandler(e))}async enableServiceWorker(e){"serviceWorker"in navigator&&!this.registered&&(await navigator.serviceWorker.register(this.swName(e),{scope:"/"}),this.registered=!0),this.registerMessageHandler()}cleanDb(){i.Gj.delete()}async disableServiceWorker(){if("serviceWorker"in navigator){let e=await navigator.serviceWorker.getRegistration();await e?.unregister(),this.registered=!1}}toggleKeepAlive(e){this.keepAlive&&!e?(console.log("[worker] keepalive -> enabling"),clearInterval(this.keepAlive),this.keepAlive=null):e&&!this.keepAlive&&(console.log("[worker] keepalive -> disabling"),this.keepAlive=setInterval(()=>this.controller()?.postMessage({type:"keepalive"}),1e4))}async status(){return await (0,i.A6)()}offlineSettings(){return r.tc.read()}async setOfflineSettings(e){let t=this.offlineSettings();return!t.offline&&e.offline?(await this.disableServiceWorker(),await this.enableServiceWorker(e.preferOnline||t.preferOnline?i.Rh.PreferOnline:i.Rh.PreferOffline)):"preferOnline"in e&&t.preferOnline!==e.preferOnline&&(await this.disableServiceWorker(),await this.enableServiceWorker(e.preferOnline?i.Rh.PreferOnline:i.Rh.PreferOffline)),t.offline&&!1===e.offline&&await this.disableServiceWorker(),!1===e.autoUpdates&&this.timeout?(clearTimeout(this.timeout),this.timeout=null):!0===e.autoUpdates&&!1===t.autoUpdates&&this.autoUpdate(),this.settings=new r.tc({...t,...e}),this.settings.write(),this.settings}async clearOfflineSettings(){await this.setOfflineSettings(new r.tc)}async clear(){this.controller()?.postMessage({type:"clear"})}};function o(){return window.mdnWorker||(window.mdnWorker=new MDNWorker),window.mdnWorker}n.d(t,{getMDNWorker:()=>o})},22580(e,t,n){n.d(t,{Jz:()=>_,Rh:()=>w,A6:()=>x,Gj:()=>k});var r,i,o=n(23744);let a=Symbol.for("Dexie"),u=globalThis[a]||(globalThis[a]=o);if(o.semVer!==u.semVer)throw Error(`Two different versions of Dexie loaded in the same app: ${o.semVer} and ${u.semVer}`);let{liveQuery:s,mergeRanges:c,rangesOverlap:l,RangeSet:f,cmp:h,Entity:d,PropModification:p,replacePrefix:y,add:v,remove:m,DexieYProvider:b}=u,g=u;var w=((r={}).PreferOnline="PreferOnline",r.PreferOffline="PreferOffline",r),_=((i={}).INITIAL="initial",i.IDLE="idle",i.DOWNLOAD="download",i.UNPACK="unpack",i.CLEAR="clear",i);let MDNOfflineDB=class MDNOfflineDB extends g{whoami;contentStatusHistory;constructor(){super("MDNOfflineDB"),this.version(1).stores({whoami:"++, username, is_authenticated, email, avatar_url, is_subscriber",collections:"url, title, created",watched:"url, title, path",notifications:"id, title, text, url, created, read, starred"}),this.version(2).stores({contentStatusHistory:"++id"}),this.version(3).stores({whoami:"++, username, is_authenticated, email, avatar_url, is_subscriber, settings"})}};let k=new MDNOfflineDB;async function x(){return await k.contentStatusHistory.toCollection().last()||{phase:"initial",local:null,remote:null,progress:null,timestamp:new Date}}}};
|
|
2
|
-
//# sourceMappingURL=7555.332ebfc3a6b0147d.js.map
|