@mdn/fred 0.1.0 → 0.2.0
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/CHANGELOG.md +100 -0
- package/build/render.js +3 -3
- package/build/server-worker.js +2 -2
- package/build/types.d.ts +2 -2
- package/components/a11y-menu/server.css +1 -1
- package/components/about-tabs/element.css +3 -1
- package/components/about-tabs/element.js +8 -0
- package/components/advertising/server.css +1 -1
- package/components/article-footer/server.css +0 -4
- package/components/article-footer/server.js +13 -16
- package/components/baseline-indicator/server.css +5 -6
- package/components/baseline-indicator/server.js +1 -6
- package/components/blog-index/server.css +2 -2
- package/components/blog-post/server.css +3 -3
- package/components/breadcrumbs-bar/server.js +26 -7
- package/components/button/pure.js +6 -3
- package/components/code-example/common.css +47 -3
- package/components/code-example/element.js +4 -5
- package/components/code-example/prism.css +62 -59
- package/components/color/area.css +11 -0
- package/components/color/border.css +1 -1
- package/components/color/global.css +5 -4
- package/components/color-theme/element.css +4 -0
- package/components/color-theme/element.js +19 -30
- package/components/compat-table/index-common.css +4 -2
- package/components/content-section/server.css +137 -23
- package/components/contributor-spotlight/server.css +4 -4
- package/components/curriculum/assets/curriculum-landing-top.svg +1 -1
- package/components/curriculum/layout.css +81 -13
- package/components/curriculum/module-list.css +5 -5
- package/components/curriculum/module.css +3 -3
- package/components/curriculum/shared.css +14 -47
- package/components/curriculum/sidebar.css +66 -294
- package/components/curriculum/toc.css +9 -23
- package/components/curriculum/utils.js +47 -58
- package/components/curriculum/vars.css +68 -39
- package/components/curriculum-about/server.css +17 -3
- package/components/curriculum-about/server.js +18 -15
- package/components/curriculum-default/server.css +11 -0
- package/components/curriculum-default/server.js +17 -14
- package/components/curriculum-landing/server.css +7 -7
- package/components/curriculum-module/server.css +75 -73
- package/components/curriculum-module/server.js +19 -17
- package/components/curriculum-overview/server.css +11 -0
- package/components/curriculum-overview/server.js +60 -24
- package/components/dropdown/element.js +3 -1
- package/components/featured-articles/server.css +1 -1
- package/components/font/README.md +11 -0
- package/components/font/fonts/jetbrains-mono-cyrillic.woff2 +0 -0
- package/components/font/fonts/jetbrains-mono-italic-cyrillic.woff2 +0 -0
- package/components/font/fonts/jetbrains-mono-italic-latin-extended.woff2 +0 -0
- package/components/font/fonts/jetbrains-mono-italic-latin.woff2 +0 -0
- package/components/font/fonts/jetbrains-mono-latin-extended.woff2 +0 -0
- package/components/font/fonts/jetbrains-mono-latin.woff2 +0 -0
- package/components/font/fonts/jetbrains-mono-nl.patch +4758 -0
- package/components/font/fonts/source/jetbrains-mono-italic.ttf +0 -0
- package/components/font/fonts/source/jetbrains-mono.ttf +0 -0
- package/components/font/global.css +3 -0
- package/components/font/inter.css +6 -0
- package/components/footer/server.css +20 -3
- package/components/footer/server.js +3 -0
- package/components/generic-about/server.css +16 -14
- package/components/generic-community/server.css +16 -16
- package/components/generic-community/server.js +11 -4
- package/components/generic-content/server.css +1 -1
- package/components/generic-sidebar/server.css +2 -2
- package/components/generic-sidebar/server.js +14 -5
- package/components/generic-toc/server.css +2 -2
- package/components/homepage-search/element.css +14 -17
- package/components/html/global.css +3 -0
- package/components/icon/chart-no-axes-combined.svg +1 -0
- package/components/icon/circle-play.svg +1 -0
- package/components/icon/log-in.svg +1 -0
- package/components/icon/mdn-m.svg +1 -0
- package/components/icon/shield-check.svg +1 -0
- package/components/icon/users.svg +1 -0
- package/components/interactive-example/element.css +3 -1
- package/components/issues-table/element.css +2 -2
- package/components/ix-tab/element.css +1 -1
- package/components/language-switcher/element.css +2 -1
- package/components/language-switcher/element.js +1 -0
- package/components/latest-news/server.css +1 -1
- package/components/left-sidebar/server.css +12 -15
- package/components/live-sample-result/element.css +1 -0
- package/components/live-sample-result/element.js +10 -2
- package/components/logo/server.css +5 -0
- package/components/mandala/server.css +2 -2
- package/components/media/index.css +3 -0
- package/components/menu/base.css +40 -11
- package/components/menu/desktop.css +1 -1
- package/components/menu/mobile.css +1 -1
- package/components/menu/server.js +34 -45
- package/components/modal/element.js +1 -1
- package/components/navigation/base.css +0 -8
- package/components/navigation/desktop.css +22 -5
- package/components/navigation/mobile.css +25 -6
- package/components/navigation/server.js +5 -2
- package/components/not-found/element.css +1 -0
- package/components/not-found/element.js +1 -1
- package/components/observatory/colors.css +64 -0
- package/components/observatory/common.css +5 -0
- package/components/observatory-comparison-table/element.css +6 -6
- package/components/observatory-form/element.css +6 -11
- package/components/observatory-header-link/element.css +1 -9
- package/components/observatory-human-duration/element.css +1 -0
- package/components/observatory-human-duration/element.js +4 -3
- package/components/observatory-landing/server.css +208 -1
- package/components/observatory-landing/server.js +76 -66
- package/components/observatory-rescan-button/element.css +1 -0
- package/components/observatory-rescan-button/element.js +11 -3
- package/components/observatory-results/element.css +38 -42
- package/components/observatory-results/server.css +119 -1
- package/components/observatory-results/server.js +47 -43
- package/components/observatory-tests-and-scores/element.css +3 -1
- package/components/outer-layout/server.js +8 -2
- package/components/placement-sidebar/element.css +1 -1
- package/components/play-console/element.css +1 -1
- package/components/play-runner/element.css +3 -0
- package/components/playground/element.css +35 -9
- package/components/playground/element.js +63 -3
- package/components/prev-next/index.css +32 -3
- package/components/radius/global.css +6 -0
- package/components/reference-layout/server.css +4 -4
- package/components/reference-layout/server.js +6 -3
- package/components/reference-toc/server.css +2 -2
- package/components/scrim-inline/element.css +2 -2
- package/components/scrim-inline/global.css +1 -1
- package/components/search-button/element.css +7 -1
- package/components/search-modal/element.css +61 -27
- package/components/search-modal/element.js +14 -0
- package/components/sidebar-filter/element.css +1 -1
- package/components/site-search/element.css +6 -7
- package/components/specifications-list/index.js +18 -26
- package/components/switch/element.css +1 -1
- package/components/user-menu/base.css +0 -7
- package/components/user-menu/desktop.css +15 -3
- package/components/user-menu/element.js +10 -2
- package/components/user-menu/mobile.css +2 -14
- package/components/utils/index.js +9 -0
- package/components/vars/global.css +1 -1
- package/components/writer-open-editor/element.js +31 -0
- package/components/writer-toolbar/server.css +11 -0
- package/components/writer-toolbar/server.js +27 -0
- package/dist/client/{1048.7f6f1de50a1fda0d.js → 1048.9db1491a9a9f26c3.js} +2 -2
- package/dist/client/{1048.7f6f1de50a1fda0d.js.map → 1048.9db1491a9a9f26c3.js.map} +1 -1
- package/dist/client/1197.65020044d7ef7add.css +32 -0
- package/dist/client/1197.65020044d7ef7add.css.map +1 -0
- package/dist/client/1241.691b26f66d52ce68.css +2 -0
- package/dist/client/1241.691b26f66d52ce68.css.map +1 -0
- package/dist/client/{1342.b05de4cd80d4c221.js → 1342.a66390274e8adda1.js} +8 -8
- package/dist/client/{1342.b05de4cd80d4c221.js.map → 1342.a66390274e8adda1.js.map} +1 -1
- package/dist/client/1624.98ead28526f7a6a1.js +69 -0
- package/dist/client/{1624.5694c64f5e45232c.js.map → 1624.98ead28526f7a6a1.js.map} +1 -1
- package/dist/client/1739.8793c189d4f57b38.js +8 -0
- package/dist/client/{1739.505aa54ed62222c8.js.map → 1739.8793c189d4f57b38.js.map} +1 -1
- package/dist/client/{1916.bc7551ab839d52f8.js → 1916.53595bf8d5201723.js} +3 -3
- package/dist/client/{1916.bc7551ab839d52f8.js.map → 1916.53595bf8d5201723.js.map} +1 -1
- package/dist/client/2254.85c84b41fe477e9f.css +2 -0
- package/dist/client/2254.85c84b41fe477e9f.css.map +1 -0
- package/dist/client/2299.15bde599f83bc9f8.js +2 -0
- package/dist/client/2299.15bde599f83bc9f8.js.map +1 -0
- package/dist/client/{2448.92286b4e96ad1c02.js → 2448.34e8a46d8ac913b9.js} +7 -7
- package/dist/client/2448.34e8a46d8ac913b9.js.map +1 -0
- package/dist/client/{2656.0009ef5e53d43860.js → 2656.9ffeb69f976e1ada.js} +3 -3
- package/dist/client/{2656.0009ef5e53d43860.js.map → 2656.9ffeb69f976e1ada.js.map} +1 -1
- package/dist/client/268.5b8cf50cd9481947.js +50 -0
- package/dist/client/268.5b8cf50cd9481947.js.map +1 -0
- package/dist/client/2826.d61ca617ff379ad4.js +29 -0
- package/dist/client/2826.d61ca617ff379ad4.js.map +1 -0
- package/dist/client/{9632.b317ca4ae5930b4a.js → 3536.38f4b1a8002b53e2.js} +30 -2
- package/dist/client/3536.38f4b1a8002b53e2.js.map +1 -0
- package/dist/client/{3580.bf3f2a7896833bd8.js → 3580.92db5b07a85b0961.js} +2 -2
- package/dist/client/{3580.bf3f2a7896833bd8.js.map → 3580.92db5b07a85b0961.js.map} +1 -1
- package/dist/client/37.d890a50de1313ae7.js +120 -0
- package/dist/client/37.d890a50de1313ae7.js.map +1 -0
- package/dist/client/{3769.d1f1fcf335099c33.js → 3769.f46716bd58921c06.js} +6 -5
- package/dist/client/3769.f46716bd58921c06.js.map +1 -0
- package/dist/client/3892.db79ccfcc2e8b5a2.js +5 -0
- package/dist/client/3892.db79ccfcc2e8b5a2.js.map +1 -0
- package/dist/client/391.947b429ccac6ca45.js +8 -0
- package/dist/client/391.947b429ccac6ca45.js.map +1 -0
- package/dist/client/{4036.5ca9997e4c034473.js → 4036.4aa9a690073ccbac.js} +11 -7
- package/dist/client/4036.4aa9a690073ccbac.js.map +1 -0
- package/dist/client/4045.ec4c143648ab2280.js +8 -0
- package/dist/client/4045.ec4c143648ab2280.js.map +1 -0
- package/dist/client/4531.5f4701b319065b2b.js +34 -0
- package/dist/client/4531.5f4701b319065b2b.js.map +1 -0
- package/dist/client/{476.0de6391161b814ad.js → 476.67faa1bd02f2479c.js} +3 -3
- package/dist/client/{476.0de6391161b814ad.js.map → 476.67faa1bd02f2479c.js.map} +1 -1
- package/dist/client/{4849.4da5f274175b7cc7.js → 4849.2d0d91db57dc6419.js} +2 -2
- package/dist/client/{4849.4da5f274175b7cc7.js.map → 4849.2d0d91db57dc6419.js.map} +1 -1
- package/dist/client/{5066.31235bae47282d5a.js → 5066.c3b69e4601465269.js} +9 -9
- package/dist/client/{5066.31235bae47282d5a.js.map → 5066.c3b69e4601465269.js.map} +1 -1
- package/dist/client/{533.518751bfb02cbcee.js → 533.43be64a8c12d5411.js} +2 -2
- package/dist/client/{533.518751bfb02cbcee.js.map → 533.43be64a8c12d5411.js.map} +1 -1
- package/dist/client/5531.ff59053d35a9ebc5.js +387 -0
- package/dist/client/{5531.3f07c9b4290520c7.js.map → 5531.ff59053d35a9ebc5.js.map} +1 -1
- package/dist/client/{5557.247c4c4c61d91b4d.js → 5557.3923ba7ade67d4c8.js} +4 -4
- package/dist/client/{5557.247c4c4c61d91b4d.js.map → 5557.3923ba7ade67d4c8.js.map} +1 -1
- package/dist/client/{5837.52bd8ccde0085adc.js → 5837.2173cfac5b28fb95.js} +2 -2
- package/dist/client/5837.2173cfac5b28fb95.js.map +1 -0
- package/dist/client/5911.7dd68675e0a4ff43.js +2 -0
- package/dist/client/5911.7dd68675e0a4ff43.js.map +1 -0
- package/dist/client/614.b7c7bcd4ee6e4f7d.css +2 -0
- package/dist/client/614.b7c7bcd4ee6e4f7d.css.map +1 -0
- package/dist/client/6213.ba167b80474036f0.js +20 -0
- package/dist/client/6213.ba167b80474036f0.js.map +1 -0
- package/dist/client/665.7d96ffb19066da27.js +34 -0
- package/dist/client/665.7d96ffb19066da27.js.map +1 -0
- package/dist/client/6681.51b917ef9762ead2.js +6 -0
- package/dist/client/{6681.4bc549fb34f3fd5c.js.map → 6681.51b917ef9762ead2.js.map} +1 -1
- package/dist/client/6955.3de7286d9ee3c36f.js +33 -0
- package/dist/client/6955.3de7286d9ee3c36f.js.map +1 -0
- package/dist/client/{7326.b1ad5a6bece08bb2.js → 7326.9d0d137e939223ba.js} +2 -2
- package/dist/client/7326.9d0d137e939223ba.js.map +1 -0
- package/dist/client/{736.c130ba990b1ed252.js → 736.0fa146c2a494e88c.js} +5 -5
- package/dist/client/{736.c130ba990b1ed252.js.map → 736.0fa146c2a494e88c.js.map} +1 -1
- package/dist/client/7461.7d6383069ad3bded.js +35 -0
- package/dist/client/7461.7d6383069ad3bded.js.map +1 -0
- package/dist/client/7509.c7697df525e5b425.js +9 -0
- package/dist/client/7509.c7697df525e5b425.js.map +1 -0
- package/dist/client/{7731.401da89d94c0e064.js → 7731.dab635045f8c8801.js} +2 -2
- package/dist/client/{7731.401da89d94c0e064.js.map → 7731.dab635045f8c8801.js.map} +1 -1
- package/dist/client/{7816.086a6f46f1339f10.js → 7816.fcae90f472f6a101.js} +2 -2
- package/dist/client/{7816.086a6f46f1339f10.js.map → 7816.fcae90f472f6a101.js.map} +1 -1
- package/dist/client/833.a99cc1ff95a9361c.js +5 -0
- package/dist/client/833.a99cc1ff95a9361c.js.map +1 -0
- package/dist/client/{8468.add3c4feb6c9e926.js → 8468.f45cbbf88e617172.js} +3 -3
- package/dist/client/{8468.add3c4feb6c9e926.js.map → 8468.f45cbbf88e617172.js.map} +1 -1
- package/dist/client/{8483.e69da156837fde23.js → 8483.42cb8809ffb7c809.js} +3 -3
- package/dist/client/{8483.e69da156837fde23.js.map → 8483.42cb8809ffb7c809.js.map} +1 -1
- package/dist/client/{8551.4cf05a456e8b9b36.js → 8551.88765e00cf64cda8.js} +2 -2
- package/dist/client/{8551.4cf05a456e8b9b36.js.map → 8551.88765e00cf64cda8.js.map} +1 -1
- package/dist/client/{8684.538d49e436a77c37.js → 8684.9d7a1ac15f75f143.js} +5 -5
- package/dist/client/{8684.538d49e436a77c37.js.map → 8684.9d7a1ac15f75f143.js.map} +1 -1
- package/dist/client/8896.c876205851967073.js +9 -0
- package/dist/client/8896.c876205851967073.js.map +1 -0
- package/dist/client/{8911.e1fd0ac2f979c2ea.js → 8911.74685697a6189123.js} +7 -7
- package/dist/client/8911.74685697a6189123.js.map +1 -0
- package/dist/client/9021.3d43ecdc365948b8.js +16 -0
- package/dist/client/9021.3d43ecdc365948b8.js.map +1 -0
- package/dist/client/917.f2551a4b63ec4d86.js +17 -0
- package/dist/client/917.f2551a4b63ec4d86.js.map +1 -0
- package/dist/client/9222.a2d629b05b5c3c7e.js +104 -0
- package/dist/client/9222.a2d629b05b5c3c7e.js.LICENSE.txt +5 -0
- package/dist/client/9222.a2d629b05b5c3c7e.js.map +1 -0
- package/dist/client/chart-no-axes-combined.aee09a7064cb8b35.svg +1 -0
- package/dist/client/{circle-alert.4199b283585ef0bb.svg → circle-play.6ed4ac1fb3c93a04.svg} +1 -1
- package/dist/client/{curriculum-about-covered.74e453cf7e1a86c2.svg → curriculum-about-covered.a0e620d9fa0a96bb.svg} +1 -1
- package/dist/client/{curriculum-about-detail.515f645950e2300b.svg → curriculum-about-detail.73feb705e269ebbe.svg} +1 -1
- package/dist/client/{curriculum-about-educators.91685cbbd58c65fb.svg → curriculum-about-educators.03744c34dabd5fe7.svg} +1 -1
- package/dist/client/{curriculum-about-not.42caac16e07477b5.svg → curriculum-about-not.aa3c2baa11be115d.svg} +1 -1
- package/dist/client/{curriculum-about-students.36ca88cba5f00272.svg → curriculum-about-students.842af9608002c05a.svg} +1 -1
- package/dist/client/{curriculum-bullet.934e76f0055c7737.svg → curriculum-bullet.ae8de1d4f7e37953.svg} +1 -1
- package/dist/client/{curriculum-landing-about-beginner.c283306531a0a760.svg → curriculum-landing-about-beginner.9603b098f49dfb52.svg} +1 -1
- package/dist/client/{curriculum-landing-about-bullet.329a46667f2b7b1c.svg → curriculum-landing-about-bullet.1a31ffce2d5917cb.svg} +1 -1
- package/dist/client/{curriculum-landing-about-free.860c02f993720011.svg → curriculum-landing-about-free.1ff3ec55692670ba.svg} +1 -1
- package/dist/client/{curriculum-landing-about-pace.caf53bc7642d2d9e.svg → curriculum-landing-about-pace.04fd0a480b4ef342.svg} +1 -1
- package/dist/client/{curriculum-landing-arrow.37d9469e2da628fb.svg → curriculum-landing-arrow.b4d5ba21e3dc087e.svg} +1 -1
- package/dist/client/{curriculum-landing-started-advanced.6aa084114d4a009d.svg → curriculum-landing-started-advanced.bd07b9246e350d6f.svg} +1 -1
- package/dist/client/{curriculum-landing-started-beginner.684ee16fbad28594.svg → curriculum-landing-started-beginner.62cf58049310b5c1.svg} +1 -1
- package/dist/client/{curriculum-landing-started-educator.1fc04ca1f8ce8d38.svg → curriculum-landing-started-educator.779ce85811a81d19.svg} +1 -1
- package/dist/client/{curriculum-landing-started-employment.ad9634ce6c19f3ba.svg → curriculum-landing-started-employment.4e7b977d45493058.svg} +1 -1
- package/dist/client/{curriculum-mdn-resource.f452724542f874b8.svg → curriculum-mdn-resource.335ee2e480d302fb.svg} +1 -1
- package/dist/client/{curriculum-partner-bg.247900de90ec7d1e.svg → curriculum-partner-bg.70de155df588311a.svg} +1 -1
- package/dist/client/{curriculum-scrim-bg.66afaab49246fbd9.svg → curriculum-scrim-bg.29a27117721ff3e9.svg} +1 -1
- package/dist/client/index.31463704d14e154c.js +260 -0
- package/dist/client/index.31463704d14e154c.js.LICENSE.txt +25 -0
- package/dist/client/index.31463704d14e154c.js.map +1 -0
- package/dist/client/jetbrains-mono-cyrillic.577e793cdf179ae1.woff2 +0 -0
- package/dist/client/jetbrains-mono-italic-cyrillic.8d00711fdb1702e0.woff2 +0 -0
- package/dist/client/jetbrains-mono-italic-latin-extended.c25d5e1f309ed948.woff2 +0 -0
- package/dist/client/jetbrains-mono-italic-latin.55b330522e5e3ed9.woff2 +0 -0
- package/dist/client/jetbrains-mono-latin-extended.01c891f9c832ce28.woff2 +0 -0
- package/dist/client/jetbrains-mono-latin.119994ed445212c7.woff2 +0 -0
- package/dist/client/mdn-m.70aac857e4a908d0.svg +1 -0
- package/dist/client/{runtime.51020603a07b972d.js → runtime.ee03d594ff24ae70.js} +2 -2
- package/dist/client/runtime.ee03d594ff24ae70.js.map +1 -0
- package/dist/client/shield-check.07bdc37f20ac5cc6.svg +1 -0
- package/dist/client/stats.json +1096 -1024
- package/dist/client/styles-a11y-menu.5796ee87cb69f93f.css +2 -0
- package/dist/client/styles-a11y-menu.5796ee87cb69f93f.css.map +1 -0
- package/dist/client/styles-a11y-menu.c408da1c50de7848.js +1 -0
- package/dist/client/styles-advertising.4c00484729f959ad.js +1 -0
- package/dist/client/{styles-advertising.c54670419b34708a.css → styles-advertising.c4692f68b3c61df1.css} +2 -2
- package/dist/client/{styles-advertising.c54670419b34708a.css.map → styles-advertising.c4692f68b3c61df1.css.map} +1 -1
- package/dist/client/styles-article-footer.81ae18c89fc527dc.css +2 -0
- package/dist/client/styles-article-footer.81ae18c89fc527dc.css.map +1 -0
- package/dist/client/styles-article-footer.f591a23b879db7bc.js +1 -0
- package/dist/client/styles-banner.cce5a46592f9ae9c.js +1 -0
- package/dist/client/{styles-baseline-indicator.32a52f7b51085fbb.css → styles-baseline-indicator.083aba7301c6f745.css} +2 -2
- package/dist/client/styles-baseline-indicator.083aba7301c6f745.css.map +1 -0
- package/dist/client/styles-baseline-indicator.35315666a6ff6562.js +1 -0
- package/dist/client/styles-blog-index.65525134178d64fd.js +1 -0
- package/dist/client/styles-blog-index.acbe792e1ec96930.css +2 -0
- package/dist/client/styles-blog-index.acbe792e1ec96930.css.map +1 -0
- package/dist/client/styles-blog-post.0cc5813f0a44aff0.js +1 -0
- package/dist/client/styles-blog-post.5085aa38dc1ab3a3.css +2 -0
- package/dist/client/styles-blog-post.5085aa38dc1ab3a3.css.map +1 -0
- package/dist/client/styles-breadcrumbs-bar.740212452ad4a93e.js +1 -0
- package/dist/client/{styles-breadcrumbs-bar.b7a94abe36578bab.css → styles-breadcrumbs-bar.e2fa6dfb04a38166.css} +2 -2
- package/dist/client/{styles-breadcrumbs-bar.b7a94abe36578bab.css.map → styles-breadcrumbs-bar.e2fa6dfb04a38166.css.map} +1 -1
- package/dist/client/{styles-breadcrumbs.d07ccd5520eeea01.css → styles-breadcrumbs.0afde562052673c5.css} +2 -2
- package/dist/client/{styles-breadcrumbs.d07ccd5520eeea01.css.map → styles-breadcrumbs.0afde562052673c5.css.map} +1 -1
- package/dist/client/styles-breadcrumbs.3b39fd6a3c2edb2e.js +1 -0
- package/dist/client/styles-button.a58118f8ded7e527.js +1 -0
- package/dist/client/styles-content-section.06ab08df9b9e047e.js +1 -0
- package/dist/client/styles-content-section.ffa19ece6d4fa70f.css +2 -0
- package/dist/client/styles-content-section.ffa19ece6d4fa70f.css.map +1 -0
- package/dist/client/styles-contributor-spotlight.38657357f29e301d.css +2 -0
- package/dist/client/styles-contributor-spotlight.38657357f29e301d.css.map +1 -0
- package/dist/client/styles-contributor-spotlight.5303aa09b91c2b0f.js +1 -0
- package/dist/client/styles-curriculum-about.75e3406bfe012d87.css +2 -0
- package/dist/client/styles-curriculum-about.75e3406bfe012d87.css.map +1 -0
- package/dist/client/styles-curriculum-about.c7d034c5eb1cedfc.js +1 -0
- package/dist/client/styles-curriculum-default.425c715d690a611c.js +1 -0
- package/dist/client/styles-curriculum-default.ceb6f07d1ba3a1fe.css +2 -0
- package/dist/client/styles-curriculum-default.ceb6f07d1ba3a1fe.css.map +1 -0
- package/dist/client/styles-curriculum-landing.1558840404f90c97.js +1 -0
- package/dist/client/styles-curriculum-landing.4c266be210279754.css +2 -0
- package/dist/client/styles-curriculum-landing.4c266be210279754.css.map +1 -0
- package/dist/client/styles-curriculum-module.7e5cd517e846d594.js +1 -0
- package/dist/client/styles-curriculum-module.986c101af5734725.css +2 -0
- package/dist/client/styles-curriculum-module.986c101af5734725.css.map +1 -0
- package/dist/client/styles-curriculum-overview.4c7cb02c1ddc853e.js +1 -0
- package/dist/client/styles-curriculum-overview.5e1cf930403c07b3.css +2 -0
- package/dist/client/styles-curriculum-overview.5e1cf930403c07b3.css.map +1 -0
- package/dist/client/styles-featured-articles.b4ecc71ab736bd5b.css +2 -0
- package/dist/client/styles-featured-articles.b4ecc71ab736bd5b.css.map +1 -0
- package/dist/client/styles-featured-articles.e307bb8142f33739.js +1 -0
- package/dist/client/styles-footer.a2850e459e2d290b.css +2 -0
- package/dist/client/{styles-footer.c1a53f0a58f04928.css.map → styles-footer.a2850e459e2d290b.css.map} +1 -1
- package/dist/client/styles-footer.c29033543af832fb.js +1 -0
- package/dist/client/styles-generic-about.2d4dc610496035b0.js +1 -0
- package/dist/client/styles-generic-about.766241910cf1bfdf.css +2 -0
- package/dist/client/styles-generic-about.766241910cf1bfdf.css.map +1 -0
- package/dist/client/styles-generic-community.76b2cea1e9b36907.js +1 -0
- package/dist/client/styles-generic-community.aa93fe32626f89a4.css +2 -0
- package/dist/client/styles-generic-community.aa93fe32626f89a4.css.map +1 -0
- package/dist/client/{styles-generic-content.7960b980b98f1d3d.css → styles-generic-content.3c8089706edb022d.css} +2 -2
- package/dist/client/{styles-generic-content.7960b980b98f1d3d.css.map → styles-generic-content.3c8089706edb022d.css.map} +1 -1
- package/dist/client/styles-generic-content.95822f3a7d72b2af.js +1 -0
- package/dist/client/styles-generic-layout.42a5e62407bd0066.css +2 -0
- package/dist/client/{styles-generic-layout.55441b1a560f5c9f.css.map → styles-generic-layout.42a5e62407bd0066.css.map} +1 -1
- package/dist/client/styles-generic-layout.e3b1cbc7db109acc.js +1 -0
- package/dist/client/styles-generic-sidebar.2e998de436f774c4.css +2 -0
- package/dist/client/styles-generic-sidebar.2e998de436f774c4.css.map +1 -0
- package/dist/client/styles-generic-sidebar.9767d319bbbde061.js +1 -0
- package/dist/client/styles-generic-toc.109e07ffeb20bc67.css +2 -0
- package/dist/client/styles-generic-toc.109e07ffeb20bc67.css.map +1 -0
- package/dist/client/styles-generic-toc.56e46052fca1042a.js +1 -0
- package/dist/client/styles-global.50c705928b5966d2.css +2 -0
- package/dist/client/styles-global.50c705928b5966d2.css.map +1 -0
- package/dist/client/styles-global.5928df920ab8d790.js +1 -0
- package/dist/client/styles-heading-anchor.0eec5185ab9425b7.css +2 -0
- package/dist/client/{styles-heading-anchor.f2760897211efe98.css.map → styles-heading-anchor.0eec5185ab9425b7.css.map} +1 -1
- package/dist/client/styles-heading-anchor.69440b0832b0c7b6.js +1 -0
- package/dist/client/styles-homepage-body.a1dd591dfd38a0e2.js +1 -0
- package/dist/client/{styles-homepage-contributor-spotlight.f02bdd82c7536b72.css → styles-homepage-contributor-spotlight.38935642cba8718d.css} +2 -2
- package/dist/client/{styles-homepage-contributor-spotlight.f02bdd82c7536b72.css.map → styles-homepage-contributor-spotlight.38935642cba8718d.css.map} +1 -1
- package/dist/client/styles-homepage-contributor-spotlight.a872f7a5144621ce.js +1 -0
- package/dist/client/styles-homepage-footer.56ccee76430fb4b6.js +1 -0
- package/dist/client/styles-homepage-header.ef7007190d01e72b.js +1 -0
- package/dist/client/styles-homepage-hero.db4057884586bcc0.js +1 -0
- package/dist/client/styles-homepage.643e215e9b541f48.js +1 -0
- package/dist/client/styles-latest-news.b28826e707e5a793.js +1 -0
- package/dist/client/styles-latest-news.ef3b9e57333a87bc.css +2 -0
- package/dist/client/styles-latest-news.ef3b9e57333a87bc.css.map +1 -0
- package/dist/client/styles-left-sidebar.07f68fb381233e5e.css +2 -0
- package/dist/client/styles-left-sidebar.07f68fb381233e5e.css.map +1 -0
- package/dist/client/styles-left-sidebar.689072b681b6085c.js +1 -0
- package/dist/client/styles-logo.5fe2004c01665043.js +1 -0
- package/dist/client/styles-logo.f9c13d56f40d50b6.css +2 -0
- package/dist/client/styles-logo.f9c13d56f40d50b6.css.map +1 -0
- package/dist/client/styles-mandala.39843b917e3341c1.js +1 -0
- package/dist/client/styles-mandala.8fbfeb0567dbde40.css +2 -0
- package/dist/client/styles-mandala.8fbfeb0567dbde40.css.map +1 -0
- package/dist/client/styles-menu.0df94f3d4546f4e2.js +1 -0
- package/dist/client/styles-menu.5193bf2642ae7d64.css +2 -0
- package/dist/client/styles-menu.5193bf2642ae7d64.css.map +1 -0
- package/dist/client/styles-navigation.013b4a4ed330892a.css +2 -0
- package/dist/client/styles-navigation.013b4a4ed330892a.css.map +1 -0
- package/dist/client/styles-navigation.f10f27bc66c78348.js +1 -0
- package/dist/client/styles-not-found.db6d6367152f676d.js +1 -0
- package/dist/client/styles-observatory-landing.28dd60cf0de05bec.js +1 -0
- package/dist/client/styles-observatory-landing.7b47ee0004877825.css +2 -0
- package/dist/client/styles-observatory-landing.7b47ee0004877825.css.map +1 -0
- package/dist/client/styles-observatory-results.36b6175e7444ec4e.css +2 -0
- package/dist/client/styles-observatory-results.36b6175e7444ec4e.css.map +1 -0
- package/dist/client/styles-observatory-results.7ce6d37475f9cf58.js +1 -0
- package/dist/client/styles-page-layout.0d53ebc97d7b7bf1.js +1 -0
- package/dist/client/styles-page-layout.e52a43c97f04cf90.css +2 -0
- package/dist/client/{styles-page-layout.5db9be57df19de0c.css.map → styles-page-layout.e52a43c97f04cf90.css.map} +1 -1
- package/dist/client/styles-pagination.19bf90db76d7d8d3.css +2 -0
- package/dist/client/{styles-pagination.0b3aa3fd6f6d3808.css.map → styles-pagination.19bf90db76d7d8d3.css.map} +1 -1
- package/dist/client/styles-pagination.e6fa33b9eadd8ab2.js +1 -0
- package/dist/client/styles-playground.59775225856ba2c6.js +1 -0
- package/dist/client/styles-recent-contributions.c51e066b59d22fca.js +1 -0
- package/dist/client/styles-reference-layout.0ab1a4d92d4a0966.css +2 -0
- package/dist/client/styles-reference-layout.0ab1a4d92d4a0966.css.map +1 -0
- package/dist/client/styles-reference-layout.218edbd3288fad71.js +1 -0
- package/dist/client/styles-reference-toc.67439c41e5f07bef.js +1 -0
- package/dist/client/{styles-reference-toc.5ce4f97dbe6e3ed0.css → styles-reference-toc.9b9bd019efd16b86.css} +2 -2
- package/dist/client/{styles-reference-toc.5ce4f97dbe6e3ed0.css.map → styles-reference-toc.9b9bd019efd16b86.css.map} +1 -1
- package/dist/client/styles-sandbox.22c29067838f22d9.js +1 -0
- package/dist/client/styles-site-search.5d4b622a11b82915.js +1 -0
- package/dist/client/styles-site-search.ec3b6780533a8750.css +2 -0
- package/dist/client/{styles-site-search.cf345ef99e0d06b5.css.map → styles-site-search.ec3b6780533a8750.css.map} +1 -1
- package/dist/client/styles-translation-banner.b923aed537f60120.js +1 -0
- package/dist/client/styles-writer-toolbar.00468688f6144393.js +1 -0
- package/dist/client/styles-writer-toolbar.70bdeddd3734ab11.css +2 -0
- package/dist/client/styles-writer-toolbar.70bdeddd3734ab11.css.map +1 -0
- package/dist/client/styles.7fb7069c86aa338c.js +2 -0
- package/dist/client/styles.7fb7069c86aa338c.js.map +1 -0
- package/dist/client/users.f7e6f1f213744762.svg +1 -0
- package/dist/legacy/{1284.0939e1a7de12c23c.js → 1284.9609d9ed70761e2f.js} +3 -3
- package/dist/legacy/{1284.0939e1a7de12c23c.js.map → 1284.9609d9ed70761e2f.js.map} +1 -1
- package/dist/legacy/3957.798f0651121f0fa7.js.map +1 -1
- package/dist/legacy/{7664.eee0fe67e04785f4.js → 7664.7bf14ff753e36b72.js} +3 -3
- package/dist/legacy/7664.7bf14ff753e36b72.js.map +1 -0
- package/dist/legacy/{8716.9fde41ad50c3078d.js → 8716.0a9d049bf166f65a.js} +7 -7
- package/dist/legacy/{8716.9fde41ad50c3078d.js.map → 8716.0a9d049bf166f65a.js.map} +1 -1
- package/dist/legacy/afree.da56b83d257902e0.png +0 -0
- package/dist/legacy/{index.9db2264bb6151226.css → index.92ea4d5b7af91171.css} +2 -2
- package/dist/legacy/index.92ea4d5b7af91171.css.map +1 -0
- package/dist/legacy/{index.b760891bfcc63977.js → index.dd25b33b92ab6c72.js} +5 -5
- package/dist/legacy/index.dd25b33b92ab6c72.js.map +1 -0
- package/dist/legacy/stats.json +12 -12
- package/dist/ssr/index.js +483 -485
- package/dist/ssr/index.js.map +1 -1
- package/dist/ssr/results-icon.b469eb939df034e7.svg +1 -0
- package/dist/ssr/stats.json +54 -46
- package/dist/ssr/summary-icon.eff7a61e59b7e02f.svg +1 -0
- package/entry.client.js +1 -1
- package/entry.ssr.js +3 -4
- package/hooks/dialog-closedby.js +42 -0
- package/l10n/de.ftl +2 -2
- package/l10n/en-US.ftl +10 -10
- package/legacy/index.tsx +1 -0
- package/legacy/legacy.css +5 -0
- package/package.json +22 -21
- package/rspack.config.js +27 -11
- package/server.js +37 -3
- package/svgo.config.js +22 -11
- package/types/element-map.d.ts +1 -0
- package/types/fred.ts +5 -1
- package/components/css-formal-syntax/index.css +0 -10
- package/components/observatory/index.css +0 -406
- package/components/observatory-landing/faq.js +0 -16
- package/components/observatory-landing/feedback.js +0 -16
- package/dist/client/1197.25090f81ab4208bc.css +0 -32
- package/dist/client/1197.25090f81ab4208bc.css.map +0 -1
- package/dist/client/1624.5694c64f5e45232c.js +0 -69
- package/dist/client/1739.505aa54ed62222c8.js +0 -8
- package/dist/client/2254.5fbfe2d0124ff3ba.css +0 -2
- package/dist/client/2254.5fbfe2d0124ff3ba.css.map +0 -1
- package/dist/client/2448.92286b4e96ad1c02.js.map +0 -1
- package/dist/client/2826.2162e19b0f72cf75.js +0 -29
- package/dist/client/2826.2162e19b0f72cf75.js.map +0 -1
- package/dist/client/3536.d17eba9caa4089c1.js +0 -30
- package/dist/client/3536.d17eba9caa4089c1.js.map +0 -1
- package/dist/client/37.feff9590370f461a.js +0 -102
- package/dist/client/37.feff9590370f461a.js.map +0 -1
- package/dist/client/3769.d1f1fcf335099c33.js.map +0 -1
- package/dist/client/3892.62b28110dbb3645e.js +0 -5
- package/dist/client/3892.62b28110dbb3645e.js.map +0 -1
- package/dist/client/391.ead0b358d96c9c13.js +0 -8
- package/dist/client/391.ead0b358d96c9c13.js.map +0 -1
- package/dist/client/4036.5ca9997e4c034473.js.map +0 -1
- package/dist/client/4045.c0fd898eab0b2a5c.js +0 -8
- package/dist/client/4045.c0fd898eab0b2a5c.js.map +0 -1
- package/dist/client/4531.4ae011f8a64a2b27.js +0 -34
- package/dist/client/4531.4ae011f8a64a2b27.js.map +0 -1
- package/dist/client/5531.3f07c9b4290520c7.js +0 -387
- package/dist/client/5837.52bd8ccde0085adc.js.map +0 -1
- package/dist/client/614.01075c8e848f77c4.css +0 -2
- package/dist/client/614.01075c8e848f77c4.css.map +0 -1
- package/dist/client/6213.32f53c1c3ef65496.js +0 -20
- package/dist/client/6213.32f53c1c3ef65496.js.map +0 -1
- package/dist/client/665.bfa5abb72f818c34.js +0 -34
- package/dist/client/665.bfa5abb72f818c34.js.map +0 -1
- package/dist/client/6681.4bc549fb34f3fd5c.js +0 -6
- package/dist/client/6955.90a316f179d37d80.js +0 -52
- package/dist/client/6955.90a316f179d37d80.js.map +0 -1
- package/dist/client/7326.b1ad5a6bece08bb2.js.map +0 -1
- package/dist/client/7345.6d89013575f169db.js +0 -16
- package/dist/client/7345.6d89013575f169db.js.map +0 -1
- package/dist/client/7461.c7551ade83fa6056.js +0 -35
- package/dist/client/7461.c7551ade83fa6056.js.map +0 -1
- package/dist/client/7509.780e429ccb3e9290.js +0 -9
- package/dist/client/7509.780e429ccb3e9290.js.map +0 -1
- package/dist/client/781.389e02e257b52721.css +0 -2
- package/dist/client/781.389e02e257b52721.css.map +0 -1
- package/dist/client/7898.7fd3ac2396a8dd7b.js +0 -45
- package/dist/client/7898.7fd3ac2396a8dd7b.js.map +0 -1
- package/dist/client/8877.6b7cc9370ff77f02.js +0 -2
- package/dist/client/8877.6b7cc9370ff77f02.js.map +0 -1
- package/dist/client/8896.85df788778cc02ca.js +0 -9
- package/dist/client/8896.85df788778cc02ca.js.map +0 -1
- package/dist/client/8911.e1fd0ac2f979c2ea.js.map +0 -1
- package/dist/client/917.f2371f7a8ef08c84.js +0 -17
- package/dist/client/917.f2371f7a8ef08c84.js.map +0 -1
- package/dist/client/9222.f3820fec7e0a91be.js +0 -104
- package/dist/client/9222.f3820fec7e0a91be.js.map +0 -1
- package/dist/client/9632.b317ca4ae5930b4a.js.map +0 -1
- package/dist/client/index.e36c34deca671725.js +0 -251
- package/dist/client/index.e36c34deca671725.js.map +0 -1
- package/dist/client/jetbrains-mono-cyrillic.4be0050294dbaee4.woff2 +0 -0
- package/dist/client/jetbrains-mono-italic-cyrillic.789710e9fe5a2b03.woff2 +0 -0
- package/dist/client/jetbrains-mono-italic-latin-extended.58430489c22fda09.woff2 +0 -0
- package/dist/client/jetbrains-mono-italic-latin.80ad93ea1dcec528.woff2 +0 -0
- package/dist/client/jetbrains-mono-latin-extended.2b8ab8f35e622fdb.woff2 +0 -0
- package/dist/client/jetbrains-mono-latin.eaa3472268346b6c.woff2 +0 -0
- package/dist/client/runtime.51020603a07b972d.js.map +0 -1
- package/dist/client/styles-a11y-menu.53797029a4c05806.css +0 -2
- package/dist/client/styles-a11y-menu.53797029a4c05806.css.map +0 -1
- package/dist/client/styles-a11y-menu.8c2ae6bc250fdde3.js +0 -1
- package/dist/client/styles-advertising.f01a816ffb81826d.js +0 -1
- package/dist/client/styles-article-footer.3bc45ecc7223c0ee.css +0 -2
- package/dist/client/styles-article-footer.3bc45ecc7223c0ee.css.map +0 -1
- package/dist/client/styles-article-footer.abc86d1bc28dbbea.js +0 -1
- package/dist/client/styles-banner.dd24262bb896879a.js +0 -1
- package/dist/client/styles-baseline-indicator.26595fbb926e3339.js +0 -1
- package/dist/client/styles-baseline-indicator.32a52f7b51085fbb.css.map +0 -1
- package/dist/client/styles-blog-index.7af1563c6077a7be.css +0 -2
- package/dist/client/styles-blog-index.7af1563c6077a7be.css.map +0 -1
- package/dist/client/styles-blog-index.805cf1995d84466a.js +0 -1
- package/dist/client/styles-blog-post.5824db4f15723a68.css +0 -2
- package/dist/client/styles-blog-post.5824db4f15723a68.css.map +0 -1
- package/dist/client/styles-blog-post.87f4fe5450147ce8.js +0 -1
- package/dist/client/styles-breadcrumbs-bar.474628c11d128ace.js +0 -1
- package/dist/client/styles-breadcrumbs.b0241eed8398fe84.js +0 -1
- package/dist/client/styles-button.bd90715982da863b.js +0 -1
- package/dist/client/styles-content-section.a1f8a5f77270d1dc.js +0 -1
- package/dist/client/styles-content-section.f47b61c45a723af0.css +0 -2
- package/dist/client/styles-content-section.f47b61c45a723af0.css.map +0 -1
- package/dist/client/styles-contributor-spotlight.a77d55cfef159e66.css +0 -2
- package/dist/client/styles-contributor-spotlight.a77d55cfef159e66.css.map +0 -1
- package/dist/client/styles-contributor-spotlight.a992b1d366637c5d.js +0 -1
- package/dist/client/styles-curriculum-about.4b80aa2f2b88e8e4.js +0 -1
- package/dist/client/styles-curriculum-about.b8d113b14323c909.css +0 -2
- package/dist/client/styles-curriculum-about.b8d113b14323c909.css.map +0 -1
- package/dist/client/styles-curriculum-default.190eba828fd99e0a.js +0 -1
- package/dist/client/styles-curriculum-default.ef46db3751d8e999.css +0 -0
- package/dist/client/styles-curriculum-landing.56209b30561d82e0.css +0 -2
- package/dist/client/styles-curriculum-landing.56209b30561d82e0.css.map +0 -1
- package/dist/client/styles-curriculum-landing.e73c9557dd2057aa.js +0 -1
- package/dist/client/styles-curriculum-module.7fc982bc6793fa48.js +0 -1
- package/dist/client/styles-curriculum-module.c7271eb90af85eba.css +0 -2
- package/dist/client/styles-curriculum-module.c7271eb90af85eba.css.map +0 -1
- package/dist/client/styles-curriculum-overview.d00ecdc305f40125.js +0 -1
- package/dist/client/styles-curriculum-overview.ef46db3751d8e999.css +0 -0
- package/dist/client/styles-featured-articles.27e767c8b538f066.js +0 -1
- package/dist/client/styles-featured-articles.c518f93ad0470cdf.css +0 -2
- package/dist/client/styles-featured-articles.c518f93ad0470cdf.css.map +0 -1
- package/dist/client/styles-footer.c1a53f0a58f04928.css +0 -2
- package/dist/client/styles-footer.e86ec0a935d5937f.js +0 -1
- package/dist/client/styles-generic-about.27a13c39db15963c.js +0 -1
- package/dist/client/styles-generic-about.481f176f22ba0def.css +0 -2
- package/dist/client/styles-generic-about.481f176f22ba0def.css.map +0 -1
- package/dist/client/styles-generic-community.44405e7e3938a4b6.js +0 -1
- package/dist/client/styles-generic-community.ddbcb9e0488bf017.css +0 -2
- package/dist/client/styles-generic-community.ddbcb9e0488bf017.css.map +0 -1
- package/dist/client/styles-generic-content.a2ddd6aac780a65f.js +0 -1
- package/dist/client/styles-generic-layout.55441b1a560f5c9f.css +0 -2
- package/dist/client/styles-generic-layout.670f75c4f806be84.js +0 -1
- package/dist/client/styles-generic-sidebar.515ed6dc89aec542.css +0 -2
- package/dist/client/styles-generic-sidebar.515ed6dc89aec542.css.map +0 -1
- package/dist/client/styles-generic-sidebar.d1528b01acb49222.js +0 -1
- package/dist/client/styles-generic-toc.88e45e1e72c77b73.css +0 -2
- package/dist/client/styles-generic-toc.88e45e1e72c77b73.css.map +0 -1
- package/dist/client/styles-generic-toc.db854e6e0376fb6b.js +0 -1
- package/dist/client/styles-global.698ebe57a5418ca2.css +0 -2
- package/dist/client/styles-global.698ebe57a5418ca2.css.map +0 -1
- package/dist/client/styles-global.cb63a51fc1146957.js +0 -1
- package/dist/client/styles-heading-anchor.6ffff34f5421dc9f.js +0 -1
- package/dist/client/styles-heading-anchor.f2760897211efe98.css +0 -2
- package/dist/client/styles-homepage-body.4a9eaf99a6d5a434.js +0 -1
- package/dist/client/styles-homepage-contributor-spotlight.a91a262ee949a587.js +0 -1
- package/dist/client/styles-homepage-footer.cddd4004e597dbdf.js +0 -1
- package/dist/client/styles-homepage-header.6fc6295b2124ce59.js +0 -1
- package/dist/client/styles-homepage-hero.d56f468fb0364b60.js +0 -1
- package/dist/client/styles-homepage.be456abdb86e4bd2.js +0 -1
- package/dist/client/styles-latest-news.1b5fd7a95688fea4.css +0 -2
- package/dist/client/styles-latest-news.1b5fd7a95688fea4.css.map +0 -1
- package/dist/client/styles-latest-news.f725dd4127faabc2.js +0 -1
- package/dist/client/styles-left-sidebar.135a5bc6ad04c4f0.css +0 -2
- package/dist/client/styles-left-sidebar.135a5bc6ad04c4f0.css.map +0 -1
- package/dist/client/styles-left-sidebar.6cdadac4a1db951d.js +0 -1
- package/dist/client/styles-logo.8e7830628a9d7ef5.js +0 -1
- package/dist/client/styles-logo.a89a79f82f933ef6.css +0 -2
- package/dist/client/styles-logo.a89a79f82f933ef6.css.map +0 -1
- package/dist/client/styles-mandala.41af6b0b37aa7987.js +0 -1
- package/dist/client/styles-mandala.96281d90e09ea84c.css +0 -2
- package/dist/client/styles-mandala.96281d90e09ea84c.css.map +0 -1
- package/dist/client/styles-menu.786218f8a3e51b45.js +0 -1
- package/dist/client/styles-menu.d6b6e63ef2bff0d6.css +0 -2
- package/dist/client/styles-menu.d6b6e63ef2bff0d6.css.map +0 -1
- package/dist/client/styles-navigation.94adc2be697cca49.css +0 -2
- package/dist/client/styles-navigation.94adc2be697cca49.css.map +0 -1
- package/dist/client/styles-navigation.fac8722caf14abc8.js +0 -1
- package/dist/client/styles-not-found.f42949546ffd210c.js +0 -1
- package/dist/client/styles-observatory-landing.994044845e174ebc.js +0 -1
- package/dist/client/styles-observatory-landing.ef46db3751d8e999.css +0 -0
- package/dist/client/styles-observatory-results.2ebe1e1263bf9901.js +0 -1
- package/dist/client/styles-observatory-results.ef46db3751d8e999.css +0 -0
- package/dist/client/styles-page-layout.17e57aa7087c3c14.js +0 -1
- package/dist/client/styles-page-layout.5db9be57df19de0c.css +0 -2
- package/dist/client/styles-pagination.0b3aa3fd6f6d3808.css +0 -2
- package/dist/client/styles-pagination.8e0e077c056abb08.js +0 -1
- package/dist/client/styles-playground.6ba82a762ed428cd.js +0 -1
- package/dist/client/styles-recent-contributions.049ea82f38aea973.js +0 -1
- package/dist/client/styles-reference-layout.3fdc304c65153216.css +0 -2
- package/dist/client/styles-reference-layout.3fdc304c65153216.css.map +0 -1
- package/dist/client/styles-reference-layout.dffb8a58fa542929.js +0 -1
- package/dist/client/styles-reference-toc.885940cc1b62f05f.js +0 -1
- package/dist/client/styles-sandbox.28b391e75fd280b4.js +0 -1
- package/dist/client/styles-site-search.442cfc8fc77298a8.js +0 -1
- package/dist/client/styles-site-search.cf345ef99e0d06b5.css +0 -2
- package/dist/client/styles-translation-banner.ddf203bc7bb2e1bc.js +0 -1
- package/dist/client/styles.23fb47137258e781.js +0 -2
- package/dist/client/styles.23fb47137258e781.js.map +0 -1
- package/dist/legacy/7664.eee0fe67e04785f4.js.map +0 -1
- package/dist/legacy/afree.23e42bd4c44a110f.png +0 -0
- package/dist/legacy/index.9db2264bb6151226.css.map +0 -1
- package/dist/legacy/index.b760891bfcc63977.js.map +0 -1
- package/hooks/css-formal-syntax.js +0 -21
- /package/dist/client/{1342.b05de4cd80d4c221.js.LICENSE.txt → 1342.a66390274e8adda1.js.LICENSE.txt} +0 -0
- /package/dist/client/{2448.92286b4e96ad1c02.js.LICENSE.txt → 2448.34e8a46d8ac913b9.js.LICENSE.txt} +0 -0
- /package/dist/client/{4036.5ca9997e4c034473.js.LICENSE.txt → 4036.4aa9a690073ccbac.js.LICENSE.txt} +0 -0
- /package/dist/client/{4045.c0fd898eab0b2a5c.js.LICENSE.txt → 4045.ec4c143648ab2280.js.LICENSE.txt} +0 -0
- /package/dist/client/{4531.4ae011f8a64a2b27.js.LICENSE.txt → 4531.5f4701b319065b2b.js.LICENSE.txt} +0 -0
- /package/dist/client/{5557.247c4c4c61d91b4d.js.LICENSE.txt → 5557.3923ba7ade67d4c8.js.LICENSE.txt} +0 -0
- /package/dist/client/{8468.add3c4feb6c9e926.js.LICENSE.txt → 833.a99cc1ff95a9361c.js.LICENSE.txt} +0 -0
- /package/dist/client/{917.f2371f7a8ef08c84.js.LICENSE.txt → 8468.f45cbbf88e617172.js.LICENSE.txt} +0 -0
- /package/dist/client/{9222.f3820fec7e0a91be.js.LICENSE.txt → 917.f2551a4b63ec4d86.js.LICENSE.txt} +0 -0
- /package/dist/legacy/{1284.0939e1a7de12c23c.js.LICENSE.txt → 1284.9609d9ed70761e2f.js.LICENSE.txt} +0 -0
- /package/dist/legacy/{7664.eee0fe67e04785f4.js.LICENSE.txt → 7664.7bf14ff753e36b72.js.LICENSE.txt} +0 -0
- /package/dist/legacy/{8716.9fde41ad50c3078d.js.LICENSE.txt → 8716.0a9d049bf166f65a.js.LICENSE.txt} +0 -0
- /package/dist/legacy/{index.b760891bfcc63977.js.LICENSE.txt → index.dd25b33b92ab6c72.js.LICENSE.txt} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"5531.3f07c9b4290520c7.js","sources":["webpack://@mdn/fred/./components/observatory/assets/stars.svg","webpack://@mdn/fred/./components/observatory/assets/tooltip-arrow.svg","webpack://@mdn/fred/./components/observatory-results/csp.js","webpack://@mdn/fred/./components/observatory-results/element.js","webpack://@mdn/fred/./components/observatory-results/rating.js","webpack://@mdn/fred/./components/observatory-results/tooltip.js","webpack://@mdn/fred/./components/observatory-results/trend.js","webpack://@mdn/fred/./components/observatory-results/tabs.js","webpack://@mdn/fred/./components/observatory-results/scoring.js","webpack://@mdn/fred/./components/observatory-results/cookies.js","webpack://@mdn/fred/./components/observatory-results/raw-headers.js","webpack://@mdn/fred/./components/observatory-results/history.js","webpack://@mdn/fred/./components/observatory-results/comparison.js","webpack://@mdn/fred/./components/observatory-results/element.css"],"sourcesContent":["import { svg } from \"lit\"; export default svg`<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"22\" height=\"22\" fill=\"none\" viewBox=\"0 0 22 22\"><path fill=\"#DFD172\" d=\"m18 0-1.26 2.75L14 4l2.74 1.26L18 8l1.25-2.74L22 4l-2.75-1.25M8 3 5.5 8.5 0 11l5.5 2.5L8 19l2.5-5.5L16 11l-5.5-2.5M18 14l-1.26 2.74L14 18l2.74 1.25L18 22l1.25-2.75L22 18l-2.75-1.26\"/></svg>`;","import { svg } from \"lit\"; export default svg`<svg width=\"22\" height=\"22\" class=\"arrow\" viewBox=\"0 0 22 22\"><path d=\"M12.124 1.733a1 1 0 0 1 1.673 0l8.811 13.423a1 1 0 0 1-.835 1.548l-17.614.007a1 1 0 0 1-.837-1.548Z\"/></svg>`;","import { html } from \"lit\";\n\nimport { PassIcon } from \"../observatory/utils.js\";\n\n/** @type {(keyof import(\"@observatory\").CSPPolicy)[]} */\nconst policyTests = [\n \"unsafeInline\",\n \"unsafeEval\",\n \"unsafeObjects\",\n \"unsafeInlineStyle\",\n \"insecureSchemeActive\",\n \"insecureSchemePassive\",\n \"antiClickjacking\",\n \"defaultNone\",\n \"insecureBaseUri\",\n \"insecureFormAction\",\n \"strictDynamic\",\n];\n\n// Policies where pass means bad\nconst negatedPolicies = new Set([\n \"insecureBaseUri\",\n \"insecureFormAction\",\n \"insecureSchemeActive\",\n \"insecureSchemePassive\",\n \"unsafeEval\",\n \"unsafeInline\",\n \"unsafeInlineStyle\",\n \"unsafeObjects\",\n]);\n\n/**\n *\n * @param {{result: import(\"@observatory\").Result}} props\n * @returns { import(\"@lit\").TemplateResult }\n */\nexport function CSP({ result }) {\n const policy = result.tests[\"content-security-policy\"]?.policy;\n const pass = result.tests[\"content-security-policy\"]?.pass || false;\n\n if (!policy) {\n if (\n result.tests[\"content-security-policy\"]?.result ===\n \"csp-not-implemented-but-reporting-enabled\"\n ) {\n return html`\n <table class=\"csp\">\n <tbody>\n <tr>\n <td>\n <p>\n <code>Content-Security-Policy-Report-Only</code> header\n detected. Implement an enforced policy; see\n <a href=\"/en-US/docs/Web/HTTP/CSP\" target=\"_blank\">\n MDN's Content Security Policy (CSP) documentation </a\n >.\n </p>\n </td>\n </tr>\n </tbody>\n </table>\n `;\n }\n\n return html`\n <table class=\"csp\">\n <tbody>\n <tr>\n <td>\n <p>No CSP headers detected</p>\n </td>\n </tr>\n </tbody>\n </table>\n `;\n }\n\n const rows = policyTests.map((pt) => {\n if (!policy[pt]) return null;\n /** @type {import(\"@observatory\").PolicyItem} */\n const p = policy[pt];\n\n return html`\n <tr>\n <td data-header=\"Test\" .innerHTML=${p.description}></td>\n <td data-header=\"Pass\">\n ${PassIcon({\n pass: negatedPolicies.has(pt) ? !p.pass : p.pass,\n })}\n </td>\n <td data-header=\"Info\" .innerHTML=${p.info}></td>\n </tr>\n `;\n });\n\n return html`\n <div class=\"detail-header\">\n <p class=\"arrow\">${PassIcon({ pass })}</p>\n <div\n class=\"detail-header-content\"\n .innerHTML=${result.tests[\"content-security-policy\"]\n ?.score_description ?? `<p class=\"obs-none\">None</p>`}\n ></div>\n </div>\n\n <table class=\"csp\">\n <thead>\n <tr>\n <th>Test</th>\n <th>Result</th>\n <th>Info</th>\n </tr>\n </thead>\n <tbody>\n ${rows}\n </tbody>\n </table>\n `;\n}\n","import { Task } from \"@lit/task\";\nimport { LitElement, html } from \"lit\";\nimport { nothing } from \"lit\";\n\nimport { OBSERVATORY_API_URL } from \"../observatory/constants.js\";\n\nimport styles from \"./element.css?lit\";\nimport { Rating } from \"./rating.js\";\nimport { Tabs } from \"./tabs.js\";\n\nimport \"../../components/progress-bar/element.js\";\nimport \"../../components/observatory-comparison-table/element.js\";\nimport \"../../components/observatory-human-duration/element.js\";\n\nexport class MDNObservatoryResults extends LitElement {\n static styles = styles;\n\n constructor() {\n super();\n /** @type { string | null } */\n this.host = null;\n /** @type { number } */\n this.selectedTab = 0;\n /** @type { boolean } */\n this._usePostInApi = false;\n }\n\n /**\n * @type { import(\"@lit\").PropertyDeclarations }\n */\n static properties = {\n host: { type: String },\n selectedTab: { state: true, type: Number },\n _usePostInApi: { state: true, type: Boolean },\n };\n\n _apiTask = new Task(this, {\n args: () => [this.host],\n task: async ([host], { signal }) => {\n if (!host) {\n throw new Error(\"No host provided\");\n }\n try {\n const res = await fetch(\n `${OBSERVATORY_API_URL}/api/v2/analyze?host=${encodeURIComponent(\n host,\n )}`,\n { signal, method: this._usePostInApi ? \"POST\" : \"GET\" },\n );\n if (!res.ok) {\n let message = `${res.status}: ${res.statusText}`;\n try {\n const data = await res.json();\n if (data.error) {\n message = data.message;\n }\n } catch {\n // Ignore.\n }\n throw new Error(message);\n }\n return await res.json();\n } catch (error) {\n throw new Error(\"Observatory API request for scan data failed\", {\n cause: error,\n });\n }\n },\n });\n\n connectedCallback() {\n super.connectedCallback();\n this._updateSelectedTab = this._updateSelectedTab.bind(this);\n this.selectedTab = this._getSelectedTab();\n globalThis.addEventListener(\"hashchange\", this._updateSelectedTab);\n }\n\n disconnectedCallback() {\n super.disconnectedCallback();\n globalThis.removeEventListener(\"hashchange\", this._updateSelectedTab);\n }\n\n firstUpdated() {\n const params = new URLSearchParams(globalThis.location.search);\n this.host = params.get(\"host\");\n }\n\n _updateSelectedTab() {\n this.selectedTab = this._getSelectedTab();\n }\n\n /**\n * @returns {number}\n */\n _getSelectedTab() {\n const hash = globalThis.location.hash.replace(\"#\", \"\");\n const tabs = [\n \"scoring\",\n \"csp\",\n \"cookies\",\n \"headers\",\n \"history\",\n \"benchmark\",\n ];\n const index = tabs.indexOf(hash);\n return index === -1 ? 0 : index;\n }\n\n /**\n *\n * @param {Event} e\n */\n async _rescan(e) {\n e.preventDefault();\n if (!this.host) {\n return;\n }\n this._usePostInApi = true;\n this._apiTask.run();\n }\n\n /**\n *\n * @param {number} index\n * @param {string} key\n */\n _handleTabSelect(index, key) {\n this.selectedTab = index;\n globalThis.history.replaceState(\n \"\",\n \"\",\n globalThis.location.pathname + globalThis.location.search + \"#\" + key,\n );\n }\n\n render() {\n if (!this.host) {\n return nothing;\n }\n return this._apiTask.render({\n pending: () =>\n html` <label class=\"visually-hidden\" for=\"progress-bar\">\n Rescanning ${this.host} </label\n ><mdn-progress-bar id=\"progress-bar\"></mdn-progress-bar>`,\n\n complete: (data) => html`\n <section class=\"summary\">\n ${Rating({\n result: data,\n host: this.host || \"\",\n rescan: this._rescan,\n })}\n </section>\n <section class=\"results\">\n ${Tabs({\n result: data,\n selectedTab: this.selectedTab,\n onTabSelect: (index, key) => this._handleTabSelect(index, key),\n })}\n </section>\n </div>`,\n\n error: (e) => html`<div class=\"error\">${e}</div>`,\n });\n }\n}\n\ncustomElements.define(\"mdn-observatory-results\", MDNObservatoryResults);\n","import { html } from \"lit\";\n\nimport { formatMinus, hostAsRedirectChain } from \"../observatory/utils.js\";\n\nimport { Tooltip } from \"./tooltip.js\";\nimport { Trend } from \"./trend.js\";\n\nimport \"../observatory-rescan-button/element.js\";\n\n/**\n *\n * @param {{result: import(\"@observatory\").Result, host: string, rescan: Function}} props\n * @returns {import(\"@lit\").TemplateResult}\n */\nexport function Rating({ result, host, rescan }) {\n return html`\n <h2 class=\"summary\">\n Scan summary:\n <span class=\"host\">${hostAsRedirectChain(host, result)}</span>\n </h2>\n <section class=\"scan-result\">\n <section class=\"grade-trend\">\n <div class=\"overall\">\n <button\n popovertarget=\"grade-popover\"\n aria-label=\"show info tooltip\"\n class=\"info-tooltip\"\n tabindex=\"0\"\n >\n <div\n class=${`grade grade-${result.scan.grade?.[0]?.toLowerCase()}`}\n >\n ${formatMinus(result.scan.grade)}\n </div>\n ${Tooltip(result)}\n </button>\n </div>\n ${Trend({ result })}\n </section>\n <section class=\"data\">\n <div>\n <a href=\"/en-US/observatory/docs/tests_and_scoring\" target=\"_blank\">\n <span class=\"label\">Score</span></a\n >: ${result.scan.score} / 100\n </div>\n <div>\n <a href=\"#history\"> <span class=\"label\">Scan Time</span></a\n >:\n <mdn-observatory-human-duration\n .date=${new Date(result.scan.scanned_at)}\n ></mdn-observatory-human-duration>\n </div>\n <a href=\"/en-US/observatory/docs/tests_and_scoring\" target=\"_blank\">\n <span class=\"label\">Tests Passed</span></a\n >: ${result.scan.tests_passed} / \n ${result.scan.tests_quantity}\n </section>\n <section class=\"actions\">\n <mdn-observatory-rescan-button\n .from=${new Date(result.scan.scanned_at)}\n .duration=${60}\n @click=${rescan}\n ></mdn-observatory-rescan-button>\n <div class=\"scan-another\">\n <a href=\"/en-US/observatory\"> Scan another website </a>\n </div>\n </section>\n </section>\n `;\n}\n","import { html } from \"lit\";\n\nimport starsSvg from \"../observatory/assets/stars.svg?lit\";\nimport arrowSvg from \"../observatory/assets/tooltip-arrow.svg?lit\";\nimport { SCORING_TABLE } from \"../observatory/constants.js\";\nimport { formatMinus } from \"../observatory/utils.js\";\n\n/**\n */\n\n/**\n *\n * @param {import(\"@observatory\").Result} result\n */\nexport function Tooltip(result) {\n const rows = SCORING_TABLE.map((st) => {\n return html`\n <tr class=${result.scan.grade === st.grade ? \"current\" : \"\"}>\n <td>${formatMinus(st.grade)}</td>\n <td>\n ${st.scoreText}\n ${result.scan.grade === st.grade && st.stars ? starsSvg : \"\"}\n </td>\n </tr>\n `;\n });\n\n return html`\n <span\n popover\n id=\"grade-popover\"\n aria-describedby=\"grade-table\"\n class=\"tooltip-popup\"\n >\n ${arrowSvg}\n <table class=\"grade-tooltip\" id=\"grades-table\" role=\"tooltip\">\n <thead>\n <tr>\n <th>Grade</th>\n <th>Score</th>\n </tr>\n </thead>\n <tbody>\n ${rows}\n </tbody>\n </table>\n </span>\n `;\n}\n","import { html, nothing } from \"lit\";\n\n/**\n *\n * @param {{result: import(\"@observatory\").Result}} props\n * @returns {import(\"@lit\").TemplateResult | nothing}\n */\nexport function Trend({ result }) {\n switch (arrowState(result)) {\n case \"up\": {\n return html`\n <div class=\"trend\">\n <span class=\"arrow-up\" aria-hidden=\"true\"> ↗︎ </span>\n since last scan\n </div>\n `;\n }\n case \"down\": {\n return html`\n <div class=\"trend\">\n <span class=\"arrow-down\" aria-hidden=\"true\"> ↘︎ </span>\n since last scan\n </div>\n `;\n }\n default: {\n return nothing;\n }\n }\n}\n\n/**\n *\n * @param {import(\"@observatory\").Result} result\n * @returns {\"up\" | \"down\" | \"none\"}\n */\nfunction arrowState(result) {\n const [oldScore, oldGrade] =\n result.history.length > 0\n ? [result.history.at(-2)?.score, result.history.at(-2)?.grade]\n : [undefined, undefined];\n const newScore = result.scan.score;\n const newGrade = result.scan.grade;\n if (\n typeof newScore === \"number\" &&\n typeof oldScore === \"number\" &&\n newGrade !== oldGrade &&\n newScore !== oldScore\n ) {\n return oldScore < newScore ? \"up\" : \"down\";\n } else {\n return \"none\";\n }\n}\n","import { html } from \"lit\";\n\nimport { Comparison } from \"./comparison.js\";\nimport { Cookies } from \"./cookies.js\";\nimport { CSP } from \"./csp.js\";\nimport { History } from \"./history.js\";\nimport { RawHeaders } from \"./raw-headers.js\";\nimport { Scoring } from \"./scoring.js\";\n\n/**\n * @param {{\n * result: import(\"@observatory\").Result,\n * selectedTab: number,\n * onTabSelect: (index: number, key: string) => void\n * }} props\n * @returns {import(\"@lit\").TemplateResult}\n */\nexport function Tabs({ result, selectedTab = 0, onTabSelect }) {\n const tabs = [\n {\n label: \"Scoring\",\n key: \"scoring\",\n element: html`${Scoring({ result })}`,\n },\n {\n label: \"CSP analysis\",\n key: \"csp\",\n element: html`${CSP({ result })}`,\n },\n {\n label: \"Cookies\",\n key: \"cookies\",\n element: html`${Cookies({ result })}`,\n },\n {\n label: \"Raw server headers\",\n key: \"headers\",\n element: html`${RawHeaders({ result })}`,\n },\n {\n label: \"Scan history\",\n key: \"history\",\n element: html`${History({ result })}`,\n },\n {\n label: \"Benchmark comparison\",\n key: \"benchmark\",\n element: html`${Comparison({ result })}`,\n },\n ];\n\n const tabElements = tabs.map((tab, i) => {\n const onChange = () => onTabSelect(i, tab.key);\n return html`\n <li id=\"tabs-${i}\" class=\"tabs-list-item\">\n <input\n class=\"visually-hidden\"\n id=\"tab-${i}\"\n name=\"selected\"\n type=\"radio\"\n role=\"tab\"\n .checked=${i === selectedTab}\n aria-controls=\"tab-container-${i}\"\n @change=${onChange}\n />\n <label for=\"tab-${i}\" id=\"tab-label-${i}\">${tab.label}</label>\n <section\n class=\"tab-content\"\n role=\"tabpanel\"\n aria-labelledby=\"tab-label-${i}\"\n id=\"tab-container-${i}\"\n >\n <div class=\"scroll-container\">${tab.element}</div>\n </section>\n </li>\n `;\n });\n\n return html`\n <section class=\"scan-results\">\n <h2 class=\"result\" id=\"scan-results-header\">Scan results</h2>\n <ol\n class=\"tabs-list\"\n role=\"tablist\"\n aria-labelledby=\"scan-results-header\"\n >\n ${tabElements}\n </ol>\n </section>\n `;\n}\n","import { html } from \"lit\";\n\nimport { TEST_NAMES_IN_ORDER } from \"../observatory/constants.js\";\nimport { PassIcon, formatMinus } from \"../observatory/utils.js\";\n\n/**\n * @param {{overallScore: number, scoreModifier: number}} props\n * @returns {import(\"@lit\").TemplateResult}\n */\nfunction ScoreModifier({ overallScore, scoreModifier }) {\n const bonusEligible = overallScore >= 90;\n const formattedScoreModifier = formatMinus(\n `${scoreModifier > 0 ? `+${scoreModifier}` : scoreModifier}`,\n );\n\n return html`\n <span class=${!bonusEligible && scoreModifier > 0 ? \"not-counted\" : \"\"}>\n ${!bonusEligible && scoreModifier > 0\n ? html`0<sup><a href=\"#bonus-points-explanation\">*</a></sup>`\n : formattedScoreModifier}\n </span>\n `;\n}\n\n/**\n *\n * @param {{ result: import(\"@observatory\").Result}} result\n * @returns {import(\"@lit\").TemplateResult}\n */\nexport function Scoring({ result }) {\n const showFootnote =\n (result.scan.score || 0) <= 90 &&\n Object.entries(result.tests).find(([_n, t]) => t.score_modifier > 0);\n\n // empty case, should not happen\n if (Object.keys(result.tests).length === 0) {\n return html`No tests found.`;\n }\n\n const rows = TEST_NAMES_IN_ORDER.map((name) => {\n const test = result.tests[name];\n if (!test) return null;\n\n return html`\n <tr>\n <td data-header=\"Test\">\n <a\n href=${test.link}\n target=\"_blank\"\n rel=\"noreferrer\"\n class=${test.link.startsWith(\"/\") ? \"\" : \"external\"}\n >\n ${test.title}\n </a>\n </td>\n ${test.pass === null\n ? html`<td data-header=\"Score\">-</td>`\n : html` <td class=\"score\" data-header=\"Score\">\n <span>\n <span class=\"obs-score-value\">\n ${ScoreModifier({\n overallScore: result.scan.score || 0,\n scoreModifier: test.score_modifier,\n })}\n </span>\n ${PassIcon({ pass: test.pass })}\n </span>\n </td>`}\n <td data-header=\"Reason\" .innerHTML=${test.score_description}></td>\n <td\n data-header=\"Advice\"\n .innerHTML=${test.recommendation || `<p class=\"obs-none\">None</p>`}\n ></td>\n </tr>\n `;\n });\n\n return html`\n <table class=\"tests\">\n <thead>\n <tr>\n <th>Test</th>\n <th>Score</th>\n <th>Reason</th>\n <th>Recommendation</th>\n </tr>\n </thead>\n <tbody>\n ${rows}\n </tbody>\n </table>\n ${showFootnote\n ? html` <section class=\"footnote\" id=\"bonus-points-explanation\">\n <sup>*</sup> Normally awards bonus points, however, in this case they\n are not included in the overall score (\n <a href=\"/en-US/observatory/docs/tests_and_scoring\" target=\"_blank\">\n find out why\n </a>\n ).\n </section>`\n : null}\n `;\n}\n","import { html } from \"lit\";\n\nimport {\n CookiePrefix,\n PassIcon,\n Timestamp,\n upperCaseHeaderName,\n} from \"../observatory/utils.js\";\n\n/**\n *\n * @param {{result: import(\"@observatory\").Result}} props\n * @returns { import(\"@lit\").TemplateResult }\n */\nexport function Cookies({ result }) {\n const cookies = result.tests[\"cookies\"]?.data;\n const pass = result.tests[\"cookies\"]?.pass;\n\n if (!cookies || Object.keys(cookies).length === 0) {\n return html`\n <table class=\"cookies\">\n <tbody>\n <tr>\n <td>No cookies detected</td>\n </tr>\n </tbody>\n </table>\n `;\n }\n\n const rows = Object.entries(cookies).map(\n ([key, value]) => html`\n <tr>\n <td data-header=\"Name\" class=\"cookie-name\">${key}</td>\n <td data-header=\"Expires\">\n ${value.expires ? Timestamp({ expires: value.expires }) : \"Session\"}\n </td>\n <td data-header=\"Path\">\n <code>${value.path}</code>\n </td>\n <td data-header=\"Secure\">${PassIcon({ pass: value.secure })}</td>\n <td data-header=\"HttpOnly\">${PassIcon({ pass: value.httponly })}</td>\n <td data-header=\"SameSite\">\n ${value.samesite\n ? html`<code>${upperCaseHeaderName(value.samesite)}</code>`\n : \"-\"}\n </td>\n <td data-header=\"Prefixed\">${CookiePrefix({ cookieName: key })}</td>\n </tr>\n `,\n );\n\n return html`\n <div class=\"detail-header\">\n <p class=\"arrow\">\n ${PassIcon({ pass: pass === undefined ? null : pass })}\n </p>\n <div\n class=\"detail-header-content\"\n .innerHTML=${result.tests[\"cookies\"]?.score_description ??\n `<p class=\"obs-none\">None</p>`}\n ></div>\n </div>\n <table class=\"cookies\">\n <thead>\n <tr>\n <th>Name</th>\n <th>\n <a\n target=\"_blank\"\n href=\"/en-US/docs/Web/Security/Practical_implementation_guides/Cookies#expires\"\n >Expires</a\n >\n </th>\n <th>\n <a\n target=\"_blank\"\n href=\"/en-US/docs/Web/Security/Practical_implementation_guides/Cookies#path\"\n >Path</a\n >\n </th>\n <th>\n <a\n target=\"_blank\"\n href=\"/en-US/docs/Web/Security/Practical_implementation_guides/Cookies#secure\"\n >Secure</a\n >\n </th>\n <th>\n <a\n target=\"_blank\"\n href=\"/en-US/docs/Web/Security/Practical_implementation_guides/Cookies#httponly\"\n >HttpOnly</a\n >\n </th>\n <th>\n <a\n target=\"_blank\"\n href=\"/en-US/docs/Web/Security/Practical_implementation_guides/Cookies#samesite\"\n >SameSite</a\n >\n </th>\n <th>\n <a\n target=\"_blank\"\n href=\"/en-US/docs/Web/Security/Practical_implementation_guides/Cookies#name\"\n >Prefix</a\n >\n </th>\n </tr>\n </thead>\n <tbody>\n ${rows}\n </tbody>\n </table>\n `;\n}\n","import { html } from \"lit\";\n\nimport { headerLink } from \"../observatory/utils.js\";\n\nimport \"../observatory-header-link/element.js\";\n\n/**\n *\n * @param {{result: import(\"@observatory\").Result}} props\n * @returns { import(\"@lit\").TemplateResult }\n */\nexport function RawHeaders({ result }) {\n if (!result.scan.response_headers) {\n return html`\n <table class=\"headers\">\n <tbody>\n <tr>\n <td>No headers detected</td>\n </tr>\n </tbody>\n </table>\n `;\n }\n\n const rows = Object.entries(result.scan.response_headers).map(\n ([header, value]) => html`\n <tr>\n <td data-header=\"Header\">\n <mdn-observatory-header-link header=${header}>\n ${headerLink(header)}\n </mdn-observatory-header-link>\n </td>\n <td data-header=\"Value\">${value}</td>\n </tr>\n `,\n );\n\n return html`\n <table class=\"headers\">\n <thead>\n <tr>\n <th>Header</th>\n <th>Value</th>\n </tr>\n </thead>\n <tbody>\n ${rows}\n </tbody>\n </table>\n `;\n}\n","import { html, nothing } from \"lit\";\n\nimport { formatDateTime, formatMinus } from \"../observatory/utils.js\";\n\n/**\n *\n * @param {{result: import(\"@observatory\").Result}} props\n * @returns { import(\"@lit\").TemplateResult | nothing }\n */\nexport function History({ result }) {\n if (result.history.length === 0) {\n return nothing;\n }\n\n const rows = [...result.history].reverse().map(\n ({ scanned_at, score, grade }) => html`\n <tr>\n <td data-header=\"Date\">${formatDateTime(new Date(scanned_at))}</td>\n <td data-header=\"Score\">${score}</td>\n <td data-header=\"Grade\">${formatMinus(grade)}</td>\n </tr>\n `,\n );\n\n return html`\n <h2>Changes in score over time</h2>\n <table class=\"history\">\n <thead>\n <tr>\n <th>Date</th>\n <th>Score</th>\n <th>Grade</th>\n </tr>\n </thead>\n <tbody>\n ${rows}\n </tbody>\n </table>\n `;\n}\n","import { html } from \"lit\";\n\n/**\n *\n * @param {{result: import(\"@observatory\").Result}} result\n * @returns { import(\"@lit\").TemplateResult }\n */\nexport function Comparison({ result }) {\n return html`\n <h2>Performance trends from the past year</h2>\n <mdn-observatory-comparison-table\n .result=${result}\n ></mdn-observatory-comparison-table>\n <p>\n Refer to this graph to assess the website's current status. By following\n the recommendations provided and rescanning, you can expect an improvement\n in the website's grade.\n </p>\n `;\n}\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]!../../node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[4].use[2]!../visually-hidden/global.css\";\nimport ___CSS_LOADER_AT_RULE_IMPORT_1___ from \"-!../../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[4].use[1]!../../node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[4].use[2]!../button/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___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_1___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.scan-result{background-color:var(--color-background-primary);border-radius:var(--border-radius);column-gap:var(--spacing);display:grid;grid-template-areas:\"grade data actions\";grid-template-columns:auto 3fr 1fr;justify-content:space-between;margin-bottom:3rem;max-width:var(--max-width);padding:var(--spacing)}@media (max-width:1200px){.scan-result{align-items:flex-start;grid-template-areas:\"grade data actions\";grid-template-columns:auto 1fr auto;justify-content:space-between;row-gap:calc(var(--spacing)/2)}}@media (max-width:992px){.scan-result{grid-template-areas:\"grade data \" \". actions\";grid-template-columns:min-content 1fr}}:host{line-height:var(--font-line-content)}.trend{margin-top:1rem}.arrow-down{color:var(--observatory-arrow-down-color)}.arrow-up{color:var(--observatory-arrow-up-color)}h2{font-size:1.375rem;font-weight:600;margin-bottom:1rem;margin-top:1.5rem}h2:before{background-color:var(--color-text-primary);content:\"\";display:inline-block;-webkit-mask-position:left;mask-position:left;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain}h2 .host{font-weight:400}h2.summary:before{height:1.4rem;-webkit-mask-image:var(--summary-icon);mask-image:var(--summary-icon);width:2rem}h2.result:before{height:1.2rem;-webkit-mask-image:var(--results-icon);mask-image:var(--results-icon);width:2rem}code{font-weight:600}.grade-trend{grid-area:grade;justify-self:start}.data{grid-area:data}.actions{grid-area:actions}mdn-observatory-rescan-button{min-width:30rem}.info-tooltip{background:none;border:none;cursor:pointer;display:inline-block;position:relative}.scan-another{font-size:var(--font-size-small);font-weight:400;margin-top:1.2rem}.label{font-weight:600}a{color:var(--color-text-primary);-webkit-text-decoration:none;text-decoration:none}a:hover{-webkit-text-decoration:underline;text-decoration:underline;text-decoration-color:var(--color-text-secondary)}.grade{background:var(--grade-bg);border:1px solid var(--grade-border);border-radius:.2em;color:var(--grade-border);display:inline-block;font-size:1.7rem;font-weight:600;height:5rem;line-height:5rem;text-align:center;width:5rem}.grade-a{--grade-bg:var(--observatory-grade-a-bg);--grade-border:var(--observatory-grade-a-border)}.grade-b{--grade-bg:var(--observatory-grade-b-bg);--grade-border:var(--observatory-grade-b-border)}.grade-c{--grade-bg:var(--observatory-grade-c-bg);--grade-border:var(--observatory-grade-c-border)}.grade-d{--grade-bg:var(--observatory-grade-d-bg);--grade-border:var(--observatory-grade-d-border)}.grade-f{--grade-bg:var(--observatory-grade-f-bg);--grade-border:var(--observatory-grade-f-border)}.tooltip-popup{--tooltip-offset:-6.3rem;--csstools-light-dark-toggle--0:var(--csstools-color-scheme--light) #696969;--color-tooltip:var(--csstools-light-dark-toggle--0,#b3b3b3);--csstools-light-dark-toggle--1:var(--csstools-color-scheme--light) #1b1b1b;--color-tooltip-highlight:var(--csstools-light-dark-toggle--1,#fff);--csstools-light-dark-toggle--2:var(--csstools-color-scheme--light) #fff;--color-bg-tooltip:var(--csstools-light-dark-toggle--2,#1b1b1b);background-color:var(--color-bg-tooltip);border-radius:var(--border-radius);border-width:0;color:var(--color-tooltip);inset:unset;line-height:var(--font-line-content);margin-top:.5rem;max-width:min(100vw,20rem);overflow:visible;padding:1.5rem;position:relative;text-align:center;transform:translateX(var(--tooltip-offset));width:max-content;z-index:1}@supports (color:light-dark(red,red)){.tooltip-popup{--color-tooltip:light-dark(#b3b3b3,#696969);--color-tooltip-highlight:light-dark(#fff,#1b1b1b);--color-bg-tooltip:light-dark(#1b1b1b,#fff)}}@supports not (color:light-dark(tan,tan)){.tooltip-popup *{--csstools-light-dark-toggle--0:var(--csstools-color-scheme--light) #696969;--color-tooltip:var(--csstools-light-dark-toggle--0,#b3b3b3);--csstools-light-dark-toggle--1:var(--csstools-color-scheme--light) #1b1b1b;--color-tooltip-highlight:var(--csstools-light-dark-toggle--1,#fff);--csstools-light-dark-toggle--2:var(--csstools-color-scheme--light) #fff;--color-bg-tooltip:var(--csstools-light-dark-toggle--2,#1b1b1b)}}.tooltip-popup .arrow{margin-left:-1rem;margin-top:-2rem;padding:0;position:absolute;fill:var(--color-bg-tooltip)}.tooltip-popup table{border:0;border-collapse:collapse;white-space:nowrap;width:10rem}:is(.tooltip-popup table) tr{color:var(--color-tooltip);font-size:.875rem}.current:is(:is(.tooltip-popup table) tr){color:var(--color-tooltip-highlight)}:is(.tooltip-popup table) td,:is(.tooltip-popup table) th{background-color:unset;border:0;font-weight:var(--font-body);text-align:left;width:50%}:is(.tooltip-popup table) th{font-size:1rem;padding:0 0 .75rem}:is(.tooltip-popup table) td{padding:0}:is(:is(.tooltip-popup table) td) svg{vertical-align:-.3rem}.scroll-container{margin-bottom:1.5rem;margin-top:.8rem;overflow-x:auto;overscroll-behavior-x:none}.detail-header{display:flex;gap:.5rem;padding:0 1.5rem 0 0}.detail-header .arrow{color:var(--color-text-secondary)}.detail-header .detail-header-title{font-weight:600;padding-right:.2rem}.detail-header p{margin:1rem 0}:is(.obs-pass-icon svg.pass) path{fill:var(--observatory-pass-icon-bg)}:is(.obs-pass-icon svg.pass) circle{fill:var(--observatory-pass-icon-color)}:is(.obs-pass-icon svg.fail) path{fill:var(--observatory-fail-icon-bg)}:is(.obs-pass-icon svg.fail) circle{fill:var(--observatory-fail-icon-color)}.footnote{font-size:var(--type-smaller-font-size);margin-top:1rem}.scan-results table{background:var(--observatory-table-bg);border:none;border-collapse:collapse;min-width:calc(992px - 14rem);width:100%}:is(.scan-results table) th{background:var(--observatory-table-header-bg);color:var(--color-text-secondary);font-weight:500;vertical-align:top}:is(:is(.scan-results table) th) tr{background-color:unset}:is(.scan-results table) tr:nth-child(2n){background-color:var(--observatory-table-bg-alternate)}:is(.scan-results table) td{overflow-wrap:anywhere;padding:.5rem 1.5rem;vertical-align:top}.cookie-name:is(:is(.scan-results table) td):first-child{max-width:15rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.score:is(:is(.scan-results table) td)>span{display:flex;flex-direction:row;justify-content:space-between}:is(.scan-results table) a{color:var(--color-text-primary);-webkit-text-decoration:underline;text-decoration:underline;text-decoration-color:var(--color-text-secondary)}:is(:is(.scan-results table) a):active,:is(:is(.scan-results table) a):hover{-webkit-text-decoration:none;text-decoration:none}:is(.scan-results table) span.not-counted{color:var(--color-text-secondary)}:is(:is(.scan-results table) span.not-counted) a{-webkit-text-decoration:none;text-decoration:none}:is(.tests:is(.scan-results table) th,.tests:is(.scan-results table) td):first-of-type{width:25%}.tests:is(.scan-results table) td.score{white-space:nowrap}:is(.csp:is(.scan-results table) th,.csp:is(.scan-results table) td):first-of-type{width:45%}:is(.headers:is(.scan-results table) th,.headers:is(.scan-results table) td):first-of-type{width:30%}:is(.cookies:is(.scan-results table) th,.cookies:is(.scan-results table) td):nth-of-type(n+3){text-align:center}:is(.scan-results table) td,:is(.scan-results table) th{border:none;padding:1.5rem}:is(:is(.scan-results table) th,:is(.scan-results table) td) :first-child{margin-top:0}:is(:is(.scan-results table) th,:is(.scan-results table) td) :last-child{margin-bottom:0}:is(.scan-results table) .icon{height:1.3rem;width:1.3rem}@media (max-width:426px){:is(:is(:is(.scan-results table) td) .iso-date) code{font-size:x-small}}@media (max-width:992px){.scan-results table{min-width:0}:is(.scan-results table) thead{display:none}:is(.scan-results table) tbody{display:block}:is(.scan-results table) tr{display:grid;grid-template-columns:max-content auto}:is(.scan-results table) tr:nth-of-type(odd){background:var(--observatory-table-header-bg)}:is(.scan-results table) td{column-gap:2em;display:grid;grid-auto-flow:column;grid-column:span 2;grid-template-columns:subgrid}:is(:is(.scan-results table) td) .humanized-duration{display:none}:is(.scan-results table) td:before{content:attr(data-header);display:inline;font-weight:600}:is(.tests:is(.scan-results table),.csp:is(.scan-results table),.headers:is(.scan-results table),.cookies:is(.scan-results table)) td:first-of-type{width:auto}:is(.scan-results table) td:not(:last-of-type){padding-bottom:0}:is(.scan-results table) td:nth-of-type(n+2){padding-top:.75rem}.cookies:is(.scan-results table) td:nth-of-type(n+3){text-align:left}:is(.scan-results table) td.score{display:grid}:is(:is(.scan-results table) td.score)>span{display:block}:is(:is(.scan-results table) td.score) .obs-pass-icon{display:inline-block;height:1.5em;vertical-align:top}}ol.tabs-list{column-gap:3rem;display:grid;grid-template-areas:\"tab-0 tab-1 tab-2 tab-3 tab-4 tab-5 .\" \"hr hr hr hr hr hr hr \" \"mod mod mod mod mod mod mod\";grid-template-columns:repeat(6,max-content) 1fr;margin:0;overflow-x:auto;overscroll-behavior-x:none;padding:0}@media (max-width:992px){ol.tabs-list{column-gap:1.75rem;grid-template-columns:repeat(6,max-content) auto}}ol.tabs-list:before{border:none;border-top:1px solid var(--color-border-primary);content:\"\";grid-area:hr;margin:0;width:100%}ol.tabs-list input[type=radio]:not(:checked)~.tab-content{display:none}ol.tabs-list li.tabs-list-item{display:contents}:is(ol.tabs-list li.tabs-list-item)>input:checked+label{border-bottom:2px solid var(--observatory-accent);color:var(--color-text-primary)}:is(ol.tabs-list li.tabs-list-item)>input:not(:checked)+label:hover{border-bottom:2px solid var(--observatory-accent-light);color:var(--color-text-primary)}:is(ol.tabs-list li.tabs-list-item)>input:checked:focus-visible+label{outline-color:var(--accent-primary);outline-offset:1px;outline-style:auto}:is(ol.tabs-list li.tabs-list-item)>input:not(:checked)+label{color:var(--color-text-secondary);opacity:.775}:is(ol.tabs-list li.tabs-list-item)>label{cursor:pointer;height:2.2rem;width:max-content}#tabs-0:is(ol.tabs-list li.tabs-list-item)>input,#tabs-0:is(ol.tabs-list li.tabs-list-item)>label{grid-area:tab-0}#tabs-1:is(ol.tabs-list li.tabs-list-item)>input,#tabs-1:is(ol.tabs-list li.tabs-list-item)>label{grid-area:tab-1}#tabs-2:is(ol.tabs-list li.tabs-list-item)>input,#tabs-2:is(ol.tabs-list li.tabs-list-item)>label{grid-area:tab-2}#tabs-3:is(ol.tabs-list li.tabs-list-item)>input,#tabs-3:is(ol.tabs-list li.tabs-list-item)>label{grid-area:tab-3}#tabs-4:is(ol.tabs-list li.tabs-list-item)>input,#tabs-4:is(ol.tabs-list li.tabs-list-item)>label{grid-area:tab-4}#tabs-5:is(ol.tabs-list li.tabs-list-item)>input,#tabs-5:is(ol.tabs-list li.tabs-list-item)>label{grid-area:tab-5}:is(ol.tabs-list li.tabs-list-item)>section.tab-content{grid-area:mod;left:0;margin:0;position:sticky}@media (max-width:992px){:is(ol.tabs-list li.tabs-list-item)>section.tab-content{width:calc(100vw - 15rem)}}@media (max-width:769px){:is(ol.tabs-list li.tabs-list-item)>section.tab-content{width:calc(100vw - 2rem)}}`, \"\"]);\n// Exports\nexport default css([___CSS_LOADER_EXPORT___.toString()]);\n"],"names":["Set","MDNObservatoryResults","String","Number","Boolean","Error","fetch","encodeURIComponent","globalThis","URLSearchParams","Date","Object","t","customElements"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"5531.ff59053d35a9ebc5.js","sources":["webpack://@mdn/fred/./components/observatory/assets/stars.svg","webpack://@mdn/fred/./components/observatory/assets/tooltip-arrow.svg","webpack://@mdn/fred/./components/observatory-results/csp.js","webpack://@mdn/fred/./components/observatory-results/element.js","webpack://@mdn/fred/./components/observatory-results/rating.js","webpack://@mdn/fred/./components/observatory-results/tooltip.js","webpack://@mdn/fred/./components/observatory-results/trend.js","webpack://@mdn/fred/./components/observatory-results/tabs.js","webpack://@mdn/fred/./components/observatory-results/scoring.js","webpack://@mdn/fred/./components/observatory-results/cookies.js","webpack://@mdn/fred/./components/observatory-results/raw-headers.js","webpack://@mdn/fred/./components/observatory-results/history.js","webpack://@mdn/fred/./components/observatory-results/comparison.js","webpack://@mdn/fred/./components/observatory-results/element.css"],"sourcesContent":["import { svg } from \"lit\"; export default svg`<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"22\" height=\"22\" fill=\"none\" viewBox=\"0 0 22 22\"><path fill=\"#DFD172\" d=\"m18 0-1.26 2.75L14 4l2.74 1.26L18 8l1.25-2.74L22 4l-2.75-1.25M8 3 5.5 8.5 0 11l5.5 2.5L8 19l2.5-5.5L16 11l-5.5-2.5M18 14l-1.26 2.74L14 18l2.74 1.25L18 22l1.25-2.75L22 18l-2.75-1.26\"/></svg>`;","import { svg } from \"lit\"; export default svg`<svg width=\"22\" height=\"22\" class=\"arrow\" viewBox=\"0 0 22 22\"><path d=\"M12.124 1.733a1 1 0 0 1 1.673 0l8.811 13.423a1 1 0 0 1-.835 1.548l-17.614.007a1 1 0 0 1-.837-1.548Z\"/></svg>`;","import { html } from \"lit\";\n\nimport { PassIcon } from \"../observatory/utils.js\";\n\n/** @type {(keyof import(\"@observatory\").CSPPolicy)[]} */\nconst policyTests = [\n \"unsafeInline\",\n \"unsafeEval\",\n \"unsafeObjects\",\n \"unsafeInlineStyle\",\n \"insecureSchemeActive\",\n \"insecureSchemePassive\",\n \"antiClickjacking\",\n \"defaultNone\",\n \"insecureBaseUri\",\n \"insecureFormAction\",\n \"strictDynamic\",\n];\n\n// Policies where pass means bad\nconst negatedPolicies = new Set([\n \"insecureBaseUri\",\n \"insecureFormAction\",\n \"insecureSchemeActive\",\n \"insecureSchemePassive\",\n \"unsafeEval\",\n \"unsafeInline\",\n \"unsafeInlineStyle\",\n \"unsafeObjects\",\n]);\n\n/**\n *\n * @param {{result: import(\"@observatory\").Result}} props\n * @returns { import(\"@lit\").TemplateResult }\n */\nexport function CSP({ result }) {\n const policy = result.tests[\"content-security-policy\"]?.policy;\n const pass = result.tests[\"content-security-policy\"]?.pass || false;\n\n if (!policy) {\n if (\n result.tests[\"content-security-policy\"]?.result ===\n \"csp-not-implemented-but-reporting-enabled\"\n ) {\n return html`\n <table class=\"csp\">\n <tbody>\n <tr>\n <td>\n <p>\n <code>Content-Security-Policy-Report-Only</code> header\n detected. Implement an enforced policy; see\n <a href=\"/en-US/docs/Web/HTTP/CSP\" target=\"_blank\">\n MDN's Content Security Policy (CSP) documentation </a\n >.\n </p>\n </td>\n </tr>\n </tbody>\n </table>\n `;\n }\n\n return html`\n <table class=\"csp\">\n <tbody>\n <tr>\n <td>\n <p>No CSP headers detected</p>\n </td>\n </tr>\n </tbody>\n </table>\n `;\n }\n\n const rows = policyTests.map((pt) => {\n if (!policy[pt]) return null;\n /** @type {import(\"@observatory\").PolicyItem} */\n const p = policy[pt];\n\n return html`\n <tr>\n <td data-header=\"Test\" .innerHTML=${p.description}></td>\n <td data-header=\"Pass\">\n ${PassIcon({\n pass: negatedPolicies.has(pt) ? !p.pass : p.pass,\n })}\n </td>\n <td data-header=\"Info\" .innerHTML=${p.info}></td>\n </tr>\n `;\n });\n\n return html`\n <div class=\"detail-header\">\n <p class=\"arrow\">${PassIcon({ pass })}</p>\n <div\n class=\"detail-header-content\"\n .innerHTML=${result.tests[\"content-security-policy\"]\n ?.score_description ?? `<p class=\"obs-none\">None</p>`}\n ></div>\n </div>\n\n <table class=\"csp\">\n <thead>\n <tr>\n <th>Test</th>\n <th>Result</th>\n <th>Info</th>\n </tr>\n </thead>\n <tbody>\n ${rows}\n </tbody>\n </table>\n `;\n}\n","import { Task } from \"@lit/task\";\nimport { LitElement, html } from \"lit\";\nimport { nothing } from \"lit\";\n\nimport { OBSERVATORY_API_URL } from \"../observatory/constants.js\";\n\nimport styles from \"./element.css?lit\";\nimport { Rating } from \"./rating.js\";\nimport { Tabs } from \"./tabs.js\";\n\nimport \"../../components/progress-bar/element.js\";\nimport \"../../components/observatory-comparison-table/element.js\";\nimport \"../../components/observatory-human-duration/element.js\";\n\nexport class MDNObservatoryResults extends LitElement {\n static styles = styles;\n\n constructor() {\n super();\n /** @type { string | null } */\n this.host = null;\n /** @type { number } */\n this.selectedTab = 0;\n /** @type { boolean } */\n this._usePostInApi = false;\n }\n\n /**\n * @type { import(\"@lit\").PropertyDeclarations }\n */\n static properties = {\n host: { type: String },\n selectedTab: { state: true, type: Number },\n _usePostInApi: { state: true, type: Boolean },\n };\n\n _apiTask = new Task(this, {\n args: () => [this.host],\n task: async ([host], { signal }) => {\n if (!host) {\n throw new Error(\"No host provided\");\n }\n try {\n const res = await fetch(\n `${OBSERVATORY_API_URL}/api/v2/analyze?host=${encodeURIComponent(\n host,\n )}`,\n { signal, method: this._usePostInApi ? \"POST\" : \"GET\" },\n );\n if (!res.ok) {\n let message = `${res.status}: ${res.statusText}`;\n try {\n const data = await res.json();\n if (data.error) {\n message = data.message;\n }\n } catch {\n // Ignore.\n }\n throw new Error(message);\n }\n return await res.json();\n } catch (error) {\n throw new Error(\"Observatory API request for scan data failed\", {\n cause: error,\n });\n }\n },\n });\n\n connectedCallback() {\n super.connectedCallback();\n this._updateSelectedTab = this._updateSelectedTab.bind(this);\n this.selectedTab = this._getSelectedTab();\n globalThis.addEventListener(\"hashchange\", this._updateSelectedTab);\n }\n\n disconnectedCallback() {\n super.disconnectedCallback();\n globalThis.removeEventListener(\"hashchange\", this._updateSelectedTab);\n }\n\n firstUpdated() {\n const params = new URLSearchParams(globalThis.location.search);\n this.host = params.get(\"host\");\n }\n\n _updateSelectedTab() {\n this.selectedTab = this._getSelectedTab();\n }\n\n /**\n * @returns {number}\n */\n _getSelectedTab() {\n const hash = globalThis.location.hash.replace(\"#\", \"\");\n const tabs = [\n \"scoring\",\n \"csp\",\n \"cookies\",\n \"headers\",\n \"history\",\n \"benchmark\",\n ];\n const index = tabs.indexOf(hash);\n return index === -1 ? 0 : index;\n }\n\n /**\n *\n * @param {Event} e\n */\n async _rescan(e) {\n e.preventDefault();\n if (!this.host) {\n return;\n }\n this._usePostInApi = true;\n this._apiTask.run();\n }\n\n /**\n *\n * @param {number} index\n * @param {string} key\n */\n _handleTabSelect(index, key) {\n this.selectedTab = index;\n globalThis.history.replaceState(\n \"\",\n \"\",\n globalThis.location.pathname + globalThis.location.search + \"#\" + key,\n );\n }\n\n render() {\n if (!this.host) {\n return nothing;\n }\n return this._apiTask.render({\n pending: () =>\n html` <label class=\"visually-hidden\" for=\"progress-bar\">\n Rescanning ${this.host} </label\n ><mdn-progress-bar id=\"progress-bar\"></mdn-progress-bar>`,\n\n complete: (data) => html`\n <section class=\"summary\">\n ${Rating({\n result: data,\n host: this.host || \"\",\n rescan: this._rescan,\n })}\n </section>\n <section class=\"results\">\n ${Tabs({\n result: data,\n selectedTab: this.selectedTab,\n onTabSelect: (index, key) => this._handleTabSelect(index, key),\n })}\n </section>\n </div>`,\n\n error: (e) => html`<div class=\"error\">${e}</div>`,\n });\n }\n}\n\ncustomElements.define(\"mdn-observatory-results\", MDNObservatoryResults);\n","import { html } from \"lit\";\n\nimport { formatMinus, hostAsRedirectChain } from \"../observatory/utils.js\";\n\nimport { Tooltip } from \"./tooltip.js\";\nimport { Trend } from \"./trend.js\";\n\nimport \"../observatory-rescan-button/element.js\";\n\n/**\n *\n * @param {{result: import(\"@observatory\").Result, host: string, rescan: Function}} props\n * @returns {import(\"@lit\").TemplateResult}\n */\nexport function Rating({ result, host, rescan }) {\n return html`\n <h2 class=\"summary\">\n Scan summary:\n <span class=\"host\">${hostAsRedirectChain(host, result)}</span>\n </h2>\n <section class=\"scan-result\">\n <section class=\"grade-trend\">\n <div class=\"overall\">\n <button\n popovertarget=\"grade-popover\"\n aria-label=\"show info tooltip\"\n class=\"info-tooltip\"\n tabindex=\"0\"\n >\n <div\n class=${`grade grade-${result.scan.grade?.[0]?.toLowerCase()}`}\n >\n ${formatMinus(result.scan.grade)}\n </div>\n ${Tooltip(result)}\n </button>\n </div>\n ${Trend({ result })}\n </section>\n <section class=\"data\">\n <div>\n <a href=\"/en-US/observatory/docs/tests_and_scoring\" target=\"_blank\">\n <span class=\"label\">Score</span></a\n >: ${result.scan.score} / 100\n </div>\n <div>\n <a href=\"#history\"> <span class=\"label\">Scan Time</span></a\n >:\n <mdn-observatory-human-duration\n .date=${new Date(result.scan.scanned_at)}\n ></mdn-observatory-human-duration>\n </div>\n <a href=\"/en-US/observatory/docs/tests_and_scoring\" target=\"_blank\">\n <span class=\"label\">Tests Passed</span></a\n >: ${result.scan.tests_passed} / \n ${result.scan.tests_quantity}\n </section>\n <section class=\"actions\">\n <mdn-observatory-rescan-button\n .from=${new Date(result.scan.scanned_at)}\n .duration=${60}\n @click=${rescan}\n ></mdn-observatory-rescan-button>\n <div class=\"scan-another\">\n <a href=\"/en-US/observatory\"> Scan another website </a>\n </div>\n </section>\n </section>\n `;\n}\n","import { html } from \"lit\";\n\nimport starsSvg from \"../observatory/assets/stars.svg?lit\";\nimport arrowSvg from \"../observatory/assets/tooltip-arrow.svg?lit\";\nimport { SCORING_TABLE } from \"../observatory/constants.js\";\nimport { formatMinus } from \"../observatory/utils.js\";\n\n/**\n */\n\n/**\n *\n * @param {import(\"@observatory\").Result} result\n */\nexport function Tooltip(result) {\n const rows = SCORING_TABLE.map((st) => {\n return html`\n <tr class=${result.scan.grade === st.grade ? \"current\" : \"\"}>\n <td>${formatMinus(st.grade)}</td>\n <td>\n ${st.scoreText}\n ${result.scan.grade === st.grade && st.stars ? starsSvg : \"\"}\n </td>\n </tr>\n `;\n });\n\n return html`\n <span\n popover\n id=\"grade-popover\"\n aria-describedby=\"grade-table\"\n class=\"tooltip-popup\"\n >\n ${arrowSvg}\n <table class=\"grade-tooltip\" id=\"grades-table\" role=\"tooltip\">\n <thead>\n <tr>\n <th>Grade</th>\n <th>Score</th>\n </tr>\n </thead>\n <tbody>\n ${rows}\n </tbody>\n </table>\n </span>\n `;\n}\n","import { html, nothing } from \"lit\";\n\n/**\n *\n * @param {{result: import(\"@observatory\").Result}} props\n * @returns {import(\"@lit\").TemplateResult | nothing}\n */\nexport function Trend({ result }) {\n switch (arrowState(result)) {\n case \"up\": {\n return html`\n <div class=\"trend\">\n <span class=\"arrow-up\" aria-hidden=\"true\"> ↗︎ </span>\n since last scan\n </div>\n `;\n }\n case \"down\": {\n return html`\n <div class=\"trend\">\n <span class=\"arrow-down\" aria-hidden=\"true\"> ↘︎ </span>\n since last scan\n </div>\n `;\n }\n default: {\n return nothing;\n }\n }\n}\n\n/**\n *\n * @param {import(\"@observatory\").Result} result\n * @returns {\"up\" | \"down\" | \"none\"}\n */\nfunction arrowState(result) {\n const [oldScore, oldGrade] =\n result.history.length > 0\n ? [result.history.at(-2)?.score, result.history.at(-2)?.grade]\n : [undefined, undefined];\n const newScore = result.scan.score;\n const newGrade = result.scan.grade;\n if (\n typeof newScore === \"number\" &&\n typeof oldScore === \"number\" &&\n newGrade !== oldGrade &&\n newScore !== oldScore\n ) {\n return oldScore < newScore ? \"up\" : \"down\";\n } else {\n return \"none\";\n }\n}\n","import { html } from \"lit\";\n\nimport { Comparison } from \"./comparison.js\";\nimport { Cookies } from \"./cookies.js\";\nimport { CSP } from \"./csp.js\";\nimport { History } from \"./history.js\";\nimport { RawHeaders } from \"./raw-headers.js\";\nimport { Scoring } from \"./scoring.js\";\n\n/**\n * @param {{\n * result: import(\"@observatory\").Result,\n * selectedTab: number,\n * onTabSelect: (index: number, key: string) => void\n * }} props\n * @returns {import(\"@lit\").TemplateResult}\n */\nexport function Tabs({ result, selectedTab = 0, onTabSelect }) {\n const tabs = [\n {\n label: \"Scoring\",\n key: \"scoring\",\n element: html`${Scoring({ result })}`,\n },\n {\n label: \"CSP analysis\",\n key: \"csp\",\n element: html`${CSP({ result })}`,\n },\n {\n label: \"Cookies\",\n key: \"cookies\",\n element: html`${Cookies({ result })}`,\n },\n {\n label: \"Raw server headers\",\n key: \"headers\",\n element: html`${RawHeaders({ result })}`,\n },\n {\n label: \"Scan history\",\n key: \"history\",\n element: html`${History({ result })}`,\n },\n {\n label: \"Benchmark comparison\",\n key: \"benchmark\",\n element: html`${Comparison({ result })}`,\n },\n ];\n\n const tabElements = tabs.map((tab, i) => {\n const onChange = () => onTabSelect(i, tab.key);\n return html`\n <li id=\"tabs-${i}\" class=\"tabs-list-item\">\n <input\n class=\"visually-hidden\"\n id=\"tab-${i}\"\n name=\"selected\"\n type=\"radio\"\n role=\"tab\"\n .checked=${i === selectedTab}\n aria-controls=\"tab-container-${i}\"\n @change=${onChange}\n />\n <label for=\"tab-${i}\" id=\"tab-label-${i}\">${tab.label}</label>\n <section\n class=\"tab-content\"\n role=\"tabpanel\"\n aria-labelledby=\"tab-label-${i}\"\n id=\"tab-container-${i}\"\n >\n <div class=\"scroll-container\">${tab.element}</div>\n </section>\n </li>\n `;\n });\n\n return html`\n <section class=\"scan-results\">\n <h2 class=\"result\" id=\"scan-results-header\">Scan results</h2>\n <ol\n class=\"tabs-list\"\n role=\"tablist\"\n aria-labelledby=\"scan-results-header\"\n >\n ${tabElements}\n </ol>\n </section>\n `;\n}\n","import { html } from \"lit\";\n\nimport { TEST_NAMES_IN_ORDER } from \"../observatory/constants.js\";\nimport { PassIcon, formatMinus } from \"../observatory/utils.js\";\n\n/**\n * @param {{overallScore: number, scoreModifier: number}} props\n * @returns {import(\"@lit\").TemplateResult}\n */\nfunction ScoreModifier({ overallScore, scoreModifier }) {\n const bonusEligible = overallScore >= 90;\n const formattedScoreModifier = formatMinus(\n `${scoreModifier > 0 ? `+${scoreModifier}` : scoreModifier}`,\n );\n\n return html`\n <span class=${!bonusEligible && scoreModifier > 0 ? \"not-counted\" : \"\"}>\n ${!bonusEligible && scoreModifier > 0\n ? html`0<sup><a href=\"#bonus-points-explanation\">*</a></sup>`\n : formattedScoreModifier}\n </span>\n `;\n}\n\n/**\n *\n * @param {{ result: import(\"@observatory\").Result}} result\n * @returns {import(\"@lit\").TemplateResult}\n */\nexport function Scoring({ result }) {\n const showFootnote =\n (result.scan.score || 0) <= 90 &&\n Object.entries(result.tests).find(([_n, t]) => t.score_modifier > 0);\n\n // empty case, should not happen\n if (Object.keys(result.tests).length === 0) {\n return html`No tests found.`;\n }\n\n const rows = TEST_NAMES_IN_ORDER.map((name) => {\n const test = result.tests[name];\n if (!test) return null;\n\n return html`\n <tr>\n <td data-header=\"Test\">\n <a\n href=${test.link}\n target=\"_blank\"\n rel=\"noreferrer\"\n class=${test.link.startsWith(\"/\") ? \"\" : \"external\"}\n >\n ${test.title}\n </a>\n </td>\n ${test.pass === null\n ? html`<td data-header=\"Score\">-</td>`\n : html` <td class=\"score\" data-header=\"Score\">\n <span>\n <span class=\"obs-score-value\">\n ${ScoreModifier({\n overallScore: result.scan.score || 0,\n scoreModifier: test.score_modifier,\n })}\n </span>\n ${PassIcon({ pass: test.pass })}\n </span>\n </td>`}\n <td data-header=\"Reason\" .innerHTML=${test.score_description}></td>\n <td\n data-header=\"Advice\"\n .innerHTML=${test.recommendation || `<p class=\"obs-none\">None</p>`}\n ></td>\n </tr>\n `;\n });\n\n return html`\n <table class=\"tests\">\n <thead>\n <tr>\n <th>Test</th>\n <th>Score</th>\n <th>Reason</th>\n <th>Recommendation</th>\n </tr>\n </thead>\n <tbody>\n ${rows}\n </tbody>\n </table>\n ${showFootnote\n ? html` <section class=\"footnote\" id=\"bonus-points-explanation\">\n <sup>*</sup> Normally awards bonus points, however, in this case they\n are not included in the overall score (\n <a href=\"/en-US/observatory/docs/tests_and_scoring\" target=\"_blank\">\n find out why\n </a>\n ).\n </section>`\n : null}\n `;\n}\n","import { html } from \"lit\";\n\nimport {\n CookiePrefix,\n PassIcon,\n Timestamp,\n upperCaseHeaderName,\n} from \"../observatory/utils.js\";\n\n/**\n *\n * @param {{result: import(\"@observatory\").Result}} props\n * @returns { import(\"@lit\").TemplateResult }\n */\nexport function Cookies({ result }) {\n const cookies = result.tests[\"cookies\"]?.data;\n const pass = result.tests[\"cookies\"]?.pass;\n\n if (!cookies || Object.keys(cookies).length === 0) {\n return html`\n <table class=\"cookies\">\n <tbody>\n <tr>\n <td>No cookies detected</td>\n </tr>\n </tbody>\n </table>\n `;\n }\n\n const rows = Object.entries(cookies).map(\n ([key, value]) => html`\n <tr>\n <td data-header=\"Name\" class=\"cookie-name\">${key}</td>\n <td data-header=\"Expires\">\n ${value.expires ? Timestamp({ expires: value.expires }) : \"Session\"}\n </td>\n <td data-header=\"Path\">\n <code>${value.path}</code>\n </td>\n <td data-header=\"Secure\">${PassIcon({ pass: value.secure })}</td>\n <td data-header=\"HttpOnly\">${PassIcon({ pass: value.httponly })}</td>\n <td data-header=\"SameSite\">\n ${value.samesite\n ? html`<code>${upperCaseHeaderName(value.samesite)}</code>`\n : \"-\"}\n </td>\n <td data-header=\"Prefixed\">${CookiePrefix({ cookieName: key })}</td>\n </tr>\n `,\n );\n\n return html`\n <div class=\"detail-header\">\n <p class=\"arrow\">\n ${PassIcon({ pass: pass === undefined ? null : pass })}\n </p>\n <div\n class=\"detail-header-content\"\n .innerHTML=${result.tests[\"cookies\"]?.score_description ??\n `<p class=\"obs-none\">None</p>`}\n ></div>\n </div>\n <table class=\"cookies\">\n <thead>\n <tr>\n <th>Name</th>\n <th>\n <a\n target=\"_blank\"\n href=\"/en-US/docs/Web/Security/Practical_implementation_guides/Cookies#expires\"\n >Expires</a\n >\n </th>\n <th>\n <a\n target=\"_blank\"\n href=\"/en-US/docs/Web/Security/Practical_implementation_guides/Cookies#path\"\n >Path</a\n >\n </th>\n <th>\n <a\n target=\"_blank\"\n href=\"/en-US/docs/Web/Security/Practical_implementation_guides/Cookies#secure\"\n >Secure</a\n >\n </th>\n <th>\n <a\n target=\"_blank\"\n href=\"/en-US/docs/Web/Security/Practical_implementation_guides/Cookies#httponly\"\n >HttpOnly</a\n >\n </th>\n <th>\n <a\n target=\"_blank\"\n href=\"/en-US/docs/Web/Security/Practical_implementation_guides/Cookies#samesite\"\n >SameSite</a\n >\n </th>\n <th>\n <a\n target=\"_blank\"\n href=\"/en-US/docs/Web/Security/Practical_implementation_guides/Cookies#name\"\n >Prefix</a\n >\n </th>\n </tr>\n </thead>\n <tbody>\n ${rows}\n </tbody>\n </table>\n `;\n}\n","import { html } from \"lit\";\n\nimport { headerLink } from \"../observatory/utils.js\";\n\nimport \"../observatory-header-link/element.js\";\n\n/**\n *\n * @param {{result: import(\"@observatory\").Result}} props\n * @returns { import(\"@lit\").TemplateResult }\n */\nexport function RawHeaders({ result }) {\n if (!result.scan.response_headers) {\n return html`\n <table class=\"headers\">\n <tbody>\n <tr>\n <td>No headers detected</td>\n </tr>\n </tbody>\n </table>\n `;\n }\n\n const rows = Object.entries(result.scan.response_headers).map(\n ([header, value]) => html`\n <tr>\n <td data-header=\"Header\">\n <mdn-observatory-header-link header=${header}>\n ${headerLink(header)}\n </mdn-observatory-header-link>\n </td>\n <td data-header=\"Value\">${value}</td>\n </tr>\n `,\n );\n\n return html`\n <table class=\"headers\">\n <thead>\n <tr>\n <th>Header</th>\n <th>Value</th>\n </tr>\n </thead>\n <tbody>\n ${rows}\n </tbody>\n </table>\n `;\n}\n","import { html, nothing } from \"lit\";\n\nimport { formatDateTime, formatMinus } from \"../observatory/utils.js\";\n\n/**\n *\n * @param {{result: import(\"@observatory\").Result}} props\n * @returns { import(\"@lit\").TemplateResult | nothing }\n */\nexport function History({ result }) {\n if (result.history.length === 0) {\n return nothing;\n }\n\n const rows = [...result.history].reverse().map(\n ({ scanned_at, score, grade }) => html`\n <tr>\n <td data-header=\"Date\">${formatDateTime(new Date(scanned_at))}</td>\n <td data-header=\"Score\">${score}</td>\n <td data-header=\"Grade\">${formatMinus(grade)}</td>\n </tr>\n `,\n );\n\n return html`\n <h2>Changes in score over time</h2>\n <table class=\"history\">\n <thead>\n <tr>\n <th>Date</th>\n <th>Score</th>\n <th>Grade</th>\n </tr>\n </thead>\n <tbody>\n ${rows}\n </tbody>\n </table>\n `;\n}\n","import { html } from \"lit\";\n\n/**\n *\n * @param {{result: import(\"@observatory\").Result}} result\n * @returns { import(\"@lit\").TemplateResult }\n */\nexport function Comparison({ result }) {\n return html`\n <h2>Performance trends from the past year</h2>\n <mdn-observatory-comparison-table\n .result=${result}\n ></mdn-observatory-comparison-table>\n <p>\n Refer to this graph to assess the website's current status. By following\n the recommendations provided and rescanning, you can expect an improvement\n in the website's grade.\n </p>\n `;\n}\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]!../../node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[4].use[2]!../global/global.css\";\nimport ___CSS_LOADER_AT_RULE_IMPORT_1___ from \"-!../../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[4].use[1]!../../node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[4].use[2]!../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(\"../observatory/assets/summary-icon.svg\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_1___ = new URL(\"../observatory/assets/results-icon.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___);\n___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_1___);\nvar ___CSS_LOADER_URL_REPLACEMENT_0___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_0___);\nvar ___CSS_LOADER_URL_REPLACEMENT_1___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_1___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `:host{line-height:var(--font-line-content)}.scan-result{column-gap:2rem;display:grid;grid-template-areas:\"grade data actions\";grid-template-columns:auto 3fr 1fr;justify-content:space-between;max-width:var(--max-width)}.scan-result a{color:var(--color-text-primary)}.scan-result{background-color:var(--color-background-primary);border-radius:.3rem;margin-bottom:3rem;padding:2rem}@media (width <= 1200px){.scan-result{align-items:flex-start;grid-template-areas:\"grade data actions\";grid-template-columns:auto 1fr auto;justify-content:space-between;row-gap:calc(var(--spacing)/2)}}@media (width <= 992px){.scan-result{grid-template-areas:\"grade data \" \"grade actions\";grid-template-columns:min-content 1fr}}.trend{margin-top:1rem}.arrow-down{color:var(--observatory-arrow-down-color)}.arrow-up{color:var(--observatory-arrow-up-color)}h2{font-size:var(--font-size-large);font-weight:var(--font-weight-bold);margin-bottom:1rem;margin-top:1.5rem}h2:before{background-color:var(--color-text-primary);content:\"\";display:inline-block;-webkit-mask-position:left;mask-position:left;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain}h2 .host{font-weight:var(--font-weight-normal)}h2.summary:before{height:1.4rem;-webkit-mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_0___});mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_0___});width:2rem}h2.result:before{height:1.2rem;-webkit-mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_1___});mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_1___});width:2rem}code{font-weight:var(--font-weight-bold)}.grade-trend{grid-area:grade;justify-self:start}.data{grid-area:data}.actions{grid-area:actions}@media (width <= 992px){.actions{margin-top:1rem}}mdn-observatory-rescan-button{min-width:30rem}.info-tooltip{background:none;border:none;cursor:pointer;display:inline-block;position:relative}.scan-another{font-size:var(--font-size-small);font-weight:var(--font-weight-normal);margin-top:1.2rem}.grade,.label{font-weight:var(--font-weight-bold)}.grade{background:var(--grade-bg);border:1px solid var(--grade-border);border-radius:.2em;color:var(--grade-border);display:inline-block;font-size:var(--font-size-large);height:5rem;line-height:5rem;text-align:center;width:5rem}.grade-a{--grade-bg:var(--observatory-grade-a-bg);--grade-border:var(--observatory-grade-a-border)}.grade-b{--grade-bg:var(--observatory-grade-b-bg);--grade-border:var(--observatory-grade-b-border)}.grade-c{--grade-bg:var(--observatory-grade-c-bg);--grade-border:var(--observatory-grade-c-border)}.grade-d{--grade-bg:var(--observatory-grade-d-bg);--grade-border:var(--observatory-grade-d-border)}.grade-f{--grade-bg:var(--observatory-grade-f-bg);--grade-border:var(--observatory-grade-f-border)}.tooltip-popup{--tooltip-offset:-6.3rem;--csstools-light-dark-toggle--0:var(--csstools-color-scheme--light) #696969;--color-tooltip:var(--csstools-light-dark-toggle--0,#b3b3b3);--csstools-light-dark-toggle--1:var(--csstools-color-scheme--light) #1b1b1b;--color-tooltip-highlight:var(--csstools-light-dark-toggle--1,#fff);--csstools-light-dark-toggle--2:var(--csstools-color-scheme--light) #fff;--color-bg-tooltip:var(--csstools-light-dark-toggle--2,#1b1b1b);background-color:var(--color-bg-tooltip);border-radius:var(--border-radius);border-width:0;color:var(--color-tooltip);inset:unset;line-height:var(--font-line-content);margin-top:.5rem;max-width:min(100vw,20rem);overflow:visible;padding:1.5rem;position:relative;text-align:center;transform:translateX(var(--tooltip-offset));width:max-content;z-index:1}@supports (color:light-dark(red,red)){.tooltip-popup{--color-tooltip:light-dark(#b3b3b3,#696969);--color-tooltip-highlight:light-dark(#fff,#1b1b1b);--color-bg-tooltip:light-dark(#1b1b1b,#fff)}}@supports not (color:light-dark(tan,tan)){.tooltip-popup *{--csstools-light-dark-toggle--0:var(--csstools-color-scheme--light) #696969;--color-tooltip:var(--csstools-light-dark-toggle--0,#b3b3b3);--csstools-light-dark-toggle--1:var(--csstools-color-scheme--light) #1b1b1b;--color-tooltip-highlight:var(--csstools-light-dark-toggle--1,#fff);--csstools-light-dark-toggle--2:var(--csstools-color-scheme--light) #fff;--color-bg-tooltip:var(--csstools-light-dark-toggle--2,#1b1b1b)}}.tooltip-popup .arrow{margin-left:-1rem;margin-top:-2rem;padding:0;position:absolute;fill:var(--color-bg-tooltip)}.tooltip-popup table{border:0;border-collapse:collapse;white-space:nowrap;width:10rem}:is(.tooltip-popup table) tr{color:var(--color-tooltip);font-size:var(--font-size-small)}.current:is(:is(.tooltip-popup table) tr){color:var(--color-tooltip-highlight);font-weight:var(--font-weight-bold)}:is(.tooltip-popup table) td,:is(.tooltip-popup table) th{background-color:unset;border:0;font-weight:var(--font-body);text-align:left;width:50%}:is(.tooltip-popup table) th{font-size:var(--font-size-normal);padding:0 0 .75rem}:is(.tooltip-popup table) td{padding:0}:is(:is(.tooltip-popup table) td) svg{vertical-align:-.3rem}.scroll-container{margin-bottom:1.5rem;margin-top:.8rem;overflow-x:auto;overscroll-behavior-x:none}.detail-header{display:flex;gap:.5rem;padding:0 1.5rem 0 0}.detail-header .arrow{color:var(--color-text-secondary)}.detail-header .detail-header-title{font-weight:var(--font-weight-bold);padding-right:.2rem}.detail-header p{margin:1rem 0}:is(.obs-pass-icon svg.pass) path{fill:var(--observatory-pass-icon-bg)}:is(.obs-pass-icon svg.pass) circle{fill:var(--observatory-pass-icon-color)}:is(.obs-pass-icon svg.fail) path{fill:var(--observatory-fail-icon-bg)}:is(.obs-pass-icon svg.fail) circle{fill:var(--observatory-fail-icon-color)}.footnote{font-size:var(--font-size-small);margin-top:1rem}.scan-results table{background:var(--observatory-table-bg);border:none;border-collapse:collapse;min-width:calc(992px - 14rem);width:100%}:is(.scan-results table) th{background:var(--observatory-table-header-bg);color:var(--color-text-secondary);font-weight:500;vertical-align:top}:is(:is(.scan-results table) th) tr{background-color:unset}:is(.scan-results table) tr:nth-child(2n){background-color:var(--observatory-table-bg-alternate)}:is(.scan-results table) td{overflow-wrap:anywhere;padding:.5rem 1.5rem;vertical-align:top}.cookie-name:is(:is(.scan-results table) td):first-child{max-width:15rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.score:is(:is(.scan-results table) td)>span{display:flex;flex-direction:row;justify-content:space-between}:is(.scan-results table) a{color:var(--color-text-primary);-webkit-text-decoration:underline;text-decoration:underline;text-decoration-color:var(--color-text-secondary)}:is(:is(.scan-results table) a):active,:is(:is(.scan-results table) a):hover{-webkit-text-decoration:none;text-decoration:none}:is(.scan-results table) span.not-counted{color:var(--color-text-secondary)}:is(:is(.scan-results table) span.not-counted) a{-webkit-text-decoration:none;text-decoration:none}:is(.tests:is(.scan-results table) th,.tests:is(.scan-results table) td):first-of-type{width:25%}.tests:is(.scan-results table) td.score{white-space:nowrap}:is(.csp:is(.scan-results table) th,.csp:is(.scan-results table) td):first-of-type{width:45%}:is(.headers:is(.scan-results table) th,.headers:is(.scan-results table) td):first-of-type{width:30%}:is(.cookies:is(.scan-results table) th,.cookies:is(.scan-results table) td):nth-of-type(n+3){text-align:center}:is(.scan-results table) td,:is(.scan-results table) th{border:none;padding:1.5rem}:is(:is(.scan-results table) th,:is(.scan-results table) td) :first-child{margin-top:0}:is(:is(.scan-results table) th,:is(.scan-results table) td) :last-child{margin-bottom:0}:is(.scan-results table) .icon{height:1.3rem;width:1.3rem}@media (width <= 426px){:is(:is(:is(.scan-results table) td) .iso-date) code{font-size:x-small}}@media (width <= 992px){.scan-results table{min-width:0}:is(.scan-results table) thead{display:none}:is(.scan-results table) tbody{display:block}:is(.scan-results table) tr{display:grid;grid-template-columns:max-content auto}:is(.scan-results table) tr:nth-of-type(odd){background:var(--observatory-table-header-bg)}:is(.scan-results table) td{column-gap:2em;display:grid;grid-auto-flow:column;grid-column:span 2;grid-template-columns:subgrid}:is(:is(.scan-results table) td) .humanized-duration{display:none}:is(.scan-results table) td:before{content:attr(data-header);display:inline;font-weight:var(--font-weight-bold)}:is(.tests:is(.scan-results table),.csp:is(.scan-results table),.headers:is(.scan-results table),.cookies:is(.scan-results table)) td:first-of-type{width:auto}:is(.scan-results table) td:not(:last-of-type){padding-bottom:0}:is(.scan-results table) td:nth-of-type(n+2){padding-top:.75rem}.cookies:is(.scan-results table) td:nth-of-type(n+3){text-align:left}:is(.scan-results table) td.score{display:grid}:is(:is(.scan-results table) td.score)>span{display:block}:is(:is(.scan-results table) td.score) .obs-pass-icon{display:inline-block;height:1.5em;vertical-align:top}}ol.tabs-list{column-gap:3rem;display:grid;grid-template-areas:\"tab-0 tab-1 tab-2 tab-3 tab-4 tab-5 .\" \"hr hr hr hr hr hr hr \" \"mod mod mod mod mod mod mod\";grid-template-columns:repeat(6,max-content) 1fr;margin:0;overflow-x:auto;overscroll-behavior-x:none;padding:0}@media (width <= 992px){ol.tabs-list{column-gap:1.75rem;grid-template-columns:repeat(6,max-content) auto}}ol.tabs-list:before{border:none;border-top:1px solid var(--color-border-primary);content:\"\";grid-area:hr;margin:0;width:100%}ol.tabs-list input[type=radio]:not(:checked)~.tab-content{display:none}ol.tabs-list li.tabs-list-item{display:contents}:is(ol.tabs-list li.tabs-list-item)>input:checked+label{border-bottom:2px solid var(--observatory-accent);color:var(--color-text-primary)}:is(ol.tabs-list li.tabs-list-item)>input:not(:checked)+label:hover{border-bottom:2px solid var(--observatory-accent-light);color:var(--color-text-primary)}:is(ol.tabs-list li.tabs-list-item)>input:checked:focus-visible+label{outline-color:var(--accent-primary);outline-offset:1px;outline-style:auto}:is(ol.tabs-list li.tabs-list-item)>input:not(:checked)+label{color:var(--color-text-secondary);opacity:.775}:is(ol.tabs-list li.tabs-list-item)>label{cursor:pointer;height:2.2rem;width:max-content}#tabs-0:is(ol.tabs-list li.tabs-list-item)>input,#tabs-0:is(ol.tabs-list li.tabs-list-item)>label{grid-area:tab-0}#tabs-1:is(ol.tabs-list li.tabs-list-item)>input,#tabs-1:is(ol.tabs-list li.tabs-list-item)>label{grid-area:tab-1}#tabs-2:is(ol.tabs-list li.tabs-list-item)>input,#tabs-2:is(ol.tabs-list li.tabs-list-item)>label{grid-area:tab-2}#tabs-3:is(ol.tabs-list li.tabs-list-item)>input,#tabs-3:is(ol.tabs-list li.tabs-list-item)>label{grid-area:tab-3}#tabs-4:is(ol.tabs-list li.tabs-list-item)>input,#tabs-4:is(ol.tabs-list li.tabs-list-item)>label{grid-area:tab-4}#tabs-5:is(ol.tabs-list li.tabs-list-item)>input,#tabs-5:is(ol.tabs-list li.tabs-list-item)>label{grid-area:tab-5}:is(ol.tabs-list li.tabs-list-item)>section.tab-content{grid-area:mod;left:0;margin:0;position:sticky;width:calc(100vw - 18rem)}@media (1200px < width){:is(ol.tabs-list li.tabs-list-item)>section.tab-content{width:100%}}@media (width <= 769px){:is(ol.tabs-list li.tabs-list-item)>section.tab-content{width:calc(100vw - 2rem)}}`, \"\"]);\n// Exports\nexport default css([___CSS_LOADER_EXPORT___.toString()]);\n"],"names":["Set","MDNObservatoryResults","String","Number","Boolean","Error","fetch","encodeURIComponent","globalThis","URLSearchParams","Date","Object","t","customElements"],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! For license information please see 5557.
|
|
2
|
-
export const __webpack_ids__=["5557"];export const __webpack_modules__={33405:function(t){t.exports=function t(r){for(var n,s,o=Array.prototype.slice.call(arguments,1);o.length;)for(s in n=o.shift())n.hasOwnProperty(s)&&("[object Object]"===Object.prototype.toString.call(r[s])?r[s]=t(r[s],n[s]):r[s]=n[s]);return r}},23645:function(t){t.exports=function(t){var r=[];return r.toString=function(){return this.map(function(r){var n="",s=void 0!==r[5];return r[4]&&(n+="@supports (".concat(r[4],") {")),r[2]&&(n+="@media ".concat(r[2]," {")),s&&(n+="@layer".concat(r[5].length>0?" ".concat(r[5]):""," {")),n+=t(r),s&&(n+="}"),r[2]&&(n+="}"),r[4]&&(n+="}"),n}).join("")},r.i=function(t,n,s,o,a){"string"==typeof t&&(t=[[null,t,void 0]]);var l={};if(s)for(var u=0;u<this.length;u++){var h=this[u][0];null!=h&&(l[h]=!0)}for(var c=0;c<t.length;c++){var f=[].concat(t[c]);s&&l[f[0]]||(void 0!==a&&(void 0===f[5]||(f[1]="@layer".concat(f[5].length>0?" ".concat(f[5]):""," {").concat(f[1],"}")),f[5]=a),n&&(f[2]&&(f[1]="@media ".concat(f[2]," {").concat(f[1],"}")),f[2]=n),o&&(f[4]?(f[1]="@supports (".concat(f[4],") {").concat(f[1],"}"),f[4]=o):f[4]="".concat(o)),r.push(f))}},r}},61667:function(t){t.exports=function(t,r){return(r||(r={}),t&&(t=String(t.__esModule?t.default:t),/^['"].*['"]$/.test(t)&&(t=t.slice(1,-1)),r.hash&&(t+=r.hash),/["'() \t\n]|(%20)/.test(t)||r.needQuotes))?'"'.concat(t.replace(/"/g,'\\"').replace(/\n/g,"\\n"),'"'):t}},8081:function(t){t.exports=function(t){return t[1]}},93778:function(t,r,n){n.d(r,{TD:()=>te,rZ:()=>Q});var s=Uint8Array,o=Uint16Array,a=Int32Array,l=new s([0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0,0,0,0]),u=new s([0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13,0,0]),h=new s([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),c=function(t,r){for(var n=new o(31),s=0;s<31;++s)n[s]=r+=1<<t[s-1];for(var l=new a(n[30]),s=1;s<30;++s)for(var u=n[s];u<n[s+1];++u)l[u]=u-n[s]<<5|s;return{b:n,r:l}},f=c(l,2),d=f.b,p=f.r;d[28]=258,p[258]=28;for(var m=c(u,0),v=(m.b,m.r),g=new o(32768),$=0;$<32768;++$){var _=(43690&$)>>1|(21845&$)<<1;_=(61680&(_=(52428&_)>>2|(13107&_)<<2))>>4|(3855&_)<<4,g[$]=((65280&_)>>8|(255&_)<<8)>>1}for(var b=function(t,r,n){for(var s,a=t.length,l=0,u=new o(r);l<a;++l)t[l]&&++u[t[l]-1];var h=new o(r);for(l=1;l<r;++l)h[l]=h[l-1]+u[l-1]<<1;if(n){s=new o(1<<r);var c=15-r;for(l=0;l<a;++l)if(t[l])for(var f=l<<4|t[l],d=r-t[l],p=h[t[l]-1]++<<d,m=p|(1<<d)-1;p<=m;++p)s[g[p]>>c]=f}else for(l=0,s=new o(a);l<a;++l)t[l]&&(s[l]=g[h[t[l]-1]++]>>15-t[l]);return s},w=new s(288),$=0;$<144;++$)w[$]=8;for(var $=144;$<256;++$)w[$]=9;for(var $=256;$<280;++$)w[$]=7;for(var $=280;$<288;++$)w[$]=8;for(var A=new s(32),$=0;$<32;++$)A[$]=5;var E=b(w,9,0),x=b(A,5,0),S=function(t){return(t+7)/8|0},T=function(t,r,n){return(null==r||r<0)&&(r=0),(null==n||n>t.length)&&(n=t.length),new s(t.subarray(r,n))},P=function(t,r,n){n<<=7&r;var s=r/8|0;t[s]|=n,t[s+1]|=n>>8},O=function(t,r,n){n<<=7&r;var s=r/8|0;t[s]|=n,t[s+1]|=n>>8,t[s+2]|=n>>16},C=function(t,r){for(var n=[],a=0;a<t.length;++a)t[a]&&n.push({s:a,f:t[a]});var l=n.length,u=n.slice();if(!l)return{t:V,l:0};if(1==l){var h=new s(n[0].s+1);return h[n[0].s]=1,{t:h,l:1}}n.sort(function(t,r){return t.f-r.f}),n.push({s:-1,f:25001});var c=n[0],f=n[1],d=0,p=1,m=2;for(n[0]={s:-1,f:c.f+f.f,l:c,r:f};p!=l-1;)c=n[n[d].f<n[m].f?d++:m++],f=n[d!=p&&n[d].f<n[m].f?d++:m++],n[p++]={s:-1,f:c.f+f.f,l:c,r:f};for(var v=u[0].s,a=1;a<l;++a)u[a].s>v&&(v=u[a].s);var g=new o(v+1),$=U(n[p-1],g,0);if($>r){var a=0,_=0,b=$-r,w=1<<b;for(u.sort(function(t,r){return g[r.s]-g[t.s]||t.f-r.f});a<l;++a){var A=u[a].s;if(g[A]>r)_+=w-(1<<$-g[A]),g[A]=r;else break}for(_>>=b;_>0;){var E=u[a].s;g[E]<r?_-=1<<r-g[E]++-1:++a}for(;a>=0&&_;--a){var x=u[a].s;g[x]==r&&(--g[x],++_)}$=r}return{t:new s(g),l:$}},U=function(t,r,n){return -1==t.s?Math.max(U(t.l,r,n+1),U(t.r,r,n+1)):r[t.s]=n},D=function(t){for(var r=t.length;r&&!t[--r];);for(var n=new o(++r),s=0,a=t[0],l=1,u=function(t){n[s++]=t},h=1;h<=r;++h)if(t[h]==a&&h!=r)++l;else{if(!a&&l>2){for(;l>138;l-=138)u(32754);l>2&&(u(l>10?l-11<<5|28690:l-3<<5|12305),l=0)}else if(l>3){for(u(a),--l;l>6;l-=6)u(8304);l>2&&(u(l-3<<5|8208),l=0)}for(;l--;)u(a);l=1,a=t[h]}return{c:n.subarray(0,s),n:r}},F=function(t,r){for(var n=0,s=0;s<r.length;++s)n+=t[s]*r[s];return n},j=function(t,r,n){var s=n.length,o=S(r+2);t[o]=255&s,t[o+1]=s>>8,t[o+2]=255^t[o],t[o+3]=255^t[o+1];for(var a=0;a<s;++a)t[o+a+4]=n[a];return(o+4+s)*8},B=function(t,r,n,s,a,c,f,d,p,m,v){P(r,v++,n),++a[256];for(var g,$,_,S,T=C(a,15),U=T.t,B=T.l,q=C(c,15),V=q.t,W=q.l,Z=D(U),X=Z.c,Y=Z.n,J=D(V),G=J.c,Q=J.n,K=new o(19),tt=0;tt<X.length;++tt)++K[31&X[tt]];for(var tt=0;tt<G.length;++tt)++K[31&G[tt]];for(var te=C(K,7),tr=te.t,tn=te.l,ti=19;ti>4&&!tr[h[ti-1]];--ti);var ts=m+5<<3,to=F(a,w)+F(c,A)+f,ta=F(a,U)+F(c,V)+f+14+3*ti+F(K,tr)+2*K[16]+3*K[17]+7*K[18];if(p>=0&&ts<=to&&ts<=ta)return j(r,v,t.subarray(p,p+m));if(P(r,v,1+(ta<to)),v+=2,ta<to){g=b(U,B,0),$=U,_=b(V,W,0),S=V;var tl=b(tr,tn,0);P(r,v,Y-257),P(r,v+5,Q-1),P(r,v+10,ti-4),v+=14;for(var tt=0;tt<ti;++tt)P(r,v+3*tt,tr[h[tt]]);v+=3*ti;for(var tu=[X,G],th=0;th<2;++th)for(var tc=tu[th],tt=0;tt<tc.length;++tt){var tf=31&tc[tt];P(r,v,tl[tf]),v+=tr[tf],tf>15&&(P(r,v,tc[tt]>>5&127),v+=tc[tt]>>12)}}else g=E,$=w,_=x,S=A;for(var tt=0;tt<d;++tt){var td=s[tt];if(td>255){var tf=td>>18&31;O(r,v,g[tf+257]),v+=$[tf+257],tf>7&&(P(r,v,td>>23&31),v+=l[tf]);var tp=31&td;O(r,v,_[tp]),v+=S[tp],tp>3&&(O(r,v,td>>5&8191),v+=u[tp])}else O(r,v,g[td]),v+=$[td]}return O(r,v,g[256]),v+$[256]},q=new a([65540,131080,131088,131104,262176,1048704,1048832,2114560,2117632]),V=new s(0),W=function(t,r,n,h,c,f){var d=f.z||t.length,m=new s(h+d+5*(1+Math.ceil(d/7e3))+c),g=m.subarray(h,m.length-c),$=f.l,_=7&(f.r||0);if(r){_&&(g[0]=f.r>>3);for(var b=q[r-1],w=b>>13,A=8191&b,E=(1<<n)-1,x=f.p||new o(32768),P=f.h||new o(E+1),O=Math.ceil(n/3),C=2*O,U=function(r){return(t[r]^t[r+1]<<O^t[r+2]<<C)&E},D=new a(25e3),F=new o(288),V=new o(32),W=0,Z=0,X=f.i||0,Y=0,J=f.w||0,G=0;X+2<d;++X){var Q=U(X),K=32767&X,tt=P[Q];if(x[K]=tt,P[Q]=K,J<=X){var te=d-X;if((W>7e3||Y>24576)&&(te>423||!$)){_=B(t,g,0,D,F,V,Z,Y,G,X-G,_),Y=W=Z=0,G=X;for(var tr=0;tr<286;++tr)F[tr]=0;for(var tr=0;tr<30;++tr)V[tr]=0}var tn=2,ti=0,ts=A,to=K-tt&32767;if(te>2&&Q==U(X-to))for(var ta=Math.min(w,te)-1,tl=Math.min(32767,X),tu=Math.min(258,te);to<=tl&&--ts&&K!=tt;){if(t[X+tn]==t[X+tn-to]){for(var th=0;th<tu&&t[X+th]==t[X+th-to];++th);if(th>tn){if(tn=th,ti=to,th>ta)break;for(var tc=Math.min(to,th-2),tf=0,tr=0;tr<tc;++tr){var td=X-to+tr&32767,tp=x[td],tm=td-tp&32767;tm>tf&&(tf=tm,tt=td)}}}tt=x[K=tt],to+=K-tt&32767}if(ti){D[Y++]=0x10000000|p[tn]<<18|v[ti];var tv=31&p[tn],tg=31&v[ti];Z+=l[tv]+u[tg],++F[257+tv],++V[tg],J=X+tn,++W}else D[Y++]=t[X],++F[t[X]]}}for(X=Math.max(X,J);X<d;++X)D[Y++]=t[X],++F[t[X]];_=B(t,g,$,D,F,V,Z,Y,G,X-G,_),$||(f.r=7&_|g[_/8|0]<<3,_-=7,f.h=P,f.p=x,f.i=X,f.w=J)}else{for(var X=f.w||0;X<d+$;X+=65535){var ty=X+65535;ty>=d&&(g[_/8|0]=$,ty=d),_=j(g,_+1,t.subarray(X,ty))}f.i=d}return T(m,0,h+S(_)+c)},Z=function(){for(var t=new Int32Array(256),r=0;r<256;++r){for(var n=r,s=9;--s;)n=(1&n&&-0x12477ce0)^n>>>1;t[r]=n}return t}(),X=function(){var t=-1;return{p:function(r){for(var n=t,s=0;s<r.length;++s)n=Z[255&n^r[s]]^n>>>8;t=n},d:function(){return~t}}},Y=function(t,r,n,o,a){if(!a&&(a={l:1},r.dictionary)){var l=r.dictionary.subarray(-32768),u=new s(l.length+t.length);u.set(l),u.set(t,l.length),t=u,a.w=l.length}return W(t,null==r.level?6:r.level,null==r.mem?a.l?Math.ceil(1.5*Math.max(8,Math.min(13,Math.log(t.length)))):20:12+r.mem,n,o,a)},J=function(t,r,n){for(;n;++r)t[r]=n,n>>>=8},G=function(t,r){var n=r.filename;if(t[0]=31,t[1]=139,t[2]=8,t[8]=r.level<2?4:2*(9==r.level),t[9]=3,0!=r.mtime&&J(t,4,Math.floor(new Date(r.mtime||Date.now())/1e3)),n){t[3]=8;for(var s=0;s<=n.length;++s)t[s+10]=n.charCodeAt(s)}};function Q(t,r){r||(r={});var n,s=X(),o=t.length;s.p(t);var a=Y(t,r,10+((n=r).filename?n.filename.length+1:0),8),l=a.length;return G(a,r),J(a,l-8,s.d()),J(a,l-4,o),a}var K="undefined"!=typeof TextEncoder&&new TextEncoder,tt="undefined"!=typeof TextDecoder&&new TextDecoder;try{tt.decode(V,{stream:!0})}catch(t){}function te(t,r){if(r){for(var n=new s(t.length),o=0;o<t.length;++o)n[o]=t.charCodeAt(o);return n}if(K)return K.encode(t);for(var a=t.length,l=new s(t.length+(t.length>>1)),u=0,h=function(t){l[u++]=t},o=0;o<a;++o){if(u+5>l.length){var c=new s(u+8+(a-o<<1));c.set(l),l=c}var f=t.charCodeAt(o);f<128||r?h(f):(f<2048?h(192|f>>6):(f>55295&&f<57344?(h(240|(f=65536+(1047552&f)|1023&t.charCodeAt(++o))>>18),h(128|f>>12&63)):h(224|f>>12),h(128|f>>6&63)),h(128|63&f))}return T(l,0,u)}"function"==typeof queueMicrotask&&queueMicrotask},36209:function(t,r,n){t.exports={uris:n(30304)(["background","base","cite","href","longdesc","src","usemap"])}},9204:function(t){t.exports={allowedAttributes:{a:["href","name","target","title","aria-label"],iframe:["allowfullscreen","frameborder","src"],img:["src","alt","title","aria-label"]},allowedClasses:{},allowedSchemes:["http","https","mailto"],allowedTags:["a","abbr","article","b","blockquote","br","caption","code","del","details","div","em","h1","h2","h3","h4","h5","h6","hr","i","img","ins","kbd","li","main","mark","ol","p","pre","section","span","strike","strong","sub","summary","sup","table","tbody","td","th","thead","tr","u","ul"],filter:null}},19040:function(t,r,n){t.exports={voids:n(30304)(["area","br","col","hr","img","wbr","input","base","basefont","link","meta"])}},76610:function(t,r,n){n(71021);var s=n(33405),o=n(19226),a=n(7377),l=n(9204);function u(t,r,n){var u=[];return o(t,a(u,!0===n?r:s({},l,r))),u.join("")}u.defaults=l,t.exports=u},44829:function(t){t.exports=function(t){return"string"==typeof t?t.toLowerCase():t}},19226:function(t,r,n){var s=n(71021),o=n(44829);n(36209);var a=n(19040),l=/^<\s*([\w:-]+)((?:\s+[\w:-]+(?:\s*=\s*(?:(?:"[^"]*")|(?:'[^']*')|[^>\s]+))?)*)\s*(\/?)\s*>/,u=/^<\s*\/\s*([\w:-]+)[^>]*>/,h=/([\w:-]+)(?:\s*=\s*(?:(?:"((?:[^"])*)")|(?:'((?:[^'])*)')|([^>\s]+)))?/g,c=/^</,f=/^<\s*\//;t.exports=function(t,r){for(var n,d,p=((n=[]).lastItem=function(){return n[n.length-1]},n),m=t;t;)!function(){d=!0,"\x3c!--"===t.substr(0,4)?function(){var n=t.indexOf("--\x3e");n>=0&&(r.comment&&r.comment(t.substring(4,n)),t=t.substring(n+3),d=!1)}():f.test(t)?v(u,$):c.test(t)&&v(l,g),function(){if(d){var n,s=t.indexOf("<");s>=0?(n=t.substring(0,s),t=t.substring(s)):(n=t,t=""),r.chars&&r.chars(n)}}();var n=t===m;m=t,n&&(t="")}();function v(r,n){var s=t.match(r);s&&(t=t.substring(s[0].length),s[0].replace(r,n),d=!1)}function g(t,n,l,u){var c={},f=o(n),d=a.voids[f]||!!u;l.replace(h,function(t,r,n,o,a){void 0===n&&void 0===o&&void 0===a?c[r]=void 0:c[r]=s.decode(n||o||a||"")}),d||p.push(f),r.start&&r.start(f,c,d)}function $(t,n){var s,a=0,l=o(n);if(l)for(a=p.length-1;a>=0&&p[a]!==l;a--);if(a>=0){for(s=p.length-1;s>=a;s--)r.end&&r.end(p[s]);p.length=a}}$()}},7377:function(t,r,n){var s=n(71021),o=n(44829),a=n(36209),l=n(19040);t.exports=function(t,r){var n,u=r||{};return c(),{start:function(t,r,c){var f=o(t);if(n.ignoring||-1===(u.allowedTags||[]).indexOf(f)||u.filter&&!u.filter({tag:f,attrs:r}))return void function(t){!l.voids[t]&&(!1===n.ignoring?n={ignoring:t,depth:1}:n.ignoring===t&&n.depth++)}(f);h("<"),h(f),Object.keys(r).forEach(function(t){var n=r[t],l=(u.allowedClasses||{})[f]||[],c=(u.allowedAttributes||{})[f]||[],d=o(t);("class"===d&&-1===c.indexOf(d)?(n=n.split(" ").filter(function(t){return l&&-1!==l.indexOf(t)}).join(" ").trim()).length:-1!==c.indexOf(d)&&(!0!==a.uris[d]||function(t){var r=t[0];if("#"===r||"/"===r)return!0;var n=t.indexOf(":");if(-1===n)return!0;var s=t.indexOf("?");if(-1!==s&&n>s)return!0;var o=t.indexOf("#");return -1!==o&&n>o||u.allowedSchemes.some(function(r){return 0===t.indexOf(r+":")})}(n)))&&(h(" "),h(t),"string"==typeof n&&(h('="'),h(s.encode(n)),h('"')))}),h(c?"/>":">")},end:function(t){var r=o(t);-1!==(u.allowedTags||[]).indexOf(r)&&!1===n.ignoring?(h("</"),h(r),h(">")):function(t){n.ignoring===t&&--n.depth<=0&&c()}(r)},chars:function(t){!1===n.ignoring&&h(u.transformText?u.transformText(t):t)}};function h(r){t.push(r)}function c(){n={ignoring:!1,depth:0}}}},71021:function(t){var r={"&":"&","<":"<",">":">",'"':""","'":"'"},n={"&":"&","<":"<",">":">",""":'"',"'":"'"},s=/(&|<|>|"|')/g,o=/[&<>"']/g;function a(t){return r[t]}function l(t){return n[t]}function u(t){return null==t?"":String(t).replace(o,a)}function h(t){return null==t?"":String(t).replace(s,l)}u.options=h.options={},t.exports={encode:u,escape:u,decode:h,unescape:h,version:"1.0.0-browser"}},30304:function(t){function r(t,r){return t[r]=!0,t}t.exports=function(t){return t.reduce(r,{})}},87987:function(t,r,n){n.d(r,{Yk:()=>FluentBundle,WZ:()=>FluentResource});let FluentType=class FluentType{constructor(t){this.value=t}valueOf(){return this.value}};let FluentNone=class FluentNone extends FluentType{constructor(t="???"){super(t)}toString(t){return`{${this.value}}`}};let FluentNumber=class FluentNumber extends FluentType{constructor(t,r={}){super(t),this.opts=r}toString(t){if(t)try{return t.memoizeIntlObject(Intl.NumberFormat,this.opts).format(this.value)}catch(r){t.reportError(r)}return this.value.toString(10)}};let FluentDateTime=class FluentDateTime extends FluentType{static supportsValue(t){if("number"==typeof t||t instanceof Date)return!0;if(t instanceof FluentType)return FluentDateTime.supportsValue(t.valueOf());if("Temporal"in globalThis){let r=globalThis.Temporal;if(t instanceof r.Instant||t instanceof r.PlainDateTime||t instanceof r.PlainDate||t instanceof r.PlainMonthDay||t instanceof r.PlainTime||t instanceof r.PlainYearMonth)return!0}return!1}constructor(t,r={}){t instanceof FluentDateTime?(r={...t.opts,...r},t=t.value):t instanceof FluentType&&(t=t.valueOf()),"object"==typeof t&&"calendarId"in t&&void 0===r.calendar&&(r={...r,calendar:t.calendarId}),super(t),this.opts=r}[Symbol.toPrimitive](t){return"string"===t?this.toString():this.toNumber()}toNumber(){let t=this.value;if("number"==typeof t)return t;if(t instanceof Date)return t.getTime();if("epochMilliseconds"in t)return t.epochMilliseconds;if("toZonedDateTime"in t)return t.toZonedDateTime("UTC").epochMilliseconds;throw TypeError("Unwrapping a non-number value as a number")}toString(t){if(t)try{return t.memoizeIntlObject(Intl.DateTimeFormat,this.opts).format(this.value)}catch(r){t.reportError(r)}return"number"==typeof this.value||this.value instanceof Date?new Date(this.value).toISOString():this.value.toString()}};function s(t,r,n){return r[n]?u(t,r[n].value):(t.reportError(RangeError("No default")),new FluentNone)}function o(t,r){let n=[],s=Object.create(null);for(let o of r)"narg"===o.type?s[o.name]=a(t,o.value):n.push(a(t,o));return{positional:n,named:s}}function a(t,r){switch(r.type){case"str":return r.value;case"num":return new FluentNumber(r.value,{minimumFractionDigits:r.precision});case"var":return function(t,{name:r}){let n;if(t.params)if(!Object.prototype.hasOwnProperty.call(t.params,r))return new FluentNone(`$${r}`);else n=t.params[r];else{if(!(t.args&&Object.prototype.hasOwnProperty.call(t.args,r)))return t.reportError(ReferenceError(`Unknown variable: $${r}`)),new FluentNone(`$${r}`);n=t.args[r]}if(n instanceof FluentType)return n;switch(typeof n){case"string":return n;case"number":return new FluentNumber(n);case"object":if(FluentDateTime.supportsValue(n))return new FluentDateTime(n);default:return t.reportError(TypeError(`Variable type not supported: $${r}, ${typeof n}`)),new FluentNone(`$${r}`)}}(t,r);case"mesg":return function(t,{name:r,attr:n}){let s=t.bundle._messages.get(r);if(!s)return t.reportError(ReferenceError(`Unknown message: ${r}`)),new FluentNone(r);if(n){let o=s.attributes[n];return o?u(t,o):(t.reportError(ReferenceError(`Unknown attribute: ${n}`)),new FluentNone(`${r}.${n}`))}return s.value?u(t,s.value):(t.reportError(ReferenceError(`No value: ${r}`)),new FluentNone(r))}(t,r);case"term":return function(t,{name:r,attr:n,args:s}){let a=`-${r}`,l=t.bundle._terms.get(a);if(!l)return t.reportError(ReferenceError(`Unknown term: ${a}`)),new FluentNone(a);if(n){let r=l.attributes[n];if(r){t.params=o(t,s).named;let n=u(t,r);return t.params=null,n}return t.reportError(ReferenceError(`Unknown attribute: ${n}`)),new FluentNone(`${a}.${n}`)}t.params=o(t,s).named;let h=u(t,l.value);return t.params=null,h}(t,r);case"func":return function(t,{name:r,args:n}){let s=t.bundle._functions[r];if(!s)return t.reportError(ReferenceError(`Unknown function: ${r}()`)),new FluentNone(`${r}()`);if("function"!=typeof s)return t.reportError(TypeError(`Function ${r}() is not callable`)),new FluentNone(`${r}()`);try{let r=o(t,n);return s(r.positional,r.named)}catch(n){return t.reportError(n),new FluentNone(`${r}()`)}}(t,r);case"select":return function(t,{selector:r,variants:n,star:o}){let l=a(t,r);if(l instanceof FluentNone)return s(t,n,o);for(let r of n){var h,c,f;let n=a(t,r.key);if(h=t,c=l,(f=n)===c||f instanceof FluentNumber&&c instanceof FluentNumber&&f.value===c.value||c instanceof FluentNumber&&"string"==typeof f&&f===h.memoizeIntlObject(Intl.PluralRules,c.opts).select(c.value)||0)return u(t,r.value)}return s(t,n,o)}(t,r);default:return new FluentNone}}function l(t,r){if(t.dirty.has(r))return t.reportError(RangeError("Cyclic reference")),new FluentNone;t.dirty.add(r);let n=[],s=t.bundle._useIsolating&&r.length>1;for(let o of r){if("string"==typeof o){n.push(t.bundle._transform(o));continue}if(t.placeables++,t.placeables>100)throw t.dirty.delete(r),RangeError(`Too many placeables expanded: ${t.placeables}, max allowed is 100`);s&&n.push(""),n.push(a(t,o).toString(t)),s&&n.push("")}return t.dirty.delete(r),n.join("")}function u(t,r){return"string"==typeof r?t.bundle._transform(r):l(t,r)}let Scope=class Scope{constructor(t,r,n){this.dirty=new WeakSet,this.params=null,this.placeables=0,this.bundle=t,this.errors=r,this.args=n}reportError(t){if(!this.errors||!(t instanceof Error))throw t;this.errors.push(t)}memoizeIntlObject(t,r){let n=this.bundle._intls.get(t);n||(n={},this.bundle._intls.set(t,n));let s=JSON.stringify(r);return n[s]||(n[s]=new t(this.bundle.locales,r)),n[s]}};function h(t,r){let n=Object.create(null);for(let[s,o]of Object.entries(t))r.includes(s)&&(n[s]=o.valueOf());return n}let c=["unitDisplay","currencyDisplay","useGrouping","minimumIntegerDigits","minimumFractionDigits","maximumFractionDigits","minimumSignificantDigits","maximumSignificantDigits"];function f(t,r){let n=t[0];if(n instanceof FluentNone)return new FluentNone(`NUMBER(${n.valueOf()})`);if(n instanceof FluentNumber)return new FluentNumber(n.valueOf(),{...n.opts,...h(r,c)});if(n instanceof FluentDateTime)return new FluentNumber(n.toNumber(),{...h(r,c)});throw TypeError("Invalid argument to NUMBER")}let d=["dateStyle","timeStyle","fractionalSecondDigits","dayPeriod","hour12","weekday","era","year","month","day","hour","minute","second","timeZoneName"];function p(t,r){let n=t[0];if(n instanceof FluentNone)return new FluentNone(`DATETIME(${n.valueOf()})`);if(n instanceof FluentDateTime||n instanceof FluentNumber)return new FluentDateTime(n,h(r,d));throw TypeError("Invalid argument to DATETIME")}let m=new Map;let FluentBundle=class FluentBundle{constructor(t,{functions:r,useIsolating:n=!0,transform:s=t=>t}={}){this._terms=new Map,this._messages=new Map,this.locales=Array.isArray(t)?t:[t],this._functions={NUMBER:f,DATETIME:p,...r},this._useIsolating=n,this._transform=s,this._intls=function(t){let r=Array.isArray(t)?t.join(" "):t,n=m.get(r);return void 0===n&&(n=new Map,m.set(r,n)),n}(t)}hasMessage(t){return this._messages.has(t)}getMessage(t){return this._messages.get(t)}addResource(t,{allowOverrides:r=!1}={}){let n=[];for(let s=0;s<t.body.length;s++){let o=t.body[s];if(o.id.startsWith("-")){if(!1===r&&this._terms.has(o.id)){n.push(Error(`Attempt to override an existing term: "${o.id}"`));continue}this._terms.set(o.id,o)}else{if(!1===r&&this._messages.has(o.id)){n.push(Error(`Attempt to override an existing message: "${o.id}"`));continue}this._messages.set(o.id,o)}}return n}formatPattern(t,r=null,n=null){if("string"==typeof t)return this._transform(t);let s=new Scope(this,n,r);try{return l(s,t).toString(s)}catch(t){if(s.errors&&t instanceof Error)return s.errors.push(t),new FluentNone().toString(s);throw t}}};let v=/^(-?[a-zA-Z][\w-]*) *= */gm,g=/\.([a-zA-Z][\w-]*) *= */y,$=/\*?\[/y,_=/(-?[0-9]+(?:\.([0-9]+))?)/y,b=/([a-zA-Z][\w-]*)/y,w=/([$-])?([a-zA-Z][\w-]*)(?:\.([a-zA-Z][\w-]*))?/y,A=/^[A-Z][A-Z0-9_-]*$/,E=/([^{}\n\r]+)/y,x=/([^\\"\n\r]*)/y,S=/\\([\\"])/y,T=/\\u([a-fA-F0-9]{4})|\\U([a-fA-F0-9]{6})/y,P=/^\n+/,O=/ +$/,C=/ *\r?\n/g,U=/( *)$/,D=/{\s*/y,F=/\s*}/y,j=/\[\s*/y,B=/\s*] */y,q=/\s*\(\s*/y,V=/\s*->\s*/y,W=/\s*:\s*/y,Z=/\s*,?\s*/y,X=/\s+/y;let FluentResource=class FluentResource{constructor(t){this.body=[],v.lastIndex=0;let r=0;for(;;){let s=v.exec(t);if(null===s)break;r=v.lastIndex;try{this.body.push(function(t){let r=u(),s=function(){let t=Object.create(null);for(;n(g);){let r=l(g),n=u();if(null===n)throw SyntaxError("Expected attribute value");t[r]=n}return t}();if(null===r&&0===Object.keys(s).length)throw SyntaxError("Expected message value or attributes");return{id:t,value:r,attributes:s}}(s[1]))}catch(t){if(t instanceof SyntaxError)continue;throw t}}function n(n){return n.lastIndex=r,n.test(t)}function s(n,s){if(t[r]===n)return r++,!0;if(s)throw new s(`Expected ${n}`);return!1}function o(t,s){if(n(t))return r=t.lastIndex,!0;if(s)throw new s(`Expected ${t.toString()}`);return!1}function a(n){n.lastIndex=r;let s=n.exec(t);if(null===s)throw SyntaxError(`Expected ${n.toString()}`);return r=n.lastIndex,s}function l(t){return a(t)[1]}function u(){let s;if(n(E)&&(s=l(E)),"{"===t[r]||"}"===t[r])return h(s?[s]:[],1/0);let o=p();return o?s?h([s,o],o.length):(o.value=m(o.value,P),h([o],o.length)):s?m(s,O):null}function h(s=[],o){for(;;){if(n(E)){s.push(l(E));continue}if("{"===t[r]){s.push(c());continue}if("}"===t[r])throw SyntaxError("Unbalanced closing brace");let a=p();if(a){s.push(a),o=Math.min(o,a.length);continue}break}let a=s.length-1,u=s[a];"string"==typeof u&&(s[a]=m(u,O));let f=[];for(let t of s)t instanceof Indent&&(t=t.value.slice(0,t.value.length-o)),t&&f.push(t);return f}function c(){o(D,SyntaxError);let h=function s(){if("{"===t[r])return c();if(n(w)){let[,n,l,u=null]=a(w);if("$"===n)return{type:"var",name:l};if(o(q)){let a=function(){let n=[];for(;;){switch(t[r]){case")":return r++,n;case void 0:throw SyntaxError("Unclosed argument list")}n.push(function(){let t=s();return"mesg"!==t.type?t:o(W)?{type:"narg",name:t.name,value:f()}:t}()),o(Z)}}();if("-"===n)return{type:"term",name:l,attr:u,args:a};if(A.test(l))return{type:"func",name:l,args:a};throw SyntaxError("Function names must be all upper-case")}return"-"===n?{type:"term",name:l,attr:u,args:[]}:{type:"mesg",name:l,attr:u}}return f()}();if(o(F))return h;if(o(V)){let t=function(){let t,r=[],a=0;for(;n($);){s("*")&&(t=a);let h=function(){let t;return o(j,SyntaxError),t=n(_)?d():{type:"str",value:l(b)},o(B,SyntaxError),t}(),c=u();if(null===c)throw SyntaxError("Expected variant value");r[a++]={key:h,value:c}}if(0===a)return null;if(void 0===t)throw SyntaxError("Expected default variant");return{variants:r,star:t}}();return o(F,SyntaxError),{type:"select",selector:h,...t}}throw SyntaxError("Unclosed placeable")}function f(){if(n(_))return d();if('"'===t[r]){s('"',SyntaxError);let o="";for(;;){if(o+=l(x),"\\"===t[r]){o+=function(){if(n(S))return l(S);if(n(T)){let[,t,r]=a(T),n=parseInt(t||r,16);return n<=55295||57344<=n?String.fromCodePoint(n):"�"}throw SyntaxError("Unknown escape sequence")}();continue}if(s('"'))return{type:"str",value:o};throw SyntaxError("Unclosed string literal")}return}throw SyntaxError("Invalid expression")}function d(){let[,t,r=""]=a(_),n=r.length;return{type:"num",value:parseFloat(t),precision:n}}function p(){let n=r;switch(o(X),t[r]){case".":case"[":case"*":case"}":case void 0:return!1;case"{":return Y(t.slice(n,r))}return" "===t[r-1]&&Y(t.slice(n,r))}function m(t,r){return t.replace(r,"")}function Y(t){return new Indent(t.replace(C,"\n"),U.exec(t)[1].length)}}};let Indent=class Indent{constructor(t,r){this.value=t,this.length=r}}},94966:function(t,r,n){var s=n(32529);let o=null,a={boundAttributeSuffix:s.Al.M,marker:s.Al.P,markerMatch:s.Al.A,HTML_RESULT:s.Al.C,getTemplateHtml:s.Al.L,overrideDirectiveResolve:(t,r)=>class extends t{_$AS(t,n){return r(this,n)}},patchDirectiveResolve:(t,r)=>{if(t.prototype._$AS!==r){o??=t.prototype._$AS.name;for(let n=t.prototype;n!==Object.prototype;n=Object.getPrototypeOf(n))if(n.hasOwnProperty(o))return void(n[o]=r);throw Error("Internal error: It is possible that both dev mode and production mode Lit was mixed together during SSR. Please comment on the issue: https://github.com/lit/lit/issues/4527")}},setDirectiveClass(t,r){t._$litDirective$=r},getAttributePartCommittedValue:(t,r,n)=>{let o=s.Jb;return t.j=t=>o=t,t._$AI(r,t,n),o},connectedDisconnectable:t=>({...t,_$AU:!0}),resolveDirective:s.Al.V,AttributePart:s.Al.H,PropertyPart:s.Al.B,BooleanAttributePart:s.Al.N,EventPart:s.Al.U,ElementPart:s.Al.F,TemplateInstance:s.Al.R,isIterable:s.Al.D,ChildPart:s.Al.I};var l=n(50990),u=n(30542);let{TemplateInstance:h,isIterable:c,resolveDirective:f,ChildPart:d,ElementPart:p}=a,m=(t,r,n,o)=>{let a,l;if(0===n.length)l=new d(r,null,void 0,o),a=t;else{let t=n[n.length-1];if("template-instance"===t.type)l=new d(r,null,t.instance,o),t.instance._$AV.push(l),a=t.result.values[t.instancePartIndex++],t.templatePartIndex++;else if("iterable"===t.type){l=new d(r,null,t.part,o);let n=t.iterator.next();if(n.done)throw a=void 0,t.done=!0,Error("Unhandled shorter than expected iterable");a=n.value,t.part._$AH.push(l)}else l=new d(r,null,t.part,o)}if((a=f(l,a))===s.Jb)n.push({part:l,type:"leaf"});else if((0,u.pt)(a))n.push({part:l,type:"leaf"}),l._$AH=a;else if((0,u.hN)(a)){if((0,u.dZ)(a))throw Error("compiled templates are not supported");let t="lit-part "+$(a);if(r.data!==t)throw Error("Hydration value mismatch: Unexpected TemplateResult rendered to part");{let t=new h(d.prototype._$AC(a),l);n.push({type:"template-instance",instance:t,part:l,templatePartIndex:0,instancePartIndex:0,result:a}),l._$AH=t}}else c(a)?(n.push({part:l,type:"iterable",value:a,iterator:a[Symbol.iterator](),done:!1}),l._$AH=[]):(n.push({part:l,type:"leaf"}),l._$AH=a??"");return l},v=(t,r,n)=>{if(void 0===r)throw Error("unbalanced part marker");r._$AB=t;let s=n.pop();if("iterable"===s.type&&!s.iterator.next().done)throw Error("unexpected longer than expected iterable");if(n.length>0)return n[n.length-1].part},g=(t,r,n)=>{let s=parseInt(/lit-node (\d+)/.exec(t.data)[1]),o=t.nextElementSibling;if(null===o)throw Error("could not find node for attribute parts");o.removeAttribute("defer-hydration");let a=r[r.length-1];if("template-instance"!==a.type)throw Error("Hydration value mismatch: Primitive found where TemplateResult expected. This usually occurs due to conditional rendering that resulted in a different value or template being rendered between the server and client.");{let t=a.instance;for(;;){let r=t._$AD.parts[a.templatePartIndex];if(void 0===r||r.type!==l.pX.ATTRIBUTE&&r.type!==l.pX.ELEMENT||r.index!==s)break;if(r.type===l.pX.ATTRIBUTE){let s=new r.ctor(o,r.name,r.strings,a.instance,n),h=(0,u.OR)(s)?a.result.values[a.instancePartIndex]:a.result.values,c=s.type!==l.pX.EVENT&&s.type!==l.pX.PROPERTY;s._$AI(h,s,a.instancePartIndex,c),a.instancePartIndex+=r.strings.length-1,t._$AV.push(s)}else{let r=new p(o,a.instance,n);f(r,a.result.values[a.instancePartIndex++]),t._$AV.push(r)}a.templatePartIndex++}}},$=t=>{let r=new Uint32Array(2).fill(5381);for(let n of t.strings)for(let t=0;t<n.length;t++)r[t%2]=33*r[t%2]^n.charCodeAt(t);return btoa(String.fromCharCode(...new Uint8Array(r.buffer)))};globalThis.litElementHydrateSupport=({LitElement:t})=>{let r=Object.getOwnPropertyDescriptor(Object.getPrototypeOf(t),"observedAttributes").get;Object.defineProperty(t,"observedAttributes",{get(){return[...r.call(this),"defer-hydration"]}});let n=t.prototype.attributeChangedCallback;t.prototype.attributeChangedCallback=function(t,r,s){"defer-hydration"===t&&null===s&&o.call(this),n.call(this,t,r,s)};let o=t.prototype.connectedCallback;t.prototype.connectedCallback=function(){this.hasAttribute("defer-hydration")||o.call(this)};let a=t.prototype.createRenderRoot;t.prototype.createRenderRoot=function(){return this.shadowRoot?(this._$AG=!0,this.shadowRoot):a.call(this)};let l=Object.getPrototypeOf(t.prototype).update;t.prototype.update=function(t){let r=this.render();if(l.call(this,t),this._$AG){this._$AG=!1;for(let t=0;t<this.attributes.length;t++){let r=this.attributes[t];if(r.name.startsWith("hydrate-internals-")){let t=r.name.slice(18);this.removeAttribute(t),this.removeAttribute(r.name)}}((t,r,n={})=>{let s,o,a,l;if(void 0!==r._$litPart$)throw Error("container already contains a live render");let u=[],h=document.createTreeWalker(r,NodeFilter.SHOW_COMMENT);for(;null!==(l=h.nextNode());){let r=l.data;if(r.startsWith("lit-part")){if(0===u.length&&void 0!==s)throw Error(`There must be only one root part per container. Found a part marker (${l}) when we already have a root part marker (${o})`);a=m(t,l,u,n),void 0===s&&(s=a),o??=l}else if(r.startsWith("lit-node"))g(l,u,n);else if(r.startsWith("/lit-part")){if(1===u.length&&a!==s)throw Error("internal error");a=v(l,a,u)}}if(void 0===s){let t=r instanceof ShadowRoot?"{container.host.localName}'s shadow root":r instanceof DocumentFragment?"DocumentFragment":r.localName;console.error(`There should be exactly one root part in a render container, but we didn't find any in ${t}.`)}r._$litPart$=s})(r,this.renderRoot,this.renderOptions)}else(0,s.sY)(r,this.renderRoot,this.renderOptions)}}},29140:function(t,r,n){n.d(r,{fl:()=>y,iv:()=>u,Qu:()=>A});let s=globalThis,o=s.ShadowRoot&&(void 0===s.ShadyCSS||s.ShadyCSS.nativeShadow)&&"adoptedStyleSheets"in Document.prototype&&"replace"in CSSStyleSheet.prototype,a=Symbol(),l=new WeakMap;let css_tag_n=class css_tag_n{constructor(t,r,n){if(this._$cssResult$=!0,n!==a)throw Error("CSSResult is not constructable. Use `unsafeCSS` or `css` instead.");this.cssText=t,this.t=r}get styleSheet(){let t=this.o,r=this.t;if(o&&void 0===t){let n=void 0!==r&&1===r.length;n&&(t=l.get(r)),void 0===t&&((this.o=t=new CSSStyleSheet).replaceSync(this.cssText),n&&l.set(r,t))}return t}toString(){return this.cssText}};let u=(t,...r)=>new css_tag_n(1===t.length?t[0]:r.reduce((r,n,s)=>r+(t=>{if(!0===t._$cssResult$)return t.cssText;if("number"==typeof t)return t;throw Error("Value passed to 'css' function must be a 'css' function result: "+t+". Use 'unsafeCSS' to pass non-literal values, but take care to ensure page security.")})(n)+t[s+1],t[0]),t,a),h=o?t=>t:t=>t instanceof CSSStyleSheet?(t=>{let r,n="";for(let r of t.cssRules)n+=r.cssText;return new css_tag_n("string"==typeof(r=n)?r:r+"",void 0,a)})(t):t,{is:c,defineProperty:f,getOwnPropertyDescriptor:d,getOwnPropertyNames:p,getOwnPropertySymbols:m,getPrototypeOf:v}=Object,g=globalThis,$=g.trustedTypes,_=$?$.emptyScript:"",b=g.reactiveElementPolyfillSupport,w={toAttribute(t,r){switch(r){case Boolean:t=t?_:null;break;case Object:case Array:t=null==t?t:JSON.stringify(t)}return t},fromAttribute(t,r){let n=t;switch(r){case Boolean:n=null!==t;break;case Number:n=null===t?null:Number(t);break;case Object:case Array:try{n=JSON.parse(t)}catch(t){n=null}}return n}},A=(t,r)=>!c(t,r),E={attribute:!0,type:String,converter:w,reflect:!1,useDefault:!1,hasChanged:A};Symbol.metadata??=Symbol("metadata"),g.litPropertyMetadata??=new WeakMap;let y=class y extends HTMLElement{static addInitializer(t){this._$Ei(),(this.l??=[]).push(t)}static get observedAttributes(){return this.finalize(),this._$Eh&&[...this._$Eh.keys()]}static createProperty(t,r=E){if(r.state&&(r.attribute=!1),this._$Ei(),this.prototype.hasOwnProperty(t)&&((r=Object.create(r)).wrapped=!0),this.elementProperties.set(t,r),!r.noAccessor){let n=Symbol(),s=this.getPropertyDescriptor(t,n,r);void 0!==s&&f(this.prototype,t,s)}}static getPropertyDescriptor(t,r,n){let{get:s,set:o}=d(this.prototype,t)??{get(){return this[r]},set(t){this[r]=t}};return{get:s,set(r){let a=s?.call(this);o?.call(this,r),this.requestUpdate(t,a,n)},configurable:!0,enumerable:!0}}static getPropertyOptions(t){return this.elementProperties.get(t)??E}static _$Ei(){if(this.hasOwnProperty("elementProperties"))return;let t=v(this);t.finalize(),void 0!==t.l&&(this.l=[...t.l]),this.elementProperties=new Map(t.elementProperties)}static finalize(){if(this.hasOwnProperty("finalized"))return;if(this.finalized=!0,this._$Ei(),this.hasOwnProperty("properties")){let t=this.properties;for(let r of[...p(t),...m(t)])this.createProperty(r,t[r])}let t=this[Symbol.metadata];if(null!==t){let r=litPropertyMetadata.get(t);if(void 0!==r)for(let[t,n]of r)this.elementProperties.set(t,n)}for(let[t,r]of(this._$Eh=new Map,this.elementProperties)){let n=this._$Eu(t,r);void 0!==n&&this._$Eh.set(n,t)}this.elementStyles=this.finalizeStyles(this.styles)}static finalizeStyles(t){let r=[];if(Array.isArray(t))for(let n of new Set(t.flat(1/0).reverse()))r.unshift(h(n));else void 0!==t&&r.push(h(t));return r}static _$Eu(t,r){let n=r.attribute;return!1===n?void 0:"string"==typeof n?n:"string"==typeof t?t.toLowerCase():void 0}constructor(){super(),this._$Ep=void 0,this.isUpdatePending=!1,this.hasUpdated=!1,this._$Em=null,this._$Ev()}_$Ev(){this._$ES=new Promise(t=>this.enableUpdating=t),this._$AL=new Map,this._$E_(),this.requestUpdate(),this.constructor.l?.forEach(t=>t(this))}addController(t){(this._$EO??=new Set).add(t),void 0!==this.renderRoot&&this.isConnected&&t.hostConnected?.()}removeController(t){this._$EO?.delete(t)}_$E_(){let t=new Map;for(let r of this.constructor.elementProperties.keys())this.hasOwnProperty(r)&&(t.set(r,this[r]),delete this[r]);t.size>0&&(this._$Ep=t)}createRenderRoot(){let t=this.shadowRoot??this.attachShadow(this.constructor.shadowRootOptions);return((t,r)=>{if(o)t.adoptedStyleSheets=r.map(t=>t instanceof CSSStyleSheet?t:t.styleSheet);else for(let n of r){let r=document.createElement("style"),o=s.litNonce;void 0!==o&&r.setAttribute("nonce",o),r.textContent=n.cssText,t.appendChild(r)}})(t,this.constructor.elementStyles),t}connectedCallback(){this.renderRoot??=this.createRenderRoot(),this.enableUpdating(!0),this._$EO?.forEach(t=>t.hostConnected?.())}enableUpdating(t){}disconnectedCallback(){this._$EO?.forEach(t=>t.hostDisconnected?.())}attributeChangedCallback(t,r,n){this._$AK(t,n)}_$ET(t,r){let n=this.constructor.elementProperties.get(t),s=this.constructor._$Eu(t,n);if(void 0!==s&&!0===n.reflect){let o=(void 0!==n.converter?.toAttribute?n.converter:w).toAttribute(r,n.type);this._$Em=t,null==o?this.removeAttribute(s):this.setAttribute(s,o),this._$Em=null}}_$AK(t,r){let n=this.constructor,s=n._$Eh.get(t);if(void 0!==s&&this._$Em!==s){let t=n.getPropertyOptions(s),o="function"==typeof t.converter?{fromAttribute:t.converter}:void 0!==t.converter?.fromAttribute?t.converter:w;this._$Em=s,this[s]=o.fromAttribute(r,t.type)??this._$Ej?.get(s)??null,this._$Em=null}}requestUpdate(t,r,n){if(void 0!==t){let s=this.constructor,o=this[t];if(!(((n??=s.getPropertyOptions(t)).hasChanged??A)(o,r)||n.useDefault&&n.reflect&&o===this._$Ej?.get(t)&&!this.hasAttribute(s._$Eu(t,n))))return;this.C(t,r,n)}!1===this.isUpdatePending&&(this._$ES=this._$EP())}C(t,r,{useDefault:n,reflect:s,wrapped:o},a){n&&!(this._$Ej??=new Map).has(t)&&(this._$Ej.set(t,a??r??this[t]),!0!==o||void 0!==a)||(this._$AL.has(t)||(this.hasUpdated||n||(r=void 0),this._$AL.set(t,r)),!0===s&&this._$Em!==t&&(this._$Eq??=new Set).add(t))}async _$EP(){this.isUpdatePending=!0;try{await this._$ES}catch(t){Promise.reject(t)}let t=this.scheduleUpdate();return null!=t&&await t,!this.isUpdatePending}scheduleUpdate(){return this.performUpdate()}performUpdate(){if(!this.isUpdatePending)return;if(!this.hasUpdated){if(this.renderRoot??=this.createRenderRoot(),this._$Ep){for(let[t,r]of this._$Ep)this[t]=r;this._$Ep=void 0}let t=this.constructor.elementProperties;if(t.size>0)for(let[r,n]of t){let{wrapped:t}=n,s=this[r];!0!==t||this._$AL.has(r)||void 0===s||this.C(r,void 0,n,s)}}let t=!1,r=this._$AL;try{(t=this.shouldUpdate(r))?(this.willUpdate(r),this._$EO?.forEach(t=>t.hostUpdate?.()),this.update(r)):this._$EM()}catch(r){throw t=!1,this._$EM(),r}t&&this._$AE(r)}willUpdate(t){}_$AE(t){this._$EO?.forEach(t=>t.hostUpdated?.()),this.hasUpdated||(this.hasUpdated=!0,this.firstUpdated(t)),this.updated(t)}_$EM(){this._$AL=new Map,this.isUpdatePending=!1}get updateComplete(){return this.getUpdateComplete()}getUpdateComplete(){return this._$ES}shouldUpdate(t){return!0}update(t){this._$Eq&&=this._$Eq.forEach(t=>this._$ET(t,this[t])),this._$EM()}updated(t){}firstUpdated(t){}};y.elementStyles=[],y.shadowRootOptions={mode:"open"},y.elementProperties=new Map,y.finalized=new Map,b?.({ReactiveElement:y}),(g.reactiveElementVersions??=[]).push("2.1.0")},35470:function(t,r,n){n.d(r,{iQ:()=>task_h});var s=n(29140);let o=Symbol();let task_h=class task_h{get taskComplete(){return this.t||(1===this.i?this.t=new Promise((t,r)=>{this.o=t,this.h=r}):3===this.i?this.t=Promise.reject(this.l):this.t=Promise.resolve(this.u)),this.t}constructor(t,r,n){this.p=0,this.i=0,(this._=t).addController(this);let s="object"==typeof r?r:{task:r,args:n};this.v=s.task,this.j=s.args,this.m=s.argsEqual??a,this.k=s.onComplete,this.A=s.onError,this.autoRun=s.autoRun??!0,"initialValue"in s&&(this.u=s.initialValue,this.i=2,this.O=this.T?.())}hostUpdate(){!0===this.autoRun&&this.S()}hostUpdated(){"afterUpdate"===this.autoRun&&this.S()}T(){if(void 0===this.j)return;let t=this.j();if(!Array.isArray(t))throw Error("The args function must return an array");return t}async S(){let t=this.T(),r=this.O;this.O=t,t===r||void 0===t||void 0!==r&&this.m(r,t)||await this.run(t)}async run(t){let r,n;t??=this.T(),this.O=t,1===this.i?this.q?.abort():(this.t=void 0,this.o=void 0,this.h=void 0),this.i=1,"afterUpdate"===this.autoRun?queueMicrotask(()=>this._.requestUpdate()):this._.requestUpdate();let s=++this.p;this.q=new AbortController;let a=!1;try{r=await this.v(t,{signal:this.q.signal})}catch(t){a=!0,n=t}if(this.p===s){if(r===o)this.i=0;else{if(!1===a){try{this.k?.(r)}catch{}this.i=2,this.o?.(r)}else{try{this.A?.(n)}catch{}this.i=3,this.h?.(n)}this.u=r,this.l=n}this._.requestUpdate()}}abort(t){1===this.i&&this.q?.abort(t)}get value(){return this.u}get error(){return this.l}get status(){return this.i}render(t){switch(this.i){case 0:return t.initial?.();case 1:return t.pending?.();case 2:return t.complete?.(this.value);case 3:return t.error?.(this.error);default:throw Error("Unexpected status: "+this.i)}}};let a=(t,r)=>t===r||t.length===r.length&&t.every((t,n)=>!(0,s.Qu)(t,r[n]))},30542:function(t,r,n){n.d(r,{OR:()=>u,dZ:()=>l,hN:()=>a,pt:()=>o});let{I:s}=n(32529).Al,o=t=>null===t||"object"!=typeof t&&"function"!=typeof t,a=(t,r)=>void 0===r?void 0!==t?._$litType$:t?._$litType$===r,l=t=>null!=t?._$litType$?.h,u=t=>void 0===t.strings},50990:function(t,r,n){n.d(r,{XM:()=>o,Xe:()=>i,pX:()=>s});let s={ATTRIBUTE:1,CHILD:2,PROPERTY:3,BOOLEAN_ATTRIBUTE:4,EVENT:5,ELEMENT:6},o=t=>(...r)=>({_$litDirective$:t,values:r});let i=class i{constructor(t){}get _$AU(){return this._$AM._$AU}_$AT(t,r,n){this._$Ct=t,this._$AM=r,this._$Ci=n}_$AS(t,r){return this.update(t,r)}update(t,r){return this.render(...r)}}},32529:function(t,r,n){n.d(r,{Al:()=>q,Jb:()=>O,Ld:()=>C,YP:()=>P,dy:()=>T,sY:()=>W});let s=globalThis,o=s.trustedTypes,a=o?o.createPolicy("lit-html",{createHTML:t=>t}):void 0,l="$lit$",u=`lit$${Math.random().toFixed(9).slice(2)}$`,h="?"+u,c=`<${h}>`,f=document,d=()=>f.createComment(""),p=t=>null===t||"object"!=typeof t&&"function"!=typeof t,m=Array.isArray,v=t=>m(t)||"function"==typeof t?.[Symbol.iterator],g="[ \n\f\r]",$=/<(?:(!--|\/[^a-zA-Z])|(\/?[a-zA-Z][^>\s]*)|(\/?$))/g,_=/-->/g,b=/>/g,w=RegExp(`>|${g}(?:([^\\s"'>=/]+)(${g}*=${g}*(?:[^
|
|
3
|
-
\f\r"'\`<>=]|("|')|))|$)`,"g"),A=/'/g,E=/"/g,x=/^(?:script|style|textarea|title)$/i,S=t=>(r,...n)=>({_$litType$:t,strings:r,values:n}),T=S(1),P=S(2),O=(S(3),Symbol.for("lit-noChange")),C=Symbol.for("lit-nothing"),U=new WeakMap,D=f.createTreeWalker(f,129);function F(t,r){if(!m(t)||!t.hasOwnProperty("raw"))throw Error("invalid template strings array");return void 0!==a?a.createHTML(r):r}let j=(t,r)=>{let n=t.length-1,s=[],o,a=2===r?"<svg>":3===r?"<math>":"",h=$;for(let r=0;r<n;r++){let n=t[r],f,d,p=-1,m=0;for(;m<n.length&&(h.lastIndex=m,null!==(d=h.exec(n)));)m=h.lastIndex,h===$?"!--"===d[1]?h=_:void 0!==d[1]?h=b:void 0!==d[2]?(x.test(d[2])&&(o=RegExp("</"+d[2],"g")),h=w):void 0!==d[3]&&(h=w):h===w?">"===d[0]?(h=o??$,p=-1):void 0===d[1]?p=-2:(p=h.lastIndex-d[2].length,f=d[1],h=void 0===d[3]?w:'"'===d[3]?E:A):h===E||h===A?h=w:h===_||h===b?h=$:(h=w,o=void 0);let v=h===w&&t[r+1].startsWith("/>")?" ":"";a+=h===$?n+c:p>=0?(s.push(f),n.slice(0,p)+l+n.slice(p)+u+v):n+u+(-2===p?r:v)}return[F(t,a+(t[n]||"<?>")+(2===r?"</svg>":3===r?"</math>":"")),s]};let N=class N{constructor({strings:t,_$litType$:r},n){let s;this.parts=[];let a=0,c=0,f=t.length-1,p=this.parts,[m,v]=j(t,r);if(this.el=N.createElement(m,n),D.currentNode=this.el.content,2===r||3===r){let t=this.el.content.firstChild;t.replaceWith(...t.childNodes)}for(;null!==(s=D.nextNode())&&p.length<f;){if(1===s.nodeType){if(s.hasAttributes())for(let t of s.getAttributeNames())if(t.endsWith(l)){let r=v[c++],n=s.getAttribute(t).split(u),o=/([.?@])?(.*)/.exec(r);p.push({type:1,index:a,name:o[2],strings:n,ctor:"."===o[1]?H:"?"===o[1]?I:"@"===o[1]?L:k}),s.removeAttribute(t)}else t.startsWith(u)&&(p.push({type:6,index:a}),s.removeAttribute(t));if(x.test(s.tagName)){let t=s.textContent.split(u),r=t.length-1;if(r>0){s.textContent=o?o.emptyScript:"";for(let n=0;n<r;n++)s.append(t[n],d()),D.nextNode(),p.push({type:2,index:++a});s.append(t[r],d())}}}else if(8===s.nodeType)if(s.data===h)p.push({type:2,index:a});else{let t=-1;for(;-1!==(t=s.data.indexOf(u,t+1));)p.push({type:7,index:a}),t+=u.length-1}a++}}static createElement(t,r){let n=f.createElement("template");return n.innerHTML=t,n}};function B(t,r,n=t,s){if(r===O)return r;let o=void 0!==s?n._$Co?.[s]:n._$Cl,a=p(r)?void 0:r._$litDirective$;return o?.constructor!==a&&(o?._$AO?.(!1),void 0===a?o=void 0:(o=new a(t))._$AT(t,n,s),void 0!==s?(n._$Co??=[])[s]=o:n._$Cl=o),void 0!==o&&(r=B(t,o._$AS(t,r.values),o,s)),r}let M=class M{constructor(t,r){this._$AV=[],this._$AN=void 0,this._$AD=t,this._$AM=r}get parentNode(){return this._$AM.parentNode}get _$AU(){return this._$AM._$AU}u(t){let{el:{content:r},parts:n}=this._$AD,s=(t?.creationScope??f).importNode(r,!0);D.currentNode=s;let o=D.nextNode(),a=0,l=0,u=n[0];for(;void 0!==u;){if(a===u.index){let r;2===u.type?r=new R(o,o.nextSibling,this,t):1===u.type?r=new u.ctor(o,u.name,u.strings,this,t):6===u.type&&(r=new z(o,this,t)),this._$AV.push(r),u=n[++l]}a!==u?.index&&(o=D.nextNode(),a++)}return D.currentNode=f,s}p(t){let r=0;for(let n of this._$AV)void 0!==n&&(void 0!==n.strings?(n._$AI(t,n,r),r+=n.strings.length-2):n._$AI(t[r])),r++}};let R=class R{get _$AU(){return this._$AM?._$AU??this._$Cv}constructor(t,r,n,s){this.type=2,this._$AH=C,this._$AN=void 0,this._$AA=t,this._$AB=r,this._$AM=n,this.options=s,this._$Cv=s?.isConnected??!0}get parentNode(){let t=this._$AA.parentNode,r=this._$AM;return void 0!==r&&11===t?.nodeType&&(t=r.parentNode),t}get startNode(){return this._$AA}get endNode(){return this._$AB}_$AI(t,r=this){p(t=B(this,t,r))?t===C||null==t||""===t?(this._$AH!==C&&this._$AR(),this._$AH=C):t!==this._$AH&&t!==O&&this._(t):void 0!==t._$litType$?this.$(t):void 0!==t.nodeType?this.T(t):v(t)?this.k(t):this._(t)}O(t){return this._$AA.parentNode.insertBefore(t,this._$AB)}T(t){this._$AH!==t&&(this._$AR(),this._$AH=this.O(t))}_(t){this._$AH!==C&&p(this._$AH)?this._$AA.nextSibling.data=t:this.T(f.createTextNode(t)),this._$AH=t}$(t){let{values:r,_$litType$:n}=t,s="number"==typeof n?this._$AC(t):(void 0===n.el&&(n.el=N.createElement(F(n.h,n.h[0]),this.options)),n);if(this._$AH?._$AD===s)this._$AH.p(r);else{let t=new M(s,this),n=t.u(this.options);t.p(r),this.T(n),this._$AH=t}}_$AC(t){let r=U.get(t.strings);return void 0===r&&U.set(t.strings,r=new N(t)),r}k(t){m(this._$AH)||(this._$AH=[],this._$AR());let r=this._$AH,n,s=0;for(let o of t)s===r.length?r.push(n=new R(this.O(d()),this.O(d()),this,this.options)):n=r[s],n._$AI(o),s++;s<r.length&&(this._$AR(n&&n._$AB.nextSibling,s),r.length=s)}_$AR(t=this._$AA.nextSibling,r){for(this._$AP?.(!1,!0,r);t
|
|
4
|
-
//# sourceMappingURL=5557.
|
|
1
|
+
/*! For license information please see 5557.3923ba7ade67d4c8.js.LICENSE.txt */
|
|
2
|
+
export const __webpack_ids__=["5557"];export const __webpack_modules__={33405:function(t){t.exports=function t(r){for(var n,s,o=Array.prototype.slice.call(arguments,1);o.length;)for(s in n=o.shift())n.hasOwnProperty(s)&&("[object Object]"===Object.prototype.toString.call(r[s])?r[s]=t(r[s],n[s]):r[s]=n[s]);return r}},23645:function(t){t.exports=function(t){var r=[];return r.toString=function(){return this.map(function(r){var n="",s=void 0!==r[5];return r[4]&&(n+="@supports (".concat(r[4],") {")),r[2]&&(n+="@media ".concat(r[2]," {")),s&&(n+="@layer".concat(r[5].length>0?" ".concat(r[5]):""," {")),n+=t(r),s&&(n+="}"),r[2]&&(n+="}"),r[4]&&(n+="}"),n}).join("")},r.i=function(t,n,s,o,a){"string"==typeof t&&(t=[[null,t,void 0]]);var l={};if(s)for(var u=0;u<this.length;u++){var h=this[u][0];null!=h&&(l[h]=!0)}for(var c=0;c<t.length;c++){var f=[].concat(t[c]);s&&l[f[0]]||(void 0!==a&&(void 0===f[5]||(f[1]="@layer".concat(f[5].length>0?" ".concat(f[5]):""," {").concat(f[1],"}")),f[5]=a),n&&(f[2]&&(f[1]="@media ".concat(f[2]," {").concat(f[1],"}")),f[2]=n),o&&(f[4]?(f[1]="@supports (".concat(f[4],") {").concat(f[1],"}"),f[4]=o):f[4]="".concat(o)),r.push(f))}},r}},61667:function(t){t.exports=function(t,r){return(r||(r={}),t&&(t=String(t.__esModule?t.default:t),/^['"].*['"]$/.test(t)&&(t=t.slice(1,-1)),r.hash&&(t+=r.hash),/["'() \t\n]|(%20)/.test(t)||r.needQuotes))?'"'.concat(t.replace(/"/g,'\\"').replace(/\n/g,"\\n"),'"'):t}},8081:function(t){t.exports=function(t){return t[1]}},93778:function(t,r,n){n.d(r,{TD:()=>te,rZ:()=>Q});var s=Uint8Array,o=Uint16Array,a=Int32Array,l=new s([0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0,0,0,0]),u=new s([0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13,0,0]),h=new s([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),c=function(t,r){for(var n=new o(31),s=0;s<31;++s)n[s]=r+=1<<t[s-1];for(var l=new a(n[30]),s=1;s<30;++s)for(var u=n[s];u<n[s+1];++u)l[u]=u-n[s]<<5|s;return{b:n,r:l}},f=c(l,2),d=f.b,p=f.r;d[28]=258,p[258]=28;for(var m=c(u,0),v=(m.b,m.r),g=new o(32768),$=0;$<32768;++$){var _=(43690&$)>>1|(21845&$)<<1;_=(61680&(_=(52428&_)>>2|(13107&_)<<2))>>4|(3855&_)<<4,g[$]=((65280&_)>>8|(255&_)<<8)>>1}for(var b=function(t,r,n){for(var s,a=t.length,l=0,u=new o(r);l<a;++l)t[l]&&++u[t[l]-1];var h=new o(r);for(l=1;l<r;++l)h[l]=h[l-1]+u[l-1]<<1;if(n){s=new o(1<<r);var c=15-r;for(l=0;l<a;++l)if(t[l])for(var f=l<<4|t[l],d=r-t[l],p=h[t[l]-1]++<<d,m=p|(1<<d)-1;p<=m;++p)s[g[p]>>c]=f}else for(l=0,s=new o(a);l<a;++l)t[l]&&(s[l]=g[h[t[l]-1]++]>>15-t[l]);return s},w=new s(288),$=0;$<144;++$)w[$]=8;for(var $=144;$<256;++$)w[$]=9;for(var $=256;$<280;++$)w[$]=7;for(var $=280;$<288;++$)w[$]=8;for(var A=new s(32),$=0;$<32;++$)A[$]=5;var E=b(w,9,0),x=b(A,5,0),S=function(t){return(t+7)/8|0},T=function(t,r,n){return(null==r||r<0)&&(r=0),(null==n||n>t.length)&&(n=t.length),new s(t.subarray(r,n))},P=function(t,r,n){n<<=7&r;var s=r/8|0;t[s]|=n,t[s+1]|=n>>8},O=function(t,r,n){n<<=7&r;var s=r/8|0;t[s]|=n,t[s+1]|=n>>8,t[s+2]|=n>>16},C=function(t,r){for(var n=[],a=0;a<t.length;++a)t[a]&&n.push({s:a,f:t[a]});var l=n.length,u=n.slice();if(!l)return{t:V,l:0};if(1==l){var h=new s(n[0].s+1);return h[n[0].s]=1,{t:h,l:1}}n.sort(function(t,r){return t.f-r.f}),n.push({s:-1,f:25001});var c=n[0],f=n[1],d=0,p=1,m=2;for(n[0]={s:-1,f:c.f+f.f,l:c,r:f};p!=l-1;)c=n[n[d].f<n[m].f?d++:m++],f=n[d!=p&&n[d].f<n[m].f?d++:m++],n[p++]={s:-1,f:c.f+f.f,l:c,r:f};for(var v=u[0].s,a=1;a<l;++a)u[a].s>v&&(v=u[a].s);var g=new o(v+1),$=U(n[p-1],g,0);if($>r){var a=0,_=0,b=$-r,w=1<<b;for(u.sort(function(t,r){return g[r.s]-g[t.s]||t.f-r.f});a<l;++a){var A=u[a].s;if(g[A]>r)_+=w-(1<<$-g[A]),g[A]=r;else break}for(_>>=b;_>0;){var E=u[a].s;g[E]<r?_-=1<<r-g[E]++-1:++a}for(;a>=0&&_;--a){var x=u[a].s;g[x]==r&&(--g[x],++_)}$=r}return{t:new s(g),l:$}},U=function(t,r,n){return -1==t.s?Math.max(U(t.l,r,n+1),U(t.r,r,n+1)):r[t.s]=n},D=function(t){for(var r=t.length;r&&!t[--r];);for(var n=new o(++r),s=0,a=t[0],l=1,u=function(t){n[s++]=t},h=1;h<=r;++h)if(t[h]==a&&h!=r)++l;else{if(!a&&l>2){for(;l>138;l-=138)u(32754);l>2&&(u(l>10?l-11<<5|28690:l-3<<5|12305),l=0)}else if(l>3){for(u(a),--l;l>6;l-=6)u(8304);l>2&&(u(l-3<<5|8208),l=0)}for(;l--;)u(a);l=1,a=t[h]}return{c:n.subarray(0,s),n:r}},F=function(t,r){for(var n=0,s=0;s<r.length;++s)n+=t[s]*r[s];return n},j=function(t,r,n){var s=n.length,o=S(r+2);t[o]=255&s,t[o+1]=s>>8,t[o+2]=255^t[o],t[o+3]=255^t[o+1];for(var a=0;a<s;++a)t[o+a+4]=n[a];return(o+4+s)*8},B=function(t,r,n,s,a,c,f,d,p,m,v){P(r,v++,n),++a[256];for(var g,$,_,S,T=C(a,15),U=T.t,B=T.l,q=C(c,15),V=q.t,W=q.l,Z=D(U),X=Z.c,Y=Z.n,J=D(V),G=J.c,Q=J.n,K=new o(19),tt=0;tt<X.length;++tt)++K[31&X[tt]];for(var tt=0;tt<G.length;++tt)++K[31&G[tt]];for(var te=C(K,7),tr=te.t,tn=te.l,ti=19;ti>4&&!tr[h[ti-1]];--ti);var ts=m+5<<3,to=F(a,w)+F(c,A)+f,ta=F(a,U)+F(c,V)+f+14+3*ti+F(K,tr)+2*K[16]+3*K[17]+7*K[18];if(p>=0&&ts<=to&&ts<=ta)return j(r,v,t.subarray(p,p+m));if(P(r,v,1+(ta<to)),v+=2,ta<to){g=b(U,B,0),$=U,_=b(V,W,0),S=V;var tl=b(tr,tn,0);P(r,v,Y-257),P(r,v+5,Q-1),P(r,v+10,ti-4),v+=14;for(var tt=0;tt<ti;++tt)P(r,v+3*tt,tr[h[tt]]);v+=3*ti;for(var tu=[X,G],th=0;th<2;++th)for(var tc=tu[th],tt=0;tt<tc.length;++tt){var tf=31&tc[tt];P(r,v,tl[tf]),v+=tr[tf],tf>15&&(P(r,v,tc[tt]>>5&127),v+=tc[tt]>>12)}}else g=E,$=w,_=x,S=A;for(var tt=0;tt<d;++tt){var td=s[tt];if(td>255){var tf=td>>18&31;O(r,v,g[tf+257]),v+=$[tf+257],tf>7&&(P(r,v,td>>23&31),v+=l[tf]);var tp=31&td;O(r,v,_[tp]),v+=S[tp],tp>3&&(O(r,v,td>>5&8191),v+=u[tp])}else O(r,v,g[td]),v+=$[td]}return O(r,v,g[256]),v+$[256]},q=new a([65540,131080,131088,131104,262176,1048704,1048832,2114560,2117632]),V=new s(0),W=function(t,r,n,h,c,f){var d=f.z||t.length,m=new s(h+d+5*(1+Math.ceil(d/7e3))+c),g=m.subarray(h,m.length-c),$=f.l,_=7&(f.r||0);if(r){_&&(g[0]=f.r>>3);for(var b=q[r-1],w=b>>13,A=8191&b,E=(1<<n)-1,x=f.p||new o(32768),P=f.h||new o(E+1),O=Math.ceil(n/3),C=2*O,U=function(r){return(t[r]^t[r+1]<<O^t[r+2]<<C)&E},D=new a(25e3),F=new o(288),V=new o(32),W=0,Z=0,X=f.i||0,Y=0,J=f.w||0,G=0;X+2<d;++X){var Q=U(X),K=32767&X,tt=P[Q];if(x[K]=tt,P[Q]=K,J<=X){var te=d-X;if((W>7e3||Y>24576)&&(te>423||!$)){_=B(t,g,0,D,F,V,Z,Y,G,X-G,_),Y=W=Z=0,G=X;for(var tr=0;tr<286;++tr)F[tr]=0;for(var tr=0;tr<30;++tr)V[tr]=0}var tn=2,ti=0,ts=A,to=K-tt&32767;if(te>2&&Q==U(X-to))for(var ta=Math.min(w,te)-1,tl=Math.min(32767,X),tu=Math.min(258,te);to<=tl&&--ts&&K!=tt;){if(t[X+tn]==t[X+tn-to]){for(var th=0;th<tu&&t[X+th]==t[X+th-to];++th);if(th>tn){if(tn=th,ti=to,th>ta)break;for(var tc=Math.min(to,th-2),tf=0,tr=0;tr<tc;++tr){var td=X-to+tr&32767,tp=x[td],tm=td-tp&32767;tm>tf&&(tf=tm,tt=td)}}}tt=x[K=tt],to+=K-tt&32767}if(ti){D[Y++]=0x10000000|p[tn]<<18|v[ti];var tv=31&p[tn],tg=31&v[ti];Z+=l[tv]+u[tg],++F[257+tv],++V[tg],J=X+tn,++W}else D[Y++]=t[X],++F[t[X]]}}for(X=Math.max(X,J);X<d;++X)D[Y++]=t[X],++F[t[X]];_=B(t,g,$,D,F,V,Z,Y,G,X-G,_),$||(f.r=7&_|g[_/8|0]<<3,_-=7,f.h=P,f.p=x,f.i=X,f.w=J)}else{for(var X=f.w||0;X<d+$;X+=65535){var ty=X+65535;ty>=d&&(g[_/8|0]=$,ty=d),_=j(g,_+1,t.subarray(X,ty))}f.i=d}return T(m,0,h+S(_)+c)},Z=function(){for(var t=new Int32Array(256),r=0;r<256;++r){for(var n=r,s=9;--s;)n=(1&n&&-0x12477ce0)^n>>>1;t[r]=n}return t}(),X=function(){var t=-1;return{p:function(r){for(var n=t,s=0;s<r.length;++s)n=Z[255&n^r[s]]^n>>>8;t=n},d:function(){return~t}}},Y=function(t,r,n,o,a){if(!a&&(a={l:1},r.dictionary)){var l=r.dictionary.subarray(-32768),u=new s(l.length+t.length);u.set(l),u.set(t,l.length),t=u,a.w=l.length}return W(t,null==r.level?6:r.level,null==r.mem?a.l?Math.ceil(1.5*Math.max(8,Math.min(13,Math.log(t.length)))):20:12+r.mem,n,o,a)},J=function(t,r,n){for(;n;++r)t[r]=n,n>>>=8},G=function(t,r){var n=r.filename;if(t[0]=31,t[1]=139,t[2]=8,t[8]=r.level<2?4:2*(9==r.level),t[9]=3,0!=r.mtime&&J(t,4,Math.floor(new Date(r.mtime||Date.now())/1e3)),n){t[3]=8;for(var s=0;s<=n.length;++s)t[s+10]=n.charCodeAt(s)}};function Q(t,r){r||(r={});var n,s=X(),o=t.length;s.p(t);var a=Y(t,r,10+((n=r).filename?n.filename.length+1:0),8),l=a.length;return G(a,r),J(a,l-8,s.d()),J(a,l-4,o),a}var K="undefined"!=typeof TextEncoder&&new TextEncoder,tt="undefined"!=typeof TextDecoder&&new TextDecoder;try{tt.decode(V,{stream:!0})}catch(t){}function te(t,r){if(r){for(var n=new s(t.length),o=0;o<t.length;++o)n[o]=t.charCodeAt(o);return n}if(K)return K.encode(t);for(var a=t.length,l=new s(t.length+(t.length>>1)),u=0,h=function(t){l[u++]=t},o=0;o<a;++o){if(u+5>l.length){var c=new s(u+8+(a-o<<1));c.set(l),l=c}var f=t.charCodeAt(o);f<128||r?h(f):(f<2048?h(192|f>>6):(f>55295&&f<57344?(h(240|(f=65536+(1047552&f)|1023&t.charCodeAt(++o))>>18),h(128|f>>12&63)):h(224|f>>12),h(128|f>>6&63)),h(128|63&f))}return T(l,0,u)}"function"==typeof queueMicrotask&&queueMicrotask},36209:function(t,r,n){t.exports={uris:n(30304)(["background","base","cite","href","longdesc","src","usemap"])}},9204:function(t){t.exports={allowedAttributes:{a:["href","name","target","title","aria-label"],iframe:["allowfullscreen","frameborder","src"],img:["src","alt","title","aria-label"]},allowedClasses:{},allowedSchemes:["http","https","mailto"],allowedTags:["a","abbr","article","b","blockquote","br","caption","code","del","details","div","em","h1","h2","h3","h4","h5","h6","hr","i","img","ins","kbd","li","main","mark","ol","p","pre","section","span","strike","strong","sub","summary","sup","table","tbody","td","th","thead","tr","u","ul"],filter:null}},19040:function(t,r,n){t.exports={voids:n(30304)(["area","br","col","hr","img","wbr","input","base","basefont","link","meta"])}},76610:function(t,r,n){n(71021);var s=n(33405),o=n(19226),a=n(7377),l=n(9204);function u(t,r,n){var u=[];return o(t,a(u,!0===n?r:s({},l,r))),u.join("")}u.defaults=l,t.exports=u},44829:function(t){t.exports=function(t){return"string"==typeof t?t.toLowerCase():t}},19226:function(t,r,n){var s=n(71021),o=n(44829);n(36209);var a=n(19040),l=/^<\s*([\w:-]+)((?:\s+[\w:-]+(?:\s*=\s*(?:(?:"[^"]*")|(?:'[^']*')|[^>\s]+))?)*)\s*(\/?)\s*>/,u=/^<\s*\/\s*([\w:-]+)[^>]*>/,h=/([\w:-]+)(?:\s*=\s*(?:(?:"((?:[^"])*)")|(?:'((?:[^'])*)')|([^>\s]+)))?/g,c=/^</,f=/^<\s*\//;t.exports=function(t,r){for(var n,d,p=((n=[]).lastItem=function(){return n[n.length-1]},n),m=t;t;)!function(){d=!0,"\x3c!--"===t.substr(0,4)?function(){var n=t.indexOf("--\x3e");n>=0&&(r.comment&&r.comment(t.substring(4,n)),t=t.substring(n+3),d=!1)}():f.test(t)?v(u,$):c.test(t)&&v(l,g),function(){if(d){var n,s=t.indexOf("<");s>=0?(n=t.substring(0,s),t=t.substring(s)):(n=t,t=""),r.chars&&r.chars(n)}}();var n=t===m;m=t,n&&(t="")}();function v(r,n){var s=t.match(r);s&&(t=t.substring(s[0].length),s[0].replace(r,n),d=!1)}function g(t,n,l,u){var c={},f=o(n),d=a.voids[f]||!!u;l.replace(h,function(t,r,n,o,a){void 0===n&&void 0===o&&void 0===a?c[r]=void 0:c[r]=s.decode(n||o||a||"")}),d||p.push(f),r.start&&r.start(f,c,d)}function $(t,n){var s,a=0,l=o(n);if(l)for(a=p.length-1;a>=0&&p[a]!==l;a--);if(a>=0){for(s=p.length-1;s>=a;s--)r.end&&r.end(p[s]);p.length=a}}$()}},7377:function(t,r,n){var s=n(71021),o=n(44829),a=n(36209),l=n(19040);t.exports=function(t,r){var n,u=r||{};return c(),{start:function(t,r,c){var f=o(t);if(n.ignoring||-1===(u.allowedTags||[]).indexOf(f)||u.filter&&!u.filter({tag:f,attrs:r}))return void function(t){!l.voids[t]&&(!1===n.ignoring?n={ignoring:t,depth:1}:n.ignoring===t&&n.depth++)}(f);h("<"),h(f),Object.keys(r).forEach(function(t){var n=r[t],l=(u.allowedClasses||{})[f]||[],c=(u.allowedAttributes||{})[f]||[],d=o(t);("class"===d&&-1===c.indexOf(d)?(n=n.split(" ").filter(function(t){return l&&-1!==l.indexOf(t)}).join(" ").trim()).length:-1!==c.indexOf(d)&&(!0!==a.uris[d]||function(t){var r=t[0];if("#"===r||"/"===r)return!0;var n=t.indexOf(":");if(-1===n)return!0;var s=t.indexOf("?");if(-1!==s&&n>s)return!0;var o=t.indexOf("#");return -1!==o&&n>o||u.allowedSchemes.some(function(r){return 0===t.indexOf(r+":")})}(n)))&&(h(" "),h(t),"string"==typeof n&&(h('="'),h(s.encode(n)),h('"')))}),h(c?"/>":">")},end:function(t){var r=o(t);-1!==(u.allowedTags||[]).indexOf(r)&&!1===n.ignoring?(h("</"),h(r),h(">")):function(t){n.ignoring===t&&--n.depth<=0&&c()}(r)},chars:function(t){!1===n.ignoring&&h(u.transformText?u.transformText(t):t)}};function h(r){t.push(r)}function c(){n={ignoring:!1,depth:0}}}},71021:function(t){var r={"&":"&","<":"<",">":">",'"':""","'":"'"},n={"&":"&","<":"<",">":">",""":'"',"'":"'"},s=/(&|<|>|"|')/g,o=/[&<>"']/g;function a(t){return r[t]}function l(t){return n[t]}function u(t){return null==t?"":String(t).replace(o,a)}function h(t){return null==t?"":String(t).replace(s,l)}u.options=h.options={},t.exports={encode:u,escape:u,decode:h,unescape:h,version:"1.0.0-browser"}},30304:function(t){function r(t,r){return t[r]=!0,t}t.exports=function(t){return t.reduce(r,{})}},87987:function(t,r,n){n.d(r,{Yk:()=>FluentBundle,WZ:()=>FluentResource});let FluentType=class FluentType{constructor(t){this.value=t}valueOf(){return this.value}};let FluentNone=class FluentNone extends FluentType{constructor(t="???"){super(t)}toString(t){return`{${this.value}}`}};let FluentNumber=class FluentNumber extends FluentType{constructor(t,r={}){super(t),this.opts=r}toString(t){if(t)try{return t.memoizeIntlObject(Intl.NumberFormat,this.opts).format(this.value)}catch(r){t.reportError(r)}return this.value.toString(10)}};let FluentDateTime=class FluentDateTime extends FluentType{static supportsValue(t){if("number"==typeof t||t instanceof Date)return!0;if(t instanceof FluentType)return FluentDateTime.supportsValue(t.valueOf());if("Temporal"in globalThis){let r=globalThis.Temporal;if(t instanceof r.Instant||t instanceof r.PlainDateTime||t instanceof r.PlainDate||t instanceof r.PlainMonthDay||t instanceof r.PlainTime||t instanceof r.PlainYearMonth)return!0}return!1}constructor(t,r={}){t instanceof FluentDateTime?(r={...t.opts,...r},t=t.value):t instanceof FluentType&&(t=t.valueOf()),"object"==typeof t&&"calendarId"in t&&void 0===r.calendar&&(r={...r,calendar:t.calendarId}),super(t),this.opts=r}[Symbol.toPrimitive](t){return"string"===t?this.toString():this.toNumber()}toNumber(){let t=this.value;if("number"==typeof t)return t;if(t instanceof Date)return t.getTime();if("epochMilliseconds"in t)return t.epochMilliseconds;if("toZonedDateTime"in t)return t.toZonedDateTime("UTC").epochMilliseconds;throw TypeError("Unwrapping a non-number value as a number")}toString(t){if(t)try{return t.memoizeIntlObject(Intl.DateTimeFormat,this.opts).format(this.value)}catch(r){t.reportError(r)}return"number"==typeof this.value||this.value instanceof Date?new Date(this.value).toISOString():this.value.toString()}};function s(t,r,n){return r[n]?u(t,r[n].value):(t.reportError(RangeError("No default")),new FluentNone)}function o(t,r){let n=[],s=Object.create(null);for(let o of r)"narg"===o.type?s[o.name]=a(t,o.value):n.push(a(t,o));return{positional:n,named:s}}function a(t,r){switch(r.type){case"str":return r.value;case"num":return new FluentNumber(r.value,{minimumFractionDigits:r.precision});case"var":return function(t,{name:r}){let n;if(t.params)if(!Object.prototype.hasOwnProperty.call(t.params,r))return new FluentNone(`$${r}`);else n=t.params[r];else{if(!(t.args&&Object.prototype.hasOwnProperty.call(t.args,r)))return t.reportError(ReferenceError(`Unknown variable: $${r}`)),new FluentNone(`$${r}`);n=t.args[r]}if(n instanceof FluentType)return n;switch(typeof n){case"string":return n;case"number":return new FluentNumber(n);case"object":if(FluentDateTime.supportsValue(n))return new FluentDateTime(n);default:return t.reportError(TypeError(`Variable type not supported: $${r}, ${typeof n}`)),new FluentNone(`$${r}`)}}(t,r);case"mesg":return function(t,{name:r,attr:n}){let s=t.bundle._messages.get(r);if(!s)return t.reportError(ReferenceError(`Unknown message: ${r}`)),new FluentNone(r);if(n){let o=s.attributes[n];return o?u(t,o):(t.reportError(ReferenceError(`Unknown attribute: ${n}`)),new FluentNone(`${r}.${n}`))}return s.value?u(t,s.value):(t.reportError(ReferenceError(`No value: ${r}`)),new FluentNone(r))}(t,r);case"term":return function(t,{name:r,attr:n,args:s}){let a=`-${r}`,l=t.bundle._terms.get(a);if(!l)return t.reportError(ReferenceError(`Unknown term: ${a}`)),new FluentNone(a);if(n){let r=l.attributes[n];if(r){t.params=o(t,s).named;let n=u(t,r);return t.params=null,n}return t.reportError(ReferenceError(`Unknown attribute: ${n}`)),new FluentNone(`${a}.${n}`)}t.params=o(t,s).named;let h=u(t,l.value);return t.params=null,h}(t,r);case"func":return function(t,{name:r,args:n}){let s=t.bundle._functions[r];if(!s)return t.reportError(ReferenceError(`Unknown function: ${r}()`)),new FluentNone(`${r}()`);if("function"!=typeof s)return t.reportError(TypeError(`Function ${r}() is not callable`)),new FluentNone(`${r}()`);try{let r=o(t,n);return s(r.positional,r.named)}catch(n){return t.reportError(n),new FluentNone(`${r}()`)}}(t,r);case"select":return function(t,{selector:r,variants:n,star:o}){let l=a(t,r);if(l instanceof FluentNone)return s(t,n,o);for(let r of n){var h,c,f;let n=a(t,r.key);if(h=t,c=l,(f=n)===c||f instanceof FluentNumber&&c instanceof FluentNumber&&f.value===c.value||c instanceof FluentNumber&&"string"==typeof f&&f===h.memoizeIntlObject(Intl.PluralRules,c.opts).select(c.value)||0)return u(t,r.value)}return s(t,n,o)}(t,r);default:return new FluentNone}}function l(t,r){if(t.dirty.has(r))return t.reportError(RangeError("Cyclic reference")),new FluentNone;t.dirty.add(r);let n=[],s=t.bundle._useIsolating&&r.length>1;for(let o of r){if("string"==typeof o){n.push(t.bundle._transform(o));continue}if(t.placeables++,t.placeables>100)throw t.dirty.delete(r),RangeError(`Too many placeables expanded: ${t.placeables}, max allowed is 100`);s&&n.push(""),n.push(a(t,o).toString(t)),s&&n.push("")}return t.dirty.delete(r),n.join("")}function u(t,r){return"string"==typeof r?t.bundle._transform(r):l(t,r)}let Scope=class Scope{constructor(t,r,n){this.dirty=new WeakSet,this.params=null,this.placeables=0,this.bundle=t,this.errors=r,this.args=n}reportError(t){if(!this.errors||!(t instanceof Error))throw t;this.errors.push(t)}memoizeIntlObject(t,r){let n=this.bundle._intls.get(t);n||(n={},this.bundle._intls.set(t,n));let s=JSON.stringify(r);return n[s]||(n[s]=new t(this.bundle.locales,r)),n[s]}};function h(t,r){let n=Object.create(null);for(let[s,o]of Object.entries(t))r.includes(s)&&(n[s]=o.valueOf());return n}let c=["unitDisplay","currencyDisplay","useGrouping","minimumIntegerDigits","minimumFractionDigits","maximumFractionDigits","minimumSignificantDigits","maximumSignificantDigits"];function f(t,r){let n=t[0];if(n instanceof FluentNone)return new FluentNone(`NUMBER(${n.valueOf()})`);if(n instanceof FluentNumber)return new FluentNumber(n.valueOf(),{...n.opts,...h(r,c)});if(n instanceof FluentDateTime)return new FluentNumber(n.toNumber(),{...h(r,c)});throw TypeError("Invalid argument to NUMBER")}let d=["dateStyle","timeStyle","fractionalSecondDigits","dayPeriod","hour12","weekday","era","year","month","day","hour","minute","second","timeZoneName"];function p(t,r){let n=t[0];if(n instanceof FluentNone)return new FluentNone(`DATETIME(${n.valueOf()})`);if(n instanceof FluentDateTime||n instanceof FluentNumber)return new FluentDateTime(n,h(r,d));throw TypeError("Invalid argument to DATETIME")}let m=new Map;let FluentBundle=class FluentBundle{constructor(t,{functions:r,useIsolating:n=!0,transform:s=t=>t}={}){this._terms=new Map,this._messages=new Map,this.locales=Array.isArray(t)?t:[t],this._functions={NUMBER:f,DATETIME:p,...r},this._useIsolating=n,this._transform=s,this._intls=function(t){let r=Array.isArray(t)?t.join(" "):t,n=m.get(r);return void 0===n&&(n=new Map,m.set(r,n)),n}(t)}hasMessage(t){return this._messages.has(t)}getMessage(t){return this._messages.get(t)}addResource(t,{allowOverrides:r=!1}={}){let n=[];for(let s=0;s<t.body.length;s++){let o=t.body[s];if(o.id.startsWith("-")){if(!1===r&&this._terms.has(o.id)){n.push(Error(`Attempt to override an existing term: "${o.id}"`));continue}this._terms.set(o.id,o)}else{if(!1===r&&this._messages.has(o.id)){n.push(Error(`Attempt to override an existing message: "${o.id}"`));continue}this._messages.set(o.id,o)}}return n}formatPattern(t,r=null,n=null){if("string"==typeof t)return this._transform(t);let s=new Scope(this,n,r);try{return l(s,t).toString(s)}catch(t){if(s.errors&&t instanceof Error)return s.errors.push(t),new FluentNone().toString(s);throw t}}};let v=/^(-?[a-zA-Z][\w-]*) *= */gm,g=/\.([a-zA-Z][\w-]*) *= */y,$=/\*?\[/y,_=/(-?[0-9]+(?:\.([0-9]+))?)/y,b=/([a-zA-Z][\w-]*)/y,w=/([$-])?([a-zA-Z][\w-]*)(?:\.([a-zA-Z][\w-]*))?/y,A=/^[A-Z][A-Z0-9_-]*$/,E=/([^{}\n\r]+)/y,x=/([^\\"\n\r]*)/y,S=/\\([\\"])/y,T=/\\u([a-fA-F0-9]{4})|\\U([a-fA-F0-9]{6})/y,P=/^\n+/,O=/ +$/,C=/ *\r?\n/g,U=/( *)$/,D=/{\s*/y,F=/\s*}/y,j=/\[\s*/y,B=/\s*] */y,q=/\s*\(\s*/y,V=/\s*->\s*/y,W=/\s*:\s*/y,Z=/\s*,?\s*/y,X=/\s+/y;let FluentResource=class FluentResource{constructor(t){this.body=[],v.lastIndex=0;let r=0;for(;;){let s=v.exec(t);if(null===s)break;r=v.lastIndex;try{this.body.push(function(t){let r=u(),s=function(){let t=Object.create(null);for(;n(g);){let r=l(g),n=u();if(null===n)throw SyntaxError("Expected attribute value");t[r]=n}return t}();if(null===r&&0===Object.keys(s).length)throw SyntaxError("Expected message value or attributes");return{id:t,value:r,attributes:s}}(s[1]))}catch(t){if(t instanceof SyntaxError)continue;throw t}}function n(n){return n.lastIndex=r,n.test(t)}function s(n,s){if(t[r]===n)return r++,!0;if(s)throw new s(`Expected ${n}`);return!1}function o(t,s){if(n(t))return r=t.lastIndex,!0;if(s)throw new s(`Expected ${t.toString()}`);return!1}function a(n){n.lastIndex=r;let s=n.exec(t);if(null===s)throw SyntaxError(`Expected ${n.toString()}`);return r=n.lastIndex,s}function l(t){return a(t)[1]}function u(){let s;if(n(E)&&(s=l(E)),"{"===t[r]||"}"===t[r])return h(s?[s]:[],1/0);let o=p();return o?s?h([s,o],o.length):(o.value=m(o.value,P),h([o],o.length)):s?m(s,O):null}function h(s=[],o){for(;;){if(n(E)){s.push(l(E));continue}if("{"===t[r]){s.push(c());continue}if("}"===t[r])throw SyntaxError("Unbalanced closing brace");let a=p();if(a){s.push(a),o=Math.min(o,a.length);continue}break}let a=s.length-1,u=s[a];"string"==typeof u&&(s[a]=m(u,O));let f=[];for(let t of s)t instanceof Indent&&(t=t.value.slice(0,t.value.length-o)),t&&f.push(t);return f}function c(){o(D,SyntaxError);let h=function s(){if("{"===t[r])return c();if(n(w)){let[,n,l,u=null]=a(w);if("$"===n)return{type:"var",name:l};if(o(q)){let a=function(){let n=[];for(;;){switch(t[r]){case")":return r++,n;case void 0:throw SyntaxError("Unclosed argument list")}n.push(function(){let t=s();return"mesg"!==t.type?t:o(W)?{type:"narg",name:t.name,value:f()}:t}()),o(Z)}}();if("-"===n)return{type:"term",name:l,attr:u,args:a};if(A.test(l))return{type:"func",name:l,args:a};throw SyntaxError("Function names must be all upper-case")}return"-"===n?{type:"term",name:l,attr:u,args:[]}:{type:"mesg",name:l,attr:u}}return f()}();if(o(F))return h;if(o(V)){let t=function(){let t,r=[],a=0;for(;n($);){s("*")&&(t=a);let h=function(){let t;return o(j,SyntaxError),t=n(_)?d():{type:"str",value:l(b)},o(B,SyntaxError),t}(),c=u();if(null===c)throw SyntaxError("Expected variant value");r[a++]={key:h,value:c}}if(0===a)return null;if(void 0===t)throw SyntaxError("Expected default variant");return{variants:r,star:t}}();return o(F,SyntaxError),{type:"select",selector:h,...t}}throw SyntaxError("Unclosed placeable")}function f(){if(n(_))return d();if('"'===t[r]){s('"',SyntaxError);let o="";for(;;){if(o+=l(x),"\\"===t[r]){o+=function(){if(n(S))return l(S);if(n(T)){let[,t,r]=a(T),n=parseInt(t||r,16);return n<=55295||57344<=n?String.fromCodePoint(n):"�"}throw SyntaxError("Unknown escape sequence")}();continue}if(s('"'))return{type:"str",value:o};throw SyntaxError("Unclosed string literal")}return}throw SyntaxError("Invalid expression")}function d(){let[,t,r=""]=a(_),n=r.length;return{type:"num",value:parseFloat(t),precision:n}}function p(){let n=r;switch(o(X),t[r]){case".":case"[":case"*":case"}":case void 0:return!1;case"{":return Y(t.slice(n,r))}return" "===t[r-1]&&Y(t.slice(n,r))}function m(t,r){return t.replace(r,"")}function Y(t){return new Indent(t.replace(C,"\n"),U.exec(t)[1].length)}}};let Indent=class Indent{constructor(t,r){this.value=t,this.length=r}}},94966:function(t,r,n){var s=n(32529);let o=null,a={boundAttributeSuffix:s.Al.M,marker:s.Al.P,markerMatch:s.Al.A,HTML_RESULT:s.Al.C,getTemplateHtml:s.Al.L,overrideDirectiveResolve:(t,r)=>class extends t{_$AS(t,n){return r(this,n)}},patchDirectiveResolve:(t,r)=>{if(t.prototype._$AS.name!==r.name){o??=t.prototype._$AS.name;for(let n=t.prototype;n!==Object.prototype;n=Object.getPrototypeOf(n))if(n.hasOwnProperty(o))return void(n[o]=r);throw Error("Internal error: It is possible that both dev mode and production mode Lit was mixed together during SSR. Please comment on the issue: https://github.com/lit/lit/issues/4527")}},setDirectiveClass(t,r){t._$litDirective$=r},getAttributePartCommittedValue:(t,r,n)=>{let o=s.Jb;return t.j=t=>o=t,t._$AI(r,t,n),o},connectedDisconnectable:t=>({...t,_$AU:!0}),resolveDirective:s.Al.V,AttributePart:s.Al.H,PropertyPart:s.Al.B,BooleanAttributePart:s.Al.N,EventPart:s.Al.U,ElementPart:s.Al.F,TemplateInstance:s.Al.R,isIterable:s.Al.D,ChildPart:s.Al.I};var l=n(50990),u=n(30542);let{TemplateInstance:h,isIterable:c,resolveDirective:f,ChildPart:d,ElementPart:p}=a,m=(t,r,n,o)=>{let a,l;if(0===n.length)l=new d(r,null,void 0,o),a=t;else{let t=n[n.length-1];if("template-instance"===t.type)l=new d(r,null,t.instance,o),t.instance._$AV.push(l),a=t.result.values[t.instancePartIndex++],t.templatePartIndex++;else if("iterable"===t.type){l=new d(r,null,t.part,o);let n=t.iterator.next();if(n.done)throw a=void 0,t.done=!0,Error("Unhandled shorter than expected iterable");a=n.value,t.part._$AH.push(l)}else l=new d(r,null,t.part,o)}if((a=f(l,a))===s.Jb)n.push({part:l,type:"leaf"});else if((0,u.pt)(a))n.push({part:l,type:"leaf"}),l._$AH=a;else if((0,u.hN)(a)){if((0,u.dZ)(a))throw Error("compiled templates are not supported");let t="lit-part "+$(a);if(r.data!==t)throw Error("Hydration value mismatch: Unexpected TemplateResult rendered to part");{let t=new h(d.prototype._$AC(a),l);n.push({type:"template-instance",instance:t,part:l,templatePartIndex:0,instancePartIndex:0,result:a}),l._$AH=t}}else c(a)?(n.push({part:l,type:"iterable",value:a,iterator:a[Symbol.iterator](),done:!1}),l._$AH=[]):(n.push({part:l,type:"leaf"}),l._$AH=a??"");return l},v=(t,r,n)=>{if(void 0===r)throw Error("unbalanced part marker");r._$AB=t;let s=n.pop();if("iterable"===s.type&&!s.iterator.next().done)throw Error("unexpected longer than expected iterable");if(n.length>0)return n[n.length-1].part},g=(t,r,n)=>{let s=parseInt(/lit-node (\d+)/.exec(t.data)[1]),o=t.nextElementSibling;if(null===o)throw Error("could not find node for attribute parts");o.removeAttribute("defer-hydration");let a=r[r.length-1];if("template-instance"!==a.type)throw Error("Hydration value mismatch: Primitive found where TemplateResult expected. This usually occurs due to conditional rendering that resulted in a different value or template being rendered between the server and client.");{let t=a.instance;for(;;){let r=t._$AD.parts[a.templatePartIndex];if(void 0===r||r.type!==l.pX.ATTRIBUTE&&r.type!==l.pX.ELEMENT||r.index!==s)break;if(r.type===l.pX.ATTRIBUTE){let s=new r.ctor(o,r.name,r.strings,a.instance,n),h=(0,u.OR)(s)?a.result.values[a.instancePartIndex]:a.result.values,c=s.type!==l.pX.EVENT&&s.type!==l.pX.PROPERTY;s._$AI(h,s,a.instancePartIndex,c),a.instancePartIndex+=r.strings.length-1,t._$AV.push(s)}else{let r=new p(o,a.instance,n);f(r,a.result.values[a.instancePartIndex++]),t._$AV.push(r)}a.templatePartIndex++}}},$=t=>{let r=new Uint32Array(2).fill(5381);for(let n of t.strings)for(let t=0;t<n.length;t++)r[t%2]=33*r[t%2]^n.charCodeAt(t);return btoa(String.fromCharCode(...new Uint8Array(r.buffer)))};globalThis.litElementHydrateSupport=({LitElement:t})=>{let r=Object.getOwnPropertyDescriptor(Object.getPrototypeOf(t),"observedAttributes").get;Object.defineProperty(t,"observedAttributes",{get(){return[...r.call(this),"defer-hydration"]}});let n=t.prototype.attributeChangedCallback;t.prototype.attributeChangedCallback=function(t,r,s){"defer-hydration"===t&&null===s&&o.call(this),n.call(this,t,r,s)};let o=t.prototype.connectedCallback;t.prototype.connectedCallback=function(){this.hasAttribute("defer-hydration")||o.call(this)};let a=t.prototype.createRenderRoot;t.prototype.createRenderRoot=function(){return this.shadowRoot?(this._$AG=!0,this.shadowRoot):a.call(this)};let l=Object.getPrototypeOf(t.prototype).update;t.prototype.update=function(t){let r=this.render();if(l.call(this,t),this._$AG){this._$AG=!1;for(let t=0;t<this.attributes.length;t++){let r=this.attributes[t];if(r.name.startsWith("hydrate-internals-")){let t=r.name.slice(18);this.removeAttribute(t),this.removeAttribute(r.name)}}((t,r,n={})=>{let s,o,a,l;if(void 0!==r._$litPart$)throw Error("container already contains a live render");let u=[],h=document.createTreeWalker(r,NodeFilter.SHOW_COMMENT);for(;null!==(l=h.nextNode());){let r=l.data;if(r.startsWith("lit-part")){if(0===u.length&&void 0!==s)throw Error(`There must be only one root part per container. Found a part marker (${l}) when we already have a root part marker (${o})`);a=m(t,l,u,n),void 0===s&&(s=a),o??=l}else if(r.startsWith("lit-node"))g(l,u,n);else if(r.startsWith("/lit-part")){if(1===u.length&&a!==s)throw Error("internal error");a=v(l,a,u)}}if(void 0===s){let t=r instanceof ShadowRoot?"{container.host.localName}'s shadow root":r instanceof DocumentFragment?"DocumentFragment":r.localName;console.error(`There should be exactly one root part in a render container, but we didn't find any in ${t}.`)}r._$litPart$=s})(r,this.renderRoot,this.renderOptions)}else(0,s.sY)(r,this.renderRoot,this.renderOptions)}}},29140:function(t,r,n){n.d(r,{fl:()=>y,iv:()=>u,Qu:()=>A});let s=globalThis,o=s.ShadowRoot&&(void 0===s.ShadyCSS||s.ShadyCSS.nativeShadow)&&"adoptedStyleSheets"in Document.prototype&&"replace"in CSSStyleSheet.prototype,a=Symbol(),l=new WeakMap;let css_tag_n=class css_tag_n{constructor(t,r,n){if(this._$cssResult$=!0,n!==a)throw Error("CSSResult is not constructable. Use `unsafeCSS` or `css` instead.");this.cssText=t,this.t=r}get styleSheet(){let t=this.o,r=this.t;if(o&&void 0===t){let n=void 0!==r&&1===r.length;n&&(t=l.get(r)),void 0===t&&((this.o=t=new CSSStyleSheet).replaceSync(this.cssText),n&&l.set(r,t))}return t}toString(){return this.cssText}};let u=(t,...r)=>new css_tag_n(1===t.length?t[0]:r.reduce((r,n,s)=>r+(t=>{if(!0===t._$cssResult$)return t.cssText;if("number"==typeof t)return t;throw Error("Value passed to 'css' function must be a 'css' function result: "+t+". Use 'unsafeCSS' to pass non-literal values, but take care to ensure page security.")})(n)+t[s+1],t[0]),t,a),h=o?t=>t:t=>t instanceof CSSStyleSheet?(t=>{let r,n="";for(let r of t.cssRules)n+=r.cssText;return new css_tag_n("string"==typeof(r=n)?r:r+"",void 0,a)})(t):t,{is:c,defineProperty:f,getOwnPropertyDescriptor:d,getOwnPropertyNames:p,getOwnPropertySymbols:m,getPrototypeOf:v}=Object,g=globalThis,$=g.trustedTypes,_=$?$.emptyScript:"",b=g.reactiveElementPolyfillSupport,w={toAttribute(t,r){switch(r){case Boolean:t=t?_:null;break;case Object:case Array:t=null==t?t:JSON.stringify(t)}return t},fromAttribute(t,r){let n=t;switch(r){case Boolean:n=null!==t;break;case Number:n=null===t?null:Number(t);break;case Object:case Array:try{n=JSON.parse(t)}catch(t){n=null}}return n}},A=(t,r)=>!c(t,r),E={attribute:!0,type:String,converter:w,reflect:!1,useDefault:!1,hasChanged:A};Symbol.metadata??=Symbol("metadata"),g.litPropertyMetadata??=new WeakMap;let y=class y extends HTMLElement{static addInitializer(t){this._$Ei(),(this.l??=[]).push(t)}static get observedAttributes(){return this.finalize(),this._$Eh&&[...this._$Eh.keys()]}static createProperty(t,r=E){if(r.state&&(r.attribute=!1),this._$Ei(),this.prototype.hasOwnProperty(t)&&((r=Object.create(r)).wrapped=!0),this.elementProperties.set(t,r),!r.noAccessor){let n=Symbol(),s=this.getPropertyDescriptor(t,n,r);void 0!==s&&f(this.prototype,t,s)}}static getPropertyDescriptor(t,r,n){let{get:s,set:o}=d(this.prototype,t)??{get(){return this[r]},set(t){this[r]=t}};return{get:s,set(r){let a=s?.call(this);o?.call(this,r),this.requestUpdate(t,a,n)},configurable:!0,enumerable:!0}}static getPropertyOptions(t){return this.elementProperties.get(t)??E}static _$Ei(){if(this.hasOwnProperty("elementProperties"))return;let t=v(this);t.finalize(),void 0!==t.l&&(this.l=[...t.l]),this.elementProperties=new Map(t.elementProperties)}static finalize(){if(this.hasOwnProperty("finalized"))return;if(this.finalized=!0,this._$Ei(),this.hasOwnProperty("properties")){let t=this.properties;for(let r of[...p(t),...m(t)])this.createProperty(r,t[r])}let t=this[Symbol.metadata];if(null!==t){let r=litPropertyMetadata.get(t);if(void 0!==r)for(let[t,n]of r)this.elementProperties.set(t,n)}for(let[t,r]of(this._$Eh=new Map,this.elementProperties)){let n=this._$Eu(t,r);void 0!==n&&this._$Eh.set(n,t)}this.elementStyles=this.finalizeStyles(this.styles)}static finalizeStyles(t){let r=[];if(Array.isArray(t))for(let n of new Set(t.flat(1/0).reverse()))r.unshift(h(n));else void 0!==t&&r.push(h(t));return r}static _$Eu(t,r){let n=r.attribute;return!1===n?void 0:"string"==typeof n?n:"string"==typeof t?t.toLowerCase():void 0}constructor(){super(),this._$Ep=void 0,this.isUpdatePending=!1,this.hasUpdated=!1,this._$Em=null,this._$Ev()}_$Ev(){this._$ES=new Promise(t=>this.enableUpdating=t),this._$AL=new Map,this._$E_(),this.requestUpdate(),this.constructor.l?.forEach(t=>t(this))}addController(t){(this._$EO??=new Set).add(t),void 0!==this.renderRoot&&this.isConnected&&t.hostConnected?.()}removeController(t){this._$EO?.delete(t)}_$E_(){let t=new Map;for(let r of this.constructor.elementProperties.keys())this.hasOwnProperty(r)&&(t.set(r,this[r]),delete this[r]);t.size>0&&(this._$Ep=t)}createRenderRoot(){let t=this.shadowRoot??this.attachShadow(this.constructor.shadowRootOptions);return((t,r)=>{if(o)t.adoptedStyleSheets=r.map(t=>t instanceof CSSStyleSheet?t:t.styleSheet);else for(let n of r){let r=document.createElement("style"),o=s.litNonce;void 0!==o&&r.setAttribute("nonce",o),r.textContent=n.cssText,t.appendChild(r)}})(t,this.constructor.elementStyles),t}connectedCallback(){this.renderRoot??=this.createRenderRoot(),this.enableUpdating(!0),this._$EO?.forEach(t=>t.hostConnected?.())}enableUpdating(t){}disconnectedCallback(){this._$EO?.forEach(t=>t.hostDisconnected?.())}attributeChangedCallback(t,r,n){this._$AK(t,n)}_$ET(t,r){let n=this.constructor.elementProperties.get(t),s=this.constructor._$Eu(t,n);if(void 0!==s&&!0===n.reflect){let o=(void 0!==n.converter?.toAttribute?n.converter:w).toAttribute(r,n.type);this._$Em=t,null==o?this.removeAttribute(s):this.setAttribute(s,o),this._$Em=null}}_$AK(t,r){let n=this.constructor,s=n._$Eh.get(t);if(void 0!==s&&this._$Em!==s){let t=n.getPropertyOptions(s),o="function"==typeof t.converter?{fromAttribute:t.converter}:void 0!==t.converter?.fromAttribute?t.converter:w;this._$Em=s,this[s]=o.fromAttribute(r,t.type)??this._$Ej?.get(s)??null,this._$Em=null}}requestUpdate(t,r,n){if(void 0!==t){let s=this.constructor,o=this[t];if(!(((n??=s.getPropertyOptions(t)).hasChanged??A)(o,r)||n.useDefault&&n.reflect&&o===this._$Ej?.get(t)&&!this.hasAttribute(s._$Eu(t,n))))return;this.C(t,r,n)}!1===this.isUpdatePending&&(this._$ES=this._$EP())}C(t,r,{useDefault:n,reflect:s,wrapped:o},a){n&&!(this._$Ej??=new Map).has(t)&&(this._$Ej.set(t,a??r??this[t]),!0!==o||void 0!==a)||(this._$AL.has(t)||(this.hasUpdated||n||(r=void 0),this._$AL.set(t,r)),!0===s&&this._$Em!==t&&(this._$Eq??=new Set).add(t))}async _$EP(){this.isUpdatePending=!0;try{await this._$ES}catch(t){Promise.reject(t)}let t=this.scheduleUpdate();return null!=t&&await t,!this.isUpdatePending}scheduleUpdate(){return this.performUpdate()}performUpdate(){if(!this.isUpdatePending)return;if(!this.hasUpdated){if(this.renderRoot??=this.createRenderRoot(),this._$Ep){for(let[t,r]of this._$Ep)this[t]=r;this._$Ep=void 0}let t=this.constructor.elementProperties;if(t.size>0)for(let[r,n]of t){let{wrapped:t}=n,s=this[r];!0!==t||this._$AL.has(r)||void 0===s||this.C(r,void 0,n,s)}}let t=!1,r=this._$AL;try{(t=this.shouldUpdate(r))?(this.willUpdate(r),this._$EO?.forEach(t=>t.hostUpdate?.()),this.update(r)):this._$EM()}catch(r){throw t=!1,this._$EM(),r}t&&this._$AE(r)}willUpdate(t){}_$AE(t){this._$EO?.forEach(t=>t.hostUpdated?.()),this.hasUpdated||(this.hasUpdated=!0,this.firstUpdated(t)),this.updated(t)}_$EM(){this._$AL=new Map,this.isUpdatePending=!1}get updateComplete(){return this.getUpdateComplete()}getUpdateComplete(){return this._$ES}shouldUpdate(t){return!0}update(t){this._$Eq&&=this._$Eq.forEach(t=>this._$ET(t,this[t])),this._$EM()}updated(t){}firstUpdated(t){}};y.elementStyles=[],y.shadowRootOptions={mode:"open"},y.elementProperties=new Map,y.finalized=new Map,b?.({ReactiveElement:y}),(g.reactiveElementVersions??=[]).push("2.1.0")},35470:function(t,r,n){n.d(r,{iQ:()=>task_h});var s=n(29140);let o=Symbol();let task_h=class task_h{get taskComplete(){return this.t||(1===this.i?this.t=new Promise((t,r)=>{this.o=t,this.h=r}):3===this.i?this.t=Promise.reject(this.l):this.t=Promise.resolve(this.u)),this.t}constructor(t,r,n){this.p=0,this.i=0,(this._=t).addController(this);let s="object"==typeof r?r:{task:r,args:n};this.v=s.task,this.j=s.args,this.m=s.argsEqual??a,this.k=s.onComplete,this.A=s.onError,this.autoRun=s.autoRun??!0,"initialValue"in s&&(this.u=s.initialValue,this.i=2,this.O=this.T?.())}hostUpdate(){!0===this.autoRun&&this.S()}hostUpdated(){"afterUpdate"===this.autoRun&&this.S()}T(){if(void 0===this.j)return;let t=this.j();if(!Array.isArray(t))throw Error("The args function must return an array");return t}async S(){let t=this.T(),r=this.O;this.O=t,t===r||void 0===t||void 0!==r&&this.m(r,t)||await this.run(t)}async run(t){let r,n;t??=this.T(),this.O=t,1===this.i?this.q?.abort():(this.t=void 0,this.o=void 0,this.h=void 0),this.i=1,"afterUpdate"===this.autoRun?queueMicrotask(()=>this._.requestUpdate()):this._.requestUpdate();let s=++this.p;this.q=new AbortController;let a=!1;try{r=await this.v(t,{signal:this.q.signal})}catch(t){a=!0,n=t}if(this.p===s){if(r===o)this.i=0;else{if(!1===a){try{this.k?.(r)}catch{}this.i=2,this.o?.(r)}else{try{this.A?.(n)}catch{}this.i=3,this.h?.(n)}this.u=r,this.l=n}this._.requestUpdate()}}abort(t){1===this.i&&this.q?.abort(t)}get value(){return this.u}get error(){return this.l}get status(){return this.i}render(t){switch(this.i){case 0:return t.initial?.();case 1:return t.pending?.();case 2:return t.complete?.(this.value);case 3:return t.error?.(this.error);default:throw Error("Unexpected status: "+this.i)}}};let a=(t,r)=>t===r||t.length===r.length&&t.every((t,n)=>!(0,s.Qu)(t,r[n]))},30542:function(t,r,n){n.d(r,{OR:()=>u,dZ:()=>l,hN:()=>a,pt:()=>o});let{I:s}=n(32529).Al,o=t=>null===t||"object"!=typeof t&&"function"!=typeof t,a=(t,r)=>void 0===r?void 0!==t?._$litType$:t?._$litType$===r,l=t=>null!=t?._$litType$?.h,u=t=>void 0===t.strings},50990:function(t,r,n){n.d(r,{XM:()=>o,Xe:()=>i,pX:()=>s});let s={ATTRIBUTE:1,CHILD:2,PROPERTY:3,BOOLEAN_ATTRIBUTE:4,EVENT:5,ELEMENT:6},o=t=>(...r)=>({_$litDirective$:t,values:r});let i=class i{constructor(t){}get _$AU(){return this._$AM._$AU}_$AT(t,r,n){this._$Ct=t,this._$AM=r,this._$Ci=n}_$AS(t,r){return this.update(t,r)}update(t,r){return this.render(...r)}}},32529:function(t,r,n){n.d(r,{Al:()=>q,Jb:()=>O,Ld:()=>C,YP:()=>P,dy:()=>T,sY:()=>W});let s=globalThis,o=s.trustedTypes,a=o?o.createPolicy("lit-html",{createHTML:t=>t}):void 0,l="$lit$",u=`lit$${Math.random().toFixed(9).slice(2)}$`,h="?"+u,c=`<${h}>`,f=document,d=()=>f.createComment(""),p=t=>null===t||"object"!=typeof t&&"function"!=typeof t,m=Array.isArray,v=t=>m(t)||"function"==typeof t?.[Symbol.iterator],g="[ \n\f\r]",$=/<(?:(!--|\/[^a-zA-Z])|(\/?[a-zA-Z][^>\s]*)|(\/?$))/g,_=/-->/g,b=/>/g,w=RegExp(`>|${g}(?:([^\\s"'>=/]+)(${g}*=${g}*(?:[^
|
|
3
|
+
\f\r"'\`<>=]|("|')|))|$)`,"g"),A=/'/g,E=/"/g,x=/^(?:script|style|textarea|title)$/i,S=t=>(r,...n)=>({_$litType$:t,strings:r,values:n}),T=S(1),P=S(2),O=(S(3),Symbol.for("lit-noChange")),C=Symbol.for("lit-nothing"),U=new WeakMap,D=f.createTreeWalker(f,129);function F(t,r){if(!m(t)||!t.hasOwnProperty("raw"))throw Error("invalid template strings array");return void 0!==a?a.createHTML(r):r}let j=(t,r)=>{let n=t.length-1,s=[],o,a=2===r?"<svg>":3===r?"<math>":"",h=$;for(let r=0;r<n;r++){let n=t[r],f,d,p=-1,m=0;for(;m<n.length&&(h.lastIndex=m,null!==(d=h.exec(n)));)m=h.lastIndex,h===$?"!--"===d[1]?h=_:void 0!==d[1]?h=b:void 0!==d[2]?(x.test(d[2])&&(o=RegExp("</"+d[2],"g")),h=w):void 0!==d[3]&&(h=w):h===w?">"===d[0]?(h=o??$,p=-1):void 0===d[1]?p=-2:(p=h.lastIndex-d[2].length,f=d[1],h=void 0===d[3]?w:'"'===d[3]?E:A):h===E||h===A?h=w:h===_||h===b?h=$:(h=w,o=void 0);let v=h===w&&t[r+1].startsWith("/>")?" ":"";a+=h===$?n+c:p>=0?(s.push(f),n.slice(0,p)+l+n.slice(p)+u+v):n+u+(-2===p?r:v)}return[F(t,a+(t[n]||"<?>")+(2===r?"</svg>":3===r?"</math>":"")),s]};let N=class N{constructor({strings:t,_$litType$:r},n){let s;this.parts=[];let a=0,c=0,f=t.length-1,p=this.parts,[m,v]=j(t,r);if(this.el=N.createElement(m,n),D.currentNode=this.el.content,2===r||3===r){let t=this.el.content.firstChild;t.replaceWith(...t.childNodes)}for(;null!==(s=D.nextNode())&&p.length<f;){if(1===s.nodeType){if(s.hasAttributes())for(let t of s.getAttributeNames())if(t.endsWith(l)){let r=v[c++],n=s.getAttribute(t).split(u),o=/([.?@])?(.*)/.exec(r);p.push({type:1,index:a,name:o[2],strings:n,ctor:"."===o[1]?H:"?"===o[1]?I:"@"===o[1]?L:k}),s.removeAttribute(t)}else t.startsWith(u)&&(p.push({type:6,index:a}),s.removeAttribute(t));if(x.test(s.tagName)){let t=s.textContent.split(u),r=t.length-1;if(r>0){s.textContent=o?o.emptyScript:"";for(let n=0;n<r;n++)s.append(t[n],d()),D.nextNode(),p.push({type:2,index:++a});s.append(t[r],d())}}}else if(8===s.nodeType)if(s.data===h)p.push({type:2,index:a});else{let t=-1;for(;-1!==(t=s.data.indexOf(u,t+1));)p.push({type:7,index:a}),t+=u.length-1}a++}}static createElement(t,r){let n=f.createElement("template");return n.innerHTML=t,n}};function B(t,r,n=t,s){if(r===O)return r;let o=void 0!==s?n._$Co?.[s]:n._$Cl,a=p(r)?void 0:r._$litDirective$;return o?.constructor!==a&&(o?._$AO?.(!1),void 0===a?o=void 0:(o=new a(t))._$AT(t,n,s),void 0!==s?(n._$Co??=[])[s]=o:n._$Cl=o),void 0!==o&&(r=B(t,o._$AS(t,r.values),o,s)),r}let M=class M{constructor(t,r){this._$AV=[],this._$AN=void 0,this._$AD=t,this._$AM=r}get parentNode(){return this._$AM.parentNode}get _$AU(){return this._$AM._$AU}u(t){let{el:{content:r},parts:n}=this._$AD,s=(t?.creationScope??f).importNode(r,!0);D.currentNode=s;let o=D.nextNode(),a=0,l=0,u=n[0];for(;void 0!==u;){if(a===u.index){let r;2===u.type?r=new R(o,o.nextSibling,this,t):1===u.type?r=new u.ctor(o,u.name,u.strings,this,t):6===u.type&&(r=new z(o,this,t)),this._$AV.push(r),u=n[++l]}a!==u?.index&&(o=D.nextNode(),a++)}return D.currentNode=f,s}p(t){let r=0;for(let n of this._$AV)void 0!==n&&(void 0!==n.strings?(n._$AI(t,n,r),r+=n.strings.length-2):n._$AI(t[r])),r++}};let R=class R{get _$AU(){return this._$AM?._$AU??this._$Cv}constructor(t,r,n,s){this.type=2,this._$AH=C,this._$AN=void 0,this._$AA=t,this._$AB=r,this._$AM=n,this.options=s,this._$Cv=s?.isConnected??!0}get parentNode(){let t=this._$AA.parentNode,r=this._$AM;return void 0!==r&&11===t?.nodeType&&(t=r.parentNode),t}get startNode(){return this._$AA}get endNode(){return this._$AB}_$AI(t,r=this){p(t=B(this,t,r))?t===C||null==t||""===t?(this._$AH!==C&&this._$AR(),this._$AH=C):t!==this._$AH&&t!==O&&this._(t):void 0!==t._$litType$?this.$(t):void 0!==t.nodeType?this.T(t):v(t)?this.k(t):this._(t)}O(t){return this._$AA.parentNode.insertBefore(t,this._$AB)}T(t){this._$AH!==t&&(this._$AR(),this._$AH=this.O(t))}_(t){this._$AH!==C&&p(this._$AH)?this._$AA.nextSibling.data=t:this.T(f.createTextNode(t)),this._$AH=t}$(t){let{values:r,_$litType$:n}=t,s="number"==typeof n?this._$AC(t):(void 0===n.el&&(n.el=N.createElement(F(n.h,n.h[0]),this.options)),n);if(this._$AH?._$AD===s)this._$AH.p(r);else{let t=new M(s,this),n=t.u(this.options);t.p(r),this.T(n),this._$AH=t}}_$AC(t){let r=U.get(t.strings);return void 0===r&&U.set(t.strings,r=new N(t)),r}k(t){m(this._$AH)||(this._$AH=[],this._$AR());let r=this._$AH,n,s=0;for(let o of t)s===r.length?r.push(n=new R(this.O(d()),this.O(d()),this,this.options)):n=r[s],n._$AI(o),s++;s<r.length&&(this._$AR(n&&n._$AB.nextSibling,s),r.length=s)}_$AR(t=this._$AA.nextSibling,r){for(this._$AP?.(!1,!0,r);t!==this._$AB;){let r=t.nextSibling;t.remove(),t=r}}setConnected(t){void 0===this._$AM&&(this._$Cv=t,this._$AP?.(t))}};let k=class k{get tagName(){return this.element.tagName}get _$AU(){return this._$AM._$AU}constructor(t,r,n,s,o){this.type=1,this._$AH=C,this._$AN=void 0,this.element=t,this.name=r,this._$AM=s,this.options=o,n.length>2||""!==n[0]||""!==n[1]?(this._$AH=Array(n.length-1).fill(new String),this.strings=n):this._$AH=C}_$AI(t,r=this,n,s){let o=this.strings,a=!1;if(void 0===o)(a=!p(t=B(this,t,r,0))||t!==this._$AH&&t!==O)&&(this._$AH=t);else{let s,l,u=t;for(t=o[0],s=0;s<o.length-1;s++)(l=B(this,u[n+s],r,s))===O&&(l=this._$AH[s]),a||=!p(l)||l!==this._$AH[s],l===C?t=C:t!==C&&(t+=(l??"")+o[s+1]),this._$AH[s]=l}a&&!s&&this.j(t)}j(t){t===C?this.element.removeAttribute(this.name):this.element.setAttribute(this.name,t??"")}};let H=class H extends k{constructor(){super(...arguments),this.type=3}j(t){this.element[this.name]=t===C?void 0:t}};let I=class I extends k{constructor(){super(...arguments),this.type=4}j(t){this.element.toggleAttribute(this.name,!!t&&t!==C)}};let L=class L extends k{constructor(t,r,n,s,o){super(t,r,n,s,o),this.type=5}_$AI(t,r=this){if((t=B(this,t,r,0)??C)===O)return;let n=this._$AH,s=t===C&&n!==C||t.capture!==n.capture||t.once!==n.once||t.passive!==n.passive,o=t!==C&&(n===C||s);s&&this.element.removeEventListener(this.name,this,n),o&&this.element.addEventListener(this.name,this,t),this._$AH=t}handleEvent(t){"function"==typeof this._$AH?this._$AH.call(this.options?.host??this.element,t):this._$AH.handleEvent(t)}};let z=class z{constructor(t,r,n){this.element=t,this.type=6,this._$AN=void 0,this._$AM=r,this.options=n}get _$AU(){return this._$AM._$AU}_$AI(t){B(this,t)}};let q={M:l,P:u,A:h,C:1,L:j,R:M,D:v,V:B,I:R,H:k,N:I,U:L,B:H,F:z},V=s.litHtmlPolyfillSupport;V?.(N,R),(s.litHtmlVersions??=[]).push("3.3.1");let W=(t,r,n)=>{let s=n?.renderBefore??r,o=s._$litPart$;if(void 0===o){let t=n?.renderBefore??null;s._$litPart$=o=new R(r.insertBefore(d(),t),t,void 0,n??{})}return o._$AI(t),o}},67621:function(t,r,n){n.d(r,{A:()=>a});var s=n(32529),o=n(50990);let e=class e extends o.Xe{constructor(t){if(super(t),this.it=s.Ld,t.type!==o.pX.CHILD)throw Error(this.constructor.directiveName+"() can only be used in child bindings")}render(t){if(t===s.Ld||null==t)return this._t=void 0,this.it=t;if(t===s.Jb)return t;if("string"!=typeof t)throw Error(this.constructor.directiveName+"() called with a non-string value");if(t===this.it)return this._t;this.it=t;let r=[t];return r.raw=r,this._t={_$litType$:this.constructor.resultType,strings:r,values:[]}}};e.directiveName="unsafeHTML",e.resultType=1;let a=(0,o.XM)(e)},14703:function(t,r,n){n.d(r,{Ld:()=>o.Ld,iv:()=>s.iv,dy:()=>o.dy,oi:()=>i,YP:()=>o.YP});var s=n(29140),o=n(32529);let a=globalThis;let i=class i extends s.fl{constructor(){super(...arguments),this.renderOptions={host:this},this._$Do=void 0}createRenderRoot(){let t=super.createRenderRoot();return this.renderOptions.renderBefore??=t.firstChild,t}update(t){let r=this.render();this.hasUpdated||(this.renderOptions.isConnected=this.isConnected),super.update(t),this._$Do=(0,o.sY)(r,this.renderRoot,this.renderOptions)}connectedCallback(){super.connectedCallback(),this._$Do?.setConnected(!0)}disconnectedCallback(){super.disconnectedCallback(),this._$Do?.setConnected(!1)}render(){return o.Jb}};i._$litElement$=!0,i.finalized=!0,a.litElementHydrateSupport?.({LitElement:i});let l=a.litElementPolyfillSupport;l?.({LitElement:i}),(a.litElementVersions??=[]).push("4.2.0")}};
|
|
4
|
+
//# sourceMappingURL=5557.3923ba7ade67d4c8.js.map
|