@mdn/fred 0.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.editorconfig +12 -0
- package/.env +21 -0
- package/.env-dist +28 -0
- package/.github/ISSUE_TEMPLATE/bug.yml +36 -0
- package/.github/ISSUE_TEMPLATE/config.yml +8 -0
- package/.github/PULL_REQUEST_TEMPLATE +20 -0
- package/.github/dependabot.yml +31 -0
- package/.github/workflows/_deploy.yml +264 -0
- package/.github/workflows/auto-merge.yml +28 -0
- package/.github/workflows/main-review-companion.yml +18 -0
- package/.github/workflows/npm-publish.yml +32 -0
- package/.github/workflows/pr-rebase-needed.yml +22 -0
- package/.github/workflows/pr-review-companion.yml +15 -0
- package/.github/workflows/test.yml +58 -0
- package/.lefthook.yml +54 -0
- package/.nvmrc +1 -0
- package/.stylelintignore +1 -0
- package/CODE_OF_CONDUCT.md +8 -0
- package/CONTRIBUTING.md +125 -0
- package/LICENSE +373 -0
- package/README.md +89 -0
- package/SECURITY.md +13 -0
- package/build/eslint-fred.js +129 -0
- package/build/hmr.js +13 -0
- package/build/loaders/escape.js +9 -0
- package/build/loaders/fluent.js +9 -0
- package/build/loaders/lit-css.js +8 -0
- package/build/loaders/lit-svg.js +9 -0
- package/build/localhost-cert.pem +19 -0
- package/build/localhost-privkey.pem +28 -0
- package/build/plugins/csp-hash.js +31 -0
- package/build/plugins/generate-element-map.js +56 -0
- package/build/render.js +33 -0
- package/build/server-worker.js +37 -0
- package/build/ssr.js +91 -0
- package/build/types.d.ts +8 -0
- package/build/utils.js +22 -0
- package/build.sh +15 -0
- package/components/a11y-menu/server.css +36 -0
- package/components/a11y-menu/server.js +15 -0
- package/components/about-tabs/element.css +48 -0
- package/components/about-tabs/element.js +126 -0
- package/components/about-team-member/element.js +58 -0
- package/components/advertising/assets/m-logo.svg +9 -0
- package/components/advertising/server.css +186 -0
- package/components/advertising/server.js +156 -0
- package/components/article-footer/article-footer.svg +1 -0
- package/components/article-footer/server.css +67 -0
- package/components/article-footer/server.js +208 -0
- package/components/badge/global.css +28 -0
- package/components/banner/server.css +11 -0
- package/components/banner/server.js +9 -0
- package/components/baseline-indicator/icons/browser/chrome.svg +1 -0
- package/components/baseline-indicator/icons/browser/edge.svg +1 -0
- package/components/baseline-indicator/icons/browser/firefox.svg +1 -0
- package/components/baseline-indicator/icons/browser/safari.svg +1 -0
- package/components/baseline-indicator/icons/browser-check.svg +1 -0
- package/components/baseline-indicator/icons/browser-cross.svg +1 -0
- package/components/baseline-indicator/icons/chevron.svg +3 -0
- package/components/baseline-indicator/icons/status/high-dark.svg +1 -0
- package/components/baseline-indicator/icons/status/high.svg +1 -0
- package/components/baseline-indicator/icons/status/limited-dark.svg +1 -0
- package/components/baseline-indicator/icons/status/limited.svg +1 -0
- package/components/baseline-indicator/icons/status/low-dark.svg +1 -0
- package/components/baseline-indicator/icons/status/low.svg +1 -0
- package/components/baseline-indicator/server.css +263 -0
- package/components/baseline-indicator/server.js +245 -0
- package/components/blog/index.js +114 -0
- package/components/blog-index/server.css +26 -0
- package/components/blog-index/server.js +91 -0
- package/components/blog-post/server.css +33 -0
- package/components/blog-post/server.js +125 -0
- package/components/breadcrumbs/server.css +60 -0
- package/components/breadcrumbs/server.js +79 -0
- package/components/breadcrumbs-bar/server.css +50 -0
- package/components/breadcrumbs-bar/server.js +48 -0
- package/components/button/element.css +12 -0
- package/components/button/element.js +49 -0
- package/components/button/global.css +4 -0
- package/components/button/pure.js +49 -0
- package/components/button/sandbox.js +130 -0
- package/components/button/server.css +153 -0
- package/components/button/server.js +13 -0
- package/components/button/types.d.ts +2 -0
- package/components/code-example/common.css +59 -0
- package/components/code-example/element.css +13 -0
- package/components/code-example/element.js +119 -0
- package/components/code-example/global.css +3 -0
- package/components/code-example/syntax-highlight.js +140 -0
- package/components/code-example/types.d.ts +6 -0
- package/components/collection-save-button/element.css +28 -0
- package/components/collection-save-button/element.js +295 -0
- package/components/collection-save-button/rust-types.d.ts +55 -0
- package/components/collection-save-button/types.d.ts +6 -0
- package/components/color/background.css +41 -0
- package/components/color/border.css +13 -0
- package/components/color/global.css +74 -0
- package/components/color/link.css +9 -0
- package/components/color/scrollbar.css +9 -0
- package/components/color/text.css +31 -0
- package/components/color-theme/controller.js +52 -0
- package/components/color-theme/element.css +132 -0
- package/components/color-theme/element.js +149 -0
- package/components/color-theme/types.d.ts +1 -0
- package/components/compat-table/constants.js +19 -0
- package/components/compat-table/element.css +16 -0
- package/components/compat-table/element.js +1050 -0
- package/components/compat-table/feature-row.js +96 -0
- package/components/compat-table/icons.css +129 -0
- package/components/compat-table/index-common.css +493 -0
- package/components/compat-table/index-desktop-md.css +29 -0
- package/components/compat-table/index-desktop-xl.css +21 -0
- package/components/compat-table/index-desktop.css +126 -0
- package/components/compat-table/index-global.css +49 -0
- package/components/compat-table/index-mobile.css +51 -0
- package/components/compat-table/index-trailer.css +60 -0
- package/components/compat-table/utils.js +279 -0
- package/components/compat-table-lazy/element.js +116 -0
- package/components/content-feedback/element.css +41 -0
- package/components/content-feedback/element.js +169 -0
- package/components/content-feedback/sandbox.js +9 -0
- package/components/content-section/server.css +179 -0
- package/components/content-section/server.js +77 -0
- package/components/contributor-list/element.css +170 -0
- package/components/contributor-list/element.js +125 -0
- package/components/contributor-list/types.d.ts +5 -0
- package/components/contributor-spotlight/server.css +193 -0
- package/components/contributor-spotlight/server.js +98 -0
- package/components/cookie/utils.js +40 -0
- package/components/copy-button/element.js +58 -0
- package/components/css-formal-syntax/index.css +10 -0
- package/components/curriculum/assets/curriculum-about-covered.svg +25 -0
- package/components/curriculum/assets/curriculum-about-detail.svg +25 -0
- package/components/curriculum/assets/curriculum-about-educators.svg +25 -0
- package/components/curriculum/assets/curriculum-about-not.svg +25 -0
- package/components/curriculum/assets/curriculum-about-students.svg +25 -0
- package/components/curriculum/assets/curriculum-bullet.svg +27 -0
- package/components/curriculum/assets/curriculum-ext-resource.svg +12 -0
- package/components/curriculum/assets/curriculum-landing-about-beginner.svg +25 -0
- package/components/curriculum/assets/curriculum-landing-about-bullet.svg +27 -0
- package/components/curriculum/assets/curriculum-landing-about-free.svg +25 -0
- package/components/curriculum/assets/curriculum-landing-about-pace.svg +25 -0
- package/components/curriculum/assets/curriculum-landing-arrow.svg +26 -0
- package/components/curriculum/assets/curriculum-landing-stairway-1.svg +42 -0
- package/components/curriculum/assets/curriculum-landing-stairway-2-small.svg +56 -0
- package/components/curriculum/assets/curriculum-landing-stairway-2.svg +56 -0
- package/components/curriculum/assets/curriculum-landing-started-advanced.svg +37 -0
- package/components/curriculum/assets/curriculum-landing-started-beginner.svg +37 -0
- package/components/curriculum/assets/curriculum-landing-started-educator.svg +37 -0
- package/components/curriculum/assets/curriculum-landing-started-employment.svg +37 -0
- package/components/curriculum/assets/curriculum-landing-top.svg +95 -0
- package/components/curriculum/assets/curriculum-mdn-resource.svg +27 -0
- package/components/curriculum/assets/curriculum-modules-underline.svg +29 -0
- package/components/curriculum/assets/curriculum-next.svg +3 -0
- package/components/curriculum/assets/curriculum-partner-banner-illustration-large-dark.svg +1 -0
- package/components/curriculum/assets/curriculum-partner-banner-illustration-large-light.svg +1 -0
- package/components/curriculum/assets/curriculum-partner-bg.svg +20 -0
- package/components/curriculum/assets/curriculum-partner-underline-large.svg +8 -0
- package/components/curriculum/assets/curriculum-partner-underline-small.svg +4 -0
- package/components/curriculum/assets/curriculum-prev.svg +3 -0
- package/components/curriculum/assets/curriculum-resources.svg +12 -0
- package/components/curriculum/assets/curriculum-scrim-bg.svg +24 -0
- package/components/curriculum/assets/curriculum-started-underline.svg +5 -0
- package/components/curriculum/assets/curriculum-topic-practices.svg +5 -0
- package/components/curriculum/assets/curriculum-topic-scripting.svg +5 -0
- package/components/curriculum/assets/curriculum-topic-standards.svg +5 -0
- package/components/curriculum/assets/curriculum-topic-styling.svg +5 -0
- package/components/curriculum/assets/curriculum-topic-tooling.svg +5 -0
- package/components/curriculum/assets/fullscreen-enter.svg +24 -0
- package/components/curriculum/assets/landing-scrim.png +0 -0
- package/components/curriculum/assets/scrim-bg.png +0 -0
- package/components/curriculum/assets/scrim-hexagons.svg +1 -0
- package/components/curriculum/assets/scrim-play.svg +1 -0
- package/components/curriculum/assets/scrimba-logo.svg +1 -0
- package/components/curriculum/layout.css +35 -0
- package/components/curriculum/module-list.css +277 -0
- package/components/curriculum/module.css +102 -0
- package/components/curriculum/partner-banner.css +112 -0
- package/components/curriculum/shared.css +265 -0
- package/components/curriculum/sidebar.css +342 -0
- package/components/curriculum/toc.css +116 -0
- package/components/curriculum/utils.js +341 -0
- package/components/curriculum/vars.css +311 -0
- package/components/curriculum-about/server.css +105 -0
- package/components/curriculum-about/server.js +52 -0
- package/components/curriculum-default/server.css +3 -0
- package/components/curriculum-default/server.js +52 -0
- package/components/curriculum-landing/server.css +745 -0
- package/components/curriculum-landing/server.js +298 -0
- package/components/curriculum-module/server.css +117 -0
- package/components/curriculum-module/server.js +94 -0
- package/components/curriculum-overview/server.css +4 -0
- package/components/curriculum-overview/server.js +98 -0
- package/components/curriculum-tabs/element.js +48 -0
- package/components/doc/server.js +12 -0
- package/components/dropdown/element.css +9 -0
- package/components/dropdown/element.js +102 -0
- package/components/dropdown/global.css +9 -0
- package/components/env/index.js +40 -0
- package/components/external-link/global.css +17 -0
- package/components/external-link/sandbox.js +11 -0
- package/components/favicon/pure.js +16 -0
- package/components/featured-articles/server.css +104 -0
- package/components/featured-articles/server.js +29 -0
- package/components/font/fonts/inter-italic.woff2 +0 -0
- package/components/font/fonts/inter.woff2 +0 -0
- package/components/font/global.css +40 -0
- package/components/footer/mdn.svg +6 -0
- package/components/footer/mozilla.svg +4 -0
- package/components/footer/server.css +190 -0
- package/components/footer/server.js +253 -0
- package/components/generic/server.js +21 -0
- package/components/generic-about/assets/accurate-sm.svg +1 -0
- package/components/generic-about/assets/accurate.svg +1 -0
- package/components/generic-about/assets/building-dark.svg +1 -0
- package/components/generic-about/assets/building.svg +1 -0
- package/components/generic-about/assets/collaborative-sm.svg +1 -0
- package/components/generic-about/assets/collaborative.svg +1 -0
- package/components/generic-about/assets/dot-dark.svg +1 -0
- package/components/generic-about/assets/dot.svg +1 -0
- package/components/generic-about/assets/education.svg +1 -0
- package/components/generic-about/assets/github-mark-small.svg +1 -0
- package/components/generic-about/assets/global-impact-dark.svg +1 -0
- package/components/generic-about/assets/global-impact.svg +1 -0
- package/components/generic-about/assets/handshake.svg +1 -0
- package/components/generic-about/assets/inclusive-sm.svg +1 -0
- package/components/generic-about/assets/inclusive.svg +1 -0
- package/components/generic-about/assets/line-dot.svg +1 -0
- package/components/generic-about/assets/lines.svg +1 -0
- package/components/generic-about/assets/sparkle.svg +1 -0
- package/components/generic-about/assets/text-box-check-outline.svg +1 -0
- package/components/generic-about/assets/web-check.svg +1 -0
- package/components/generic-about/server.css +1125 -0
- package/components/generic-about/server.js +126 -0
- package/components/generic-community/assets/community-calls-dark.svg +1 -0
- package/components/generic-community/assets/community-calls.svg +1 -0
- package/components/generic-community/assets/discord-dark.svg +1 -0
- package/components/generic-community/assets/discord.svg +1 -0
- package/components/generic-community/assets/people-dark.svg +1 -0
- package/components/generic-community/assets/people.svg +1 -0
- package/components/generic-community/assets/quote-end-dark.svg +1 -0
- package/components/generic-community/assets/quote-end.svg +1 -0
- package/components/generic-community/assets/quote-start-dark.svg +1 -0
- package/components/generic-community/assets/quote-start.svg +1 -0
- package/components/generic-community/assets/video-bg-dark.svg +1 -0
- package/components/generic-community/assets/video-bg.svg +1 -0
- package/components/generic-community/assets/video-thumbnail.png +0 -0
- package/components/generic-community/assets/youtube-play.svg +1 -0
- package/components/generic-community/server.css +935 -0
- package/components/generic-community/server.js +126 -0
- package/components/generic-content/server.css +73 -0
- package/components/generic-content/server.js +234 -0
- package/components/generic-doc/server.js +12 -0
- package/components/generic-layout/server.css +69 -0
- package/components/generic-layout/server.js +25 -0
- package/components/generic-sidebar/server.css +81 -0
- package/components/generic-sidebar/server.js +78 -0
- package/components/generic-toc/server.css +74 -0
- package/components/generic-toc/server.js +33 -0
- package/components/global/global.css +51 -0
- package/components/heading-anchor/server.css +31 -0
- package/components/heading-anchor/server.js +20 -0
- package/components/homepage/server.css +18 -0
- package/components/homepage/server.js +30 -0
- package/components/homepage-body/server.css +6 -0
- package/components/homepage-body/server.js +32 -0
- package/components/homepage-contributor-spotlight/mdn_contributor.png +0 -0
- package/components/homepage-contributor-spotlight/quote.svg +3 -0
- package/components/homepage-contributor-spotlight/server.css +98 -0
- package/components/homepage-contributor-spotlight/server.js +46 -0
- package/components/homepage-footer/server.css +6 -0
- package/components/homepage-footer/server.js +15 -0
- package/components/homepage-header/server.css +31 -0
- package/components/homepage-header/server.js +22 -0
- package/components/homepage-hero/server.css +18 -0
- package/components/homepage-hero/server.js +41 -0
- package/components/homepage-search/element.css +36 -0
- package/components/homepage-search/element.js +30 -0
- package/components/icon/README.md +20 -0
- package/components/icon/arrow-left.svg +2 -0
- package/components/icon/arrow-right.svg +1 -0
- package/components/icon/asterisk.svg +1 -0
- package/components/icon/bookmark-check.svg +1 -0
- package/components/icon/bookmark.svg +1 -0
- package/components/icon/browser/chrome.svg +1 -0
- package/components/icon/browser/deno.svg +1 -0
- package/components/icon/browser/edge.svg +1 -0
- package/components/icon/browser/firefox.svg +1 -0
- package/components/icon/browser/nodejs.svg +1 -0
- package/components/icon/browser/opera.svg +1 -0
- package/components/icon/browser/safari.svg +1 -0
- package/components/icon/browser/samsung-internet.svg +1 -0
- package/components/icon/browser/webview.svg +1 -0
- package/components/icon/cancel.svg +1 -0
- package/components/icon/check.svg +1 -0
- package/components/icon/chevron-down.svg +1 -0
- package/components/icon/chevron-right.svg +1 -0
- package/components/icon/circle-alert.svg +1 -0
- package/components/icon/circle-check.svg +1 -0
- package/components/icon/circle-help.svg +1 -0
- package/components/icon/circle-slash.svg +1 -0
- package/components/icon/circle-x.svg +1 -0
- package/components/icon/circle.svg +1 -0
- package/components/icon/cog.svg +1 -0
- package/components/icon/contrast.svg +1 -0
- package/components/icon/ellipsis.svg +1 -0
- package/components/icon/external-link.svg +1 -0
- package/components/icon/filter.svg +1 -0
- package/components/icon/flag.svg +1 -0
- package/components/icon/flask-conical.svg +1 -0
- package/components/icon/fullscreen-enter.svg +1 -0
- package/components/icon/git-fork.svg +1 -0
- package/components/icon/global.css +40 -0
- package/components/icon/graduation-cap.svg +1 -0
- package/components/icon/info.svg +1 -0
- package/components/icon/languages.svg +1 -0
- package/components/icon/lightbulb.svg +1 -0
- package/components/icon/lock.svg +1 -0
- package/components/icon/mdn-prefix.svg +1 -0
- package/components/icon/monitor.svg +1 -0
- package/components/icon/moon.svg +1 -0
- package/components/icon/panel-left-close.svg +1 -0
- package/components/icon/panel-left.svg +1 -0
- package/components/icon/quote.svg +1 -0
- package/components/icon/rss.svg +1 -0
- package/components/icon/search.svg +1 -0
- package/components/icon/server.svg +1 -0
- package/components/icon/smartphone.svg +1 -0
- package/components/icon/social/bluesky.svg +1 -0
- package/components/icon/social/github.svg +1 -0
- package/components/icon/social/mastodon.svg +1 -0
- package/components/icon/social/x.svg +1 -0
- package/components/icon/sun.svg +1 -0
- package/components/icon/thumbs-down.svg +1 -0
- package/components/icon/thumbs-up.svg +1 -0
- package/components/icon/trash-2.svg +1 -0
- package/components/icon/triangle-alert.svg +1 -0
- package/components/icon/wrench.svg +1 -0
- package/components/image-history/element.js +29 -0
- package/components/interactive-example/element.css +313 -0
- package/components/interactive-example/element.js +139 -0
- package/components/interactive-example/utils.js +83 -0
- package/components/interactive-example/with-choices.js +179 -0
- package/components/interactive-example/with-console.js +71 -0
- package/components/interactive-example/with-tabs.js +63 -0
- package/components/issues-table/element.css +74 -0
- package/components/issues-table/element.js +122 -0
- package/components/ix-tab/element.css +34 -0
- package/components/ix-tab/element.js +48 -0
- package/components/ix-tab-panel/element.css +4 -0
- package/components/ix-tab-panel/element.js +27 -0
- package/components/ix-tab-wrapper/element.css +18 -0
- package/components/ix-tab-wrapper/element.js +99 -0
- package/components/language-always-redirect-button/element.js +36 -0
- package/components/language-switcher/element.css +114 -0
- package/components/language-switcher/element.js +117 -0
- package/components/latest-news/server.css +117 -0
- package/components/latest-news/server.js +68 -0
- package/components/layout/README.md +148 -0
- package/components/layout/global.css +81 -0
- package/components/left-sidebar/server.css +103 -0
- package/components/left-sidebar/server.js +24 -0
- package/components/live-sample-result/element.css +8 -0
- package/components/live-sample-result/element.js +120 -0
- package/components/live-sample-result/global.css +3 -0
- package/components/login-button/element.js +25 -0
- package/components/logo/server.css +12 -0
- package/components/logo/server.js +33 -0
- package/components/lorem-ipsum/pure.js +3 -0
- package/components/mandala/server.css +31 -0
- package/components/mandala/server.js +270 -0
- package/components/media/README.md +24 -0
- package/components/media/index.css +21 -0
- package/components/menu/base.css +177 -0
- package/components/menu/desktop.css +77 -0
- package/components/menu/mobile.css +43 -0
- package/components/menu/server.css +5 -0
- package/components/menu/server.js +757 -0
- package/components/modal/element.css +24 -0
- package/components/modal/element.js +47 -0
- package/components/navigation/base.css +24 -0
- package/components/navigation/desktop.css +42 -0
- package/components/navigation/hook.js +9 -0
- package/components/navigation/mobile.css +78 -0
- package/components/navigation/server.css +5 -0
- package/components/navigation/server.js +65 -0
- package/components/not-found/element.css +11 -0
- package/components/not-found/element.js +100 -0
- package/components/not-found/server.css +17 -0
- package/components/not-found/server.js +22 -0
- package/components/not-found/utils.js +18 -0
- package/components/notecard/index.css +97 -0
- package/components/observatory/assets/alert-circle.svg +3 -0
- package/components/observatory/assets/assessment.svg +4 -0
- package/components/observatory/assets/fail-icon.svg +13 -0
- package/components/observatory/assets/landing-illustration.svg +93 -0
- package/components/observatory/assets/mdn.svg +8 -0
- package/components/observatory/assets/pass-icon.svg +7 -0
- package/components/observatory/assets/results-icon.svg +4 -0
- package/components/observatory/assets/scanning.svg +4 -0
- package/components/observatory/assets/security.svg +3 -0
- package/components/observatory/assets/stars.svg +3 -0
- package/components/observatory/assets/summary-icon.svg +4 -0
- package/components/observatory/assets/tooltip-arrow.svg +5 -0
- package/components/observatory/constants.js +41 -0
- package/components/observatory/index.css +406 -0
- package/components/observatory/utils.js +173 -0
- package/components/observatory-comparison-table/element.css +108 -0
- package/components/observatory-comparison-table/element.js +319 -0
- package/components/observatory-form/element.css +88 -0
- package/components/observatory-form/element.js +115 -0
- package/components/observatory-header-link/element.css +9 -0
- package/components/observatory-header-link/element.js +92 -0
- package/components/observatory-human-duration/element.js +58 -0
- package/components/observatory-landing/faq.js +16 -0
- package/components/observatory-landing/feedback.js +16 -0
- package/components/observatory-landing/server.css +1 -0
- package/components/observatory-landing/server.js +114 -0
- package/components/observatory-rescan-button/element.js +68 -0
- package/components/observatory-results/comparison.js +20 -0
- package/components/observatory-results/cookies.js +117 -0
- package/components/observatory-results/csp.js +119 -0
- package/components/observatory-results/element.css +684 -0
- package/components/observatory-results/element.js +168 -0
- package/components/observatory-results/history.js +40 -0
- package/components/observatory-results/rating.js +70 -0
- package/components/observatory-results/raw-headers.js +51 -0
- package/components/observatory-results/scoring.js +103 -0
- package/components/observatory-results/server.css +1 -0
- package/components/observatory-results/server.js +68 -0
- package/components/observatory-results/tabs.js +91 -0
- package/components/observatory-results/tooltip.js +49 -0
- package/components/observatory-results/trend.js +54 -0
- package/components/observatory-tests-and-scores/element.css +62 -0
- package/components/observatory-tests-and-scores/element.js +90 -0
- package/components/only-in-en-us/global.css +51 -0
- package/components/outer-layout/server.js +103 -0
- package/components/outer-layout/utils.js +70 -0
- package/components/page-layout/server.css +33 -0
- package/components/page-layout/server.js +29 -0
- package/components/pagination/server.css +53 -0
- package/components/pagination/server.js +165 -0
- package/components/placement/context.js +102 -0
- package/components/placement/mixin.js +117 -0
- package/components/placement/types.d.ts +50 -0
- package/components/placement-bottom/element.css +66 -0
- package/components/placement-bottom/element.js +72 -0
- package/components/placement-hp-main/element.css +66 -0
- package/components/placement-hp-main/element.js +72 -0
- package/components/placement-no/element.css +21 -0
- package/components/placement-no/element.js +62 -0
- package/components/placement-note/element.css +28 -0
- package/components/placement-note/element.js +22 -0
- package/components/placement-sidebar/element.css +175 -0
- package/components/placement-sidebar/element.js +102 -0
- package/components/placement-top/element.css +135 -0
- package/components/placement-top/element.js +109 -0
- package/components/play-console/element.css +35 -0
- package/components/play-console/element.js +134 -0
- package/components/play-console/types.d.ts +4 -0
- package/components/play-console/utils.js +152 -0
- package/components/play-controller/element.js +128 -0
- package/components/play-editor/element.css +38 -0
- package/components/play-editor/element.js +210 -0
- package/components/play-runner/element.css +5 -0
- package/components/play-runner/element.js +198 -0
- package/components/play-runner/types.d.ts +1 -0
- package/components/playground/element.css +142 -0
- package/components/playground/element.js +376 -0
- package/components/playground/server.css +13 -0
- package/components/playground/server.js +18 -0
- package/components/playground/types.d.ts +12 -0
- package/components/playground/utils.js +134 -0
- package/components/plus/assets/ai-help/code-examples-playground.png +0 -0
- package/components/plus/assets/ai-help/code-examples-queue.png +0 -0
- package/components/plus/assets/ai-help/example-question-answering.png +0 -0
- package/components/plus/assets/ai-help/example-question-editing.png +0 -0
- package/components/plus/assets/ai-help/history-banner.png +0 -0
- package/components/plus/assets/ai-help/history-settings.png +0 -0
- package/components/plus/assets/ai-help/issue-template.png +0 -0
- package/components/plus/assets/ai-help/login-signup.png +0 -0
- package/components/plus/assets/ai-help/rate-answers.png +0 -0
- package/components/plus/assets/ai-help/report-feedback.png +0 -0
- package/components/plus/assets/collections/collections-dashboard.png +0 -0
- package/components/plus/assets/collections/desktop-collections-dashboard-delete.png +0 -0
- package/components/plus/assets/collections/desktop-collections-delete-fva.png +0 -0
- package/components/plus/assets/collections/desktop-collections-edit-dialog-add-note.png +0 -0
- package/components/plus/assets/collections/desktop-collections-edit-dialog.png +0 -0
- package/components/plus/assets/collections/desktop-collections-edit-menu.png +0 -0
- package/components/plus/assets/collections/desktop-collections-filter.png +0 -0
- package/components/plus/assets/collections/desktop-collections-fva.png +0 -0
- package/components/plus/assets/collections/desktop-collections-sort.png +0 -0
- package/components/plus/assets/collections/desktop-collections-three-dot-menu.png +0 -0
- package/components/plus/assets/collections/desktop-collections-undo.png +0 -0
- package/components/plus/assets/collections/desktop-collections-user-menu.png +0 -0
- package/components/plus/assets/collections/desktop-page-add-note.png +0 -0
- package/components/plus/assets/collections/desktop-page-dialog-save.png +0 -0
- package/components/plus/assets/collections/desktop-page-open-dialog.png +0 -0
- package/components/plus/assets/collections/desktop-remove-saved-delete.png +0 -0
- package/components/plus/assets/collections/desktop-remove-saved.png +0 -0
- package/components/plus/assets/collections/desktop-saving-page.png +0 -0
- package/components/plus/assets/collections/mobile-add-note.png +0 -0
- package/components/plus/assets/collections/mobile-burger-menu.png +0 -0
- package/components/plus/assets/collections/mobile-collections-dashboard-delete-entry.png +0 -0
- package/components/plus/assets/collections/mobile-collections-dashboard-edit-entry.png +0 -0
- package/components/plus/assets/collections/mobile-collections-dashboard-edit.png +0 -0
- package/components/plus/assets/collections/mobile-collections-dashboard-three-dots.png +0 -0
- package/components/plus/assets/collections/mobile-collections-dashboard.png +0 -0
- package/components/plus/assets/collections/mobile-collections-delete-entry.png +0 -0
- package/components/plus/assets/collections/mobile-collections-fva-undo.png +0 -0
- package/components/plus/assets/collections/mobile-collections-menu-item.png +0 -0
- package/components/plus/assets/collections/mobile-collections-undo.png +0 -0
- package/components/plus/assets/collections/mobile-menu.png +0 -0
- package/components/plus/assets/collections/mobile-open-article-actions.png +0 -0
- package/components/plus/assets/collections/mobile-plus-menu.png +0 -0
- package/components/plus/assets/collections/mobile-save-page-step-one.png +0 -0
- package/components/plus/assets/collections/mobile-save-page.png +0 -0
- package/components/plus/assets/collections/mobile-saved-page.png +0 -0
- package/components/plus/assets/notifications/access-notifications-from-main-menu.png +0 -0
- package/components/plus/assets/notifications/bulk-unwatch-dashboard.png +0 -0
- package/components/plus/assets/notifications/mobile-notifications-user-menu.png +0 -0
- package/components/plus/assets/notifications/notifications-user-menu.png +0 -0
- package/components/plus/assets/notifications/star-notification.png +0 -0
- package/components/plus/assets/notifications/unwatch-dashboard.png +0 -0
- package/components/plus/assets/notifications/unwatch-page.png +0 -0
- package/components/plus/assets/notifications/watch-list.png +0 -0
- package/components/plus/assets/notifications/watch-page.png +0 -0
- package/components/plus/assets/offline/desktop-offline-clear-data.png +0 -0
- package/components/plus/assets/offline/desktop-offline-enable-auto-update.png +0 -0
- package/components/plus/assets/offline/desktop-offline-enable-offline.png +0 -0
- package/components/plus/assets/offline/desktop-offline-manual-update.png +0 -0
- package/components/plus/assets/offline/desktop-offline-user-menu.png +0 -0
- package/components/plus/assets/playground/playground-example.png +0 -0
- package/components/plus/assets/playground/playground-menu.png +0 -0
- package/components/plus/assets/playground/playground-sample.png +0 -0
- package/components/plus/assets/updates/collections.png +0 -0
- package/components/plus/assets/updates/updates.png +0 -0
- package/components/plus/assets/updates/updates_bcd.png +0 -0
- package/components/plus/assets/updates/updates_collection.png +0 -0
- package/components/plus/assets/updates/updates_filter.png +0 -0
- package/components/plus/assets/updates/updates_search.png +0 -0
- package/components/plus/server.js +15 -0
- package/components/preferred-locale/utils.js +24 -0
- package/components/prev-next/index.css +79 -0
- package/components/progress-bar/element.js +19 -0
- package/components/progress-bar/index.css +45 -0
- package/components/recent-contributions/server.css +57 -0
- package/components/recent-contributions/server.js +72 -0
- package/components/reference-layout/server.css +106 -0
- package/components/reference-layout/server.js +44 -0
- package/components/reference-toc/server.css +46 -0
- package/components/reference-toc/server.js +22 -0
- package/components/sandbox/class.js +18 -0
- package/components/sandbox/server.css +35 -0
- package/components/sandbox/server.js +49 -0
- package/components/scrim-inline/assets/BarlowCondensed-SemiBold.woff2 +0 -0
- package/components/scrim-inline/assets/landing-scrim.png +0 -0
- package/components/scrim-inline/assets/scrim-bg.png +0 -0
- package/components/scrim-inline/assets/scrim-hexagons.svg +1 -0
- package/components/scrim-inline/assets/scrim-play.svg +1 -0
- package/components/scrim-inline/assets/scrimba-logo.svg +1 -0
- package/components/scrim-inline/element.css +190 -0
- package/components/scrim-inline/element.js +173 -0
- package/components/scrim-inline/global.css +9 -0
- package/components/search/server.js +16 -0
- package/components/search-button/element.css +28 -0
- package/components/search-button/element.js +32 -0
- package/components/search-modal/element.css +15 -0
- package/components/search-modal/element.js +281 -0
- package/components/search-modal/types.d.ts +20 -0
- package/components/server/async-local-storage.js +4 -0
- package/components/server/index.js +53 -0
- package/components/server/types.d.ts +5 -0
- package/components/sidebar-filter/element.css +104 -0
- package/components/sidebar-filter/element.js +200 -0
- package/components/sidebar-filter/sidebar-filterer.js +395 -0
- package/components/sidebar-filter/utils.js +14 -0
- package/components/site-search/element.css +24 -0
- package/components/site-search/element.js +170 -0
- package/components/site-search/types.d.ts +34 -0
- package/components/specifications-list/index.js +25 -0
- package/components/survey/assets/survey.svg +1 -0
- package/components/survey/element.css +103 -0
- package/components/survey/element.js +234 -0
- package/components/survey/surveys.js +65 -0
- package/components/survey/types.d.ts +39 -0
- package/components/survey/utils.js +43 -0
- package/components/switch/element.css +59 -0
- package/components/switch/element.js +39 -0
- package/components/table-container/README.md +11 -0
- package/components/table-container/global.css +4 -0
- package/components/themed-image/element.css +18 -0
- package/components/themed-image/element.js +93 -0
- package/components/toggle-sidebar/element.css +9 -0
- package/components/toggle-sidebar/element.js +84 -0
- package/components/translation-banner/server.css +3 -0
- package/components/translation-banner/server.js +109 -0
- package/components/user/context.js +104 -0
- package/components/user/types.d.ts +53 -0
- package/components/user-menu/element.css +110 -0
- package/components/user-menu/element.js +150 -0
- package/components/vars/global.css +9 -0
- package/components/viewed-controller/viewed-controller.js +88 -0
- package/components/visually-hidden/global.css +18 -0
- package/dist/client/1004.5fa86167fe489b2c.js +4 -0
- package/dist/client/1004.5fa86167fe489b2c.js.map +1 -0
- package/dist/client/1048.7f6f1de50a1fda0d.js +10 -0
- package/dist/client/1048.7f6f1de50a1fda0d.js.map +1 -0
- package/dist/client/1060.0d71daee41343e43.js +23 -0
- package/dist/client/1060.0d71daee41343e43.js.map +1 -0
- package/dist/client/1197.25090f81ab4208bc.css +32 -0
- package/dist/client/1197.25090f81ab4208bc.css.map +1 -0
- package/dist/client/1342.c6b8c6cd88df1d8c.js +60 -0
- package/dist/client/1342.c6b8c6cd88df1d8c.js.LICENSE.txt +5 -0
- package/dist/client/1342.c6b8c6cd88df1d8c.js.map +1 -0
- package/dist/client/1485.079879ef5af3319b.js +2 -0
- package/dist/client/1485.079879ef5af3319b.js.map +1 -0
- package/dist/client/1632.f3bab39a9572ce56.js +2 -0
- package/dist/client/1632.f3bab39a9572ce56.js.map +1 -0
- package/dist/client/1739.16064f8d04091fb6.js +8 -0
- package/dist/client/1739.16064f8d04091fb6.js.map +1 -0
- package/dist/client/176.aded97d94309df23.js +3 -0
- package/dist/client/176.aded97d94309df23.js.LICENSE.txt +5 -0
- package/dist/client/176.aded97d94309df23.js.map +1 -0
- package/dist/client/1916.bc7551ab839d52f8.js +17 -0
- package/dist/client/1916.bc7551ab839d52f8.js.map +1 -0
- package/dist/client/1971.2fa7bc4c755c2995.js +2 -0
- package/dist/client/1971.2fa7bc4c755c2995.js.map +1 -0
- package/dist/client/2254.5fbfe2d0124ff3ba.css +2 -0
- package/dist/client/2254.5fbfe2d0124ff3ba.css.map +1 -0
- package/dist/client/2255.2e6bae6cbc2fc401.js +2 -0
- package/dist/client/2255.2e6bae6cbc2fc401.js.map +1 -0
- package/dist/client/2271.1aa120136eb9a8a7.js +3 -0
- package/dist/client/2271.1aa120136eb9a8a7.js.LICENSE.txt +11 -0
- package/dist/client/2271.1aa120136eb9a8a7.js.map +1 -0
- package/dist/client/2297.0a9c74ff65a39b9e.js +36 -0
- package/dist/client/2297.0a9c74ff65a39b9e.js.map +1 -0
- package/dist/client/2448.831aebeb9f07a23c.js +35 -0
- package/dist/client/2448.831aebeb9f07a23c.js.LICENSE.txt +5 -0
- package/dist/client/2448.831aebeb9f07a23c.js.map +1 -0
- package/dist/client/2633.16d5148ada5e2597.js +2 -0
- package/dist/client/2633.16d5148ada5e2597.js.map +1 -0
- package/dist/client/2656.aff378afb664f75e.js +104 -0
- package/dist/client/2656.aff378afb664f75e.js.map +1 -0
- package/dist/client/2683.28adf6c710696773.js +45 -0
- package/dist/client/2683.28adf6c710696773.js.map +1 -0
- package/dist/client/2713.4386cec15f9187b7.js +9 -0
- package/dist/client/2713.4386cec15f9187b7.js.map +1 -0
- package/dist/client/2776.f1ca2b5f474ba69f.js +32 -0
- package/dist/client/2776.f1ca2b5f474ba69f.js.map +1 -0
- package/dist/client/2801.86bf6ce298d939e6.js +3 -0
- package/dist/client/2801.86bf6ce298d939e6.js.LICENSE.txt +5 -0
- package/dist/client/2801.86bf6ce298d939e6.js.map +1 -0
- package/dist/client/2826.8957e7aad92e4bd0.js +30 -0
- package/dist/client/2826.8957e7aad92e4bd0.js.map +1 -0
- package/dist/client/319.fc7ac90e914dce90.js +3 -0
- package/dist/client/319.fc7ac90e914dce90.js.LICENSE.txt +1 -0
- package/dist/client/319.fc7ac90e914dce90.js.map +1 -0
- package/dist/client/3536.782f5d525dda928d.js +19 -0
- package/dist/client/3536.782f5d525dda928d.js.map +1 -0
- package/dist/client/3580.bf3f2a7896833bd8.js +29 -0
- package/dist/client/3580.bf3f2a7896833bd8.js.map +1 -0
- package/dist/client/3649.a0041aab36b2ee5d.js +11 -0
- package/dist/client/3649.a0041aab36b2ee5d.js.map +1 -0
- package/dist/client/37.ce51869ec4792176.js +98 -0
- package/dist/client/37.ce51869ec4792176.js.map +1 -0
- package/dist/client/3769.aa29e140ef41bf56.js +42 -0
- package/dist/client/3769.aa29e140ef41bf56.js.map +1 -0
- package/dist/client/3804.52c4bfe4f9ac0087.js +2 -0
- package/dist/client/3804.52c4bfe4f9ac0087.js.map +1 -0
- package/dist/client/3892.36bfe7cc7f7173d3.js +5 -0
- package/dist/client/3892.36bfe7cc7f7173d3.js.map +1 -0
- package/dist/client/3895.226a48b6bcda42d9.js +9 -0
- package/dist/client/3895.226a48b6bcda42d9.js.map +1 -0
- package/dist/client/3959.f55cc61458102b77.js +5 -0
- package/dist/client/3959.f55cc61458102b77.js.LICENSE.txt +17 -0
- package/dist/client/3959.f55cc61458102b77.js.map +1 -0
- package/dist/client/3981.cb99ae60e2891e74.js +5 -0
- package/dist/client/3981.cb99ae60e2891e74.js.LICENSE.txt +5 -0
- package/dist/client/3981.cb99ae60e2891e74.js.map +1 -0
- package/dist/client/4036.5ca9997e4c034473.js +19 -0
- package/dist/client/4036.5ca9997e4c034473.js.LICENSE.txt +5 -0
- package/dist/client/4036.5ca9997e4c034473.js.map +1 -0
- package/dist/client/4045.c0fd898eab0b2a5c.js +8 -0
- package/dist/client/4045.c0fd898eab0b2a5c.js.LICENSE.txt +5 -0
- package/dist/client/4045.c0fd898eab0b2a5c.js.map +1 -0
- package/dist/client/4185.57f0759a392acbca.js +30 -0
- package/dist/client/4185.57f0759a392acbca.js.map +1 -0
- package/dist/client/4241.c4d03c093edd4b53.js +8 -0
- package/dist/client/4241.c4d03c093edd4b53.js.map +1 -0
- package/dist/client/4338.4af9e46a7aa60ea0.js +2 -0
- package/dist/client/4338.4af9e46a7aa60ea0.js.map +1 -0
- package/dist/client/4442.918bac7e16e9838f.js +3 -0
- package/dist/client/4442.918bac7e16e9838f.js.LICENSE.txt +5 -0
- package/dist/client/4442.918bac7e16e9838f.js.map +1 -0
- package/dist/client/4531.4ae011f8a64a2b27.js +34 -0
- package/dist/client/4531.4ae011f8a64a2b27.js.LICENSE.txt +5 -0
- package/dist/client/4531.4ae011f8a64a2b27.js.map +1 -0
- package/dist/client/4532.73b9876cb5a90b8a.js +3 -0
- package/dist/client/4532.73b9876cb5a90b8a.js.LICENSE.txt +5 -0
- package/dist/client/4532.73b9876cb5a90b8a.js.map +1 -0
- package/dist/client/476.0de6391161b814ad.js +11 -0
- package/dist/client/476.0de6391161b814ad.js.map +1 -0
- package/dist/client/4849.4da5f274175b7cc7.js +25 -0
- package/dist/client/4849.4da5f274175b7cc7.js.map +1 -0
- package/dist/client/4876.0ee47bb4700ff264.js +3 -0
- package/dist/client/4876.0ee47bb4700ff264.js.LICENSE.txt +8 -0
- package/dist/client/4876.0ee47bb4700ff264.js.map +1 -0
- package/dist/client/5066.31235bae47282d5a.js +102 -0
- package/dist/client/5066.31235bae47282d5a.js.map +1 -0
- package/dist/client/5166.fdfeeb11249c7266.js +52 -0
- package/dist/client/5166.fdfeeb11249c7266.js.map +1 -0
- package/dist/client/5293.26a213d7faf99924.js +4 -0
- package/dist/client/5293.26a213d7faf99924.js.map +1 -0
- package/dist/client/533.518751bfb02cbcee.js +47 -0
- package/dist/client/533.518751bfb02cbcee.js.map +1 -0
- package/dist/client/5401.6b191cac148d7b1e.js +2 -0
- package/dist/client/5401.6b191cac148d7b1e.js.map +1 -0
- package/dist/client/5531.3f07c9b4290520c7.js +387 -0
- package/dist/client/5531.3f07c9b4290520c7.js.map +1 -0
- package/dist/client/5564.8962dc781ac6917d.js +63 -0
- package/dist/client/5564.8962dc781ac6917d.js.map +1 -0
- package/dist/client/5759.22a61c1d4a7e3084.js +4 -0
- package/dist/client/5759.22a61c1d4a7e3084.js.map +1 -0
- package/dist/client/5837.f6d4c078ffaaacdd.js +2 -0
- package/dist/client/5837.f6d4c078ffaaacdd.js.map +1 -0
- package/dist/client/6078.665b67c129e048c8.js +3 -0
- package/dist/client/6078.665b67c129e048c8.js.LICENSE.txt +5 -0
- package/dist/client/6078.665b67c129e048c8.js.map +1 -0
- package/dist/client/6125.e38c186f47b38db7.js +8 -0
- package/dist/client/6125.e38c186f47b38db7.js.map +1 -0
- package/dist/client/614.01075c8e848f77c4.css +2 -0
- package/dist/client/614.01075c8e848f77c4.css.map +1 -0
- package/dist/client/6213.93a2421cf1c0706b.js +18 -0
- package/dist/client/6213.93a2421cf1c0706b.js.map +1 -0
- package/dist/client/6339.c03f64d4ce5c87c3.js +2 -0
- package/dist/client/6339.c03f64d4ce5c87c3.js.map +1 -0
- package/dist/client/665.d8fcfeee7d9363d1.js +35 -0
- package/dist/client/665.d8fcfeee7d9363d1.js.LICENSE.txt +5 -0
- package/dist/client/665.d8fcfeee7d9363d1.js.map +1 -0
- package/dist/client/6656.ddd2e30e5c8fb282.js +2 -0
- package/dist/client/6656.ddd2e30e5c8fb282.js.map +1 -0
- package/dist/client/6681.4bc549fb34f3fd5c.js +6 -0
- package/dist/client/6681.4bc549fb34f3fd5c.js.map +1 -0
- package/dist/client/7013.bc6ddba74ac61291.js +2 -0
- package/dist/client/7013.bc6ddba74ac61291.js.map +1 -0
- package/dist/client/7194.0c6f91109747ad86.js +2 -0
- package/dist/client/7194.0c6f91109747ad86.js.map +1 -0
- package/dist/client/7293.b60a1f58515f31a2.js +35 -0
- package/dist/client/7293.b60a1f58515f31a2.js.map +1 -0
- package/dist/client/7345.6d89013575f169db.js +16 -0
- package/dist/client/7345.6d89013575f169db.js.map +1 -0
- package/dist/client/736.c130ba990b1ed252.js +25 -0
- package/dist/client/736.c130ba990b1ed252.js.map +1 -0
- package/dist/client/7378.fa257f348c5bf73a.js +37 -0
- package/dist/client/7378.fa257f348c5bf73a.js.map +1 -0
- package/dist/client/7509.780e429ccb3e9290.js +9 -0
- package/dist/client/7509.780e429ccb3e9290.js.map +1 -0
- package/dist/client/7592.ab3584c66feafa74.css +2 -0
- package/dist/client/7592.ab3584c66feafa74.css.map +1 -0
- package/dist/client/7667.ac60289df8d3cc21.js +2 -0
- package/dist/client/7667.ac60289df8d3cc21.js.map +1 -0
- package/dist/client/770.6b88be2c18fa89a7.js +48 -0
- package/dist/client/770.6b88be2c18fa89a7.js.LICENSE.txt +5 -0
- package/dist/client/770.6b88be2c18fa89a7.js.map +1 -0
- package/dist/client/7731.401da89d94c0e064.js +2 -0
- package/dist/client/7731.401da89d94c0e064.js.map +1 -0
- package/dist/client/7773.38e1735927785740.js +3 -0
- package/dist/client/7773.38e1735927785740.js.LICENSE.txt +5 -0
- package/dist/client/7773.38e1735927785740.js.map +1 -0
- package/dist/client/781.389e02e257b52721.css +2 -0
- package/dist/client/781.389e02e257b52721.css.map +1 -0
- package/dist/client/7816.98d0e7137bdc87d2.js +34 -0
- package/dist/client/7816.98d0e7137bdc87d2.js.map +1 -0
- package/dist/client/7945.173113a79774d36d.js +2 -0
- package/dist/client/7945.173113a79774d36d.js.map +1 -0
- package/dist/client/8016.f30995a637486f82.js +2 -0
- package/dist/client/8016.f30995a637486f82.js.map +1 -0
- package/dist/client/8349.edfaab03980a5961.js +2 -0
- package/dist/client/8349.edfaab03980a5961.js.map +1 -0
- package/dist/client/8483.0c0da6fab68fab50.js +32 -0
- package/dist/client/8483.0c0da6fab68fab50.js.map +1 -0
- package/dist/client/8551.e33e50ee71f44812.js +2 -0
- package/dist/client/8551.e33e50ee71f44812.js.map +1 -0
- package/dist/client/8684.538d49e436a77c37.js +10 -0
- package/dist/client/8684.538d49e436a77c37.js.map +1 -0
- package/dist/client/8722.60924229fd12bd59.js +2 -0
- package/dist/client/8722.60924229fd12bd59.js.map +1 -0
- package/dist/client/8769.4e744e7339806d26.js +3 -0
- package/dist/client/8769.4e744e7339806d26.js.LICENSE.txt +5 -0
- package/dist/client/8769.4e744e7339806d26.js.map +1 -0
- package/dist/client/8807.202002bf6395a3cc.js +3 -0
- package/dist/client/8807.202002bf6395a3cc.js.LICENSE.txt +11 -0
- package/dist/client/8807.202002bf6395a3cc.js.map +1 -0
- package/dist/client/8877.4ad4d5400cffecd1.js +2 -0
- package/dist/client/8877.4ad4d5400cffecd1.js.map +1 -0
- package/dist/client/8896.85df788778cc02ca.js +9 -0
- package/dist/client/8896.85df788778cc02ca.js.map +1 -0
- package/dist/client/8911.35723f1bc61e2cde.js +167 -0
- package/dist/client/8911.35723f1bc61e2cde.js.LICENSE.txt +5 -0
- package/dist/client/8911.35723f1bc61e2cde.js.map +1 -0
- package/dist/client/9130.72e541c16599704b.js +2 -0
- package/dist/client/9130.72e541c16599704b.js.map +1 -0
- package/dist/client/9133.a9bb9d293838e8ac.js +2 -0
- package/dist/client/9133.a9bb9d293838e8ac.js.map +1 -0
- package/dist/client/917.f2371f7a8ef08c84.js +17 -0
- package/dist/client/917.f2371f7a8ef08c84.js.LICENSE.txt +5 -0
- package/dist/client/917.f2371f7a8ef08c84.js.map +1 -0
- package/dist/client/9291.648c397935e0243f.js +55 -0
- package/dist/client/9291.648c397935e0243f.js.map +1 -0
- package/dist/client/9398.f564d86762053131.js +11 -0
- package/dist/client/9398.f564d86762053131.js.LICENSE.txt +5 -0
- package/dist/client/9398.f564d86762053131.js.map +1 -0
- package/dist/client/9446.07f64cbea6f0246e.js +2 -0
- package/dist/client/9446.07f64cbea6f0246e.js.map +1 -0
- package/dist/client/9551.495c74e2c7129b38.js +16 -0
- package/dist/client/9551.495c74e2c7129b38.js.map +1 -0
- package/dist/client/9565.5e45ab3e0d622510.js +157 -0
- package/dist/client/9565.5e45ab3e0d622510.js.map +1 -0
- package/dist/client/9577.3a141d18f5d40e14.js +9 -0
- package/dist/client/9577.3a141d18f5d40e14.js.map +1 -0
- package/dist/client/9632.b317ca4ae5930b4a.js +2 -0
- package/dist/client/9632.b317ca4ae5930b4a.js.map +1 -0
- package/dist/client/BarlowCondensed-SemiBold.199288b668a15dc1.woff2 +0 -0
- package/dist/client/accurate-sm.6b644425a52001ef.svg +1 -0
- package/dist/client/accurate.9c2342f09d6600e6.svg +1 -0
- package/dist/client/alert-circle.558fb4ebf9c68c79.svg +1 -0
- package/dist/client/arrow-left.e6169107fdba2c0e.svg +1 -0
- package/dist/client/arrow-right.28133d6e7ac30654.svg +1 -0
- package/dist/client/asterisk.70f89e1fc672d4c5.svg +1 -0
- package/dist/client/browser-check.20ed6fe43e745587.svg +1 -0
- package/dist/client/browser-cross.196cc93721b774d9.svg +1 -0
- package/dist/client/building-dark.3261a2aaee8e1f76.svg +1 -0
- package/dist/client/building.28c35e4a388efad3.svg +1 -0
- package/dist/client/cancel.7362f2cdf3515e0d.svg +1 -0
- package/dist/client/check.0440cf8a72ac2317.svg +1 -0
- package/dist/client/chevron-down.7c923b7054da305b.svg +1 -0
- package/dist/client/chevron-right.a81fc439dd5e4839.svg +1 -0
- package/dist/client/chevron.ea9f23d050030463.svg +1 -0
- package/dist/client/chrome.5978d1a2dbdc06cc.svg +1 -0
- package/dist/client/chrome.63fe87abc1b86c49.svg +1 -0
- package/dist/client/circle-alert.4199b283585ef0bb.svg +1 -0
- package/dist/client/circle-check.205f48f66c3c9d17.svg +1 -0
- package/dist/client/circle-help.574fc498f309634e.svg +1 -0
- package/dist/client/circle-slash.c109868d4bdda8e2.svg +1 -0
- package/dist/client/circle-x.4b1c3fa0511867e7.svg +1 -0
- package/dist/client/circle.5525ef23679c14ac.svg +1 -0
- package/dist/client/cog.f23af856fab34421.svg +1 -0
- package/dist/client/collaborative-sm.f7add18382918478.svg +1 -0
- package/dist/client/collaborative.367b21ae62819fcb.svg +1 -0
- package/dist/client/community-calls-dark.13788dc61d057c98.svg +1 -0
- package/dist/client/community-calls.a6bf87abf19c466e.svg +1 -0
- package/dist/client/contrast.d86e85c43de8dee8.svg +1 -0
- package/dist/client/curriculum-about-covered.74e453cf7e1a86c2.svg +1 -0
- package/dist/client/curriculum-about-detail.515f645950e2300b.svg +1 -0
- package/dist/client/curriculum-about-educators.91685cbbd58c65fb.svg +1 -0
- package/dist/client/curriculum-about-not.42caac16e07477b5.svg +1 -0
- package/dist/client/curriculum-about-students.36ca88cba5f00272.svg +1 -0
- package/dist/client/curriculum-bullet.934e76f0055c7737.svg +1 -0
- package/dist/client/curriculum-ext-resource.7ccbd6b7cf9747db.svg +1 -0
- package/dist/client/curriculum-landing-about-beginner.c283306531a0a760.svg +1 -0
- package/dist/client/curriculum-landing-about-bullet.329a46667f2b7b1c.svg +1 -0
- package/dist/client/curriculum-landing-about-free.860c02f993720011.svg +1 -0
- package/dist/client/curriculum-landing-about-pace.caf53bc7642d2d9e.svg +1 -0
- package/dist/client/curriculum-landing-arrow.37d9469e2da628fb.svg +1 -0
- package/dist/client/curriculum-landing-started-advanced.6aa084114d4a009d.svg +1 -0
- package/dist/client/curriculum-landing-started-beginner.684ee16fbad28594.svg +1 -0
- package/dist/client/curriculum-landing-started-educator.1fc04ca1f8ce8d38.svg +1 -0
- package/dist/client/curriculum-landing-started-employment.ad9634ce6c19f3ba.svg +1 -0
- package/dist/client/curriculum-mdn-resource.f452724542f874b8.svg +1 -0
- package/dist/client/curriculum-modules-underline.a71f4b586aa1b1da.svg +1 -0
- package/dist/client/curriculum-partner-bg.247900de90ec7d1e.svg +1 -0
- package/dist/client/curriculum-partner-underline-large.f24a7f395cfe9118.svg +1 -0
- package/dist/client/curriculum-partner-underline-small.ad7d5a96e5f8ce9b.svg +1 -0
- package/dist/client/curriculum-resources.42e1db709b0eb7f8.svg +1 -0
- package/dist/client/curriculum-scrim-bg.66afaab49246fbd9.svg +1 -0
- package/dist/client/curriculum-started-underline.aea7485015c96abe.svg +1 -0
- package/dist/client/deno.aed70d20abbf1067.svg +1 -0
- package/dist/client/discord-dark.61a58fc0e649edd9.svg +1 -0
- package/dist/client/discord.3f1254e467a7f250.svg +1 -0
- package/dist/client/dot-dark.02ee053d767a59a1.svg +1 -0
- package/dist/client/dot.8ab417e01a1f6ecb.svg +1 -0
- package/dist/client/edge.29d1f7df37cf6b7b.svg +1 -0
- package/dist/client/edge.ccffcb3049ad9e34.svg +1 -0
- package/dist/client/education.d85a12a206ae942e.svg +1 -0
- package/dist/client/ellipsis.a923666a0f31b0e6.svg +1 -0
- package/dist/client/external-link.4f3a2dc8e402cae5.svg +1 -0
- package/dist/client/firefox.321382ff8fab2cfd.svg +1 -0
- package/dist/client/firefox.be3910badc184355.svg +1 -0
- package/dist/client/flag.a3ec9d1b88184452.svg +1 -0
- package/dist/client/flask-conical.c16b3d71f14f31d1.svg +1 -0
- package/dist/client/fullscreen-enter.452bcbaed6904ec7.svg +1 -0
- package/dist/client/git-fork.97e5d1d4d29677cf.svg +1 -0
- package/dist/client/github-mark-small.1912d5137f4e081d.svg +1 -0
- package/dist/client/global-impact-dark.899d2c74cfc72f0a.svg +1 -0
- package/dist/client/global-impact.da9e458fb92452e0.svg +1 -0
- package/dist/client/graduation-cap.c7aa0f3430c53718.svg +1 -0
- package/dist/client/handshake.b5de4bbf8aeef4d9.svg +1 -0
- package/dist/client/high-dark.4c5740fbe0c02409.svg +1 -0
- package/dist/client/high.8401af3c81ea0eca.svg +1 -0
- package/dist/client/inclusive-sm.67dfcf6e9cf77bb8.svg +1 -0
- package/dist/client/inclusive.f1401efadd5a6d6f.svg +1 -0
- package/dist/client/index.c8828168dddd5a8e.js +2 -0
- package/dist/client/index.c8828168dddd5a8e.js.map +1 -0
- package/dist/client/info.d40b80f84482feba.svg +1 -0
- package/dist/client/inter-italic.c91adde9f78caceb.woff2 +0 -0
- package/dist/client/inter.0336a89fb4e7fc1d.woff2 +0 -0
- package/dist/client/languages.dcba936080e5be86.svg +1 -0
- package/dist/client/lightbulb.f54f9e803373ffd2.svg +1 -0
- package/dist/client/limited-dark.6de4f83e8f41145f.svg +1 -0
- package/dist/client/limited.a9efc9350e09355e.svg +1 -0
- package/dist/client/line-dot.2eb7216a6e56d7c7.svg +1 -0
- package/dist/client/lines.c12de232c28cba49.svg +1 -0
- package/dist/client/lock.4befe79c52ccec2a.svg +1 -0
- package/dist/client/low-dark.512578ef0a351cb6.svg +1 -0
- package/dist/client/low.2c31373fd9acde94.svg +1 -0
- package/dist/client/m-logo.53bc3f53d5946169.svg +1 -0
- package/dist/client/mdn-prefix.42c58fad0d3fc035.svg +1 -0
- package/dist/client/monitor.11d946399ebf690d.svg +1 -0
- package/dist/client/moon.74026b9da82b0694.svg +1 -0
- package/dist/client/nodejs.efc13657f2bf62f7.svg +1 -0
- package/dist/client/opera.ebd6fbbb8600e404.svg +1 -0
- package/dist/client/people-dark.a149b2af062b2e10.svg +1 -0
- package/dist/client/people.a3a24be88dacdb7a.svg +1 -0
- package/dist/client/prism-abap-js.065c2ef845645dcc.js +2 -0
- package/dist/client/prism-abap-js.065c2ef845645dcc.js.map +1 -0
- package/dist/client/prism-abnf-js.9f54518cb96a5f84.js +2 -0
- package/dist/client/prism-abnf-js.9f54518cb96a5f84.js.map +1 -0
- package/dist/client/prism-actionscript-js.bd37ca935477738b.js +2 -0
- package/dist/client/prism-actionscript-js.bd37ca935477738b.js.map +1 -0
- package/dist/client/prism-ada-js.37afda8c3e854d0c.js +2 -0
- package/dist/client/prism-ada-js.37afda8c3e854d0c.js.map +1 -0
- package/dist/client/prism-agda-js.59b2d1f7c1270529.js +2 -0
- package/dist/client/prism-agda-js.59b2d1f7c1270529.js.map +1 -0
- package/dist/client/prism-al-js.87450c93fc25e3b0.js +2 -0
- package/dist/client/prism-al-js.87450c93fc25e3b0.js.map +1 -0
- package/dist/client/prism-antlr4-js.970086b80a3f5174.js +2 -0
- package/dist/client/prism-antlr4-js.970086b80a3f5174.js.map +1 -0
- package/dist/client/prism-apacheconf-js.fe4e4ddaef660339.js +2 -0
- package/dist/client/prism-apacheconf-js.fe4e4ddaef660339.js.map +1 -0
- package/dist/client/prism-apex-js.8a3af9ff6d392dbb.js +2 -0
- package/dist/client/prism-apex-js.8a3af9ff6d392dbb.js.map +1 -0
- package/dist/client/prism-apl-js.af0b2027efb67aee.js +2 -0
- package/dist/client/prism-apl-js.af0b2027efb67aee.js.map +1 -0
- package/dist/client/prism-applescript-js.774f7843a71944c2.js +2 -0
- package/dist/client/prism-applescript-js.774f7843a71944c2.js.map +1 -0
- package/dist/client/prism-aql-js.dfc16bd7b3627870.js +2 -0
- package/dist/client/prism-aql-js.dfc16bd7b3627870.js.map +1 -0
- package/dist/client/prism-arduino-js.fffd7cb41b6f86f2.js +2 -0
- package/dist/client/prism-arduino-js.fffd7cb41b6f86f2.js.map +1 -0
- package/dist/client/prism-arff-js.7b1b50526660298d.js +2 -0
- package/dist/client/prism-arff-js.7b1b50526660298d.js.map +1 -0
- package/dist/client/prism-armasm-js.ca02943bebec1278.js +2 -0
- package/dist/client/prism-armasm-js.ca02943bebec1278.js.map +1 -0
- package/dist/client/prism-arturo-js.3d3aeba91965c2d3.js +2 -0
- package/dist/client/prism-arturo-js.3d3aeba91965c2d3.js.map +1 -0
- package/dist/client/prism-asciidoc-js.4c63cf8587b079bd.js +2 -0
- package/dist/client/prism-asciidoc-js.4c63cf8587b079bd.js.map +1 -0
- package/dist/client/prism-asm6502-js.f67d5fc0a76e1352.js +2 -0
- package/dist/client/prism-asm6502-js.f67d5fc0a76e1352.js.map +1 -0
- package/dist/client/prism-asmatmel-js.ac4a012894f4f21a.js +2 -0
- package/dist/client/prism-asmatmel-js.ac4a012894f4f21a.js.map +1 -0
- package/dist/client/prism-aspnet-js.af5f934c9de385ac.js +2 -0
- package/dist/client/prism-aspnet-js.af5f934c9de385ac.js.map +1 -0
- package/dist/client/prism-autohotkey-js.1b83a818f13fe36b.js +2 -0
- package/dist/client/prism-autohotkey-js.1b83a818f13fe36b.js.map +1 -0
- package/dist/client/prism-autoit-js.45462f011be40def.js +2 -0
- package/dist/client/prism-autoit-js.45462f011be40def.js.map +1 -0
- package/dist/client/prism-avisynth-js.72fb1eb90651e172.js +2 -0
- package/dist/client/prism-avisynth-js.72fb1eb90651e172.js.map +1 -0
- package/dist/client/prism-avro-idl-js.eb9489bffdc2514d.js +2 -0
- package/dist/client/prism-avro-idl-js.eb9489bffdc2514d.js.map +1 -0
- package/dist/client/prism-awk-js.7489c018ad99a00b.js +2 -0
- package/dist/client/prism-awk-js.7489c018ad99a00b.js.map +1 -0
- package/dist/client/prism-bash-js.c4736ca125bdb11b.js +2 -0
- package/dist/client/prism-bash-js.c4736ca125bdb11b.js.map +1 -0
- package/dist/client/prism-basic-js.32ccfcfd83800dfe.js +2 -0
- package/dist/client/prism-basic-js.32ccfcfd83800dfe.js.map +1 -0
- package/dist/client/prism-batch-js.c73ec6d9d03bc6c2.js +2 -0
- package/dist/client/prism-batch-js.c73ec6d9d03bc6c2.js.map +1 -0
- package/dist/client/prism-bbcode-js.d2f98c847308cc9e.js +2 -0
- package/dist/client/prism-bbcode-js.d2f98c847308cc9e.js.map +1 -0
- package/dist/client/prism-bbj-js.ca04c9ac043e0cf1.js +2 -0
- package/dist/client/prism-bbj-js.ca04c9ac043e0cf1.js.map +1 -0
- package/dist/client/prism-bicep-js.ffc77db23d986cb7.js +2 -0
- package/dist/client/prism-bicep-js.ffc77db23d986cb7.js.map +1 -0
- package/dist/client/prism-birb-js.823301111a64edc5.js +2 -0
- package/dist/client/prism-birb-js.823301111a64edc5.js.map +1 -0
- package/dist/client/prism-bison-js.209dce152adc379a.js +2 -0
- package/dist/client/prism-bison-js.209dce152adc379a.js.map +1 -0
- package/dist/client/prism-bnf-js.4cce2b549a999dde.js +2 -0
- package/dist/client/prism-bnf-js.4cce2b549a999dde.js.map +1 -0
- package/dist/client/prism-bqn-js.ef80b027153d8e25.js +2 -0
- package/dist/client/prism-bqn-js.ef80b027153d8e25.js.map +1 -0
- package/dist/client/prism-brainfuck-js.3da54af2fa1c640c.js +2 -0
- package/dist/client/prism-brainfuck-js.3da54af2fa1c640c.js.map +1 -0
- package/dist/client/prism-brightscript-js.0fe2fcc86ce81701.js +2 -0
- package/dist/client/prism-brightscript-js.0fe2fcc86ce81701.js.map +1 -0
- package/dist/client/prism-bro-js.5c2139f05170545e.js +2 -0
- package/dist/client/prism-bro-js.5c2139f05170545e.js.map +1 -0
- package/dist/client/prism-bsl-js.4f855065fb67ae4c.js +2 -0
- package/dist/client/prism-bsl-js.4f855065fb67ae4c.js.map +1 -0
- package/dist/client/prism-c-js.3963deebbb60bd72.js +2 -0
- package/dist/client/prism-c-js.3963deebbb60bd72.js.map +1 -0
- package/dist/client/prism-cfscript-js.e468437a4dff965d.js +2 -0
- package/dist/client/prism-cfscript-js.e468437a4dff965d.js.map +1 -0
- package/dist/client/prism-chaiscript-js.18f76e99ca78b229.js +2 -0
- package/dist/client/prism-chaiscript-js.18f76e99ca78b229.js.map +1 -0
- package/dist/client/prism-cil-js.40bc7326d966260e.js +2 -0
- package/dist/client/prism-cil-js.40bc7326d966260e.js.map +1 -0
- package/dist/client/prism-cilkc-js.30d0f36167d6ecc6.js +2 -0
- package/dist/client/prism-cilkc-js.30d0f36167d6ecc6.js.map +1 -0
- package/dist/client/prism-cilkcpp-js.f412735d8428093a.js +2 -0
- package/dist/client/prism-cilkcpp-js.f412735d8428093a.js.map +1 -0
- package/dist/client/prism-clike-js.68b8ebbf1bab8ba6.js +2 -0
- package/dist/client/prism-clike-js.68b8ebbf1bab8ba6.js.map +1 -0
- package/dist/client/prism-clojure-js.784ec9e089cec2be.js +2 -0
- package/dist/client/prism-clojure-js.784ec9e089cec2be.js.map +1 -0
- package/dist/client/prism-cmake-js.3d0082f798e40c43.js +2 -0
- package/dist/client/prism-cmake-js.3d0082f798e40c43.js.map +1 -0
- package/dist/client/prism-cobol-js.1f2837d1de7ba9e0.js +2 -0
- package/dist/client/prism-cobol-js.1f2837d1de7ba9e0.js.map +1 -0
- package/dist/client/prism-coffeescript-js.43fe3d4a895c9dd0.js +2 -0
- package/dist/client/prism-coffeescript-js.43fe3d4a895c9dd0.js.map +1 -0
- package/dist/client/prism-concurnas-js.848e0d8983d43881.js +2 -0
- package/dist/client/prism-concurnas-js.848e0d8983d43881.js.map +1 -0
- package/dist/client/prism-cooklang-js.78b2ac93cbb28f01.js +2 -0
- package/dist/client/prism-cooklang-js.78b2ac93cbb28f01.js.map +1 -0
- package/dist/client/prism-coq-js.eb9d70dccdccd8ee.js +2 -0
- package/dist/client/prism-coq-js.eb9d70dccdccd8ee.js.map +1 -0
- package/dist/client/prism-core-js.e021c4ed977b7b46.js +3 -0
- package/dist/client/prism-core-js.e021c4ed977b7b46.js.LICENSE.txt +8 -0
- package/dist/client/prism-core-js.e021c4ed977b7b46.js.map +1 -0
- package/dist/client/prism-cpp-js.d0da177439198e3e.js +2 -0
- package/dist/client/prism-cpp-js.d0da177439198e3e.js.map +1 -0
- package/dist/client/prism-crystal-js.0d662808471e4233.js +2 -0
- package/dist/client/prism-crystal-js.0d662808471e4233.js.map +1 -0
- package/dist/client/prism-csharp-js.4ace3f83ab9e51ca.js +2 -0
- package/dist/client/prism-csharp-js.4ace3f83ab9e51ca.js.map +1 -0
- package/dist/client/prism-cshtml-js.ec14560be43d0ef9.js +2 -0
- package/dist/client/prism-cshtml-js.ec14560be43d0ef9.js.map +1 -0
- package/dist/client/prism-csp-js.c79e9507a3e6c6e5.js +2 -0
- package/dist/client/prism-csp-js.c79e9507a3e6c6e5.js.map +1 -0
- package/dist/client/prism-css-extras-js.e19c1eef3c813cb1.js +2 -0
- package/dist/client/prism-css-extras-js.e19c1eef3c813cb1.js.map +1 -0
- package/dist/client/prism-css-js.f8df4b07dbbb8110.js +2 -0
- package/dist/client/prism-css-js.f8df4b07dbbb8110.js.map +1 -0
- package/dist/client/prism-csv-js.ca0343683cdffdce.js +2 -0
- package/dist/client/prism-csv-js.ca0343683cdffdce.js.map +1 -0
- package/dist/client/prism-cue-js.06de9eb3bfcb6717.js +2 -0
- package/dist/client/prism-cue-js.06de9eb3bfcb6717.js.map +1 -0
- package/dist/client/prism-cypher-js.28ebf0b4a882f767.js +2 -0
- package/dist/client/prism-cypher-js.28ebf0b4a882f767.js.map +1 -0
- package/dist/client/prism-d-js.d6a79cbd4ddcd192.js +2 -0
- package/dist/client/prism-d-js.d6a79cbd4ddcd192.js.map +1 -0
- package/dist/client/prism-dart-js.5dd239fc22ea1035.js +2 -0
- package/dist/client/prism-dart-js.5dd239fc22ea1035.js.map +1 -0
- package/dist/client/prism-dataweave-js.a301ff77002f050b.js +2 -0
- package/dist/client/prism-dataweave-js.a301ff77002f050b.js.map +1 -0
- package/dist/client/prism-dax-js.0a248857c2b69dd1.js +2 -0
- package/dist/client/prism-dax-js.0a248857c2b69dd1.js.map +1 -0
- package/dist/client/prism-dhall-js.36ad25138084fa7d.js +2 -0
- package/dist/client/prism-dhall-js.36ad25138084fa7d.js.map +1 -0
- package/dist/client/prism-diff-js.6eb48101fbddc314.js +2 -0
- package/dist/client/prism-diff-js.6eb48101fbddc314.js.map +1 -0
- package/dist/client/prism-django-js.cd752a03848964c9.js +2 -0
- package/dist/client/prism-django-js.cd752a03848964c9.js.map +1 -0
- package/dist/client/prism-dns-zone-file-js.97244dbba9406c4c.js +2 -0
- package/dist/client/prism-dns-zone-file-js.97244dbba9406c4c.js.map +1 -0
- package/dist/client/prism-docker-js.47f9f17ef57217d4.js +2 -0
- package/dist/client/prism-docker-js.47f9f17ef57217d4.js.map +1 -0
- package/dist/client/prism-dot-js.043adf1a9532d336.js +2 -0
- package/dist/client/prism-dot-js.043adf1a9532d336.js.map +1 -0
- package/dist/client/prism-ebnf-js.b0c92c040db7540a.js +2 -0
- package/dist/client/prism-ebnf-js.b0c92c040db7540a.js.map +1 -0
- package/dist/client/prism-editorconfig-js.27fb2b797dd8e4da.js +2 -0
- package/dist/client/prism-editorconfig-js.27fb2b797dd8e4da.js.map +1 -0
- package/dist/client/prism-eiffel-js.0617c0ccc783c347.js +2 -0
- package/dist/client/prism-eiffel-js.0617c0ccc783c347.js.map +1 -0
- package/dist/client/prism-ejs-js.28ea865cd9e9af79.js +2 -0
- package/dist/client/prism-ejs-js.28ea865cd9e9af79.js.map +1 -0
- package/dist/client/prism-elixir-js.cb5b61e19e959fc9.js +2 -0
- package/dist/client/prism-elixir-js.cb5b61e19e959fc9.js.map +1 -0
- package/dist/client/prism-elm-js.2592214667974e6f.js +2 -0
- package/dist/client/prism-elm-js.2592214667974e6f.js.map +1 -0
- package/dist/client/prism-erb-js.d70dc73aeedbd388.js +2 -0
- package/dist/client/prism-erb-js.d70dc73aeedbd388.js.map +1 -0
- package/dist/client/prism-erlang-js.32f32a44c5b2f47b.js +2 -0
- package/dist/client/prism-erlang-js.32f32a44c5b2f47b.js.map +1 -0
- package/dist/client/prism-etlua-js.ef20bc08dc8fe2eb.js +2 -0
- package/dist/client/prism-etlua-js.ef20bc08dc8fe2eb.js.map +1 -0
- package/dist/client/prism-excel-formula-js.14f8224a62f3c247.js +2 -0
- package/dist/client/prism-excel-formula-js.14f8224a62f3c247.js.map +1 -0
- package/dist/client/prism-factor-js.7fdf5cfb5036f6d1.js +2 -0
- package/dist/client/prism-factor-js.7fdf5cfb5036f6d1.js.map +1 -0
- package/dist/client/prism-false-js.fecbf39f8793f86e.js +2 -0
- package/dist/client/prism-false-js.fecbf39f8793f86e.js.map +1 -0
- package/dist/client/prism-firestore-security-rules-js.00e0d8c0a5b9dde3.js +2 -0
- package/dist/client/prism-firestore-security-rules-js.00e0d8c0a5b9dde3.js.map +1 -0
- package/dist/client/prism-flow-js.6573302ec7e569d8.js +2 -0
- package/dist/client/prism-flow-js.6573302ec7e569d8.js.map +1 -0
- package/dist/client/prism-fortran-js.15ff306aa3ea08b8.js +2 -0
- package/dist/client/prism-fortran-js.15ff306aa3ea08b8.js.map +1 -0
- package/dist/client/prism-fsharp-js.64b92ed69706c108.js +2 -0
- package/dist/client/prism-fsharp-js.64b92ed69706c108.js.map +1 -0
- package/dist/client/prism-ftl-js.f4a23b20ea43487e.js +2 -0
- package/dist/client/prism-ftl-js.f4a23b20ea43487e.js.map +1 -0
- package/dist/client/prism-gap-js.4c99a398f1e5fc72.js +2 -0
- package/dist/client/prism-gap-js.4c99a398f1e5fc72.js.map +1 -0
- package/dist/client/prism-gcode-js.1b5798050811b233.js +2 -0
- package/dist/client/prism-gcode-js.1b5798050811b233.js.map +1 -0
- package/dist/client/prism-gdscript-js.57ebb74c439e9082.js +2 -0
- package/dist/client/prism-gdscript-js.57ebb74c439e9082.js.map +1 -0
- package/dist/client/prism-gedcom-js.a5ce074e62c22e92.js +2 -0
- package/dist/client/prism-gedcom-js.a5ce074e62c22e92.js.map +1 -0
- package/dist/client/prism-gettext-js.ce0da100a2e3e5a8.js +2 -0
- package/dist/client/prism-gettext-js.ce0da100a2e3e5a8.js.map +1 -0
- package/dist/client/prism-gherkin-js.4e47ded25437182c.js +2 -0
- package/dist/client/prism-gherkin-js.4e47ded25437182c.js.map +1 -0
- package/dist/client/prism-git-js.952b94296e787802.js +2 -0
- package/dist/client/prism-git-js.952b94296e787802.js.map +1 -0
- package/dist/client/prism-glsl-js.28385e6afacc2c39.js +2 -0
- package/dist/client/prism-glsl-js.28385e6afacc2c39.js.map +1 -0
- package/dist/client/prism-gml-js.0994258c6d8e2287.js +2 -0
- package/dist/client/prism-gml-js.0994258c6d8e2287.js.map +1 -0
- package/dist/client/prism-gn-js.3e89d9138f84c1b0.js +2 -0
- package/dist/client/prism-gn-js.3e89d9138f84c1b0.js.map +1 -0
- package/dist/client/prism-go-js.6ff00572fcf0248d.js +2 -0
- package/dist/client/prism-go-js.6ff00572fcf0248d.js.map +1 -0
- package/dist/client/prism-go-module-js.0b3ceaec32ceba28.js +2 -0
- package/dist/client/prism-go-module-js.0b3ceaec32ceba28.js.map +1 -0
- package/dist/client/prism-gradle-js.05e27f1b9f5aced9.js +2 -0
- package/dist/client/prism-gradle-js.05e27f1b9f5aced9.js.map +1 -0
- package/dist/client/prism-graphql-js.f5013759dfa50a6b.js +2 -0
- package/dist/client/prism-graphql-js.f5013759dfa50a6b.js.map +1 -0
- package/dist/client/prism-groovy-js.a76fbe16dce5080a.js +2 -0
- package/dist/client/prism-groovy-js.a76fbe16dce5080a.js.map +1 -0
- package/dist/client/prism-haml-js.37538cf91297d8fc.js +2 -0
- package/dist/client/prism-haml-js.37538cf91297d8fc.js.map +1 -0
- package/dist/client/prism-handlebars-js.e1a9771eed504377.js +2 -0
- package/dist/client/prism-handlebars-js.e1a9771eed504377.js.map +1 -0
- package/dist/client/prism-haskell-js.3627e0915562ca44.js +2 -0
- package/dist/client/prism-haskell-js.3627e0915562ca44.js.map +1 -0
- package/dist/client/prism-haxe-js.bec5ae3678655676.js +2 -0
- package/dist/client/prism-haxe-js.bec5ae3678655676.js.map +1 -0
- package/dist/client/prism-hcl-js.30dbcbae990bc966.js +2 -0
- package/dist/client/prism-hcl-js.30dbcbae990bc966.js.map +1 -0
- package/dist/client/prism-hlsl-js.8cebde13f4530830.js +2 -0
- package/dist/client/prism-hlsl-js.8cebde13f4530830.js.map +1 -0
- package/dist/client/prism-hoon-js.64cfefa2d9e8a2cd.js +2 -0
- package/dist/client/prism-hoon-js.64cfefa2d9e8a2cd.js.map +1 -0
- package/dist/client/prism-hpkp-js.fe3c755cead4261f.js +2 -0
- package/dist/client/prism-hpkp-js.fe3c755cead4261f.js.map +1 -0
- package/dist/client/prism-hsts-js.fd4774b39a052d56.js +2 -0
- package/dist/client/prism-hsts-js.fd4774b39a052d56.js.map +1 -0
- package/dist/client/prism-http-js.6a1674b96913e1d2.js +2 -0
- package/dist/client/prism-http-js.6a1674b96913e1d2.js.map +1 -0
- package/dist/client/prism-ichigojam-js.2aa0fb0434dc0ba0.js +2 -0
- package/dist/client/prism-ichigojam-js.2aa0fb0434dc0ba0.js.map +1 -0
- package/dist/client/prism-icon-js.dae48fdeb769c90c.js +2 -0
- package/dist/client/prism-icon-js.dae48fdeb769c90c.js.map +1 -0
- package/dist/client/prism-icu-message-format-js.b01a3652df333f15.js +2 -0
- package/dist/client/prism-icu-message-format-js.b01a3652df333f15.js.map +1 -0
- package/dist/client/prism-idris-js.4915cbf2aaf1e259.js +2 -0
- package/dist/client/prism-idris-js.4915cbf2aaf1e259.js.map +1 -0
- package/dist/client/prism-iecst-js.f79f065cbe6d9ff9.js +2 -0
- package/dist/client/prism-iecst-js.f79f065cbe6d9ff9.js.map +1 -0
- package/dist/client/prism-ignore-js.5fe2f6385139746c.js +2 -0
- package/dist/client/prism-ignore-js.5fe2f6385139746c.js.map +1 -0
- package/dist/client/prism-inform7-js.4aba19ba0de6fd81.js +2 -0
- package/dist/client/prism-inform7-js.4aba19ba0de6fd81.js.map +1 -0
- package/dist/client/prism-ini-js.da6b4bd40630e6f0.js +2 -0
- package/dist/client/prism-ini-js.da6b4bd40630e6f0.js.map +1 -0
- package/dist/client/prism-io-js.e2e5ed7961fe03a2.js +2 -0
- package/dist/client/prism-io-js.e2e5ed7961fe03a2.js.map +1 -0
- package/dist/client/prism-j-js.f1fa07dada3cfced.js +2 -0
- package/dist/client/prism-j-js.f1fa07dada3cfced.js.map +1 -0
- package/dist/client/prism-java-js.08e5feb02674c6c7.js +2 -0
- package/dist/client/prism-java-js.08e5feb02674c6c7.js.map +1 -0
- package/dist/client/prism-javadoc-js.72c60ee45b7040a2.js +2 -0
- package/dist/client/prism-javadoc-js.72c60ee45b7040a2.js.map +1 -0
- package/dist/client/prism-javadoclike-js.dc334a342b6020dd.js +2 -0
- package/dist/client/prism-javadoclike-js.dc334a342b6020dd.js.map +1 -0
- package/dist/client/prism-javascript-js.e251785abe437649.js +2 -0
- package/dist/client/prism-javascript-js.e251785abe437649.js.map +1 -0
- package/dist/client/prism-javastacktrace-js.16d656522cf7e42d.js +2 -0
- package/dist/client/prism-javastacktrace-js.16d656522cf7e42d.js.map +1 -0
- package/dist/client/prism-jexl-js.bc969a596de4e5af.js +2 -0
- package/dist/client/prism-jexl-js.bc969a596de4e5af.js.map +1 -0
- package/dist/client/prism-jolie-js.33b7f101d659d811.js +2 -0
- package/dist/client/prism-jolie-js.33b7f101d659d811.js.map +1 -0
- package/dist/client/prism-jq-js.0ea442fd843ad9f8.js +2 -0
- package/dist/client/prism-jq-js.0ea442fd843ad9f8.js.map +1 -0
- package/dist/client/prism-js-extras-js.6e073fde2bdf4b3d.js +2 -0
- package/dist/client/prism-js-extras-js.6e073fde2bdf4b3d.js.map +1 -0
- package/dist/client/prism-js-templates-js.9ef27e25ceedd205.js +2 -0
- package/dist/client/prism-js-templates-js.9ef27e25ceedd205.js.map +1 -0
- package/dist/client/prism-jsdoc-js.065483e1ad0355e4.js +2 -0
- package/dist/client/prism-jsdoc-js.065483e1ad0355e4.js.map +1 -0
- package/dist/client/prism-json-js.d0f7c8e494205056.js +2 -0
- package/dist/client/prism-json-js.d0f7c8e494205056.js.map +1 -0
- package/dist/client/prism-json5-js.7fc8011683fbb461.js +2 -0
- package/dist/client/prism-json5-js.7fc8011683fbb461.js.map +1 -0
- package/dist/client/prism-jsonp-js.fa6e2ee38cb730e8.js +2 -0
- package/dist/client/prism-jsonp-js.fa6e2ee38cb730e8.js.map +1 -0
- package/dist/client/prism-jsstacktrace-js.f57174f8d31822dd.js +2 -0
- package/dist/client/prism-jsstacktrace-js.f57174f8d31822dd.js.map +1 -0
- package/dist/client/prism-jsx-js.94701e2a3b086ae4.js +2 -0
- package/dist/client/prism-jsx-js.94701e2a3b086ae4.js.map +1 -0
- package/dist/client/prism-julia-js.108bb422cf317785.js +2 -0
- package/dist/client/prism-julia-js.108bb422cf317785.js.map +1 -0
- package/dist/client/prism-keepalived-js.e3dd9ca0053167fc.js +2 -0
- package/dist/client/prism-keepalived-js.e3dd9ca0053167fc.js.map +1 -0
- package/dist/client/prism-keyman-js.9cc1e659dba2b684.js +2 -0
- package/dist/client/prism-keyman-js.9cc1e659dba2b684.js.map +1 -0
- package/dist/client/prism-kotlin-js.6be2ab600d7645f7.js +2 -0
- package/dist/client/prism-kotlin-js.6be2ab600d7645f7.js.map +1 -0
- package/dist/client/prism-kumir-js.3a9a46af0f9bbf3b.js +2 -0
- package/dist/client/prism-kumir-js.3a9a46af0f9bbf3b.js.map +1 -0
- package/dist/client/prism-kusto-js.bce9fde2205047d9.js +2 -0
- package/dist/client/prism-kusto-js.bce9fde2205047d9.js.map +1 -0
- package/dist/client/prism-latex-js.d3fa74bc54ac219d.js +2 -0
- package/dist/client/prism-latex-js.d3fa74bc54ac219d.js.map +1 -0
- package/dist/client/prism-latte-js.bf6c471a6748937b.js +2 -0
- package/dist/client/prism-latte-js.bf6c471a6748937b.js.map +1 -0
- package/dist/client/prism-less-js.59746649c545800f.js +2 -0
- package/dist/client/prism-less-js.59746649c545800f.js.map +1 -0
- package/dist/client/prism-lilypond-js.3d69618fe9236e25.js +2 -0
- package/dist/client/prism-lilypond-js.3d69618fe9236e25.js.map +1 -0
- package/dist/client/prism-linker-script-js.d90196ac2f9aab45.js +2 -0
- package/dist/client/prism-linker-script-js.d90196ac2f9aab45.js.map +1 -0
- package/dist/client/prism-liquid-js.40e5a33158a20784.js +2 -0
- package/dist/client/prism-liquid-js.40e5a33158a20784.js.map +1 -0
- package/dist/client/prism-lisp-js.5d696adcdb25a133.js +2 -0
- package/dist/client/prism-lisp-js.5d696adcdb25a133.js.map +1 -0
- package/dist/client/prism-livescript-js.c5706c6b0607bd28.js +2 -0
- package/dist/client/prism-livescript-js.c5706c6b0607bd28.js.map +1 -0
- package/dist/client/prism-llvm-js.0903041f8dacb466.js +2 -0
- package/dist/client/prism-llvm-js.0903041f8dacb466.js.map +1 -0
- package/dist/client/prism-log-js.86b7ed6d3a0b2391.js +2 -0
- package/dist/client/prism-log-js.86b7ed6d3a0b2391.js.map +1 -0
- package/dist/client/prism-lolcode-js.447f1ee4d1b435f9.js +2 -0
- package/dist/client/prism-lolcode-js.447f1ee4d1b435f9.js.map +1 -0
- package/dist/client/prism-lua-js.031d6195024ea2fc.js +2 -0
- package/dist/client/prism-lua-js.031d6195024ea2fc.js.map +1 -0
- package/dist/client/prism-magma-js.ee053c202ca13c2f.js +2 -0
- package/dist/client/prism-magma-js.ee053c202ca13c2f.js.map +1 -0
- package/dist/client/prism-makefile-js.292c33b60f02ed0f.js +2 -0
- package/dist/client/prism-makefile-js.292c33b60f02ed0f.js.map +1 -0
- package/dist/client/prism-markdown-js.fe293c4ea58aa269.js +2 -0
- package/dist/client/prism-markdown-js.fe293c4ea58aa269.js.map +1 -0
- package/dist/client/prism-markup-js.4d87bbbbd6964c38.js +2 -0
- package/dist/client/prism-markup-js.4d87bbbbd6964c38.js.map +1 -0
- package/dist/client/prism-markup-templating-js.00588db99852e988.js +2 -0
- package/dist/client/prism-markup-templating-js.00588db99852e988.js.map +1 -0
- package/dist/client/prism-mata-js.ad16bd5d47e92730.js +2 -0
- package/dist/client/prism-mata-js.ad16bd5d47e92730.js.map +1 -0
- package/dist/client/prism-matlab-js.6386bc7bad3554e5.js +2 -0
- package/dist/client/prism-matlab-js.6386bc7bad3554e5.js.map +1 -0
- package/dist/client/prism-maxscript-js.1b388abdfef0caeb.js +2 -0
- package/dist/client/prism-maxscript-js.1b388abdfef0caeb.js.map +1 -0
- package/dist/client/prism-mel-js.91bee55a86c1aa4f.js +2 -0
- package/dist/client/prism-mel-js.91bee55a86c1aa4f.js.map +1 -0
- package/dist/client/prism-mermaid-js.d06ecf7cfa667b31.js +2 -0
- package/dist/client/prism-mermaid-js.d06ecf7cfa667b31.js.map +1 -0
- package/dist/client/prism-metafont-js.a8f425d4080ffc79.js +2 -0
- package/dist/client/prism-metafont-js.a8f425d4080ffc79.js.map +1 -0
- package/dist/client/prism-mizar-js.2aeac7e8424f0509.js +2 -0
- package/dist/client/prism-mizar-js.2aeac7e8424f0509.js.map +1 -0
- package/dist/client/prism-mongodb-js.63eadb7c58929e0e.js +2 -0
- package/dist/client/prism-mongodb-js.63eadb7c58929e0e.js.map +1 -0
- package/dist/client/prism-monkey-js.3921ae4f5c0d0ed6.js +2 -0
- package/dist/client/prism-monkey-js.3921ae4f5c0d0ed6.js.map +1 -0
- package/dist/client/prism-moonscript-js.be4625776a3ca854.js +2 -0
- package/dist/client/prism-moonscript-js.be4625776a3ca854.js.map +1 -0
- package/dist/client/prism-n1ql-js.fa039f03ad55a259.js +2 -0
- package/dist/client/prism-n1ql-js.fa039f03ad55a259.js.map +1 -0
- package/dist/client/prism-n4js-js.239f7d8cb54eea69.js +2 -0
- package/dist/client/prism-n4js-js.239f7d8cb54eea69.js.map +1 -0
- package/dist/client/prism-nand2tetris-hdl-js.c00937e376f9b93d.js +2 -0
- package/dist/client/prism-nand2tetris-hdl-js.c00937e376f9b93d.js.map +1 -0
- package/dist/client/prism-naniscript-js.9556979b26b23f5c.js +2 -0
- package/dist/client/prism-naniscript-js.9556979b26b23f5c.js.map +1 -0
- package/dist/client/prism-nasm-js.5da6706a1ab651cd.js +2 -0
- package/dist/client/prism-nasm-js.5da6706a1ab651cd.js.map +1 -0
- package/dist/client/prism-neon-js.1b90e020131bf772.js +2 -0
- package/dist/client/prism-neon-js.1b90e020131bf772.js.map +1 -0
- package/dist/client/prism-nevod-js.6a70026ac9b42da8.js +2 -0
- package/dist/client/prism-nevod-js.6a70026ac9b42da8.js.map +1 -0
- package/dist/client/prism-nginx-js.0484ee4caa040484.js +2 -0
- package/dist/client/prism-nginx-js.0484ee4caa040484.js.map +1 -0
- package/dist/client/prism-nim-js.611fccfe4aba6d6e.js +2 -0
- package/dist/client/prism-nim-js.611fccfe4aba6d6e.js.map +1 -0
- package/dist/client/prism-nix-js.febdcdd61c71f619.js +2 -0
- package/dist/client/prism-nix-js.febdcdd61c71f619.js.map +1 -0
- package/dist/client/prism-nsis-js.3e5496e056e9db9a.js +2 -0
- package/dist/client/prism-nsis-js.3e5496e056e9db9a.js.map +1 -0
- package/dist/client/prism-objectivec-js.180434ce6054548c.js +2 -0
- package/dist/client/prism-objectivec-js.180434ce6054548c.js.map +1 -0
- package/dist/client/prism-ocaml-js.bf9dcf57f9a29a39.js +2 -0
- package/dist/client/prism-ocaml-js.bf9dcf57f9a29a39.js.map +1 -0
- package/dist/client/prism-odin-js.7b721e3d1b684659.js +2 -0
- package/dist/client/prism-odin-js.7b721e3d1b684659.js.map +1 -0
- package/dist/client/prism-opencl-js.13b4b9d4f4f39118.js +2 -0
- package/dist/client/prism-opencl-js.13b4b9d4f4f39118.js.map +1 -0
- package/dist/client/prism-openqasm-js.a4832007c207bb7c.js +2 -0
- package/dist/client/prism-openqasm-js.a4832007c207bb7c.js.map +1 -0
- package/dist/client/prism-oz-js.a68b61457999f162.js +2 -0
- package/dist/client/prism-oz-js.a68b61457999f162.js.map +1 -0
- package/dist/client/prism-parigp-js.813837fb2cb3848e.js +2 -0
- package/dist/client/prism-parigp-js.813837fb2cb3848e.js.map +1 -0
- package/dist/client/prism-parser-js.d861ed26358be268.js +2 -0
- package/dist/client/prism-parser-js.d861ed26358be268.js.map +1 -0
- package/dist/client/prism-pascal-js.b8a48e4dc166fbbd.js +2 -0
- package/dist/client/prism-pascal-js.b8a48e4dc166fbbd.js.map +1 -0
- package/dist/client/prism-pascaligo-js.5e8c26d142440a80.js +2 -0
- package/dist/client/prism-pascaligo-js.5e8c26d142440a80.js.map +1 -0
- package/dist/client/prism-pcaxis-js.7a9e5ead89f56c03.js +2 -0
- package/dist/client/prism-pcaxis-js.7a9e5ead89f56c03.js.map +1 -0
- package/dist/client/prism-peoplecode-js.5613e8087b187bf6.js +2 -0
- package/dist/client/prism-peoplecode-js.5613e8087b187bf6.js.map +1 -0
- package/dist/client/prism-perl-js.1e17cfcc71265946.js +2 -0
- package/dist/client/prism-perl-js.1e17cfcc71265946.js.map +1 -0
- package/dist/client/prism-php-extras-js.06a2919dbe250e23.js +2 -0
- package/dist/client/prism-php-extras-js.06a2919dbe250e23.js.map +1 -0
- package/dist/client/prism-php-js.435cbf9498304998.js +2 -0
- package/dist/client/prism-php-js.435cbf9498304998.js.map +1 -0
- package/dist/client/prism-phpdoc-js.0794353f2fa78e23.js +2 -0
- package/dist/client/prism-phpdoc-js.0794353f2fa78e23.js.map +1 -0
- package/dist/client/prism-plant-uml-js.999f416e6ceae53d.js +2 -0
- package/dist/client/prism-plant-uml-js.999f416e6ceae53d.js.map +1 -0
- package/dist/client/prism-plsql-js.aca761297c65e09a.js +2 -0
- package/dist/client/prism-plsql-js.aca761297c65e09a.js.map +1 -0
- package/dist/client/prism-powerquery-js.5b2d5110420b095b.js +2 -0
- package/dist/client/prism-powerquery-js.5b2d5110420b095b.js.map +1 -0
- package/dist/client/prism-powershell-js.af32ca6d68ccf4c1.js +2 -0
- package/dist/client/prism-powershell-js.af32ca6d68ccf4c1.js.map +1 -0
- package/dist/client/prism-processing-js.7bc908bca60ac6e1.js +2 -0
- package/dist/client/prism-processing-js.7bc908bca60ac6e1.js.map +1 -0
- package/dist/client/prism-prolog-js.5ad7f0b82b6ec36a.js +2 -0
- package/dist/client/prism-prolog-js.5ad7f0b82b6ec36a.js.map +1 -0
- package/dist/client/prism-promql-js.e16a0c7364962916.js +2 -0
- package/dist/client/prism-promql-js.e16a0c7364962916.js.map +1 -0
- package/dist/client/prism-properties-js.bf2cc84f3aeb4e8f.js +2 -0
- package/dist/client/prism-properties-js.bf2cc84f3aeb4e8f.js.map +1 -0
- package/dist/client/prism-protobuf-js.d177d74142093b0e.js +2 -0
- package/dist/client/prism-protobuf-js.d177d74142093b0e.js.map +1 -0
- package/dist/client/prism-psl-js.e75925a939552751.js +2 -0
- package/dist/client/prism-psl-js.e75925a939552751.js.map +1 -0
- package/dist/client/prism-pug-js.49daa74b017e9fb1.js +2 -0
- package/dist/client/prism-pug-js.49daa74b017e9fb1.js.map +1 -0
- package/dist/client/prism-puppet-js.3fe0723b1b9458f2.js +2 -0
- package/dist/client/prism-puppet-js.3fe0723b1b9458f2.js.map +1 -0
- package/dist/client/prism-pure-js.2b4a82c560030738.js +2 -0
- package/dist/client/prism-pure-js.2b4a82c560030738.js.map +1 -0
- package/dist/client/prism-purebasic-js.191dd1fdc0b7cf0d.js +2 -0
- package/dist/client/prism-purebasic-js.191dd1fdc0b7cf0d.js.map +1 -0
- package/dist/client/prism-purescript-js.4624ef7517ad0ff1.js +2 -0
- package/dist/client/prism-purescript-js.4624ef7517ad0ff1.js.map +1 -0
- package/dist/client/prism-python-js.cb4d1a9e182afe18.js +2 -0
- package/dist/client/prism-python-js.cb4d1a9e182afe18.js.map +1 -0
- package/dist/client/prism-q-js.6359c5df0b96916f.js +2 -0
- package/dist/client/prism-q-js.6359c5df0b96916f.js.map +1 -0
- package/dist/client/prism-qml-js.8e38cd7d47f9eab5.js +2 -0
- package/dist/client/prism-qml-js.8e38cd7d47f9eab5.js.map +1 -0
- package/dist/client/prism-qore-js.5043bbcf57664121.js +2 -0
- package/dist/client/prism-qore-js.5043bbcf57664121.js.map +1 -0
- package/dist/client/prism-qsharp-js.a5ded5acb97a3974.js +2 -0
- package/dist/client/prism-qsharp-js.a5ded5acb97a3974.js.map +1 -0
- package/dist/client/prism-r-js.fe1da844a241a794.js +2 -0
- package/dist/client/prism-r-js.fe1da844a241a794.js.map +1 -0
- package/dist/client/prism-racket-js.243127a0136a1fd9.js +2 -0
- package/dist/client/prism-racket-js.243127a0136a1fd9.js.map +1 -0
- package/dist/client/prism-reason-js.ba13a72b96d8a9ac.js +2 -0
- package/dist/client/prism-reason-js.ba13a72b96d8a9ac.js.map +1 -0
- package/dist/client/prism-regex-js.c2195d9813a4be7e.js +2 -0
- package/dist/client/prism-regex-js.c2195d9813a4be7e.js.map +1 -0
- package/dist/client/prism-rego-js.ab4439321e07a8b6.js +2 -0
- package/dist/client/prism-rego-js.ab4439321e07a8b6.js.map +1 -0
- package/dist/client/prism-renpy-js.de68844599cc121a.js +2 -0
- package/dist/client/prism-renpy-js.de68844599cc121a.js.map +1 -0
- package/dist/client/prism-rescript-js.ca7c3bbe14e44230.js +2 -0
- package/dist/client/prism-rescript-js.ca7c3bbe14e44230.js.map +1 -0
- package/dist/client/prism-rest-js.e022765b3961a314.js +2 -0
- package/dist/client/prism-rest-js.e022765b3961a314.js.map +1 -0
- package/dist/client/prism-rip-js.0011c4887214795c.js +2 -0
- package/dist/client/prism-rip-js.0011c4887214795c.js.map +1 -0
- package/dist/client/prism-roboconf-js.9e0752108cad4d38.js +2 -0
- package/dist/client/prism-roboconf-js.9e0752108cad4d38.js.map +1 -0
- package/dist/client/prism-robotframework-js.5c1aba48dfdd6dd4.js +2 -0
- package/dist/client/prism-robotframework-js.5c1aba48dfdd6dd4.js.map +1 -0
- package/dist/client/prism-ruby-js.a2c474dae8a08d60.js +2 -0
- package/dist/client/prism-ruby-js.a2c474dae8a08d60.js.map +1 -0
- package/dist/client/prism-rust-js.ed4811231e33b6cf.js +2 -0
- package/dist/client/prism-rust-js.ed4811231e33b6cf.js.map +1 -0
- package/dist/client/prism-sas-js.1aec60cb4e1938db.js +2 -0
- package/dist/client/prism-sas-js.1aec60cb4e1938db.js.map +1 -0
- package/dist/client/prism-sass-js.8339b4a50eaab48c.js +2 -0
- package/dist/client/prism-sass-js.8339b4a50eaab48c.js.map +1 -0
- package/dist/client/prism-scala-js.2525c75befe236d7.js +2 -0
- package/dist/client/prism-scala-js.2525c75befe236d7.js.map +1 -0
- package/dist/client/prism-scheme-js.050b4b78e73e1679.js +2 -0
- package/dist/client/prism-scheme-js.050b4b78e73e1679.js.map +1 -0
- package/dist/client/prism-scss-js.1b71fbe5fd69036f.js +2 -0
- package/dist/client/prism-scss-js.1b71fbe5fd69036f.js.map +1 -0
- package/dist/client/prism-shell-session-js.cd8729fa376bfe4e.js +2 -0
- package/dist/client/prism-shell-session-js.cd8729fa376bfe4e.js.map +1 -0
- package/dist/client/prism-smali-js.1b6a3ec1244c8798.js +2 -0
- package/dist/client/prism-smali-js.1b6a3ec1244c8798.js.map +1 -0
- package/dist/client/prism-smalltalk-js.2d66de6e678a8c58.js +2 -0
- package/dist/client/prism-smalltalk-js.2d66de6e678a8c58.js.map +1 -0
- package/dist/client/prism-smarty-js.22878628b09727a7.js +2 -0
- package/dist/client/prism-smarty-js.22878628b09727a7.js.map +1 -0
- package/dist/client/prism-sml-js.c45681f2a0119b23.js +2 -0
- package/dist/client/prism-sml-js.c45681f2a0119b23.js.map +1 -0
- package/dist/client/prism-solidity-js.3eeccdf62d5596f1.js +2 -0
- package/dist/client/prism-solidity-js.3eeccdf62d5596f1.js.map +1 -0
- package/dist/client/prism-solution-file-js.428513372476e1ae.js +2 -0
- package/dist/client/prism-solution-file-js.428513372476e1ae.js.map +1 -0
- package/dist/client/prism-soy-js.f55903a765bf57a6.js +2 -0
- package/dist/client/prism-soy-js.f55903a765bf57a6.js.map +1 -0
- package/dist/client/prism-sparql-js.292f19bc602daf23.js +2 -0
- package/dist/client/prism-sparql-js.292f19bc602daf23.js.map +1 -0
- package/dist/client/prism-splunk-spl-js.1c70acbce581a142.js +2 -0
- package/dist/client/prism-splunk-spl-js.1c70acbce581a142.js.map +1 -0
- package/dist/client/prism-sqf-js.0365a3c1eb183c31.js +2 -0
- package/dist/client/prism-sqf-js.0365a3c1eb183c31.js.map +1 -0
- package/dist/client/prism-sql-js.aa988143d04c1024.js +2 -0
- package/dist/client/prism-sql-js.aa988143d04c1024.js.map +1 -0
- package/dist/client/prism-squirrel-js.6c0c312007ff7d21.js +2 -0
- package/dist/client/prism-squirrel-js.6c0c312007ff7d21.js.map +1 -0
- package/dist/client/prism-stan-js.42724899cfc2140e.js +2 -0
- package/dist/client/prism-stan-js.42724899cfc2140e.js.map +1 -0
- package/dist/client/prism-stata-js.23c79f03dc46757d.js +2 -0
- package/dist/client/prism-stata-js.23c79f03dc46757d.js.map +1 -0
- package/dist/client/prism-stylus-js.7c5fa156d5625740.js +2 -0
- package/dist/client/prism-stylus-js.7c5fa156d5625740.js.map +1 -0
- package/dist/client/prism-supercollider-js.c7ec7a57826b2d98.js +2 -0
- package/dist/client/prism-supercollider-js.c7ec7a57826b2d98.js.map +1 -0
- package/dist/client/prism-svelte.8808b28328514feb.js +2 -0
- package/dist/client/prism-svelte.8808b28328514feb.js.map +1 -0
- package/dist/client/prism-swift-js.9438b2e277552dae.js +2 -0
- package/dist/client/prism-swift-js.9438b2e277552dae.js.map +1 -0
- package/dist/client/prism-systemd-js.258be7845a3c6b87.js +2 -0
- package/dist/client/prism-systemd-js.258be7845a3c6b87.js.map +1 -0
- package/dist/client/prism-t4-cs-js.4b0d6520fc183e47.js +2 -0
- package/dist/client/prism-t4-cs-js.4b0d6520fc183e47.js.map +1 -0
- package/dist/client/prism-t4-templating-js.3a0120f84562367e.js +2 -0
- package/dist/client/prism-t4-templating-js.3a0120f84562367e.js.map +1 -0
- package/dist/client/prism-t4-vb-js.115a843f0c461599.js +2 -0
- package/dist/client/prism-t4-vb-js.115a843f0c461599.js.map +1 -0
- package/dist/client/prism-tap-js.4c1975d902bab61d.js +2 -0
- package/dist/client/prism-tap-js.4c1975d902bab61d.js.map +1 -0
- package/dist/client/prism-tcl-js.8855327658953e16.js +2 -0
- package/dist/client/prism-tcl-js.8855327658953e16.js.map +1 -0
- package/dist/client/prism-textile-js.700df6ff64f48377.js +2 -0
- package/dist/client/prism-textile-js.700df6ff64f48377.js.map +1 -0
- package/dist/client/prism-toml-js.98228f10959d0f23.js +2 -0
- package/dist/client/prism-toml-js.98228f10959d0f23.js.map +1 -0
- package/dist/client/prism-tremor-js.8242dc6874b6fe4e.js +2 -0
- package/dist/client/prism-tremor-js.8242dc6874b6fe4e.js.map +1 -0
- package/dist/client/prism-tsx-js.f3c5b6688d9b9dc8.js +2 -0
- package/dist/client/prism-tsx-js.f3c5b6688d9b9dc8.js.map +1 -0
- package/dist/client/prism-tt2-js.0982ae48a7fd1e94.js +2 -0
- package/dist/client/prism-tt2-js.0982ae48a7fd1e94.js.map +1 -0
- package/dist/client/prism-turtle-js.b7bd655eedca7dcb.js +2 -0
- package/dist/client/prism-turtle-js.b7bd655eedca7dcb.js.map +1 -0
- package/dist/client/prism-twig-js.abf10c80fd25a0c7.js +2 -0
- package/dist/client/prism-twig-js.abf10c80fd25a0c7.js.map +1 -0
- package/dist/client/prism-typescript-js.8fb7a00ddf043946.js +2 -0
- package/dist/client/prism-typescript-js.8fb7a00ddf043946.js.map +1 -0
- package/dist/client/prism-typoscript-js.2d48ecd06922462e.js +2 -0
- package/dist/client/prism-typoscript-js.2d48ecd06922462e.js.map +1 -0
- package/dist/client/prism-unrealscript-js.39d4931dd098c82d.js +2 -0
- package/dist/client/prism-unrealscript-js.39d4931dd098c82d.js.map +1 -0
- package/dist/client/prism-uorazor-js.fd424c571a35c871.js +2 -0
- package/dist/client/prism-uorazor-js.fd424c571a35c871.js.map +1 -0
- package/dist/client/prism-uri-js.4e41435c4882e91c.js +2 -0
- package/dist/client/prism-uri-js.4e41435c4882e91c.js.map +1 -0
- package/dist/client/prism-v-js.653f893549574093.js +2 -0
- package/dist/client/prism-v-js.653f893549574093.js.map +1 -0
- package/dist/client/prism-vala-js.ba6d34d3c03151c6.js +2 -0
- package/dist/client/prism-vala-js.ba6d34d3c03151c6.js.map +1 -0
- package/dist/client/prism-vbnet-js.9f7cc80e2039017b.js +2 -0
- package/dist/client/prism-vbnet-js.9f7cc80e2039017b.js.map +1 -0
- package/dist/client/prism-velocity-js.78a5d47cfa1b2067.js +2 -0
- package/dist/client/prism-velocity-js.78a5d47cfa1b2067.js.map +1 -0
- package/dist/client/prism-verilog-js.d3f4c602d10aa668.js +2 -0
- package/dist/client/prism-verilog-js.d3f4c602d10aa668.js.map +1 -0
- package/dist/client/prism-vhdl-js.7bae14df05100493.js +2 -0
- package/dist/client/prism-vhdl-js.7bae14df05100493.js.map +1 -0
- package/dist/client/prism-vim-js.afbf3d103ca3f5c0.js +2 -0
- package/dist/client/prism-vim-js.afbf3d103ca3f5c0.js.map +1 -0
- package/dist/client/prism-visual-basic-js.48c86a976af34438.js +2 -0
- package/dist/client/prism-visual-basic-js.48c86a976af34438.js.map +1 -0
- package/dist/client/prism-warpscript-js.83f5e3804e80ef7d.js +2 -0
- package/dist/client/prism-warpscript-js.83f5e3804e80ef7d.js.map +1 -0
- package/dist/client/prism-wasm-js.40271b6ae29ccd13.js +2 -0
- package/dist/client/prism-wasm-js.40271b6ae29ccd13.js.map +1 -0
- package/dist/client/prism-web-idl-js.b70282f60143864d.js +2 -0
- package/dist/client/prism-web-idl-js.b70282f60143864d.js.map +1 -0
- package/dist/client/prism-wgsl-js.0f5f116222c70afc.js +2 -0
- package/dist/client/prism-wgsl-js.0f5f116222c70afc.js.map +1 -0
- package/dist/client/prism-wiki-js.23f96b369fed4c95.js +2 -0
- package/dist/client/prism-wiki-js.23f96b369fed4c95.js.map +1 -0
- package/dist/client/prism-wolfram-js.a1095f8e8711bab2.js +2 -0
- package/dist/client/prism-wolfram-js.a1095f8e8711bab2.js.map +1 -0
- package/dist/client/prism-wren-js.e6cfd49e178839f2.js +2 -0
- package/dist/client/prism-wren-js.e6cfd49e178839f2.js.map +1 -0
- package/dist/client/prism-xeora-js.391d93969f67a5ef.js +2 -0
- package/dist/client/prism-xeora-js.391d93969f67a5ef.js.map +1 -0
- package/dist/client/prism-xml-doc-js.7dd1eae5e2959c66.js +2 -0
- package/dist/client/prism-xml-doc-js.7dd1eae5e2959c66.js.map +1 -0
- package/dist/client/prism-xojo-js.7788e3f350026b0e.js +2 -0
- package/dist/client/prism-xojo-js.7788e3f350026b0e.js.map +1 -0
- package/dist/client/prism-xquery-js.0f78f65669a0036c.js +2 -0
- package/dist/client/prism-xquery-js.0f78f65669a0036c.js.map +1 -0
- package/dist/client/prism-yaml-js.aa9c12071c87375e.js +2 -0
- package/dist/client/prism-yaml-js.aa9c12071c87375e.js.map +1 -0
- package/dist/client/prism-yang-js.47db12e4f855f35b.js +2 -0
- package/dist/client/prism-yang-js.47db12e4f855f35b.js.map +1 -0
- package/dist/client/prism-zig-js.e8f80dce8ef78edb.js +2 -0
- package/dist/client/prism-zig-js.e8f80dce8ef78edb.js.map +1 -0
- package/dist/client/quote-end-dark.8f93fff7280ff674.svg +1 -0
- package/dist/client/quote-end.4338ed019ef321a5.svg +1 -0
- package/dist/client/quote-start-dark.c0a98ef1da249042.svg +1 -0
- package/dist/client/quote-start.68c39c6f8e577f1f.svg +1 -0
- package/dist/client/quote.a314e8d24a902d8a.svg +1 -0
- package/dist/client/quote.f80c6daa6cc4b1b5.svg +1 -0
- package/dist/client/results-icon.b469eb939df034e7.svg +1 -0
- package/dist/client/runtime.09d5289851b16a16.js +2 -0
- package/dist/client/runtime.09d5289851b16a16.js.map +1 -0
- package/dist/client/safari.046172f4b2c9407b.svg +1 -0
- package/dist/client/safari.f175cdae2ee0be76.svg +1 -0
- package/dist/client/samsung-internet.f241f6953ef66c29.svg +1 -0
- package/dist/client/scrim-bg.27f047d7e991dbe9.png +0 -0
- package/dist/client/scrim-hexagons.e59318adb5550050.svg +1 -0
- package/dist/client/scrimba-logo.0c5b5b4efd2b23dc.svg +1 -0
- package/dist/client/search.5dd31cbeea7d1af9.svg +1 -0
- package/dist/client/server.ee27a0ad5e97acf2.svg +1 -0
- package/dist/client/smartphone.1a49e06c0e294c6b.svg +1 -0
- package/dist/client/stats.json +2690 -0
- package/dist/client/styles-a11y-menu.2e98b7cd718c5c19.js +1 -0
- package/dist/client/styles-a11y-menu.53797029a4c05806.css +2 -0
- package/dist/client/styles-a11y-menu.53797029a4c05806.css.map +1 -0
- package/dist/client/styles-advertising.518209a1af34dc4a.css +2 -0
- package/dist/client/styles-advertising.518209a1af34dc4a.css.map +1 -0
- package/dist/client/styles-advertising.ea40e455e971a08c.js +1 -0
- package/dist/client/styles-article-footer.2a7aa2576e5bf09c.js +1 -0
- package/dist/client/styles-article-footer.3bc45ecc7223c0ee.css +2 -0
- package/dist/client/styles-article-footer.3bc45ecc7223c0ee.css.map +1 -0
- package/dist/client/styles-banner.27a95586089161b4.css +2 -0
- package/dist/client/styles-banner.27a95586089161b4.css.map +1 -0
- package/dist/client/styles-banner.6c855e9feea9c071.js +1 -0
- package/dist/client/styles-baseline-indicator.0ee33f4434f78f8f.js +1 -0
- package/dist/client/styles-baseline-indicator.32a52f7b51085fbb.css +2 -0
- package/dist/client/styles-baseline-indicator.32a52f7b51085fbb.css.map +1 -0
- package/dist/client/styles-blog-index.63718eed7985555b.js +1 -0
- package/dist/client/styles-blog-index.adc896a6f9c59a37.css +2 -0
- package/dist/client/styles-blog-index.adc896a6f9c59a37.css.map +1 -0
- package/dist/client/styles-blog-post.5caeffbe1079348a.css +2 -0
- package/dist/client/styles-blog-post.5caeffbe1079348a.css.map +1 -0
- package/dist/client/styles-blog-post.e369a7b6bd7ee253.js +1 -0
- package/dist/client/styles-breadcrumbs-bar.20dc2aa03bcf9988.js +1 -0
- package/dist/client/styles-breadcrumbs-bar.62711b4bada74835.css +2 -0
- package/dist/client/styles-breadcrumbs-bar.62711b4bada74835.css.map +1 -0
- package/dist/client/styles-breadcrumbs.d07ccd5520eeea01.css +2 -0
- package/dist/client/styles-breadcrumbs.d07ccd5520eeea01.css.map +1 -0
- package/dist/client/styles-breadcrumbs.ffcf3e7f6aca4842.js +1 -0
- package/dist/client/styles-button.9ef7569f2eb2448b.js +1 -0
- package/dist/client/styles-content-section.1c33c36431d5093f.css +2 -0
- package/dist/client/styles-content-section.1c33c36431d5093f.css.map +1 -0
- package/dist/client/styles-content-section.26f255f6e62280ba.js +1 -0
- package/dist/client/styles-contributor-spotlight.08b1f6ed86daacc7.js +1 -0
- package/dist/client/styles-contributor-spotlight.a77d55cfef159e66.css +2 -0
- package/dist/client/styles-contributor-spotlight.a77d55cfef159e66.css.map +1 -0
- package/dist/client/styles-curriculum-about.0fa3c95d3b8086d6.js +1 -0
- package/dist/client/styles-curriculum-about.b8d113b14323c909.css +2 -0
- package/dist/client/styles-curriculum-about.b8d113b14323c909.css.map +1 -0
- package/dist/client/styles-curriculum-default.1d95308cf28d0cbe.js +1 -0
- package/dist/client/styles-curriculum-default.ef46db3751d8e999.css +0 -0
- package/dist/client/styles-curriculum-landing.56209b30561d82e0.css +2 -0
- package/dist/client/styles-curriculum-landing.56209b30561d82e0.css.map +1 -0
- package/dist/client/styles-curriculum-landing.75954cd6cee0580a.js +1 -0
- package/dist/client/styles-curriculum-module.1e885d2e7fbd00c6.js +1 -0
- package/dist/client/styles-curriculum-module.c7271eb90af85eba.css +2 -0
- package/dist/client/styles-curriculum-module.c7271eb90af85eba.css.map +1 -0
- package/dist/client/styles-curriculum-overview.7efe6d339fda7e6e.js +1 -0
- package/dist/client/styles-curriculum-overview.ef46db3751d8e999.css +0 -0
- package/dist/client/styles-featured-articles.c518f93ad0470cdf.css +2 -0
- package/dist/client/styles-featured-articles.c518f93ad0470cdf.css.map +1 -0
- package/dist/client/styles-featured-articles.f972eedcbf2136bd.js +1 -0
- package/dist/client/styles-footer.3c3e234ab015a735.css +2 -0
- package/dist/client/styles-footer.3c3e234ab015a735.css.map +1 -0
- package/dist/client/styles-footer.c6cf58283ef90c67.js +1 -0
- package/dist/client/styles-generic-about.481f176f22ba0def.css +2 -0
- package/dist/client/styles-generic-about.481f176f22ba0def.css.map +1 -0
- package/dist/client/styles-generic-about.e06415e7d0b644f8.js +1 -0
- package/dist/client/styles-generic-community.dc7a6a279c4156dd.js +1 -0
- package/dist/client/styles-generic-community.ddbcb9e0488bf017.css +2 -0
- package/dist/client/styles-generic-community.ddbcb9e0488bf017.css.map +1 -0
- package/dist/client/styles-generic-content.7960b980b98f1d3d.css +2 -0
- package/dist/client/styles-generic-content.7960b980b98f1d3d.css.map +1 -0
- package/dist/client/styles-generic-content.c29785e714ffd1f5.js +1 -0
- package/dist/client/styles-generic-layout.55441b1a560f5c9f.css +2 -0
- package/dist/client/styles-generic-layout.55441b1a560f5c9f.css.map +1 -0
- package/dist/client/styles-generic-layout.a0b477c1597318fb.js +1 -0
- package/dist/client/styles-generic-sidebar.515ed6dc89aec542.css +2 -0
- package/dist/client/styles-generic-sidebar.515ed6dc89aec542.css.map +1 -0
- package/dist/client/styles-generic-sidebar.7d35fed4f9bc1d3f.js +1 -0
- package/dist/client/styles-generic-toc.75b9d25451f88334.js +1 -0
- package/dist/client/styles-generic-toc.88e45e1e72c77b73.css +2 -0
- package/dist/client/styles-generic-toc.88e45e1e72c77b73.css.map +1 -0
- package/dist/client/styles-global.8b55f72d0e86db92.css +2 -0
- package/dist/client/styles-global.8b55f72d0e86db92.css.map +1 -0
- package/dist/client/styles-global.b9628f4d3aaae98f.js +1 -0
- package/dist/client/styles-heading-anchor.723d7995b359e9c5.js +1 -0
- package/dist/client/styles-heading-anchor.b82a8a1bdd9d4a09.css +2 -0
- package/dist/client/styles-heading-anchor.b82a8a1bdd9d4a09.css.map +1 -0
- package/dist/client/styles-homepage-body.22274e9a4a78b7ae.css +2 -0
- package/dist/client/styles-homepage-body.22274e9a4a78b7ae.css.map +1 -0
- package/dist/client/styles-homepage-body.7804e89b5b1f5fb0.js +1 -0
- package/dist/client/styles-homepage-contributor-spotlight.4d44b4638d86e2e7.js +1 -0
- package/dist/client/styles-homepage-contributor-spotlight.f02bdd82c7536b72.css +2 -0
- package/dist/client/styles-homepage-contributor-spotlight.f02bdd82c7536b72.css.map +1 -0
- package/dist/client/styles-homepage-footer.5d6588cf8c9b4dc6.css +2 -0
- package/dist/client/styles-homepage-footer.5d6588cf8c9b4dc6.css.map +1 -0
- package/dist/client/styles-homepage-footer.6110ddf33f932da9.js +1 -0
- package/dist/client/styles-homepage-header.64f2588e6f52cab3.js +1 -0
- package/dist/client/styles-homepage-header.da8a69fafe1cfb00.css +2 -0
- package/dist/client/styles-homepage-header.da8a69fafe1cfb00.css.map +1 -0
- package/dist/client/styles-homepage-hero.ca54e4bc0c0b420e.css +2 -0
- package/dist/client/styles-homepage-hero.ca54e4bc0c0b420e.css.map +1 -0
- package/dist/client/styles-homepage-hero.f3b9f1a51df08e48.js +1 -0
- package/dist/client/styles-homepage.0980eec27925cc11.css +2 -0
- package/dist/client/styles-homepage.0980eec27925cc11.css.map +1 -0
- package/dist/client/styles-homepage.3d3ddf3a45d9fb9f.js +1 -0
- package/dist/client/styles-latest-news.1b5fd7a95688fea4.css +2 -0
- package/dist/client/styles-latest-news.1b5fd7a95688fea4.css.map +1 -0
- package/dist/client/styles-latest-news.3ee704eb566845af.js +1 -0
- package/dist/client/styles-left-sidebar.3f5e96b31a5ba032.js +1 -0
- package/dist/client/styles-left-sidebar.b45535ee8396b82c.css +2 -0
- package/dist/client/styles-left-sidebar.b45535ee8396b82c.css.map +1 -0
- package/dist/client/styles-logo.15cde079ff7cf413.js +1 -0
- package/dist/client/styles-logo.a89a79f82f933ef6.css +2 -0
- package/dist/client/styles-logo.a89a79f82f933ef6.css.map +1 -0
- package/dist/client/styles-mandala.96281d90e09ea84c.css +2 -0
- package/dist/client/styles-mandala.96281d90e09ea84c.css.map +1 -0
- package/dist/client/styles-mandala.9d4782cc940eb79a.js +1 -0
- package/dist/client/styles-menu.432117f56550a699.js +1 -0
- package/dist/client/styles-menu.650ade27558d1b74.css +2 -0
- package/dist/client/styles-menu.650ade27558d1b74.css.map +1 -0
- package/dist/client/styles-navigation.160b8d68f3fbd7e9.css +2 -0
- package/dist/client/styles-navigation.160b8d68f3fbd7e9.css.map +1 -0
- package/dist/client/styles-navigation.ae5b4029d77512c1.js +1 -0
- package/dist/client/styles-not-found.7b511b835e4030ea.css +2 -0
- package/dist/client/styles-not-found.7b511b835e4030ea.css.map +1 -0
- package/dist/client/styles-not-found.bb24f3d7153e6384.js +1 -0
- package/dist/client/styles-observatory-landing.6ccab12860b70065.js +1 -0
- package/dist/client/styles-observatory-landing.ef46db3751d8e999.css +0 -0
- package/dist/client/styles-observatory-results.8debe68c8c1054ba.js +1 -0
- package/dist/client/styles-observatory-results.ef46db3751d8e999.css +0 -0
- package/dist/client/styles-page-layout.3855b7fd5c6c1e0f.js +1 -0
- package/dist/client/styles-page-layout.5db9be57df19de0c.css +2 -0
- package/dist/client/styles-page-layout.5db9be57df19de0c.css.map +1 -0
- package/dist/client/styles-pagination.5241370112fc2d33.js +1 -0
- package/dist/client/styles-pagination.a6190729e7406d59.css +2 -0
- package/dist/client/styles-pagination.a6190729e7406d59.css.map +1 -0
- package/dist/client/styles-playground.5fd947e80ea7bbbc.js +1 -0
- package/dist/client/styles-playground.f9812ae7cd68b2cf.css +2 -0
- package/dist/client/styles-playground.f9812ae7cd68b2cf.css.map +1 -0
- package/dist/client/styles-recent-contributions.96ef61f802ae3c05.js +1 -0
- package/dist/client/styles-recent-contributions.ddcab7ad78446b98.css +2 -0
- package/dist/client/styles-recent-contributions.ddcab7ad78446b98.css.map +1 -0
- package/dist/client/styles-reference-layout.4b0aca3ae954f961.css +2 -0
- package/dist/client/styles-reference-layout.4b0aca3ae954f961.css.map +1 -0
- package/dist/client/styles-reference-layout.f70ad6dcede0cc3e.js +1 -0
- package/dist/client/styles-reference-toc.5ce4f97dbe6e3ed0.css +2 -0
- package/dist/client/styles-reference-toc.5ce4f97dbe6e3ed0.css.map +1 -0
- package/dist/client/styles-reference-toc.6f6ac09833ba4a87.js +1 -0
- package/dist/client/styles-sandbox.33cffca9447c527a.js +1 -0
- package/dist/client/styles-sandbox.b819262115df2049.css +2 -0
- package/dist/client/styles-sandbox.b819262115df2049.css.map +1 -0
- package/dist/client/styles-translation-banner.733afddcfc7c2042.css +2 -0
- package/dist/client/styles-translation-banner.733afddcfc7c2042.css.map +1 -0
- package/dist/client/styles-translation-banner.cd2f5073403adc32.js +1 -0
- package/dist/client/styles.911adb13c338ef51.js +2 -0
- package/dist/client/styles.911adb13c338ef51.js.map +1 -0
- package/dist/client/summary-icon.eff7a61e59b7e02f.svg +1 -0
- package/dist/client/sun.1d7c3ad7bf6fc390.svg +1 -0
- package/dist/client/survey.f654202dd710bc60.svg +1 -0
- package/dist/client/text-box-check-outline.c3134e1621b4bb2f.svg +1 -0
- package/dist/client/trash-2.73b28bc66fb8543c.svg +1 -0
- package/dist/client/triangle-alert.cff4c57ccef57da3.svg +1 -0
- package/dist/client/video-bg-dark.92ad28c89fc826e3.svg +1 -0
- package/dist/client/video-bg.4fba76087554088a.svg +1 -0
- package/dist/client/video-thumbnail.1d7009186b4b1fba.png +0 -0
- package/dist/client/watify_bg.9877982a693ec402.wasm +0 -0
- package/dist/client/web-check.7f00b2e30be0f9ae.svg +1 -0
- package/dist/client/webview.69c6470100eb7da1.svg +1 -0
- package/dist/client/wrench.a3caa7312a364b47.svg +1 -0
- package/dist/client/youtube-play.48346821cb78779e.svg +1 -0
- package/dist/inline/inline.f297fa097cea05c7.js.map +1 -0
- package/dist/inline/inline.js +3 -0
- package/dist/legacy/1284.8a84929ca476234f.css +2 -0
- package/dist/legacy/1284.8a84929ca476234f.css.map +1 -0
- package/dist/legacy/1284.a10cb8e8305b767b.js +3 -0
- package/dist/legacy/1284.a10cb8e8305b767b.js.LICENSE.txt +9 -0
- package/dist/legacy/1284.a10cb8e8305b767b.js.map +1 -0
- package/dist/legacy/1517.fadaef8d7b596750.css +2 -0
- package/dist/legacy/1517.fadaef8d7b596750.css.map +1 -0
- package/dist/legacy/3340.c981163ed7c77693.js +2 -0
- package/dist/legacy/3340.c981163ed7c77693.js.map +1 -0
- package/dist/legacy/3957.f8e46976a249fa14.js +2 -0
- package/dist/legacy/3957.f8e46976a249fa14.js.map +1 -0
- package/dist/legacy/4556.0aa13ceaa4c2e447.js +2 -0
- package/dist/legacy/4556.0aa13ceaa4c2e447.js.map +1 -0
- package/dist/legacy/4557.a558cd3f5c086426.js +2 -0
- package/dist/legacy/4557.a558cd3f5c086426.js.map +1 -0
- package/dist/legacy/5194.3857c0f3afcafde0.js +2 -0
- package/dist/legacy/5194.3857c0f3afcafde0.js.map +1 -0
- package/dist/legacy/5379.ea44a3dd0291562a.js +2 -0
- package/dist/legacy/5379.ea44a3dd0291562a.js.map +1 -0
- package/dist/legacy/5575.a67696c41cc35a58.js +3 -0
- package/dist/legacy/5575.a67696c41cc35a58.js.LICENSE.txt +8 -0
- package/dist/legacy/5575.a67696c41cc35a58.js.map +1 -0
- package/dist/legacy/68.98f82bad90460bf6.js +2 -0
- package/dist/legacy/68.98f82bad90460bf6.js.map +1 -0
- package/dist/legacy/6883.5757a779418effad.js +178 -0
- package/dist/legacy/6883.5757a779418effad.js.LICENSE.txt +11 -0
- package/dist/legacy/6883.5757a779418effad.js.map +1 -0
- package/dist/legacy/7742.118e7ffb2d429b0f.js +60 -0
- package/dist/legacy/7742.118e7ffb2d429b0f.js.LICENSE.txt +5 -0
- package/dist/legacy/7742.118e7ffb2d429b0f.js.map +1 -0
- package/dist/legacy/7742.9db50026de3e9e58.css +2 -0
- package/dist/legacy/7742.9db50026de3e9e58.css.map +1 -0
- package/dist/legacy/8302.7cd3ab5a2318d719.js +4 -0
- package/dist/legacy/8302.7cd3ab5a2318d719.js.LICENSE.txt +17 -0
- package/dist/legacy/8302.7cd3ab5a2318d719.js.map +1 -0
- package/dist/legacy/8779.257d53536a0d5f02.css +2 -0
- package/dist/legacy/8779.257d53536a0d5f02.css.map +1 -0
- package/dist/legacy/9022.c6e57a39a2810cc3.js +2 -0
- package/dist/legacy/9022.c6e57a39a2810cc3.js.map +1 -0
- package/dist/legacy/BarlowCondensed-SemiBold.199288b668a15dc1.woff2 +0 -0
- package/dist/legacy/Inter.var.730e8169368baf37.woff2 +0 -0
- package/dist/legacy/add-filled.80d402757a60674d.svg +10 -0
- package/dist/legacy/add.9310d8fcf4d12ca9.svg +12 -0
- package/dist/legacy/afree.23e42bd4c44a110f.png +0 -0
- package/dist/legacy/ai-help.ab31f935f670437e.svg +1 -0
- package/dist/legacy/ai-help_dark.046ff33d604ca485.png +0 -0
- package/dist/legacy/ai-help_light.e220f39b5cafabef.png +0 -0
- package/dist/legacy/alert-circle.3335c0d7f5b2c5b6.svg +3 -0
- package/dist/legacy/altname.42d2e41d11030519.svg +3 -0
- package/dist/legacy/bell-filled.54210b230d4cd96a.svg +3 -0
- package/dist/legacy/bell-ring.42eae9e00cdc5670.svg +3 -0
- package/dist/legacy/bell.84639befc6b81f54.svg +10 -0
- package/dist/legacy/bluesky.6217395adda884d6.svg +1 -0
- package/dist/legacy/bookmark-filled.2871e99c943c520a.svg +3 -0
- package/dist/legacy/bookmark.697100550aca63ed.svg +3 -0
- package/dist/legacy/cancel.6ead14b4cb8b4694.svg +3 -0
- package/dist/legacy/chatgpt.bbca9c9c3aceadc0.svg +1 -0
- package/dist/legacy/checkmark.78b83561190aa5be.svg +3 -0
- package/dist/legacy/chevron.5d373c9173be10ac.svg +3 -0
- package/dist/legacy/chrome.34c80ba0e9389a43.svg +1 -0
- package/dist/legacy/clippy.04b042246b8eb5d3.svg +12 -0
- package/dist/legacy/collections.4d2b375ee696cf2e.png +0 -0
- package/dist/legacy/critical.0569cc36ffba11c5.svg +2 -0
- package/dist/legacy/curriculum-about-covered.fc1bc064f68bdc94.svg +25 -0
- package/dist/legacy/curriculum-about-detail.cde5aac4bc0382ff.svg +25 -0
- package/dist/legacy/curriculum-about-educators.cc26cdf6c8251004.svg +25 -0
- package/dist/legacy/curriculum-about-not.c0afc382d860ab0c.svg +25 -0
- package/dist/legacy/curriculum-about-students.6e789e80d10071b4.svg +25 -0
- package/dist/legacy/curriculum-bullet.e4cc51ab8d7a7353.svg +27 -0
- package/dist/legacy/curriculum-landing-about-beginner.5166f339392ce8a9.svg +25 -0
- package/dist/legacy/curriculum-landing-about-bullet.046c6d7e69f09789.svg +27 -0
- package/dist/legacy/curriculum-landing-about-free.a611c33d1ba7e33d.svg +25 -0
- package/dist/legacy/curriculum-landing-about-pace.77a202dd136a4d3c.svg +25 -0
- package/dist/legacy/curriculum-landing-arrow.458ced8a8dee9e19.svg +26 -0
- package/dist/legacy/curriculum-landing-started-advanced.977e749fb909b586.svg +37 -0
- package/dist/legacy/curriculum-landing-started-beginner.02e09619ed6e3f6b.svg +37 -0
- package/dist/legacy/curriculum-landing-started-educator.47e9cc52f38138b9.svg +37 -0
- package/dist/legacy/curriculum-landing-started-employment.9434f729055ae3ce.svg +37 -0
- package/dist/legacy/curriculum-mdn-resource.ce11df2c516049b5.svg +27 -0
- package/dist/legacy/curriculum-next.1e2c24ff7c72f8f3.svg +3 -0
- package/dist/legacy/curriculum-partner-bg.b95320464e0fc574.svg +20 -0
- package/dist/legacy/curriculum-prev.76a80bfc2bf346bf.svg +3 -0
- package/dist/legacy/curriculum-scrim-bg.e316aaae40a106ee.svg +24 -0
- package/dist/legacy/deno.6e66cc38cdfcb577.svg +1 -0
- package/dist/legacy/deprecated.c40ec2e5fa028b18.svg +3 -0
- package/dist/legacy/desktop.9916908187575ee8.svg +8 -0
- package/dist/legacy/disabled.0a3139cf317f8e73.svg +3 -0
- package/dist/legacy/edge.975e09d9c765224d.svg +1 -0
- package/dist/legacy/edit-filled.4ff5b1542e5f26cd.svg +1 -0
- package/dist/legacy/edit.b33bc30018dbe30a.svg +4 -0
- package/dist/legacy/ellipses.9bbbfb1a5bab025d.svg +5 -0
- package/dist/legacy/experimental.317e4709a9ee5689.svg +2 -0
- package/dist/legacy/external.deb9bcd511070d4f.svg +6 -0
- package/dist/legacy/eye-filled.513619bc9ac64fd9.svg +11 -0
- package/dist/legacy/eye.1d6bc09fd049c172.svg +11 -0
- package/dist/legacy/feed.d5d1bf625dc6b397.svg +1 -0
- package/dist/legacy/feedback.d387aa9ea5798baf.svg +1 -0
- package/dist/legacy/filter.9b5baf25968c04db.svg +3 -0
- package/dist/legacy/footnote.e51e2440d994efe8.svg +1 -0
- package/dist/legacy/fullscreen-enter.f9cca2e305a7a0dc.svg +24 -0
- package/dist/legacy/github-mark-small.bd8d47c6d1b4b950.svg +1 -0
- package/dist/legacy/high-dark.abe249f56b9c62f9.svg +1 -0
- package/dist/legacy/high.ed4c328bec7a5dd4.svg +1 -0
- package/dist/legacy/highlight.4843af48997a8fb8.svg +5 -0
- package/dist/legacy/history.0214bce82868c39a.svg +3 -0
- package/dist/legacy/ie.4c16845326d86ba9.svg +1 -0
- package/dist/legacy/index.07937a11cd40a7ad.js +6 -0
- package/dist/legacy/index.07937a11cd40a7ad.js.LICENSE.txt +85 -0
- package/dist/legacy/index.07937a11cd40a7ad.js.map +1 -0
- package/dist/legacy/index.95b67ebc43207ce9.css +2 -0
- package/dist/legacy/index.95b67ebc43207ce9.css.map +1 -0
- package/dist/legacy/information.8a003538c18a7e2d.svg +5 -0
- package/dist/legacy/language.718cb4a62260b684.svg +6 -0
- package/dist/legacy/lightbulb-question.7fbc672959b52326.svg +3 -0
- package/dist/legacy/limited-dark.0d15ef53cc4ad5ef.svg +1 -0
- package/dist/legacy/limited.2e37fd0b788967df.svg +1 -0
- package/dist/legacy/low-dark.7a79f7b7368ef5c0.svg +1 -0
- package/dist/legacy/low.0e3be746b80df89e.svg +1 -0
- package/dist/legacy/m-logo.75ea8b51ac6d6271.svg +9 -0
- package/dist/legacy/mastodon.fffa3e16e0b2db59.svg +3 -0
- package/dist/legacy/menu-filled.420d33b5b8431346.svg +8 -0
- package/dist/legacy/menu.360c324943803a41.svg +5 -0
- package/dist/legacy/message.fbba45f4c3a1d6f2.svg +3 -0
- package/dist/legacy/mobile.3a8d7a34c723487a.svg +3 -0
- package/dist/legacy/more.e2fcd5fd16099c48.svg +5 -0
- package/dist/legacy/new-topic.c44c2b02f1b782d6.svg +3 -0
- package/dist/legacy/next.444bedba48443091.svg +3 -0
- package/dist/legacy/no.c0dfcd03ea37bca6.svg +3 -0
- package/dist/legacy/nodejs.2d9a0f9022cb52ad.svg +1 -0
- package/dist/legacy/nonstandard.cd4aec5f2f0a3c65.svg +3 -0
- package/dist/legacy/note-deprecated.373dd62cee35d969.svg +3 -0
- package/dist/legacy/note-info.eacdd4a9f2821d63.svg +3 -0
- package/dist/legacy/note-warning.cd4aec5f2f0a3c65.svg +3 -0
- package/dist/legacy/opera.ad21150bc9f8e600.svg +1 -0
- package/dist/legacy/padlock.e6e46d7305e05ed1.svg +4 -0
- package/dist/legacy/partial.f19850f9f004b1b2.svg +3 -0
- package/dist/legacy/play.ba68e261a8be081c.svg +4 -0
- package/dist/legacy/playground.c87b7174563d837f.png +0 -0
- package/dist/legacy/prefix.2977e3d4b9fb9a82.svg +5 -0
- package/dist/legacy/preview.7f907b4753312e8b.svg +2 -0
- package/dist/legacy/previous.5b9f782377e19f50.svg +3 -0
- package/dist/legacy/prism-abap-js.065c2ef845645dcc.js +2 -0
- package/dist/legacy/prism-abap-js.065c2ef845645dcc.js.map +1 -0
- package/dist/legacy/prism-abnf-js.9f54518cb96a5f84.js +2 -0
- package/dist/legacy/prism-abnf-js.9f54518cb96a5f84.js.map +1 -0
- package/dist/legacy/prism-actionscript-js.bd37ca935477738b.js +2 -0
- package/dist/legacy/prism-actionscript-js.bd37ca935477738b.js.map +1 -0
- package/dist/legacy/prism-ada-js.37afda8c3e854d0c.js +2 -0
- package/dist/legacy/prism-ada-js.37afda8c3e854d0c.js.map +1 -0
- package/dist/legacy/prism-agda-js.59b2d1f7c1270529.js +2 -0
- package/dist/legacy/prism-agda-js.59b2d1f7c1270529.js.map +1 -0
- package/dist/legacy/prism-al-js.87450c93fc25e3b0.js +2 -0
- package/dist/legacy/prism-al-js.87450c93fc25e3b0.js.map +1 -0
- package/dist/legacy/prism-antlr4-js.970086b80a3f5174.js +2 -0
- package/dist/legacy/prism-antlr4-js.970086b80a3f5174.js.map +1 -0
- package/dist/legacy/prism-apacheconf-js.fe4e4ddaef660339.js +2 -0
- package/dist/legacy/prism-apacheconf-js.fe4e4ddaef660339.js.map +1 -0
- package/dist/legacy/prism-apex-js.8a3af9ff6d392dbb.js +2 -0
- package/dist/legacy/prism-apex-js.8a3af9ff6d392dbb.js.map +1 -0
- package/dist/legacy/prism-apl-js.af0b2027efb67aee.js +2 -0
- package/dist/legacy/prism-apl-js.af0b2027efb67aee.js.map +1 -0
- package/dist/legacy/prism-applescript-js.774f7843a71944c2.js +2 -0
- package/dist/legacy/prism-applescript-js.774f7843a71944c2.js.map +1 -0
- package/dist/legacy/prism-aql-js.dfc16bd7b3627870.js +2 -0
- package/dist/legacy/prism-aql-js.dfc16bd7b3627870.js.map +1 -0
- package/dist/legacy/prism-arduino-js.fffd7cb41b6f86f2.js +2 -0
- package/dist/legacy/prism-arduino-js.fffd7cb41b6f86f2.js.map +1 -0
- package/dist/legacy/prism-arff-js.7b1b50526660298d.js +2 -0
- package/dist/legacy/prism-arff-js.7b1b50526660298d.js.map +1 -0
- package/dist/legacy/prism-armasm-js.ca02943bebec1278.js +2 -0
- package/dist/legacy/prism-armasm-js.ca02943bebec1278.js.map +1 -0
- package/dist/legacy/prism-arturo-js.3d3aeba91965c2d3.js +2 -0
- package/dist/legacy/prism-arturo-js.3d3aeba91965c2d3.js.map +1 -0
- package/dist/legacy/prism-asciidoc-js.4c63cf8587b079bd.js +2 -0
- package/dist/legacy/prism-asciidoc-js.4c63cf8587b079bd.js.map +1 -0
- package/dist/legacy/prism-asm6502-js.f67d5fc0a76e1352.js +2 -0
- package/dist/legacy/prism-asm6502-js.f67d5fc0a76e1352.js.map +1 -0
- package/dist/legacy/prism-asmatmel-js.ac4a012894f4f21a.js +2 -0
- package/dist/legacy/prism-asmatmel-js.ac4a012894f4f21a.js.map +1 -0
- package/dist/legacy/prism-aspnet-js.af5f934c9de385ac.js +2 -0
- package/dist/legacy/prism-aspnet-js.af5f934c9de385ac.js.map +1 -0
- package/dist/legacy/prism-autohotkey-js.6c06b8e2194913a3.js +2 -0
- package/dist/legacy/prism-autohotkey-js.6c06b8e2194913a3.js.map +1 -0
- package/dist/legacy/prism-autoit-js.45462f011be40def.js +2 -0
- package/dist/legacy/prism-autoit-js.45462f011be40def.js.map +1 -0
- package/dist/legacy/prism-avisynth-js.72fb1eb90651e172.js +2 -0
- package/dist/legacy/prism-avisynth-js.72fb1eb90651e172.js.map +1 -0
- package/dist/legacy/prism-avro-idl-js.eb9489bffdc2514d.js +2 -0
- package/dist/legacy/prism-avro-idl-js.eb9489bffdc2514d.js.map +1 -0
- package/dist/legacy/prism-awk-js.7489c018ad99a00b.js +2 -0
- package/dist/legacy/prism-awk-js.7489c018ad99a00b.js.map +1 -0
- package/dist/legacy/prism-bash-js.c4736ca125bdb11b.js +2 -0
- package/dist/legacy/prism-bash-js.c4736ca125bdb11b.js.map +1 -0
- package/dist/legacy/prism-basic-js.32ccfcfd83800dfe.js +2 -0
- package/dist/legacy/prism-basic-js.32ccfcfd83800dfe.js.map +1 -0
- package/dist/legacy/prism-batch-js.c73ec6d9d03bc6c2.js +2 -0
- package/dist/legacy/prism-batch-js.c73ec6d9d03bc6c2.js.map +1 -0
- package/dist/legacy/prism-bbcode-js.d2f98c847308cc9e.js +2 -0
- package/dist/legacy/prism-bbcode-js.d2f98c847308cc9e.js.map +1 -0
- package/dist/legacy/prism-bbj-js.ca04c9ac043e0cf1.js +2 -0
- package/dist/legacy/prism-bbj-js.ca04c9ac043e0cf1.js.map +1 -0
- package/dist/legacy/prism-bicep-js.ffc77db23d986cb7.js +2 -0
- package/dist/legacy/prism-bicep-js.ffc77db23d986cb7.js.map +1 -0
- package/dist/legacy/prism-birb-js.823301111a64edc5.js +2 -0
- package/dist/legacy/prism-birb-js.823301111a64edc5.js.map +1 -0
- package/dist/legacy/prism-bison-js.209dce152adc379a.js +2 -0
- package/dist/legacy/prism-bison-js.209dce152adc379a.js.map +1 -0
- package/dist/legacy/prism-bnf-js.4cce2b549a999dde.js +2 -0
- package/dist/legacy/prism-bnf-js.4cce2b549a999dde.js.map +1 -0
- package/dist/legacy/prism-bqn-js.ef80b027153d8e25.js +2 -0
- package/dist/legacy/prism-bqn-js.ef80b027153d8e25.js.map +1 -0
- package/dist/legacy/prism-brainfuck-js.3da54af2fa1c640c.js +2 -0
- package/dist/legacy/prism-brainfuck-js.3da54af2fa1c640c.js.map +1 -0
- package/dist/legacy/prism-brightscript-js.0fe2fcc86ce81701.js +2 -0
- package/dist/legacy/prism-brightscript-js.0fe2fcc86ce81701.js.map +1 -0
- package/dist/legacy/prism-bro-js.5c2139f05170545e.js +2 -0
- package/dist/legacy/prism-bro-js.5c2139f05170545e.js.map +1 -0
- package/dist/legacy/prism-bsl-js.4f855065fb67ae4c.js +2 -0
- package/dist/legacy/prism-bsl-js.4f855065fb67ae4c.js.map +1 -0
- package/dist/legacy/prism-c-js.3963deebbb60bd72.js +2 -0
- package/dist/legacy/prism-c-js.3963deebbb60bd72.js.map +1 -0
- package/dist/legacy/prism-cfscript-js.e468437a4dff965d.js +2 -0
- package/dist/legacy/prism-cfscript-js.e468437a4dff965d.js.map +1 -0
- package/dist/legacy/prism-chaiscript-js.18f76e99ca78b229.js +2 -0
- package/dist/legacy/prism-chaiscript-js.18f76e99ca78b229.js.map +1 -0
- package/dist/legacy/prism-cil-js.40bc7326d966260e.js +2 -0
- package/dist/legacy/prism-cil-js.40bc7326d966260e.js.map +1 -0
- package/dist/legacy/prism-cilkc-js.30d0f36167d6ecc6.js +2 -0
- package/dist/legacy/prism-cilkc-js.30d0f36167d6ecc6.js.map +1 -0
- package/dist/legacy/prism-cilkcpp-js.f412735d8428093a.js +2 -0
- package/dist/legacy/prism-cilkcpp-js.f412735d8428093a.js.map +1 -0
- package/dist/legacy/prism-clike-js.68b8ebbf1bab8ba6.js +2 -0
- package/dist/legacy/prism-clike-js.68b8ebbf1bab8ba6.js.map +1 -0
- package/dist/legacy/prism-clojure-js.784ec9e089cec2be.js +2 -0
- package/dist/legacy/prism-clojure-js.784ec9e089cec2be.js.map +1 -0
- package/dist/legacy/prism-cmake-js.3d0082f798e40c43.js +2 -0
- package/dist/legacy/prism-cmake-js.3d0082f798e40c43.js.map +1 -0
- package/dist/legacy/prism-cobol-js.1f2837d1de7ba9e0.js +2 -0
- package/dist/legacy/prism-cobol-js.1f2837d1de7ba9e0.js.map +1 -0
- package/dist/legacy/prism-coffeescript-js.43fe3d4a895c9dd0.js +2 -0
- package/dist/legacy/prism-coffeescript-js.43fe3d4a895c9dd0.js.map +1 -0
- package/dist/legacy/prism-concurnas-js.848e0d8983d43881.js +2 -0
- package/dist/legacy/prism-concurnas-js.848e0d8983d43881.js.map +1 -0
- package/dist/legacy/prism-cooklang-js.78b2ac93cbb28f01.js +2 -0
- package/dist/legacy/prism-cooklang-js.78b2ac93cbb28f01.js.map +1 -0
- package/dist/legacy/prism-coq-js.eb9d70dccdccd8ee.js +2 -0
- package/dist/legacy/prism-coq-js.eb9d70dccdccd8ee.js.map +1 -0
- package/dist/legacy/prism-core-js.e021c4ed977b7b46.js +3 -0
- package/dist/legacy/prism-core-js.e021c4ed977b7b46.js.LICENSE.txt +8 -0
- package/dist/legacy/prism-core-js.e021c4ed977b7b46.js.map +1 -0
- package/dist/legacy/prism-cpp-js.d0da177439198e3e.js +2 -0
- package/dist/legacy/prism-cpp-js.d0da177439198e3e.js.map +1 -0
- package/dist/legacy/prism-crystal-js.0d662808471e4233.js +2 -0
- package/dist/legacy/prism-crystal-js.0d662808471e4233.js.map +1 -0
- package/dist/legacy/prism-csharp-js.4ace3f83ab9e51ca.js +2 -0
- package/dist/legacy/prism-csharp-js.4ace3f83ab9e51ca.js.map +1 -0
- package/dist/legacy/prism-cshtml-js.ec14560be43d0ef9.js +2 -0
- package/dist/legacy/prism-cshtml-js.ec14560be43d0ef9.js.map +1 -0
- package/dist/legacy/prism-csp-js.c79e9507a3e6c6e5.js +2 -0
- package/dist/legacy/prism-csp-js.c79e9507a3e6c6e5.js.map +1 -0
- package/dist/legacy/prism-css-extras-js.e19c1eef3c813cb1.js +2 -0
- package/dist/legacy/prism-css-extras-js.e19c1eef3c813cb1.js.map +1 -0
- package/dist/legacy/prism-css-js.f8df4b07dbbb8110.js +2 -0
- package/dist/legacy/prism-css-js.f8df4b07dbbb8110.js.map +1 -0
- package/dist/legacy/prism-csv-js.ca0343683cdffdce.js +2 -0
- package/dist/legacy/prism-csv-js.ca0343683cdffdce.js.map +1 -0
- package/dist/legacy/prism-cue-js.06de9eb3bfcb6717.js +2 -0
- package/dist/legacy/prism-cue-js.06de9eb3bfcb6717.js.map +1 -0
- package/dist/legacy/prism-cypher-js.28ebf0b4a882f767.js +2 -0
- package/dist/legacy/prism-cypher-js.28ebf0b4a882f767.js.map +1 -0
- package/dist/legacy/prism-d-js.d6a79cbd4ddcd192.js +2 -0
- package/dist/legacy/prism-d-js.d6a79cbd4ddcd192.js.map +1 -0
- package/dist/legacy/prism-dart-js.5dd239fc22ea1035.js +2 -0
- package/dist/legacy/prism-dart-js.5dd239fc22ea1035.js.map +1 -0
- package/dist/legacy/prism-dataweave-js.a301ff77002f050b.js +2 -0
- package/dist/legacy/prism-dataweave-js.a301ff77002f050b.js.map +1 -0
- package/dist/legacy/prism-dax-js.0a248857c2b69dd1.js +2 -0
- package/dist/legacy/prism-dax-js.0a248857c2b69dd1.js.map +1 -0
- package/dist/legacy/prism-dhall-js.36ad25138084fa7d.js +2 -0
- package/dist/legacy/prism-dhall-js.36ad25138084fa7d.js.map +1 -0
- package/dist/legacy/prism-diff-js.6eb48101fbddc314.js +2 -0
- package/dist/legacy/prism-diff-js.6eb48101fbddc314.js.map +1 -0
- package/dist/legacy/prism-django-js.cd752a03848964c9.js +2 -0
- package/dist/legacy/prism-django-js.cd752a03848964c9.js.map +1 -0
- package/dist/legacy/prism-dns-zone-file-js.97244dbba9406c4c.js +2 -0
- package/dist/legacy/prism-dns-zone-file-js.97244dbba9406c4c.js.map +1 -0
- package/dist/legacy/prism-docker-js.47f9f17ef57217d4.js +2 -0
- package/dist/legacy/prism-docker-js.47f9f17ef57217d4.js.map +1 -0
- package/dist/legacy/prism-dot-js.043adf1a9532d336.js +2 -0
- package/dist/legacy/prism-dot-js.043adf1a9532d336.js.map +1 -0
- package/dist/legacy/prism-ebnf-js.b0c92c040db7540a.js +2 -0
- package/dist/legacy/prism-ebnf-js.b0c92c040db7540a.js.map +1 -0
- package/dist/legacy/prism-editorconfig-js.27fb2b797dd8e4da.js +2 -0
- package/dist/legacy/prism-editorconfig-js.27fb2b797dd8e4da.js.map +1 -0
- package/dist/legacy/prism-eiffel-js.0617c0ccc783c347.js +2 -0
- package/dist/legacy/prism-eiffel-js.0617c0ccc783c347.js.map +1 -0
- package/dist/legacy/prism-ejs-js.c9c68f5089511537.js +2 -0
- package/dist/legacy/prism-ejs-js.c9c68f5089511537.js.map +1 -0
- package/dist/legacy/prism-elixir-js.cb5b61e19e959fc9.js +2 -0
- package/dist/legacy/prism-elixir-js.cb5b61e19e959fc9.js.map +1 -0
- package/dist/legacy/prism-elm-js.2592214667974e6f.js +2 -0
- package/dist/legacy/prism-elm-js.2592214667974e6f.js.map +1 -0
- package/dist/legacy/prism-erb-js.d70dc73aeedbd388.js +2 -0
- package/dist/legacy/prism-erb-js.d70dc73aeedbd388.js.map +1 -0
- package/dist/legacy/prism-erlang-js.32f32a44c5b2f47b.js +2 -0
- package/dist/legacy/prism-erlang-js.32f32a44c5b2f47b.js.map +1 -0
- package/dist/legacy/prism-etlua-js.ef20bc08dc8fe2eb.js +2 -0
- package/dist/legacy/prism-etlua-js.ef20bc08dc8fe2eb.js.map +1 -0
- package/dist/legacy/prism-excel-formula-js.14f8224a62f3c247.js +2 -0
- package/dist/legacy/prism-excel-formula-js.14f8224a62f3c247.js.map +1 -0
- package/dist/legacy/prism-factor-js.7fdf5cfb5036f6d1.js +2 -0
- package/dist/legacy/prism-factor-js.7fdf5cfb5036f6d1.js.map +1 -0
- package/dist/legacy/prism-false-js.fecbf39f8793f86e.js +2 -0
- package/dist/legacy/prism-false-js.fecbf39f8793f86e.js.map +1 -0
- package/dist/legacy/prism-firestore-security-rules-js.00e0d8c0a5b9dde3.js +2 -0
- package/dist/legacy/prism-firestore-security-rules-js.00e0d8c0a5b9dde3.js.map +1 -0
- package/dist/legacy/prism-flow-js.6573302ec7e569d8.js +2 -0
- package/dist/legacy/prism-flow-js.6573302ec7e569d8.js.map +1 -0
- package/dist/legacy/prism-fortran-js.15ff306aa3ea08b8.js +2 -0
- package/dist/legacy/prism-fortran-js.15ff306aa3ea08b8.js.map +1 -0
- package/dist/legacy/prism-fsharp-js.64b92ed69706c108.js +2 -0
- package/dist/legacy/prism-fsharp-js.64b92ed69706c108.js.map +1 -0
- package/dist/legacy/prism-ftl-js.f4a23b20ea43487e.js +2 -0
- package/dist/legacy/prism-ftl-js.f4a23b20ea43487e.js.map +1 -0
- package/dist/legacy/prism-gap-js.4c99a398f1e5fc72.js +2 -0
- package/dist/legacy/prism-gap-js.4c99a398f1e5fc72.js.map +1 -0
- package/dist/legacy/prism-gcode-js.1b5798050811b233.js +2 -0
- package/dist/legacy/prism-gcode-js.1b5798050811b233.js.map +1 -0
- package/dist/legacy/prism-gdscript-js.57ebb74c439e9082.js +2 -0
- package/dist/legacy/prism-gdscript-js.57ebb74c439e9082.js.map +1 -0
- package/dist/legacy/prism-gedcom-js.a5ce074e62c22e92.js +2 -0
- package/dist/legacy/prism-gedcom-js.a5ce074e62c22e92.js.map +1 -0
- package/dist/legacy/prism-gettext-js.ce0da100a2e3e5a8.js +2 -0
- package/dist/legacy/prism-gettext-js.ce0da100a2e3e5a8.js.map +1 -0
- package/dist/legacy/prism-gherkin-js.4e47ded25437182c.js +2 -0
- package/dist/legacy/prism-gherkin-js.4e47ded25437182c.js.map +1 -0
- package/dist/legacy/prism-git-js.952b94296e787802.js +2 -0
- package/dist/legacy/prism-git-js.952b94296e787802.js.map +1 -0
- package/dist/legacy/prism-glsl-js.28385e6afacc2c39.js +2 -0
- package/dist/legacy/prism-glsl-js.28385e6afacc2c39.js.map +1 -0
- package/dist/legacy/prism-gml-js.0994258c6d8e2287.js +2 -0
- package/dist/legacy/prism-gml-js.0994258c6d8e2287.js.map +1 -0
- package/dist/legacy/prism-gn-js.3e89d9138f84c1b0.js +2 -0
- package/dist/legacy/prism-gn-js.3e89d9138f84c1b0.js.map +1 -0
- package/dist/legacy/prism-go-js.6ff00572fcf0248d.js +2 -0
- package/dist/legacy/prism-go-js.6ff00572fcf0248d.js.map +1 -0
- package/dist/legacy/prism-go-module-js.0b3ceaec32ceba28.js +2 -0
- package/dist/legacy/prism-go-module-js.0b3ceaec32ceba28.js.map +1 -0
- package/dist/legacy/prism-gradle-js.05e27f1b9f5aced9.js +2 -0
- package/dist/legacy/prism-gradle-js.05e27f1b9f5aced9.js.map +1 -0
- package/dist/legacy/prism-graphql-js.f5013759dfa50a6b.js +2 -0
- package/dist/legacy/prism-graphql-js.f5013759dfa50a6b.js.map +1 -0
- package/dist/legacy/prism-groovy-js.a76fbe16dce5080a.js +2 -0
- package/dist/legacy/prism-groovy-js.a76fbe16dce5080a.js.map +1 -0
- package/dist/legacy/prism-haml-js.37538cf91297d8fc.js +2 -0
- package/dist/legacy/prism-haml-js.37538cf91297d8fc.js.map +1 -0
- package/dist/legacy/prism-handlebars-js.e1a9771eed504377.js +2 -0
- package/dist/legacy/prism-handlebars-js.e1a9771eed504377.js.map +1 -0
- package/dist/legacy/prism-haskell-js.3627e0915562ca44.js +2 -0
- package/dist/legacy/prism-haskell-js.3627e0915562ca44.js.map +1 -0
- package/dist/legacy/prism-haxe-js.bec5ae3678655676.js +2 -0
- package/dist/legacy/prism-haxe-js.bec5ae3678655676.js.map +1 -0
- package/dist/legacy/prism-hcl-js.30dbcbae990bc966.js +2 -0
- package/dist/legacy/prism-hcl-js.30dbcbae990bc966.js.map +1 -0
- package/dist/legacy/prism-hlsl-js.8cebde13f4530830.js +2 -0
- package/dist/legacy/prism-hlsl-js.8cebde13f4530830.js.map +1 -0
- package/dist/legacy/prism-hoon-js.64cfefa2d9e8a2cd.js +2 -0
- package/dist/legacy/prism-hoon-js.64cfefa2d9e8a2cd.js.map +1 -0
- package/dist/legacy/prism-hpkp-js.fe3c755cead4261f.js +2 -0
- package/dist/legacy/prism-hpkp-js.fe3c755cead4261f.js.map +1 -0
- package/dist/legacy/prism-hsts-js.fd4774b39a052d56.js +2 -0
- package/dist/legacy/prism-hsts-js.fd4774b39a052d56.js.map +1 -0
- package/dist/legacy/prism-http-js.6a1674b96913e1d2.js +2 -0
- package/dist/legacy/prism-http-js.6a1674b96913e1d2.js.map +1 -0
- package/dist/legacy/prism-ichigojam-js.2aa0fb0434dc0ba0.js +2 -0
- package/dist/legacy/prism-ichigojam-js.2aa0fb0434dc0ba0.js.map +1 -0
- package/dist/legacy/prism-icon-js.dae48fdeb769c90c.js +2 -0
- package/dist/legacy/prism-icon-js.dae48fdeb769c90c.js.map +1 -0
- package/dist/legacy/prism-icu-message-format-js.b01a3652df333f15.js +2 -0
- package/dist/legacy/prism-icu-message-format-js.b01a3652df333f15.js.map +1 -0
- package/dist/legacy/prism-idris-js.4915cbf2aaf1e259.js +2 -0
- package/dist/legacy/prism-idris-js.4915cbf2aaf1e259.js.map +1 -0
- package/dist/legacy/prism-iecst-js.f79f065cbe6d9ff9.js +2 -0
- package/dist/legacy/prism-iecst-js.f79f065cbe6d9ff9.js.map +1 -0
- package/dist/legacy/prism-ignore-js.5fe2f6385139746c.js +2 -0
- package/dist/legacy/prism-ignore-js.5fe2f6385139746c.js.map +1 -0
- package/dist/legacy/prism-inform7-js.4aba19ba0de6fd81.js +2 -0
- package/dist/legacy/prism-inform7-js.4aba19ba0de6fd81.js.map +1 -0
- package/dist/legacy/prism-ini-js.da6b4bd40630e6f0.js +2 -0
- package/dist/legacy/prism-ini-js.da6b4bd40630e6f0.js.map +1 -0
- package/dist/legacy/prism-io-js.e2e5ed7961fe03a2.js +2 -0
- package/dist/legacy/prism-io-js.e2e5ed7961fe03a2.js.map +1 -0
- package/dist/legacy/prism-j-js.f1fa07dada3cfced.js +2 -0
- package/dist/legacy/prism-j-js.f1fa07dada3cfced.js.map +1 -0
- package/dist/legacy/prism-java-js.08e5feb02674c6c7.js +2 -0
- package/dist/legacy/prism-java-js.08e5feb02674c6c7.js.map +1 -0
- package/dist/legacy/prism-javadoc-js.72c60ee45b7040a2.js +2 -0
- package/dist/legacy/prism-javadoc-js.72c60ee45b7040a2.js.map +1 -0
- package/dist/legacy/prism-javadoclike-js.dc334a342b6020dd.js +2 -0
- package/dist/legacy/prism-javadoclike-js.dc334a342b6020dd.js.map +1 -0
- package/dist/legacy/prism-javascript-js.e251785abe437649.js +2 -0
- package/dist/legacy/prism-javascript-js.e251785abe437649.js.map +1 -0
- package/dist/legacy/prism-javastacktrace-js.16d656522cf7e42d.js +2 -0
- package/dist/legacy/prism-javastacktrace-js.16d656522cf7e42d.js.map +1 -0
- package/dist/legacy/prism-jexl-js.bc969a596de4e5af.js +2 -0
- package/dist/legacy/prism-jexl-js.bc969a596de4e5af.js.map +1 -0
- package/dist/legacy/prism-jolie-js.33b7f101d659d811.js +2 -0
- package/dist/legacy/prism-jolie-js.33b7f101d659d811.js.map +1 -0
- package/dist/legacy/prism-jq-js.0ea442fd843ad9f8.js +2 -0
- package/dist/legacy/prism-jq-js.0ea442fd843ad9f8.js.map +1 -0
- package/dist/legacy/prism-js-extras-js.6e073fde2bdf4b3d.js +2 -0
- package/dist/legacy/prism-js-extras-js.6e073fde2bdf4b3d.js.map +1 -0
- package/dist/legacy/prism-js-templates-js.9ef27e25ceedd205.js +2 -0
- package/dist/legacy/prism-js-templates-js.9ef27e25ceedd205.js.map +1 -0
- package/dist/legacy/prism-jsdoc-js.065483e1ad0355e4.js +2 -0
- package/dist/legacy/prism-jsdoc-js.065483e1ad0355e4.js.map +1 -0
- package/dist/legacy/prism-json-js.d0f7c8e494205056.js +2 -0
- package/dist/legacy/prism-json-js.d0f7c8e494205056.js.map +1 -0
- package/dist/legacy/prism-json5-js.7fc8011683fbb461.js +2 -0
- package/dist/legacy/prism-json5-js.7fc8011683fbb461.js.map +1 -0
- package/dist/legacy/prism-jsonp-js.fa6e2ee38cb730e8.js +2 -0
- package/dist/legacy/prism-jsonp-js.fa6e2ee38cb730e8.js.map +1 -0
- package/dist/legacy/prism-jsstacktrace-js.f57174f8d31822dd.js +2 -0
- package/dist/legacy/prism-jsstacktrace-js.f57174f8d31822dd.js.map +1 -0
- package/dist/legacy/prism-jsx-js.94701e2a3b086ae4.js +2 -0
- package/dist/legacy/prism-jsx-js.94701e2a3b086ae4.js.map +1 -0
- package/dist/legacy/prism-julia-js.108bb422cf317785.js +2 -0
- package/dist/legacy/prism-julia-js.108bb422cf317785.js.map +1 -0
- package/dist/legacy/prism-keepalived-js.e3dd9ca0053167fc.js +2 -0
- package/dist/legacy/prism-keepalived-js.e3dd9ca0053167fc.js.map +1 -0
- package/dist/legacy/prism-keyman-js.9cc1e659dba2b684.js +2 -0
- package/dist/legacy/prism-keyman-js.9cc1e659dba2b684.js.map +1 -0
- package/dist/legacy/prism-kotlin-js.6be2ab600d7645f7.js +2 -0
- package/dist/legacy/prism-kotlin-js.6be2ab600d7645f7.js.map +1 -0
- package/dist/legacy/prism-kumir-js.3a9a46af0f9bbf3b.js +2 -0
- package/dist/legacy/prism-kumir-js.3a9a46af0f9bbf3b.js.map +1 -0
- package/dist/legacy/prism-kusto-js.bce9fde2205047d9.js +2 -0
- package/dist/legacy/prism-kusto-js.bce9fde2205047d9.js.map +1 -0
- package/dist/legacy/prism-latex-js.d3fa74bc54ac219d.js +2 -0
- package/dist/legacy/prism-latex-js.d3fa74bc54ac219d.js.map +1 -0
- package/dist/legacy/prism-latte-js.bf6c471a6748937b.js +2 -0
- package/dist/legacy/prism-latte-js.bf6c471a6748937b.js.map +1 -0
- package/dist/legacy/prism-less-js.59746649c545800f.js +2 -0
- package/dist/legacy/prism-less-js.59746649c545800f.js.map +1 -0
- package/dist/legacy/prism-lilypond-js.3d69618fe9236e25.js +2 -0
- package/dist/legacy/prism-lilypond-js.3d69618fe9236e25.js.map +1 -0
- package/dist/legacy/prism-linker-script-js.d90196ac2f9aab45.js +2 -0
- package/dist/legacy/prism-linker-script-js.d90196ac2f9aab45.js.map +1 -0
- package/dist/legacy/prism-liquid-js.40e5a33158a20784.js +2 -0
- package/dist/legacy/prism-liquid-js.40e5a33158a20784.js.map +1 -0
- package/dist/legacy/prism-lisp-js.5d696adcdb25a133.js +2 -0
- package/dist/legacy/prism-lisp-js.5d696adcdb25a133.js.map +1 -0
- package/dist/legacy/prism-livescript-js.c5706c6b0607bd28.js +2 -0
- package/dist/legacy/prism-livescript-js.c5706c6b0607bd28.js.map +1 -0
- package/dist/legacy/prism-llvm-js.0903041f8dacb466.js +2 -0
- package/dist/legacy/prism-llvm-js.0903041f8dacb466.js.map +1 -0
- package/dist/legacy/prism-log-js.86b7ed6d3a0b2391.js +2 -0
- package/dist/legacy/prism-log-js.86b7ed6d3a0b2391.js.map +1 -0
- package/dist/legacy/prism-lolcode-js.447f1ee4d1b435f9.js +2 -0
- package/dist/legacy/prism-lolcode-js.447f1ee4d1b435f9.js.map +1 -0
- package/dist/legacy/prism-lua-js.031d6195024ea2fc.js +2 -0
- package/dist/legacy/prism-lua-js.031d6195024ea2fc.js.map +1 -0
- package/dist/legacy/prism-magma-js.ee053c202ca13c2f.js +2 -0
- package/dist/legacy/prism-magma-js.ee053c202ca13c2f.js.map +1 -0
- package/dist/legacy/prism-makefile-js.292c33b60f02ed0f.js +2 -0
- package/dist/legacy/prism-makefile-js.292c33b60f02ed0f.js.map +1 -0
- package/dist/legacy/prism-markdown-js.fe293c4ea58aa269.js +2 -0
- package/dist/legacy/prism-markdown-js.fe293c4ea58aa269.js.map +1 -0
- package/dist/legacy/prism-markup-js.4d87bbbbd6964c38.js +2 -0
- package/dist/legacy/prism-markup-js.4d87bbbbd6964c38.js.map +1 -0
- package/dist/legacy/prism-markup-templating-js.00588db99852e988.js +2 -0
- package/dist/legacy/prism-markup-templating-js.00588db99852e988.js.map +1 -0
- package/dist/legacy/prism-mata-js.ad16bd5d47e92730.js +2 -0
- package/dist/legacy/prism-mata-js.ad16bd5d47e92730.js.map +1 -0
- package/dist/legacy/prism-matlab-js.6386bc7bad3554e5.js +2 -0
- package/dist/legacy/prism-matlab-js.6386bc7bad3554e5.js.map +1 -0
- package/dist/legacy/prism-maxscript-js.1b388abdfef0caeb.js +2 -0
- package/dist/legacy/prism-maxscript-js.1b388abdfef0caeb.js.map +1 -0
- package/dist/legacy/prism-mel-js.91bee55a86c1aa4f.js +2 -0
- package/dist/legacy/prism-mel-js.91bee55a86c1aa4f.js.map +1 -0
- package/dist/legacy/prism-mermaid-js.d06ecf7cfa667b31.js +2 -0
- package/dist/legacy/prism-mermaid-js.d06ecf7cfa667b31.js.map +1 -0
- package/dist/legacy/prism-metafont-js.a8f425d4080ffc79.js +2 -0
- package/dist/legacy/prism-metafont-js.a8f425d4080ffc79.js.map +1 -0
- package/dist/legacy/prism-mizar-js.2aeac7e8424f0509.js +2 -0
- package/dist/legacy/prism-mizar-js.2aeac7e8424f0509.js.map +1 -0
- package/dist/legacy/prism-mongodb-js.63eadb7c58929e0e.js +2 -0
- package/dist/legacy/prism-mongodb-js.63eadb7c58929e0e.js.map +1 -0
- package/dist/legacy/prism-monkey-js.3921ae4f5c0d0ed6.js +2 -0
- package/dist/legacy/prism-monkey-js.3921ae4f5c0d0ed6.js.map +1 -0
- package/dist/legacy/prism-moonscript-js.be4625776a3ca854.js +2 -0
- package/dist/legacy/prism-moonscript-js.be4625776a3ca854.js.map +1 -0
- package/dist/legacy/prism-n1ql-js.fa039f03ad55a259.js +2 -0
- package/dist/legacy/prism-n1ql-js.fa039f03ad55a259.js.map +1 -0
- package/dist/legacy/prism-n4js-js.239f7d8cb54eea69.js +2 -0
- package/dist/legacy/prism-n4js-js.239f7d8cb54eea69.js.map +1 -0
- package/dist/legacy/prism-nand2tetris-hdl-js.c00937e376f9b93d.js +2 -0
- package/dist/legacy/prism-nand2tetris-hdl-js.c00937e376f9b93d.js.map +1 -0
- package/dist/legacy/prism-naniscript-js.9556979b26b23f5c.js +2 -0
- package/dist/legacy/prism-naniscript-js.9556979b26b23f5c.js.map +1 -0
- package/dist/legacy/prism-nasm-js.5da6706a1ab651cd.js +2 -0
- package/dist/legacy/prism-nasm-js.5da6706a1ab651cd.js.map +1 -0
- package/dist/legacy/prism-neon-js.1b90e020131bf772.js +2 -0
- package/dist/legacy/prism-neon-js.1b90e020131bf772.js.map +1 -0
- package/dist/legacy/prism-nevod-js.6a70026ac9b42da8.js +2 -0
- package/dist/legacy/prism-nevod-js.6a70026ac9b42da8.js.map +1 -0
- package/dist/legacy/prism-nginx-js.0484ee4caa040484.js +2 -0
- package/dist/legacy/prism-nginx-js.0484ee4caa040484.js.map +1 -0
- package/dist/legacy/prism-nim-js.611fccfe4aba6d6e.js +2 -0
- package/dist/legacy/prism-nim-js.611fccfe4aba6d6e.js.map +1 -0
- package/dist/legacy/prism-nix-js.febdcdd61c71f619.js +2 -0
- package/dist/legacy/prism-nix-js.febdcdd61c71f619.js.map +1 -0
- package/dist/legacy/prism-nsis-js.3e5496e056e9db9a.js +2 -0
- package/dist/legacy/prism-nsis-js.3e5496e056e9db9a.js.map +1 -0
- package/dist/legacy/prism-objectivec-js.180434ce6054548c.js +2 -0
- package/dist/legacy/prism-objectivec-js.180434ce6054548c.js.map +1 -0
- package/dist/legacy/prism-ocaml-js.bf9dcf57f9a29a39.js +2 -0
- package/dist/legacy/prism-ocaml-js.bf9dcf57f9a29a39.js.map +1 -0
- package/dist/legacy/prism-odin-js.7b721e3d1b684659.js +2 -0
- package/dist/legacy/prism-odin-js.7b721e3d1b684659.js.map +1 -0
- package/dist/legacy/prism-opencl-js.13b4b9d4f4f39118.js +2 -0
- package/dist/legacy/prism-opencl-js.13b4b9d4f4f39118.js.map +1 -0
- package/dist/legacy/prism-openqasm-js.a4832007c207bb7c.js +2 -0
- package/dist/legacy/prism-openqasm-js.a4832007c207bb7c.js.map +1 -0
- package/dist/legacy/prism-oz-js.a68b61457999f162.js +2 -0
- package/dist/legacy/prism-oz-js.a68b61457999f162.js.map +1 -0
- package/dist/legacy/prism-parigp-js.813837fb2cb3848e.js +2 -0
- package/dist/legacy/prism-parigp-js.813837fb2cb3848e.js.map +1 -0
- package/dist/legacy/prism-parser-js.d861ed26358be268.js +2 -0
- package/dist/legacy/prism-parser-js.d861ed26358be268.js.map +1 -0
- package/dist/legacy/prism-pascal-js.b8a48e4dc166fbbd.js +2 -0
- package/dist/legacy/prism-pascal-js.b8a48e4dc166fbbd.js.map +1 -0
- package/dist/legacy/prism-pascaligo-js.5e8c26d142440a80.js +2 -0
- package/dist/legacy/prism-pascaligo-js.5e8c26d142440a80.js.map +1 -0
- package/dist/legacy/prism-pcaxis-js.7a9e5ead89f56c03.js +2 -0
- package/dist/legacy/prism-pcaxis-js.7a9e5ead89f56c03.js.map +1 -0
- package/dist/legacy/prism-peoplecode-js.5613e8087b187bf6.js +2 -0
- package/dist/legacy/prism-peoplecode-js.5613e8087b187bf6.js.map +1 -0
- package/dist/legacy/prism-perl-js.1e17cfcc71265946.js +2 -0
- package/dist/legacy/prism-perl-js.1e17cfcc71265946.js.map +1 -0
- package/dist/legacy/prism-php-extras-js.06a2919dbe250e23.js +2 -0
- package/dist/legacy/prism-php-extras-js.06a2919dbe250e23.js.map +1 -0
- package/dist/legacy/prism-php-js.435cbf9498304998.js +2 -0
- package/dist/legacy/prism-php-js.435cbf9498304998.js.map +1 -0
- package/dist/legacy/prism-phpdoc-js.0794353f2fa78e23.js +2 -0
- package/dist/legacy/prism-phpdoc-js.0794353f2fa78e23.js.map +1 -0
- package/dist/legacy/prism-plant-uml-js.999f416e6ceae53d.js +2 -0
- package/dist/legacy/prism-plant-uml-js.999f416e6ceae53d.js.map +1 -0
- package/dist/legacy/prism-plsql-js.aca761297c65e09a.js +2 -0
- package/dist/legacy/prism-plsql-js.aca761297c65e09a.js.map +1 -0
- package/dist/legacy/prism-powerquery-js.5b2d5110420b095b.js +2 -0
- package/dist/legacy/prism-powerquery-js.5b2d5110420b095b.js.map +1 -0
- package/dist/legacy/prism-powershell-js.af32ca6d68ccf4c1.js +2 -0
- package/dist/legacy/prism-powershell-js.af32ca6d68ccf4c1.js.map +1 -0
- package/dist/legacy/prism-processing-js.7bc908bca60ac6e1.js +2 -0
- package/dist/legacy/prism-processing-js.7bc908bca60ac6e1.js.map +1 -0
- package/dist/legacy/prism-prolog-js.5ad7f0b82b6ec36a.js +2 -0
- package/dist/legacy/prism-prolog-js.5ad7f0b82b6ec36a.js.map +1 -0
- package/dist/legacy/prism-promql-js.e16a0c7364962916.js +2 -0
- package/dist/legacy/prism-promql-js.e16a0c7364962916.js.map +1 -0
- package/dist/legacy/prism-properties-js.bf2cc84f3aeb4e8f.js +2 -0
- package/dist/legacy/prism-properties-js.bf2cc84f3aeb4e8f.js.map +1 -0
- package/dist/legacy/prism-protobuf-js.d177d74142093b0e.js +2 -0
- package/dist/legacy/prism-protobuf-js.d177d74142093b0e.js.map +1 -0
- package/dist/legacy/prism-psl-js.e75925a939552751.js +2 -0
- package/dist/legacy/prism-psl-js.e75925a939552751.js.map +1 -0
- package/dist/legacy/prism-pug-js.49daa74b017e9fb1.js +2 -0
- package/dist/legacy/prism-pug-js.49daa74b017e9fb1.js.map +1 -0
- package/dist/legacy/prism-puppet-js.3fe0723b1b9458f2.js +2 -0
- package/dist/legacy/prism-puppet-js.3fe0723b1b9458f2.js.map +1 -0
- package/dist/legacy/prism-pure-js.2b4a82c560030738.js +2 -0
- package/dist/legacy/prism-pure-js.2b4a82c560030738.js.map +1 -0
- package/dist/legacy/prism-purebasic-js.191dd1fdc0b7cf0d.js +2 -0
- package/dist/legacy/prism-purebasic-js.191dd1fdc0b7cf0d.js.map +1 -0
- package/dist/legacy/prism-purescript-js.4624ef7517ad0ff1.js +2 -0
- package/dist/legacy/prism-purescript-js.4624ef7517ad0ff1.js.map +1 -0
- package/dist/legacy/prism-python-js.cb4d1a9e182afe18.js +2 -0
- package/dist/legacy/prism-python-js.cb4d1a9e182afe18.js.map +1 -0
- package/dist/legacy/prism-q-js.6359c5df0b96916f.js +2 -0
- package/dist/legacy/prism-q-js.6359c5df0b96916f.js.map +1 -0
- package/dist/legacy/prism-qml-js.8e38cd7d47f9eab5.js +2 -0
- package/dist/legacy/prism-qml-js.8e38cd7d47f9eab5.js.map +1 -0
- package/dist/legacy/prism-qore-js.5043bbcf57664121.js +2 -0
- package/dist/legacy/prism-qore-js.5043bbcf57664121.js.map +1 -0
- package/dist/legacy/prism-qsharp-js.a5ded5acb97a3974.js +2 -0
- package/dist/legacy/prism-qsharp-js.a5ded5acb97a3974.js.map +1 -0
- package/dist/legacy/prism-r-js.fe1da844a241a794.js +2 -0
- package/dist/legacy/prism-r-js.fe1da844a241a794.js.map +1 -0
- package/dist/legacy/prism-racket-js.243127a0136a1fd9.js +2 -0
- package/dist/legacy/prism-racket-js.243127a0136a1fd9.js.map +1 -0
- package/dist/legacy/prism-reason-js.ba13a72b96d8a9ac.js +2 -0
- package/dist/legacy/prism-reason-js.ba13a72b96d8a9ac.js.map +1 -0
- package/dist/legacy/prism-regex-js.c2195d9813a4be7e.js +2 -0
- package/dist/legacy/prism-regex-js.c2195d9813a4be7e.js.map +1 -0
- package/dist/legacy/prism-rego-js.ab4439321e07a8b6.js +2 -0
- package/dist/legacy/prism-rego-js.ab4439321e07a8b6.js.map +1 -0
- package/dist/legacy/prism-renpy-js.de68844599cc121a.js +2 -0
- package/dist/legacy/prism-renpy-js.de68844599cc121a.js.map +1 -0
- package/dist/legacy/prism-rescript-js.ca7c3bbe14e44230.js +2 -0
- package/dist/legacy/prism-rescript-js.ca7c3bbe14e44230.js.map +1 -0
- package/dist/legacy/prism-rest-js.e022765b3961a314.js +2 -0
- package/dist/legacy/prism-rest-js.e022765b3961a314.js.map +1 -0
- package/dist/legacy/prism-rip-js.0011c4887214795c.js +2 -0
- package/dist/legacy/prism-rip-js.0011c4887214795c.js.map +1 -0
- package/dist/legacy/prism-roboconf-js.9e0752108cad4d38.js +2 -0
- package/dist/legacy/prism-roboconf-js.9e0752108cad4d38.js.map +1 -0
- package/dist/legacy/prism-robotframework-js.5c1aba48dfdd6dd4.js +2 -0
- package/dist/legacy/prism-robotframework-js.5c1aba48dfdd6dd4.js.map +1 -0
- package/dist/legacy/prism-ruby-js.a2c474dae8a08d60.js +2 -0
- package/dist/legacy/prism-ruby-js.a2c474dae8a08d60.js.map +1 -0
- package/dist/legacy/prism-rust-js.ed4811231e33b6cf.js +2 -0
- package/dist/legacy/prism-rust-js.ed4811231e33b6cf.js.map +1 -0
- package/dist/legacy/prism-sas-js.1aec60cb4e1938db.js +2 -0
- package/dist/legacy/prism-sas-js.1aec60cb4e1938db.js.map +1 -0
- package/dist/legacy/prism-sass-js.8339b4a50eaab48c.js +2 -0
- package/dist/legacy/prism-sass-js.8339b4a50eaab48c.js.map +1 -0
- package/dist/legacy/prism-scala-js.2525c75befe236d7.js +2 -0
- package/dist/legacy/prism-scala-js.2525c75befe236d7.js.map +1 -0
- package/dist/legacy/prism-scheme-js.050b4b78e73e1679.js +2 -0
- package/dist/legacy/prism-scheme-js.050b4b78e73e1679.js.map +1 -0
- package/dist/legacy/prism-scss-js.1b71fbe5fd69036f.js +2 -0
- package/dist/legacy/prism-scss-js.1b71fbe5fd69036f.js.map +1 -0
- package/dist/legacy/prism-shell-session-js.cd8729fa376bfe4e.js +2 -0
- package/dist/legacy/prism-shell-session-js.cd8729fa376bfe4e.js.map +1 -0
- package/dist/legacy/prism-smali-js.1b6a3ec1244c8798.js +2 -0
- package/dist/legacy/prism-smali-js.1b6a3ec1244c8798.js.map +1 -0
- package/dist/legacy/prism-smalltalk-js.2d66de6e678a8c58.js +2 -0
- package/dist/legacy/prism-smalltalk-js.2d66de6e678a8c58.js.map +1 -0
- package/dist/legacy/prism-smarty-js.22878628b09727a7.js +2 -0
- package/dist/legacy/prism-smarty-js.22878628b09727a7.js.map +1 -0
- package/dist/legacy/prism-sml-js.c45681f2a0119b23.js +2 -0
- package/dist/legacy/prism-sml-js.c45681f2a0119b23.js.map +1 -0
- package/dist/legacy/prism-solidity-js.3eeccdf62d5596f1.js +2 -0
- package/dist/legacy/prism-solidity-js.3eeccdf62d5596f1.js.map +1 -0
- package/dist/legacy/prism-solution-file-js.428513372476e1ae.js +2 -0
- package/dist/legacy/prism-solution-file-js.428513372476e1ae.js.map +1 -0
- package/dist/legacy/prism-soy-js.f55903a765bf57a6.js +2 -0
- package/dist/legacy/prism-soy-js.f55903a765bf57a6.js.map +1 -0
- package/dist/legacy/prism-sparql-js.292f19bc602daf23.js +2 -0
- package/dist/legacy/prism-sparql-js.292f19bc602daf23.js.map +1 -0
- package/dist/legacy/prism-splunk-spl-js.1c70acbce581a142.js +2 -0
- package/dist/legacy/prism-splunk-spl-js.1c70acbce581a142.js.map +1 -0
- package/dist/legacy/prism-sqf-js.0365a3c1eb183c31.js +2 -0
- package/dist/legacy/prism-sqf-js.0365a3c1eb183c31.js.map +1 -0
- package/dist/legacy/prism-sql-js.aa988143d04c1024.js +2 -0
- package/dist/legacy/prism-sql-js.aa988143d04c1024.js.map +1 -0
- package/dist/legacy/prism-squirrel-js.6c0c312007ff7d21.js +2 -0
- package/dist/legacy/prism-squirrel-js.6c0c312007ff7d21.js.map +1 -0
- package/dist/legacy/prism-stan-js.42724899cfc2140e.js +2 -0
- package/dist/legacy/prism-stan-js.42724899cfc2140e.js.map +1 -0
- package/dist/legacy/prism-stata-js.23c79f03dc46757d.js +2 -0
- package/dist/legacy/prism-stata-js.23c79f03dc46757d.js.map +1 -0
- package/dist/legacy/prism-stylus-js.7c5fa156d5625740.js +2 -0
- package/dist/legacy/prism-stylus-js.7c5fa156d5625740.js.map +1 -0
- package/dist/legacy/prism-supercollider-js.c7ec7a57826b2d98.js +2 -0
- package/dist/legacy/prism-supercollider-js.c7ec7a57826b2d98.js.map +1 -0
- package/dist/legacy/prism-svelte.8808b28328514feb.js +2 -0
- package/dist/legacy/prism-svelte.8808b28328514feb.js.map +1 -0
- package/dist/legacy/prism-swift-js.9438b2e277552dae.js +2 -0
- package/dist/legacy/prism-swift-js.9438b2e277552dae.js.map +1 -0
- package/dist/legacy/prism-systemd-js.258be7845a3c6b87.js +2 -0
- package/dist/legacy/prism-systemd-js.258be7845a3c6b87.js.map +1 -0
- package/dist/legacy/prism-t4-cs-js.4b0d6520fc183e47.js +2 -0
- package/dist/legacy/prism-t4-cs-js.4b0d6520fc183e47.js.map +1 -0
- package/dist/legacy/prism-t4-templating-js.3a0120f84562367e.js +2 -0
- package/dist/legacy/prism-t4-templating-js.3a0120f84562367e.js.map +1 -0
- package/dist/legacy/prism-t4-vb-js.115a843f0c461599.js +2 -0
- package/dist/legacy/prism-t4-vb-js.115a843f0c461599.js.map +1 -0
- package/dist/legacy/prism-tap-js.4c1975d902bab61d.js +2 -0
- package/dist/legacy/prism-tap-js.4c1975d902bab61d.js.map +1 -0
- package/dist/legacy/prism-tcl-js.8855327658953e16.js +2 -0
- package/dist/legacy/prism-tcl-js.8855327658953e16.js.map +1 -0
- package/dist/legacy/prism-textile-js.700df6ff64f48377.js +2 -0
- package/dist/legacy/prism-textile-js.700df6ff64f48377.js.map +1 -0
- package/dist/legacy/prism-toml-js.98228f10959d0f23.js +2 -0
- package/dist/legacy/prism-toml-js.98228f10959d0f23.js.map +1 -0
- package/dist/legacy/prism-tremor-js.8242dc6874b6fe4e.js +2 -0
- package/dist/legacy/prism-tremor-js.8242dc6874b6fe4e.js.map +1 -0
- package/dist/legacy/prism-tsx-js.f3c5b6688d9b9dc8.js +2 -0
- package/dist/legacy/prism-tsx-js.f3c5b6688d9b9dc8.js.map +1 -0
- package/dist/legacy/prism-tt2-js.0982ae48a7fd1e94.js +2 -0
- package/dist/legacy/prism-tt2-js.0982ae48a7fd1e94.js.map +1 -0
- package/dist/legacy/prism-turtle-js.b7bd655eedca7dcb.js +2 -0
- package/dist/legacy/prism-turtle-js.b7bd655eedca7dcb.js.map +1 -0
- package/dist/legacy/prism-twig-js.abf10c80fd25a0c7.js +2 -0
- package/dist/legacy/prism-twig-js.abf10c80fd25a0c7.js.map +1 -0
- package/dist/legacy/prism-typescript-js.8fb7a00ddf043946.js +2 -0
- package/dist/legacy/prism-typescript-js.8fb7a00ddf043946.js.map +1 -0
- package/dist/legacy/prism-typoscript-js.2d48ecd06922462e.js +2 -0
- package/dist/legacy/prism-typoscript-js.2d48ecd06922462e.js.map +1 -0
- package/dist/legacy/prism-unrealscript-js.39d4931dd098c82d.js +2 -0
- package/dist/legacy/prism-unrealscript-js.39d4931dd098c82d.js.map +1 -0
- package/dist/legacy/prism-uorazor-js.fd424c571a35c871.js +2 -0
- package/dist/legacy/prism-uorazor-js.fd424c571a35c871.js.map +1 -0
- package/dist/legacy/prism-uri-js.4e41435c4882e91c.js +2 -0
- package/dist/legacy/prism-uri-js.4e41435c4882e91c.js.map +1 -0
- package/dist/legacy/prism-v-js.653f893549574093.js +2 -0
- package/dist/legacy/prism-v-js.653f893549574093.js.map +1 -0
- package/dist/legacy/prism-vala-js.ba6d34d3c03151c6.js +2 -0
- package/dist/legacy/prism-vala-js.ba6d34d3c03151c6.js.map +1 -0
- package/dist/legacy/prism-vbnet-js.9f7cc80e2039017b.js +2 -0
- package/dist/legacy/prism-vbnet-js.9f7cc80e2039017b.js.map +1 -0
- package/dist/legacy/prism-velocity-js.78a5d47cfa1b2067.js +2 -0
- package/dist/legacy/prism-velocity-js.78a5d47cfa1b2067.js.map +1 -0
- package/dist/legacy/prism-verilog-js.d3f4c602d10aa668.js +2 -0
- package/dist/legacy/prism-verilog-js.d3f4c602d10aa668.js.map +1 -0
- package/dist/legacy/prism-vhdl-js.7bae14df05100493.js +2 -0
- package/dist/legacy/prism-vhdl-js.7bae14df05100493.js.map +1 -0
- package/dist/legacy/prism-vim-js.afbf3d103ca3f5c0.js +2 -0
- package/dist/legacy/prism-vim-js.afbf3d103ca3f5c0.js.map +1 -0
- package/dist/legacy/prism-visual-basic-js.48c86a976af34438.js +2 -0
- package/dist/legacy/prism-visual-basic-js.48c86a976af34438.js.map +1 -0
- package/dist/legacy/prism-warpscript-js.83f5e3804e80ef7d.js +2 -0
- package/dist/legacy/prism-warpscript-js.83f5e3804e80ef7d.js.map +1 -0
- package/dist/legacy/prism-wasm-js.40271b6ae29ccd13.js +2 -0
- package/dist/legacy/prism-wasm-js.40271b6ae29ccd13.js.map +1 -0
- package/dist/legacy/prism-web-idl-js.b70282f60143864d.js +2 -0
- package/dist/legacy/prism-web-idl-js.b70282f60143864d.js.map +1 -0
- package/dist/legacy/prism-wgsl-js.0f5f116222c70afc.js +2 -0
- package/dist/legacy/prism-wgsl-js.0f5f116222c70afc.js.map +1 -0
- package/dist/legacy/prism-wiki-js.23f96b369fed4c95.js +2 -0
- package/dist/legacy/prism-wiki-js.23f96b369fed4c95.js.map +1 -0
- package/dist/legacy/prism-wolfram-js.a1095f8e8711bab2.js +2 -0
- package/dist/legacy/prism-wolfram-js.a1095f8e8711bab2.js.map +1 -0
- package/dist/legacy/prism-wren-js.e6cfd49e178839f2.js +2 -0
- package/dist/legacy/prism-wren-js.e6cfd49e178839f2.js.map +1 -0
- package/dist/legacy/prism-xeora-js.391d93969f67a5ef.js +2 -0
- package/dist/legacy/prism-xeora-js.391d93969f67a5ef.js.map +1 -0
- package/dist/legacy/prism-xml-doc-js.7dd1eae5e2959c66.js +2 -0
- package/dist/legacy/prism-xml-doc-js.7dd1eae5e2959c66.js.map +1 -0
- package/dist/legacy/prism-xojo-js.7788e3f350026b0e.js +2 -0
- package/dist/legacy/prism-xojo-js.7788e3f350026b0e.js.map +1 -0
- package/dist/legacy/prism-xquery-js.0f78f65669a0036c.js +2 -0
- package/dist/legacy/prism-xquery-js.0f78f65669a0036c.js.map +1 -0
- package/dist/legacy/prism-yaml-js.aa9c12071c87375e.js +2 -0
- package/dist/legacy/prism-yaml-js.aa9c12071c87375e.js.map +1 -0
- package/dist/legacy/prism-yang-js.47db12e4f855f35b.js +2 -0
- package/dist/legacy/prism-yang-js.47db12e4f855f35b.js.map +1 -0
- package/dist/legacy/prism-zig-js.e8f80dce8ef78edb.js +2 -0
- package/dist/legacy/prism-zig-js.e8f80dce8ef78edb.js.map +1 -0
- package/dist/legacy/progress-check.04aea576a79527bc.svg +1 -0
- package/dist/legacy/progress-helper.6955282169495707.svg +1 -0
- package/dist/legacy/question-mark.423ba48d7301b007.svg +1 -0
- package/dist/legacy/queue.87b15609b41689ef.svg +3 -0
- package/dist/legacy/queued.14bb12453dfaadb3.svg +3 -0
- package/dist/legacy/quote.3ae06798cc589899.svg +3 -0
- package/dist/legacy/return.3934eafaaf18c979.svg +10 -0
- package/dist/legacy/safari.914bc957b75d733e.svg +1 -0
- package/dist/legacy/samsunginternet.6d98cb78e846f96b.svg +1 -0
- package/dist/legacy/scrim-bg.27f047d7e991dbe9.png +0 -0
- package/dist/legacy/scrim-hexagons.e59318adb5550050.svg +1 -0
- package/dist/legacy/scrimba-logo.0c5b5b4efd2b23dc.svg +1 -0
- package/dist/legacy/search.1a354d71e7a983d3.svg +4 -0
- package/dist/legacy/send.97ab75f4a3d4d2ea.svg +1 -0
- package/dist/legacy/server.482d6fe933e698c8.svg +1 -0
- package/dist/legacy/sidebar-filled.473e64fc5706119d.svg +9 -0
- package/dist/legacy/sidebar.f5c855c1f43aea2c.svg +6 -0
- package/dist/legacy/simple-firefox.a8097d7ed48625a7.svg +3 -0
- package/dist/legacy/small-arrow.7688fc1262388c91.svg +3 -0
- package/dist/legacy/star-filled.c9db99aeb16b1913.svg +10 -0
- package/dist/legacy/star.ad1e866563e32428.svg +10 -0
- package/dist/legacy/stats.json +56 -0
- package/dist/legacy/theme-dark.c4ed806b135c790e.svg +3 -0
- package/dist/legacy/theme-light.cf31f079f9e6e27c.svg +3 -0
- package/dist/legacy/theme-os-default.935f36dac65cabef.svg +10 -0
- package/dist/legacy/thumbs-down.6a5c08eb98ba1cad.svg +2 -0
- package/dist/legacy/thumbs-up.74cfbf8161e315db.svg +1 -0
- package/dist/legacy/trash-filled.08d1d96014b1fc95.svg +1 -0
- package/dist/legacy/trash.7f3db910c0f027df.svg +16 -0
- package/dist/legacy/twitter-x.35b91a4e4b88a724.svg +1 -0
- package/dist/legacy/unknown.48fb1303fdffa5de.svg +3 -0
- package/dist/legacy/updates.d204012185fe24de.png +0 -0
- package/dist/legacy/warning.9b94fc66d43115ba.svg +5 -0
- package/dist/legacy/webview.3abdc5c7966181b2.svg +1 -0
- package/dist/legacy/yes-circle.ba7d3389a6ed23f8.svg +1 -0
- package/dist/legacy/yes.39b8ee80cd467e41.svg +3 -0
- package/dist/ssr/1060.js +23 -0
- package/dist/ssr/1060.js.map +1 -0
- package/dist/ssr/1485.js +2 -0
- package/dist/ssr/1485.js.map +1 -0
- package/dist/ssr/4876.js +3 -0
- package/dist/ssr/4876.js.LICENSE.txt +8 -0
- package/dist/ssr/4876.js.map +1 -0
- package/dist/ssr/7194.js +2 -0
- package/dist/ssr/7194.js.map +1 -0
- package/dist/ssr/7293.js +35 -0
- package/dist/ssr/7293.js.map +1 -0
- package/dist/ssr/7378.js +37 -0
- package/dist/ssr/7378.js.map +1 -0
- package/dist/ssr/9291.js +55 -0
- package/dist/ssr/9291.js.map +1 -0
- package/dist/ssr/9551.js +16 -0
- package/dist/ssr/9551.js.map +1 -0
- package/dist/ssr/access-notifications-from-main-menu.1b0f0cd14d3c711d.png +0 -0
- package/dist/ssr/asterisk.70f89e1fc672d4c5.svg +1 -0
- package/dist/ssr/bulk-unwatch-dashboard.53f579fc043a7d90.png +0 -0
- package/dist/ssr/cancel.7362f2cdf3515e0d.svg +1 -0
- package/dist/ssr/check.0440cf8a72ac2317.svg +1 -0
- package/dist/ssr/chrome.63fe87abc1b86c49.svg +1 -0
- package/dist/ssr/circle-check.205f48f66c3c9d17.svg +1 -0
- package/dist/ssr/circle-help.574fc498f309634e.svg +1 -0
- package/dist/ssr/circle-slash.c109868d4bdda8e2.svg +1 -0
- package/dist/ssr/circle-x.4b1c3fa0511867e7.svg +1 -0
- package/dist/ssr/circle.5525ef23679c14ac.svg +1 -0
- package/dist/ssr/code-examples-playground.7c32a6b83f856b18.png +0 -0
- package/dist/ssr/code-examples-queue.2760d2a13b8a2318.png +0 -0
- package/dist/ssr/cog.f23af856fab34421.svg +1 -0
- package/dist/ssr/collections-dashboard.961b220409b61214.png +0 -0
- package/dist/ssr/collections.dce99f9cb47616b0.png +0 -0
- package/dist/ssr/contrast.d86e85c43de8dee8.svg +1 -0
- package/dist/ssr/curriculum-partner-banner-illustration-large-dark.8a93f1a81b8e7486.svg +1 -0
- package/dist/ssr/curriculum-partner-banner-illustration-large-light.be191e3b1b4cbd8c.svg +1 -0
- package/dist/ssr/deno.aed70d20abbf1067.svg +1 -0
- package/dist/ssr/desktop-collections-dashboard-delete.89fa6e8e94365a8f.png +0 -0
- package/dist/ssr/desktop-collections-delete-fva.8bb2b88655b7f100.png +0 -0
- package/dist/ssr/desktop-collections-edit-dialog-add-note.af202756b9cc4dae.png +0 -0
- package/dist/ssr/desktop-collections-edit-dialog.4e8c3dd0d44a3ad5.png +0 -0
- package/dist/ssr/desktop-collections-edit-menu.9cd5d9f1cf605c1e.png +0 -0
- package/dist/ssr/desktop-collections-filter.f8f158f95acba38c.png +0 -0
- package/dist/ssr/desktop-collections-fva.defa5d202b2a4278.png +0 -0
- package/dist/ssr/desktop-collections-sort.8bc4c7d9cf61b886.png +0 -0
- package/dist/ssr/desktop-collections-three-dot-menu.d249007e01bd16d2.png +0 -0
- package/dist/ssr/desktop-collections-undo.d9d58e64c11234a0.png +0 -0
- package/dist/ssr/desktop-collections-user-menu.80a59ca711dd3389.png +0 -0
- package/dist/ssr/desktop-offline-clear-data.c09fc9bdc06a57cc.png +0 -0
- package/dist/ssr/desktop-offline-enable-auto-update.468a819e6c0aa8eb.png +0 -0
- package/dist/ssr/desktop-offline-enable-offline.146a06199a10f9bd.png +0 -0
- package/dist/ssr/desktop-offline-manual-update.7afa788a6b9d79e1.png +0 -0
- package/dist/ssr/desktop-offline-user-menu.3dcb4eed9c4a236c.png +0 -0
- package/dist/ssr/desktop-page-add-note.9de893065c92946b.png +0 -0
- package/dist/ssr/desktop-page-dialog-save.7de24408268b1dbb.png +0 -0
- package/dist/ssr/desktop-page-open-dialog.e7ee17c4f82474ee.png +0 -0
- package/dist/ssr/desktop-remove-saved-delete.2f236a48585aed27.png +0 -0
- package/dist/ssr/desktop-remove-saved.d734c0d42d66522b.png +0 -0
- package/dist/ssr/desktop-saving-page.bbb8eedefb3e848f.png +0 -0
- package/dist/ssr/edge.29d1f7df37cf6b7b.svg +1 -0
- package/dist/ssr/ellipsis.a923666a0f31b0e6.svg +1 -0
- package/dist/ssr/example-question-answering.3a6abf03d60c1900.png +0 -0
- package/dist/ssr/example-question-editing.d0a77e1a7e21b7c0.png +0 -0
- package/dist/ssr/external-link.4f3a2dc8e402cae5.svg +1 -0
- package/dist/ssr/firefox.be3910badc184355.svg +1 -0
- package/dist/ssr/flag.a3ec9d1b88184452.svg +1 -0
- package/dist/ssr/flask-conical.c16b3d71f14f31d1.svg +1 -0
- package/dist/ssr/fullscreen-enter.452bcbaed6904ec7.svg +1 -0
- package/dist/ssr/git-fork.97e5d1d4d29677cf.svg +1 -0
- package/dist/ssr/history-banner.19750769dba22bf2.png +0 -0
- package/dist/ssr/history-settings.c4ba80ec2e2828e1.png +0 -0
- package/dist/ssr/index.d.ts +1 -0
- package/dist/ssr/index.js +4466 -0
- package/dist/ssr/index.js.LICENSE.txt +45 -0
- package/dist/ssr/index.js.map +1 -0
- package/dist/ssr/info.d40b80f84482feba.svg +1 -0
- package/dist/ssr/issue-template.599206f493bfe0c0.png +0 -0
- package/dist/ssr/landing-scrim.bab0746da9622c1c.png +0 -0
- package/dist/ssr/languages.dcba936080e5be86.svg +1 -0
- package/dist/ssr/lightbulb.f54f9e803373ffd2.svg +1 -0
- package/dist/ssr/lock.4befe79c52ccec2a.svg +1 -0
- package/dist/ssr/login-signup.b9636d86edc7339c.png +0 -0
- package/dist/ssr/mdn-prefix.42c58fad0d3fc035.svg +1 -0
- package/dist/ssr/mdn_contributor.9e2a105f50828d5a.png +0 -0
- package/dist/ssr/mobile-add-note.4079b8dbc761053b.png +0 -0
- package/dist/ssr/mobile-burger-menu.47a3b543b1ae5791.png +0 -0
- package/dist/ssr/mobile-collections-dashboard-delete-entry.96676397f489ca42.png +0 -0
- package/dist/ssr/mobile-collections-dashboard-edit-entry.a33fc6d7fe02231a.png +0 -0
- package/dist/ssr/mobile-collections-dashboard-edit.f9425801f0496a6a.png +0 -0
- package/dist/ssr/mobile-collections-dashboard-three-dots.f49e9b83f634f4dd.png +0 -0
- package/dist/ssr/mobile-collections-dashboard.05a7c83149eed921.png +0 -0
- package/dist/ssr/mobile-collections-delete-entry.c31ac061bcee0a7b.png +0 -0
- package/dist/ssr/mobile-collections-fva-undo.a6f66ca11dbdf948.png +0 -0
- package/dist/ssr/mobile-collections-menu-item.321c93d6442af8d4.png +0 -0
- package/dist/ssr/mobile-collections-undo.b4d6888d71002446.png +0 -0
- package/dist/ssr/mobile-menu.105f2936489c8a1e.png +0 -0
- package/dist/ssr/mobile-notifications-user-menu.76ea11187feac4db.png +0 -0
- package/dist/ssr/mobile-open-article-actions.bb9cc7ddc6a32e29.png +0 -0
- package/dist/ssr/mobile-plus-menu.c77a3c41f9c68b65.png +0 -0
- package/dist/ssr/mobile-save-page-step-one.f058692ffb0ac877.png +0 -0
- package/dist/ssr/mobile-save-page.fef8b293c1aac0c8.png +0 -0
- package/dist/ssr/mobile-saved-page.f2f6f18f85ac08ca.png +0 -0
- package/dist/ssr/monitor.11d946399ebf690d.svg +1 -0
- package/dist/ssr/moon.74026b9da82b0694.svg +1 -0
- package/dist/ssr/nodejs.efc13657f2bf62f7.svg +1 -0
- package/dist/ssr/notifications-user-menu.f8ad31ae86ee58cb.png +0 -0
- package/dist/ssr/opera.ebd6fbbb8600e404.svg +1 -0
- package/dist/ssr/playground-example.e8bb2d0fba1ddf61.png +0 -0
- package/dist/ssr/playground-menu.df91c3b7a9f41b35.png +0 -0
- package/dist/ssr/playground-sample.4df135480b78db7b.png +0 -0
- package/dist/ssr/prism-abap-js.js +2 -0
- package/dist/ssr/prism-abap-js.js.map +1 -0
- package/dist/ssr/prism-abnf-js.js +2 -0
- package/dist/ssr/prism-abnf-js.js.map +1 -0
- package/dist/ssr/prism-actionscript-js.js +2 -0
- package/dist/ssr/prism-actionscript-js.js.map +1 -0
- package/dist/ssr/prism-ada-js.js +2 -0
- package/dist/ssr/prism-ada-js.js.map +1 -0
- package/dist/ssr/prism-agda-js.js +2 -0
- package/dist/ssr/prism-agda-js.js.map +1 -0
- package/dist/ssr/prism-al-js.js +2 -0
- package/dist/ssr/prism-al-js.js.map +1 -0
- package/dist/ssr/prism-antlr4-js.js +2 -0
- package/dist/ssr/prism-antlr4-js.js.map +1 -0
- package/dist/ssr/prism-apacheconf-js.js +2 -0
- package/dist/ssr/prism-apacheconf-js.js.map +1 -0
- package/dist/ssr/prism-apex-js.js +2 -0
- package/dist/ssr/prism-apex-js.js.map +1 -0
- package/dist/ssr/prism-apl-js.js +2 -0
- package/dist/ssr/prism-apl-js.js.map +1 -0
- package/dist/ssr/prism-applescript-js.js +2 -0
- package/dist/ssr/prism-applescript-js.js.map +1 -0
- package/dist/ssr/prism-aql-js.js +2 -0
- package/dist/ssr/prism-aql-js.js.map +1 -0
- package/dist/ssr/prism-arduino-js.js +2 -0
- package/dist/ssr/prism-arduino-js.js.map +1 -0
- package/dist/ssr/prism-arff-js.js +2 -0
- package/dist/ssr/prism-arff-js.js.map +1 -0
- package/dist/ssr/prism-armasm-js.js +2 -0
- package/dist/ssr/prism-armasm-js.js.map +1 -0
- package/dist/ssr/prism-arturo-js.js +2 -0
- package/dist/ssr/prism-arturo-js.js.map +1 -0
- package/dist/ssr/prism-asciidoc-js.js +2 -0
- package/dist/ssr/prism-asciidoc-js.js.map +1 -0
- package/dist/ssr/prism-asm6502-js.js +2 -0
- package/dist/ssr/prism-asm6502-js.js.map +1 -0
- package/dist/ssr/prism-asmatmel-js.js +2 -0
- package/dist/ssr/prism-asmatmel-js.js.map +1 -0
- package/dist/ssr/prism-aspnet-js.js +2 -0
- package/dist/ssr/prism-aspnet-js.js.map +1 -0
- package/dist/ssr/prism-autohotkey-js.js +2 -0
- package/dist/ssr/prism-autohotkey-js.js.map +1 -0
- package/dist/ssr/prism-autoit-js.js +2 -0
- package/dist/ssr/prism-autoit-js.js.map +1 -0
- package/dist/ssr/prism-avisynth-js.js +2 -0
- package/dist/ssr/prism-avisynth-js.js.map +1 -0
- package/dist/ssr/prism-avro-idl-js.js +2 -0
- package/dist/ssr/prism-avro-idl-js.js.map +1 -0
- package/dist/ssr/prism-awk-js.js +2 -0
- package/dist/ssr/prism-awk-js.js.map +1 -0
- package/dist/ssr/prism-bash-js.js +2 -0
- package/dist/ssr/prism-bash-js.js.map +1 -0
- package/dist/ssr/prism-basic-js.js +2 -0
- package/dist/ssr/prism-basic-js.js.map +1 -0
- package/dist/ssr/prism-batch-js.js +2 -0
- package/dist/ssr/prism-batch-js.js.map +1 -0
- package/dist/ssr/prism-bbcode-js.js +2 -0
- package/dist/ssr/prism-bbcode-js.js.map +1 -0
- package/dist/ssr/prism-bbj-js.js +2 -0
- package/dist/ssr/prism-bbj-js.js.map +1 -0
- package/dist/ssr/prism-bicep-js.js +2 -0
- package/dist/ssr/prism-bicep-js.js.map +1 -0
- package/dist/ssr/prism-birb-js.js +2 -0
- package/dist/ssr/prism-birb-js.js.map +1 -0
- package/dist/ssr/prism-bison-js.js +2 -0
- package/dist/ssr/prism-bison-js.js.map +1 -0
- package/dist/ssr/prism-bnf-js.js +2 -0
- package/dist/ssr/prism-bnf-js.js.map +1 -0
- package/dist/ssr/prism-bqn-js.js +2 -0
- package/dist/ssr/prism-bqn-js.js.map +1 -0
- package/dist/ssr/prism-brainfuck-js.js +2 -0
- package/dist/ssr/prism-brainfuck-js.js.map +1 -0
- package/dist/ssr/prism-brightscript-js.js +2 -0
- package/dist/ssr/prism-brightscript-js.js.map +1 -0
- package/dist/ssr/prism-bro-js.js +2 -0
- package/dist/ssr/prism-bro-js.js.map +1 -0
- package/dist/ssr/prism-bsl-js.js +2 -0
- package/dist/ssr/prism-bsl-js.js.map +1 -0
- package/dist/ssr/prism-c-js.js +2 -0
- package/dist/ssr/prism-c-js.js.map +1 -0
- package/dist/ssr/prism-cfscript-js.js +2 -0
- package/dist/ssr/prism-cfscript-js.js.map +1 -0
- package/dist/ssr/prism-chaiscript-js.js +2 -0
- package/dist/ssr/prism-chaiscript-js.js.map +1 -0
- package/dist/ssr/prism-cil-js.js +2 -0
- package/dist/ssr/prism-cil-js.js.map +1 -0
- package/dist/ssr/prism-cilkc-js.js +2 -0
- package/dist/ssr/prism-cilkc-js.js.map +1 -0
- package/dist/ssr/prism-cilkcpp-js.js +2 -0
- package/dist/ssr/prism-cilkcpp-js.js.map +1 -0
- package/dist/ssr/prism-clike-js.js +2 -0
- package/dist/ssr/prism-clike-js.js.map +1 -0
- package/dist/ssr/prism-clojure-js.js +2 -0
- package/dist/ssr/prism-clojure-js.js.map +1 -0
- package/dist/ssr/prism-cmake-js.js +2 -0
- package/dist/ssr/prism-cmake-js.js.map +1 -0
- package/dist/ssr/prism-cobol-js.js +2 -0
- package/dist/ssr/prism-cobol-js.js.map +1 -0
- package/dist/ssr/prism-coffeescript-js.js +2 -0
- package/dist/ssr/prism-coffeescript-js.js.map +1 -0
- package/dist/ssr/prism-concurnas-js.js +2 -0
- package/dist/ssr/prism-concurnas-js.js.map +1 -0
- package/dist/ssr/prism-cooklang-js.js +2 -0
- package/dist/ssr/prism-cooklang-js.js.map +1 -0
- package/dist/ssr/prism-coq-js.js +2 -0
- package/dist/ssr/prism-coq-js.js.map +1 -0
- package/dist/ssr/prism-core-js.js +3 -0
- package/dist/ssr/prism-core-js.js.LICENSE.txt +8 -0
- package/dist/ssr/prism-core-js.js.map +1 -0
- package/dist/ssr/prism-cpp-js.js +2 -0
- package/dist/ssr/prism-cpp-js.js.map +1 -0
- package/dist/ssr/prism-crystal-js.js +2 -0
- package/dist/ssr/prism-crystal-js.js.map +1 -0
- package/dist/ssr/prism-csharp-js.js +2 -0
- package/dist/ssr/prism-csharp-js.js.map +1 -0
- package/dist/ssr/prism-cshtml-js.js +2 -0
- package/dist/ssr/prism-cshtml-js.js.map +1 -0
- package/dist/ssr/prism-csp-js.js +2 -0
- package/dist/ssr/prism-csp-js.js.map +1 -0
- package/dist/ssr/prism-css-extras-js.js +2 -0
- package/dist/ssr/prism-css-extras-js.js.map +1 -0
- package/dist/ssr/prism-css-js.js +2 -0
- package/dist/ssr/prism-css-js.js.map +1 -0
- package/dist/ssr/prism-csv-js.js +2 -0
- package/dist/ssr/prism-csv-js.js.map +1 -0
- package/dist/ssr/prism-cue-js.js +2 -0
- package/dist/ssr/prism-cue-js.js.map +1 -0
- package/dist/ssr/prism-cypher-js.js +2 -0
- package/dist/ssr/prism-cypher-js.js.map +1 -0
- package/dist/ssr/prism-d-js.js +2 -0
- package/dist/ssr/prism-d-js.js.map +1 -0
- package/dist/ssr/prism-dart-js.js +2 -0
- package/dist/ssr/prism-dart-js.js.map +1 -0
- package/dist/ssr/prism-dataweave-js.js +2 -0
- package/dist/ssr/prism-dataweave-js.js.map +1 -0
- package/dist/ssr/prism-dax-js.js +2 -0
- package/dist/ssr/prism-dax-js.js.map +1 -0
- package/dist/ssr/prism-dhall-js.js +2 -0
- package/dist/ssr/prism-dhall-js.js.map +1 -0
- package/dist/ssr/prism-diff-js.js +2 -0
- package/dist/ssr/prism-diff-js.js.map +1 -0
- package/dist/ssr/prism-django-js.js +2 -0
- package/dist/ssr/prism-django-js.js.map +1 -0
- package/dist/ssr/prism-dns-zone-file-js.js +2 -0
- package/dist/ssr/prism-dns-zone-file-js.js.map +1 -0
- package/dist/ssr/prism-docker-js.js +2 -0
- package/dist/ssr/prism-docker-js.js.map +1 -0
- package/dist/ssr/prism-dot-js.js +2 -0
- package/dist/ssr/prism-dot-js.js.map +1 -0
- package/dist/ssr/prism-ebnf-js.js +2 -0
- package/dist/ssr/prism-ebnf-js.js.map +1 -0
- package/dist/ssr/prism-editorconfig-js.js +2 -0
- package/dist/ssr/prism-editorconfig-js.js.map +1 -0
- package/dist/ssr/prism-eiffel-js.js +2 -0
- package/dist/ssr/prism-eiffel-js.js.map +1 -0
- package/dist/ssr/prism-ejs-js.js +2 -0
- package/dist/ssr/prism-ejs-js.js.map +1 -0
- package/dist/ssr/prism-elixir-js.js +2 -0
- package/dist/ssr/prism-elixir-js.js.map +1 -0
- package/dist/ssr/prism-elm-js.js +2 -0
- package/dist/ssr/prism-elm-js.js.map +1 -0
- package/dist/ssr/prism-erb-js.js +2 -0
- package/dist/ssr/prism-erb-js.js.map +1 -0
- package/dist/ssr/prism-erlang-js.js +2 -0
- package/dist/ssr/prism-erlang-js.js.map +1 -0
- package/dist/ssr/prism-etlua-js.js +2 -0
- package/dist/ssr/prism-etlua-js.js.map +1 -0
- package/dist/ssr/prism-excel-formula-js.js +2 -0
- package/dist/ssr/prism-excel-formula-js.js.map +1 -0
- package/dist/ssr/prism-factor-js.js +2 -0
- package/dist/ssr/prism-factor-js.js.map +1 -0
- package/dist/ssr/prism-false-js.js +2 -0
- package/dist/ssr/prism-false-js.js.map +1 -0
- package/dist/ssr/prism-firestore-security-rules-js.js +2 -0
- package/dist/ssr/prism-firestore-security-rules-js.js.map +1 -0
- package/dist/ssr/prism-flow-js.js +2 -0
- package/dist/ssr/prism-flow-js.js.map +1 -0
- package/dist/ssr/prism-fortran-js.js +2 -0
- package/dist/ssr/prism-fortran-js.js.map +1 -0
- package/dist/ssr/prism-fsharp-js.js +2 -0
- package/dist/ssr/prism-fsharp-js.js.map +1 -0
- package/dist/ssr/prism-ftl-js.js +2 -0
- package/dist/ssr/prism-ftl-js.js.map +1 -0
- package/dist/ssr/prism-gap-js.js +2 -0
- package/dist/ssr/prism-gap-js.js.map +1 -0
- package/dist/ssr/prism-gcode-js.js +2 -0
- package/dist/ssr/prism-gcode-js.js.map +1 -0
- package/dist/ssr/prism-gdscript-js.js +2 -0
- package/dist/ssr/prism-gdscript-js.js.map +1 -0
- package/dist/ssr/prism-gedcom-js.js +2 -0
- package/dist/ssr/prism-gedcom-js.js.map +1 -0
- package/dist/ssr/prism-gettext-js.js +2 -0
- package/dist/ssr/prism-gettext-js.js.map +1 -0
- package/dist/ssr/prism-gherkin-js.js +2 -0
- package/dist/ssr/prism-gherkin-js.js.map +1 -0
- package/dist/ssr/prism-git-js.js +2 -0
- package/dist/ssr/prism-git-js.js.map +1 -0
- package/dist/ssr/prism-glsl-js.js +2 -0
- package/dist/ssr/prism-glsl-js.js.map +1 -0
- package/dist/ssr/prism-gml-js.js +2 -0
- package/dist/ssr/prism-gml-js.js.map +1 -0
- package/dist/ssr/prism-gn-js.js +2 -0
- package/dist/ssr/prism-gn-js.js.map +1 -0
- package/dist/ssr/prism-go-js.js +2 -0
- package/dist/ssr/prism-go-js.js.map +1 -0
- package/dist/ssr/prism-go-module-js.js +2 -0
- package/dist/ssr/prism-go-module-js.js.map +1 -0
- package/dist/ssr/prism-gradle-js.js +2 -0
- package/dist/ssr/prism-gradle-js.js.map +1 -0
- package/dist/ssr/prism-graphql-js.js +2 -0
- package/dist/ssr/prism-graphql-js.js.map +1 -0
- package/dist/ssr/prism-groovy-js.js +2 -0
- package/dist/ssr/prism-groovy-js.js.map +1 -0
- package/dist/ssr/prism-haml-js.js +2 -0
- package/dist/ssr/prism-haml-js.js.map +1 -0
- package/dist/ssr/prism-handlebars-js.js +2 -0
- package/dist/ssr/prism-handlebars-js.js.map +1 -0
- package/dist/ssr/prism-haskell-js.js +2 -0
- package/dist/ssr/prism-haskell-js.js.map +1 -0
- package/dist/ssr/prism-haxe-js.js +2 -0
- package/dist/ssr/prism-haxe-js.js.map +1 -0
- package/dist/ssr/prism-hcl-js.js +2 -0
- package/dist/ssr/prism-hcl-js.js.map +1 -0
- package/dist/ssr/prism-hlsl-js.js +2 -0
- package/dist/ssr/prism-hlsl-js.js.map +1 -0
- package/dist/ssr/prism-hoon-js.js +2 -0
- package/dist/ssr/prism-hoon-js.js.map +1 -0
- package/dist/ssr/prism-hpkp-js.js +2 -0
- package/dist/ssr/prism-hpkp-js.js.map +1 -0
- package/dist/ssr/prism-hsts-js.js +2 -0
- package/dist/ssr/prism-hsts-js.js.map +1 -0
- package/dist/ssr/prism-http-js.js +2 -0
- package/dist/ssr/prism-http-js.js.map +1 -0
- package/dist/ssr/prism-ichigojam-js.js +2 -0
- package/dist/ssr/prism-ichigojam-js.js.map +1 -0
- package/dist/ssr/prism-icon-js.js +2 -0
- package/dist/ssr/prism-icon-js.js.map +1 -0
- package/dist/ssr/prism-icu-message-format-js.js +2 -0
- package/dist/ssr/prism-icu-message-format-js.js.map +1 -0
- package/dist/ssr/prism-idris-js.js +2 -0
- package/dist/ssr/prism-idris-js.js.map +1 -0
- package/dist/ssr/prism-iecst-js.js +2 -0
- package/dist/ssr/prism-iecst-js.js.map +1 -0
- package/dist/ssr/prism-ignore-js.js +2 -0
- package/dist/ssr/prism-ignore-js.js.map +1 -0
- package/dist/ssr/prism-inform7-js.js +2 -0
- package/dist/ssr/prism-inform7-js.js.map +1 -0
- package/dist/ssr/prism-ini-js.js +2 -0
- package/dist/ssr/prism-ini-js.js.map +1 -0
- package/dist/ssr/prism-io-js.js +2 -0
- package/dist/ssr/prism-io-js.js.map +1 -0
- package/dist/ssr/prism-j-js.js +2 -0
- package/dist/ssr/prism-j-js.js.map +1 -0
- package/dist/ssr/prism-java-js.js +2 -0
- package/dist/ssr/prism-java-js.js.map +1 -0
- package/dist/ssr/prism-javadoc-js.js +2 -0
- package/dist/ssr/prism-javadoc-js.js.map +1 -0
- package/dist/ssr/prism-javadoclike-js.js +2 -0
- package/dist/ssr/prism-javadoclike-js.js.map +1 -0
- package/dist/ssr/prism-javascript-js.js +2 -0
- package/dist/ssr/prism-javascript-js.js.map +1 -0
- package/dist/ssr/prism-javastacktrace-js.js +2 -0
- package/dist/ssr/prism-javastacktrace-js.js.map +1 -0
- package/dist/ssr/prism-jexl-js.js +2 -0
- package/dist/ssr/prism-jexl-js.js.map +1 -0
- package/dist/ssr/prism-jolie-js.js +2 -0
- package/dist/ssr/prism-jolie-js.js.map +1 -0
- package/dist/ssr/prism-jq-js.js +2 -0
- package/dist/ssr/prism-jq-js.js.map +1 -0
- package/dist/ssr/prism-js-extras-js.js +2 -0
- package/dist/ssr/prism-js-extras-js.js.map +1 -0
- package/dist/ssr/prism-js-templates-js.js +2 -0
- package/dist/ssr/prism-js-templates-js.js.map +1 -0
- package/dist/ssr/prism-jsdoc-js.js +2 -0
- package/dist/ssr/prism-jsdoc-js.js.map +1 -0
- package/dist/ssr/prism-json-js.js +2 -0
- package/dist/ssr/prism-json-js.js.map +1 -0
- package/dist/ssr/prism-json5-js.js +2 -0
- package/dist/ssr/prism-json5-js.js.map +1 -0
- package/dist/ssr/prism-jsonp-js.js +2 -0
- package/dist/ssr/prism-jsonp-js.js.map +1 -0
- package/dist/ssr/prism-jsstacktrace-js.js +2 -0
- package/dist/ssr/prism-jsstacktrace-js.js.map +1 -0
- package/dist/ssr/prism-jsx-js.js +2 -0
- package/dist/ssr/prism-jsx-js.js.map +1 -0
- package/dist/ssr/prism-julia-js.js +2 -0
- package/dist/ssr/prism-julia-js.js.map +1 -0
- package/dist/ssr/prism-keepalived-js.js +2 -0
- package/dist/ssr/prism-keepalived-js.js.map +1 -0
- package/dist/ssr/prism-keyman-js.js +2 -0
- package/dist/ssr/prism-keyman-js.js.map +1 -0
- package/dist/ssr/prism-kotlin-js.js +2 -0
- package/dist/ssr/prism-kotlin-js.js.map +1 -0
- package/dist/ssr/prism-kumir-js.js +2 -0
- package/dist/ssr/prism-kumir-js.js.map +1 -0
- package/dist/ssr/prism-kusto-js.js +2 -0
- package/dist/ssr/prism-kusto-js.js.map +1 -0
- package/dist/ssr/prism-latex-js.js +2 -0
- package/dist/ssr/prism-latex-js.js.map +1 -0
- package/dist/ssr/prism-latte-js.js +2 -0
- package/dist/ssr/prism-latte-js.js.map +1 -0
- package/dist/ssr/prism-less-js.js +2 -0
- package/dist/ssr/prism-less-js.js.map +1 -0
- package/dist/ssr/prism-lilypond-js.js +2 -0
- package/dist/ssr/prism-lilypond-js.js.map +1 -0
- package/dist/ssr/prism-linker-script-js.js +2 -0
- package/dist/ssr/prism-linker-script-js.js.map +1 -0
- package/dist/ssr/prism-liquid-js.js +2 -0
- package/dist/ssr/prism-liquid-js.js.map +1 -0
- package/dist/ssr/prism-lisp-js.js +2 -0
- package/dist/ssr/prism-lisp-js.js.map +1 -0
- package/dist/ssr/prism-livescript-js.js +2 -0
- package/dist/ssr/prism-livescript-js.js.map +1 -0
- package/dist/ssr/prism-llvm-js.js +2 -0
- package/dist/ssr/prism-llvm-js.js.map +1 -0
- package/dist/ssr/prism-log-js.js +2 -0
- package/dist/ssr/prism-log-js.js.map +1 -0
- package/dist/ssr/prism-lolcode-js.js +2 -0
- package/dist/ssr/prism-lolcode-js.js.map +1 -0
- package/dist/ssr/prism-lua-js.js +2 -0
- package/dist/ssr/prism-lua-js.js.map +1 -0
- package/dist/ssr/prism-magma-js.js +2 -0
- package/dist/ssr/prism-magma-js.js.map +1 -0
- package/dist/ssr/prism-makefile-js.js +2 -0
- package/dist/ssr/prism-makefile-js.js.map +1 -0
- package/dist/ssr/prism-markdown-js.js +2 -0
- package/dist/ssr/prism-markdown-js.js.map +1 -0
- package/dist/ssr/prism-markup-js.js +2 -0
- package/dist/ssr/prism-markup-js.js.map +1 -0
- package/dist/ssr/prism-markup-templating-js.js +2 -0
- package/dist/ssr/prism-markup-templating-js.js.map +1 -0
- package/dist/ssr/prism-mata-js.js +2 -0
- package/dist/ssr/prism-mata-js.js.map +1 -0
- package/dist/ssr/prism-matlab-js.js +2 -0
- package/dist/ssr/prism-matlab-js.js.map +1 -0
- package/dist/ssr/prism-maxscript-js.js +2 -0
- package/dist/ssr/prism-maxscript-js.js.map +1 -0
- package/dist/ssr/prism-mel-js.js +2 -0
- package/dist/ssr/prism-mel-js.js.map +1 -0
- package/dist/ssr/prism-mermaid-js.js +2 -0
- package/dist/ssr/prism-mermaid-js.js.map +1 -0
- package/dist/ssr/prism-metafont-js.js +2 -0
- package/dist/ssr/prism-metafont-js.js.map +1 -0
- package/dist/ssr/prism-mizar-js.js +2 -0
- package/dist/ssr/prism-mizar-js.js.map +1 -0
- package/dist/ssr/prism-mongodb-js.js +2 -0
- package/dist/ssr/prism-mongodb-js.js.map +1 -0
- package/dist/ssr/prism-monkey-js.js +2 -0
- package/dist/ssr/prism-monkey-js.js.map +1 -0
- package/dist/ssr/prism-moonscript-js.js +2 -0
- package/dist/ssr/prism-moonscript-js.js.map +1 -0
- package/dist/ssr/prism-n1ql-js.js +2 -0
- package/dist/ssr/prism-n1ql-js.js.map +1 -0
- package/dist/ssr/prism-n4js-js.js +2 -0
- package/dist/ssr/prism-n4js-js.js.map +1 -0
- package/dist/ssr/prism-nand2tetris-hdl-js.js +2 -0
- package/dist/ssr/prism-nand2tetris-hdl-js.js.map +1 -0
- package/dist/ssr/prism-naniscript-js.js +2 -0
- package/dist/ssr/prism-naniscript-js.js.map +1 -0
- package/dist/ssr/prism-nasm-js.js +2 -0
- package/dist/ssr/prism-nasm-js.js.map +1 -0
- package/dist/ssr/prism-neon-js.js +2 -0
- package/dist/ssr/prism-neon-js.js.map +1 -0
- package/dist/ssr/prism-nevod-js.js +2 -0
- package/dist/ssr/prism-nevod-js.js.map +1 -0
- package/dist/ssr/prism-nginx-js.js +2 -0
- package/dist/ssr/prism-nginx-js.js.map +1 -0
- package/dist/ssr/prism-nim-js.js +2 -0
- package/dist/ssr/prism-nim-js.js.map +1 -0
- package/dist/ssr/prism-nix-js.js +2 -0
- package/dist/ssr/prism-nix-js.js.map +1 -0
- package/dist/ssr/prism-nsis-js.js +2 -0
- package/dist/ssr/prism-nsis-js.js.map +1 -0
- package/dist/ssr/prism-objectivec-js.js +2 -0
- package/dist/ssr/prism-objectivec-js.js.map +1 -0
- package/dist/ssr/prism-ocaml-js.js +2 -0
- package/dist/ssr/prism-ocaml-js.js.map +1 -0
- package/dist/ssr/prism-odin-js.js +2 -0
- package/dist/ssr/prism-odin-js.js.map +1 -0
- package/dist/ssr/prism-opencl-js.js +2 -0
- package/dist/ssr/prism-opencl-js.js.map +1 -0
- package/dist/ssr/prism-openqasm-js.js +2 -0
- package/dist/ssr/prism-openqasm-js.js.map +1 -0
- package/dist/ssr/prism-oz-js.js +2 -0
- package/dist/ssr/prism-oz-js.js.map +1 -0
- package/dist/ssr/prism-parigp-js.js +2 -0
- package/dist/ssr/prism-parigp-js.js.map +1 -0
- package/dist/ssr/prism-parser-js.js +2 -0
- package/dist/ssr/prism-parser-js.js.map +1 -0
- package/dist/ssr/prism-pascal-js.js +2 -0
- package/dist/ssr/prism-pascal-js.js.map +1 -0
- package/dist/ssr/prism-pascaligo-js.js +2 -0
- package/dist/ssr/prism-pascaligo-js.js.map +1 -0
- package/dist/ssr/prism-pcaxis-js.js +2 -0
- package/dist/ssr/prism-pcaxis-js.js.map +1 -0
- package/dist/ssr/prism-peoplecode-js.js +2 -0
- package/dist/ssr/prism-peoplecode-js.js.map +1 -0
- package/dist/ssr/prism-perl-js.js +2 -0
- package/dist/ssr/prism-perl-js.js.map +1 -0
- package/dist/ssr/prism-php-extras-js.js +2 -0
- package/dist/ssr/prism-php-extras-js.js.map +1 -0
- package/dist/ssr/prism-php-js.js +2 -0
- package/dist/ssr/prism-php-js.js.map +1 -0
- package/dist/ssr/prism-phpdoc-js.js +2 -0
- package/dist/ssr/prism-phpdoc-js.js.map +1 -0
- package/dist/ssr/prism-plant-uml-js.js +2 -0
- package/dist/ssr/prism-plant-uml-js.js.map +1 -0
- package/dist/ssr/prism-plsql-js.js +2 -0
- package/dist/ssr/prism-plsql-js.js.map +1 -0
- package/dist/ssr/prism-powerquery-js.js +2 -0
- package/dist/ssr/prism-powerquery-js.js.map +1 -0
- package/dist/ssr/prism-powershell-js.js +2 -0
- package/dist/ssr/prism-powershell-js.js.map +1 -0
- package/dist/ssr/prism-processing-js.js +2 -0
- package/dist/ssr/prism-processing-js.js.map +1 -0
- package/dist/ssr/prism-prolog-js.js +2 -0
- package/dist/ssr/prism-prolog-js.js.map +1 -0
- package/dist/ssr/prism-promql-js.js +2 -0
- package/dist/ssr/prism-promql-js.js.map +1 -0
- package/dist/ssr/prism-properties-js.js +2 -0
- package/dist/ssr/prism-properties-js.js.map +1 -0
- package/dist/ssr/prism-protobuf-js.js +2 -0
- package/dist/ssr/prism-protobuf-js.js.map +1 -0
- package/dist/ssr/prism-psl-js.js +2 -0
- package/dist/ssr/prism-psl-js.js.map +1 -0
- package/dist/ssr/prism-pug-js.js +2 -0
- package/dist/ssr/prism-pug-js.js.map +1 -0
- package/dist/ssr/prism-puppet-js.js +2 -0
- package/dist/ssr/prism-puppet-js.js.map +1 -0
- package/dist/ssr/prism-pure-js.js +2 -0
- package/dist/ssr/prism-pure-js.js.map +1 -0
- package/dist/ssr/prism-purebasic-js.js +2 -0
- package/dist/ssr/prism-purebasic-js.js.map +1 -0
- package/dist/ssr/prism-purescript-js.js +2 -0
- package/dist/ssr/prism-purescript-js.js.map +1 -0
- package/dist/ssr/prism-python-js.js +2 -0
- package/dist/ssr/prism-python-js.js.map +1 -0
- package/dist/ssr/prism-q-js.js +2 -0
- package/dist/ssr/prism-q-js.js.map +1 -0
- package/dist/ssr/prism-qml-js.js +2 -0
- package/dist/ssr/prism-qml-js.js.map +1 -0
- package/dist/ssr/prism-qore-js.js +2 -0
- package/dist/ssr/prism-qore-js.js.map +1 -0
- package/dist/ssr/prism-qsharp-js.js +2 -0
- package/dist/ssr/prism-qsharp-js.js.map +1 -0
- package/dist/ssr/prism-r-js.js +2 -0
- package/dist/ssr/prism-r-js.js.map +1 -0
- package/dist/ssr/prism-racket-js.js +2 -0
- package/dist/ssr/prism-racket-js.js.map +1 -0
- package/dist/ssr/prism-reason-js.js +2 -0
- package/dist/ssr/prism-reason-js.js.map +1 -0
- package/dist/ssr/prism-regex-js.js +2 -0
- package/dist/ssr/prism-regex-js.js.map +1 -0
- package/dist/ssr/prism-rego-js.js +2 -0
- package/dist/ssr/prism-rego-js.js.map +1 -0
- package/dist/ssr/prism-renpy-js.js +2 -0
- package/dist/ssr/prism-renpy-js.js.map +1 -0
- package/dist/ssr/prism-rescript-js.js +2 -0
- package/dist/ssr/prism-rescript-js.js.map +1 -0
- package/dist/ssr/prism-rest-js.js +2 -0
- package/dist/ssr/prism-rest-js.js.map +1 -0
- package/dist/ssr/prism-rip-js.js +2 -0
- package/dist/ssr/prism-rip-js.js.map +1 -0
- package/dist/ssr/prism-roboconf-js.js +2 -0
- package/dist/ssr/prism-roboconf-js.js.map +1 -0
- package/dist/ssr/prism-robotframework-js.js +2 -0
- package/dist/ssr/prism-robotframework-js.js.map +1 -0
- package/dist/ssr/prism-ruby-js.js +2 -0
- package/dist/ssr/prism-ruby-js.js.map +1 -0
- package/dist/ssr/prism-rust-js.js +2 -0
- package/dist/ssr/prism-rust-js.js.map +1 -0
- package/dist/ssr/prism-sas-js.js +2 -0
- package/dist/ssr/prism-sas-js.js.map +1 -0
- package/dist/ssr/prism-sass-js.js +2 -0
- package/dist/ssr/prism-sass-js.js.map +1 -0
- package/dist/ssr/prism-scala-js.js +2 -0
- package/dist/ssr/prism-scala-js.js.map +1 -0
- package/dist/ssr/prism-scheme-js.js +2 -0
- package/dist/ssr/prism-scheme-js.js.map +1 -0
- package/dist/ssr/prism-scss-js.js +2 -0
- package/dist/ssr/prism-scss-js.js.map +1 -0
- package/dist/ssr/prism-shell-session-js.js +2 -0
- package/dist/ssr/prism-shell-session-js.js.map +1 -0
- package/dist/ssr/prism-smali-js.js +2 -0
- package/dist/ssr/prism-smali-js.js.map +1 -0
- package/dist/ssr/prism-smalltalk-js.js +2 -0
- package/dist/ssr/prism-smalltalk-js.js.map +1 -0
- package/dist/ssr/prism-smarty-js.js +2 -0
- package/dist/ssr/prism-smarty-js.js.map +1 -0
- package/dist/ssr/prism-sml-js.js +2 -0
- package/dist/ssr/prism-sml-js.js.map +1 -0
- package/dist/ssr/prism-solidity-js.js +2 -0
- package/dist/ssr/prism-solidity-js.js.map +1 -0
- package/dist/ssr/prism-solution-file-js.js +2 -0
- package/dist/ssr/prism-solution-file-js.js.map +1 -0
- package/dist/ssr/prism-soy-js.js +2 -0
- package/dist/ssr/prism-soy-js.js.map +1 -0
- package/dist/ssr/prism-sparql-js.js +2 -0
- package/dist/ssr/prism-sparql-js.js.map +1 -0
- package/dist/ssr/prism-splunk-spl-js.js +2 -0
- package/dist/ssr/prism-splunk-spl-js.js.map +1 -0
- package/dist/ssr/prism-sqf-js.js +2 -0
- package/dist/ssr/prism-sqf-js.js.map +1 -0
- package/dist/ssr/prism-sql-js.js +2 -0
- package/dist/ssr/prism-sql-js.js.map +1 -0
- package/dist/ssr/prism-squirrel-js.js +2 -0
- package/dist/ssr/prism-squirrel-js.js.map +1 -0
- package/dist/ssr/prism-stan-js.js +2 -0
- package/dist/ssr/prism-stan-js.js.map +1 -0
- package/dist/ssr/prism-stata-js.js +2 -0
- package/dist/ssr/prism-stata-js.js.map +1 -0
- package/dist/ssr/prism-stylus-js.js +2 -0
- package/dist/ssr/prism-stylus-js.js.map +1 -0
- package/dist/ssr/prism-supercollider-js.js +2 -0
- package/dist/ssr/prism-supercollider-js.js.map +1 -0
- package/dist/ssr/prism-svelte.js +2 -0
- package/dist/ssr/prism-svelte.js.map +1 -0
- package/dist/ssr/prism-swift-js.js +2 -0
- package/dist/ssr/prism-swift-js.js.map +1 -0
- package/dist/ssr/prism-systemd-js.js +2 -0
- package/dist/ssr/prism-systemd-js.js.map +1 -0
- package/dist/ssr/prism-t4-cs-js.js +2 -0
- package/dist/ssr/prism-t4-cs-js.js.map +1 -0
- package/dist/ssr/prism-t4-templating-js.js +2 -0
- package/dist/ssr/prism-t4-templating-js.js.map +1 -0
- package/dist/ssr/prism-t4-vb-js.js +2 -0
- package/dist/ssr/prism-t4-vb-js.js.map +1 -0
- package/dist/ssr/prism-tap-js.js +2 -0
- package/dist/ssr/prism-tap-js.js.map +1 -0
- package/dist/ssr/prism-tcl-js.js +2 -0
- package/dist/ssr/prism-tcl-js.js.map +1 -0
- package/dist/ssr/prism-textile-js.js +2 -0
- package/dist/ssr/prism-textile-js.js.map +1 -0
- package/dist/ssr/prism-toml-js.js +2 -0
- package/dist/ssr/prism-toml-js.js.map +1 -0
- package/dist/ssr/prism-tremor-js.js +2 -0
- package/dist/ssr/prism-tremor-js.js.map +1 -0
- package/dist/ssr/prism-tsx-js.js +2 -0
- package/dist/ssr/prism-tsx-js.js.map +1 -0
- package/dist/ssr/prism-tt2-js.js +2 -0
- package/dist/ssr/prism-tt2-js.js.map +1 -0
- package/dist/ssr/prism-turtle-js.js +2 -0
- package/dist/ssr/prism-turtle-js.js.map +1 -0
- package/dist/ssr/prism-twig-js.js +2 -0
- package/dist/ssr/prism-twig-js.js.map +1 -0
- package/dist/ssr/prism-typescript-js.js +2 -0
- package/dist/ssr/prism-typescript-js.js.map +1 -0
- package/dist/ssr/prism-typoscript-js.js +2 -0
- package/dist/ssr/prism-typoscript-js.js.map +1 -0
- package/dist/ssr/prism-unrealscript-js.js +2 -0
- package/dist/ssr/prism-unrealscript-js.js.map +1 -0
- package/dist/ssr/prism-uorazor-js.js +2 -0
- package/dist/ssr/prism-uorazor-js.js.map +1 -0
- package/dist/ssr/prism-uri-js.js +2 -0
- package/dist/ssr/prism-uri-js.js.map +1 -0
- package/dist/ssr/prism-v-js.js +2 -0
- package/dist/ssr/prism-v-js.js.map +1 -0
- package/dist/ssr/prism-vala-js.js +2 -0
- package/dist/ssr/prism-vala-js.js.map +1 -0
- package/dist/ssr/prism-vbnet-js.js +2 -0
- package/dist/ssr/prism-vbnet-js.js.map +1 -0
- package/dist/ssr/prism-velocity-js.js +2 -0
- package/dist/ssr/prism-velocity-js.js.map +1 -0
- package/dist/ssr/prism-verilog-js.js +2 -0
- package/dist/ssr/prism-verilog-js.js.map +1 -0
- package/dist/ssr/prism-vhdl-js.js +2 -0
- package/dist/ssr/prism-vhdl-js.js.map +1 -0
- package/dist/ssr/prism-vim-js.js +2 -0
- package/dist/ssr/prism-vim-js.js.map +1 -0
- package/dist/ssr/prism-visual-basic-js.js +2 -0
- package/dist/ssr/prism-visual-basic-js.js.map +1 -0
- package/dist/ssr/prism-warpscript-js.js +2 -0
- package/dist/ssr/prism-warpscript-js.js.map +1 -0
- package/dist/ssr/prism-wasm-js.js +2 -0
- package/dist/ssr/prism-wasm-js.js.map +1 -0
- package/dist/ssr/prism-web-idl-js.js +2 -0
- package/dist/ssr/prism-web-idl-js.js.map +1 -0
- package/dist/ssr/prism-wgsl-js.js +2 -0
- package/dist/ssr/prism-wgsl-js.js.map +1 -0
- package/dist/ssr/prism-wiki-js.js +2 -0
- package/dist/ssr/prism-wiki-js.js.map +1 -0
- package/dist/ssr/prism-wolfram-js.js +2 -0
- package/dist/ssr/prism-wolfram-js.js.map +1 -0
- package/dist/ssr/prism-wren-js.js +2 -0
- package/dist/ssr/prism-wren-js.js.map +1 -0
- package/dist/ssr/prism-xeora-js.js +2 -0
- package/dist/ssr/prism-xeora-js.js.map +1 -0
- package/dist/ssr/prism-xml-doc-js.js +2 -0
- package/dist/ssr/prism-xml-doc-js.js.map +1 -0
- package/dist/ssr/prism-xojo-js.js +2 -0
- package/dist/ssr/prism-xojo-js.js.map +1 -0
- package/dist/ssr/prism-xquery-js.js +2 -0
- package/dist/ssr/prism-xquery-js.js.map +1 -0
- package/dist/ssr/prism-yaml-js.js +2 -0
- package/dist/ssr/prism-yaml-js.js.map +1 -0
- package/dist/ssr/prism-yang-js.js +2 -0
- package/dist/ssr/prism-yang-js.js.map +1 -0
- package/dist/ssr/prism-zig-js.js +2 -0
- package/dist/ssr/prism-zig-js.js.map +1 -0
- package/dist/ssr/rate-answers.50835df6a04a1c77.png +0 -0
- package/dist/ssr/report-feedback.b19751ac764910b5.png +0 -0
- package/dist/ssr/safari.f175cdae2ee0be76.svg +1 -0
- package/dist/ssr/samsung-internet.f241f6953ef66c29.svg +1 -0
- package/dist/ssr/scrim-bg.27f047d7e991dbe9.png +0 -0
- package/dist/ssr/scrim-hexagons.e59318adb5550050.svg +1 -0
- package/dist/ssr/scrimba-logo.0c5b5b4efd2b23dc.svg +1 -0
- package/dist/ssr/search.5dd31cbeea7d1af9.svg +1 -0
- package/dist/ssr/server.ee27a0ad5e97acf2.svg +1 -0
- package/dist/ssr/smartphone.1a49e06c0e294c6b.svg +1 -0
- package/dist/ssr/star-notification.da1d20efb93ff663.png +0 -0
- package/dist/ssr/stats.json +484 -0
- package/dist/ssr/sun.1d7c3ad7bf6fc390.svg +1 -0
- package/dist/ssr/survey.f654202dd710bc60.svg +1 -0
- package/dist/ssr/trash-2.73b28bc66fb8543c.svg +1 -0
- package/dist/ssr/triangle-alert.cff4c57ccef57da3.svg +1 -0
- package/dist/ssr/unwatch-dashboard.79e0bc7c1a718164.png +0 -0
- package/dist/ssr/unwatch-page.60a0cb971631515e.png +0 -0
- package/dist/ssr/updates.420ea282a7c02ab9.png +0 -0
- package/dist/ssr/updates_bcd.d685e51445456a30.png +0 -0
- package/dist/ssr/updates_collection.74a95480bb8d52e0.png +0 -0
- package/dist/ssr/updates_filter.1c6bfe2143f10758.png +0 -0
- package/dist/ssr/updates_search.135043f07c29f425.png +0 -0
- package/dist/ssr/watch-list.07b2e1c1d7afd40f.png +0 -0
- package/dist/ssr/watch-page.1dc334f34f553b26.png +0 -0
- package/dist/ssr/watify_bg.9877982a693ec402.wasm +0 -0
- package/dist/ssr/webview.69c6470100eb7da1.svg +1 -0
- package/entry.client.js +12 -0
- package/entry.inline.js +14 -0
- package/entry.ssr.js +133 -0
- package/hooks/code-examples.js +8 -0
- package/hooks/css-formal-syntax.js +21 -0
- package/hooks/glean-init.js +19 -0
- package/hooks/legacy-theme-controller.js +11 -0
- package/hooks/live-samples.js +45 -0
- package/hooks/load-elements.js +18 -0
- package/hooks/sidebar-scroll-to-current.js +7 -0
- package/hooks/toc-highlight.js +95 -0
- package/l10n/context.js +12 -0
- package/l10n/de.ftl +33 -0
- package/l10n/en-US.ftl +111 -0
- package/l10n/es.ftl +2 -0
- package/l10n/fluent.js +288 -0
- package/l10n/fr.ftl +1 -0
- package/l10n/ja.ftl +2 -0
- package/l10n/ko.ftl +1 -0
- package/l10n/mixin.js +24 -0
- package/l10n/pt-BR.ftl +2 -0
- package/l10n/ru.ftl +1 -0
- package/l10n/zh-CN.ftl +1 -0
- package/l10n/zh-TW.ftl +1 -0
- package/legacy/index.tsx +26 -0
- package/legacy/tsconfig.json +13 -0
- package/package.json +119 -0
- package/rspack.config.js +484 -0
- package/scripts/server.js +45 -0
- package/server.js +298 -0
- package/stylelint.config.js +29 -0
- package/svgo.config.js +13 -0
- package/symmetric-context/both.js +10 -0
- package/symmetric-context/client.js +8 -0
- package/symmetric-context/server.js +12 -0
- package/symmetric-context/types.d.ts +3 -0
- package/template.html +9 -0
- package/tsconfig.json +26 -0
- package/types/baseline.ts +13 -0
- package/types/bcd.ts +1 -0
- package/types/compat.ts +44 -0
- package/types/element-map.d.ts +63 -0
- package/types/fluent-2.ts +3 -0
- package/types/fluent.ts +10 -0
- package/types/fred.ts +19 -0
- package/types/github.ts +200 -0
- package/types/lit.ts +7 -0
- package/types/modules.d.ts +34 -0
- package/types/observatory.ts +109 -0
- package/types/rari.ts +1 -0
- package/utils/glean.js +21 -0
- package/vendor/yari/libs/play/index.d.ts +62 -0
- package/vendor/yari/libs/play/index.js +708 -0
- package/vendor/yari/libs/play/package-lock.json +38 -0
- package/vendor/yari/libs/play/package.json +19 -0
- package/vendor/yari/libs/play/tsconfig.json +11 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"8016.f30995a637486f82.js","sources":["webpack://@mdn/fred/./node_modules/@codemirror/autocomplete/dist/index.js","webpack://@mdn/fred/./node_modules/@codemirror/commands/dist/index.js","webpack://@mdn/fred/./node_modules/codemirror/dist/index.js"],"sourcesContent":["import { Annotation, StateEffect, EditorSelection, codePointAt, codePointSize, fromCodePoint, Facet, combineConfig, StateField, Prec, Text, Transaction, MapMode, RangeValue, RangeSet, CharCategory } from '@codemirror/state';\nimport { Direction, logException, showTooltip, EditorView, ViewPlugin, getTooltip, Decoration, WidgetType, keymap } from '@codemirror/view';\nimport { syntaxTree, indentUnit } from '@codemirror/language';\n\n/**\nAn instance of this is passed to completion source functions.\n*/\nclass CompletionContext {\n /**\n Create a new completion context. (Mostly useful for testing\n completion sources—in the editor, the extension will create\n these for you.)\n */\n constructor(\n /**\n The editor state that the completion happens in.\n */\n state, \n /**\n The position at which the completion is happening.\n */\n pos, \n /**\n Indicates whether completion was activated explicitly, or\n implicitly by typing. The usual way to respond to this is to\n only return completions when either there is part of a\n completable entity before the cursor, or `explicit` is true.\n */\n explicit, \n /**\n The editor view. May be undefined if the context was created\n in a situation where there is no such view available, such as\n in synchronous updates via\n [`CompletionResult.update`](https://codemirror.net/6/docs/ref/#autocomplete.CompletionResult.update)\n or when called by test code.\n */\n view) {\n this.state = state;\n this.pos = pos;\n this.explicit = explicit;\n this.view = view;\n /**\n @internal\n */\n this.abortListeners = [];\n /**\n @internal\n */\n this.abortOnDocChange = false;\n }\n /**\n Get the extent, content, and (if there is a token) type of the\n token before `this.pos`.\n */\n tokenBefore(types) {\n let token = syntaxTree(this.state).resolveInner(this.pos, -1);\n while (token && types.indexOf(token.name) < 0)\n token = token.parent;\n return token ? { from: token.from, to: this.pos,\n text: this.state.sliceDoc(token.from, this.pos),\n type: token.type } : null;\n }\n /**\n Get the match of the given expression directly before the\n cursor.\n */\n matchBefore(expr) {\n let line = this.state.doc.lineAt(this.pos);\n let start = Math.max(line.from, this.pos - 250);\n let str = line.text.slice(start - line.from, this.pos - line.from);\n let found = str.search(ensureAnchor(expr, false));\n return found < 0 ? null : { from: start + found, to: this.pos, text: str.slice(found) };\n }\n /**\n Yields true when the query has been aborted. Can be useful in\n asynchronous queries to avoid doing work that will be ignored.\n */\n get aborted() { return this.abortListeners == null; }\n /**\n Allows you to register abort handlers, which will be called when\n the query is\n [aborted](https://codemirror.net/6/docs/ref/#autocomplete.CompletionContext.aborted).\n \n By default, running queries will not be aborted for regular\n typing or backspacing, on the assumption that they are likely to\n return a result with a\n [`validFor`](https://codemirror.net/6/docs/ref/#autocomplete.CompletionResult.validFor) field that\n allows the result to be used after all. Passing `onDocChange:\n true` will cause this query to be aborted for any document\n change.\n */\n addEventListener(type, listener, options) {\n if (type == \"abort\" && this.abortListeners) {\n this.abortListeners.push(listener);\n if (options && options.onDocChange)\n this.abortOnDocChange = true;\n }\n }\n}\nfunction toSet(chars) {\n let flat = Object.keys(chars).join(\"\");\n let words = /\\w/.test(flat);\n if (words)\n flat = flat.replace(/\\w/g, \"\");\n return `[${words ? \"\\\\w\" : \"\"}${flat.replace(/[^\\w\\s]/g, \"\\\\$&\")}]`;\n}\nfunction prefixMatch(options) {\n let first = Object.create(null), rest = Object.create(null);\n for (let { label } of options) {\n first[label[0]] = true;\n for (let i = 1; i < label.length; i++)\n rest[label[i]] = true;\n }\n let source = toSet(first) + toSet(rest) + \"*$\";\n return [new RegExp(\"^\" + source), new RegExp(source)];\n}\n/**\nGiven a a fixed array of options, return an autocompleter that\ncompletes them.\n*/\nfunction completeFromList(list) {\n let options = list.map(o => typeof o == \"string\" ? { label: o } : o);\n let [validFor, match] = options.every(o => /^\\w+$/.test(o.label)) ? [/\\w*$/, /\\w+$/] : prefixMatch(options);\n return (context) => {\n let token = context.matchBefore(match);\n return token || context.explicit ? { from: token ? token.from : context.pos, options, validFor } : null;\n };\n}\n/**\nWrap the given completion source so that it will only fire when the\ncursor is in a syntax node with one of the given names.\n*/\nfunction ifIn(nodes, source) {\n return (context) => {\n for (let pos = syntaxTree(context.state).resolveInner(context.pos, -1); pos; pos = pos.parent) {\n if (nodes.indexOf(pos.name) > -1)\n return source(context);\n if (pos.type.isTop)\n break;\n }\n return null;\n };\n}\n/**\nWrap the given completion source so that it will not fire when the\ncursor is in a syntax node with one of the given names.\n*/\nfunction ifNotIn(nodes, source) {\n return (context) => {\n for (let pos = syntaxTree(context.state).resolveInner(context.pos, -1); pos; pos = pos.parent) {\n if (nodes.indexOf(pos.name) > -1)\n return null;\n if (pos.type.isTop)\n break;\n }\n return source(context);\n };\n}\nclass Option {\n constructor(completion, source, match, score) {\n this.completion = completion;\n this.source = source;\n this.match = match;\n this.score = score;\n }\n}\nfunction cur(state) { return state.selection.main.from; }\n// Make sure the given regexp has a $ at its end and, if `start` is\n// true, a ^ at its start.\nfunction ensureAnchor(expr, start) {\n var _a;\n let { source } = expr;\n let addStart = start && source[0] != \"^\", addEnd = source[source.length - 1] != \"$\";\n if (!addStart && !addEnd)\n return expr;\n return new RegExp(`${addStart ? \"^\" : \"\"}(?:${source})${addEnd ? \"$\" : \"\"}`, (_a = expr.flags) !== null && _a !== void 0 ? _a : (expr.ignoreCase ? \"i\" : \"\"));\n}\n/**\nThis annotation is added to transactions that are produced by\npicking a completion.\n*/\nconst pickedCompletion = /*@__PURE__*/Annotation.define();\n/**\nHelper function that returns a transaction spec which inserts a\ncompletion's text in the main selection range, and any other\nselection range that has the same text in front of it.\n*/\nfunction insertCompletionText(state, text, from, to) {\n let { main } = state.selection, fromOff = from - main.from, toOff = to - main.from;\n return Object.assign(Object.assign({}, state.changeByRange(range => {\n if (range != main && from != to &&\n state.sliceDoc(range.from + fromOff, range.from + toOff) != state.sliceDoc(from, to))\n return { range };\n let lines = state.toText(text);\n return {\n changes: { from: range.from + fromOff, to: to == main.from ? range.to : range.from + toOff, insert: lines },\n range: EditorSelection.cursor(range.from + fromOff + lines.length)\n };\n })), { scrollIntoView: true, userEvent: \"input.complete\" });\n}\nconst SourceCache = /*@__PURE__*/new WeakMap();\nfunction asSource(source) {\n if (!Array.isArray(source))\n return source;\n let known = SourceCache.get(source);\n if (!known)\n SourceCache.set(source, known = completeFromList(source));\n return known;\n}\nconst startCompletionEffect = /*@__PURE__*/StateEffect.define();\nconst closeCompletionEffect = /*@__PURE__*/StateEffect.define();\n\n// A pattern matcher for fuzzy completion matching. Create an instance\n// once for a pattern, and then use that to match any number of\n// completions.\nclass FuzzyMatcher {\n constructor(pattern) {\n this.pattern = pattern;\n this.chars = [];\n this.folded = [];\n // Buffers reused by calls to `match` to track matched character\n // positions.\n this.any = [];\n this.precise = [];\n this.byWord = [];\n this.score = 0;\n this.matched = [];\n for (let p = 0; p < pattern.length;) {\n let char = codePointAt(pattern, p), size = codePointSize(char);\n this.chars.push(char);\n let part = pattern.slice(p, p + size), upper = part.toUpperCase();\n this.folded.push(codePointAt(upper == part ? part.toLowerCase() : upper, 0));\n p += size;\n }\n this.astral = pattern.length != this.chars.length;\n }\n ret(score, matched) {\n this.score = score;\n this.matched = matched;\n return this;\n }\n // Matches a given word (completion) against the pattern (input).\n // Will return a boolean indicating whether there was a match and,\n // on success, set `this.score` to the score, `this.matched` to an\n // array of `from, to` pairs indicating the matched parts of `word`.\n //\n // The score is a number that is more negative the worse the match\n // is. See `Penalty` above.\n match(word) {\n if (this.pattern.length == 0)\n return this.ret(-100 /* Penalty.NotFull */, []);\n if (word.length < this.pattern.length)\n return null;\n let { chars, folded, any, precise, byWord } = this;\n // For single-character queries, only match when they occur right\n // at the start\n if (chars.length == 1) {\n let first = codePointAt(word, 0), firstSize = codePointSize(first);\n let score = firstSize == word.length ? 0 : -100 /* Penalty.NotFull */;\n if (first == chars[0]) ;\n else if (first == folded[0])\n score += -200 /* Penalty.CaseFold */;\n else\n return null;\n return this.ret(score, [0, firstSize]);\n }\n let direct = word.indexOf(this.pattern);\n if (direct == 0)\n return this.ret(word.length == this.pattern.length ? 0 : -100 /* Penalty.NotFull */, [0, this.pattern.length]);\n let len = chars.length, anyTo = 0;\n if (direct < 0) {\n for (let i = 0, e = Math.min(word.length, 200); i < e && anyTo < len;) {\n let next = codePointAt(word, i);\n if (next == chars[anyTo] || next == folded[anyTo])\n any[anyTo++] = i;\n i += codePointSize(next);\n }\n // No match, exit immediately\n if (anyTo < len)\n return null;\n }\n // This tracks the extent of the precise (non-folded, not\n // necessarily adjacent) match\n let preciseTo = 0;\n // Tracks whether there is a match that hits only characters that\n // appear to be starting words. `byWordFolded` is set to true when\n // a case folded character is encountered in such a match\n let byWordTo = 0, byWordFolded = false;\n // If we've found a partial adjacent match, these track its state\n let adjacentTo = 0, adjacentStart = -1, adjacentEnd = -1;\n let hasLower = /[a-z]/.test(word), wordAdjacent = true;\n // Go over the option's text, scanning for the various kinds of matches\n for (let i = 0, e = Math.min(word.length, 200), prevType = 0 /* Tp.NonWord */; i < e && byWordTo < len;) {\n let next = codePointAt(word, i);\n if (direct < 0) {\n if (preciseTo < len && next == chars[preciseTo])\n precise[preciseTo++] = i;\n if (adjacentTo < len) {\n if (next == chars[adjacentTo] || next == folded[adjacentTo]) {\n if (adjacentTo == 0)\n adjacentStart = i;\n adjacentEnd = i + 1;\n adjacentTo++;\n }\n else {\n adjacentTo = 0;\n }\n }\n }\n let ch, type = next < 0xff\n ? (next >= 48 && next <= 57 || next >= 97 && next <= 122 ? 2 /* Tp.Lower */ : next >= 65 && next <= 90 ? 1 /* Tp.Upper */ : 0 /* Tp.NonWord */)\n : ((ch = fromCodePoint(next)) != ch.toLowerCase() ? 1 /* Tp.Upper */ : ch != ch.toUpperCase() ? 2 /* Tp.Lower */ : 0 /* Tp.NonWord */);\n if (!i || type == 1 /* Tp.Upper */ && hasLower || prevType == 0 /* Tp.NonWord */ && type != 0 /* Tp.NonWord */) {\n if (chars[byWordTo] == next || (folded[byWordTo] == next && (byWordFolded = true)))\n byWord[byWordTo++] = i;\n else if (byWord.length)\n wordAdjacent = false;\n }\n prevType = type;\n i += codePointSize(next);\n }\n if (byWordTo == len && byWord[0] == 0 && wordAdjacent)\n return this.result(-100 /* Penalty.ByWord */ + (byWordFolded ? -200 /* Penalty.CaseFold */ : 0), byWord, word);\n if (adjacentTo == len && adjacentStart == 0)\n return this.ret(-200 /* Penalty.CaseFold */ - word.length + (adjacentEnd == word.length ? 0 : -100 /* Penalty.NotFull */), [0, adjacentEnd]);\n if (direct > -1)\n return this.ret(-700 /* Penalty.NotStart */ - word.length, [direct, direct + this.pattern.length]);\n if (adjacentTo == len)\n return this.ret(-200 /* Penalty.CaseFold */ + -700 /* Penalty.NotStart */ - word.length, [adjacentStart, adjacentEnd]);\n if (byWordTo == len)\n return this.result(-100 /* Penalty.ByWord */ + (byWordFolded ? -200 /* Penalty.CaseFold */ : 0) + -700 /* Penalty.NotStart */ +\n (wordAdjacent ? 0 : -1100 /* Penalty.Gap */), byWord, word);\n return chars.length == 2 ? null\n : this.result((any[0] ? -700 /* Penalty.NotStart */ : 0) + -200 /* Penalty.CaseFold */ + -1100 /* Penalty.Gap */, any, word);\n }\n result(score, positions, word) {\n let result = [], i = 0;\n for (let pos of positions) {\n let to = pos + (this.astral ? codePointSize(codePointAt(word, pos)) : 1);\n if (i && result[i - 1] == pos)\n result[i - 1] = to;\n else {\n result[i++] = pos;\n result[i++] = to;\n }\n }\n return this.ret(score - word.length, result);\n }\n}\nclass StrictMatcher {\n constructor(pattern) {\n this.pattern = pattern;\n this.matched = [];\n this.score = 0;\n this.folded = pattern.toLowerCase();\n }\n match(word) {\n if (word.length < this.pattern.length)\n return null;\n let start = word.slice(0, this.pattern.length);\n let match = start == this.pattern ? 0 : start.toLowerCase() == this.folded ? -200 /* Penalty.CaseFold */ : null;\n if (match == null)\n return null;\n this.matched = [0, start.length];\n this.score = match + (word.length == this.pattern.length ? 0 : -100 /* Penalty.NotFull */);\n return this;\n }\n}\n\nconst completionConfig = /*@__PURE__*/Facet.define({\n combine(configs) {\n return combineConfig(configs, {\n activateOnTyping: true,\n activateOnCompletion: () => false,\n activateOnTypingDelay: 100,\n selectOnOpen: true,\n override: null,\n closeOnBlur: true,\n maxRenderedOptions: 100,\n defaultKeymap: true,\n tooltipClass: () => \"\",\n optionClass: () => \"\",\n aboveCursor: false,\n icons: true,\n addToOptions: [],\n positionInfo: defaultPositionInfo,\n filterStrict: false,\n compareCompletions: (a, b) => a.label.localeCompare(b.label),\n interactionDelay: 75,\n updateSyncTime: 100\n }, {\n defaultKeymap: (a, b) => a && b,\n closeOnBlur: (a, b) => a && b,\n icons: (a, b) => a && b,\n tooltipClass: (a, b) => c => joinClass(a(c), b(c)),\n optionClass: (a, b) => c => joinClass(a(c), b(c)),\n addToOptions: (a, b) => a.concat(b),\n filterStrict: (a, b) => a || b,\n });\n }\n});\nfunction joinClass(a, b) {\n return a ? b ? a + \" \" + b : a : b;\n}\nfunction defaultPositionInfo(view, list, option, info, space, tooltip) {\n let rtl = view.textDirection == Direction.RTL, left = rtl, narrow = false;\n let side = \"top\", offset, maxWidth;\n let spaceLeft = list.left - space.left, spaceRight = space.right - list.right;\n let infoWidth = info.right - info.left, infoHeight = info.bottom - info.top;\n if (left && spaceLeft < Math.min(infoWidth, spaceRight))\n left = false;\n else if (!left && spaceRight < Math.min(infoWidth, spaceLeft))\n left = true;\n if (infoWidth <= (left ? spaceLeft : spaceRight)) {\n offset = Math.max(space.top, Math.min(option.top, space.bottom - infoHeight)) - list.top;\n maxWidth = Math.min(400 /* Info.Width */, left ? spaceLeft : spaceRight);\n }\n else {\n narrow = true;\n maxWidth = Math.min(400 /* Info.Width */, (rtl ? list.right : space.right - list.left) - 30 /* Info.Margin */);\n let spaceBelow = space.bottom - list.bottom;\n if (spaceBelow >= infoHeight || spaceBelow > list.top) { // Below the completion\n offset = option.bottom - list.top;\n }\n else { // Above it\n side = \"bottom\";\n offset = list.bottom - option.top;\n }\n }\n let scaleY = (list.bottom - list.top) / tooltip.offsetHeight;\n let scaleX = (list.right - list.left) / tooltip.offsetWidth;\n return {\n style: `${side}: ${offset / scaleY}px; max-width: ${maxWidth / scaleX}px`,\n class: \"cm-completionInfo-\" + (narrow ? (rtl ? \"left-narrow\" : \"right-narrow\") : left ? \"left\" : \"right\")\n };\n}\n\nfunction optionContent(config) {\n let content = config.addToOptions.slice();\n if (config.icons)\n content.push({\n render(completion) {\n let icon = document.createElement(\"div\");\n icon.classList.add(\"cm-completionIcon\");\n if (completion.type)\n icon.classList.add(...completion.type.split(/\\s+/g).map(cls => \"cm-completionIcon-\" + cls));\n icon.setAttribute(\"aria-hidden\", \"true\");\n return icon;\n },\n position: 20\n });\n content.push({\n render(completion, _s, _v, match) {\n let labelElt = document.createElement(\"span\");\n labelElt.className = \"cm-completionLabel\";\n let label = completion.displayLabel || completion.label, off = 0;\n for (let j = 0; j < match.length;) {\n let from = match[j++], to = match[j++];\n if (from > off)\n labelElt.appendChild(document.createTextNode(label.slice(off, from)));\n let span = labelElt.appendChild(document.createElement(\"span\"));\n span.appendChild(document.createTextNode(label.slice(from, to)));\n span.className = \"cm-completionMatchedText\";\n off = to;\n }\n if (off < label.length)\n labelElt.appendChild(document.createTextNode(label.slice(off)));\n return labelElt;\n },\n position: 50\n }, {\n render(completion) {\n if (!completion.detail)\n return null;\n let detailElt = document.createElement(\"span\");\n detailElt.className = \"cm-completionDetail\";\n detailElt.textContent = completion.detail;\n return detailElt;\n },\n position: 80\n });\n return content.sort((a, b) => a.position - b.position).map(a => a.render);\n}\nfunction rangeAroundSelected(total, selected, max) {\n if (total <= max)\n return { from: 0, to: total };\n if (selected < 0)\n selected = 0;\n if (selected <= (total >> 1)) {\n let off = Math.floor(selected / max);\n return { from: off * max, to: (off + 1) * max };\n }\n let off = Math.floor((total - selected) / max);\n return { from: total - (off + 1) * max, to: total - off * max };\n}\nclass CompletionTooltip {\n constructor(view, stateField, applyCompletion) {\n this.view = view;\n this.stateField = stateField;\n this.applyCompletion = applyCompletion;\n this.info = null;\n this.infoDestroy = null;\n this.placeInfoReq = {\n read: () => this.measureInfo(),\n write: (pos) => this.placeInfo(pos),\n key: this\n };\n this.space = null;\n this.currentClass = \"\";\n let cState = view.state.field(stateField);\n let { options, selected } = cState.open;\n let config = view.state.facet(completionConfig);\n this.optionContent = optionContent(config);\n this.optionClass = config.optionClass;\n this.tooltipClass = config.tooltipClass;\n this.range = rangeAroundSelected(options.length, selected, config.maxRenderedOptions);\n this.dom = document.createElement(\"div\");\n this.dom.className = \"cm-tooltip-autocomplete\";\n this.updateTooltipClass(view.state);\n this.dom.addEventListener(\"mousedown\", (e) => {\n let { options } = view.state.field(stateField).open;\n for (let dom = e.target, match; dom && dom != this.dom; dom = dom.parentNode) {\n if (dom.nodeName == \"LI\" && (match = /-(\\d+)$/.exec(dom.id)) && +match[1] < options.length) {\n this.applyCompletion(view, options[+match[1]]);\n e.preventDefault();\n return;\n }\n }\n });\n this.dom.addEventListener(\"focusout\", (e) => {\n let state = view.state.field(this.stateField, false);\n if (state && state.tooltip && view.state.facet(completionConfig).closeOnBlur &&\n e.relatedTarget != view.contentDOM)\n view.dispatch({ effects: closeCompletionEffect.of(null) });\n });\n this.showOptions(options, cState.id);\n }\n mount() { this.updateSel(); }\n showOptions(options, id) {\n if (this.list)\n this.list.remove();\n this.list = this.dom.appendChild(this.createListBox(options, id, this.range));\n this.list.addEventListener(\"scroll\", () => {\n if (this.info)\n this.view.requestMeasure(this.placeInfoReq);\n });\n }\n update(update) {\n var _a;\n let cState = update.state.field(this.stateField);\n let prevState = update.startState.field(this.stateField);\n this.updateTooltipClass(update.state);\n if (cState != prevState) {\n let { options, selected, disabled } = cState.open;\n if (!prevState.open || prevState.open.options != options) {\n this.range = rangeAroundSelected(options.length, selected, update.state.facet(completionConfig).maxRenderedOptions);\n this.showOptions(options, cState.id);\n }\n this.updateSel();\n if (disabled != ((_a = prevState.open) === null || _a === void 0 ? void 0 : _a.disabled))\n this.dom.classList.toggle(\"cm-tooltip-autocomplete-disabled\", !!disabled);\n }\n }\n updateTooltipClass(state) {\n let cls = this.tooltipClass(state);\n if (cls != this.currentClass) {\n for (let c of this.currentClass.split(\" \"))\n if (c)\n this.dom.classList.remove(c);\n for (let c of cls.split(\" \"))\n if (c)\n this.dom.classList.add(c);\n this.currentClass = cls;\n }\n }\n positioned(space) {\n this.space = space;\n if (this.info)\n this.view.requestMeasure(this.placeInfoReq);\n }\n updateSel() {\n let cState = this.view.state.field(this.stateField), open = cState.open;\n if (open.selected > -1 && open.selected < this.range.from || open.selected >= this.range.to) {\n this.range = rangeAroundSelected(open.options.length, open.selected, this.view.state.facet(completionConfig).maxRenderedOptions);\n this.showOptions(open.options, cState.id);\n }\n if (this.updateSelectedOption(open.selected)) {\n this.destroyInfo();\n let { completion } = open.options[open.selected];\n let { info } = completion;\n if (!info)\n return;\n let infoResult = typeof info === \"string\" ? document.createTextNode(info) : info(completion);\n if (!infoResult)\n return;\n if (\"then\" in infoResult) {\n infoResult.then(obj => {\n if (obj && this.view.state.field(this.stateField, false) == cState)\n this.addInfoPane(obj, completion);\n }).catch(e => logException(this.view.state, e, \"completion info\"));\n }\n else {\n this.addInfoPane(infoResult, completion);\n }\n }\n }\n addInfoPane(content, completion) {\n this.destroyInfo();\n let wrap = this.info = document.createElement(\"div\");\n wrap.className = \"cm-tooltip cm-completionInfo\";\n if (content.nodeType != null) {\n wrap.appendChild(content);\n this.infoDestroy = null;\n }\n else {\n let { dom, destroy } = content;\n wrap.appendChild(dom);\n this.infoDestroy = destroy || null;\n }\n this.dom.appendChild(wrap);\n this.view.requestMeasure(this.placeInfoReq);\n }\n updateSelectedOption(selected) {\n let set = null;\n for (let opt = this.list.firstChild, i = this.range.from; opt; opt = opt.nextSibling, i++) {\n if (opt.nodeName != \"LI\" || !opt.id) {\n i--; // A section header\n }\n else if (i == selected) {\n if (!opt.hasAttribute(\"aria-selected\")) {\n opt.setAttribute(\"aria-selected\", \"true\");\n set = opt;\n }\n }\n else {\n if (opt.hasAttribute(\"aria-selected\"))\n opt.removeAttribute(\"aria-selected\");\n }\n }\n if (set)\n scrollIntoView(this.list, set);\n return set;\n }\n measureInfo() {\n let sel = this.dom.querySelector(\"[aria-selected]\");\n if (!sel || !this.info)\n return null;\n let listRect = this.dom.getBoundingClientRect();\n let infoRect = this.info.getBoundingClientRect();\n let selRect = sel.getBoundingClientRect();\n let space = this.space;\n if (!space) {\n let docElt = this.dom.ownerDocument.documentElement;\n space = { left: 0, top: 0, right: docElt.clientWidth, bottom: docElt.clientHeight };\n }\n if (selRect.top > Math.min(space.bottom, listRect.bottom) - 10 ||\n selRect.bottom < Math.max(space.top, listRect.top) + 10)\n return null;\n return this.view.state.facet(completionConfig).positionInfo(this.view, listRect, selRect, infoRect, space, this.dom);\n }\n placeInfo(pos) {\n if (this.info) {\n if (pos) {\n if (pos.style)\n this.info.style.cssText = pos.style;\n this.info.className = \"cm-tooltip cm-completionInfo \" + (pos.class || \"\");\n }\n else {\n this.info.style.cssText = \"top: -1e6px\";\n }\n }\n }\n createListBox(options, id, range) {\n const ul = document.createElement(\"ul\");\n ul.id = id;\n ul.setAttribute(\"role\", \"listbox\");\n ul.setAttribute(\"aria-expanded\", \"true\");\n ul.setAttribute(\"aria-label\", this.view.state.phrase(\"Completions\"));\n ul.addEventListener(\"mousedown\", e => {\n // Prevent focus change when clicking the scrollbar\n if (e.target == ul)\n e.preventDefault();\n });\n let curSection = null;\n for (let i = range.from; i < range.to; i++) {\n let { completion, match } = options[i], { section } = completion;\n if (section) {\n let name = typeof section == \"string\" ? section : section.name;\n if (name != curSection && (i > range.from || range.from == 0)) {\n curSection = name;\n if (typeof section != \"string\" && section.header) {\n ul.appendChild(section.header(section));\n }\n else {\n let header = ul.appendChild(document.createElement(\"completion-section\"));\n header.textContent = name;\n }\n }\n }\n const li = ul.appendChild(document.createElement(\"li\"));\n li.id = id + \"-\" + i;\n li.setAttribute(\"role\", \"option\");\n let cls = this.optionClass(completion);\n if (cls)\n li.className = cls;\n for (let source of this.optionContent) {\n let node = source(completion, this.view.state, this.view, match);\n if (node)\n li.appendChild(node);\n }\n }\n if (range.from)\n ul.classList.add(\"cm-completionListIncompleteTop\");\n if (range.to < options.length)\n ul.classList.add(\"cm-completionListIncompleteBottom\");\n return ul;\n }\n destroyInfo() {\n if (this.info) {\n if (this.infoDestroy)\n this.infoDestroy();\n this.info.remove();\n this.info = null;\n }\n }\n destroy() {\n this.destroyInfo();\n }\n}\nfunction completionTooltip(stateField, applyCompletion) {\n return (view) => new CompletionTooltip(view, stateField, applyCompletion);\n}\nfunction scrollIntoView(container, element) {\n let parent = container.getBoundingClientRect();\n let self = element.getBoundingClientRect();\n let scaleY = parent.height / container.offsetHeight;\n if (self.top < parent.top)\n container.scrollTop -= (parent.top - self.top) / scaleY;\n else if (self.bottom > parent.bottom)\n container.scrollTop += (self.bottom - parent.bottom) / scaleY;\n}\n\n// Used to pick a preferred option when two options with the same\n// label occur in the result.\nfunction score(option) {\n return (option.boost || 0) * 100 + (option.apply ? 10 : 0) + (option.info ? 5 : 0) +\n (option.type ? 1 : 0);\n}\nfunction sortOptions(active, state) {\n let options = [];\n let sections = null;\n let addOption = (option) => {\n options.push(option);\n let { section } = option.completion;\n if (section) {\n if (!sections)\n sections = [];\n let name = typeof section == \"string\" ? section : section.name;\n if (!sections.some(s => s.name == name))\n sections.push(typeof section == \"string\" ? { name } : section);\n }\n };\n let conf = state.facet(completionConfig);\n for (let a of active)\n if (a.hasResult()) {\n let getMatch = a.result.getMatch;\n if (a.result.filter === false) {\n for (let option of a.result.options) {\n addOption(new Option(option, a.source, getMatch ? getMatch(option) : [], 1e9 - options.length));\n }\n }\n else {\n let pattern = state.sliceDoc(a.from, a.to), match;\n let matcher = conf.filterStrict ? new StrictMatcher(pattern) : new FuzzyMatcher(pattern);\n for (let option of a.result.options)\n if (match = matcher.match(option.label)) {\n let matched = !option.displayLabel ? match.matched : getMatch ? getMatch(option, match.matched) : [];\n addOption(new Option(option, a.source, matched, match.score + (option.boost || 0)));\n }\n }\n }\n if (sections) {\n let sectionOrder = Object.create(null), pos = 0;\n let cmp = (a, b) => { var _a, _b; return ((_a = a.rank) !== null && _a !== void 0 ? _a : 1e9) - ((_b = b.rank) !== null && _b !== void 0 ? _b : 1e9) || (a.name < b.name ? -1 : 1); };\n for (let s of sections.sort(cmp)) {\n pos -= 1e5;\n sectionOrder[s.name] = pos;\n }\n for (let option of options) {\n let { section } = option.completion;\n if (section)\n option.score += sectionOrder[typeof section == \"string\" ? section : section.name];\n }\n }\n let result = [], prev = null;\n let compare = conf.compareCompletions;\n for (let opt of options.sort((a, b) => (b.score - a.score) || compare(a.completion, b.completion))) {\n let cur = opt.completion;\n if (!prev || prev.label != cur.label || prev.detail != cur.detail ||\n (prev.type != null && cur.type != null && prev.type != cur.type) ||\n prev.apply != cur.apply || prev.boost != cur.boost)\n result.push(opt);\n else if (score(opt.completion) > score(prev))\n result[result.length - 1] = opt;\n prev = opt.completion;\n }\n return result;\n}\nclass CompletionDialog {\n constructor(options, attrs, tooltip, timestamp, selected, disabled) {\n this.options = options;\n this.attrs = attrs;\n this.tooltip = tooltip;\n this.timestamp = timestamp;\n this.selected = selected;\n this.disabled = disabled;\n }\n setSelected(selected, id) {\n return selected == this.selected || selected >= this.options.length ? this\n : new CompletionDialog(this.options, makeAttrs(id, selected), this.tooltip, this.timestamp, selected, this.disabled);\n }\n static build(active, state, id, prev, conf, didSetActive) {\n if (prev && !didSetActive && active.some(s => s.isPending))\n return prev.setDisabled();\n let options = sortOptions(active, state);\n if (!options.length)\n return prev && active.some(a => a.isPending) ? prev.setDisabled() : null;\n let selected = state.facet(completionConfig).selectOnOpen ? 0 : -1;\n if (prev && prev.selected != selected && prev.selected != -1) {\n let selectedValue = prev.options[prev.selected].completion;\n for (let i = 0; i < options.length; i++)\n if (options[i].completion == selectedValue) {\n selected = i;\n break;\n }\n }\n return new CompletionDialog(options, makeAttrs(id, selected), {\n pos: active.reduce((a, b) => b.hasResult() ? Math.min(a, b.from) : a, 1e8),\n create: createTooltip,\n above: conf.aboveCursor,\n }, prev ? prev.timestamp : Date.now(), selected, false);\n }\n map(changes) {\n return new CompletionDialog(this.options, this.attrs, Object.assign(Object.assign({}, this.tooltip), { pos: changes.mapPos(this.tooltip.pos) }), this.timestamp, this.selected, this.disabled);\n }\n setDisabled() {\n return new CompletionDialog(this.options, this.attrs, this.tooltip, this.timestamp, this.selected, true);\n }\n}\nclass CompletionState {\n constructor(active, id, open) {\n this.active = active;\n this.id = id;\n this.open = open;\n }\n static start() {\n return new CompletionState(none, \"cm-ac-\" + Math.floor(Math.random() * 2e6).toString(36), null);\n }\n update(tr) {\n let { state } = tr, conf = state.facet(completionConfig);\n let sources = conf.override ||\n state.languageDataAt(\"autocomplete\", cur(state)).map(asSource);\n let active = sources.map(source => {\n let value = this.active.find(s => s.source == source) ||\n new ActiveSource(source, this.active.some(a => a.state != 0 /* State.Inactive */) ? 1 /* State.Pending */ : 0 /* State.Inactive */);\n return value.update(tr, conf);\n });\n if (active.length == this.active.length && active.every((a, i) => a == this.active[i]))\n active = this.active;\n let open = this.open, didSet = tr.effects.some(e => e.is(setActiveEffect));\n if (open && tr.docChanged)\n open = open.map(tr.changes);\n if (tr.selection || active.some(a => a.hasResult() && tr.changes.touchesRange(a.from, a.to)) ||\n !sameResults(active, this.active) || didSet)\n open = CompletionDialog.build(active, state, this.id, open, conf, didSet);\n else if (open && open.disabled && !active.some(a => a.isPending))\n open = null;\n if (!open && active.every(a => !a.isPending) && active.some(a => a.hasResult()))\n active = active.map(a => a.hasResult() ? new ActiveSource(a.source, 0 /* State.Inactive */) : a);\n for (let effect of tr.effects)\n if (effect.is(setSelectedEffect))\n open = open && open.setSelected(effect.value, this.id);\n return active == this.active && open == this.open ? this : new CompletionState(active, this.id, open);\n }\n get tooltip() { return this.open ? this.open.tooltip : null; }\n get attrs() { return this.open ? this.open.attrs : this.active.length ? baseAttrs : noAttrs; }\n}\nfunction sameResults(a, b) {\n if (a == b)\n return true;\n for (let iA = 0, iB = 0;;) {\n while (iA < a.length && !a[iA].hasResult())\n iA++;\n while (iB < b.length && !b[iB].hasResult())\n iB++;\n let endA = iA == a.length, endB = iB == b.length;\n if (endA || endB)\n return endA == endB;\n if (a[iA++].result != b[iB++].result)\n return false;\n }\n}\nconst baseAttrs = {\n \"aria-autocomplete\": \"list\"\n};\nconst noAttrs = {};\nfunction makeAttrs(id, selected) {\n let result = {\n \"aria-autocomplete\": \"list\",\n \"aria-haspopup\": \"listbox\",\n \"aria-controls\": id\n };\n if (selected > -1)\n result[\"aria-activedescendant\"] = id + \"-\" + selected;\n return result;\n}\nconst none = [];\nfunction getUpdateType(tr, conf) {\n if (tr.isUserEvent(\"input.complete\")) {\n let completion = tr.annotation(pickedCompletion);\n if (completion && conf.activateOnCompletion(completion))\n return 4 /* UpdateType.Activate */ | 8 /* UpdateType.Reset */;\n }\n let typing = tr.isUserEvent(\"input.type\");\n return typing && conf.activateOnTyping ? 4 /* UpdateType.Activate */ | 1 /* UpdateType.Typing */\n : typing ? 1 /* UpdateType.Typing */\n : tr.isUserEvent(\"delete.backward\") ? 2 /* UpdateType.Backspacing */\n : tr.selection ? 8 /* UpdateType.Reset */\n : tr.docChanged ? 16 /* UpdateType.ResetIfTouching */ : 0 /* UpdateType.None */;\n}\nclass ActiveSource {\n constructor(source, state, explicit = false) {\n this.source = source;\n this.state = state;\n this.explicit = explicit;\n }\n hasResult() { return false; }\n get isPending() { return this.state == 1 /* State.Pending */; }\n update(tr, conf) {\n let type = getUpdateType(tr, conf), value = this;\n if ((type & 8 /* UpdateType.Reset */) || (type & 16 /* UpdateType.ResetIfTouching */) && this.touches(tr))\n value = new ActiveSource(value.source, 0 /* State.Inactive */);\n if ((type & 4 /* UpdateType.Activate */) && value.state == 0 /* State.Inactive */)\n value = new ActiveSource(this.source, 1 /* State.Pending */);\n value = value.updateFor(tr, type);\n for (let effect of tr.effects) {\n if (effect.is(startCompletionEffect))\n value = new ActiveSource(value.source, 1 /* State.Pending */, effect.value);\n else if (effect.is(closeCompletionEffect))\n value = new ActiveSource(value.source, 0 /* State.Inactive */);\n else if (effect.is(setActiveEffect))\n for (let active of effect.value)\n if (active.source == value.source)\n value = active;\n }\n return value;\n }\n updateFor(tr, type) { return this.map(tr.changes); }\n map(changes) { return this; }\n touches(tr) {\n return tr.changes.touchesRange(cur(tr.state));\n }\n}\nclass ActiveResult extends ActiveSource {\n constructor(source, explicit, limit, result, from, to) {\n super(source, 3 /* State.Result */, explicit);\n this.limit = limit;\n this.result = result;\n this.from = from;\n this.to = to;\n }\n hasResult() { return true; }\n updateFor(tr, type) {\n var _a;\n if (!(type & 3 /* UpdateType.SimpleInteraction */))\n return this.map(tr.changes);\n let result = this.result;\n if (result.map && !tr.changes.empty)\n result = result.map(result, tr.changes);\n let from = tr.changes.mapPos(this.from), to = tr.changes.mapPos(this.to, 1);\n let pos = cur(tr.state);\n if (pos > to || !result ||\n (type & 2 /* UpdateType.Backspacing */) && (cur(tr.startState) == this.from || pos < this.limit))\n return new ActiveSource(this.source, type & 4 /* UpdateType.Activate */ ? 1 /* State.Pending */ : 0 /* State.Inactive */);\n let limit = tr.changes.mapPos(this.limit);\n if (checkValid(result.validFor, tr.state, from, to))\n return new ActiveResult(this.source, this.explicit, limit, result, from, to);\n if (result.update &&\n (result = result.update(result, from, to, new CompletionContext(tr.state, pos, false))))\n return new ActiveResult(this.source, this.explicit, limit, result, result.from, (_a = result.to) !== null && _a !== void 0 ? _a : cur(tr.state));\n return new ActiveSource(this.source, 1 /* State.Pending */, this.explicit);\n }\n map(mapping) {\n if (mapping.empty)\n return this;\n let result = this.result.map ? this.result.map(this.result, mapping) : this.result;\n if (!result)\n return new ActiveSource(this.source, 0 /* State.Inactive */);\n return new ActiveResult(this.source, this.explicit, mapping.mapPos(this.limit), this.result, mapping.mapPos(this.from), mapping.mapPos(this.to, 1));\n }\n touches(tr) {\n return tr.changes.touchesRange(this.from, this.to);\n }\n}\nfunction checkValid(validFor, state, from, to) {\n if (!validFor)\n return false;\n let text = state.sliceDoc(from, to);\n return typeof validFor == \"function\" ? validFor(text, from, to, state) : ensureAnchor(validFor, true).test(text);\n}\nconst setActiveEffect = /*@__PURE__*/StateEffect.define({\n map(sources, mapping) { return sources.map(s => s.map(mapping)); }\n});\nconst setSelectedEffect = /*@__PURE__*/StateEffect.define();\nconst completionState = /*@__PURE__*/StateField.define({\n create() { return CompletionState.start(); },\n update(value, tr) { return value.update(tr); },\n provide: f => [\n showTooltip.from(f, val => val.tooltip),\n EditorView.contentAttributes.from(f, state => state.attrs)\n ]\n});\nfunction applyCompletion(view, option) {\n const apply = option.completion.apply || option.completion.label;\n let result = view.state.field(completionState).active.find(a => a.source == option.source);\n if (!(result instanceof ActiveResult))\n return false;\n if (typeof apply == \"string\")\n view.dispatch(Object.assign(Object.assign({}, insertCompletionText(view.state, apply, result.from, result.to)), { annotations: pickedCompletion.of(option.completion) }));\n else\n apply(view, option.completion, result.from, result.to);\n return true;\n}\nconst createTooltip = /*@__PURE__*/completionTooltip(completionState, applyCompletion);\n\n/**\nReturns a command that moves the completion selection forward or\nbackward by the given amount.\n*/\nfunction moveCompletionSelection(forward, by = \"option\") {\n return (view) => {\n let cState = view.state.field(completionState, false);\n if (!cState || !cState.open || cState.open.disabled ||\n Date.now() - cState.open.timestamp < view.state.facet(completionConfig).interactionDelay)\n return false;\n let step = 1, tooltip;\n if (by == \"page\" && (tooltip = getTooltip(view, cState.open.tooltip)))\n step = Math.max(2, Math.floor(tooltip.dom.offsetHeight /\n tooltip.dom.querySelector(\"li\").offsetHeight) - 1);\n let { length } = cState.open.options;\n let selected = cState.open.selected > -1 ? cState.open.selected + step * (forward ? 1 : -1) : forward ? 0 : length - 1;\n if (selected < 0)\n selected = by == \"page\" ? 0 : length - 1;\n else if (selected >= length)\n selected = by == \"page\" ? length - 1 : 0;\n view.dispatch({ effects: setSelectedEffect.of(selected) });\n return true;\n };\n}\n/**\nAccept the current completion.\n*/\nconst acceptCompletion = (view) => {\n let cState = view.state.field(completionState, false);\n if (view.state.readOnly || !cState || !cState.open || cState.open.selected < 0 || cState.open.disabled ||\n Date.now() - cState.open.timestamp < view.state.facet(completionConfig).interactionDelay)\n return false;\n return applyCompletion(view, cState.open.options[cState.open.selected]);\n};\n/**\nExplicitly start autocompletion.\n*/\nconst startCompletion = (view) => {\n let cState = view.state.field(completionState, false);\n if (!cState)\n return false;\n view.dispatch({ effects: startCompletionEffect.of(true) });\n return true;\n};\n/**\nClose the currently active completion.\n*/\nconst closeCompletion = (view) => {\n let cState = view.state.field(completionState, false);\n if (!cState || !cState.active.some(a => a.state != 0 /* State.Inactive */))\n return false;\n view.dispatch({ effects: closeCompletionEffect.of(null) });\n return true;\n};\nclass RunningQuery {\n constructor(active, context) {\n this.active = active;\n this.context = context;\n this.time = Date.now();\n this.updates = [];\n // Note that 'undefined' means 'not done yet', whereas 'null' means\n // 'query returned null'.\n this.done = undefined;\n }\n}\nconst MaxUpdateCount = 50, MinAbortTime = 1000;\nconst completionPlugin = /*@__PURE__*/ViewPlugin.fromClass(class {\n constructor(view) {\n this.view = view;\n this.debounceUpdate = -1;\n this.running = [];\n this.debounceAccept = -1;\n this.pendingStart = false;\n this.composing = 0 /* CompositionState.None */;\n for (let active of view.state.field(completionState).active)\n if (active.isPending)\n this.startQuery(active);\n }\n update(update) {\n let cState = update.state.field(completionState);\n let conf = update.state.facet(completionConfig);\n if (!update.selectionSet && !update.docChanged && update.startState.field(completionState) == cState)\n return;\n let doesReset = update.transactions.some(tr => {\n let type = getUpdateType(tr, conf);\n return (type & 8 /* UpdateType.Reset */) || (tr.selection || tr.docChanged) && !(type & 3 /* UpdateType.SimpleInteraction */);\n });\n for (let i = 0; i < this.running.length; i++) {\n let query = this.running[i];\n if (doesReset ||\n query.context.abortOnDocChange && update.docChanged ||\n query.updates.length + update.transactions.length > MaxUpdateCount && Date.now() - query.time > MinAbortTime) {\n for (let handler of query.context.abortListeners) {\n try {\n handler();\n }\n catch (e) {\n logException(this.view.state, e);\n }\n }\n query.context.abortListeners = null;\n this.running.splice(i--, 1);\n }\n else {\n query.updates.push(...update.transactions);\n }\n }\n if (this.debounceUpdate > -1)\n clearTimeout(this.debounceUpdate);\n if (update.transactions.some(tr => tr.effects.some(e => e.is(startCompletionEffect))))\n this.pendingStart = true;\n let delay = this.pendingStart ? 50 : conf.activateOnTypingDelay;\n this.debounceUpdate = cState.active.some(a => a.isPending && !this.running.some(q => q.active.source == a.source))\n ? setTimeout(() => this.startUpdate(), delay) : -1;\n if (this.composing != 0 /* CompositionState.None */)\n for (let tr of update.transactions) {\n if (tr.isUserEvent(\"input.type\"))\n this.composing = 2 /* CompositionState.Changed */;\n else if (this.composing == 2 /* CompositionState.Changed */ && tr.selection)\n this.composing = 3 /* CompositionState.ChangedAndMoved */;\n }\n }\n startUpdate() {\n this.debounceUpdate = -1;\n this.pendingStart = false;\n let { state } = this.view, cState = state.field(completionState);\n for (let active of cState.active) {\n if (active.isPending && !this.running.some(r => r.active.source == active.source))\n this.startQuery(active);\n }\n if (this.running.length && cState.open && cState.open.disabled)\n this.debounceAccept = setTimeout(() => this.accept(), this.view.state.facet(completionConfig).updateSyncTime);\n }\n startQuery(active) {\n let { state } = this.view, pos = cur(state);\n let context = new CompletionContext(state, pos, active.explicit, this.view);\n let pending = new RunningQuery(active, context);\n this.running.push(pending);\n Promise.resolve(active.source(context)).then(result => {\n if (!pending.context.aborted) {\n pending.done = result || null;\n this.scheduleAccept();\n }\n }, err => {\n this.view.dispatch({ effects: closeCompletionEffect.of(null) });\n logException(this.view.state, err);\n });\n }\n scheduleAccept() {\n if (this.running.every(q => q.done !== undefined))\n this.accept();\n else if (this.debounceAccept < 0)\n this.debounceAccept = setTimeout(() => this.accept(), this.view.state.facet(completionConfig).updateSyncTime);\n }\n // For each finished query in this.running, try to create a result\n // or, if appropriate, restart the query.\n accept() {\n var _a;\n if (this.debounceAccept > -1)\n clearTimeout(this.debounceAccept);\n this.debounceAccept = -1;\n let updated = [];\n let conf = this.view.state.facet(completionConfig), cState = this.view.state.field(completionState);\n for (let i = 0; i < this.running.length; i++) {\n let query = this.running[i];\n if (query.done === undefined)\n continue;\n this.running.splice(i--, 1);\n if (query.done) {\n let pos = cur(query.updates.length ? query.updates[0].startState : this.view.state);\n let limit = Math.min(pos, query.done.from + (query.active.explicit ? 0 : 1));\n let active = new ActiveResult(query.active.source, query.active.explicit, limit, query.done, query.done.from, (_a = query.done.to) !== null && _a !== void 0 ? _a : pos);\n // Replay the transactions that happened since the start of\n // the request and see if that preserves the result\n for (let tr of query.updates)\n active = active.update(tr, conf);\n if (active.hasResult()) {\n updated.push(active);\n continue;\n }\n }\n let current = cState.active.find(a => a.source == query.active.source);\n if (current && current.isPending) {\n if (query.done == null) {\n // Explicitly failed. Should clear the pending status if it\n // hasn't been re-set in the meantime.\n let active = new ActiveSource(query.active.source, 0 /* State.Inactive */);\n for (let tr of query.updates)\n active = active.update(tr, conf);\n if (!active.isPending)\n updated.push(active);\n }\n else {\n // Cleared by subsequent transactions. Restart.\n this.startQuery(current);\n }\n }\n }\n if (updated.length || cState.open && cState.open.disabled)\n this.view.dispatch({ effects: setActiveEffect.of(updated) });\n }\n}, {\n eventHandlers: {\n blur(event) {\n let state = this.view.state.field(completionState, false);\n if (state && state.tooltip && this.view.state.facet(completionConfig).closeOnBlur) {\n let dialog = state.open && getTooltip(this.view, state.open.tooltip);\n if (!dialog || !dialog.dom.contains(event.relatedTarget))\n setTimeout(() => this.view.dispatch({ effects: closeCompletionEffect.of(null) }), 10);\n }\n },\n compositionstart() {\n this.composing = 1 /* CompositionState.Started */;\n },\n compositionend() {\n if (this.composing == 3 /* CompositionState.ChangedAndMoved */) {\n // Safari fires compositionend events synchronously, possibly\n // from inside an update, so dispatch asynchronously to avoid reentrancy\n setTimeout(() => this.view.dispatch({ effects: startCompletionEffect.of(false) }), 20);\n }\n this.composing = 0 /* CompositionState.None */;\n }\n }\n});\nconst windows = typeof navigator == \"object\" && /*@__PURE__*//Win/.test(navigator.platform);\nconst commitCharacters = /*@__PURE__*/Prec.highest(/*@__PURE__*/EditorView.domEventHandlers({\n keydown(event, view) {\n let field = view.state.field(completionState, false);\n if (!field || !field.open || field.open.disabled || field.open.selected < 0 ||\n event.key.length > 1 || event.ctrlKey && !(windows && event.altKey) || event.metaKey)\n return false;\n let option = field.open.options[field.open.selected];\n let result = field.active.find(a => a.source == option.source);\n let commitChars = option.completion.commitCharacters || result.result.commitCharacters;\n if (commitChars && commitChars.indexOf(event.key) > -1)\n applyCompletion(view, option);\n return false;\n }\n}));\n\nconst baseTheme = /*@__PURE__*/EditorView.baseTheme({\n \".cm-tooltip.cm-tooltip-autocomplete\": {\n \"& > ul\": {\n fontFamily: \"monospace\",\n whiteSpace: \"nowrap\",\n overflow: \"hidden auto\",\n maxWidth_fallback: \"700px\",\n maxWidth: \"min(700px, 95vw)\",\n minWidth: \"250px\",\n maxHeight: \"10em\",\n height: \"100%\",\n listStyle: \"none\",\n margin: 0,\n padding: 0,\n \"& > li, & > completion-section\": {\n padding: \"1px 3px\",\n lineHeight: 1.2\n },\n \"& > li\": {\n overflowX: \"hidden\",\n textOverflow: \"ellipsis\",\n cursor: \"pointer\"\n },\n \"& > completion-section\": {\n display: \"list-item\",\n borderBottom: \"1px solid silver\",\n paddingLeft: \"0.5em\",\n opacity: 0.7\n }\n }\n },\n \"&light .cm-tooltip-autocomplete ul li[aria-selected]\": {\n background: \"#17c\",\n color: \"white\",\n },\n \"&light .cm-tooltip-autocomplete-disabled ul li[aria-selected]\": {\n background: \"#777\",\n },\n \"&dark .cm-tooltip-autocomplete ul li[aria-selected]\": {\n background: \"#347\",\n color: \"white\",\n },\n \"&dark .cm-tooltip-autocomplete-disabled ul li[aria-selected]\": {\n background: \"#444\",\n },\n \".cm-completionListIncompleteTop:before, .cm-completionListIncompleteBottom:after\": {\n content: '\"···\"',\n opacity: 0.5,\n display: \"block\",\n textAlign: \"center\"\n },\n \".cm-tooltip.cm-completionInfo\": {\n position: \"absolute\",\n padding: \"3px 9px\",\n width: \"max-content\",\n maxWidth: `${400 /* Info.Width */}px`,\n boxSizing: \"border-box\",\n whiteSpace: \"pre-line\"\n },\n \".cm-completionInfo.cm-completionInfo-left\": { right: \"100%\" },\n \".cm-completionInfo.cm-completionInfo-right\": { left: \"100%\" },\n \".cm-completionInfo.cm-completionInfo-left-narrow\": { right: `${30 /* Info.Margin */}px` },\n \".cm-completionInfo.cm-completionInfo-right-narrow\": { left: `${30 /* Info.Margin */}px` },\n \"&light .cm-snippetField\": { backgroundColor: \"#00000022\" },\n \"&dark .cm-snippetField\": { backgroundColor: \"#ffffff22\" },\n \".cm-snippetFieldPosition\": {\n verticalAlign: \"text-top\",\n width: 0,\n height: \"1.15em\",\n display: \"inline-block\",\n margin: \"0 -0.7px -.7em\",\n borderLeft: \"1.4px dotted #888\"\n },\n \".cm-completionMatchedText\": {\n textDecoration: \"underline\"\n },\n \".cm-completionDetail\": {\n marginLeft: \"0.5em\",\n fontStyle: \"italic\"\n },\n \".cm-completionIcon\": {\n fontSize: \"90%\",\n width: \".8em\",\n display: \"inline-block\",\n textAlign: \"center\",\n paddingRight: \".6em\",\n opacity: \"0.6\",\n boxSizing: \"content-box\"\n },\n \".cm-completionIcon-function, .cm-completionIcon-method\": {\n \"&:after\": { content: \"'ƒ'\" }\n },\n \".cm-completionIcon-class\": {\n \"&:after\": { content: \"'○'\" }\n },\n \".cm-completionIcon-interface\": {\n \"&:after\": { content: \"'◌'\" }\n },\n \".cm-completionIcon-variable\": {\n \"&:after\": { content: \"'𝑥'\" }\n },\n \".cm-completionIcon-constant\": {\n \"&:after\": { content: \"'𝐶'\" }\n },\n \".cm-completionIcon-type\": {\n \"&:after\": { content: \"'𝑡'\" }\n },\n \".cm-completionIcon-enum\": {\n \"&:after\": { content: \"'∪'\" }\n },\n \".cm-completionIcon-property\": {\n \"&:after\": { content: \"'□'\" }\n },\n \".cm-completionIcon-keyword\": {\n \"&:after\": { content: \"'🔑\\uFE0E'\" } // Disable emoji rendering\n },\n \".cm-completionIcon-namespace\": {\n \"&:after\": { content: \"'▢'\" }\n },\n \".cm-completionIcon-text\": {\n \"&:after\": { content: \"'abc'\", fontSize: \"50%\", verticalAlign: \"middle\" }\n }\n});\n\nclass FieldPos {\n constructor(field, line, from, to) {\n this.field = field;\n this.line = line;\n this.from = from;\n this.to = to;\n }\n}\nclass FieldRange {\n constructor(field, from, to) {\n this.field = field;\n this.from = from;\n this.to = to;\n }\n map(changes) {\n let from = changes.mapPos(this.from, -1, MapMode.TrackDel);\n let to = changes.mapPos(this.to, 1, MapMode.TrackDel);\n return from == null || to == null ? null : new FieldRange(this.field, from, to);\n }\n}\nclass Snippet {\n constructor(lines, fieldPositions) {\n this.lines = lines;\n this.fieldPositions = fieldPositions;\n }\n instantiate(state, pos) {\n let text = [], lineStart = [pos];\n let lineObj = state.doc.lineAt(pos), baseIndent = /^\\s*/.exec(lineObj.text)[0];\n for (let line of this.lines) {\n if (text.length) {\n let indent = baseIndent, tabs = /^\\t*/.exec(line)[0].length;\n for (let i = 0; i < tabs; i++)\n indent += state.facet(indentUnit);\n lineStart.push(pos + indent.length - tabs);\n line = indent + line.slice(tabs);\n }\n text.push(line);\n pos += line.length + 1;\n }\n let ranges = this.fieldPositions.map(pos => new FieldRange(pos.field, lineStart[pos.line] + pos.from, lineStart[pos.line] + pos.to));\n return { text, ranges };\n }\n static parse(template) {\n let fields = [];\n let lines = [], positions = [], m;\n for (let line of template.split(/\\r\\n?|\\n/)) {\n while (m = /[#$]\\{(?:(\\d+)(?::([^}]*))?|((?:\\\\[{}]|[^}])*))\\}/.exec(line)) {\n let seq = m[1] ? +m[1] : null, rawName = m[2] || m[3] || \"\", found = -1;\n let name = rawName.replace(/\\\\[{}]/g, m => m[1]);\n for (let i = 0; i < fields.length; i++) {\n if (seq != null ? fields[i].seq == seq : name ? fields[i].name == name : false)\n found = i;\n }\n if (found < 0) {\n let i = 0;\n while (i < fields.length && (seq == null || (fields[i].seq != null && fields[i].seq < seq)))\n i++;\n fields.splice(i, 0, { seq, name });\n found = i;\n for (let pos of positions)\n if (pos.field >= found)\n pos.field++;\n }\n positions.push(new FieldPos(found, lines.length, m.index, m.index + name.length));\n line = line.slice(0, m.index) + rawName + line.slice(m.index + m[0].length);\n }\n line = line.replace(/\\\\([{}])/g, (_, brace, index) => {\n for (let pos of positions)\n if (pos.line == lines.length && pos.from > index) {\n pos.from--;\n pos.to--;\n }\n return brace;\n });\n lines.push(line);\n }\n return new Snippet(lines, positions);\n }\n}\nlet fieldMarker = /*@__PURE__*/Decoration.widget({ widget: /*@__PURE__*/new class extends WidgetType {\n toDOM() {\n let span = document.createElement(\"span\");\n span.className = \"cm-snippetFieldPosition\";\n return span;\n }\n ignoreEvent() { return false; }\n } });\nlet fieldRange = /*@__PURE__*/Decoration.mark({ class: \"cm-snippetField\" });\nclass ActiveSnippet {\n constructor(ranges, active) {\n this.ranges = ranges;\n this.active = active;\n this.deco = Decoration.set(ranges.map(r => (r.from == r.to ? fieldMarker : fieldRange).range(r.from, r.to)));\n }\n map(changes) {\n let ranges = [];\n for (let r of this.ranges) {\n let mapped = r.map(changes);\n if (!mapped)\n return null;\n ranges.push(mapped);\n }\n return new ActiveSnippet(ranges, this.active);\n }\n selectionInsideField(sel) {\n return sel.ranges.every(range => this.ranges.some(r => r.field == this.active && r.from <= range.from && r.to >= range.to));\n }\n}\nconst setActive = /*@__PURE__*/StateEffect.define({\n map(value, changes) { return value && value.map(changes); }\n});\nconst moveToField = /*@__PURE__*/StateEffect.define();\nconst snippetState = /*@__PURE__*/StateField.define({\n create() { return null; },\n update(value, tr) {\n for (let effect of tr.effects) {\n if (effect.is(setActive))\n return effect.value;\n if (effect.is(moveToField) && value)\n return new ActiveSnippet(value.ranges, effect.value);\n }\n if (value && tr.docChanged)\n value = value.map(tr.changes);\n if (value && tr.selection && !value.selectionInsideField(tr.selection))\n value = null;\n return value;\n },\n provide: f => EditorView.decorations.from(f, val => val ? val.deco : Decoration.none)\n});\nfunction fieldSelection(ranges, field) {\n return EditorSelection.create(ranges.filter(r => r.field == field).map(r => EditorSelection.range(r.from, r.to)));\n}\n/**\nConvert a snippet template to a function that can\n[apply](https://codemirror.net/6/docs/ref/#autocomplete.Completion.apply) it. Snippets are written\nusing syntax like this:\n\n \"for (let ${index} = 0; ${index} < ${end}; ${index}++) {\\n\\t${}\\n}\"\n\nEach `${}` placeholder (you may also use `#{}`) indicates a field\nthat the user can fill in. Its name, if any, will be the default\ncontent for the field.\n\nWhen the snippet is activated by calling the returned function,\nthe code is inserted at the given position. Newlines in the\ntemplate are indented by the indentation of the start line, plus\none [indent unit](https://codemirror.net/6/docs/ref/#language.indentUnit) per tab character after\nthe newline.\n\nOn activation, (all instances of) the first field are selected.\nThe user can move between fields with Tab and Shift-Tab as long as\nthe fields are active. Moving to the last field or moving the\ncursor out of the current field deactivates the fields.\n\nThe order of fields defaults to textual order, but you can add\nnumbers to placeholders (`${1}` or `${1:defaultText}`) to provide\na custom order.\n\nTo include a literal `{` or `}` in your template, put a backslash\nin front of it. This will be removed and the brace will not be\ninterpreted as indicating a placeholder.\n*/\nfunction snippet(template) {\n let snippet = Snippet.parse(template);\n return (editor, completion, from, to) => {\n let { text, ranges } = snippet.instantiate(editor.state, from);\n let { main } = editor.state.selection;\n let spec = {\n changes: { from, to: to == main.from ? main.to : to, insert: Text.of(text) },\n scrollIntoView: true,\n annotations: completion ? [pickedCompletion.of(completion), Transaction.userEvent.of(\"input.complete\")] : undefined\n };\n if (ranges.length)\n spec.selection = fieldSelection(ranges, 0);\n if (ranges.some(r => r.field > 0)) {\n let active = new ActiveSnippet(ranges, 0);\n let effects = spec.effects = [setActive.of(active)];\n if (editor.state.field(snippetState, false) === undefined)\n effects.push(StateEffect.appendConfig.of([snippetState, addSnippetKeymap, snippetPointerHandler, baseTheme]));\n }\n editor.dispatch(editor.state.update(spec));\n };\n}\nfunction moveField(dir) {\n return ({ state, dispatch }) => {\n let active = state.field(snippetState, false);\n if (!active || dir < 0 && active.active == 0)\n return false;\n let next = active.active + dir, last = dir > 0 && !active.ranges.some(r => r.field == next + dir);\n dispatch(state.update({\n selection: fieldSelection(active.ranges, next),\n effects: setActive.of(last ? null : new ActiveSnippet(active.ranges, next)),\n scrollIntoView: true\n }));\n return true;\n };\n}\n/**\nA command that clears the active snippet, if any.\n*/\nconst clearSnippet = ({ state, dispatch }) => {\n let active = state.field(snippetState, false);\n if (!active)\n return false;\n dispatch(state.update({ effects: setActive.of(null) }));\n return true;\n};\n/**\nMove to the next snippet field, if available.\n*/\nconst nextSnippetField = /*@__PURE__*/moveField(1);\n/**\nMove to the previous snippet field, if available.\n*/\nconst prevSnippetField = /*@__PURE__*/moveField(-1);\n/**\nCheck if there is an active snippet with a next field for\n`nextSnippetField` to move to.\n*/\nfunction hasNextSnippetField(state) {\n let active = state.field(snippetState, false);\n return !!(active && active.ranges.some(r => r.field == active.active + 1));\n}\n/**\nReturns true if there is an active snippet and a previous field\nfor `prevSnippetField` to move to.\n*/\nfunction hasPrevSnippetField(state) {\n let active = state.field(snippetState, false);\n return !!(active && active.active > 0);\n}\nconst defaultSnippetKeymap = [\n { key: \"Tab\", run: nextSnippetField, shift: prevSnippetField },\n { key: \"Escape\", run: clearSnippet }\n];\n/**\nA facet that can be used to configure the key bindings used by\nsnippets. The default binds Tab to\n[`nextSnippetField`](https://codemirror.net/6/docs/ref/#autocomplete.nextSnippetField), Shift-Tab to\n[`prevSnippetField`](https://codemirror.net/6/docs/ref/#autocomplete.prevSnippetField), and Escape\nto [`clearSnippet`](https://codemirror.net/6/docs/ref/#autocomplete.clearSnippet).\n*/\nconst snippetKeymap = /*@__PURE__*/Facet.define({\n combine(maps) { return maps.length ? maps[0] : defaultSnippetKeymap; }\n});\nconst addSnippetKeymap = /*@__PURE__*/Prec.highest(/*@__PURE__*/keymap.compute([snippetKeymap], state => state.facet(snippetKeymap)));\n/**\nCreate a completion from a snippet. Returns an object with the\nproperties from `completion`, plus an `apply` function that\napplies the snippet.\n*/\nfunction snippetCompletion(template, completion) {\n return Object.assign(Object.assign({}, completion), { apply: snippet(template) });\n}\nconst snippetPointerHandler = /*@__PURE__*/EditorView.domEventHandlers({\n mousedown(event, view) {\n let active = view.state.field(snippetState, false), pos;\n if (!active || (pos = view.posAtCoords({ x: event.clientX, y: event.clientY })) == null)\n return false;\n let match = active.ranges.find(r => r.from <= pos && r.to >= pos);\n if (!match || match.field == active.active)\n return false;\n view.dispatch({\n selection: fieldSelection(active.ranges, match.field),\n effects: setActive.of(active.ranges.some(r => r.field > match.field)\n ? new ActiveSnippet(active.ranges, match.field) : null),\n scrollIntoView: true\n });\n return true;\n }\n});\n\nfunction wordRE(wordChars) {\n let escaped = wordChars.replace(/[\\]\\-\\\\]/g, \"\\\\$&\");\n try {\n return new RegExp(`[\\\\p{Alphabetic}\\\\p{Number}_${escaped}]+`, \"ug\");\n }\n catch (_a) {\n return new RegExp(`[\\w${escaped}]`, \"g\");\n }\n}\nfunction mapRE(re, f) {\n return new RegExp(f(re.source), re.unicode ? \"u\" : \"\");\n}\nconst wordCaches = /*@__PURE__*/Object.create(null);\nfunction wordCache(wordChars) {\n return wordCaches[wordChars] || (wordCaches[wordChars] = new WeakMap);\n}\nfunction storeWords(doc, wordRE, result, seen, ignoreAt) {\n for (let lines = doc.iterLines(), pos = 0; !lines.next().done;) {\n let { value } = lines, m;\n wordRE.lastIndex = 0;\n while (m = wordRE.exec(value)) {\n if (!seen[m[0]] && pos + m.index != ignoreAt) {\n result.push({ type: \"text\", label: m[0] });\n seen[m[0]] = true;\n if (result.length >= 2000 /* C.MaxList */)\n return;\n }\n }\n pos += value.length + 1;\n }\n}\nfunction collectWords(doc, cache, wordRE, to, ignoreAt) {\n let big = doc.length >= 1000 /* C.MinCacheLen */;\n let cached = big && cache.get(doc);\n if (cached)\n return cached;\n let result = [], seen = Object.create(null);\n if (doc.children) {\n let pos = 0;\n for (let ch of doc.children) {\n if (ch.length >= 1000 /* C.MinCacheLen */) {\n for (let c of collectWords(ch, cache, wordRE, to - pos, ignoreAt - pos)) {\n if (!seen[c.label]) {\n seen[c.label] = true;\n result.push(c);\n }\n }\n }\n else {\n storeWords(ch, wordRE, result, seen, ignoreAt - pos);\n }\n pos += ch.length + 1;\n }\n }\n else {\n storeWords(doc, wordRE, result, seen, ignoreAt);\n }\n if (big && result.length < 2000 /* C.MaxList */)\n cache.set(doc, result);\n return result;\n}\n/**\nA completion source that will scan the document for words (using a\n[character categorizer](https://codemirror.net/6/docs/ref/#state.EditorState.charCategorizer)), and\nreturn those as completions.\n*/\nconst completeAnyWord = context => {\n let wordChars = context.state.languageDataAt(\"wordChars\", context.pos).join(\"\");\n let re = wordRE(wordChars);\n let token = context.matchBefore(mapRE(re, s => s + \"$\"));\n if (!token && !context.explicit)\n return null;\n let from = token ? token.from : context.pos;\n let options = collectWords(context.state.doc, wordCache(wordChars), re, 50000 /* C.Range */, from);\n return { from, options, validFor: mapRE(re, s => \"^\" + s) };\n};\n\nconst defaults = {\n brackets: [\"(\", \"[\", \"{\", \"'\", '\"'],\n before: \")]}:;>\",\n stringPrefixes: []\n};\nconst closeBracketEffect = /*@__PURE__*/StateEffect.define({\n map(value, mapping) {\n let mapped = mapping.mapPos(value, -1, MapMode.TrackAfter);\n return mapped == null ? undefined : mapped;\n }\n});\nconst closedBracket = /*@__PURE__*/new class extends RangeValue {\n};\nclosedBracket.startSide = 1;\nclosedBracket.endSide = -1;\nconst bracketState = /*@__PURE__*/StateField.define({\n create() { return RangeSet.empty; },\n update(value, tr) {\n value = value.map(tr.changes);\n if (tr.selection) {\n let line = tr.state.doc.lineAt(tr.selection.main.head);\n value = value.update({ filter: from => from >= line.from && from <= line.to });\n }\n for (let effect of tr.effects)\n if (effect.is(closeBracketEffect))\n value = value.update({ add: [closedBracket.range(effect.value, effect.value + 1)] });\n return value;\n }\n});\n/**\nExtension to enable bracket-closing behavior. When a closeable\nbracket is typed, its closing bracket is immediately inserted\nafter the cursor. When closing a bracket directly in front of a\nclosing bracket inserted by the extension, the cursor moves over\nthat bracket.\n*/\nfunction closeBrackets() {\n return [inputHandler, bracketState];\n}\nconst definedClosing = \"()[]{}<>«»»«[]{}\";\nfunction closing(ch) {\n for (let i = 0; i < definedClosing.length; i += 2)\n if (definedClosing.charCodeAt(i) == ch)\n return definedClosing.charAt(i + 1);\n return fromCodePoint(ch < 128 ? ch : ch + 1);\n}\nfunction config(state, pos) {\n return state.languageDataAt(\"closeBrackets\", pos)[0] || defaults;\n}\nconst android = typeof navigator == \"object\" && /*@__PURE__*//Android\\b/.test(navigator.userAgent);\nconst inputHandler = /*@__PURE__*/EditorView.inputHandler.of((view, from, to, insert) => {\n if ((android ? view.composing : view.compositionStarted) || view.state.readOnly)\n return false;\n let sel = view.state.selection.main;\n if (insert.length > 2 || insert.length == 2 && codePointSize(codePointAt(insert, 0)) == 1 ||\n from != sel.from || to != sel.to)\n return false;\n let tr = insertBracket(view.state, insert);\n if (!tr)\n return false;\n view.dispatch(tr);\n return true;\n});\n/**\nCommand that implements deleting a pair of matching brackets when\nthe cursor is between them.\n*/\nconst deleteBracketPair = ({ state, dispatch }) => {\n if (state.readOnly)\n return false;\n let conf = config(state, state.selection.main.head);\n let tokens = conf.brackets || defaults.brackets;\n let dont = null, changes = state.changeByRange(range => {\n if (range.empty) {\n let before = prevChar(state.doc, range.head);\n for (let token of tokens) {\n if (token == before && nextChar(state.doc, range.head) == closing(codePointAt(token, 0)))\n return { changes: { from: range.head - token.length, to: range.head + token.length },\n range: EditorSelection.cursor(range.head - token.length) };\n }\n }\n return { range: dont = range };\n });\n if (!dont)\n dispatch(state.update(changes, { scrollIntoView: true, userEvent: \"delete.backward\" }));\n return !dont;\n};\n/**\nClose-brackets related key bindings. Binds Backspace to\n[`deleteBracketPair`](https://codemirror.net/6/docs/ref/#autocomplete.deleteBracketPair).\n*/\nconst closeBracketsKeymap = [\n { key: \"Backspace\", run: deleteBracketPair }\n];\n/**\nImplements the extension's behavior on text insertion. If the\ngiven string counts as a bracket in the language around the\nselection, and replacing the selection with it requires custom\nbehavior (inserting a closing version or skipping past a\npreviously-closed bracket), this function returns a transaction\nrepresenting that custom behavior. (You only need this if you want\nto programmatically insert brackets—the\n[`closeBrackets`](https://codemirror.net/6/docs/ref/#autocomplete.closeBrackets) extension will\ntake care of running this for user input.)\n*/\nfunction insertBracket(state, bracket) {\n let conf = config(state, state.selection.main.head);\n let tokens = conf.brackets || defaults.brackets;\n for (let tok of tokens) {\n let closed = closing(codePointAt(tok, 0));\n if (bracket == tok)\n return closed == tok ? handleSame(state, tok, tokens.indexOf(tok + tok + tok) > -1, conf)\n : handleOpen(state, tok, closed, conf.before || defaults.before);\n if (bracket == closed && closedBracketAt(state, state.selection.main.from))\n return handleClose(state, tok, closed);\n }\n return null;\n}\nfunction closedBracketAt(state, pos) {\n let found = false;\n state.field(bracketState).between(0, state.doc.length, from => {\n if (from == pos)\n found = true;\n });\n return found;\n}\nfunction nextChar(doc, pos) {\n let next = doc.sliceString(pos, pos + 2);\n return next.slice(0, codePointSize(codePointAt(next, 0)));\n}\nfunction prevChar(doc, pos) {\n let prev = doc.sliceString(pos - 2, pos);\n return codePointSize(codePointAt(prev, 0)) == prev.length ? prev : prev.slice(1);\n}\nfunction handleOpen(state, open, close, closeBefore) {\n let dont = null, changes = state.changeByRange(range => {\n if (!range.empty)\n return { changes: [{ insert: open, from: range.from }, { insert: close, from: range.to }],\n effects: closeBracketEffect.of(range.to + open.length),\n range: EditorSelection.range(range.anchor + open.length, range.head + open.length) };\n let next = nextChar(state.doc, range.head);\n if (!next || /\\s/.test(next) || closeBefore.indexOf(next) > -1)\n return { changes: { insert: open + close, from: range.head },\n effects: closeBracketEffect.of(range.head + open.length),\n range: EditorSelection.cursor(range.head + open.length) };\n return { range: dont = range };\n });\n return dont ? null : state.update(changes, {\n scrollIntoView: true,\n userEvent: \"input.type\"\n });\n}\nfunction handleClose(state, _open, close) {\n let dont = null, changes = state.changeByRange(range => {\n if (range.empty && nextChar(state.doc, range.head) == close)\n return { changes: { from: range.head, to: range.head + close.length, insert: close },\n range: EditorSelection.cursor(range.head + close.length) };\n return dont = { range };\n });\n return dont ? null : state.update(changes, {\n scrollIntoView: true,\n userEvent: \"input.type\"\n });\n}\n// Handles cases where the open and close token are the same, and\n// possibly triple quotes (as in `\"\"\"abc\"\"\"`-style quoting).\nfunction handleSame(state, token, allowTriple, config) {\n let stringPrefixes = config.stringPrefixes || defaults.stringPrefixes;\n let dont = null, changes = state.changeByRange(range => {\n if (!range.empty)\n return { changes: [{ insert: token, from: range.from }, { insert: token, from: range.to }],\n effects: closeBracketEffect.of(range.to + token.length),\n range: EditorSelection.range(range.anchor + token.length, range.head + token.length) };\n let pos = range.head, next = nextChar(state.doc, pos), start;\n if (next == token) {\n if (nodeStart(state, pos)) {\n return { changes: { insert: token + token, from: pos },\n effects: closeBracketEffect.of(pos + token.length),\n range: EditorSelection.cursor(pos + token.length) };\n }\n else if (closedBracketAt(state, pos)) {\n let isTriple = allowTriple && state.sliceDoc(pos, pos + token.length * 3) == token + token + token;\n let content = isTriple ? token + token + token : token;\n return { changes: { from: pos, to: pos + content.length, insert: content },\n range: EditorSelection.cursor(pos + content.length) };\n }\n }\n else if (allowTriple && state.sliceDoc(pos - 2 * token.length, pos) == token + token &&\n (start = canStartStringAt(state, pos - 2 * token.length, stringPrefixes)) > -1 &&\n nodeStart(state, start)) {\n return { changes: { insert: token + token + token + token, from: pos },\n effects: closeBracketEffect.of(pos + token.length),\n range: EditorSelection.cursor(pos + token.length) };\n }\n else if (state.charCategorizer(pos)(next) != CharCategory.Word) {\n if (canStartStringAt(state, pos, stringPrefixes) > -1 && !probablyInString(state, pos, token, stringPrefixes))\n return { changes: { insert: token + token, from: pos },\n effects: closeBracketEffect.of(pos + token.length),\n range: EditorSelection.cursor(pos + token.length) };\n }\n return { range: dont = range };\n });\n return dont ? null : state.update(changes, {\n scrollIntoView: true,\n userEvent: \"input.type\"\n });\n}\nfunction nodeStart(state, pos) {\n let tree = syntaxTree(state).resolveInner(pos + 1);\n return tree.parent && tree.from == pos;\n}\nfunction probablyInString(state, pos, quoteToken, prefixes) {\n let node = syntaxTree(state).resolveInner(pos, -1);\n let maxPrefix = prefixes.reduce((m, p) => Math.max(m, p.length), 0);\n for (let i = 0; i < 5; i++) {\n let start = state.sliceDoc(node.from, Math.min(node.to, node.from + quoteToken.length + maxPrefix));\n let quotePos = start.indexOf(quoteToken);\n if (!quotePos || quotePos > -1 && prefixes.indexOf(start.slice(0, quotePos)) > -1) {\n let first = node.firstChild;\n while (first && first.from == node.from && first.to - first.from > quoteToken.length + quotePos) {\n if (state.sliceDoc(first.to - quoteToken.length, first.to) == quoteToken)\n return false;\n first = first.firstChild;\n }\n return true;\n }\n let parent = node.to == pos && node.parent;\n if (!parent)\n break;\n node = parent;\n }\n return false;\n}\nfunction canStartStringAt(state, pos, prefixes) {\n let charCat = state.charCategorizer(pos);\n if (charCat(state.sliceDoc(pos - 1, pos)) != CharCategory.Word)\n return pos;\n for (let prefix of prefixes) {\n let start = pos - prefix.length;\n if (state.sliceDoc(start, pos) == prefix && charCat(state.sliceDoc(start - 1, start)) != CharCategory.Word)\n return start;\n }\n return -1;\n}\n\n/**\nReturns an extension that enables autocompletion.\n*/\nfunction autocompletion(config = {}) {\n return [\n commitCharacters,\n completionState,\n completionConfig.of(config),\n completionPlugin,\n completionKeymapExt,\n baseTheme\n ];\n}\n/**\nBasic keybindings for autocompletion.\n\n - Ctrl-Space (and Alt-\\` on macOS): [`startCompletion`](https://codemirror.net/6/docs/ref/#autocomplete.startCompletion)\n - Escape: [`closeCompletion`](https://codemirror.net/6/docs/ref/#autocomplete.closeCompletion)\n - ArrowDown: [`moveCompletionSelection`](https://codemirror.net/6/docs/ref/#autocomplete.moveCompletionSelection)`(true)`\n - ArrowUp: [`moveCompletionSelection`](https://codemirror.net/6/docs/ref/#autocomplete.moveCompletionSelection)`(false)`\n - PageDown: [`moveCompletionSelection`](https://codemirror.net/6/docs/ref/#autocomplete.moveCompletionSelection)`(true, \"page\")`\n - PageDown: [`moveCompletionSelection`](https://codemirror.net/6/docs/ref/#autocomplete.moveCompletionSelection)`(true, \"page\")`\n - Enter: [`acceptCompletion`](https://codemirror.net/6/docs/ref/#autocomplete.acceptCompletion)\n*/\nconst completionKeymap = [\n { key: \"Ctrl-Space\", run: startCompletion },\n { mac: \"Alt-`\", run: startCompletion },\n { key: \"Escape\", run: closeCompletion },\n { key: \"ArrowDown\", run: /*@__PURE__*/moveCompletionSelection(true) },\n { key: \"ArrowUp\", run: /*@__PURE__*/moveCompletionSelection(false) },\n { key: \"PageDown\", run: /*@__PURE__*/moveCompletionSelection(true, \"page\") },\n { key: \"PageUp\", run: /*@__PURE__*/moveCompletionSelection(false, \"page\") },\n { key: \"Enter\", run: acceptCompletion }\n];\nconst completionKeymapExt = /*@__PURE__*/Prec.highest(/*@__PURE__*/keymap.computeN([completionConfig], state => state.facet(completionConfig).defaultKeymap ? [completionKeymap] : []));\n/**\nGet the current completion status. When completions are available,\nthis will return `\"active\"`. When completions are pending (in the\nprocess of being queried), this returns `\"pending\"`. Otherwise, it\nreturns `null`.\n*/\nfunction completionStatus(state) {\n let cState = state.field(completionState, false);\n return cState && cState.active.some(a => a.isPending) ? \"pending\"\n : cState && cState.active.some(a => a.state != 0 /* State.Inactive */) ? \"active\" : null;\n}\nconst completionArrayCache = /*@__PURE__*/new WeakMap;\n/**\nReturns the available completions as an array.\n*/\nfunction currentCompletions(state) {\n var _a;\n let open = (_a = state.field(completionState, false)) === null || _a === void 0 ? void 0 : _a.open;\n if (!open || open.disabled)\n return [];\n let completions = completionArrayCache.get(open.options);\n if (!completions)\n completionArrayCache.set(open.options, completions = open.options.map(o => o.completion));\n return completions;\n}\n/**\nReturn the currently selected completion, if any.\n*/\nfunction selectedCompletion(state) {\n var _a;\n let open = (_a = state.field(completionState, false)) === null || _a === void 0 ? void 0 : _a.open;\n return open && !open.disabled && open.selected >= 0 ? open.options[open.selected].completion : null;\n}\n/**\nReturns the currently selected position in the active completion\nlist, or null if no completions are active.\n*/\nfunction selectedCompletionIndex(state) {\n var _a;\n let open = (_a = state.field(completionState, false)) === null || _a === void 0 ? void 0 : _a.open;\n return open && !open.disabled && open.selected >= 0 ? open.selected : null;\n}\n/**\nCreate an effect that can be attached to a transaction to change\nthe currently selected completion.\n*/\nfunction setSelectedCompletion(index) {\n return setSelectedEffect.of(index);\n}\n\nexport { CompletionContext, acceptCompletion, autocompletion, clearSnippet, closeBrackets, closeBracketsKeymap, closeCompletion, completeAnyWord, completeFromList, completionKeymap, completionStatus, currentCompletions, deleteBracketPair, hasNextSnippetField, hasPrevSnippetField, ifIn, ifNotIn, insertBracket, insertCompletionText, moveCompletionSelection, nextSnippetField, pickedCompletion, prevSnippetField, selectedCompletion, selectedCompletionIndex, setSelectedCompletion, snippet, snippetCompletion, snippetKeymap, startCompletion };\n","import { Annotation, Facet, combineConfig, StateField, Transaction, ChangeSet, ChangeDesc, EditorSelection, StateEffect, Text, findClusterBreak, countColumn, CharCategory } from '@codemirror/state';\nimport { EditorView, Direction } from '@codemirror/view';\nimport { IndentContext, getIndentation, indentString, matchBrackets, syntaxTree, getIndentUnit, indentUnit } from '@codemirror/language';\nimport { NodeProp } from '@lezer/common';\n\n/**\nComment or uncomment the current selection. Will use line comments\nif available, otherwise falling back to block comments.\n*/\nconst toggleComment = target => {\n let { state } = target, line = state.doc.lineAt(state.selection.main.from), config = getConfig(target.state, line.from);\n return config.line ? toggleLineComment(target) : config.block ? toggleBlockCommentByLine(target) : false;\n};\nfunction command(f, option) {\n return ({ state, dispatch }) => {\n if (state.readOnly)\n return false;\n let tr = f(option, state);\n if (!tr)\n return false;\n dispatch(state.update(tr));\n return true;\n };\n}\n/**\nComment or uncomment the current selection using line comments.\nThe line comment syntax is taken from the\n[`commentTokens`](https://codemirror.net/6/docs/ref/#commands.CommentTokens) [language\ndata](https://codemirror.net/6/docs/ref/#state.EditorState.languageDataAt).\n*/\nconst toggleLineComment = /*@__PURE__*/command(changeLineComment, 0 /* CommentOption.Toggle */);\n/**\nComment the current selection using line comments.\n*/\nconst lineComment = /*@__PURE__*/command(changeLineComment, 1 /* CommentOption.Comment */);\n/**\nUncomment the current selection using line comments.\n*/\nconst lineUncomment = /*@__PURE__*/command(changeLineComment, 2 /* CommentOption.Uncomment */);\n/**\nComment or uncomment the current selection using block comments.\nThe block comment syntax is taken from the\n[`commentTokens`](https://codemirror.net/6/docs/ref/#commands.CommentTokens) [language\ndata](https://codemirror.net/6/docs/ref/#state.EditorState.languageDataAt).\n*/\nconst toggleBlockComment = /*@__PURE__*/command(changeBlockComment, 0 /* CommentOption.Toggle */);\n/**\nComment the current selection using block comments.\n*/\nconst blockComment = /*@__PURE__*/command(changeBlockComment, 1 /* CommentOption.Comment */);\n/**\nUncomment the current selection using block comments.\n*/\nconst blockUncomment = /*@__PURE__*/command(changeBlockComment, 2 /* CommentOption.Uncomment */);\n/**\nComment or uncomment the lines around the current selection using\nblock comments.\n*/\nconst toggleBlockCommentByLine = /*@__PURE__*/command((o, s) => changeBlockComment(o, s, selectedLineRanges(s)), 0 /* CommentOption.Toggle */);\nfunction getConfig(state, pos) {\n let data = state.languageDataAt(\"commentTokens\", pos, 1);\n return data.length ? data[0] : {};\n}\nconst SearchMargin = 50;\n/**\nDetermines if the given range is block-commented in the given\nstate.\n*/\nfunction findBlockComment(state, { open, close }, from, to) {\n let textBefore = state.sliceDoc(from - SearchMargin, from);\n let textAfter = state.sliceDoc(to, to + SearchMargin);\n let spaceBefore = /\\s*$/.exec(textBefore)[0].length, spaceAfter = /^\\s*/.exec(textAfter)[0].length;\n let beforeOff = textBefore.length - spaceBefore;\n if (textBefore.slice(beforeOff - open.length, beforeOff) == open &&\n textAfter.slice(spaceAfter, spaceAfter + close.length) == close) {\n return { open: { pos: from - spaceBefore, margin: spaceBefore && 1 },\n close: { pos: to + spaceAfter, margin: spaceAfter && 1 } };\n }\n let startText, endText;\n if (to - from <= 2 * SearchMargin) {\n startText = endText = state.sliceDoc(from, to);\n }\n else {\n startText = state.sliceDoc(from, from + SearchMargin);\n endText = state.sliceDoc(to - SearchMargin, to);\n }\n let startSpace = /^\\s*/.exec(startText)[0].length, endSpace = /\\s*$/.exec(endText)[0].length;\n let endOff = endText.length - endSpace - close.length;\n if (startText.slice(startSpace, startSpace + open.length) == open &&\n endText.slice(endOff, endOff + close.length) == close) {\n return { open: { pos: from + startSpace + open.length,\n margin: /\\s/.test(startText.charAt(startSpace + open.length)) ? 1 : 0 },\n close: { pos: to - endSpace - close.length,\n margin: /\\s/.test(endText.charAt(endOff - 1)) ? 1 : 0 } };\n }\n return null;\n}\nfunction selectedLineRanges(state) {\n let ranges = [];\n for (let r of state.selection.ranges) {\n let fromLine = state.doc.lineAt(r.from);\n let toLine = r.to <= fromLine.to ? fromLine : state.doc.lineAt(r.to);\n if (toLine.from > fromLine.from && toLine.from == r.to)\n toLine = r.to == fromLine.to + 1 ? fromLine : state.doc.lineAt(r.to - 1);\n let last = ranges.length - 1;\n if (last >= 0 && ranges[last].to > fromLine.from)\n ranges[last].to = toLine.to;\n else\n ranges.push({ from: fromLine.from + /^\\s*/.exec(fromLine.text)[0].length, to: toLine.to });\n }\n return ranges;\n}\n// Performs toggle, comment and uncomment of block comments in\n// languages that support them.\nfunction changeBlockComment(option, state, ranges = state.selection.ranges) {\n let tokens = ranges.map(r => getConfig(state, r.from).block);\n if (!tokens.every(c => c))\n return null;\n let comments = ranges.map((r, i) => findBlockComment(state, tokens[i], r.from, r.to));\n if (option != 2 /* CommentOption.Uncomment */ && !comments.every(c => c)) {\n return { changes: state.changes(ranges.map((range, i) => {\n if (comments[i])\n return [];\n return [{ from: range.from, insert: tokens[i].open + \" \" }, { from: range.to, insert: \" \" + tokens[i].close }];\n })) };\n }\n else if (option != 1 /* CommentOption.Comment */ && comments.some(c => c)) {\n let changes = [];\n for (let i = 0, comment; i < comments.length; i++)\n if (comment = comments[i]) {\n let token = tokens[i], { open, close } = comment;\n changes.push({ from: open.pos - token.open.length, to: open.pos + open.margin }, { from: close.pos - close.margin, to: close.pos + token.close.length });\n }\n return { changes };\n }\n return null;\n}\n// Performs toggle, comment and uncomment of line comments.\nfunction changeLineComment(option, state, ranges = state.selection.ranges) {\n let lines = [];\n let prevLine = -1;\n for (let { from, to } of ranges) {\n let startI = lines.length, minIndent = 1e9;\n let token = getConfig(state, from).line;\n if (!token)\n continue;\n for (let pos = from; pos <= to;) {\n let line = state.doc.lineAt(pos);\n if (line.from > prevLine && (from == to || to > line.from)) {\n prevLine = line.from;\n let indent = /^\\s*/.exec(line.text)[0].length;\n let empty = indent == line.length;\n let comment = line.text.slice(indent, indent + token.length) == token ? indent : -1;\n if (indent < line.text.length && indent < minIndent)\n minIndent = indent;\n lines.push({ line, comment, token, indent, empty, single: false });\n }\n pos = line.to + 1;\n }\n if (minIndent < 1e9)\n for (let i = startI; i < lines.length; i++)\n if (lines[i].indent < lines[i].line.text.length)\n lines[i].indent = minIndent;\n if (lines.length == startI + 1)\n lines[startI].single = true;\n }\n if (option != 2 /* CommentOption.Uncomment */ && lines.some(l => l.comment < 0 && (!l.empty || l.single))) {\n let changes = [];\n for (let { line, token, indent, empty, single } of lines)\n if (single || !empty)\n changes.push({ from: line.from + indent, insert: token + \" \" });\n let changeSet = state.changes(changes);\n return { changes: changeSet, selection: state.selection.map(changeSet, 1) };\n }\n else if (option != 1 /* CommentOption.Comment */ && lines.some(l => l.comment >= 0)) {\n let changes = [];\n for (let { line, comment, token } of lines)\n if (comment >= 0) {\n let from = line.from + comment, to = from + token.length;\n if (line.text[to - line.from] == \" \")\n to++;\n changes.push({ from, to });\n }\n return { changes };\n }\n return null;\n}\n\nconst fromHistory = /*@__PURE__*/Annotation.define();\n/**\nTransaction annotation that will prevent that transaction from\nbeing combined with other transactions in the undo history. Given\n`\"before\"`, it'll prevent merging with previous transactions. With\n`\"after\"`, subsequent transactions won't be combined with this\none. With `\"full\"`, the transaction is isolated on both sides.\n*/\nconst isolateHistory = /*@__PURE__*/Annotation.define();\n/**\nThis facet provides a way to register functions that, given a\ntransaction, provide a set of effects that the history should\nstore when inverting the transaction. This can be used to\nintegrate some kinds of effects in the history, so that they can\nbe undone (and redone again).\n*/\nconst invertedEffects = /*@__PURE__*/Facet.define();\nconst historyConfig = /*@__PURE__*/Facet.define({\n combine(configs) {\n return combineConfig(configs, {\n minDepth: 100,\n newGroupDelay: 500,\n joinToEvent: (_t, isAdjacent) => isAdjacent,\n }, {\n minDepth: Math.max,\n newGroupDelay: Math.min,\n joinToEvent: (a, b) => (tr, adj) => a(tr, adj) || b(tr, adj)\n });\n }\n});\nconst historyField_ = /*@__PURE__*/StateField.define({\n create() {\n return HistoryState.empty;\n },\n update(state, tr) {\n let config = tr.state.facet(historyConfig);\n let fromHist = tr.annotation(fromHistory);\n if (fromHist) {\n let item = HistEvent.fromTransaction(tr, fromHist.selection), from = fromHist.side;\n let other = from == 0 /* BranchName.Done */ ? state.undone : state.done;\n if (item)\n other = updateBranch(other, other.length, config.minDepth, item);\n else\n other = addSelection(other, tr.startState.selection);\n return new HistoryState(from == 0 /* BranchName.Done */ ? fromHist.rest : other, from == 0 /* BranchName.Done */ ? other : fromHist.rest);\n }\n let isolate = tr.annotation(isolateHistory);\n if (isolate == \"full\" || isolate == \"before\")\n state = state.isolate();\n if (tr.annotation(Transaction.addToHistory) === false)\n return !tr.changes.empty ? state.addMapping(tr.changes.desc) : state;\n let event = HistEvent.fromTransaction(tr);\n let time = tr.annotation(Transaction.time), userEvent = tr.annotation(Transaction.userEvent);\n if (event)\n state = state.addChanges(event, time, userEvent, config, tr);\n else if (tr.selection)\n state = state.addSelection(tr.startState.selection, time, userEvent, config.newGroupDelay);\n if (isolate == \"full\" || isolate == \"after\")\n state = state.isolate();\n return state;\n },\n toJSON(value) {\n return { done: value.done.map(e => e.toJSON()), undone: value.undone.map(e => e.toJSON()) };\n },\n fromJSON(json) {\n return new HistoryState(json.done.map(HistEvent.fromJSON), json.undone.map(HistEvent.fromJSON));\n }\n});\n/**\nCreate a history extension with the given configuration.\n*/\nfunction history(config = {}) {\n return [\n historyField_,\n historyConfig.of(config),\n EditorView.domEventHandlers({\n beforeinput(e, view) {\n let command = e.inputType == \"historyUndo\" ? undo : e.inputType == \"historyRedo\" ? redo : null;\n if (!command)\n return false;\n e.preventDefault();\n return command(view);\n }\n })\n ];\n}\n/**\nThe state field used to store the history data. Should probably\nonly be used when you want to\n[serialize](https://codemirror.net/6/docs/ref/#state.EditorState.toJSON) or\n[deserialize](https://codemirror.net/6/docs/ref/#state.EditorState^fromJSON) state objects in a way\nthat preserves history.\n*/\nconst historyField = historyField_;\nfunction cmd(side, selection) {\n return function ({ state, dispatch }) {\n if (!selection && state.readOnly)\n return false;\n let historyState = state.field(historyField_, false);\n if (!historyState)\n return false;\n let tr = historyState.pop(side, state, selection);\n if (!tr)\n return false;\n dispatch(tr);\n return true;\n };\n}\n/**\nUndo a single group of history events. Returns false if no group\nwas available.\n*/\nconst undo = /*@__PURE__*/cmd(0 /* BranchName.Done */, false);\n/**\nRedo a group of history events. Returns false if no group was\navailable.\n*/\nconst redo = /*@__PURE__*/cmd(1 /* BranchName.Undone */, false);\n/**\nUndo a change or selection change.\n*/\nconst undoSelection = /*@__PURE__*/cmd(0 /* BranchName.Done */, true);\n/**\nRedo a change or selection change.\n*/\nconst redoSelection = /*@__PURE__*/cmd(1 /* BranchName.Undone */, true);\nfunction depth(side) {\n return function (state) {\n let histState = state.field(historyField_, false);\n if (!histState)\n return 0;\n let branch = side == 0 /* BranchName.Done */ ? histState.done : histState.undone;\n return branch.length - (branch.length && !branch[0].changes ? 1 : 0);\n };\n}\n/**\nThe amount of undoable change events available in a given state.\n*/\nconst undoDepth = /*@__PURE__*/depth(0 /* BranchName.Done */);\n/**\nThe amount of redoable change events available in a given state.\n*/\nconst redoDepth = /*@__PURE__*/depth(1 /* BranchName.Undone */);\n// History events store groups of changes or effects that need to be\n// undone/redone together.\nclass HistEvent {\n constructor(\n // The changes in this event. Normal events hold at least one\n // change or effect. But it may be necessary to store selection\n // events before the first change, in which case a special type of\n // instance is created which doesn't hold any changes, with\n // changes == startSelection == undefined\n changes, \n // The effects associated with this event\n effects, \n // Accumulated mapping (from addToHistory==false) that should be\n // applied to events below this one.\n mapped, \n // The selection before this event\n startSelection, \n // Stores selection changes after this event, to be used for\n // selection undo/redo.\n selectionsAfter) {\n this.changes = changes;\n this.effects = effects;\n this.mapped = mapped;\n this.startSelection = startSelection;\n this.selectionsAfter = selectionsAfter;\n }\n setSelAfter(after) {\n return new HistEvent(this.changes, this.effects, this.mapped, this.startSelection, after);\n }\n toJSON() {\n var _a, _b, _c;\n return {\n changes: (_a = this.changes) === null || _a === void 0 ? void 0 : _a.toJSON(),\n mapped: (_b = this.mapped) === null || _b === void 0 ? void 0 : _b.toJSON(),\n startSelection: (_c = this.startSelection) === null || _c === void 0 ? void 0 : _c.toJSON(),\n selectionsAfter: this.selectionsAfter.map(s => s.toJSON())\n };\n }\n static fromJSON(json) {\n return new HistEvent(json.changes && ChangeSet.fromJSON(json.changes), [], json.mapped && ChangeDesc.fromJSON(json.mapped), json.startSelection && EditorSelection.fromJSON(json.startSelection), json.selectionsAfter.map(EditorSelection.fromJSON));\n }\n // This does not check `addToHistory` and such, it assumes the\n // transaction needs to be converted to an item. Returns null when\n // there are no changes or effects in the transaction.\n static fromTransaction(tr, selection) {\n let effects = none;\n for (let invert of tr.startState.facet(invertedEffects)) {\n let result = invert(tr);\n if (result.length)\n effects = effects.concat(result);\n }\n if (!effects.length && tr.changes.empty)\n return null;\n return new HistEvent(tr.changes.invert(tr.startState.doc), effects, undefined, selection || tr.startState.selection, none);\n }\n static selection(selections) {\n return new HistEvent(undefined, none, undefined, undefined, selections);\n }\n}\nfunction updateBranch(branch, to, maxLen, newEvent) {\n let start = to + 1 > maxLen + 20 ? to - maxLen - 1 : 0;\n let newBranch = branch.slice(start, to);\n newBranch.push(newEvent);\n return newBranch;\n}\nfunction isAdjacent(a, b) {\n let ranges = [], isAdjacent = false;\n a.iterChangedRanges((f, t) => ranges.push(f, t));\n b.iterChangedRanges((_f, _t, f, t) => {\n for (let i = 0; i < ranges.length;) {\n let from = ranges[i++], to = ranges[i++];\n if (t >= from && f <= to)\n isAdjacent = true;\n }\n });\n return isAdjacent;\n}\nfunction eqSelectionShape(a, b) {\n return a.ranges.length == b.ranges.length &&\n a.ranges.filter((r, i) => r.empty != b.ranges[i].empty).length === 0;\n}\nfunction conc(a, b) {\n return !a.length ? b : !b.length ? a : a.concat(b);\n}\nconst none = [];\nconst MaxSelectionsPerEvent = 200;\nfunction addSelection(branch, selection) {\n if (!branch.length) {\n return [HistEvent.selection([selection])];\n }\n else {\n let lastEvent = branch[branch.length - 1];\n let sels = lastEvent.selectionsAfter.slice(Math.max(0, lastEvent.selectionsAfter.length - MaxSelectionsPerEvent));\n if (sels.length && sels[sels.length - 1].eq(selection))\n return branch;\n sels.push(selection);\n return updateBranch(branch, branch.length - 1, 1e9, lastEvent.setSelAfter(sels));\n }\n}\n// Assumes the top item has one or more selectionAfter values\nfunction popSelection(branch) {\n let last = branch[branch.length - 1];\n let newBranch = branch.slice();\n newBranch[branch.length - 1] = last.setSelAfter(last.selectionsAfter.slice(0, last.selectionsAfter.length - 1));\n return newBranch;\n}\n// Add a mapping to the top event in the given branch. If this maps\n// away all the changes and effects in that item, drop it and\n// propagate the mapping to the next item.\nfunction addMappingToBranch(branch, mapping) {\n if (!branch.length)\n return branch;\n let length = branch.length, selections = none;\n while (length) {\n let event = mapEvent(branch[length - 1], mapping, selections);\n if (event.changes && !event.changes.empty || event.effects.length) { // Event survived mapping\n let result = branch.slice(0, length);\n result[length - 1] = event;\n return result;\n }\n else { // Drop this event, since there's no changes or effects left\n mapping = event.mapped;\n length--;\n selections = event.selectionsAfter;\n }\n }\n return selections.length ? [HistEvent.selection(selections)] : none;\n}\nfunction mapEvent(event, mapping, extraSelections) {\n let selections = conc(event.selectionsAfter.length ? event.selectionsAfter.map(s => s.map(mapping)) : none, extraSelections);\n // Change-less events don't store mappings (they are always the last event in a branch)\n if (!event.changes)\n return HistEvent.selection(selections);\n let mappedChanges = event.changes.map(mapping), before = mapping.mapDesc(event.changes, true);\n let fullMapping = event.mapped ? event.mapped.composeDesc(before) : before;\n return new HistEvent(mappedChanges, StateEffect.mapEffects(event.effects, mapping), fullMapping, event.startSelection.map(before), selections);\n}\nconst joinableUserEvent = /^(input\\.type|delete)($|\\.)/;\nclass HistoryState {\n constructor(done, undone, prevTime = 0, prevUserEvent = undefined) {\n this.done = done;\n this.undone = undone;\n this.prevTime = prevTime;\n this.prevUserEvent = prevUserEvent;\n }\n isolate() {\n return this.prevTime ? new HistoryState(this.done, this.undone) : this;\n }\n addChanges(event, time, userEvent, config, tr) {\n let done = this.done, lastEvent = done[done.length - 1];\n if (lastEvent && lastEvent.changes && !lastEvent.changes.empty && event.changes &&\n (!userEvent || joinableUserEvent.test(userEvent)) &&\n ((!lastEvent.selectionsAfter.length &&\n time - this.prevTime < config.newGroupDelay &&\n config.joinToEvent(tr, isAdjacent(lastEvent.changes, event.changes))) ||\n // For compose (but not compose.start) events, always join with previous event\n userEvent == \"input.type.compose\")) {\n done = updateBranch(done, done.length - 1, config.minDepth, new HistEvent(event.changes.compose(lastEvent.changes), conc(StateEffect.mapEffects(event.effects, lastEvent.changes), lastEvent.effects), lastEvent.mapped, lastEvent.startSelection, none));\n }\n else {\n done = updateBranch(done, done.length, config.minDepth, event);\n }\n return new HistoryState(done, none, time, userEvent);\n }\n addSelection(selection, time, userEvent, newGroupDelay) {\n let last = this.done.length ? this.done[this.done.length - 1].selectionsAfter : none;\n if (last.length > 0 &&\n time - this.prevTime < newGroupDelay &&\n userEvent == this.prevUserEvent && userEvent && /^select($|\\.)/.test(userEvent) &&\n eqSelectionShape(last[last.length - 1], selection))\n return this;\n return new HistoryState(addSelection(this.done, selection), this.undone, time, userEvent);\n }\n addMapping(mapping) {\n return new HistoryState(addMappingToBranch(this.done, mapping), addMappingToBranch(this.undone, mapping), this.prevTime, this.prevUserEvent);\n }\n pop(side, state, onlySelection) {\n let branch = side == 0 /* BranchName.Done */ ? this.done : this.undone;\n if (branch.length == 0)\n return null;\n let event = branch[branch.length - 1], selection = event.selectionsAfter[0] || state.selection;\n if (onlySelection && event.selectionsAfter.length) {\n return state.update({\n selection: event.selectionsAfter[event.selectionsAfter.length - 1],\n annotations: fromHistory.of({ side, rest: popSelection(branch), selection }),\n userEvent: side == 0 /* BranchName.Done */ ? \"select.undo\" : \"select.redo\",\n scrollIntoView: true\n });\n }\n else if (!event.changes) {\n return null;\n }\n else {\n let rest = branch.length == 1 ? none : branch.slice(0, branch.length - 1);\n if (event.mapped)\n rest = addMappingToBranch(rest, event.mapped);\n return state.update({\n changes: event.changes,\n selection: event.startSelection,\n effects: event.effects,\n annotations: fromHistory.of({ side, rest, selection }),\n filter: false,\n userEvent: side == 0 /* BranchName.Done */ ? \"undo\" : \"redo\",\n scrollIntoView: true\n });\n }\n }\n}\nHistoryState.empty = /*@__PURE__*/new HistoryState(none, none);\n/**\nDefault key bindings for the undo history.\n\n- Mod-z: [`undo`](https://codemirror.net/6/docs/ref/#commands.undo).\n- Mod-y (Mod-Shift-z on macOS) + Ctrl-Shift-z on Linux: [`redo`](https://codemirror.net/6/docs/ref/#commands.redo).\n- Mod-u: [`undoSelection`](https://codemirror.net/6/docs/ref/#commands.undoSelection).\n- Alt-u (Mod-Shift-u on macOS): [`redoSelection`](https://codemirror.net/6/docs/ref/#commands.redoSelection).\n*/\nconst historyKeymap = [\n { key: \"Mod-z\", run: undo, preventDefault: true },\n { key: \"Mod-y\", mac: \"Mod-Shift-z\", run: redo, preventDefault: true },\n { linux: \"Ctrl-Shift-z\", run: redo, preventDefault: true },\n { key: \"Mod-u\", run: undoSelection, preventDefault: true },\n { key: \"Alt-u\", mac: \"Mod-Shift-u\", run: redoSelection, preventDefault: true }\n];\n\nfunction updateSel(sel, by) {\n return EditorSelection.create(sel.ranges.map(by), sel.mainIndex);\n}\nfunction setSel(state, selection) {\n return state.update({ selection, scrollIntoView: true, userEvent: \"select\" });\n}\nfunction moveSel({ state, dispatch }, how) {\n let selection = updateSel(state.selection, how);\n if (selection.eq(state.selection, true))\n return false;\n dispatch(setSel(state, selection));\n return true;\n}\nfunction rangeEnd(range, forward) {\n return EditorSelection.cursor(forward ? range.to : range.from);\n}\nfunction cursorByChar(view, forward) {\n return moveSel(view, range => range.empty ? view.moveByChar(range, forward) : rangeEnd(range, forward));\n}\nfunction ltrAtCursor(view) {\n return view.textDirectionAt(view.state.selection.main.head) == Direction.LTR;\n}\n/**\nMove the selection one character to the left (which is backward in\nleft-to-right text, forward in right-to-left text).\n*/\nconst cursorCharLeft = view => cursorByChar(view, !ltrAtCursor(view));\n/**\nMove the selection one character to the right.\n*/\nconst cursorCharRight = view => cursorByChar(view, ltrAtCursor(view));\n/**\nMove the selection one character forward.\n*/\nconst cursorCharForward = view => cursorByChar(view, true);\n/**\nMove the selection one character backward.\n*/\nconst cursorCharBackward = view => cursorByChar(view, false);\nfunction byCharLogical(state, range, forward) {\n let pos = range.head, line = state.doc.lineAt(pos);\n if (pos == (forward ? line.to : line.from))\n pos = forward ? Math.min(state.doc.length, line.to + 1) : Math.max(0, line.from - 1);\n else\n pos = line.from + findClusterBreak(line.text, pos - line.from, forward);\n return EditorSelection.cursor(pos, forward ? -1 : 1);\n}\nfunction moveByCharLogical(target, forward) {\n return moveSel(target, range => range.empty ? byCharLogical(target.state, range, forward) : rangeEnd(range, forward));\n}\n/**\nMove the selection one character forward, in logical\n(non-text-direction-aware) string index order.\n*/\nconst cursorCharForwardLogical = target => moveByCharLogical(target, true);\n/**\nMove the selection one character backward, in logical string index\norder.\n*/\nconst cursorCharBackwardLogical = target => moveByCharLogical(target, false);\nfunction cursorByGroup(view, forward) {\n return moveSel(view, range => range.empty ? view.moveByGroup(range, forward) : rangeEnd(range, forward));\n}\n/**\nMove the selection to the left across one group of word or\nnon-word (but also non-space) characters.\n*/\nconst cursorGroupLeft = view => cursorByGroup(view, !ltrAtCursor(view));\n/**\nMove the selection one group to the right.\n*/\nconst cursorGroupRight = view => cursorByGroup(view, ltrAtCursor(view));\n/**\nMove the selection one group forward.\n*/\nconst cursorGroupForward = view => cursorByGroup(view, true);\n/**\nMove the selection one group backward.\n*/\nconst cursorGroupBackward = view => cursorByGroup(view, false);\nfunction toGroupStart(view, pos, start) {\n let categorize = view.state.charCategorizer(pos);\n let cat = categorize(start), initial = cat != CharCategory.Space;\n return (next) => {\n let nextCat = categorize(next);\n if (nextCat != CharCategory.Space)\n return initial && nextCat == cat;\n initial = false;\n return true;\n };\n}\n/**\nMove the cursor one group forward in the default Windows style,\nwhere it moves to the start of the next group.\n*/\nconst cursorGroupForwardWin = view => {\n return moveSel(view, range => range.empty\n ? view.moveByChar(range, true, start => toGroupStart(view, range.head, start))\n : rangeEnd(range, true));\n};\nconst segmenter = typeof Intl != \"undefined\" && Intl.Segmenter ?\n /*@__PURE__*/new (Intl.Segmenter)(undefined, { granularity: \"word\" }) : null;\nfunction moveBySubword(view, range, forward) {\n let categorize = view.state.charCategorizer(range.from);\n let cat = CharCategory.Space, pos = range.from, steps = 0;\n let done = false, sawUpper = false, sawLower = false;\n let step = (next) => {\n if (done)\n return false;\n pos += forward ? next.length : -next.length;\n let nextCat = categorize(next), ahead;\n if (nextCat == CharCategory.Word && next.charCodeAt(0) < 128 && /[\\W_]/.test(next))\n nextCat = -1; // Treat word punctuation specially\n if (cat == CharCategory.Space)\n cat = nextCat;\n if (cat != nextCat)\n return false;\n if (cat == CharCategory.Word) {\n if (next.toLowerCase() == next) {\n if (!forward && sawUpper)\n return false;\n sawLower = true;\n }\n else if (sawLower) {\n if (forward)\n return false;\n done = true;\n }\n else {\n if (sawUpper && forward && categorize(ahead = view.state.sliceDoc(pos, pos + 1)) == CharCategory.Word &&\n ahead.toLowerCase() == ahead)\n return false;\n sawUpper = true;\n }\n }\n steps++;\n return true;\n };\n let end = view.moveByChar(range, forward, start => {\n step(start);\n return step;\n });\n if (segmenter && cat == CharCategory.Word && end.from == range.from + steps * (forward ? 1 : -1)) {\n let from = Math.min(range.head, end.head), to = Math.max(range.head, end.head);\n let skipped = view.state.sliceDoc(from, to);\n if (skipped.length > 1 && /[\\u4E00-\\uffff]/.test(skipped)) {\n let segments = Array.from(segmenter.segment(skipped));\n if (segments.length > 1) {\n if (forward)\n return EditorSelection.cursor(range.head + segments[1].index, -1);\n return EditorSelection.cursor(end.head + segments[segments.length - 1].index, 1);\n }\n }\n }\n return end;\n}\nfunction cursorBySubword(view, forward) {\n return moveSel(view, range => range.empty ? moveBySubword(view, range, forward) : rangeEnd(range, forward));\n}\n/**\nMove the selection one group or camel-case subword forward.\n*/\nconst cursorSubwordForward = view => cursorBySubword(view, true);\n/**\nMove the selection one group or camel-case subword backward.\n*/\nconst cursorSubwordBackward = view => cursorBySubword(view, false);\nfunction interestingNode(state, node, bracketProp) {\n if (node.type.prop(bracketProp))\n return true;\n let len = node.to - node.from;\n return len && (len > 2 || /[^\\s,.;:]/.test(state.sliceDoc(node.from, node.to))) || node.firstChild;\n}\nfunction moveBySyntax(state, start, forward) {\n let pos = syntaxTree(state).resolveInner(start.head);\n let bracketProp = forward ? NodeProp.closedBy : NodeProp.openedBy;\n // Scan forward through child nodes to see if there's an interesting\n // node ahead.\n for (let at = start.head;;) {\n let next = forward ? pos.childAfter(at) : pos.childBefore(at);\n if (!next)\n break;\n if (interestingNode(state, next, bracketProp))\n pos = next;\n else\n at = forward ? next.to : next.from;\n }\n let bracket = pos.type.prop(bracketProp), match, newPos;\n if (bracket && (match = forward ? matchBrackets(state, pos.from, 1) : matchBrackets(state, pos.to, -1)) && match.matched)\n newPos = forward ? match.end.to : match.end.from;\n else\n newPos = forward ? pos.to : pos.from;\n return EditorSelection.cursor(newPos, forward ? -1 : 1);\n}\n/**\nMove the cursor over the next syntactic element to the left.\n*/\nconst cursorSyntaxLeft = view => moveSel(view, range => moveBySyntax(view.state, range, !ltrAtCursor(view)));\n/**\nMove the cursor over the next syntactic element to the right.\n*/\nconst cursorSyntaxRight = view => moveSel(view, range => moveBySyntax(view.state, range, ltrAtCursor(view)));\nfunction cursorByLine(view, forward) {\n return moveSel(view, range => {\n if (!range.empty)\n return rangeEnd(range, forward);\n let moved = view.moveVertically(range, forward);\n return moved.head != range.head ? moved : view.moveToLineBoundary(range, forward);\n });\n}\n/**\nMove the selection one line up.\n*/\nconst cursorLineUp = view => cursorByLine(view, false);\n/**\nMove the selection one line down.\n*/\nconst cursorLineDown = view => cursorByLine(view, true);\nfunction pageInfo(view) {\n let selfScroll = view.scrollDOM.clientHeight < view.scrollDOM.scrollHeight - 2;\n let marginTop = 0, marginBottom = 0, height;\n if (selfScroll) {\n for (let source of view.state.facet(EditorView.scrollMargins)) {\n let margins = source(view);\n if (margins === null || margins === void 0 ? void 0 : margins.top)\n marginTop = Math.max(margins === null || margins === void 0 ? void 0 : margins.top, marginTop);\n if (margins === null || margins === void 0 ? void 0 : margins.bottom)\n marginBottom = Math.max(margins === null || margins === void 0 ? void 0 : margins.bottom, marginBottom);\n }\n height = view.scrollDOM.clientHeight - marginTop - marginBottom;\n }\n else {\n height = (view.dom.ownerDocument.defaultView || window).innerHeight;\n }\n return { marginTop, marginBottom, selfScroll,\n height: Math.max(view.defaultLineHeight, height - 5) };\n}\nfunction cursorByPage(view, forward) {\n let page = pageInfo(view);\n let { state } = view, selection = updateSel(state.selection, range => {\n return range.empty ? view.moveVertically(range, forward, page.height)\n : rangeEnd(range, forward);\n });\n if (selection.eq(state.selection))\n return false;\n let effect;\n if (page.selfScroll) {\n let startPos = view.coordsAtPos(state.selection.main.head);\n let scrollRect = view.scrollDOM.getBoundingClientRect();\n let scrollTop = scrollRect.top + page.marginTop, scrollBottom = scrollRect.bottom - page.marginBottom;\n if (startPos && startPos.top > scrollTop && startPos.bottom < scrollBottom)\n effect = EditorView.scrollIntoView(selection.main.head, { y: \"start\", yMargin: startPos.top - scrollTop });\n }\n view.dispatch(setSel(state, selection), { effects: effect });\n return true;\n}\n/**\nMove the selection one page up.\n*/\nconst cursorPageUp = view => cursorByPage(view, false);\n/**\nMove the selection one page down.\n*/\nconst cursorPageDown = view => cursorByPage(view, true);\nfunction moveByLineBoundary(view, start, forward) {\n let line = view.lineBlockAt(start.head), moved = view.moveToLineBoundary(start, forward);\n if (moved.head == start.head && moved.head != (forward ? line.to : line.from))\n moved = view.moveToLineBoundary(start, forward, false);\n if (!forward && moved.head == line.from && line.length) {\n let space = /^\\s*/.exec(view.state.sliceDoc(line.from, Math.min(line.from + 100, line.to)))[0].length;\n if (space && start.head != line.from + space)\n moved = EditorSelection.cursor(line.from + space);\n }\n return moved;\n}\n/**\nMove the selection to the next line wrap point, or to the end of\nthe line if there isn't one left on this line.\n*/\nconst cursorLineBoundaryForward = view => moveSel(view, range => moveByLineBoundary(view, range, true));\n/**\nMove the selection to previous line wrap point, or failing that to\nthe start of the line. If the line is indented, and the cursor\nisn't already at the end of the indentation, this will move to the\nend of the indentation instead of the start of the line.\n*/\nconst cursorLineBoundaryBackward = view => moveSel(view, range => moveByLineBoundary(view, range, false));\n/**\nMove the selection one line wrap point to the left.\n*/\nconst cursorLineBoundaryLeft = view => moveSel(view, range => moveByLineBoundary(view, range, !ltrAtCursor(view)));\n/**\nMove the selection one line wrap point to the right.\n*/\nconst cursorLineBoundaryRight = view => moveSel(view, range => moveByLineBoundary(view, range, ltrAtCursor(view)));\n/**\nMove the selection to the start of the line.\n*/\nconst cursorLineStart = view => moveSel(view, range => EditorSelection.cursor(view.lineBlockAt(range.head).from, 1));\n/**\nMove the selection to the end of the line.\n*/\nconst cursorLineEnd = view => moveSel(view, range => EditorSelection.cursor(view.lineBlockAt(range.head).to, -1));\nfunction toMatchingBracket(state, dispatch, extend) {\n let found = false, selection = updateSel(state.selection, range => {\n let matching = matchBrackets(state, range.head, -1)\n || matchBrackets(state, range.head, 1)\n || (range.head > 0 && matchBrackets(state, range.head - 1, 1))\n || (range.head < state.doc.length && matchBrackets(state, range.head + 1, -1));\n if (!matching || !matching.end)\n return range;\n found = true;\n let head = matching.start.from == range.head ? matching.end.to : matching.end.from;\n return extend ? EditorSelection.range(range.anchor, head) : EditorSelection.cursor(head);\n });\n if (!found)\n return false;\n dispatch(setSel(state, selection));\n return true;\n}\n/**\nMove the selection to the bracket matching the one it is currently\non, if any.\n*/\nconst cursorMatchingBracket = ({ state, dispatch }) => toMatchingBracket(state, dispatch, false);\n/**\nExtend the selection to the bracket matching the one the selection\nhead is currently on, if any.\n*/\nconst selectMatchingBracket = ({ state, dispatch }) => toMatchingBracket(state, dispatch, true);\nfunction extendSel(target, how) {\n let selection = updateSel(target.state.selection, range => {\n let head = how(range);\n return EditorSelection.range(range.anchor, head.head, head.goalColumn, head.bidiLevel || undefined);\n });\n if (selection.eq(target.state.selection))\n return false;\n target.dispatch(setSel(target.state, selection));\n return true;\n}\nfunction selectByChar(view, forward) {\n return extendSel(view, range => view.moveByChar(range, forward));\n}\n/**\nMove the selection head one character to the left, while leaving\nthe anchor in place.\n*/\nconst selectCharLeft = view => selectByChar(view, !ltrAtCursor(view));\n/**\nMove the selection head one character to the right.\n*/\nconst selectCharRight = view => selectByChar(view, ltrAtCursor(view));\n/**\nMove the selection head one character forward.\n*/\nconst selectCharForward = view => selectByChar(view, true);\n/**\nMove the selection head one character backward.\n*/\nconst selectCharBackward = view => selectByChar(view, false);\n/**\nMove the selection head one character forward by logical\n(non-direction aware) string index order.\n*/\nconst selectCharForwardLogical = target => extendSel(target, range => byCharLogical(target.state, range, true));\n/**\nMove the selection head one character backward by logical string\nindex order.\n*/\nconst selectCharBackwardLogical = target => extendSel(target, range => byCharLogical(target.state, range, false));\nfunction selectByGroup(view, forward) {\n return extendSel(view, range => view.moveByGroup(range, forward));\n}\n/**\nMove the selection head one [group](https://codemirror.net/6/docs/ref/#commands.cursorGroupLeft) to\nthe left.\n*/\nconst selectGroupLeft = view => selectByGroup(view, !ltrAtCursor(view));\n/**\nMove the selection head one group to the right.\n*/\nconst selectGroupRight = view => selectByGroup(view, ltrAtCursor(view));\n/**\nMove the selection head one group forward.\n*/\nconst selectGroupForward = view => selectByGroup(view, true);\n/**\nMove the selection head one group backward.\n*/\nconst selectGroupBackward = view => selectByGroup(view, false);\n/**\nMove the selection head one group forward in the default Windows\nstyle, skipping to the start of the next group.\n*/\nconst selectGroupForwardWin = view => {\n return extendSel(view, range => view.moveByChar(range, true, start => toGroupStart(view, range.head, start)));\n};\nfunction selectBySubword(view, forward) {\n return extendSel(view, range => moveBySubword(view, range, forward));\n}\n/**\nMove the selection head one group or camel-case subword forward.\n*/\nconst selectSubwordForward = view => selectBySubword(view, true);\n/**\nMove the selection head one group or subword backward.\n*/\nconst selectSubwordBackward = view => selectBySubword(view, false);\n/**\nMove the selection head over the next syntactic element to the left.\n*/\nconst selectSyntaxLeft = view => extendSel(view, range => moveBySyntax(view.state, range, !ltrAtCursor(view)));\n/**\nMove the selection head over the next syntactic element to the right.\n*/\nconst selectSyntaxRight = view => extendSel(view, range => moveBySyntax(view.state, range, ltrAtCursor(view)));\nfunction selectByLine(view, forward) {\n return extendSel(view, range => view.moveVertically(range, forward));\n}\n/**\nMove the selection head one line up.\n*/\nconst selectLineUp = view => selectByLine(view, false);\n/**\nMove the selection head one line down.\n*/\nconst selectLineDown = view => selectByLine(view, true);\nfunction selectByPage(view, forward) {\n return extendSel(view, range => view.moveVertically(range, forward, pageInfo(view).height));\n}\n/**\nMove the selection head one page up.\n*/\nconst selectPageUp = view => selectByPage(view, false);\n/**\nMove the selection head one page down.\n*/\nconst selectPageDown = view => selectByPage(view, true);\n/**\nMove the selection head to the next line boundary.\n*/\nconst selectLineBoundaryForward = view => extendSel(view, range => moveByLineBoundary(view, range, true));\n/**\nMove the selection head to the previous line boundary.\n*/\nconst selectLineBoundaryBackward = view => extendSel(view, range => moveByLineBoundary(view, range, false));\n/**\nMove the selection head one line boundary to the left.\n*/\nconst selectLineBoundaryLeft = view => extendSel(view, range => moveByLineBoundary(view, range, !ltrAtCursor(view)));\n/**\nMove the selection head one line boundary to the right.\n*/\nconst selectLineBoundaryRight = view => extendSel(view, range => moveByLineBoundary(view, range, ltrAtCursor(view)));\n/**\nMove the selection head to the start of the line.\n*/\nconst selectLineStart = view => extendSel(view, range => EditorSelection.cursor(view.lineBlockAt(range.head).from));\n/**\nMove the selection head to the end of the line.\n*/\nconst selectLineEnd = view => extendSel(view, range => EditorSelection.cursor(view.lineBlockAt(range.head).to));\n/**\nMove the selection to the start of the document.\n*/\nconst cursorDocStart = ({ state, dispatch }) => {\n dispatch(setSel(state, { anchor: 0 }));\n return true;\n};\n/**\nMove the selection to the end of the document.\n*/\nconst cursorDocEnd = ({ state, dispatch }) => {\n dispatch(setSel(state, { anchor: state.doc.length }));\n return true;\n};\n/**\nMove the selection head to the start of the document.\n*/\nconst selectDocStart = ({ state, dispatch }) => {\n dispatch(setSel(state, { anchor: state.selection.main.anchor, head: 0 }));\n return true;\n};\n/**\nMove the selection head to the end of the document.\n*/\nconst selectDocEnd = ({ state, dispatch }) => {\n dispatch(setSel(state, { anchor: state.selection.main.anchor, head: state.doc.length }));\n return true;\n};\n/**\nSelect the entire document.\n*/\nconst selectAll = ({ state, dispatch }) => {\n dispatch(state.update({ selection: { anchor: 0, head: state.doc.length }, userEvent: \"select\" }));\n return true;\n};\n/**\nExpand the selection to cover entire lines.\n*/\nconst selectLine = ({ state, dispatch }) => {\n let ranges = selectedLineBlocks(state).map(({ from, to }) => EditorSelection.range(from, Math.min(to + 1, state.doc.length)));\n dispatch(state.update({ selection: EditorSelection.create(ranges), userEvent: \"select\" }));\n return true;\n};\n/**\nSelect the next syntactic construct that is larger than the\nselection. Note that this will only work insofar as the language\n[provider](https://codemirror.net/6/docs/ref/#language.language) you use builds up a full\nsyntax tree.\n*/\nconst selectParentSyntax = ({ state, dispatch }) => {\n let selection = updateSel(state.selection, range => {\n let tree = syntaxTree(state), stack = tree.resolveStack(range.from, 1);\n if (range.empty) {\n let stackBefore = tree.resolveStack(range.from, -1);\n if (stackBefore.node.from >= stack.node.from && stackBefore.node.to <= stack.node.to)\n stack = stackBefore;\n }\n for (let cur = stack; cur; cur = cur.next) {\n let { node } = cur;\n if (((node.from < range.from && node.to >= range.to) ||\n (node.to > range.to && node.from <= range.from)) &&\n cur.next)\n return EditorSelection.range(node.to, node.from);\n }\n return range;\n });\n if (selection.eq(state.selection))\n return false;\n dispatch(setSel(state, selection));\n return true;\n};\n/**\nSimplify the current selection. When multiple ranges are selected,\nreduce it to its main range. Otherwise, if the selection is\nnon-empty, convert it to a cursor selection.\n*/\nconst simplifySelection = ({ state, dispatch }) => {\n let cur = state.selection, selection = null;\n if (cur.ranges.length > 1)\n selection = EditorSelection.create([cur.main]);\n else if (!cur.main.empty)\n selection = EditorSelection.create([EditorSelection.cursor(cur.main.head)]);\n if (!selection)\n return false;\n dispatch(setSel(state, selection));\n return true;\n};\nfunction deleteBy(target, by) {\n if (target.state.readOnly)\n return false;\n let event = \"delete.selection\", { state } = target;\n let changes = state.changeByRange(range => {\n let { from, to } = range;\n if (from == to) {\n let towards = by(range);\n if (towards < from) {\n event = \"delete.backward\";\n towards = skipAtomic(target, towards, false);\n }\n else if (towards > from) {\n event = \"delete.forward\";\n towards = skipAtomic(target, towards, true);\n }\n from = Math.min(from, towards);\n to = Math.max(to, towards);\n }\n else {\n from = skipAtomic(target, from, false);\n to = skipAtomic(target, to, true);\n }\n return from == to ? { range } : { changes: { from, to }, range: EditorSelection.cursor(from, from < range.head ? -1 : 1) };\n });\n if (changes.changes.empty)\n return false;\n target.dispatch(state.update(changes, {\n scrollIntoView: true,\n userEvent: event,\n effects: event == \"delete.selection\" ? EditorView.announce.of(state.phrase(\"Selection deleted\")) : undefined\n }));\n return true;\n}\nfunction skipAtomic(target, pos, forward) {\n if (target instanceof EditorView)\n for (let ranges of target.state.facet(EditorView.atomicRanges).map(f => f(target)))\n ranges.between(pos, pos, (from, to) => {\n if (from < pos && to > pos)\n pos = forward ? to : from;\n });\n return pos;\n}\nconst deleteByChar = (target, forward, byIndentUnit) => deleteBy(target, range => {\n let pos = range.from, { state } = target, line = state.doc.lineAt(pos), before, targetPos;\n if (byIndentUnit && !forward && pos > line.from && pos < line.from + 200 &&\n !/[^ \\t]/.test(before = line.text.slice(0, pos - line.from))) {\n if (before[before.length - 1] == \"\\t\")\n return pos - 1;\n let col = countColumn(before, state.tabSize), drop = col % getIndentUnit(state) || getIndentUnit(state);\n for (let i = 0; i < drop && before[before.length - 1 - i] == \" \"; i++)\n pos--;\n targetPos = pos;\n }\n else {\n targetPos = findClusterBreak(line.text, pos - line.from, forward, forward) + line.from;\n if (targetPos == pos && line.number != (forward ? state.doc.lines : 1))\n targetPos += forward ? 1 : -1;\n else if (!forward && /[\\ufe00-\\ufe0f]/.test(line.text.slice(targetPos - line.from, pos - line.from)))\n targetPos = findClusterBreak(line.text, targetPos - line.from, false, false) + line.from;\n }\n return targetPos;\n});\n/**\nDelete the selection, or, for cursor selections, the character or\nindentation unit before the cursor.\n*/\nconst deleteCharBackward = view => deleteByChar(view, false, true);\n/**\nDelete the selection or the character before the cursor. Does not\nimplement any extended behavior like deleting whole indentation\nunits in one go.\n*/\nconst deleteCharBackwardStrict = view => deleteByChar(view, false, false);\n/**\nDelete the selection or the character after the cursor.\n*/\nconst deleteCharForward = view => deleteByChar(view, true, false);\nconst deleteByGroup = (target, forward) => deleteBy(target, range => {\n let pos = range.head, { state } = target, line = state.doc.lineAt(pos);\n let categorize = state.charCategorizer(pos);\n for (let cat = null;;) {\n if (pos == (forward ? line.to : line.from)) {\n if (pos == range.head && line.number != (forward ? state.doc.lines : 1))\n pos += forward ? 1 : -1;\n break;\n }\n let next = findClusterBreak(line.text, pos - line.from, forward) + line.from;\n let nextChar = line.text.slice(Math.min(pos, next) - line.from, Math.max(pos, next) - line.from);\n let nextCat = categorize(nextChar);\n if (cat != null && nextCat != cat)\n break;\n if (nextChar != \" \" || pos != range.head)\n cat = nextCat;\n pos = next;\n }\n return pos;\n});\n/**\nDelete the selection or backward until the end of the next\n[group](https://codemirror.net/6/docs/ref/#view.EditorView.moveByGroup), only skipping groups of\nwhitespace when they consist of a single space.\n*/\nconst deleteGroupBackward = target => deleteByGroup(target, false);\n/**\nDelete the selection or forward until the end of the next group.\n*/\nconst deleteGroupForward = target => deleteByGroup(target, true);\n/**\nDelete the selection, or, if it is a cursor selection, delete to\nthe end of the line. If the cursor is directly at the end of the\nline, delete the line break after it.\n*/\nconst deleteToLineEnd = view => deleteBy(view, range => {\n let lineEnd = view.lineBlockAt(range.head).to;\n return range.head < lineEnd ? lineEnd : Math.min(view.state.doc.length, range.head + 1);\n});\n/**\nDelete the selection, or, if it is a cursor selection, delete to\nthe start of the line. If the cursor is directly at the start of the\nline, delete the line break before it.\n*/\nconst deleteToLineStart = view => deleteBy(view, range => {\n let lineStart = view.lineBlockAt(range.head).from;\n return range.head > lineStart ? lineStart : Math.max(0, range.head - 1);\n});\n/**\nDelete the selection, or, if it is a cursor selection, delete to\nthe start of the line or the next line wrap before the cursor.\n*/\nconst deleteLineBoundaryBackward = view => deleteBy(view, range => {\n let lineStart = view.moveToLineBoundary(range, false).head;\n return range.head > lineStart ? lineStart : Math.max(0, range.head - 1);\n});\n/**\nDelete the selection, or, if it is a cursor selection, delete to\nthe end of the line or the next line wrap after the cursor.\n*/\nconst deleteLineBoundaryForward = view => deleteBy(view, range => {\n let lineStart = view.moveToLineBoundary(range, true).head;\n return range.head < lineStart ? lineStart : Math.min(view.state.doc.length, range.head + 1);\n});\n/**\nDelete all whitespace directly before a line end from the\ndocument.\n*/\nconst deleteTrailingWhitespace = ({ state, dispatch }) => {\n if (state.readOnly)\n return false;\n let changes = [];\n for (let pos = 0, prev = \"\", iter = state.doc.iter();;) {\n iter.next();\n if (iter.lineBreak || iter.done) {\n let trailing = prev.search(/\\s+$/);\n if (trailing > -1)\n changes.push({ from: pos - (prev.length - trailing), to: pos });\n if (iter.done)\n break;\n prev = \"\";\n }\n else {\n prev = iter.value;\n }\n pos += iter.value.length;\n }\n if (!changes.length)\n return false;\n dispatch(state.update({ changes, userEvent: \"delete\" }));\n return true;\n};\n/**\nReplace each selection range with a line break, leaving the cursor\non the line before the break.\n*/\nconst splitLine = ({ state, dispatch }) => {\n if (state.readOnly)\n return false;\n let changes = state.changeByRange(range => {\n return { changes: { from: range.from, to: range.to, insert: Text.of([\"\", \"\"]) },\n range: EditorSelection.cursor(range.from) };\n });\n dispatch(state.update(changes, { scrollIntoView: true, userEvent: \"input\" }));\n return true;\n};\n/**\nFlip the characters before and after the cursor(s).\n*/\nconst transposeChars = ({ state, dispatch }) => {\n if (state.readOnly)\n return false;\n let changes = state.changeByRange(range => {\n if (!range.empty || range.from == 0 || range.from == state.doc.length)\n return { range };\n let pos = range.from, line = state.doc.lineAt(pos);\n let from = pos == line.from ? pos - 1 : findClusterBreak(line.text, pos - line.from, false) + line.from;\n let to = pos == line.to ? pos + 1 : findClusterBreak(line.text, pos - line.from, true) + line.from;\n return { changes: { from, to, insert: state.doc.slice(pos, to).append(state.doc.slice(from, pos)) },\n range: EditorSelection.cursor(to) };\n });\n if (changes.changes.empty)\n return false;\n dispatch(state.update(changes, { scrollIntoView: true, userEvent: \"move.character\" }));\n return true;\n};\nfunction selectedLineBlocks(state) {\n let blocks = [], upto = -1;\n for (let range of state.selection.ranges) {\n let startLine = state.doc.lineAt(range.from), endLine = state.doc.lineAt(range.to);\n if (!range.empty && range.to == endLine.from)\n endLine = state.doc.lineAt(range.to - 1);\n if (upto >= startLine.number) {\n let prev = blocks[blocks.length - 1];\n prev.to = endLine.to;\n prev.ranges.push(range);\n }\n else {\n blocks.push({ from: startLine.from, to: endLine.to, ranges: [range] });\n }\n upto = endLine.number + 1;\n }\n return blocks;\n}\nfunction moveLine(state, dispatch, forward) {\n if (state.readOnly)\n return false;\n let changes = [], ranges = [];\n for (let block of selectedLineBlocks(state)) {\n if (forward ? block.to == state.doc.length : block.from == 0)\n continue;\n let nextLine = state.doc.lineAt(forward ? block.to + 1 : block.from - 1);\n let size = nextLine.length + 1;\n if (forward) {\n changes.push({ from: block.to, to: nextLine.to }, { from: block.from, insert: nextLine.text + state.lineBreak });\n for (let r of block.ranges)\n ranges.push(EditorSelection.range(Math.min(state.doc.length, r.anchor + size), Math.min(state.doc.length, r.head + size)));\n }\n else {\n changes.push({ from: nextLine.from, to: block.from }, { from: block.to, insert: state.lineBreak + nextLine.text });\n for (let r of block.ranges)\n ranges.push(EditorSelection.range(r.anchor - size, r.head - size));\n }\n }\n if (!changes.length)\n return false;\n dispatch(state.update({\n changes,\n scrollIntoView: true,\n selection: EditorSelection.create(ranges, state.selection.mainIndex),\n userEvent: \"move.line\"\n }));\n return true;\n}\n/**\nMove the selected lines up one line.\n*/\nconst moveLineUp = ({ state, dispatch }) => moveLine(state, dispatch, false);\n/**\nMove the selected lines down one line.\n*/\nconst moveLineDown = ({ state, dispatch }) => moveLine(state, dispatch, true);\nfunction copyLine(state, dispatch, forward) {\n if (state.readOnly)\n return false;\n let changes = [];\n for (let block of selectedLineBlocks(state)) {\n if (forward)\n changes.push({ from: block.from, insert: state.doc.slice(block.from, block.to) + state.lineBreak });\n else\n changes.push({ from: block.to, insert: state.lineBreak + state.doc.slice(block.from, block.to) });\n }\n dispatch(state.update({ changes, scrollIntoView: true, userEvent: \"input.copyline\" }));\n return true;\n}\n/**\nCreate a copy of the selected lines. Keep the selection in the top copy.\n*/\nconst copyLineUp = ({ state, dispatch }) => copyLine(state, dispatch, false);\n/**\nCreate a copy of the selected lines. Keep the selection in the bottom copy.\n*/\nconst copyLineDown = ({ state, dispatch }) => copyLine(state, dispatch, true);\n/**\nDelete selected lines.\n*/\nconst deleteLine = view => {\n if (view.state.readOnly)\n return false;\n let { state } = view, changes = state.changes(selectedLineBlocks(state).map(({ from, to }) => {\n if (from > 0)\n from--;\n else if (to < state.doc.length)\n to++;\n return { from, to };\n }));\n let selection = updateSel(state.selection, range => {\n let dist = undefined;\n if (view.lineWrapping) {\n let block = view.lineBlockAt(range.head), pos = view.coordsAtPos(range.head, range.assoc || 1);\n if (pos)\n dist = (block.bottom + view.documentTop) - pos.bottom + view.defaultLineHeight / 2;\n }\n return view.moveVertically(range, true, dist);\n }).map(changes);\n view.dispatch({ changes, selection, scrollIntoView: true, userEvent: \"delete.line\" });\n return true;\n};\n/**\nReplace the selection with a newline.\n*/\nconst insertNewline = ({ state, dispatch }) => {\n dispatch(state.update(state.replaceSelection(state.lineBreak), { scrollIntoView: true, userEvent: \"input\" }));\n return true;\n};\n/**\nReplace the selection with a newline and the same amount of\nindentation as the line above.\n*/\nconst insertNewlineKeepIndent = ({ state, dispatch }) => {\n dispatch(state.update(state.changeByRange(range => {\n let indent = /^\\s*/.exec(state.doc.lineAt(range.from).text)[0];\n return {\n changes: { from: range.from, to: range.to, insert: state.lineBreak + indent },\n range: EditorSelection.cursor(range.from + indent.length + 1)\n };\n }), { scrollIntoView: true, userEvent: \"input\" }));\n return true;\n};\nfunction isBetweenBrackets(state, pos) {\n if (/\\(\\)|\\[\\]|\\{\\}/.test(state.sliceDoc(pos - 1, pos + 1)))\n return { from: pos, to: pos };\n let context = syntaxTree(state).resolveInner(pos);\n let before = context.childBefore(pos), after = context.childAfter(pos), closedBy;\n if (before && after && before.to <= pos && after.from >= pos &&\n (closedBy = before.type.prop(NodeProp.closedBy)) && closedBy.indexOf(after.name) > -1 &&\n state.doc.lineAt(before.to).from == state.doc.lineAt(after.from).from &&\n !/\\S/.test(state.sliceDoc(before.to, after.from)))\n return { from: before.to, to: after.from };\n return null;\n}\n/**\nReplace the selection with a newline and indent the newly created\nline(s). If the current line consists only of whitespace, this\nwill also delete that whitespace. When the cursor is between\nmatching brackets, an additional newline will be inserted after\nthe cursor.\n*/\nconst insertNewlineAndIndent = /*@__PURE__*/newlineAndIndent(false);\n/**\nCreate a blank, indented line below the current line.\n*/\nconst insertBlankLine = /*@__PURE__*/newlineAndIndent(true);\nfunction newlineAndIndent(atEof) {\n return ({ state, dispatch }) => {\n if (state.readOnly)\n return false;\n let changes = state.changeByRange(range => {\n let { from, to } = range, line = state.doc.lineAt(from);\n let explode = !atEof && from == to && isBetweenBrackets(state, from);\n if (atEof)\n from = to = (to <= line.to ? line : state.doc.lineAt(to)).to;\n let cx = new IndentContext(state, { simulateBreak: from, simulateDoubleBreak: !!explode });\n let indent = getIndentation(cx, from);\n if (indent == null)\n indent = countColumn(/^\\s*/.exec(state.doc.lineAt(from).text)[0], state.tabSize);\n while (to < line.to && /\\s/.test(line.text[to - line.from]))\n to++;\n if (explode)\n ({ from, to } = explode);\n else if (from > line.from && from < line.from + 100 && !/\\S/.test(line.text.slice(0, from)))\n from = line.from;\n let insert = [\"\", indentString(state, indent)];\n if (explode)\n insert.push(indentString(state, cx.lineIndent(line.from, -1)));\n return { changes: { from, to, insert: Text.of(insert) },\n range: EditorSelection.cursor(from + 1 + insert[1].length) };\n });\n dispatch(state.update(changes, { scrollIntoView: true, userEvent: \"input\" }));\n return true;\n };\n}\nfunction changeBySelectedLine(state, f) {\n let atLine = -1;\n return state.changeByRange(range => {\n let changes = [];\n for (let pos = range.from; pos <= range.to;) {\n let line = state.doc.lineAt(pos);\n if (line.number > atLine && (range.empty || range.to > line.from)) {\n f(line, changes, range);\n atLine = line.number;\n }\n pos = line.to + 1;\n }\n let changeSet = state.changes(changes);\n return { changes,\n range: EditorSelection.range(changeSet.mapPos(range.anchor, 1), changeSet.mapPos(range.head, 1)) };\n });\n}\n/**\nAuto-indent the selected lines. This uses the [indentation service\nfacet](https://codemirror.net/6/docs/ref/#language.indentService) as source for auto-indent\ninformation.\n*/\nconst indentSelection = ({ state, dispatch }) => {\n if (state.readOnly)\n return false;\n let updated = Object.create(null);\n let context = new IndentContext(state, { overrideIndentation: start => {\n let found = updated[start];\n return found == null ? -1 : found;\n } });\n let changes = changeBySelectedLine(state, (line, changes, range) => {\n let indent = getIndentation(context, line.from);\n if (indent == null)\n return;\n if (!/\\S/.test(line.text))\n indent = 0;\n let cur = /^\\s*/.exec(line.text)[0];\n let norm = indentString(state, indent);\n if (cur != norm || range.from < line.from + cur.length) {\n updated[line.from] = indent;\n changes.push({ from: line.from, to: line.from + cur.length, insert: norm });\n }\n });\n if (!changes.changes.empty)\n dispatch(state.update(changes, { userEvent: \"indent\" }));\n return true;\n};\n/**\nAdd a [unit](https://codemirror.net/6/docs/ref/#language.indentUnit) of indentation to all selected\nlines.\n*/\nconst indentMore = ({ state, dispatch }) => {\n if (state.readOnly)\n return false;\n dispatch(state.update(changeBySelectedLine(state, (line, changes) => {\n changes.push({ from: line.from, insert: state.facet(indentUnit) });\n }), { userEvent: \"input.indent\" }));\n return true;\n};\n/**\nRemove a [unit](https://codemirror.net/6/docs/ref/#language.indentUnit) of indentation from all\nselected lines.\n*/\nconst indentLess = ({ state, dispatch }) => {\n if (state.readOnly)\n return false;\n dispatch(state.update(changeBySelectedLine(state, (line, changes) => {\n let space = /^\\s*/.exec(line.text)[0];\n if (!space)\n return;\n let col = countColumn(space, state.tabSize), keep = 0;\n let insert = indentString(state, Math.max(0, col - getIndentUnit(state)));\n while (keep < space.length && keep < insert.length && space.charCodeAt(keep) == insert.charCodeAt(keep))\n keep++;\n changes.push({ from: line.from + keep, to: line.from + space.length, insert: insert.slice(keep) });\n }), { userEvent: \"delete.dedent\" }));\n return true;\n};\n/**\nEnables or disables\n[tab-focus mode](https://codemirror.net/6/docs/ref/#view.EditorView.setTabFocusMode). While on, this\nprevents the editor's key bindings from capturing Tab or\nShift-Tab, making it possible for the user to move focus out of\nthe editor with the keyboard.\n*/\nconst toggleTabFocusMode = view => {\n view.setTabFocusMode();\n return true;\n};\n/**\nTemporarily enables [tab-focus\nmode](https://codemirror.net/6/docs/ref/#view.EditorView.setTabFocusMode) for two seconds or until\nanother key is pressed.\n*/\nconst temporarilySetTabFocusMode = view => {\n view.setTabFocusMode(2000);\n return true;\n};\n/**\nInsert a tab character at the cursor or, if something is selected,\nuse [`indentMore`](https://codemirror.net/6/docs/ref/#commands.indentMore) to indent the entire\nselection.\n*/\nconst insertTab = ({ state, dispatch }) => {\n if (state.selection.ranges.some(r => !r.empty))\n return indentMore({ state, dispatch });\n dispatch(state.update(state.replaceSelection(\"\\t\"), { scrollIntoView: true, userEvent: \"input\" }));\n return true;\n};\n/**\nArray of key bindings containing the Emacs-style bindings that are\navailable on macOS by default.\n\n - Ctrl-b: [`cursorCharLeft`](https://codemirror.net/6/docs/ref/#commands.cursorCharLeft) ([`selectCharLeft`](https://codemirror.net/6/docs/ref/#commands.selectCharLeft) with Shift)\n - Ctrl-f: [`cursorCharRight`](https://codemirror.net/6/docs/ref/#commands.cursorCharRight) ([`selectCharRight`](https://codemirror.net/6/docs/ref/#commands.selectCharRight) with Shift)\n - Ctrl-p: [`cursorLineUp`](https://codemirror.net/6/docs/ref/#commands.cursorLineUp) ([`selectLineUp`](https://codemirror.net/6/docs/ref/#commands.selectLineUp) with Shift)\n - Ctrl-n: [`cursorLineDown`](https://codemirror.net/6/docs/ref/#commands.cursorLineDown) ([`selectLineDown`](https://codemirror.net/6/docs/ref/#commands.selectLineDown) with Shift)\n - Ctrl-a: [`cursorLineStart`](https://codemirror.net/6/docs/ref/#commands.cursorLineStart) ([`selectLineStart`](https://codemirror.net/6/docs/ref/#commands.selectLineStart) with Shift)\n - Ctrl-e: [`cursorLineEnd`](https://codemirror.net/6/docs/ref/#commands.cursorLineEnd) ([`selectLineEnd`](https://codemirror.net/6/docs/ref/#commands.selectLineEnd) with Shift)\n - Ctrl-d: [`deleteCharForward`](https://codemirror.net/6/docs/ref/#commands.deleteCharForward)\n - Ctrl-h: [`deleteCharBackward`](https://codemirror.net/6/docs/ref/#commands.deleteCharBackward)\n - Ctrl-k: [`deleteToLineEnd`](https://codemirror.net/6/docs/ref/#commands.deleteToLineEnd)\n - Ctrl-Alt-h: [`deleteGroupBackward`](https://codemirror.net/6/docs/ref/#commands.deleteGroupBackward)\n - Ctrl-o: [`splitLine`](https://codemirror.net/6/docs/ref/#commands.splitLine)\n - Ctrl-t: [`transposeChars`](https://codemirror.net/6/docs/ref/#commands.transposeChars)\n - Ctrl-v: [`cursorPageDown`](https://codemirror.net/6/docs/ref/#commands.cursorPageDown)\n - Alt-v: [`cursorPageUp`](https://codemirror.net/6/docs/ref/#commands.cursorPageUp)\n*/\nconst emacsStyleKeymap = [\n { key: \"Ctrl-b\", run: cursorCharLeft, shift: selectCharLeft, preventDefault: true },\n { key: \"Ctrl-f\", run: cursorCharRight, shift: selectCharRight },\n { key: \"Ctrl-p\", run: cursorLineUp, shift: selectLineUp },\n { key: \"Ctrl-n\", run: cursorLineDown, shift: selectLineDown },\n { key: \"Ctrl-a\", run: cursorLineStart, shift: selectLineStart },\n { key: \"Ctrl-e\", run: cursorLineEnd, shift: selectLineEnd },\n { key: \"Ctrl-d\", run: deleteCharForward },\n { key: \"Ctrl-h\", run: deleteCharBackward },\n { key: \"Ctrl-k\", run: deleteToLineEnd },\n { key: \"Ctrl-Alt-h\", run: deleteGroupBackward },\n { key: \"Ctrl-o\", run: splitLine },\n { key: \"Ctrl-t\", run: transposeChars },\n { key: \"Ctrl-v\", run: cursorPageDown },\n];\n/**\nAn array of key bindings closely sticking to platform-standard or\nwidely used bindings. (This includes the bindings from\n[`emacsStyleKeymap`](https://codemirror.net/6/docs/ref/#commands.emacsStyleKeymap), with their `key`\nproperty changed to `mac`.)\n\n - ArrowLeft: [`cursorCharLeft`](https://codemirror.net/6/docs/ref/#commands.cursorCharLeft) ([`selectCharLeft`](https://codemirror.net/6/docs/ref/#commands.selectCharLeft) with Shift)\n - ArrowRight: [`cursorCharRight`](https://codemirror.net/6/docs/ref/#commands.cursorCharRight) ([`selectCharRight`](https://codemirror.net/6/docs/ref/#commands.selectCharRight) with Shift)\n - Ctrl-ArrowLeft (Alt-ArrowLeft on macOS): [`cursorGroupLeft`](https://codemirror.net/6/docs/ref/#commands.cursorGroupLeft) ([`selectGroupLeft`](https://codemirror.net/6/docs/ref/#commands.selectGroupLeft) with Shift)\n - Ctrl-ArrowRight (Alt-ArrowRight on macOS): [`cursorGroupRight`](https://codemirror.net/6/docs/ref/#commands.cursorGroupRight) ([`selectGroupRight`](https://codemirror.net/6/docs/ref/#commands.selectGroupRight) with Shift)\n - Cmd-ArrowLeft (on macOS): [`cursorLineStart`](https://codemirror.net/6/docs/ref/#commands.cursorLineStart) ([`selectLineStart`](https://codemirror.net/6/docs/ref/#commands.selectLineStart) with Shift)\n - Cmd-ArrowRight (on macOS): [`cursorLineEnd`](https://codemirror.net/6/docs/ref/#commands.cursorLineEnd) ([`selectLineEnd`](https://codemirror.net/6/docs/ref/#commands.selectLineEnd) with Shift)\n - ArrowUp: [`cursorLineUp`](https://codemirror.net/6/docs/ref/#commands.cursorLineUp) ([`selectLineUp`](https://codemirror.net/6/docs/ref/#commands.selectLineUp) with Shift)\n - ArrowDown: [`cursorLineDown`](https://codemirror.net/6/docs/ref/#commands.cursorLineDown) ([`selectLineDown`](https://codemirror.net/6/docs/ref/#commands.selectLineDown) with Shift)\n - Cmd-ArrowUp (on macOS): [`cursorDocStart`](https://codemirror.net/6/docs/ref/#commands.cursorDocStart) ([`selectDocStart`](https://codemirror.net/6/docs/ref/#commands.selectDocStart) with Shift)\n - Cmd-ArrowDown (on macOS): [`cursorDocEnd`](https://codemirror.net/6/docs/ref/#commands.cursorDocEnd) ([`selectDocEnd`](https://codemirror.net/6/docs/ref/#commands.selectDocEnd) with Shift)\n - Ctrl-ArrowUp (on macOS): [`cursorPageUp`](https://codemirror.net/6/docs/ref/#commands.cursorPageUp) ([`selectPageUp`](https://codemirror.net/6/docs/ref/#commands.selectPageUp) with Shift)\n - Ctrl-ArrowDown (on macOS): [`cursorPageDown`](https://codemirror.net/6/docs/ref/#commands.cursorPageDown) ([`selectPageDown`](https://codemirror.net/6/docs/ref/#commands.selectPageDown) with Shift)\n - PageUp: [`cursorPageUp`](https://codemirror.net/6/docs/ref/#commands.cursorPageUp) ([`selectPageUp`](https://codemirror.net/6/docs/ref/#commands.selectPageUp) with Shift)\n - PageDown: [`cursorPageDown`](https://codemirror.net/6/docs/ref/#commands.cursorPageDown) ([`selectPageDown`](https://codemirror.net/6/docs/ref/#commands.selectPageDown) with Shift)\n - Home: [`cursorLineBoundaryBackward`](https://codemirror.net/6/docs/ref/#commands.cursorLineBoundaryBackward) ([`selectLineBoundaryBackward`](https://codemirror.net/6/docs/ref/#commands.selectLineBoundaryBackward) with Shift)\n - End: [`cursorLineBoundaryForward`](https://codemirror.net/6/docs/ref/#commands.cursorLineBoundaryForward) ([`selectLineBoundaryForward`](https://codemirror.net/6/docs/ref/#commands.selectLineBoundaryForward) with Shift)\n - Ctrl-Home (Cmd-Home on macOS): [`cursorDocStart`](https://codemirror.net/6/docs/ref/#commands.cursorDocStart) ([`selectDocStart`](https://codemirror.net/6/docs/ref/#commands.selectDocStart) with Shift)\n - Ctrl-End (Cmd-Home on macOS): [`cursorDocEnd`](https://codemirror.net/6/docs/ref/#commands.cursorDocEnd) ([`selectDocEnd`](https://codemirror.net/6/docs/ref/#commands.selectDocEnd) with Shift)\n - Enter and Shift-Enter: [`insertNewlineAndIndent`](https://codemirror.net/6/docs/ref/#commands.insertNewlineAndIndent)\n - Ctrl-a (Cmd-a on macOS): [`selectAll`](https://codemirror.net/6/docs/ref/#commands.selectAll)\n - Backspace: [`deleteCharBackward`](https://codemirror.net/6/docs/ref/#commands.deleteCharBackward)\n - Delete: [`deleteCharForward`](https://codemirror.net/6/docs/ref/#commands.deleteCharForward)\n - Ctrl-Backspace (Alt-Backspace on macOS): [`deleteGroupBackward`](https://codemirror.net/6/docs/ref/#commands.deleteGroupBackward)\n - Ctrl-Delete (Alt-Delete on macOS): [`deleteGroupForward`](https://codemirror.net/6/docs/ref/#commands.deleteGroupForward)\n - Cmd-Backspace (macOS): [`deleteLineBoundaryBackward`](https://codemirror.net/6/docs/ref/#commands.deleteLineBoundaryBackward).\n - Cmd-Delete (macOS): [`deleteLineBoundaryForward`](https://codemirror.net/6/docs/ref/#commands.deleteLineBoundaryForward).\n*/\nconst standardKeymap = /*@__PURE__*/[\n { key: \"ArrowLeft\", run: cursorCharLeft, shift: selectCharLeft, preventDefault: true },\n { key: \"Mod-ArrowLeft\", mac: \"Alt-ArrowLeft\", run: cursorGroupLeft, shift: selectGroupLeft, preventDefault: true },\n { mac: \"Cmd-ArrowLeft\", run: cursorLineBoundaryLeft, shift: selectLineBoundaryLeft, preventDefault: true },\n { key: \"ArrowRight\", run: cursorCharRight, shift: selectCharRight, preventDefault: true },\n { key: \"Mod-ArrowRight\", mac: \"Alt-ArrowRight\", run: cursorGroupRight, shift: selectGroupRight, preventDefault: true },\n { mac: \"Cmd-ArrowRight\", run: cursorLineBoundaryRight, shift: selectLineBoundaryRight, preventDefault: true },\n { key: \"ArrowUp\", run: cursorLineUp, shift: selectLineUp, preventDefault: true },\n { mac: \"Cmd-ArrowUp\", run: cursorDocStart, shift: selectDocStart },\n { mac: \"Ctrl-ArrowUp\", run: cursorPageUp, shift: selectPageUp },\n { key: \"ArrowDown\", run: cursorLineDown, shift: selectLineDown, preventDefault: true },\n { mac: \"Cmd-ArrowDown\", run: cursorDocEnd, shift: selectDocEnd },\n { mac: \"Ctrl-ArrowDown\", run: cursorPageDown, shift: selectPageDown },\n { key: \"PageUp\", run: cursorPageUp, shift: selectPageUp },\n { key: \"PageDown\", run: cursorPageDown, shift: selectPageDown },\n { key: \"Home\", run: cursorLineBoundaryBackward, shift: selectLineBoundaryBackward, preventDefault: true },\n { key: \"Mod-Home\", run: cursorDocStart, shift: selectDocStart },\n { key: \"End\", run: cursorLineBoundaryForward, shift: selectLineBoundaryForward, preventDefault: true },\n { key: \"Mod-End\", run: cursorDocEnd, shift: selectDocEnd },\n { key: \"Enter\", run: insertNewlineAndIndent, shift: insertNewlineAndIndent },\n { key: \"Mod-a\", run: selectAll },\n { key: \"Backspace\", run: deleteCharBackward, shift: deleteCharBackward },\n { key: \"Delete\", run: deleteCharForward },\n { key: \"Mod-Backspace\", mac: \"Alt-Backspace\", run: deleteGroupBackward },\n { key: \"Mod-Delete\", mac: \"Alt-Delete\", run: deleteGroupForward },\n { mac: \"Mod-Backspace\", run: deleteLineBoundaryBackward },\n { mac: \"Mod-Delete\", run: deleteLineBoundaryForward }\n].concat(/*@__PURE__*/emacsStyleKeymap.map(b => ({ mac: b.key, run: b.run, shift: b.shift })));\n/**\nThe default keymap. Includes all bindings from\n[`standardKeymap`](https://codemirror.net/6/docs/ref/#commands.standardKeymap) plus the following:\n\n- Alt-ArrowLeft (Ctrl-ArrowLeft on macOS): [`cursorSyntaxLeft`](https://codemirror.net/6/docs/ref/#commands.cursorSyntaxLeft) ([`selectSyntaxLeft`](https://codemirror.net/6/docs/ref/#commands.selectSyntaxLeft) with Shift)\n- Alt-ArrowRight (Ctrl-ArrowRight on macOS): [`cursorSyntaxRight`](https://codemirror.net/6/docs/ref/#commands.cursorSyntaxRight) ([`selectSyntaxRight`](https://codemirror.net/6/docs/ref/#commands.selectSyntaxRight) with Shift)\n- Alt-ArrowUp: [`moveLineUp`](https://codemirror.net/6/docs/ref/#commands.moveLineUp)\n- Alt-ArrowDown: [`moveLineDown`](https://codemirror.net/6/docs/ref/#commands.moveLineDown)\n- Shift-Alt-ArrowUp: [`copyLineUp`](https://codemirror.net/6/docs/ref/#commands.copyLineUp)\n- Shift-Alt-ArrowDown: [`copyLineDown`](https://codemirror.net/6/docs/ref/#commands.copyLineDown)\n- Escape: [`simplifySelection`](https://codemirror.net/6/docs/ref/#commands.simplifySelection)\n- Ctrl-Enter (Cmd-Enter on macOS): [`insertBlankLine`](https://codemirror.net/6/docs/ref/#commands.insertBlankLine)\n- Alt-l (Ctrl-l on macOS): [`selectLine`](https://codemirror.net/6/docs/ref/#commands.selectLine)\n- Ctrl-i (Cmd-i on macOS): [`selectParentSyntax`](https://codemirror.net/6/docs/ref/#commands.selectParentSyntax)\n- Ctrl-[ (Cmd-[ on macOS): [`indentLess`](https://codemirror.net/6/docs/ref/#commands.indentLess)\n- Ctrl-] (Cmd-] on macOS): [`indentMore`](https://codemirror.net/6/docs/ref/#commands.indentMore)\n- Ctrl-Alt-\\\\ (Cmd-Alt-\\\\ on macOS): [`indentSelection`](https://codemirror.net/6/docs/ref/#commands.indentSelection)\n- Shift-Ctrl-k (Shift-Cmd-k on macOS): [`deleteLine`](https://codemirror.net/6/docs/ref/#commands.deleteLine)\n- Shift-Ctrl-\\\\ (Shift-Cmd-\\\\ on macOS): [`cursorMatchingBracket`](https://codemirror.net/6/docs/ref/#commands.cursorMatchingBracket)\n- Ctrl-/ (Cmd-/ on macOS): [`toggleComment`](https://codemirror.net/6/docs/ref/#commands.toggleComment).\n- Shift-Alt-a: [`toggleBlockComment`](https://codemirror.net/6/docs/ref/#commands.toggleBlockComment).\n- Ctrl-m (Alt-Shift-m on macOS): [`toggleTabFocusMode`](https://codemirror.net/6/docs/ref/#commands.toggleTabFocusMode).\n*/\nconst defaultKeymap = /*@__PURE__*/[\n { key: \"Alt-ArrowLeft\", mac: \"Ctrl-ArrowLeft\", run: cursorSyntaxLeft, shift: selectSyntaxLeft },\n { key: \"Alt-ArrowRight\", mac: \"Ctrl-ArrowRight\", run: cursorSyntaxRight, shift: selectSyntaxRight },\n { key: \"Alt-ArrowUp\", run: moveLineUp },\n { key: \"Shift-Alt-ArrowUp\", run: copyLineUp },\n { key: \"Alt-ArrowDown\", run: moveLineDown },\n { key: \"Shift-Alt-ArrowDown\", run: copyLineDown },\n { key: \"Escape\", run: simplifySelection },\n { key: \"Mod-Enter\", run: insertBlankLine },\n { key: \"Alt-l\", mac: \"Ctrl-l\", run: selectLine },\n { key: \"Mod-i\", run: selectParentSyntax, preventDefault: true },\n { key: \"Mod-[\", run: indentLess },\n { key: \"Mod-]\", run: indentMore },\n { key: \"Mod-Alt-\\\\\", run: indentSelection },\n { key: \"Shift-Mod-k\", run: deleteLine },\n { key: \"Shift-Mod-\\\\\", run: cursorMatchingBracket },\n { key: \"Mod-/\", run: toggleComment },\n { key: \"Alt-A\", run: toggleBlockComment },\n { key: \"Ctrl-m\", mac: \"Shift-Alt-m\", run: toggleTabFocusMode },\n].concat(standardKeymap);\n/**\nA binding that binds Tab to [`indentMore`](https://codemirror.net/6/docs/ref/#commands.indentMore) and\nShift-Tab to [`indentLess`](https://codemirror.net/6/docs/ref/#commands.indentLess).\nPlease see the [Tab example](../../examples/tab/) before using\nthis.\n*/\nconst indentWithTab = { key: \"Tab\", run: indentMore, shift: indentLess };\n\nexport { blockComment, blockUncomment, copyLineDown, copyLineUp, cursorCharBackward, cursorCharBackwardLogical, cursorCharForward, cursorCharForwardLogical, cursorCharLeft, cursorCharRight, cursorDocEnd, cursorDocStart, cursorGroupBackward, cursorGroupForward, cursorGroupForwardWin, cursorGroupLeft, cursorGroupRight, cursorLineBoundaryBackward, cursorLineBoundaryForward, cursorLineBoundaryLeft, cursorLineBoundaryRight, cursorLineDown, cursorLineEnd, cursorLineStart, cursorLineUp, cursorMatchingBracket, cursorPageDown, cursorPageUp, cursorSubwordBackward, cursorSubwordForward, cursorSyntaxLeft, cursorSyntaxRight, defaultKeymap, deleteCharBackward, deleteCharBackwardStrict, deleteCharForward, deleteGroupBackward, deleteGroupForward, deleteLine, deleteLineBoundaryBackward, deleteLineBoundaryForward, deleteToLineEnd, deleteToLineStart, deleteTrailingWhitespace, emacsStyleKeymap, history, historyField, historyKeymap, indentLess, indentMore, indentSelection, indentWithTab, insertBlankLine, insertNewline, insertNewlineAndIndent, insertNewlineKeepIndent, insertTab, invertedEffects, isolateHistory, lineComment, lineUncomment, moveLineDown, moveLineUp, redo, redoDepth, redoSelection, selectAll, selectCharBackward, selectCharBackwardLogical, selectCharForward, selectCharForwardLogical, selectCharLeft, selectCharRight, selectDocEnd, selectDocStart, selectGroupBackward, selectGroupForward, selectGroupForwardWin, selectGroupLeft, selectGroupRight, selectLine, selectLineBoundaryBackward, selectLineBoundaryForward, selectLineBoundaryLeft, selectLineBoundaryRight, selectLineDown, selectLineEnd, selectLineStart, selectLineUp, selectMatchingBracket, selectPageDown, selectPageUp, selectParentSyntax, selectSubwordBackward, selectSubwordForward, selectSyntaxLeft, selectSyntaxRight, simplifySelection, splitLine, standardKeymap, temporarilySetTabFocusMode, toggleBlockComment, toggleBlockCommentByLine, toggleComment, toggleLineComment, toggleTabFocusMode, transposeChars, undo, undoDepth, undoSelection };\n","import { lineNumbers, highlightActiveLineGutter, highlightSpecialChars, drawSelection, dropCursor, rectangularSelection, crosshairCursor, highlightActiveLine, keymap } from '@codemirror/view';\nexport { EditorView } from '@codemirror/view';\nimport { EditorState } from '@codemirror/state';\nimport { foldGutter, indentOnInput, syntaxHighlighting, defaultHighlightStyle, bracketMatching, foldKeymap } from '@codemirror/language';\nimport { history, defaultKeymap, historyKeymap } from '@codemirror/commands';\nimport { highlightSelectionMatches, searchKeymap } from '@codemirror/search';\nimport { closeBrackets, autocompletion, closeBracketsKeymap, completionKeymap } from '@codemirror/autocomplete';\nimport { lintKeymap } from '@codemirror/lint';\n\n// (The superfluous function calls around the list of extensions work\n// around current limitations in tree-shaking software.)\n/**\nThis is an extension value that just pulls together a number of\nextensions that you might want in a basic editor. It is meant as a\nconvenient helper to quickly set up CodeMirror without installing\nand importing a lot of separate packages.\n\nSpecifically, it includes...\n\n - [the default command bindings](https://codemirror.net/6/docs/ref/#commands.defaultKeymap)\n - [line numbers](https://codemirror.net/6/docs/ref/#view.lineNumbers)\n - [special character highlighting](https://codemirror.net/6/docs/ref/#view.highlightSpecialChars)\n - [the undo history](https://codemirror.net/6/docs/ref/#commands.history)\n - [a fold gutter](https://codemirror.net/6/docs/ref/#language.foldGutter)\n - [custom selection drawing](https://codemirror.net/6/docs/ref/#view.drawSelection)\n - [drop cursor](https://codemirror.net/6/docs/ref/#view.dropCursor)\n - [multiple selections](https://codemirror.net/6/docs/ref/#state.EditorState^allowMultipleSelections)\n - [reindentation on input](https://codemirror.net/6/docs/ref/#language.indentOnInput)\n - [the default highlight style](https://codemirror.net/6/docs/ref/#language.defaultHighlightStyle) (as fallback)\n - [bracket matching](https://codemirror.net/6/docs/ref/#language.bracketMatching)\n - [bracket closing](https://codemirror.net/6/docs/ref/#autocomplete.closeBrackets)\n - [autocompletion](https://codemirror.net/6/docs/ref/#autocomplete.autocompletion)\n - [rectangular selection](https://codemirror.net/6/docs/ref/#view.rectangularSelection) and [crosshair cursor](https://codemirror.net/6/docs/ref/#view.crosshairCursor)\n - [active line highlighting](https://codemirror.net/6/docs/ref/#view.highlightActiveLine)\n - [active line gutter highlighting](https://codemirror.net/6/docs/ref/#view.highlightActiveLineGutter)\n - [selection match highlighting](https://codemirror.net/6/docs/ref/#search.highlightSelectionMatches)\n - [search](https://codemirror.net/6/docs/ref/#search.searchKeymap)\n - [linting](https://codemirror.net/6/docs/ref/#lint.lintKeymap)\n\n(You'll probably want to add some language package to your setup\ntoo.)\n\nThis extension does not allow customization. The idea is that,\nonce you decide you want to configure your editor more precisely,\nyou take this package's source (which is just a bunch of imports\nand an array literal), copy it into your own code, and adjust it\nas desired.\n*/\nconst basicSetup = /*@__PURE__*/(() => [\n lineNumbers(),\n highlightActiveLineGutter(),\n highlightSpecialChars(),\n history(),\n foldGutter(),\n drawSelection(),\n dropCursor(),\n EditorState.allowMultipleSelections.of(true),\n indentOnInput(),\n syntaxHighlighting(defaultHighlightStyle, { fallback: true }),\n bracketMatching(),\n closeBrackets(),\n autocompletion(),\n rectangularSelection(),\n crosshairCursor(),\n highlightActiveLine(),\n highlightSelectionMatches(),\n keymap.of([\n ...closeBracketsKeymap,\n ...defaultKeymap,\n ...searchKeymap,\n ...historyKeymap,\n ...foldKeymap,\n ...completionKeymap,\n ...lintKeymap\n ])\n])();\n/**\nA minimal set of extensions to create a functional editor. Only\nincludes [the default keymap](https://codemirror.net/6/docs/ref/#commands.defaultKeymap), [undo\nhistory](https://codemirror.net/6/docs/ref/#commands.history), [special character\nhighlighting](https://codemirror.net/6/docs/ref/#view.highlightSpecialChars), [custom selection\ndrawing](https://codemirror.net/6/docs/ref/#view.drawSelection), and [default highlight\nstyle](https://codemirror.net/6/docs/ref/#language.defaultHighlightStyle).\n*/\nconst minimalSetup = /*@__PURE__*/(() => [\n highlightSpecialChars(),\n history(),\n drawSelection(),\n syntaxHighlighting(defaultHighlightStyle, { fallback: true }),\n keymap.of([\n ...defaultKeymap,\n ...historyKeymap,\n ])\n])();\n\nexport { basicSetup, minimalSetup };\n"],"names":["CompletionContext","t","e","Math","Object","RegExp","Option","c","WeakMap","Array","FuzzyMatcher","s","i","StrictMatcher","o","CompletionTooltip","document","CompletionDialog","Date","CompletionState","ActiveSource","ActiveResult","l","RunningQuery","clearTimeout","setTimeout","Promise","navigator","FieldPos","FieldRange","Snippet","ActiveSnippet","n","HistoryState","HistEvent","Intl","window","r"],"mappings":"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"}
|